LLVM  10.0.0svn
Namespaces | Macros | Functions | Variables
EnumTables.cpp File Reference
#include "llvm/DebugInfo/CodeView/EnumTables.h"
#include "llvm/Support/ScopedPrinter.h"
#include <type_traits>
#include "llvm/DebugInfo/CodeView/CodeViewSymbols.def"
#include "llvm/DebugInfo/CodeView/CodeViewTypes.def"
#include "llvm/DebugInfo/CodeView/CodeViewRegisters.def"
Include dependency graph for EnumTables.cpp:

Go to the source code of this file.

Namespaces

 llvm
 This class represents lattice values for constants.
 
 llvm::codeview
 

Macros

#define CV_ENUM_CLASS_ENT(enum_class, enum)   { #enum, std::underlying_type < enum_class > ::type(enum_class::enum) }
 
#define CV_ENUM_ENT(ns, enum)   { #enum, ns::enum }
 
#define CV_SYMBOL(enum, val)   {#enum, enum},
 
#define CV_TYPE(name, val)   {#name, name},
 
#define CV_REGISTERS_X86
 
#define CV_REGISTER(name, val)   CV_ENUM_CLASS_ENT(RegisterId, name),
 
#define CV_REGISTERS_ARM64
 
#define CV_REGISTER(name, val)   CV_ENUM_CLASS_ENT(RegisterId, name),
 

Functions

ArrayRef< EnumEntry< SymbolKind > > llvm::codeview::getSymbolTypeNames ()
 
ArrayRef< EnumEntry< TypeLeafKind > > llvm::codeview::getTypeLeafNames ()
 
ArrayRef< EnumEntry< uint16_t > > llvm::codeview::getRegisterNames (CPUType Cpu)
 
ArrayRef< EnumEntry< uint32_t > > llvm::codeview::getPublicSymFlagNames ()
 
ArrayRef< EnumEntry< uint8_t > > llvm::codeview::getProcSymFlagNames ()
 
ArrayRef< EnumEntry< uint16_t > > llvm::codeview::getLocalFlagNames ()
 
ArrayRef< EnumEntry< uint8_t > > llvm::codeview::getFrameCookieKindNames ()
 
ArrayRef< EnumEntry< SourceLanguage > > llvm::codeview::getSourceLanguageNames ()
 
ArrayRef< EnumEntry< uint32_t > > llvm::codeview::getCompileSym2FlagNames ()
 
ArrayRef< EnumEntry< uint32_t > > llvm::codeview::getCompileSym3FlagNames ()
 
ArrayRef< EnumEntry< uint32_t > > llvm::codeview::getFileChecksumNames ()
 
ArrayRef< EnumEntry< unsigned > > llvm::codeview::getCPUTypeNames ()
 
ArrayRef< EnumEntry< uint32_t > > llvm::codeview::getFrameProcSymFlagNames ()
 
ArrayRef< EnumEntry< uint16_t > > llvm::codeview::getExportSymFlagNames ()
 
ArrayRef< EnumEntry< uint32_t > > llvm::codeview::getModuleSubstreamKindNames ()
 
ArrayRef< EnumEntry< uint8_t > > llvm::codeview::getThunkOrdinalNames ()
 
ArrayRef< EnumEntry< uint16_t > > llvm::codeview::getTrampolineNames ()
 
ArrayRef< EnumEntry< COFF::SectionCharacteristics > > llvm::codeview::getImageSectionCharacteristicNames ()
 
ArrayRef< EnumEntry< uint16_t > > llvm::codeview::getClassOptionNames ()
 
ArrayRef< EnumEntry< uint8_t > > llvm::codeview::getMemberAccessNames ()
 
ArrayRef< EnumEntry< uint16_t > > llvm::codeview::getMethodOptionNames ()
 
ArrayRef< EnumEntry< uint16_t > > llvm::codeview::getMemberKindNames ()
 
ArrayRef< EnumEntry< uint8_t > > llvm::codeview::getPtrKindNames ()
 
ArrayRef< EnumEntry< uint8_t > > llvm::codeview::getPtrModeNames ()
 
ArrayRef< EnumEntry< uint16_t > > llvm::codeview::getPtrMemberRepNames ()
 
ArrayRef< EnumEntry< uint16_t > > llvm::codeview::getTypeModifierNames ()
 
ArrayRef< EnumEntry< uint8_t > > llvm::codeview::getCallingConventions ()
 
ArrayRef< EnumEntry< uint8_t > > llvm::codeview::getFunctionOptionEnum ()
 
ArrayRef< EnumEntry< uint16_t > > llvm::codeview::getLabelTypeEnum ()
 

Variables

static const EnumEntry< SymbolKindSymbolTypeNames []
 
static const EnumEntry< TypeLeafKindTypeLeafNames []
 
static const EnumEntry< uint16_t > RegisterNames_X86 []
 
static const EnumEntry< uint16_t > RegisterNames_ARM64 []
 
static const EnumEntry< uint32_tPublicSymFlagNames []
 
static const EnumEntry< uint8_t > ProcSymFlagNames []
 
static const EnumEntry< uint16_t > LocalFlags []
 
static const EnumEntry< uint8_t > FrameCookieKinds []
 
static const EnumEntry< codeview::SourceLanguageSourceLanguages []
 
static const EnumEntry< uint32_tCompileSym2FlagNames []
 
static const EnumEntry< uint32_tCompileSym3FlagNames []
 
static const EnumEntry< uint32_tFileChecksumNames []
 
static const EnumEntry< unsignedCPUTypeNames []
 
static const EnumEntry< uint32_tFrameProcSymFlagNames []
 
static const EnumEntry< uint32_tModuleSubstreamKindNames []
 
static const EnumEntry< uint16_t > ExportSymFlagNames []
 
static const EnumEntry< uint8_t > ThunkOrdinalNames []
 
static const EnumEntry< uint16_t > TrampolineNames []
 
static const EnumEntry< COFF::SectionCharacteristicsImageSectionCharacteristicNames []
 
static const EnumEntry< uint16_t > ClassOptionNames []
 
static const EnumEntry< uint8_t > MemberAccessNames []
 
static const EnumEntry< uint16_t > MethodOptionNames []
 
static const EnumEntry< uint16_t > MemberKindNames []
 
static const EnumEntry< uint8_t > PtrKindNames []
 
static const EnumEntry< uint8_t > PtrModeNames []
 
static const EnumEntry< uint16_t > PtrMemberRepNames []
 
static const EnumEntry< uint16_t > TypeModifierNames []
 
static const EnumEntry< uint8_t > CallingConventions []
 
static const EnumEntry< uint8_t > FunctionOptionEnum []
 
static const EnumEntry< uint16_t > LabelTypeEnum []
 

Macro Definition Documentation

◆ CV_ENUM_CLASS_ENT

#define CV_ENUM_CLASS_ENT (   enum_class,
  enum 
)    { #enum, std::underlying_type < enum_class > ::type(enum_class::enum) }

Definition at line 16 of file EnumTables.cpp.

◆ CV_ENUM_ENT

#define CV_ENUM_ENT (   ns,
  enum 
)    { #enum, ns::enum }

Definition at line 19 of file EnumTables.cpp.

◆ CV_REGISTER [1/2]

#define CV_REGISTER (   name,
  val 
)    CV_ENUM_CLASS_ENT(RegisterId, name),

◆ CV_REGISTER [2/2]

#define CV_REGISTER (   name,
  val 
)    CV_ENUM_CLASS_ENT(RegisterId, name),

◆ CV_REGISTERS_ARM64

#define CV_REGISTERS_ARM64

◆ CV_REGISTERS_X86

#define CV_REGISTERS_X86

◆ CV_SYMBOL

#define CV_SYMBOL (   enum,
  val 
)    {#enum, enum},

◆ CV_TYPE

#define CV_TYPE (   name,
  val 
)    {#name, name},

Variable Documentation

◆ CallingConventions

const EnumEntry<uint8_t> CallingConventions[]
static
Initial value:

Definition at line 387 of file EnumTables.cpp.

◆ ClassOptionNames

const EnumEntry<uint16_t> ClassOptionNames[]
static
Initial value:
= {
CV_ENUM_CLASS_ENT(ClassOptions, HasConstructorOrDestructor),
CV_ENUM_CLASS_ENT(ClassOptions, HasOverloadedOperator),
CV_ENUM_CLASS_ENT(ClassOptions, ContainsNestedClass),
CV_ENUM_CLASS_ENT(ClassOptions, HasOverloadedAssignmentOperator),
CV_ENUM_CLASS_ENT(ClassOptions, HasConversionOperator),
CV_ENUM_CLASS_ENT(ClassOptions, ForwardReference),
}
#define CV_ENUM_CLASS_ENT(enum_class, enum)
Definition: EnumTables.cpp:16

Definition at line 303 of file EnumTables.cpp.

◆ CompileSym2FlagNames

const EnumEntry<uint32_t> CompileSym2FlagNames[]
static
Initial value:
= {
}
#define CV_ENUM_CLASS_ENT(enum_class, enum)
Definition: EnumTables.cpp:16
CompileSym2Flags
Corresponds to COMPILESYM2::Flags bitfield.
Definition: CodeView.h:442

Definition at line 102 of file EnumTables.cpp.

◆ CompileSym3FlagNames

const EnumEntry<uint32_t> CompileSym3FlagNames[]
static
Initial value:

Definition at line 114 of file EnumTables.cpp.

◆ CPUTypeNames

const EnumEntry<unsigned> CPUTypeNames[]
static

Definition at line 136 of file EnumTables.cpp.

◆ ExportSymFlagNames

const EnumEntry<uint16_t> ExportSymFlagNames[]
static
Initial value:
= {
CV_ENUM_CLASS_ENT(ExportFlags, HasExplicitOrdinal),
}
#define CV_ENUM_CLASS_ENT(enum_class, enum)
Definition: EnumTables.cpp:16

Definition at line 240 of file EnumTables.cpp.

◆ FileChecksumNames

const EnumEntry<uint32_t> FileChecksumNames[]
static
Initial value:
= {
}
const NoneType None
Definition: None.h:23
A class that wrap the SHA1 algorithm.
Definition: SHA1.h:28
#define CV_ENUM_CLASS_ENT(enum_class, enum)
Definition: EnumTables.cpp:16
Definition: MD5.h:41

Definition at line 129 of file EnumTables.cpp.

◆ FrameCookieKinds

const EnumEntry<uint8_t> FrameCookieKinds[]
static
Initial value:
= {
}
#define CV_ENUM_CLASS_ENT(enum_class, enum)
Definition: EnumTables.cpp:16

Definition at line 82 of file EnumTables.cpp.

◆ FrameProcSymFlagNames

const EnumEntry<uint32_t> FrameProcSymFlagNames[]
static
Initial value:

Definition at line 199 of file EnumTables.cpp.

◆ FunctionOptionEnum

const EnumEntry<uint8_t> FunctionOptionEnum[]
static
Initial value:
= {
CV_ENUM_CLASS_ENT(FunctionOptions, ConstructorWithVirtualBases),
}
#define CV_ENUM_CLASS_ENT(enum_class, enum)
Definition: EnumTables.cpp:16

Definition at line 414 of file EnumTables.cpp.

◆ ImageSectionCharacteristicNames

const EnumEntry<COFF::SectionCharacteristics> ImageSectionCharacteristicNames[]
static

Definition at line 265 of file EnumTables.cpp.

Referenced by llvm::codeview::getImageSectionCharacteristicNames().

◆ LabelTypeEnum

const EnumEntry<uint16_t> LabelTypeEnum[]
static
Initial value:
= {
}
LabelType
Equivalent to CV_LABEL_TYPE_e.
Definition: CodeView.h:292
#define CV_ENUM_CLASS_ENT(enum_class, enum)
Definition: EnumTables.cpp:16

Definition at line 420 of file EnumTables.cpp.

◆ LocalFlags

const EnumEntry<uint16_t> LocalFlags[]
static
Initial value:
= {
CV_ENUM_CLASS_ENT(LocalSymFlags, IsAddressTaken),
CV_ENUM_CLASS_ENT(LocalSymFlags, IsCompilerGenerated),
CV_ENUM_CLASS_ENT(LocalSymFlags, IsOptimizedOut),
CV_ENUM_CLASS_ENT(LocalSymFlags, IsEnregisteredGlobal),
CV_ENUM_CLASS_ENT(LocalSymFlags, IsEnregisteredStatic),
}
#define CV_ENUM_CLASS_ENT(enum_class, enum)
Definition: EnumTables.cpp:16
LocalSymFlags
Corresponds to CV_LVARFLAGS bitfield.
Definition: CodeView.h:401

Definition at line 68 of file EnumTables.cpp.

◆ MemberAccessNames

const EnumEntry<uint8_t> MemberAccessNames[]
static
Initial value:
= {
}
const NoneType None
Definition: None.h:23
#define CV_ENUM_CLASS_ENT(enum_class, enum)
Definition: EnumTables.cpp:16
MemberAccess
Source-level access specifier. (CV_access_e)
Definition: CodeView.h:260

Definition at line 318 of file EnumTables.cpp.

◆ MemberKindNames

const EnumEntry<uint16_t> MemberKindNames[]
static
Initial value:
= {
CV_ENUM_CLASS_ENT(MethodKind, IntroducingVirtual),
CV_ENUM_CLASS_ENT(MethodKind, PureIntroducingVirtual),
}
MethodKind
Part of member attribute flags. (CV_methodprop_e)
Definition: CodeView.h:268
#define CV_ENUM_CLASS_ENT(enum_class, enum)
Definition: EnumTables.cpp:16

Definition at line 333 of file EnumTables.cpp.

◆ MethodOptionNames

const EnumEntry<uint16_t> MethodOptionNames[]
static
Initial value:
= {
CV_ENUM_CLASS_ENT(MethodOptions, CompilerGenerated),
}
MethodOptions
Equivalent to CV_fldattr_t bitfield.
Definition: CodeView.h:279
#define CV_ENUM_CLASS_ENT(enum_class, enum)
Definition: EnumTables.cpp:16

Definition at line 325 of file EnumTables.cpp.

◆ ModuleSubstreamKindNames

const EnumEntry<uint32_t> ModuleSubstreamKindNames[]
static
Initial value:

Definition at line 223 of file EnumTables.cpp.

◆ ProcSymFlagNames

const EnumEntry<uint8_t> ProcSymFlagNames[]
static
Initial value:
= {
CV_ENUM_CLASS_ENT(ProcSymFlags, HasCustomCallingConv),
CV_ENUM_CLASS_ENT(ProcSymFlags, HasOptimizedDebugInfo),
}
#define CV_ENUM_CLASS_ENT(enum_class, enum)
Definition: EnumTables.cpp:16
ProcSymFlags
Corresponds to the CV_PROCFLAGS bitfield.
Definition: CodeView.h:428

Definition at line 57 of file EnumTables.cpp.

◆ PtrKindNames

const EnumEntry<uint8_t> PtrKindNames[]
static
Initial value:
= {
CV_ENUM_CLASS_ENT(PointerKind, BasedOnSegment),
CV_ENUM_CLASS_ENT(PointerKind, BasedOnSegmentValue),
CV_ENUM_CLASS_ENT(PointerKind, BasedOnAddress),
CV_ENUM_CLASS_ENT(PointerKind, BasedOnSegmentAddress),
}
PointerKind
Equivalent to CV_ptrtype_e.
Definition: CodeView.h:331
#define CV_ENUM_CLASS_ENT(enum_class, enum)
Definition: EnumTables.cpp:16

Definition at line 343 of file EnumTables.cpp.

◆ PtrMemberRepNames

const EnumEntry<uint16_t> PtrMemberRepNames[]
static
Initial value:
= {
CV_ENUM_CLASS_ENT(PointerToMemberRepresentation, SingleInheritanceFunction),
MultipleInheritanceFunction),
VirtualInheritanceFunction),
}
#define CV_ENUM_CLASS_ENT(enum_class, enum)
Definition: EnumTables.cpp:16
PointerToMemberRepresentation
Equivalent to CV_pmtype_e.
Definition: CodeView.h:371

Definition at line 367 of file EnumTables.cpp.

◆ PtrModeNames

const EnumEntry<uint8_t> PtrModeNames[]
static
Initial value:
= {
CV_ENUM_CLASS_ENT(PointerMode, LValueReference),
CV_ENUM_CLASS_ENT(PointerMode, PointerToDataMember),
CV_ENUM_CLASS_ENT(PointerMode, PointerToMemberFunction),
CV_ENUM_CLASS_ENT(PointerMode, RValueReference),
}
PointerMode
Equivalent to CV_ptrmode_e.
Definition: CodeView.h:348
#define CV_ENUM_CLASS_ENT(enum_class, enum)
Definition: EnumTables.cpp:16

Definition at line 359 of file EnumTables.cpp.

◆ PublicSymFlagNames

const EnumEntry<uint32_t> PublicSymFlagNames[]
static
Initial value:

Definition at line 50 of file EnumTables.cpp.

◆ RegisterNames_ARM64

const EnumEntry<uint16_t> RegisterNames_ARM64[]
static
Initial value:
= {
#define CV_REGISTERS_ARM64
#define CV_REGISTER(name, val)
}

Definition at line 42 of file EnumTables.cpp.

◆ RegisterNames_X86

const EnumEntry<uint16_t> RegisterNames_X86[]
static
Initial value:
= {
#define CV_REGISTERS_X86
#define CV_REGISTER(name, val)
}

Definition at line 34 of file EnumTables.cpp.

◆ SourceLanguages

const EnumEntry<codeview::SourceLanguage> SourceLanguages[]
static
Initial value:
= {
}
uint64_t CallInst * C
#define CV_ENUM_ENT(ns, enum)
Definition: EnumTables.cpp:19
SourceLanguage
These values correspond to the CV_CFL_LANG enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/bw3aekw6.aspx.
Definition: CodeView.h:143
static GCRegistry::Add< StatepointGC > D("statepoint-example", "an example strategy for statepoint")

Definition at line 89 of file EnumTables.cpp.

◆ SymbolTypeNames

const EnumEntry<SymbolKind> SymbolTypeNames[]
static
Initial value:
= {
#define CV_SYMBOL(enum, val)
}

Definition at line 22 of file EnumTables.cpp.

◆ ThunkOrdinalNames

const EnumEntry<uint8_t> ThunkOrdinalNames[]
static
Initial value:
= {
CV_ENUM_CLASS_ENT(ThunkOrdinal, TrampIncremental),
}
#define CV_ENUM_CLASS_ENT(enum_class, enum)
Definition: EnumTables.cpp:16
ThunkOrdinal
These values correspond to the THUNK_ORDINAL enumeration.
Definition: CodeView.h:548

Definition at line 249 of file EnumTables.cpp.

◆ TrampolineNames

const EnumEntry<uint16_t> TrampolineNames[]
static
Initial value:
= {
CV_ENUM_CLASS_ENT(TrampolineType, TrampIncremental),
}
#define CV_ENUM_CLASS_ENT(enum_class, enum)
Definition: EnumTables.cpp:16

Definition at line 259 of file EnumTables.cpp.

◆ TypeLeafNames

const EnumEntry<TypeLeafKind> TypeLeafNames[]
static
Initial value:
= {
#define CV_TYPE(name, val)
}

Definition at line 28 of file EnumTables.cpp.

◆ TypeModifierNames

const EnumEntry<uint16_t> TypeModifierNames[]
static
Initial value:
= {
}
ModifierOptions
Equivalent to CV_modifier_t.
Definition: CodeView.h:299
#define CV_ENUM_CLASS_ENT(enum_class, enum)
Definition: EnumTables.cpp:16

Definition at line 381 of file EnumTables.cpp.