LLVM  4.0.0
Classes | Typedefs | Enumerations | Functions | Variables
llvm::pdb Namespace Reference

Classes

class  ConcreteSymbolEnumerator
 
class  DIADataStream
 
class  DIAEnumDebugStreams
 
class  DIAEnumLineNumbers
 
class  DIAEnumSourceFiles
 
class  DIAEnumSymbols
 
class  DIAError
 Base class for errors originating in DIA SDK, e.g. COM calls. More...
 
class  DIALineNumber
 
class  DIARawSymbol
 
class  DIASession
 
class  DIASourceFile
 
class  GenericError
 Base class for errors originating when parsing raw PDB files. More...
 
class  IPDBDataStream
 IPDBDataStream defines an interface used to represent a stream consisting of a name and a series of records whose formats depend on the particular stream type. More...
 
class  IPDBEnumChildren
 
class  IPDBLineNumber
 
class  IPDBRawSymbol
 IPDBRawSymbol defines an interface used to represent an arbitrary symbol. More...
 
class  IPDBSession
 IPDBSession defines an interface used to provide a context for querying debug information from a debug data source (for example, a PDB). More...
 
class  IPDBSourceFile
 IPDBSourceFile defines an interface used to represent source files whose information are stored in the PDB. More...
 
class  PDBContext
 PDBContext This data structure is the top level entity that deals with PDB debug information parsing. More...
 
class  PDBSymbol
 PDBSymbol defines the base of the inheritance hierarchy for concrete symbol types (e.g. More...
 
class  PDBSymbolAnnotation
 
class  PDBSymbolBlock
 
class  PDBSymbolCompiland
 
class  PDBSymbolCompilandDetails
 
class  PDBSymbolCompilandEnv
 
class  PDBSymbolCustom
 PDBSymbolCustom represents symbols that are compiler-specific and do not fit anywhere else in the lexical hierarchy. More...
 
class  PDBSymbolData
 
class  PDBSymbolExe
 
class  PDBSymbolFunc
 
class  PDBSymbolFuncDebugEnd
 
class  PDBSymbolFuncDebugStart
 
class  PDBSymbolLabel
 
class  PDBSymbolPublicSymbol
 
class  PDBSymbolThunk
 
class  PDBSymbolTypeArray
 
class  PDBSymbolTypeBaseClass
 
class  PDBSymbolTypeBuiltin
 
class  PDBSymbolTypeCustom
 
class  PDBSymbolTypeDimension
 
class  PDBSymbolTypeEnum
 
class  PDBSymbolTypeFriend
 
class  PDBSymbolTypeFunctionArg
 
class  PDBSymbolTypeFunctionSig
 
class  PDBSymbolTypeManaged
 
class  PDBSymbolTypePointer
 
class  PDBSymbolTypeTypedef
 
class  PDBSymbolTypeUDT
 
class  PDBSymbolTypeVTable
 
class  PDBSymbolTypeVTableShape
 
class  PDBSymbolUnknown
 
class  PDBSymbolUsingNamespace
 
class  PDBSymDumper
 
struct  VersionInfo
 
struct  Variant
 
class  DbiStream
 
class  DbiStreamBuilder
 
class  GlobalsStream
 
class  InfoStream
 
class  InfoStreamBuilder
 
class  ISectionContribVisitor
 
class  ModInfo
 
struct  ModuleInfoEx
 
class  ModStream
 
class  NameHashTable
 
class  NameMap
 
class  NameMapBuilder
 
class  PDBFile
 
class  PDBFileBuilder
 
class  PublicsStream
 
class  RawError
 Base class for errors originating when parsing raw PDB files. More...
 
class  RawSession
 
struct  SectionOffset
 
struct  PSHashRecord
 
struct  SectionContrib
 
struct  SectionContrib2
 
struct  SecMapHeader
 
struct  SecMapEntry
 
struct  TypeIndexOffset
 
struct  DbiFlags
 Some of the values are stored in bitfields. More...
 
struct  DbiBuildNo
 
struct  DbiStreamHeader
 The fixed size header that appears at the beginning of the DBI Stream. More...
 
struct  SectionContribEntry
 
struct  FileInfoSubstreamHeader
 The header preceeding the File Info Substream of the DBI stream. More...
 
struct  ModInfoFlags
 
struct  ModuleInfoHeader
 The header preceeding each entry in the Module Info substream of the DBI stream. More...
 
struct  PDB_UniqueId
 Defines a 128-bit unique identifier. More...
 
struct  TpiStreamHeader
 
struct  InfoStreamHeader
 The header preceeding the global PDB Stream (Stream 1) More...
 
class  SymbolStream
 
class  TpiHashUpdater
 
class  TpiHashVerifier
 
class  TpiStream
 
class  TpiStreamBuilder
 
struct  GSIHashHeader
 Header of the hash tables found in the globals and publics sections. More...
 

Typedefs

typedef std::unordered_map
< PDB_SymType, int > 
TagStats
 
typedef IPDBEnumChildren
< PDBSymbol
IPDBEnumSymbols
 
typedef IPDBEnumChildren
< IPDBSourceFile
IPDBEnumSourceFiles
 
typedef IPDBEnumChildren
< IPDBDataStream
IPDBEnumDataStreams
 
typedef IPDBEnumChildren
< IPDBLineNumber
IPDBEnumLineNumbers
 
typedef codeview::CPUType PDB_Cpu
 These values correspond to the CV_CPU_TYPE_e enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/b2fc64ek.aspx. More...
 
typedef codeview::CallingConvention PDB_CallingConv
 These values correspond to the CV_call_e enumeration, and are documented at the following locations: https://msdn.microsoft.com/en-us/library/b2fc64ek.aspx https://msdn.microsoft.com/en-us/library/windows/desktop/ms680207(v=vs.85).aspx. More...
 
typedef codeview::SourceLanguage PDB_Lang
 These values correspond to the CV_CFL_LANG enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/bw3aekw6.aspx. More...
 

Enumerations

enum  dia_error_code {
  dia_error_code::unspecified = 1, dia_error_code::could_not_create_impl, dia_error_code::invalid_file_format, dia_error_code::invalid_parameter,
  dia_error_code::already_loaded, dia_error_code::debug_info_mismatch
}
 
enum  generic_error_code { generic_error_code::invalid_path = 1, generic_error_code::dia_sdk_not_present, generic_error_code::unspecified }
 
enum  PDB_ReaderType { PDB_ReaderType::DIA = 0, PDB_ReaderType::Raw = 1 }
 Specifies which PDB reader implementation is to be used. More...
 
enum  PDB_TableType {
  PDB_TableType::Symbols, PDB_TableType::SourceFiles, PDB_TableType::LineNumbers, PDB_TableType::SectionContribs,
  PDB_TableType::Segments, PDB_TableType::InjectedSources, PDB_TableType::FrameData
}
 An enumeration indicating the type of data contained in this table. More...
 
enum  PDB_NameSearchFlags {
  NS_Default = 0x0, NS_CaseSensitive = 0x1, NS_CaseInsensitive = 0x2, NS_FileNameExtMatch = 0x4,
  NS_Regex = 0x8, NS_UndecoratedName = 0x10
}
 Defines flags used for enumerating child symbols. More...
 
enum  PDB_Checksum { PDB_Checksum::None = 0, PDB_Checksum::MD5 = 1, PDB_Checksum::SHA1 = 2 }
 Specifies the hash algorithm that a source file from a PDB was hashed with. More...
 
enum  PDB_Machine {
  PDB_Machine::Invalid = 0xffff, Unknown = 0x0, PDB_Machine::Am33 = 0x13, PDB_Machine::Amd64 = 0x8664,
  PDB_Machine::Arm = 0x1C0, PDB_Machine::ArmNT = 0x1C4, PDB_Machine::Ebc = 0xEBC, PDB_Machine::x86 = 0x14C,
  PDB_Machine::Ia64 = 0x200, PDB_Machine::M32R = 0x9041, PDB_Machine::Mips16 = 0x266, PDB_Machine::MipsFpu = 0x366,
  PDB_Machine::MipsFpu16 = 0x466, PDB_Machine::PowerPC = 0x1F0, PDB_Machine::PowerPCFP = 0x1F1, PDB_Machine::R4000 = 0x166,
  PDB_Machine::SH3 = 0x1A2, PDB_Machine::SH3DSP = 0x1A3, PDB_Machine::SH4 = 0x1A6, PDB_Machine::SH5 = 0x1A8,
  PDB_Machine::Thumb = 0x1C2, PDB_Machine::WceMipsV2 = 0x169
}
 
enum  PDB_DataKind {
  Unknown, PDB_DataKind::Local, PDB_DataKind::StaticLocal, PDB_DataKind::Param,
  PDB_DataKind::ObjectPtr, PDB_DataKind::FileStatic, PDB_DataKind::Global, PDB_DataKind::Member,
  PDB_DataKind::StaticMember, PDB_DataKind::Constant
}
 These values correspond to the DataKind enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/b2x2t313.aspx. More...
 
enum  PDB_SymType {
  PDB_SymType::None, PDB_SymType::Exe, PDB_SymType::Compiland, PDB_SymType::CompilandDetails,
  PDB_SymType::CompilandEnv, PDB_SymType::Function, PDB_SymType::Block, PDB_SymType::Data,
  PDB_SymType::Annotation, PDB_SymType::Label, PDB_SymType::PublicSymbol, PDB_SymType::UDT,
  PDB_SymType::Enum, PDB_SymType::FunctionSig, PDB_SymType::PointerType, PDB_SymType::ArrayType,
  PDB_SymType::BuiltinType, PDB_SymType::Typedef, PDB_SymType::BaseClass, PDB_SymType::Friend,
  PDB_SymType::FunctionArg, PDB_SymType::FuncDebugStart, PDB_SymType::FuncDebugEnd, PDB_SymType::UsingNamespace,
  PDB_SymType::VTableShape, PDB_SymType::VTable, PDB_SymType::Custom, PDB_SymType::Thunk,
  PDB_SymType::CustomType, PDB_SymType::ManagedType, PDB_SymType::Dimension, PDB_SymType::Max
}
 These values correspond to the SymTagEnum enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/bkedss5f.aspx. More...
 
enum  PDB_LocType {
  PDB_LocType::Null, PDB_LocType::Static, PDB_LocType::TLS, PDB_LocType::RegRel,
  PDB_LocType::ThisRel, PDB_LocType::Enregistered, PDB_LocType::BitField, PDB_LocType::Slot,
  PDB_LocType::IlRel, PDB_LocType::MetaData, PDB_LocType::Constant, PDB_LocType::Max
}
 These values correspond to the LocationType enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/f57kaez3.aspx. More...
 
enum  PDB_UdtType { PDB_UdtType::Struct, PDB_UdtType::Class, PDB_UdtType::Union, PDB_UdtType::Interface }
 These values correspond to the UdtKind enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/wcstk66t.aspx. More...
 
enum  PDB_StackFrameType {
  PDB_StackFrameType::FPO, PDB_StackFrameType::KernelTrap, PDB_StackFrameType::KernelTSS, PDB_StackFrameType::EBP,
  PDB_StackFrameType::FrameData
}
 These values correspond to the StackFrameTypeEnum enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/bc5207xw.aspx. More...
 
enum  PDB_MemoryType { PDB_MemoryType::Code, PDB_MemoryType::Data, PDB_MemoryType::Stack, PDB_MemoryType::HeapCode }
 These values correspond to the StackFrameTypeEnum enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/bc5207xw.aspx. More...
 
enum  PDB_BuiltinType {
  PDB_BuiltinType::None = 0, PDB_BuiltinType::Void = 1, PDB_BuiltinType::Char = 2, PDB_BuiltinType::WCharT = 3,
  PDB_BuiltinType::Int = 6, PDB_BuiltinType::UInt = 7, PDB_BuiltinType::Float = 8, PDB_BuiltinType::BCD = 9,
  Bool = 10, PDB_BuiltinType::Long = 13, PDB_BuiltinType::ULong = 14, PDB_BuiltinType::Currency = 25,
  PDB_BuiltinType::Date = 26, PDB_BuiltinType::Variant = 27, PDB_BuiltinType::Complex = 28, PDB_BuiltinType::Bitfield = 29,
  PDB_BuiltinType::BSTR = 30, PDB_BuiltinType::HResult = 31
}
 These values correspond to the Basictype enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/4szdtzc3.aspx. More...
 
enum  PDB_MemberAccess { PDB_MemberAccess::Private = 1, PDB_MemberAccess::Protected = 2, PDB_MemberAccess::Public = 3 }
 
enum  PDB_VariantType {
  Empty, Unknown, Unknown = 0x0, Unknown,
  Int8, Int16, Int32, Int64,
  Single, Double, UInt8, UInt16,
  UInt32, UInt64, Bool, Bool = 10,
  String
}
 
enum  PdbRaw_ImplVer : uint32_t {
  PdbImplVC2 = 19941610, PdbImplVC4 = 19950623, PdbImplVC41 = 19950814, PdbImplVC50 = 19960307,
  PdbImplVC98 = 19970604, PdbImplVC70Dep = 19990604, PdbImplVC70 = 20000404, PdbImplVC80 = 20030901,
  PdbImplVC110 = 20091201, PdbImplVC140 = 20140508
}
 
enum  PdbRaw_DbiVer : uint32_t {
  PdbDbiVC41 = 930803, PdbDbiV50 = 19960307, PdbDbiV60 = 19970606, PdbDbiV70 = 19990903,
  PdbDbiV110 = 20091201
}
 
enum  PdbRaw_TpiVer : uint32_t {
  PdbTpiV40 = 19950410, PdbTpiV41 = 19951122, PdbTpiV50 = 19961031, PdbTpiV70 = 19990903,
  PdbTpiV80 = 20040203
}
 
enum  PdbRaw_DbiSecContribVer : uint32_t { DbiSecContribVer60 = 0xeffe0000 + 19970605, DbiSecContribV2 = 0xeffe0000 + 20140516 }
 
enum  SpecialStream : uint32_t {
  OldMSFDirectory = 0, StreamPDB = 1, StreamTPI = 2, StreamDBI = 3,
  StreamIPI = 4, kSpecialStreamCount
}
 
enum  DbgHeaderType : uint16_t {
  DbgHeaderType::FPO, DbgHeaderType::Exception, DbgHeaderType::Fixup, DbgHeaderType::OmapToSrc,
  DbgHeaderType::OmapFromSrc, DbgHeaderType::SectionHdr, DbgHeaderType::TokenRidMap, DbgHeaderType::Xdata,
  DbgHeaderType::Pdata, DbgHeaderType::NewFPO, DbgHeaderType::SectionHdrOrig, DbgHeaderType::Max
}
 
enum  OMFSegDescFlags : uint16_t {
  OMFSegDescFlags::Read = 1 << 0, OMFSegDescFlags::Write = 1 << 1, OMFSegDescFlags::Execute = 1 << 2, OMFSegDescFlags::AddressIs32Bit = 1 << 3,
  OMFSegDescFlags::IsSelector = 1 << 8, OMFSegDescFlags::IsAbsoluteAddress = 1 << 9, OMFSegDescFlags::IsGroup = 1 << 10
}
 
enum  raw_error_code {
  raw_error_code::unspecified = 1, raw_error_code::feature_unsupported, raw_error_code::invalid_format, raw_error_code::corrupt_file,
  raw_error_code::insufficient_buffer, raw_error_code::no_stream, raw_error_code::index_out_of_bounds, raw_error_code::invalid_block_address,
  raw_error_code::duplicate_entry, raw_error_code::no_entry, raw_error_code::not_writable, raw_error_code::invalid_tpi_hash
}
 

Functions

Error loadDataForPDB (PDB_ReaderType Type, StringRef Path, std::unique_ptr< IPDBSession > &Session)
 
Error loadDataForEXE (PDB_ReaderType Type, StringRef Path, std::unique_ptr< IPDBSession > &Session)
 
raw_ostreamoperator<< (raw_ostream &OS, const PDB_VariantType &Value)
 
raw_ostreamoperator<< (raw_ostream &OS, const PDB_CallingConv &Conv)
 
raw_ostreamoperator<< (raw_ostream &OS, const PDB_DataKind &Data)
 
raw_ostreamoperator<< (raw_ostream &OS, const codeview::RegisterId &Reg)
 
raw_ostreamoperator<< (raw_ostream &OS, const PDB_LocType &Loc)
 
raw_ostreamoperator<< (raw_ostream &OS, const codeview::ThunkOrdinal &Thunk)
 
raw_ostreamoperator<< (raw_ostream &OS, const PDB_Checksum &Checksum)
 
raw_ostreamoperator<< (raw_ostream &OS, const PDB_Lang &Lang)
 
raw_ostreamoperator<< (raw_ostream &OS, const PDB_SymType &Tag)
 
raw_ostreamoperator<< (raw_ostream &OS, const PDB_MemberAccess &Access)
 
raw_ostreamoperator<< (raw_ostream &OS, const PDB_UdtType &Type)
 
raw_ostreamoperator<< (raw_ostream &OS, const PDB_UniqueId &Id)
 
raw_ostreamoperator<< (raw_ostream &OS, const PDB_Machine &Machine)
 
raw_ostreamoperator<< (raw_ostream &OS, const Variant &Value)
 
raw_ostreamoperator<< (raw_ostream &OS, const VersionInfo &Version)
 
raw_ostreamoperator<< (raw_ostream &OS, const TagStats &Stats)
 
ArrayRef< EnumEntry< uint16_t > > getOMFSegMapDescFlagNames ()
 
uint32_t hashStringV1 (StringRef Str)
 
uint32_t hashStringV2 (StringRef Str)
 
uint32_t hashBufferV8 (ArrayRef< uint8_t > Data)
 
static Error checkHashHdrVersion (const GSIHashHeader *HashHdr)
 
Error readGSIHashBuckets (msf::FixedStreamArray< support::ulittle32_t > &HashBuckets, const GSIHashHeader *HashHdr, msf::StreamReader &Reader)
 
Error readGSIHashHeader (const GSIHashHeader *&HashHdr, msf::StreamReader &Reader)
 
Error readGSIHashRecords (msf::FixedStreamArray< PSHashRecord > &HashRecords, const GSIHashHeader *HashHdr, msf::StreamReader &Reader)
 

Variables

const uint16_t kInvalidStreamIndex = 0xFFFF
 
const uint32_t MinTpiHashBuckets = 0x1000
 
const uint32_t MaxTpiHashBuckets = 0x40000
 
static const unsigned IPHR_HASH = 4096
 From https://github.com/Microsoft/microsoft-pdb/blob/master/PDB/dbi/gsi.cpp. More...
 

Typedef Documentation

Definition at line 35 of file PDBTypes.h.

Definition at line 36 of file PDBTypes.h.

Definition at line 34 of file PDBTypes.h.

Definition at line 31 of file PDBTypes.h.

These values correspond to the CV_call_e enumeration, and are documented at the following locations: https://msdn.microsoft.com/en-us/library/b2fc64ek.aspx https://msdn.microsoft.com/en-us/library/windows/desktop/ms680207(v=vs.85).aspx.

Definition at line 139 of file PDBTypes.h.

These values correspond to the CV_CPU_TYPE_e enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/b2fc64ek.aspx.

Definition at line 107 of file PDBTypes.h.

These values correspond to the CV_CFL_LANG enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/bw3aekw6.aspx.

Definition at line 143 of file PDBTypes.h.

typedef std::unordered_map<PDB_SymType, int> llvm::pdb::TagStats

Definition at line 21 of file PDBExtras.h.

Enumeration Type Documentation

enum llvm::pdb::DbgHeaderType : uint16_t
strong
Enumerator
FPO 
Exception 
Fixup 
OmapToSrc 
OmapFromSrc 
SectionHdr 
TokenRidMap 
Xdata 
Pdata 
NewFPO 
SectionHdrOrig 
Max 

Definition at line 70 of file RawConstants.h.

Enumerator
unspecified 
could_not_create_impl 
invalid_file_format 
invalid_parameter 
already_loaded 
debug_info_mismatch 

Definition at line 18 of file DIAError.h.

Enumerator
invalid_path 
dia_sdk_not_present 
unspecified 

Definition at line 19 of file GenericError.h.

enum llvm::pdb::OMFSegDescFlags : uint16_t
strong
Enumerator
Read 
Write 
Execute 
AddressIs32Bit 
IsSelector 
IsAbsoluteAddress 
IsGroup 

Definition at line 85 of file RawConstants.h.

These values correspond to the Basictype enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/4szdtzc3.aspx.

Enumerator
None 
Void 
Char 
WCharT 
Int 
UInt 
Float 
BCD 
Bool 
Long 
ULong 
Currency 
Date 
Variant 
Complex 
Bitfield 
BSTR 
HResult 

Definition at line 228 of file PDBTypes.h.

Specifies the hash algorithm that a source file from a PDB was hashed with.

This corresponds to the CV_SourceChksum_t enumeration and are documented here: https://msdn.microsoft.com/en-us/library/e96az21x.aspx

Enumerator
None 
MD5 
SHA1 

Definition at line 103 of file PDBTypes.h.

These values correspond to the DataKind enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/b2x2t313.aspx.

Enumerator
Unknown 
Local 
StaticLocal 
Param 
ObjectPtr 
FileStatic 
Global 
Member 
StaticMember 
Constant 

Definition at line 147 of file PDBTypes.h.

These values correspond to the LocationType enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/f57kaez3.aspx.

Enumerator
Null 
Static 
TLS 
RegRel 
ThisRel 
Enregistered 
BitField 
Slot 
IlRel 
MetaData 
Constant 
Max 

Definition at line 199 of file PDBTypes.h.

Enumerator
Invalid 
Unknown 
Am33 
Amd64 
Arm 
ArmNT 
Ebc 
x86 
Ia64 
M32R 
Mips16 
MipsFpu 
MipsFpu16 
PowerPC 
PowerPCFP 
R4000 
SH3 
SH3DSP 
SH4 
SH5 
Thumb 
WceMipsV2 

Definition at line 109 of file PDBTypes.h.

Enumerator
Private 
Protected 
Public 

Definition at line 249 of file PDBTypes.h.

These values correspond to the StackFrameTypeEnum enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/bc5207xw.aspx.

Enumerator
Code 
Data 
Stack 
HeapCode 

Definition at line 224 of file PDBTypes.h.

Defines flags used for enumerating child symbols.

This corresponds to the NameSearchOptions enumeration which is documented here: https://msdn.microsoft.com/en-us/library/yat28ads.aspx

Enumerator
NS_Default 
NS_CaseSensitive 
NS_CaseInsensitive 
NS_FileNameExtMatch 
NS_Regex 
NS_UndecoratedName 

Definition at line 91 of file PDBTypes.h.

Specifies which PDB reader implementation is to be used.

Only a value of PDB_ReaderType::DIA is supported.

Enumerator
DIA 
Raw 

Definition at line 72 of file PDBTypes.h.

These values correspond to the StackFrameTypeEnum enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/bc5207xw.aspx.

Enumerator
FPO 
KernelTrap 
KernelTSS 
EBP 
FrameData 

Definition at line 220 of file PDBTypes.h.

These values correspond to the SymTagEnum enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/bkedss5f.aspx.

Enumerator
None 
Exe 
Compiland 
CompilandDetails 
CompilandEnv 
Function 
Block 
Data 
Annotation 
Label 
PublicSymbol 
UDT 
Enum 
FunctionSig 
PointerType 
ArrayType 
BuiltinType 
Typedef 
BaseClass 
Friend 
FunctionArg 
FuncDebugStart 
FuncDebugEnd 
UsingNamespace 
VTableShape 
VTable 
Custom 
Thunk 
CustomType 
ManagedType 
Dimension 
Max 

Definition at line 162 of file PDBTypes.h.

An enumeration indicating the type of data contained in this table.

Enumerator
Symbols 
SourceFiles 
LineNumbers 
SectionContribs 
Segments 
InjectedSources 
FrameData 

Definition at line 78 of file PDBTypes.h.

These values correspond to the UdtKind enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/wcstk66t.aspx.

Enumerator
Struct 
Class 
Union 
Interface 

Definition at line 216 of file PDBTypes.h.

Enumerator
Empty 
Unknown 
Unknown 
Unknown 
Int8 
Int16 
Int32 
Int64 
Single 
Double 
UInt8 
UInt16 
UInt32 
UInt64 
Bool 
Bool 
String 

Definition at line 258 of file PDBTypes.h.

Enumerator
DbiSecContribVer60 
DbiSecContribV2 

Definition at line 51 of file RawConstants.h.

Enumerator
PdbDbiVC41 
PdbDbiV50 
PdbDbiV60 
PdbDbiV70 
PdbDbiV110 

Definition at line 35 of file RawConstants.h.

Enumerator
PdbImplVC2 
PdbImplVC4 
PdbImplVC41 
PdbImplVC50 
PdbImplVC98 
PdbImplVC70Dep 
PdbImplVC70 
PdbImplVC80 
PdbImplVC110 
PdbImplVC140 

Definition at line 22 of file RawConstants.h.

Enumerator
PdbTpiV40 
PdbTpiV41 
PdbTpiV50 
PdbTpiV70 
PdbTpiV80 

Definition at line 43 of file RawConstants.h.

Enumerator
unspecified 
feature_unsupported 
invalid_format 
corrupt_file 
insufficient_buffer 
no_stream 
index_out_of_bounds 
invalid_block_address 
duplicate_entry 
no_entry 
not_writable 
invalid_tpi_hash 

Definition at line 19 of file RawError.h.

Enumerator
OldMSFDirectory 
StreamPDB 
StreamTPI 
StreamDBI 
StreamIPI 
kSpecialStreamCount 

Definition at line 56 of file RawConstants.h.

Function Documentation

static Error llvm::pdb::checkHashHdrVersion ( const GSIHashHeader *  HashHdr)
static
ArrayRef< EnumEntry< uint16_t > > llvm::pdb::getOMFSegMapDescFlagNames ( )

Definition at line 34 of file PDB/Raw/EnumTables.cpp.

References llvm::makeArrayRef(), and OMFSegMapDescFlagNames.

uint32_t llvm::pdb::hashBufferV8 ( ArrayRef< uint8_t >  Data)
uint32_t llvm::pdb::hashStringV1 ( StringRef  Str)
uint32_t llvm::pdb::hashStringV2 ( StringRef  Str)
Error llvm::pdb::loadDataForEXE ( PDB_ReaderType  Type,
StringRef  Path,
std::unique_ptr< IPDBSession > &  Session 
)
Error llvm::pdb::loadDataForPDB ( PDB_ReaderType  Type,
StringRef  Path,
std::unique_ptr< IPDBSession > &  Session 
)
raw_ostream & llvm::pdb::operator<< ( raw_ostream OS,
const PDB_VariantType Value 
)

Definition at line 25 of file PDBExtras.cpp.

References Bool, CASE_OUTPUT_ENUM_CLASS_NAME, Double, Int16, Int32, Int64, Int8, Single, UInt16, UInt32, UInt64, and UInt8.

raw_ostream & llvm::pdb::operator<< ( raw_ostream OS,
const PDB_CallingConv Conv 
)

Definition at line 45 of file PDBExtras.cpp.

References CASE_OUTPUT_ENUM_CLASS_STR, and Generic.

raw_ostream & llvm::pdb::operator<< ( raw_ostream OS,
const PDB_DataKind Data 
)
raw_ostream & llvm::pdb::operator<< ( raw_ostream OS,
const codeview::RegisterId Reg 
)

Definition at line 93 of file PDBExtras.cpp.

References CASE_OUTPUT_ENUM_CLASS_NAME, and SI.

raw_ostream & llvm::pdb::operator<< ( raw_ostream OS,
const PDB_LocType Loc 
)

Definition at line 149 of file PDBExtras.cpp.

References BitField, CASE_OUTPUT_ENUM_CLASS_STR, Enregistered, IlRel, MetaData, RegRel, Slot, ThisRel, and TLS.

raw_ostream & llvm::pdb::operator<< ( raw_ostream OS,
const codeview::ThunkOrdinal Thunk 
)

Definition at line 167 of file PDBExtras.cpp.

References CASE_OUTPUT_ENUM_CLASS_NAME.

raw_ostream & llvm::pdb::operator<< ( raw_ostream OS,
const PDB_Checksum Checksum 
)

Definition at line 181 of file PDBExtras.cpp.

References CASE_OUTPUT_ENUM_CLASS_NAME, and llvm::None.

raw_ostream & llvm::pdb::operator<< ( raw_ostream OS,
const PDB_Lang Lang 
)
raw_ostream & llvm::pdb::operator<< ( raw_ostream OS,
const PDB_SymType Tag 
)
raw_ostream & llvm::pdb::operator<< ( raw_ostream OS,
const PDB_MemberAccess Access 
)

Definition at line 252 of file PDBExtras.cpp.

References CASE_OUTPUT_ENUM_CLASS_STR.

raw_ostream & llvm::pdb::operator<< ( raw_ostream OS,
const PDB_UdtType Type 
)

Definition at line 262 of file PDBExtras.cpp.

References CASE_OUTPUT_ENUM_CLASS_STR, and Union.

raw_ostream & llvm::pdb::operator<< ( raw_ostream OS,
const PDB_UniqueId Id 
)

Definition at line 272 of file PDBExtras.cpp.

References i, and Lookup().

raw_ostream & llvm::pdb::operator<< ( raw_ostream OS,
const PDB_Machine Machine 
)
raw_ostream & llvm::pdb::operator<< ( raw_ostream OS,
const Variant Value 
)
raw_ostream & llvm::pdb::operator<< ( raw_ostream OS,
const VersionInfo Version 
)
raw_ostream & llvm::pdb::operator<< ( raw_ostream OS,
const TagStats Stats 
)

Definition at line 370 of file PDBExtras.cpp.

Error llvm::pdb::readGSIHashBuckets ( msf::FixedStreamArray< support::ulittle32_t > &  HashBuckets,
const GSIHashHeader *  HashHdr,
msf::StreamReader &  Reader 
)
Error llvm::pdb::readGSIHashHeader ( const GSIHashHeader *&  HashHdr,
msf::StreamReader &  Reader 
)
Error llvm::pdb::readGSIHashRecords ( msf::FixedStreamArray< PSHashRecord > &  HashRecords,
const GSIHashHeader *  HashHdr,
msf::StreamReader &  Reader 
)

Variable Documentation

const unsigned llvm::pdb::IPHR_HASH = 4096
static
const uint16_t llvm::pdb::kInvalidStreamIndex = 0xFFFF
const uint32_t llvm::pdb::MaxTpiHashBuckets = 0x40000

Definition at line 295 of file RawTypes.h.

Referenced by llvm::pdb::TpiStream::reload().

const uint32_t llvm::pdb::MinTpiHashBuckets = 0x1000