summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-objcopy/COFF/COFFObjcopy.cpp
diff options
context:
space:
mode:
authorJordan Rupprecht <rupprecht@google.com>2019-01-30 14:36:53 +0000
committerJordan Rupprecht <rupprecht@google.com>2019-01-30 14:36:53 +0000
commit307deab40a0f454a0cd77bb142a3e98b2dbe2b8b (patch)
tree5066a1ee5372677780331badf5db0a3288505d14 /llvm/tools/llvm-objcopy/COFF/COFFObjcopy.cpp
parentc6ed77812b340c6368b843e4288fa41f077ed852 (diff)
downloadbcm5719-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.cpp11
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
OpenPOWER on IntegriCloud