Enable llvm-pdbutil to list enumerations using native PDB reader
authorAdrian McCarthy <amccarth@google.com>
Fri, 4 Aug 2017 22:37:58 +0000 (22:37 +0000)
committerAdrian McCarthy <amccarth@google.com>
Fri, 4 Aug 2017 22:37:58 +0000 (22:37 +0000)
commitb41f03e768282b44519d7cce763e1879b02b8471
tree5c7c2da8635b279796609d62b31737851e5ebcf9
parent886b30c4fffe8367214de3121aac7bde184b6bef
Enable llvm-pdbutil to list enumerations using native PDB reader

This extends the native reader to enable llvm-pdbutil to list the enums in a
PDB and it includes a simple test. It does not yet list the values in the
enumerations, which requires an actual implementation of
NativeEnumSymbol::FindChildren.

To exercise this code, use a command like:

    llvm-pdbutil pretty -native -enums foo.pdb

Differential Revision: https://reviews.llvm.org/D35738

llvm-svn: 310144
llvm/include/llvm/DebugInfo/PDB/Native/NativeEnumSymbol.h [new file with mode: 0644]
llvm/include/llvm/DebugInfo/PDB/Native/NativeEnumTypes.h [new file with mode: 0644]
llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h
llvm/include/llvm/DebugInfo/PDB/PDBSymbol.h
llvm/lib/DebugInfo/PDB/CMakeLists.txt
llvm/lib/DebugInfo/PDB/Native/NativeEnumSymbol.cpp [new file with mode: 0644]
llvm/lib/DebugInfo/PDB/Native/NativeEnumTypes.cpp [new file with mode: 0644]
llvm/lib/DebugInfo/PDB/Native/NativeExeSymbol.cpp
llvm/lib/DebugInfo/PDB/Native/NativeSession.cpp
llvm/test/DebugInfo/PDB/Native/pdb-native-enums.test [new file with mode: 0644]
llvm/tools/llvm-pdbutil/PrettyEnumDumper.cpp