LLVM  6.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
 Compute iterated dominance frontiers using a linear time algorithm.
 
 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_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 ()
 
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 ()
 

Variables

static const EnumEntry< SymbolKindSymbolTypeNames []
 
static const EnumEntry< TypeLeafKindTypeLeafNames []
 
static const EnumEntry< uint16_t > RegisterNames []
 
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 []
 

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 17 of file EnumTables.cpp.

◆ CV_ENUM_ENT

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

Definition at line 20 of file EnumTables.cpp.

◆ CV_REGISTER

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

◆ CV_SYMBOL

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

◆ CV_TYPE

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

Variable Documentation

◆ CompileSym2FlagNames

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

Definition at line 92 of file EnumTables.cpp.

◆ CompileSym3FlagNames

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

Definition at line 104 of file EnumTables.cpp.

◆ CPUTypeNames

const EnumEntry<unsigned> CPUTypeNames[]
static

Definition at line 126 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:17

Definition at line 227 of file EnumTables.cpp.

◆ FileChecksumNames

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

Definition at line 119 of file EnumTables.cpp.

◆ FrameCookieKinds

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

Definition at line 73 of file EnumTables.cpp.

◆ FrameProcSymFlagNames

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

Definition at line 188 of file EnumTables.cpp.

◆ ImageSectionCharacteristicNames

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

Definition at line 252 of file EnumTables.cpp.

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

◆ 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:17
LocalSymFlags
Corresponds to CV_LVARFLAGS bitfield.
Definition: CodeView.h:394

Definition at line 59 of file EnumTables.cpp.

◆ ModuleSubstreamKindNames

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

Definition at line 210 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:17
ProcSymFlags
Corresponds to the CV_PROCFLAGS bitfield.
Definition: CodeView.h:421

Definition at line 48 of file EnumTables.cpp.

◆ PublicSymFlagNames

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

Definition at line 41 of file EnumTables.cpp.

◆ RegisterNames

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

Definition at line 35 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:20
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:144
static GCRegistry::Add< StatepointGC > D("statepoint-example", "an example strategy for statepoint")

Definition at line 80 of file EnumTables.cpp.

◆ SymbolTypeNames

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

Definition at line 23 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:17
ThunkOrdinal
These values correspond to the THUNK_ORDINAL enumeration.
Definition: CodeView.h:514

Definition at line 236 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:17

Definition at line 246 of file EnumTables.cpp.

◆ TypeLeafNames

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

Definition at line 29 of file EnumTables.cpp.