9#ifndef LLVM_DEBUGINFO_PDB_PDBTYPES_H
10#define LLVM_DEBUGINFO_PDB_PDBTYPES_H
450 delete[]
Value.String;
486#define VARIANT_WIDTH(Enum, NumBits) \
487 case PDB_VariantType::Enum: \
504 assert(
false &&
"Variant::toAPSInt called on non-numeric type");
511#define VARIANT_APSINT(Enum, NumBits, IsUnsigned) \
512 case PDB_VariantType::Enum: \
514 APInt(NumBits, static_cast<uint64_t>(Value.Enum), !IsUnsigned), \
529 assert(
false &&
"Variant::toAPSInt called on non-integral type");
548 assert(
false &&
"Variant::toAPFloat called on non-floating-point type");
553#define VARIANT_EQUAL_CASE(Enum) \
554 case PDB_VariantType::Enum: \
555 return Value.Enum == Other.Value.Enum;
578#undef VARIANT_EQUAL_CASE
585 delete[]
Value.String;
589 Other.Value.String !=
nullptr) {
590 Value.String =
new char[strlen(
Other.Value.String) + 1];
602template <>
struct hash<
llvm::pdb::PDB_SymType> {
607 return std::hash<int>()(
static_cast<int>(Arg));
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
This file declares a class to represent arbitrary precision floating point values and provide a varie...
#define VARIANT_APSINT(Enum, NumBits, IsUnsigned)
#define VARIANT_WIDTH(Enum, NumBits)
#define VARIANT_EQUAL_CASE(Enum)
static APFloat getZero(const fltSemantics &Sem, bool Negative=false)
Factory for Positive and Negative Zero.
An arbitrary precision integer that knows its signedness.
LLVM Value Representation.
IPDBDataStream defines an interface used to represent a stream consisting of a name and a series of r...
IPDBInjectedSource defines an interface used to represent source files which were injected directly i...
IPDBSectionContrib defines an interface used to represent section contributions whose information are...
IPDBSession defines an interface used to provide a context for querying debug information from a debu...
IPDBSourceFile defines an interface used to represent source files whose information are stored in th...
PDBSymbolCustom represents symbols that are compiler-specific and do not fit anywhere else in the lex...
PDBSymbol defines the base of the inheritance hierarchy for concrete symbol types (e....
CPUType
These values correspond to the CV_CPU_TYPE_e enumeration, and are documented here: https://msdn....
CallingConvention
These values correspond to the CV_call_e enumeration, and are documented at the following locations: ...
SourceLanguage
These values correspond to the CV_CFL_LANG enumeration in the Microsoft Debug Interface Access SDK,...
PDB_Checksum
Specifies the hash algorithm that a source file from a PDB was hashed with.
PDB_MemoryType
These values correspond to the MemoryTypeEnum enumeration, and are documented here: https://msdn....
PDB_NameSearchFlags
Defines flags used for enumerating child symbols.
IPDBEnumChildren< IPDBLineNumber > IPDBEnumLineNumbers
PDB_TableType
An enumeration indicating the type of data contained in this table.
PDB_BuiltinType
These values correspond to the Basictype enumeration, and are documented here: https://msdn....
IPDBEnumChildren< IPDBInjectedSource > IPDBEnumInjectedSources
PDB_UdtType
These values correspond to the UdtKind enumeration, and are documented here: https://msdn....
PDB_SymType
These values correspond to the SymTagEnum enumeration, and are documented here: https://msdn....
IPDBEnumChildren< IPDBDataStream > IPDBEnumDataStreams
IPDBEnumChildren< IPDBSectionContrib > IPDBEnumSectionContribs
PDB_LocType
These values correspond to the LocationType enumeration, and are documented here: https://msdn....
PDB_DataKind
These values correspond to the DataKind enumeration, and are documented here: https://msdn....
PDB_ReaderType
Specifies which PDB reader implementation is to be used.
IPDBEnumChildren< PDBSymbol > IPDBEnumSymbols
IPDBEnumChildren< IPDBTable > IPDBEnumTables
PDB_UndnameFlags
These values correspond to the flags that can be combined to control the return of an undecorated nam...
@ Undname_NoIdentCharCheck
@ Undname_NoLeadingUnderscores
@ Undname_NoReturnUDTModel
IPDBEnumChildren< IPDBFrameData > IPDBEnumFrameData
codeview::CPUType PDB_Cpu
These values correspond to the CV_CPU_TYPE_e enumeration, and are documented here: https://msdn....
codeview::SourceLanguage PDB_Lang
These values correspond to the CV_CFL_LANG enumeration, and are documented here: https://msdn....
IPDBEnumChildren< IPDBSourceFile > IPDBEnumSourceFiles
PDB_StackFrameType
These values correspond to the StackFrameTypeEnum enumeration, and are documented here: https://msdn....
codeview::CallingConvention PDB_CallingConv
These values correspond to the CV_call_e enumeration, and are documented at the following locations: ...
This is an optimization pass for GlobalISel generic memory operations.
Implement std::hash so that hash_code can be used in STL containers.
static LLVM_ABI const fltSemantics & IEEEsingle() LLVM_READNONE
bool operator==(const Variant &Other) const
bool isIntegralType() const
APFloat toAPFloat() const
Variant & operator=(const Variant &Other)
unsigned getBitWidth() const
bool operator!=(const Variant &Other) const
Variant(const Variant &Other)
union llvm::pdb::Variant::@200246275201367176165230176113371323105013167275 Value
result_type operator()(const argument_type &Arg) const
llvm::pdb::PDB_SymType argument_type