diff options
author | Zachary Turner <zturner@google.com> | 2016-09-09 17:46:17 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2016-09-09 17:46:17 +0000 |
commit | c6d54da891b5b7f6634d41a1c59eab4d5e226711 (patch) | |
tree | 5d14cccb65e640255902a1280afc4ff91ee13245 /llvm/tools/llvm-readobj/llvm-readobj.cpp | |
parent | d938dfb308fe288605c6a24773ab77db8334c54a (diff) | |
download | bcm5719-llvm-c6d54da891b5b7f6634d41a1c59eab4d5e226711.tar.gz bcm5719-llvm-c6d54da891b5b7f6634d41a1c59eab4d5e226711.zip |
[pdb] Write PDB TPI Stream from Yaml.
This writes the full sequence of type records described in
Yaml to the TPI stream of the PDB file.
Reviewed By: rnk
Differential Revision: https://reviews.llvm.org/D24316
llvm-svn: 281063
Diffstat (limited to 'llvm/tools/llvm-readobj/llvm-readobj.cpp')
-rw-r--r-- | llvm/tools/llvm-readobj/llvm-readobj.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/llvm/tools/llvm-readobj/llvm-readobj.cpp b/llvm/tools/llvm-readobj/llvm-readobj.cpp index 53d6782a671..ab51b64fd8c 100644 --- a/llvm/tools/llvm-readobj/llvm-readobj.cpp +++ b/llvm/tools/llvm-readobj/llvm-readobj.cpp @@ -331,8 +331,15 @@ static bool isMipsArch(unsigned Arch) { return false; } } +namespace { +struct TypeTableBuilder { + TypeTableBuilder() : Allocator(), Builder(Allocator) {} -static llvm::codeview::MemoryTypeTableBuilder CVTypes; + llvm::BumpPtrAllocator Allocator; + llvm::codeview::MemoryTypeTableBuilder Builder; +}; +} +static TypeTableBuilder CVTypes; /// @brief Creates an format-specific object file dumper. static std::error_code createDumper(const ObjectFile *Obj, @@ -429,7 +436,7 @@ static void dumpObject(const ObjectFile *Obj) { if (opts::CodeView) Dumper->printCodeViewDebugInfo(); if (opts::CodeViewMergedTypes) - Dumper->mergeCodeViewTypes(CVTypes); + Dumper->mergeCodeViewTypes(CVTypes.Builder); } if (Obj->isMachO()) { if (opts::MachODataInCode) @@ -534,7 +541,7 @@ int main(int argc, const char *argv[]) { if (opts::CodeViewMergedTypes) { ScopedPrinter W(outs()); - dumpCodeViewMergedTypes(W, CVTypes); + dumpCodeViewMergedTypes(W, CVTypes.Builder); } return 0; |