diff options
author | Zachary Turner <zturner@google.com> | 2016-06-16 18:22:27 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2016-06-16 18:22:27 +0000 |
commit | 01ee3dae043e305adaf2f8b46dffdbfe901ce24e (patch) | |
tree | c89a93cda93a6c76eb0b6e07cef4d32d450fb9ff /llvm/tools/llvm-pdbdump/LLVMOutputStyle.cpp | |
parent | 5a07687a8e0c670352063b5eca7a4aa6baa546e5 (diff) | |
download | bcm5719-llvm-01ee3dae043e305adaf2f8b46dffdbfe901ce24e.tar.gz bcm5719-llvm-01ee3dae043e305adaf2f8b46dffdbfe901ce24e.zip |
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
Diffstat (limited to 'llvm/tools/llvm-pdbdump/LLVMOutputStyle.cpp')
-rw-r--r-- | llvm/tools/llvm-pdbdump/LLVMOutputStyle.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/llvm/tools/llvm-pdbdump/LLVMOutputStyle.cpp b/llvm/tools/llvm-pdbdump/LLVMOutputStyle.cpp index 4df324f3444..2ae63e04882 100644 --- a/llvm/tools/llvm-pdbdump/LLVMOutputStyle.cpp +++ b/llvm/tools/llvm-pdbdump/LLVMOutputStyle.cpp @@ -328,8 +328,10 @@ Error LLVMOutputStyle::dumpTpiStream(uint32_t StreamIdx) { 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 @@ Error LLVMOutputStyle::dumpTpiStream(uint32_t StreamIdx) { 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); |