diff options
Diffstat (limited to 'llvm/tools/llvm-readobj/llvm-readobj.cpp')
-rw-r--r-- | llvm/tools/llvm-readobj/llvm-readobj.cpp | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/llvm/tools/llvm-readobj/llvm-readobj.cpp b/llvm/tools/llvm-readobj/llvm-readobj.cpp index 7bcdd1e..e44cbae 100644 --- a/llvm/tools/llvm-readobj/llvm-readobj.cpp +++ b/llvm/tools/llvm-readobj/llvm-readobj.cpp @@ -615,8 +615,8 @@ static void dumpMachOUniversalBinary(const MachOUniversalBinary *UBinary, } /// Dumps \a WinRes, Windows Resource (.res) file; -static void dumpWindowsResourceFile(WindowsResource *WinRes) { - ScopedPrinter Printer{outs()}; +static void dumpWindowsResourceFile(WindowsResource *WinRes, + ScopedPrinter &Printer) { WindowsRes::Dumper Dumper(WinRes, Printer); if (auto Err = Dumper.printData()) reportError(WinRes->getFileName(), std::move(Err)); @@ -624,9 +624,7 @@ static void dumpWindowsResourceFile(WindowsResource *WinRes) { /// Opens \a File and dumps it. -static void dumpInput(StringRef File) { - ScopedPrinter Writer(outs()); - +static void dumpInput(StringRef File, ScopedPrinter &Writer) { // Attempt to open the binary. Expected<OwningBinary<Binary>> BinaryOrErr = createBinary(File); if (!BinaryOrErr) @@ -643,7 +641,7 @@ static void dumpInput(StringRef File) { else if (COFFImportFile *Import = dyn_cast<COFFImportFile>(&Binary)) dumpCOFFImportFile(Import, Writer); else if (WindowsResource *WinRes = dyn_cast<WindowsResource>(&Binary)) - dumpWindowsResourceFile(WinRes); + dumpWindowsResourceFile(WinRes, Writer); else reportError(File, readobj_error::unrecognized_file_format); @@ -733,15 +731,16 @@ int main(int argc, const char *argv[]) { if (opts::InputFilenames.empty()) opts::InputFilenames.push_back("-"); - llvm::for_each(opts::InputFilenames, dumpInput); + ScopedPrinter Writer(fouts()); + for (const std::string &I : opts::InputFilenames) + dumpInput(I, Writer); if (opts::CodeViewMergedTypes) { - ScopedPrinter W(outs()); if (opts::CodeViewEnableGHash) - dumpCodeViewMergedTypes(W, CVTypes.GlobalIDTable.records(), + dumpCodeViewMergedTypes(Writer, CVTypes.GlobalIDTable.records(), CVTypes.GlobalTypeTable.records()); else - dumpCodeViewMergedTypes(W, CVTypes.IDTable.records(), + dumpCodeViewMergedTypes(Writer, CVTypes.IDTable.records(), CVTypes.TypeTable.records()); } |