diff options
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 |