diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-08-01 18:31:17 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-08-01 18:31:17 +0000 |
commit | e192341de79c1454d70767e99f084944b8a1c1a2 (patch) | |
tree | cc4d8798d6e075ce6ff4f9fefafc489c79e1d38f /llvm/tools/lli/lli.cpp | |
parent | 87c2b605f5862edeeaa3f5b2f1674e3071e8e99c (diff) | |
download | bcm5719-llvm-e192341de79c1454d70767e99f084944b8a1c1a2.tar.gz bcm5719-llvm-e192341de79c1454d70767e99f084944b8a1c1a2.zip |
Use object::Archive::create instead of new object::Archive.
Also fix the error handling. No testcaes, issue found by inspection.
Thanks to David Blaikie for the suggestion.
llvm-svn: 214535
Diffstat (limited to 'llvm/tools/lli/lli.cpp')
-rw-r--r-- | llvm/tools/lli/lli.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/llvm/tools/lli/lli.cpp b/llvm/tools/lli/lli.cpp index f566bf7457d..fda55e4b575 100644 --- a/llvm/tools/lli/lli.cpp +++ b/llvm/tools/lli/lli.cpp @@ -544,15 +544,14 @@ int main(int argc, char **argv, char * const *envp) { Err.print(argv[0], errs()); return 1; } - std::error_code EC; - std::unique_ptr<object::Archive> Ar = - llvm::make_unique<object::Archive>(std::move(ArBuf.get()), EC); - assert(Ar); - if (EC) { - Err.print(argv[0], errs()); + + ErrorOr<std::unique_ptr<object::Archive>> ArOrErr = + object::Archive::create(std::move(ArBuf.get())); + if (std::error_code EC = ArOrErr.getError()) { + errs() << EC.message(); return 1; } - EE->addArchive(std::move(Ar)); + EE->addArchive(std::move(ArOrErr.get())); } // If the target is Cygwin/MingW and we are generating remote code, we |