Reapply r250906 with many suggested updates from Rafael Espindola.
[oota-llvm.git] / lib / ExecutionEngine / Orc / OrcMCJITReplacement.h
index d1aff5a1a0aa37160580c870db9f2255f3df4472..38a27cff5b2faf0a8f23fefcde66b3b7da3a21be 100644 (file)
@@ -252,10 +252,12 @@ private:
       object::Archive *A = OB.getBinary();
       // Look for our symbols in each Archive
       object::Archive::child_iterator ChildIt = A->findSym(Name);
+      if (std::error_code EC = ChildIt->getError())
+        report_fatal_error(EC.message());
       if (ChildIt != A->child_end()) {
         // FIXME: Support nested archives?
         ErrorOr<std::unique_ptr<object::Binary>> ChildBinOrErr =
-            ChildIt->getAsBinary();
+            (*ChildIt)->getAsBinary();
         if (ChildBinOrErr.getError())
           continue;
         std::unique_ptr<object::Binary> &ChildBin = ChildBinOrErr.get();