LLVM  8.0.1
Classes | Namespaces | Macros | Typedefs | Enumerations
PDBTypes.h File Reference
#include "llvm/DebugInfo/CodeView/CodeView.h"
#include "llvm/DebugInfo/PDB/IPDBEnumChildren.h"
#include "llvm/DebugInfo/PDB/IPDBFrameData.h"
#include "llvm/DebugInfo/PDB/Native/RawTypes.h"
#include <cctype>
#include <cstddef>
#include <cstdint>
#include <cstring>
#include <functional>
Include dependency graph for PDBTypes.h:

Go to the source code of this file.

Classes

struct  llvm::pdb::VersionInfo
 
struct  llvm::pdb::Variant
 
struct  std::hash< llvm::pdb::PDB_SymType >
 

Namespaces

 llvm
 This class represents lattice values for constants.
 
 llvm::pdb
 
 std
 

Macros

#define VARIANT_EQUAL_CASE(Enum)
 

Typedefs

typedef uint32_t llvm::pdb::SymIndexId
 
using llvm::pdb::IPDBEnumSymbols = IPDBEnumChildren< PDBSymbol >
 
using llvm::pdb::IPDBEnumSourceFiles = IPDBEnumChildren< IPDBSourceFile >
 
using llvm::pdb::IPDBEnumDataStreams = IPDBEnumChildren< IPDBDataStream >
 
using llvm::pdb::IPDBEnumLineNumbers = IPDBEnumChildren< IPDBLineNumber >
 
using llvm::pdb::IPDBEnumTables = IPDBEnumChildren< IPDBTable >
 
using llvm::pdb::IPDBEnumInjectedSources = IPDBEnumChildren< IPDBInjectedSource >
 
using llvm::pdb::IPDBEnumSectionContribs = IPDBEnumChildren< IPDBSectionContrib >
 
using llvm::pdb::IPDBEnumFrameData = IPDBEnumChildren< IPDBFrameData >
 
using llvm::pdb::PDB_Cpu = codeview::CPUType
 These values correspond to the CV_CPU_TYPE_e enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/b2fc64ek.aspx. More...
 
using llvm::pdb::PDB_CallingConv = codeview::CallingConvention
 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...
 
using llvm::pdb::PDB_Lang = codeview::SourceLanguage
 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  llvm::pdb::PDB_ReaderType { llvm::pdb::PDB_ReaderType::DIA = 0, llvm::pdb::PDB_ReaderType::Native = 1 }
 Specifies which PDB reader implementation is to be used. More...
 
enum  llvm::pdb::PDB_TableType {
  llvm::pdb::PDB_TableType::TableInvalid = 0, llvm::pdb::PDB_TableType::Symbols, llvm::pdb::PDB_TableType::SourceFiles, llvm::pdb::PDB_TableType::LineNumbers,
  llvm::pdb::PDB_TableType::SectionContribs, llvm::pdb::PDB_TableType::Segments, llvm::pdb::PDB_TableType::InjectedSources, llvm::pdb::PDB_TableType::FrameData,
  llvm::pdb::PDB_TableType::InputAssemblyFiles, llvm::pdb::PDB_TableType::Dbg
}
 An enumeration indicating the type of data contained in this table. More...
 
enum  llvm::pdb::PDB_NameSearchFlags {
  llvm::pdb::NS_Default = 0x0, llvm::pdb::NS_CaseSensitive = 0x1, llvm::pdb::NS_CaseInsensitive = 0x2, llvm::pdb::NS_FileNameExtMatch = 0x4,
  llvm::pdb::NS_Regex = 0x8, llvm::pdb::NS_UndecoratedName = 0x10, llvm::pdb::NS_CaseInFileNameExt = NS_CaseInsensitive | NS_FileNameExtMatch, llvm::pdb::NS_CaseRegex = NS_Regex | NS_CaseSensitive,
  llvm::pdb::NS_CaseInRex = NS_Regex | NS_CaseInsensitive
}
 Defines flags used for enumerating child symbols. More...
 
enum  llvm::pdb::PDB_Checksum { llvm::pdb::PDB_Checksum::None = 0, llvm::pdb::PDB_Checksum::MD5 = 1, llvm::pdb::PDB_Checksum::SHA1 = 2, llvm::pdb::PDB_Checksum::SHA256 = 3 }
 Specifies the hash algorithm that a source file from a PDB was hashed with. More...
 
enum  llvm::pdb::PDB_Machine {
  llvm::pdb::PDB_Machine::Invalid = 0xffff, llvm::pdb::Unknown = 0x0, llvm::pdb::PDB_Machine::Am33 = 0x13, llvm::pdb::PDB_Machine::Amd64 = 0x8664,
  llvm::pdb::PDB_Machine::Arm = 0x1C0, llvm::pdb::PDB_Machine::ArmNT = 0x1C4, llvm::pdb::PDB_Machine::Ebc = 0xEBC, llvm::pdb::PDB_Machine::x86 = 0x14C,
  llvm::pdb::PDB_Machine::Ia64 = 0x200, llvm::pdb::PDB_Machine::M32R = 0x9041, llvm::pdb::PDB_Machine::Mips16 = 0x266, llvm::pdb::PDB_Machine::MipsFpu = 0x366,
  llvm::pdb::PDB_Machine::MipsFpu16 = 0x466, llvm::pdb::PDB_Machine::PowerPC = 0x1F0, llvm::pdb::PDB_Machine::PowerPCFP = 0x1F1, llvm::pdb::PDB_Machine::R4000 = 0x166,
  llvm::pdb::PDB_Machine::SH3 = 0x1A2, llvm::pdb::PDB_Machine::SH3DSP = 0x1A3, llvm::pdb::PDB_Machine::SH4 = 0x1A6, llvm::pdb::PDB_Machine::SH5 = 0x1A8,
  llvm::pdb::PDB_Machine::Thumb = 0x1C2, llvm::pdb::PDB_Machine::WceMipsV2 = 0x169
}
 
enum  llvm::pdb::PDB_SourceCompression { llvm::pdb::PDB_SourceCompression::None, llvm::pdb::PDB_SourceCompression::RunLengthEncoded, llvm::pdb::PDB_SourceCompression::Huffman, llvm::pdb::PDB_SourceCompression::LZ }
 
enum  llvm::pdb::PDB_DataKind {
  llvm::pdb::Unknown, llvm::pdb::PDB_DataKind::Local, llvm::pdb::PDB_DataKind::StaticLocal, llvm::pdb::PDB_DataKind::Param,
  llvm::pdb::PDB_DataKind::ObjectPtr, llvm::pdb::PDB_DataKind::FileStatic, llvm::pdb::PDB_DataKind::Global, llvm::pdb::PDB_DataKind::Member,
  llvm::pdb::PDB_DataKind::StaticMember, llvm::pdb::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::PDB_SymType {
  llvm::pdb::PDB_SymType::None, llvm::pdb::PDB_SymType::Exe, llvm::pdb::PDB_SymType::Compiland, llvm::pdb::PDB_SymType::CompilandDetails,
  llvm::pdb::PDB_SymType::CompilandEnv, llvm::pdb::PDB_SymType::Function, llvm::pdb::PDB_SymType::Block, llvm::pdb::PDB_SymType::Data,
  llvm::pdb::PDB_SymType::Annotation, llvm::pdb::PDB_SymType::Label, llvm::pdb::PDB_SymType::PublicSymbol, llvm::pdb::PDB_SymType::UDT,
  llvm::pdb::PDB_SymType::Enum, llvm::pdb::PDB_SymType::FunctionSig, llvm::pdb::PDB_SymType::PointerType, llvm::pdb::PDB_SymType::ArrayType,
  llvm::pdb::PDB_SymType::BuiltinType, llvm::pdb::PDB_SymType::Typedef, llvm::pdb::PDB_SymType::BaseClass, llvm::pdb::PDB_SymType::Friend,
  llvm::pdb::PDB_SymType::FunctionArg, llvm::pdb::PDB_SymType::FuncDebugStart, llvm::pdb::PDB_SymType::FuncDebugEnd, llvm::pdb::PDB_SymType::UsingNamespace,
  llvm::pdb::PDB_SymType::VTableShape, llvm::pdb::PDB_SymType::VTable, llvm::pdb::PDB_SymType::Custom, llvm::pdb::PDB_SymType::Thunk,
  llvm::pdb::PDB_SymType::CustomType, llvm::pdb::PDB_SymType::ManagedType, llvm::pdb::PDB_SymType::Dimension, llvm::pdb::PDB_SymType::CallSite,
  llvm::pdb::PDB_SymType::InlineSite, llvm::pdb::PDB_SymType::BaseInterface, llvm::pdb::PDB_SymType::VectorType, llvm::pdb::PDB_SymType::MatrixType,
  llvm::pdb::PDB_SymType::HLSLType, llvm::pdb::PDB_SymType::Caller, llvm::pdb::PDB_SymType::Callee, llvm::pdb::PDB_SymType::Export,
  llvm::pdb::PDB_SymType::HeapAllocationSite, llvm::pdb::PDB_SymType::CoffGroup, llvm::pdb::PDB_SymType::Inlinee, llvm::pdb::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::PDB_LocType {
  llvm::pdb::PDB_LocType::Null, llvm::pdb::PDB_LocType::Static, llvm::pdb::PDB_LocType::TLS, llvm::pdb::PDB_LocType::RegRel,
  llvm::pdb::PDB_LocType::ThisRel, llvm::pdb::PDB_LocType::Enregistered, llvm::pdb::PDB_LocType::BitField, llvm::pdb::PDB_LocType::Slot,
  llvm::pdb::PDB_LocType::IlRel, llvm::pdb::PDB_LocType::MetaData, llvm::pdb::PDB_LocType::Constant, llvm::pdb::PDB_LocType::RegRelAliasIndir,
  llvm::pdb::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::PDB_UdtType { llvm::pdb::PDB_UdtType::Struct, llvm::pdb::PDB_UdtType::Class, llvm::pdb::PDB_UdtType::Union, llvm::pdb::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::PDB_StackFrameType : uint16_t {
  llvm::pdb::PDB_StackFrameType::FPO, llvm::pdb::PDB_StackFrameType::KernelTrap, llvm::pdb::PDB_StackFrameType::KernelTSS, llvm::pdb::PDB_StackFrameType::EBP,
  llvm::pdb::PDB_StackFrameType::FrameData, llvm::pdb::Unknown = 0xffff
}
 These values correspond to the StackFrameTypeEnum enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/bc5207xw.aspx. More...
 
enum  llvm::pdb::PDB_MemoryType : uint16_t {
  llvm::pdb::PDB_MemoryType::Code, llvm::pdb::PDB_MemoryType::Data, llvm::pdb::PDB_MemoryType::Stack, llvm::pdb::PDB_MemoryType::HeapCode,
  llvm::pdb::PDB_MemoryType::Any = 0xffff
}
 These values correspond to the MemoryTypeEnum enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/ms165609.aspx. More...
 
enum  llvm::pdb::PDB_BuiltinType {
  llvm::pdb::PDB_BuiltinType::None = 0, llvm::pdb::PDB_BuiltinType::Void = 1, llvm::pdb::PDB_BuiltinType::Char = 2, llvm::pdb::PDB_BuiltinType::WCharT = 3,
  llvm::pdb::PDB_BuiltinType::Int = 6, llvm::pdb::PDB_BuiltinType::UInt = 7, llvm::pdb::PDB_BuiltinType::Float = 8, llvm::pdb::PDB_BuiltinType::BCD = 9,
  llvm::pdb::Bool = 10, llvm::pdb::PDB_BuiltinType::Long = 13, llvm::pdb::PDB_BuiltinType::ULong = 14, llvm::pdb::PDB_BuiltinType::Currency = 25,
  llvm::pdb::PDB_BuiltinType::Date = 26, llvm::pdb::PDB_BuiltinType::Variant = 27, llvm::pdb::PDB_BuiltinType::Complex = 28, llvm::pdb::PDB_BuiltinType::Bitfield = 29,
  llvm::pdb::PDB_BuiltinType::BSTR = 30, llvm::pdb::PDB_BuiltinType::HResult = 31, llvm::pdb::PDB_BuiltinType::Char16 = 32, llvm::pdb::PDB_BuiltinType::Char32 = 33
}
 These values correspond to the Basictype enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/4szdtzc3.aspx. More...
 
enum  llvm::pdb::PDB_UndnameFlags : uint32_t {
  llvm::pdb::Undname_Complete = 0x0, llvm::pdb::Undname_NoLeadingUnderscores = 0x1, llvm::pdb::Undname_NoMsKeywords = 0x2, llvm::pdb::Undname_NoFuncReturns = 0x4,
  llvm::pdb::Undname_NoAllocModel = 0x8, llvm::pdb::Undname_NoAllocLang = 0x10, llvm::pdb::Undname_Reserved1 = 0x20, llvm::pdb::Undname_Reserved2 = 0x40,
  llvm::pdb::Undname_NoThisType = 0x60, llvm::pdb::Undname_NoAccessSpec = 0x80, llvm::pdb::Undname_NoThrowSig = 0x100, llvm::pdb::Undname_NoMemberType = 0x200,
  llvm::pdb::Undname_NoReturnUDTModel = 0x400, llvm::pdb::Undname_32BitDecode = 0x800, llvm::pdb::Undname_NameOnly = 0x1000, llvm::pdb::Undname_TypeOnly = 0x2000,
  llvm::pdb::Undname_HaveParams = 0x4000, llvm::pdb::Undname_NoECSU = 0x8000, llvm::pdb::Undname_NoIdentCharCheck = 0x10000, llvm::pdb::Undname_NoPTR64 = 0x20000
}
 These values correspond to the flags that can be combined to control the return of an undecorated name for a C++ decorated name, and are documented here: https://msdn.microsoft.com/en-us/library/kszfk0fs.aspx. More...
 
enum  llvm::pdb::PDB_MemberAccess { llvm::pdb::PDB_MemberAccess::Private = 1, llvm::pdb::PDB_MemberAccess::Protected = 2, llvm::pdb::PDB_MemberAccess::Public = 3 }
 
enum  llvm::pdb::PDB_VariantType {
  llvm::pdb::Empty, llvm::pdb::Unknown, llvm::pdb::Unknown = 0x0, llvm::pdb::Unknown,
  llvm::pdb::Unknown = 0xffff, llvm::pdb::Int8, llvm::pdb::Int16, llvm::pdb::Int32,
  llvm::pdb::Int64, llvm::pdb::Single, llvm::pdb::Double, llvm::pdb::UInt8,
  llvm::pdb::UInt16, llvm::pdb::UInt32, llvm::pdb::UInt64, llvm::pdb::Bool,
  llvm::pdb::Bool = 10, llvm::pdb::String
}
 

Macro Definition Documentation

◆ VARIANT_EQUAL_CASE

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

Definition at line 408 of file PDBTypes.h.

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