Index: lib/ExecutionEngine/MCJIT/MCJIT.cpp =================================================================== --- lib/ExecutionEngine/MCJIT/MCJIT.cpp +++ lib/ExecutionEngine/MCJIT/MCJIT.cpp @@ -321,13 +321,15 @@ raw_string_ostream MangledNameStream(MangledName); Mangler::getNameWithPrefix(MangledNameStream, Name, getDataLayout()); } - if (auto Sym = findSymbol(MangledName, CheckFunctionsOnly)) { + auto Sym = findSymbol(MangledName, CheckFunctionsOnly); + if (Sym) { if (auto AddrOrErr = Sym.getAddress()) return *AddrOrErr; else report_fatal_error(AddrOrErr.takeError()); - } else - report_fatal_error(Sym.takeError()); + } else if (auto err = Sym.takeError()) + report_fatal_error(std::move(err)); + return 0; } JITSymbol MCJIT::findSymbol(const std::string &Name,