diff options
Diffstat (limited to 'llvm/tools')
-rw-r--r-- | llvm/tools/llvm-pdbdump/LLVMOutputStyle.cpp | 8 | ||||
-rw-r--r-- | llvm/tools/llvm-pdbdump/LLVMOutputStyle.h | 1 |
2 files changed, 7 insertions, 2 deletions
diff --git a/llvm/tools/llvm-pdbdump/LLVMOutputStyle.cpp b/llvm/tools/llvm-pdbdump/LLVMOutputStyle.cpp index d94b398e580..8348751703f 100644 --- a/llvm/tools/llvm-pdbdump/LLVMOutputStyle.cpp +++ b/llvm/tools/llvm-pdbdump/LLVMOutputStyle.cpp @@ -459,9 +459,13 @@ Error LLVMOutputStyle::dumpTpiStream(uint32_t StreamIdx) { P.printNumber("Record count", Tpi->NumTypeRecords()); } - TypeDatabaseVisitor DBV(TypeDB); - CompactTypeDumpVisitor CTDV(TypeDB, &P); + TypeDatabase &StreamDB = (StreamIdx == StreamTPI) ? TypeDB : ItemDB; + + TypeDatabaseVisitor DBV(StreamDB); + CompactTypeDumpVisitor CTDV(StreamDB, &P); TypeDumpVisitor TDV(TypeDB, &P, false); + if (StreamIdx == StreamIPI) + TDV.setItemDB(ItemDB); RecordBytesVisitor RBV(P); TypeDeserializer Deserializer; diff --git a/llvm/tools/llvm-pdbdump/LLVMOutputStyle.h b/llvm/tools/llvm-pdbdump/LLVMOutputStyle.h index 40d37525b94..bfff3b8308d 100644 --- a/llvm/tools/llvm-pdbdump/LLVMOutputStyle.h +++ b/llvm/tools/llvm-pdbdump/LLVMOutputStyle.h @@ -52,6 +52,7 @@ private: PDBFile &File; ScopedPrinter P; codeview::TypeDatabase TypeDB; + codeview::TypeDatabase ItemDB; SmallVector<std::string, 32> StreamPurposes; }; } |