diff options
Diffstat (limited to 'llvm/tools/llvm-readobj/COFFDumper.cpp')
-rw-r--r-- | llvm/tools/llvm-readobj/COFFDumper.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/llvm/tools/llvm-readobj/COFFDumper.cpp b/llvm/tools/llvm-readobj/COFFDumper.cpp index 0949436a8f3..fccfd465c57 100644 --- a/llvm/tools/llvm-readobj/COFFDumper.cpp +++ b/llvm/tools/llvm-readobj/COFFDumper.cpp @@ -63,7 +63,7 @@ public: friend class COFFObjectDumpDelegate; COFFDumper(const llvm::object::COFFObjectFile *Obj, ScopedPrinter &Writer) : ObjDumper(Writer), Obj(Obj), - CVTD(Writer, opts::CodeViewSubsectionBytes) {} + CVTD(&Writer, opts::CodeViewSubsectionBytes) {} void printFileHeaders() override; void printSections() override; @@ -1495,13 +1495,10 @@ void llvm::dumpCodeViewMergedTypes( // Flatten it first, then run our dumper on it. ListScope S(Writer, "MergedTypeStream"); SmallString<0> Buf; - CVTypes.ForEachRecord([&](TypeIndex TI, MemoryTypeTableBuilder::Record *R) { - // The record data doesn't include the 16 bit size. - Buf.push_back(R->size() & 0xff); - Buf.push_back((R->size() >> 8) & 0xff); - Buf.append(R->data(), R->data() + R->size()); + CVTypes.ForEachRecord([&](TypeIndex TI, StringRef Record) { + Buf.append(Record.begin(), Record.end()); }); - CVTypeDumper CVTD(Writer, opts::CodeViewSubsectionBytes); + CVTypeDumper CVTD(&Writer, opts::CodeViewSubsectionBytes); if (!CVTD.dump({Buf.str().bytes_begin(), Buf.str().bytes_end()})) { Writer.flush(); error(object_error::parse_failed); |