LLVM  6.0.0svn
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/Native/RawTypes.h"
#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
 Compute iterated dominance frontiers using a linear time algorithm.
 
 llvm::pdb
 
 std
 

Macros

#define VARIANT_EQUAL_CASE(Enum)
 

Typedefs

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::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::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
}
 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
}
 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 }
 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_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::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::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 {
  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
}
 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 { llvm::pdb::PDB_MemoryType::Code, llvm::pdb::PDB_MemoryType::Data, llvm::pdb::PDB_MemoryType::Stack, llvm::pdb::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::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
}
 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_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::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:733

Definition at line 298 of file PDBTypes.h.

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