LLVM  3.7.0
Classes | Namespaces | Macros | Typedefs | Enumerations
PDBTypes.h File Reference
#include "llvm/Config/llvm-config.h"
#include <functional>
#include <stdint.h>
Include dependency graph for PDBTypes.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  llvm::IPDBEnumChildren< ChildType >
 
struct  llvm::PDB_UniqueId
 Defines a 128-bit unique identifier. More...
 
struct  llvm::VersionInfo
 
struct  llvm::Variant
 
struct  std::hash< llvm::PDB_SymType >
 

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 
 std
 

Macros

#define VARIANT_EQUAL_CASE(Enum)
 

Typedefs

typedef IPDBEnumChildren
< PDBSymbol > 
llvm::IPDBEnumSymbols
 
typedef IPDBEnumChildren
< IPDBSourceFile > 
llvm::IPDBEnumSourceFiles
 
typedef IPDBEnumChildren
< IPDBDataStream > 
llvm::IPDBEnumDataStreams
 
typedef IPDBEnumChildren
< IPDBLineNumber > 
llvm::IPDBEnumLineNumbers
 

Enumerations

enum  llvm::PDB_ReaderType { llvm::PDB_ReaderType::DIA = 0 }
 Specifies which PDB reader implementation is to be used. More...
 
enum  llvm::PDB_TableType {
  llvm::PDB_TableType::Symbols, llvm::PDB_TableType::SourceFiles, llvm::PDB_TableType::LineNumbers, llvm::PDB_TableType::SectionContribs,
  llvm::PDB_TableType::Segments, llvm::PDB_TableType::InjectedSources, llvm::PDB_TableType::FrameData
}
 An enumeration indicating the type of data contained in this table. More...
 
enum  llvm::PDB_NameSearchFlags {
  llvm::NS_Default = 0x0, llvm::NS_CaseSensitive = 0x1, llvm::NS_CaseInsensitive = 0x2, llvm::NS_FileNameExtMatch = 0x4,
  llvm::NS_Regex = 0x8, llvm::NS_UndecoratedName = 0x10
}
 Defines flags used for enumerating child symbols. More...
 
enum  llvm::PDB_Checksum { llvm::PDB_Checksum::None = 0, llvm::PDB_Checksum::MD5 = 1, llvm::PDB_Checksum::SHA1 = 2 }
 Specifies the hash algorithm that a source file from a PDB was hashed with. More...
 
enum  llvm::PDB_Cpu {
  llvm::PDB_Cpu::Intel8080 = 0x0, llvm::PDB_Cpu::Intel8086 = 0x1, llvm::PDB_Cpu::Intel80286 = 0x2, llvm::PDB_Cpu::Intel80386 = 0x3,
  llvm::PDB_Cpu::Intel80486 = 0x4, llvm::PDB_Cpu::Pentium = 0x5, llvm::PDB_Cpu::PentiumPro = 0x6, llvm::PDB_Cpu::Pentium3 = 0x7,
  llvm::PDB_Cpu::MIPS = 0x10, llvm::PDB_Cpu::MIPS16 = 0x11, llvm::PDB_Cpu::MIPS32 = 0x12, llvm::PDB_Cpu::MIPS64 = 0x13,
  llvm::PDB_Cpu::MIPSI = 0x14, llvm::PDB_Cpu::MIPSII = 0x15, llvm::PDB_Cpu::MIPSIII = 0x16, llvm::PDB_Cpu::MIPSIV = 0x17,
  llvm::PDB_Cpu::MIPSV = 0x18, llvm::PDB_Cpu::M68000 = 0x20, llvm::PDB_Cpu::M68010 = 0x21, llvm::PDB_Cpu::M68020 = 0x22,
  llvm::PDB_Cpu::M68030 = 0x23, llvm::PDB_Cpu::M68040 = 0x24, llvm::PDB_Cpu::Alpha = 0x30, llvm::PDB_Cpu::Alpha21164 = 0x31,
  llvm::PDB_Cpu::Alpha21164A = 0x32, llvm::PDB_Cpu::Alpha21264 = 0x33, llvm::PDB_Cpu::Alpha21364 = 0x34, llvm::PDB_Cpu::PPC601 = 0x40,
  llvm::PDB_Cpu::PPC603 = 0x41, llvm::PDB_Cpu::PPC604 = 0x42, llvm::PDB_Cpu::PPC620 = 0x43, llvm::PDB_Cpu::PPCFP = 0x44,
  llvm::PDB_Cpu::PPCBE = 0x45, llvm::PDB_Cpu::SH3 = 0x50, llvm::PDB_Cpu::SH3E = 0x51, llvm::PDB_Cpu::SH3DSP = 0x52,
  llvm::PDB_Cpu::SH4 = 0x53, llvm::PDB_Cpu::SHMedia = 0x54, llvm::PDB_Cpu::ARM3 = 0x60, llvm::PDB_Cpu::ARM4 = 0x61,
  llvm::PDB_Cpu::ARM4T = 0x62, llvm::PDB_Cpu::ARM5 = 0x63, llvm::PDB_Cpu::ARM5T = 0x64, llvm::PDB_Cpu::ARM6 = 0x65,
  llvm::PDB_Cpu::ARM_XMAC = 0x66, llvm::PDB_Cpu::ARM_WMMX = 0x67, llvm::PDB_Cpu::ARM7 = 0x68, llvm::PDB_Cpu::Omni = 0x70,
  llvm::PDB_Cpu::Ia64 = 0x80, llvm::PDB_Cpu::Ia64_2 = 0x81, llvm::PDB_Cpu::CEE = 0x90, llvm::PDB_Cpu::AM33 = 0xa0,
  llvm::PDB_Cpu::M32R = 0xb0, llvm::PDB_Cpu::TriCore = 0xc0, llvm::PDB_Cpu::X64 = 0xd0, llvm::PDB_Cpu::EBC = 0xe0,
  llvm::PDB_Cpu::Thumb = 0xf0, llvm::PDB_Cpu::ARMNT = 0xf4, llvm::PDB_Cpu::D3D11_Shader = 0x100
}
 These values correspond to the CV_CPU_TYPE_e enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/b2fc64ek.aspx. More...
 
enum  llvm::PDB_Machine {
  llvm::PDB_Machine::Invalid = 0xffff, llvm::Unknown = 0x0, llvm::PDB_Machine::Am33 = 0x13, llvm::PDB_Machine::Amd64 = 0x8664,
  llvm::PDB_Machine::Arm = 0x1C0, llvm::PDB_Machine::ArmNT = 0x1C4, llvm::PDB_Machine::Ebc = 0xEBC, llvm::PDB_Machine::x86 = 0x14C,
  llvm::PDB_Machine::Ia64 = 0x200, llvm::PDB_Machine::M32R = 0x9041, llvm::PDB_Machine::Mips16 = 0x266, llvm::PDB_Machine::MipsFpu = 0x366,
  llvm::PDB_Machine::MipsFpu16 = 0x466, llvm::PDB_Machine::PowerPC = 0x1F0, llvm::PDB_Machine::PowerPCFP = 0x1F1, llvm::PDB_Machine::R4000 = 0x166,
  llvm::PDB_Machine::SH3 = 0x1A2, llvm::PDB_Machine::SH3DSP = 0x1A3, llvm::PDB_Machine::SH4 = 0x1A6, llvm::PDB_Machine::SH5 = 0x1A8,
  llvm::PDB_Machine::Thumb = 0x1C2, llvm::PDB_Machine::WceMipsV2 = 0x169
}
 
enum  llvm::PDB_CallingConv {
  llvm::PDB_CallingConv::NearCdecl = 0x00, llvm::PDB_CallingConv::FarCdecl = 0x01, llvm::PDB_CallingConv::NearPascal = 0x02, llvm::PDB_CallingConv::FarPascal = 0x03,
  llvm::PDB_CallingConv::NearFastcall = 0x04, llvm::PDB_CallingConv::FarFastcall = 0x05, llvm::PDB_CallingConv::Skipped = 0x06, llvm::PDB_CallingConv::NearStdcall = 0x07,
  llvm::PDB_CallingConv::FarStdcall = 0x08, llvm::PDB_CallingConv::NearSyscall = 0x09, llvm::PDB_CallingConv::FarSyscall = 0x0a, llvm::PDB_CallingConv::Thiscall = 0x0b,
  llvm::PDB_CallingConv::MipsCall = 0x0c, llvm::PDB_CallingConv::Generic = 0x0d, llvm::PDB_CallingConv::Alphacall = 0x0e, llvm::PDB_CallingConv::Ppccall = 0x0f,
  llvm::PDB_CallingConv::SuperHCall = 0x10, llvm::PDB_CallingConv::Armcall = 0x11, llvm::PDB_CallingConv::AM33call = 0x12, llvm::PDB_CallingConv::Tricall = 0x13,
  llvm::PDB_CallingConv::Sh5call = 0x14, llvm::PDB_CallingConv::M32R = 0x15, llvm::PDB_CallingConv::Clrcall = 0x16, llvm::PDB_CallingConv::Inline = 0x17,
  llvm::PDB_CallingConv::NearVectorcall = 0x18, llvm::PDB_CallingConv::Reserved = 0x19
}
 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...
 
enum  llvm::PDB_Lang {
  llvm::PDB_Lang::C = 0x00, llvm::PDB_Lang::Cpp = 0x01, llvm::PDB_Lang::Fortran = 0x02, llvm::PDB_Lang::Masm = 0x03,
  llvm::PDB_Lang::Pascal = 0x04, llvm::PDB_Lang::Basic = 0x05, llvm::PDB_Lang::Cobol = 0x06, llvm::PDB_Lang::Link = 0x07,
  llvm::PDB_Lang::Cvtres = 0x08, llvm::PDB_Lang::Cvtpgd = 0x09, llvm::PDB_Lang::CSharp = 0x0a, llvm::PDB_Lang::VB = 0x0b,
  llvm::PDB_Lang::ILAsm = 0x0c, llvm::PDB_Lang::Java = 0x0d, llvm::PDB_Lang::JScript = 0x0e, llvm::PDB_Lang::MSIL = 0x0f,
  llvm::PDB_Lang::HLSL = 0x10
}
 These values correspond to the CV_CFL_LANG enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/bw3aekw6.aspx. More...
 
enum  llvm::PDB_DataKind {
  llvm::Unknown, llvm::PDB_DataKind::Local, llvm::PDB_DataKind::StaticLocal, llvm::PDB_DataKind::Param,
  llvm::PDB_DataKind::ObjectPtr, llvm::PDB_DataKind::FileStatic, llvm::PDB_DataKind::Global, llvm::PDB_DataKind::Member,
  llvm::PDB_DataKind::StaticMember, llvm::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  llvm::PDB_SymType {
  llvm::PDB_SymType::None, llvm::PDB_SymType::Exe, llvm::PDB_SymType::Compiland, llvm::PDB_SymType::CompilandDetails,
  llvm::PDB_SymType::CompilandEnv, llvm::PDB_SymType::Function, llvm::PDB_SymType::Block, llvm::PDB_SymType::Data,
  llvm::PDB_SymType::Annotation, llvm::PDB_SymType::Label, llvm::PDB_SymType::PublicSymbol, llvm::PDB_SymType::UDT,
  llvm::PDB_SymType::Enum, llvm::PDB_SymType::FunctionSig, llvm::PDB_SymType::PointerType, llvm::PDB_SymType::ArrayType,
  llvm::PDB_SymType::BuiltinType, llvm::PDB_SymType::Typedef, llvm::PDB_SymType::BaseClass, llvm::PDB_SymType::Friend,
  llvm::PDB_SymType::FunctionArg, llvm::PDB_SymType::FuncDebugStart, llvm::PDB_SymType::FuncDebugEnd, llvm::PDB_SymType::UsingNamespace,
  llvm::PDB_SymType::VTableShape, llvm::PDB_SymType::VTable, llvm::PDB_SymType::Custom, llvm::PDB_SymType::Thunk,
  llvm::PDB_SymType::CustomType, llvm::PDB_SymType::ManagedType, llvm::PDB_SymType::Dimension, llvm::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  llvm::PDB_LocType {
  llvm::PDB_LocType::Null, llvm::PDB_LocType::Static, llvm::PDB_LocType::TLS, llvm::PDB_LocType::RegRel,
  llvm::PDB_LocType::ThisRel, llvm::PDB_LocType::Enregistered, llvm::PDB_LocType::BitField, llvm::PDB_LocType::Slot,
  llvm::PDB_LocType::IlRel, llvm::PDB_LocType::MetaData, llvm::PDB_LocType::Constant, llvm::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  llvm::PDB_ThunkOrdinal {
  llvm::PDB_ThunkOrdinal::Standard, llvm::PDB_ThunkOrdinal::ThisAdjustor, llvm::PDB_ThunkOrdinal::Vcall, llvm::PDB_ThunkOrdinal::Pcode,
  llvm::PDB_ThunkOrdinal::UnknownLoad, llvm::PDB_ThunkOrdinal::TrampIncremental, llvm::PDB_ThunkOrdinal::BranchIsland
}
 These values correspond to the THUNK_ORDINAL enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/dh0k8hft.aspx. More...
 
enum  llvm::PDB_UdtType { llvm::PDB_UdtType::Struct, llvm::PDB_UdtType::Class, llvm::PDB_UdtType::Union, llvm::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  llvm::PDB_StackFrameType {
  llvm::PDB_StackFrameType::FPO, llvm::PDB_StackFrameType::KernelTrap, llvm::PDB_StackFrameType::KernelTSS, llvm::PDB_StackFrameType::EBP,
  llvm::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  llvm::PDB_MemoryType { llvm::PDB_MemoryType::Code, llvm::PDB_MemoryType::Data, llvm::PDB_MemoryType::Stack, llvm::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  llvm::PDB_BuiltinType {
  llvm::PDB_BuiltinType::None = 0, llvm::PDB_BuiltinType::Void = 1, llvm::PDB_BuiltinType::Char = 2, llvm::PDB_BuiltinType::WCharT = 3,
  llvm::PDB_BuiltinType::Int = 6, llvm::PDB_BuiltinType::UInt = 7, llvm::PDB_BuiltinType::Float = 8, llvm::PDB_BuiltinType::BCD = 9,
  llvm::Bool = 10, llvm::PDB_BuiltinType::Long = 13, llvm::PDB_BuiltinType::ULong = 14, llvm::PDB_BuiltinType::Currency = 25,
  llvm::PDB_BuiltinType::Date = 26, llvm::PDB_BuiltinType::Variant = 27, llvm::PDB_BuiltinType::Complex = 28, llvm::PDB_BuiltinType::Bitfield = 29,
  llvm::PDB_BuiltinType::BSTR = 30, llvm::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  llvm::PDB_RegisterId {
  llvm::Unknown = 0, llvm::PDB_RegisterId::VFrame = 30006, llvm::PDB_RegisterId::AL = 1, llvm::PDB_RegisterId::CL = 2,
  llvm::PDB_RegisterId::DL = 3, llvm::PDB_RegisterId::BL = 4, llvm::PDB_RegisterId::AH = 5, llvm::PDB_RegisterId::CH = 6,
  llvm::PDB_RegisterId::DH = 7, llvm::PDB_RegisterId::BH = 8, llvm::PDB_RegisterId::AX = 9, llvm::PDB_RegisterId::CX = 10,
  llvm::PDB_RegisterId::DX = 11, llvm::PDB_RegisterId::BX = 12, llvm::PDB_RegisterId::SP = 13, llvm::PDB_RegisterId::BP = 14,
  llvm::PDB_RegisterId::SI = 15, llvm::PDB_RegisterId::DI = 16, llvm::PDB_RegisterId::EAX = 17, llvm::PDB_RegisterId::ECX = 18,
  llvm::PDB_RegisterId::EDX = 19, llvm::PDB_RegisterId::EBX = 20, llvm::PDB_RegisterId::ESP = 21, llvm::PDB_RegisterId::EBP = 22,
  llvm::PDB_RegisterId::ESI = 23, llvm::PDB_RegisterId::EDI = 24, llvm::PDB_RegisterId::ES = 25, llvm::PDB_RegisterId::CS = 26,
  llvm::PDB_RegisterId::SS = 27, llvm::PDB_RegisterId::DS = 28, llvm::PDB_RegisterId::FS = 29, llvm::PDB_RegisterId::GS = 30,
  llvm::PDB_RegisterId::IP = 31, llvm::PDB_RegisterId::RAX = 328, llvm::PDB_RegisterId::RBX = 329, llvm::PDB_RegisterId::RCX = 330,
  llvm::PDB_RegisterId::RDX = 331, llvm::PDB_RegisterId::RSI = 332, llvm::PDB_RegisterId::RDI = 333, llvm::PDB_RegisterId::RBP = 334,
  llvm::PDB_RegisterId::RSP = 335, llvm::PDB_RegisterId::R8 = 336, llvm::PDB_RegisterId::R9 = 337, llvm::PDB_RegisterId::R10 = 338,
  llvm::PDB_RegisterId::R11 = 339, llvm::PDB_RegisterId::R12 = 340, llvm::PDB_RegisterId::R13 = 341, llvm::PDB_RegisterId::R14 = 342,
  llvm::PDB_RegisterId::R15 = 343
}
 
enum  llvm::PDB_MemberAccess { llvm::PDB_MemberAccess::Private = 1, llvm::PDB_MemberAccess::Protected = 2, llvm::PDB_MemberAccess::Public = 3 }
 
enum  llvm::PDB_ErrorCode {
  llvm::PDB_ErrorCode::Success, llvm::PDB_ErrorCode::NoPdbImpl, llvm::PDB_ErrorCode::InvalidPath, llvm::PDB_ErrorCode::InvalidFileFormat,
  llvm::PDB_ErrorCode::InvalidParameter, llvm::PDB_ErrorCode::AlreadyLoaded, llvm::PDB_ErrorCode::UnknownError, llvm::PDB_ErrorCode::NoMemory,
  llvm::PDB_ErrorCode::DebugInfoMismatch
}
 
enum  llvm::PDB_VariantType {
  llvm::Empty, llvm::Unknown, llvm::Unknown, llvm::Unknown = 0x0,
  llvm::Unknown, llvm::Unknown = 0, llvm::Int8, llvm::Int16,
  llvm::Int32, llvm::Int64, llvm::Single, llvm::Double,
  llvm::UInt8, llvm::UInt16, llvm::UInt32, llvm::UInt64,
  llvm::Bool, llvm::Bool = 10
}
 

Macro Definition Documentation

#define VARIANT_EQUAL_CASE (   Enum)
Value:
case PDB_VariantType::Enum: \
return Enum == Other.Enum;
ELFYAML::ELF_STO Other
Definition: ELFYAML.cpp:591

Definition at line 477 of file PDBTypes.h.

Referenced by llvm::Variant::operator==().