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: \
513 return APSInt(APInt(NumBits, Value.Enum), IsUnsigned);
527 assert(
false &&
"Variant::toAPSInt called on non-integral type");
546 assert(
false &&
"Variant::toAPFloat called on non-floating-point type");
551#define VARIANT_EQUAL_CASE(Enum) \
552 case PDB_VariantType::Enum: \
553 return Value.Enum == Other.Value.Enum;
576#undef VARIANT_EQUAL_CASE
583 delete[]
Value.String;
587 Other.Value.String !=
nullptr) {
588 Value.String =
new char[strlen(
Other.Value.String) + 1];
600template <>
struct hash<
llvm::pdb::PDB_SymType> {
605 return std::hash<int>()(
static_cast<int>(Arg));
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)
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
static APFloat getZero(const fltSemantics &Sem, bool Negative=false)
Factory for Positive and Negative Zero.
An arbitrary precision integer that knows its signedness.
This is an important base class in LLVM.
A class that wrap the SHA1 algorithm.
The instances of the Type class are immutable: once they are created, they are never changed.
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.
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....
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....
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.
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
PDB_StackFrameType
These values correspond to the StackFrameTypeEnum enumeration, and are documented here: https://msdn....
This is an optimization pass for GlobalISel generic memory operations.
Implement std::hash so that hash_code can be used in STL containers.
static const fltSemantics & IEEEsingle() LLVM_READNONE
Holds functions to get, set or test bitfields.
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
union llvm::pdb::Variant::@289 Value
Variant(const Variant &Other)
result_type operator()(const argument_type &Arg) const