Resubmit "[pdb] Change type visitor pattern to be dynamic."
There was a regression introduced during type stream merging when
visiting a field list record. This has been fixed in this patch.
llvm-svn: 272929
diff --git a/llvm/tools/llvm-pdbdump/LLVMOutputStyle.cpp b/llvm/tools/llvm-pdbdump/LLVMOutputStyle.cpp
index 4df324f..2ae63e0 100644
--- a/llvm/tools/llvm-pdbdump/LLVMOutputStyle.cpp
+++ b/llvm/tools/llvm-pdbdump/LLVMOutputStyle.cpp
@@ -328,8 +328,10 @@
for (auto &Type : Tpi->types(&HadError)) {
DictScope DD(P, "");
- if (DumpRecords)
- TD.dump(Type);
+ if (DumpRecords) {
+ if (auto EC = TD.dump(Type))
+ return EC;
+ }
if (DumpRecordBytes)
P.printBinaryBlock("Bytes", Type.Data);
@@ -347,8 +349,10 @@
TD.setPrinter(nullptr);
bool HadError = false;
- for (auto &Type : Tpi->types(&HadError))
- TD.dump(Type);
+ for (auto &Type : Tpi->types(&HadError)) {
+ if (auto EC = TD.dump(Type))
+ return EC;
+ }
TD.setPrinter(OldP);
dumpTpiHash(P, *Tpi);