LLVM  4.0.0
CodeView/EnumTables.cpp
Go to the documentation of this file.
1 //===- EnumTables.cpp - Enum to string conversion tables --------*- C++ -*-===//
2 //
3 // The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 
11 
12 using namespace llvm;
13 using namespace codeview;
14 
15 #define CV_ENUM_CLASS_ENT(enum_class, enum) \
16  { #enum, std::underlying_type < enum_class > ::type(enum_class::enum) }
17 
18 #define CV_ENUM_ENT(ns, enum) \
19  { #enum, ns::enum }
20 
22 #define CV_SYMBOL(enum, val) {#enum, enum},
23 #include "llvm/DebugInfo/CodeView/CVSymbolTypes.def"
24 #undef CV_SYMBOL
25 };
26 
28 #define CV_TYPE(name, val) {#name, name},
29 #include "llvm/DebugInfo/CodeView/TypeRecords.def"
30 #undef CV_TYPE
31 };
32 
83 };
84 
94 };
95 
96 static const EnumEntry<uint16_t> LocalFlags[] = {
108 };
109 
115 };
116 
127 };
128 
139 };
140 
154 };
155 
161 };
162 
223 };
224 
245 };
246 
262 };
263 
271 };
272 
274  CV_ENUM_CLASS_ENT(ThunkOrdinal, Standard),
281 };
282 
286 };
287 
326 
327 namespace llvm {
328 namespace codeview {
331 }
332 
334  return makeArrayRef(TypeLeafNames);
335 }
336 
338  return makeArrayRef(RegisterNames);
339 }
340 
343 }
345  return makeArrayRef(LocalFlags);
346 }
349 }
352 }
355 }
358 }
361 }
363  return makeArrayRef(CPUTypeNames);
364 }
367 }
370 }
373 }
376 }
379 }
383 }
384 }
385 }
const NoneType None
Definition: None.h:23
ArrayRef< EnumEntry< uint32_t > > getModuleSubstreamKindNames()
static const EnumEntry< uint16_t > TrampolineNames[]
static const EnumEntry< uint32_t > ModuleSubstreamKindNames[]
ArrayRef< EnumEntry< uint16_t > > getExportSymFlagNames()
ArrayRef< EnumEntry< uint32_t > > getCompileSym3FlagNames()
CompileSym3Flags
Corresponds to COMPILESYM3::Flags bitfield.
Definition: CodeView.h:422
static const EnumEntry< uint32_t > FrameProcSymFlagNames[]
static const EnumEntry< uint8_t > ProcSymFlagNames[]
ArrayRef< EnumEntry< uint16_t > > getRegisterNames()
A class that wrap the SHA1 algorithm.
Definition: SHA1.h:29
ArrayRef< EnumEntry< TypeLeafKind > > getTypeLeafNames()
ArrayRef< T > makeArrayRef(const T &OneElt)
Construct an ArrayRef from a single element.
Definition: ArrayRef.h:440
ArrayRef< EnumEntry< uint8_t > > getThunkOrdinalNames()
ArrayRef< EnumEntry< uint8_t > > getFrameCookieKindNames()
#define CV_ENUM_ENT(ns, enum)
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory)...
Definition: APInt.h:33
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.
Definition: CodeView.h:137
ArrayRef< EnumEntry< uint32_t > > getFrameProcSymFlagNames()
static const EnumEntry< SymbolKind > SymbolTypeNames[]
ArrayRef< EnumEntry< SymbolKind > > getSymbolTypeNames()
CPUType
These values correspond to the CV_CPU_TYPE_e enumeration, and are documented here: https://msdn...
Definition: CodeView.h:73
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[]
Definition: MD5.h:39
static const EnumEntry< COFF::SectionCharacteristics > ImageSectionCharacteristicNames[]
ThunkOrdinal
These values correspond to the THUNK_ORDINAL enumeration.
Definition: CodeView.h:528
ArrayRef< EnumEntry< uint16_t > > getLocalFlagNames()
ProcSymFlags
Corresponds to the CV_PROCFLAGS bitfield.
Definition: CodeView.h:394
LocalSymFlags
Corresponds to CV_LVARFLAGS bitfield.
Definition: CodeView.h:377
CompileSym2Flags
Corresponds to COMPILESYM2::Flags bitfield.
Definition: CodeView.h:408