summaryrefslogtreecommitdiffstats
path: root/llvm/tools
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/tools')
-rw-r--r--llvm/tools/llvm-pdbdump/LLVMOutputStyle.cpp8
-rw-r--r--llvm/tools/llvm-pdbdump/LLVMOutputStyle.h1
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;
};
}
OpenPOWER on IntegriCloud