diff options
| author | Jordan Rupprecht <rupprecht@google.com> | 2019-01-30 14:36:53 +0000 |
|---|---|---|
| committer | Jordan Rupprecht <rupprecht@google.com> | 2019-01-30 14:36:53 +0000 |
| commit | 307deab40a0f454a0cd77bb142a3e98b2dbe2b8b (patch) | |
| tree | 5066a1ee5372677780331badf5db0a3288505d14 /llvm/tools/llvm-objcopy/COFF/COFFObjcopy.cpp | |
| parent | c6ed77812b340c6368b843e4288fa41f077ed852 (diff) | |
| download | bcm5719-llvm-307deab40a0f454a0cd77bb142a3e98b2dbe2b8b.tar.gz bcm5719-llvm-307deab40a0f454a0cd77bb142a3e98b2dbe2b8b.zip | |
[llvm-objcopy][NFC] More error propagation
Summary: Do some more error cleanup, removing some dependencies from llvm-objcopy's error/reportError in [ELF/COFF]Objcopy methods.
Reviewers: jhenderson, alexshap, jakehehrlich, mstorsjo, espindola
Subscribers: emaste, arichardson
Differential Revision: https://reviews.llvm.org/D57423
llvm-svn: 352625
Diffstat (limited to 'llvm/tools/llvm-objcopy/COFF/COFFObjcopy.cpp')
| -rw-r--r-- | llvm/tools/llvm-objcopy/COFF/COFFObjcopy.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/llvm/tools/llvm-objcopy/COFF/COFFObjcopy.cpp b/llvm/tools/llvm-objcopy/COFF/COFFObjcopy.cpp index cf7e2ae0891..c12bb3454de 100644 --- a/llvm/tools/llvm-objcopy/COFF/COFFObjcopy.cpp +++ b/llvm/tools/llvm-objcopy/COFF/COFFObjcopy.cpp @@ -188,19 +188,20 @@ static Error handleArgs(const CopyConfig &Config, Object &Obj) { return Error::success(); } -void executeObjcopyOnBinary(const CopyConfig &Config, - COFFObjectFile &In, Buffer &Out) { +Error executeObjcopyOnBinary(const CopyConfig &Config, COFFObjectFile &In, + Buffer &Out) { COFFReader Reader(In); Expected<std::unique_ptr<Object>> ObjOrErr = Reader.create(); if (!ObjOrErr) - reportError(Config.InputFilename, ObjOrErr.takeError()); + return createFileError(Config.InputFilename, ObjOrErr.takeError()); Object *Obj = ObjOrErr->get(); assert(Obj && "Unable to deserialize COFF object"); if (Error E = handleArgs(Config, *Obj)) - reportError(Config.InputFilename, std::move(E)); + return createFileError(Config.InputFilename, std::move(E)); COFFWriter Writer(*Obj, Out); if (Error E = Writer.write()) - reportError(Config.OutputFilename, std::move(E)); + return createFileError(Config.OutputFilename, std::move(E)); + return Error::success(); } } // end namespace coff |

