summaryrefslogtreecommitdiffstats
path: root/lld
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2017-05-19 19:26:58 +0000
committerZachary Turner <zturner@google.com>2017-05-19 19:26:58 +0000
commit526f4f2aa8d810d9cffafda56d4a16d0fc5a8dda (patch)
treea40646ce244afe4ffbad44fff1a34580f2b6c9c5 /lld
parentd837b0f9b9399aa6ab2f86babb22774d4fb1f8d2 (diff)
downloadbcm5719-llvm-526f4f2aa8d810d9cffafda56d4a16d0fc5a8dda.tar.gz
bcm5719-llvm-526f4f2aa8d810d9cffafda56d4a16d0fc5a8dda.zip
Resubmit "[CodeView] Provide a common interface for type collections."
This was originally reverted because it was a breaking a bunch of bots and the breakage was not surfacing on Windows. After much head-scratching this was ultimately traced back to a bug in the lit test runner related to its pipe handling. Now that the bug in lit is fixed, Windows correctly reports these test failures, and as such I have finally (hopefully) fixed all of them in this patch. llvm-svn: 303446
Diffstat (limited to 'lld')
-rw-r--r--lld/COFF/PDB.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/lld/COFF/PDB.cpp b/lld/COFF/PDB.cpp
index 631fee12b88..0266148cc6c 100644
--- a/lld/COFF/PDB.cpp
+++ b/lld/COFF/PDB.cpp
@@ -14,7 +14,8 @@
#include "SymbolTable.h"
#include "Symbols.h"
#include "llvm/DebugInfo/CodeView/CVDebugRecord.h"
-#include "llvm/DebugInfo/CodeView/CVTypeDumper.h"
+#include "llvm/DebugInfo/CodeView/CVTypeVisitor.h"
+#include "llvm/DebugInfo/CodeView/LazyRandomTypeCollection.h"
#include "llvm/DebugInfo/CodeView/SymbolDumper.h"
#include "llvm/DebugInfo/CodeView/TypeDatabase.h"
#include "llvm/DebugInfo/CodeView/TypeDumpVisitor.h"
@@ -134,12 +135,11 @@ static void dumpDebugT(ScopedPrinter &W, ObjectFile *File) {
if (Data.empty())
return;
- TypeDatabase TDB(0);
- TypeDumpVisitor TDV(TDB, &W, false);
+ LazyRandomTypeCollection Types(Data, 100);
+ TypeDumpVisitor TDV(Types, &W, false);
// Use a default implementation that does not follow type servers and instead
// just dumps the contents of the TypeServer2 record.
- CVTypeDumper TypeDumper(TDB);
- if (auto EC = TypeDumper.dump(Data, TDV))
+ if (auto EC = codeview::visitTypeStream(Types, TDV))
fatal(EC, "CVTypeDumper::dump failed");
}
OpenPOWER on IntegriCloud