12 #include <type_traits> 15 using namespace codeview;
17 #define CV_ENUM_CLASS_ENT(enum_class, enum) \ 18 { #enum, std::underlying_type < enum_class > ::type(enum_class::enum) } 20 #define CV_ENUM_ENT(ns, enum) \ 24 #define CV_SYMBOL(enum, val) {#enum, enum}, 25 #include "llvm/DebugInfo/CodeView/CodeViewSymbols.def" 30 #define CV_TYPE(name, val) {#name, name}, 31 #include "llvm/DebugInfo/CodeView/CodeViewTypes.def" 36 #define CV_REGISTER(name, val) CV_ENUM_CLASS_ENT(RegisterId, name), 37 #include "llvm/DebugInfo/CodeView/CodeViewRegisters.def"
ArrayRef< EnumEntry< uint32_t > > getModuleSubstreamKindNames()
static const EnumEntry< uint16_t > TrampolineNames[]
static const EnumEntry< uint32_t > ModuleSubstreamKindNames[]
This class represents lattice values for constants.
ArrayRef< EnumEntry< uint16_t > > getExportSymFlagNames()
ArrayRef< EnumEntry< uint32_t > > getCompileSym3FlagNames()
CompileSym3Flags
Corresponds to COMPILESYM3::Flags bitfield.
static const EnumEntry< uint32_t > FrameProcSymFlagNames[]
Data in the SUBSEC_FRAMEDATA subection.
static const EnumEntry< uint8_t > ProcSymFlagNames[]
ArrayRef< EnumEntry< uint16_t > > getRegisterNames()
static const EnumEntry< uint32_t > PublicSymFlagNames[]
A class that wrap the SHA1 algorithm.
ArrayRef< EnumEntry< TypeLeafKind > > getTypeLeafNames()
ArrayRef< EnumEntry< uint32_t > > getPublicSymFlagNames()
ArrayRef< T > makeArrayRef(const T &OneElt)
Construct an ArrayRef from a single element.
ArrayRef< EnumEntry< uint8_t > > getThunkOrdinalNames()
ArrayRef< EnumEntry< uint8_t > > getFrameCookieKindNames()
#define CV_ENUM_ENT(ns, enum)
PublicSymFlags
Corresponds to the CV_PUBSYMFLAGS bitfield.
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory)...
ArrayRef< EnumEntry< COFF::SectionCharacteristics > > getImageSectionCharacteristicNames()
static const EnumEntry< codeview::SourceLanguage > SourceLanguages[]
static const EnumEntry< TypeLeafKind > TypeLeafNames[]
ArrayRef< EnumEntry< unsigned > > getCPUTypeNames()
static const EnumEntry< uint16_t > RegisterNames[]
static const EnumEntry< uint32_t > CompileSym2FlagNames[]
static const EnumEntry< uint8_t > FrameCookieKinds[]
static const EnumEntry< unsigned > CPUTypeNames[]
ArrayRef< EnumEntry< uint32_t > > getFileChecksumNames()
SourceLanguage
These values correspond to the CV_CFL_LANG enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/bw3aekw6.aspx.
ArrayRef< EnumEntry< uint32_t > > getFrameProcSymFlagNames()
static const EnumEntry< SymbolKind > SymbolTypeNames[]
ArrayRef< EnumEntry< SymbolKind > > getSymbolTypeNames()
The DMD compiler emits 'D' for the CV source language.
CPUType
These values correspond to the CV_CPU_TYPE_e enumeration, and are documented here: https://msdn...
ArrayRef< EnumEntry< uint8_t > > getProcSymFlagNames()
ArrayRef< EnumEntry< SourceLanguage > > getSourceLanguageNames()
static const EnumEntry< uint16_t > LocalFlags[]
static const EnumEntry< uint16_t > ExportSymFlagNames[]
ArrayRef< EnumEntry< uint32_t > > getCompileSym2FlagNames()
static const EnumEntry< uint32_t > FileChecksumNames[]
static const EnumEntry< uint8_t > ThunkOrdinalNames[]
ArrayRef< EnumEntry< uint16_t > > getTrampolineNames()
#define CV_ENUM_CLASS_ENT(enum_class, enum)
static const EnumEntry< uint32_t > CompileSym3FlagNames[]
static const EnumEntry< COFF::SectionCharacteristics > ImageSectionCharacteristicNames[]
ThunkOrdinal
These values correspond to the THUNK_ORDINAL enumeration.
ArrayRef< EnumEntry< uint16_t > > getLocalFlagNames()
ProcSymFlags
Corresponds to the CV_PROCFLAGS bitfield.
LocalSymFlags
Corresponds to CV_LVARFLAGS bitfield.
CompileSym2Flags
Corresponds to COMPILESYM2::Flags bitfield.