[llvm-pdbdump] Print more friendly names for enum values.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227275 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Zachary Turner 2015-01-28 00:32:49 +00:00
parent 24508d33fb
commit 63f47de72c

View File

@ -15,55 +15,55 @@
using namespace llvm;
using namespace llvm::sys::windows;
#define PRINT_ENUM_VALUE_CASE(Value) \
#define PRINT_ENUM_VALUE_CASE(Value, Name) \
case Value: \
outs() << #Value; \
outs() << Name; \
break;
raw_ostream &llvm::operator<<(raw_ostream &Stream, DiaSymTagEnum SymTag) {
switch (SymTag) {
PRINT_ENUM_VALUE_CASE(SymTagNull)
PRINT_ENUM_VALUE_CASE(SymTagExe)
PRINT_ENUM_VALUE_CASE(SymTagCompiland)
PRINT_ENUM_VALUE_CASE(SymTagCompilandDetails)
PRINT_ENUM_VALUE_CASE(SymTagCompilandEnv)
PRINT_ENUM_VALUE_CASE(SymTagFunction)
PRINT_ENUM_VALUE_CASE(SymTagBlock)
PRINT_ENUM_VALUE_CASE(SymTagData)
PRINT_ENUM_VALUE_CASE(SymTagAnnotation)
PRINT_ENUM_VALUE_CASE(SymTagLabel)
PRINT_ENUM_VALUE_CASE(SymTagPublicSymbol)
PRINT_ENUM_VALUE_CASE(SymTagUDT)
PRINT_ENUM_VALUE_CASE(SymTagEnum)
PRINT_ENUM_VALUE_CASE(SymTagFunctionType)
PRINT_ENUM_VALUE_CASE(SymTagPointerType)
PRINT_ENUM_VALUE_CASE(SymTagArrayType)
PRINT_ENUM_VALUE_CASE(SymTagBaseType)
PRINT_ENUM_VALUE_CASE(SymTagTypedef)
PRINT_ENUM_VALUE_CASE(SymTagBaseClass)
PRINT_ENUM_VALUE_CASE(SymTagFriend)
PRINT_ENUM_VALUE_CASE(SymTagFunctionArgType)
PRINT_ENUM_VALUE_CASE(SymTagFuncDebugStart)
PRINT_ENUM_VALUE_CASE(SymTagFuncDebugEnd)
PRINT_ENUM_VALUE_CASE(SymTagUsingNamespace)
PRINT_ENUM_VALUE_CASE(SymTagVTableShape)
PRINT_ENUM_VALUE_CASE(SymTagVTable)
PRINT_ENUM_VALUE_CASE(SymTagCustom)
PRINT_ENUM_VALUE_CASE(SymTagThunk)
PRINT_ENUM_VALUE_CASE(SymTagCustomType)
PRINT_ENUM_VALUE_CASE(SymTagManagedType)
PRINT_ENUM_VALUE_CASE(SymTagDimension)
PRINT_ENUM_VALUE_CASE(SymTagCallSite)
PRINT_ENUM_VALUE_CASE(SymTagInlineSite)
PRINT_ENUM_VALUE_CASE(SymTagBaseInterface)
PRINT_ENUM_VALUE_CASE(SymTagVectorType)
PRINT_ENUM_VALUE_CASE(SymTagMatrixType)
PRINT_ENUM_VALUE_CASE(SymTagHLSLType)
PRINT_ENUM_VALUE_CASE(SymTagNull, "Null")
PRINT_ENUM_VALUE_CASE(SymTagExe, "Exe")
PRINT_ENUM_VALUE_CASE(SymTagCompiland, "Compiland")
PRINT_ENUM_VALUE_CASE(SymTagCompilandDetails, "CompilandDetails")
PRINT_ENUM_VALUE_CASE(SymTagCompilandEnv, "CompilandEnv")
PRINT_ENUM_VALUE_CASE(SymTagFunction, "Function")
PRINT_ENUM_VALUE_CASE(SymTagBlock, "Block")
PRINT_ENUM_VALUE_CASE(SymTagData, "Data")
PRINT_ENUM_VALUE_CASE(SymTagAnnotation, "Annotation")
PRINT_ENUM_VALUE_CASE(SymTagLabel, "Label")
PRINT_ENUM_VALUE_CASE(SymTagPublicSymbol, "PublicSymbol")
PRINT_ENUM_VALUE_CASE(SymTagUDT, "UDT")
PRINT_ENUM_VALUE_CASE(SymTagEnum, "Enum")
PRINT_ENUM_VALUE_CASE(SymTagFunctionType, "FunctionType")
PRINT_ENUM_VALUE_CASE(SymTagPointerType, "PointerType")
PRINT_ENUM_VALUE_CASE(SymTagArrayType, "ArrayType")
PRINT_ENUM_VALUE_CASE(SymTagBaseType, "BaseType")
PRINT_ENUM_VALUE_CASE(SymTagTypedef, "Typedef")
PRINT_ENUM_VALUE_CASE(SymTagBaseClass, "BaseClass")
PRINT_ENUM_VALUE_CASE(SymTagFriend, "Friend")
PRINT_ENUM_VALUE_CASE(SymTagFunctionArgType, "FunctionArgType")
PRINT_ENUM_VALUE_CASE(SymTagFuncDebugStart, "FuncDebugStart")
PRINT_ENUM_VALUE_CASE(SymTagFuncDebugEnd, "FuncDebugEnd")
PRINT_ENUM_VALUE_CASE(SymTagUsingNamespace, "UsingNamespace")
PRINT_ENUM_VALUE_CASE(SymTagVTableShape, "VTableShape")
PRINT_ENUM_VALUE_CASE(SymTagVTable, "VTable")
PRINT_ENUM_VALUE_CASE(SymTagCustom, "Custom")
PRINT_ENUM_VALUE_CASE(SymTagThunk, "Thunk")
PRINT_ENUM_VALUE_CASE(SymTagCustomType, "CustomType")
PRINT_ENUM_VALUE_CASE(SymTagManagedType, "ManagedType")
PRINT_ENUM_VALUE_CASE(SymTagDimension, "Dimension")
PRINT_ENUM_VALUE_CASE(SymTagCallSite, "CallSite")
PRINT_ENUM_VALUE_CASE(SymTagInlineSite, "InlineSite")
PRINT_ENUM_VALUE_CASE(SymTagBaseInterface, "BaseInterface")
PRINT_ENUM_VALUE_CASE(SymTagVectorType, "VectorType")
PRINT_ENUM_VALUE_CASE(SymTagMatrixType, "MatrixType")
PRINT_ENUM_VALUE_CASE(SymTagHLSLType, "HLSLType")
#if (_MSC_FULL_VER >= 180031101)
PRINT_ENUM_VALUE_CASE(SymTagCaller)
PRINT_ENUM_VALUE_CASE(SymTagCallee)
PRINT_ENUM_VALUE_CASE(SymTagCaller, "Caller")
PRINT_ENUM_VALUE_CASE(SymTagCallee, "Callee")
#endif
PRINT_ENUM_VALUE_CASE(SymTagMax)
PRINT_ENUM_VALUE_CASE(SymTagMax, "Max")
}
outs() << " {" << (DWORD)SymTag << "}";
return Stream;
@ -71,68 +71,68 @@ raw_ostream &llvm::operator<<(raw_ostream &Stream, DiaSymTagEnum SymTag) {
raw_ostream &llvm::operator<<(raw_ostream &Stream, CV_CPU_TYPE_e CpuType) {
switch (CpuType) {
PRINT_ENUM_VALUE_CASE(CV_CFL_8080)
PRINT_ENUM_VALUE_CASE(CV_CFL_8086)
PRINT_ENUM_VALUE_CASE(CV_CFL_80286)
PRINT_ENUM_VALUE_CASE(CV_CFL_80386)
PRINT_ENUM_VALUE_CASE(CV_CFL_80486)
PRINT_ENUM_VALUE_CASE(CV_CFL_PENTIUM)
PRINT_ENUM_VALUE_CASE(CV_CFL_PENTIUMPRO)
PRINT_ENUM_VALUE_CASE(CV_CFL_PENTIUMIII)
PRINT_ENUM_VALUE_CASE(CV_CFL_MIPS)
PRINT_ENUM_VALUE_CASE(CV_CFL_MIPS16)
PRINT_ENUM_VALUE_CASE(CV_CFL_MIPS32)
PRINT_ENUM_VALUE_CASE(CV_CFL_MIPS64)
PRINT_ENUM_VALUE_CASE(CV_CFL_MIPSI)
PRINT_ENUM_VALUE_CASE(CV_CFL_MIPSII)
PRINT_ENUM_VALUE_CASE(CV_CFL_MIPSIII)
PRINT_ENUM_VALUE_CASE(CV_CFL_MIPSIV)
PRINT_ENUM_VALUE_CASE(CV_CFL_MIPSV)
PRINT_ENUM_VALUE_CASE(CV_CFL_M68000)
PRINT_ENUM_VALUE_CASE(CV_CFL_M68010)
PRINT_ENUM_VALUE_CASE(CV_CFL_M68020)
PRINT_ENUM_VALUE_CASE(CV_CFL_M68030)
PRINT_ENUM_VALUE_CASE(CV_CFL_M68040)
PRINT_ENUM_VALUE_CASE(CV_CFL_ALPHA)
PRINT_ENUM_VALUE_CASE(CV_CFL_ALPHA_21164)
PRINT_ENUM_VALUE_CASE(CV_CFL_ALPHA_21164A)
PRINT_ENUM_VALUE_CASE(CV_CFL_ALPHA_21264)
PRINT_ENUM_VALUE_CASE(CV_CFL_ALPHA_21364)
PRINT_ENUM_VALUE_CASE(CV_CFL_PPC601)
PRINT_ENUM_VALUE_CASE(CV_CFL_PPC603)
PRINT_ENUM_VALUE_CASE(CV_CFL_PPC604)
PRINT_ENUM_VALUE_CASE(CV_CFL_PPC620)
PRINT_ENUM_VALUE_CASE(CV_CFL_PPCFP)
PRINT_ENUM_VALUE_CASE(CV_CFL_PPCBE)
PRINT_ENUM_VALUE_CASE(CV_CFL_SH3)
PRINT_ENUM_VALUE_CASE(CV_CFL_SH3E)
PRINT_ENUM_VALUE_CASE(CV_CFL_SH3DSP)
PRINT_ENUM_VALUE_CASE(CV_CFL_SH4)
PRINT_ENUM_VALUE_CASE(CV_CFL_SHMEDIA)
PRINT_ENUM_VALUE_CASE(CV_CFL_ARM3)
PRINT_ENUM_VALUE_CASE(CV_CFL_ARM4)
PRINT_ENUM_VALUE_CASE(CV_CFL_ARM4T)
PRINT_ENUM_VALUE_CASE(CV_CFL_ARM5)
PRINT_ENUM_VALUE_CASE(CV_CFL_ARM5T)
PRINT_ENUM_VALUE_CASE(CV_CFL_ARM6)
PRINT_ENUM_VALUE_CASE(CV_CFL_ARM_XMAC)
PRINT_ENUM_VALUE_CASE(CV_CFL_ARM_WMMX)
PRINT_ENUM_VALUE_CASE(CV_CFL_ARM7)
PRINT_ENUM_VALUE_CASE(CV_CFL_OMNI)
PRINT_ENUM_VALUE_CASE(CV_CFL_IA64)
PRINT_ENUM_VALUE_CASE(CV_CFL_IA64_2)
PRINT_ENUM_VALUE_CASE(CV_CFL_CEE)
PRINT_ENUM_VALUE_CASE(CV_CFL_AM33)
PRINT_ENUM_VALUE_CASE(CV_CFL_M32R)
PRINT_ENUM_VALUE_CASE(CV_CFL_TRICORE)
PRINT_ENUM_VALUE_CASE(CV_CFL_X64)
PRINT_ENUM_VALUE_CASE(CV_CFL_EBC)
PRINT_ENUM_VALUE_CASE(CV_CFL_THUMB)
PRINT_ENUM_VALUE_CASE(CV_CFL_ARMNT)
PRINT_ENUM_VALUE_CASE(CV_CFL_8080, "8080")
PRINT_ENUM_VALUE_CASE(CV_CFL_8086, "8086")
PRINT_ENUM_VALUE_CASE(CV_CFL_80286, "80286")
PRINT_ENUM_VALUE_CASE(CV_CFL_80386, "80386")
PRINT_ENUM_VALUE_CASE(CV_CFL_80486, "80486")
PRINT_ENUM_VALUE_CASE(CV_CFL_PENTIUM, "Pentium")
PRINT_ENUM_VALUE_CASE(CV_CFL_PENTIUMPRO, "Pentium Pro")
PRINT_ENUM_VALUE_CASE(CV_CFL_PENTIUMIII, "Pentium III")
PRINT_ENUM_VALUE_CASE(CV_CFL_MIPS, "MIPS")
PRINT_ENUM_VALUE_CASE(CV_CFL_MIPS16, "MIPS 16")
PRINT_ENUM_VALUE_CASE(CV_CFL_MIPS32, "MIPS 32")
PRINT_ENUM_VALUE_CASE(CV_CFL_MIPS64, "MIPS 64")
PRINT_ENUM_VALUE_CASE(CV_CFL_MIPSI, "MIPS I")
PRINT_ENUM_VALUE_CASE(CV_CFL_MIPSII, "MIPS II")
PRINT_ENUM_VALUE_CASE(CV_CFL_MIPSIII, "MIPS III")
PRINT_ENUM_VALUE_CASE(CV_CFL_MIPSIV, "MIPS IV")
PRINT_ENUM_VALUE_CASE(CV_CFL_MIPSV, "MIPS V")
PRINT_ENUM_VALUE_CASE(CV_CFL_M68000, "M68000")
PRINT_ENUM_VALUE_CASE(CV_CFL_M68010, "M68010")
PRINT_ENUM_VALUE_CASE(CV_CFL_M68020, "M68020")
PRINT_ENUM_VALUE_CASE(CV_CFL_M68030, "M68030")
PRINT_ENUM_VALUE_CASE(CV_CFL_M68040, "M68040")
PRINT_ENUM_VALUE_CASE(CV_CFL_ALPHA, "Alpha")
PRINT_ENUM_VALUE_CASE(CV_CFL_ALPHA_21164, "Alpha 21164")
PRINT_ENUM_VALUE_CASE(CV_CFL_ALPHA_21164A, "Alpha 21164A")
PRINT_ENUM_VALUE_CASE(CV_CFL_ALPHA_21264, "Alpha 21264")
PRINT_ENUM_VALUE_CASE(CV_CFL_ALPHA_21364, "21364")
PRINT_ENUM_VALUE_CASE(CV_CFL_PPC601, "PowerPC 601")
PRINT_ENUM_VALUE_CASE(CV_CFL_PPC603, "PowerPC 603")
PRINT_ENUM_VALUE_CASE(CV_CFL_PPC604, "PowerPC 604")
PRINT_ENUM_VALUE_CASE(CV_CFL_PPC620, "PowerPC 620")
PRINT_ENUM_VALUE_CASE(CV_CFL_PPCFP, "PowerPC FP")
PRINT_ENUM_VALUE_CASE(CV_CFL_PPCBE, "PowerPC BE")
PRINT_ENUM_VALUE_CASE(CV_CFL_SH3, "SH3")
PRINT_ENUM_VALUE_CASE(CV_CFL_SH3E, "SH3-E")
PRINT_ENUM_VALUE_CASE(CV_CFL_SH3DSP, "SH3-DSP")
PRINT_ENUM_VALUE_CASE(CV_CFL_SH4, "SH4")
PRINT_ENUM_VALUE_CASE(CV_CFL_SHMEDIA, "SH Media")
PRINT_ENUM_VALUE_CASE(CV_CFL_ARM3, "ARM 3")
PRINT_ENUM_VALUE_CASE(CV_CFL_ARM4, "ARM 4")
PRINT_ENUM_VALUE_CASE(CV_CFL_ARM4T, "ARM 4T")
PRINT_ENUM_VALUE_CASE(CV_CFL_ARM5, "ARM 5")
PRINT_ENUM_VALUE_CASE(CV_CFL_ARM5T, "ARM 5T")
PRINT_ENUM_VALUE_CASE(CV_CFL_ARM6, "ARM 6")
PRINT_ENUM_VALUE_CASE(CV_CFL_ARM_XMAC, "ARM XMAC")
PRINT_ENUM_VALUE_CASE(CV_CFL_ARM_WMMX, "ARM WMMX")
PRINT_ENUM_VALUE_CASE(CV_CFL_ARM7, "ARM 7")
PRINT_ENUM_VALUE_CASE(CV_CFL_OMNI, "Omni")
PRINT_ENUM_VALUE_CASE(CV_CFL_IA64, "IA64")
PRINT_ENUM_VALUE_CASE(CV_CFL_IA64_2, "IA64-2")
PRINT_ENUM_VALUE_CASE(CV_CFL_CEE, "CEE")
PRINT_ENUM_VALUE_CASE(CV_CFL_AM33, "AM33")
PRINT_ENUM_VALUE_CASE(CV_CFL_M32R, "M32R")
PRINT_ENUM_VALUE_CASE(CV_CFL_TRICORE, "TriCore")
PRINT_ENUM_VALUE_CASE(CV_CFL_X64, "X64")
PRINT_ENUM_VALUE_CASE(CV_CFL_EBC, "EBC")
PRINT_ENUM_VALUE_CASE(CV_CFL_THUMB, "Thumb")
PRINT_ENUM_VALUE_CASE(CV_CFL_ARMNT, "ARM NT")
#if (_MSC_FULL_VER >= 180031101)
PRINT_ENUM_VALUE_CASE(CV_CFL_ARM64)
PRINT_ENUM_VALUE_CASE(CV_CFL_ARM64, "ARM 64")
#endif
PRINT_ENUM_VALUE_CASE(CV_CFL_D3D11_SHADER)
PRINT_ENUM_VALUE_CASE(CV_CFL_D3D11_SHADER, "D3D11 Shader")
}
outs() << " {" << llvm::format_hex((DWORD)CpuType, 2, true) << "}";
return Stream;
@ -141,35 +141,35 @@ raw_ostream &llvm::operator<<(raw_ostream &Stream, CV_CPU_TYPE_e CpuType) {
raw_ostream &llvm::operator<<(raw_ostream &Stream,
MachineTypeEnum MachineType) {
switch (MachineType) {
PRINT_ENUM_VALUE_CASE(MachineTypeUnknown)
PRINT_ENUM_VALUE_CASE(MachineTypeX86)
PRINT_ENUM_VALUE_CASE(MachineTypeR3000)
PRINT_ENUM_VALUE_CASE(MachineTypeR4000)
PRINT_ENUM_VALUE_CASE(MachineTypeR10000)
PRINT_ENUM_VALUE_CASE(MachineTypeWCEMIPSv2)
PRINT_ENUM_VALUE_CASE(MachineTypeAlpha)
PRINT_ENUM_VALUE_CASE(MachineTypeSH3)
PRINT_ENUM_VALUE_CASE(MachineTypeSH3DSP)
PRINT_ENUM_VALUE_CASE(MachineTypeSH3E)
PRINT_ENUM_VALUE_CASE(MachineTypeSH4)
PRINT_ENUM_VALUE_CASE(MachineTypeSH5)
PRINT_ENUM_VALUE_CASE(MachineTypeArm)
PRINT_ENUM_VALUE_CASE(MachineTypeThumb)
PRINT_ENUM_VALUE_CASE(MachineTypeArmNT)
PRINT_ENUM_VALUE_CASE(MachineTypeAM33)
PRINT_ENUM_VALUE_CASE(MachineTypePowerPC)
PRINT_ENUM_VALUE_CASE(MachineTypePowerPCFP)
PRINT_ENUM_VALUE_CASE(MachineTypeIa64)
PRINT_ENUM_VALUE_CASE(MachineTypeMips16)
PRINT_ENUM_VALUE_CASE(MachineTypeAlpha64)
PRINT_ENUM_VALUE_CASE(MachineTypeMipsFpu)
PRINT_ENUM_VALUE_CASE(MachineTypeMipsFpu16)
PRINT_ENUM_VALUE_CASE(MachineTypeTriCore)
PRINT_ENUM_VALUE_CASE(MachineTypeCEF)
PRINT_ENUM_VALUE_CASE(MachineTypeEBC)
PRINT_ENUM_VALUE_CASE(MachineTypeAmd64)
PRINT_ENUM_VALUE_CASE(MachineTypeM32R)
PRINT_ENUM_VALUE_CASE(MachineTypeCEE)
PRINT_ENUM_VALUE_CASE(MachineTypeUnknown, "Unknown")
PRINT_ENUM_VALUE_CASE(MachineTypeX86, "x86")
PRINT_ENUM_VALUE_CASE(MachineTypeR3000, "R3000")
PRINT_ENUM_VALUE_CASE(MachineTypeR4000, "R4000")
PRINT_ENUM_VALUE_CASE(MachineTypeR10000, "R10000")
PRINT_ENUM_VALUE_CASE(MachineTypeWCEMIPSv2, "WCE MIPSv2")
PRINT_ENUM_VALUE_CASE(MachineTypeAlpha, "Alpha")
PRINT_ENUM_VALUE_CASE(MachineTypeSH3, "SH3")
PRINT_ENUM_VALUE_CASE(MachineTypeSH3DSP, "SH3-DSP")
PRINT_ENUM_VALUE_CASE(MachineTypeSH3E, "SH3-E")
PRINT_ENUM_VALUE_CASE(MachineTypeSH4, "SH4")
PRINT_ENUM_VALUE_CASE(MachineTypeSH5, "SH5")
PRINT_ENUM_VALUE_CASE(MachineTypeArm, "ARM")
PRINT_ENUM_VALUE_CASE(MachineTypeThumb, "Thumb")
PRINT_ENUM_VALUE_CASE(MachineTypeArmNT, "ARM NT")
PRINT_ENUM_VALUE_CASE(MachineTypeAM33, "AM33")
PRINT_ENUM_VALUE_CASE(MachineTypePowerPC, "PowerPC")
PRINT_ENUM_VALUE_CASE(MachineTypePowerPCFP, "PowerPC FP")
PRINT_ENUM_VALUE_CASE(MachineTypeIa64, "IA 64")
PRINT_ENUM_VALUE_CASE(MachineTypeMips16, "MIPS 16")
PRINT_ENUM_VALUE_CASE(MachineTypeAlpha64, "Alpha 64")
PRINT_ENUM_VALUE_CASE(MachineTypeMipsFpu, "FPU")
PRINT_ENUM_VALUE_CASE(MachineTypeMipsFpu16, "FPU 16")
PRINT_ENUM_VALUE_CASE(MachineTypeTriCore, "TriCore")
PRINT_ENUM_VALUE_CASE(MachineTypeCEF, "CEF")
PRINT_ENUM_VALUE_CASE(MachineTypeEBC, "EBC")
PRINT_ENUM_VALUE_CASE(MachineTypeAmd64, "x64")
PRINT_ENUM_VALUE_CASE(MachineTypeM32R, "M32R")
PRINT_ENUM_VALUE_CASE(MachineTypeCEE, "CEE")
}
outs() << " {" << llvm::format_hex((DWORD)MachineType, 2, true) << "}";
return Stream;