mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-18 13:34:04 +00:00
e09af84db5
Previously it was impossible to distinguish between "There is no PDB implementation for this platform" and "I tried to load the PDB, but couldn't find the file", making it hard to figure out if you built llvm-pdbdump incorrectly or if you just mistyped a file name. This patch adds proper error handling so that we can know exactly what went wrong. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230868 91177308-0d34-0410-b5e6-96231b3b80d8
31 lines
956 B
C++
31 lines
956 B
C++
//===- PDB.cpp - base header file for creating a PDB reader -----*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "llvm/DebugInfo/PDB/PDB.h"
|
|
|
|
#include "llvm/ADT/StringRef.h"
|
|
#include "llvm/Config/config.h"
|
|
#include "llvm/DebugInfo/PDB/IPDBSession.h"
|
|
#include "llvm/DebugInfo/PDB/PDB.h"
|
|
|
|
#if HAVE_DIA_SDK
|
|
#include "llvm/DebugInfo/PDB/DIA/DIASession.h"
|
|
#endif
|
|
|
|
using namespace llvm;
|
|
|
|
PDB_ErrorCode llvm::createPDBReader(PDB_ReaderType Type, StringRef Path,
|
|
std::unique_ptr<IPDBSession> &Session) {
|
|
// Create the correct concrete instance type based on the value of Type.
|
|
#if HAVE_DIA_SDK
|
|
return DIASession::createFromPdb(Path, Session);
|
|
#endif
|
|
return PDB_ErrorCode::NoPdbImpl;
|
|
}
|