diff options
author | Zachary Turner <zturner@google.com> | 2018-09-21 22:36:04 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2018-09-21 22:36:04 +0000 |
commit | 355ffb0032182e74f64349dc7e4b941147bac2a2 (patch) | |
tree | 94e7412254a486f98b5faf0ee6e0c8ae58ead533 /llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp | |
parent | 10febb0779ec74ed9090bcc11667567910a807d5 (diff) | |
download | bcm5719-llvm-355ffb0032182e74f64349dc7e4b941147bac2a2.tar.gz bcm5719-llvm-355ffb0032182e74f64349dc7e4b941147bac2a2.zip |
[PDB] Add native reading support for UDT / class types.
This allows the native reader to find records of class/struct/
union type and dump them. This behavior is tested by using the
diadump subcommand against golden output produced by actual DIA
SDK on the same PDB file, and again using pretty -native to
confirm that we actually dump the classes. We don't find class
members or anything like that yet, for now it's just the class
itself.
llvm-svn: 342779
Diffstat (limited to 'llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp')
-rw-r--r-- | llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp b/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp index ab9b4593c2b..4ce1922a006 100644 --- a/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp +++ b/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp @@ -986,6 +986,8 @@ static void dumpDia(StringRef Path) { SymTypes.push_back(PDB_SymType::Enum); if (opts::diadump::Pointers) SymTypes.push_back(PDB_SymType::PointerType); + if (opts::diadump::UDTs) + SymTypes.push_back(PDB_SymType::UDT); PdbSymbolIdField Ids = opts::diadump::NoSymIndexIds ? PdbSymbolIdField::None : PdbSymbolIdField::All; @@ -1011,6 +1013,8 @@ static void dumpDia(StringRef Path) { outs() << "\n}\n"; } } + auto Child = Session->getSymbolById(3); + Child->defaultDump(outs(), 2, PdbSymbolIdField::All, PdbSymbolIdField::None); } static void dumpPretty(StringRef Path) { |