summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-readobj/COFFDumper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/tools/llvm-readobj/COFFDumper.cpp')
-rw-r--r--llvm/tools/llvm-readobj/COFFDumper.cpp11
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);
OpenPOWER on IntegriCloud