1//===- PDB.cpp - base header file for creating a PDB reader -----*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10#include "llvm/DebugInfo/PDB/PDB.h" 11 12#include "llvm/ADT/StringRef.h" 13#include "llvm/Config/config.h" 14#include "llvm/DebugInfo/PDB/IPDBSession.h" 15#include "llvm/DebugInfo/PDB/PDB.h" 16 17#if HAVE_DIA_SDK 18#include "llvm/DebugInfo/PDB/DIA/DIASession.h" 19#endif 20 21using namespace llvm; 22 23PDB_ErrorCode llvm::loadDataForPDB(PDB_ReaderType Type, StringRef Path, 24 std::unique_ptr<IPDBSession> &Session) { 25 // Create the correct concrete instance type based on the value of Type. 26#if HAVE_DIA_SDK 27 return DIASession::createFromPdb(Path, Session); 28#endif 29 return PDB_ErrorCode::NoPdbImpl; 30} 31 32PDB_ErrorCode llvm::loadDataForEXE(PDB_ReaderType Type, StringRef Path, 33 std::unique_ptr<IPDBSession> &Session) { 34 // Create the correct concrete instance type based on the value of Type. 35#if HAVE_DIA_SDK 36 return DIASession::createFromExe(Path, Session); 37#endif 38 return PDB_ErrorCode::NoPdbImpl; 39} 40