diff options
Diffstat (limited to 'llvm/lib/ExecutionEngine/Orc')
-rw-r--r-- | llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h b/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h index 896c184d440..db7c08fa8fc 100644 --- a/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h +++ b/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h @@ -263,10 +263,13 @@ private: report_fatal_error(EC.message()); if (ChildIt != A->child_end()) { // FIXME: Support nested archives? - ErrorOr<std::unique_ptr<object::Binary>> ChildBinOrErr = + Expected<std::unique_ptr<object::Binary>> ChildBinOrErr = (*ChildIt)->getAsBinary(); - if (ChildBinOrErr.getError()) + if (!ChildBinOrErr) { + // TODO: Actually report errors helpfully. + consumeError(ChildBinOrErr.takeError()); continue; + } std::unique_ptr<object::Binary> &ChildBin = ChildBinOrErr.get(); if (ChildBin->isObject()) { std::vector<std::unique_ptr<object::ObjectFile>> ObjSet; |