diff --git a/llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp b/llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp --- a/llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp +++ b/llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp @@ -128,6 +128,7 @@ } auto &ES = JD.getExecutionSession(); + Error E = Error::success(); if (auto CtorDtorMap = ES.lookup(JITDylibSearchList({{&JD, true}}), std::move(Names), NoDependenciesToRegister, true)) { @@ -139,13 +140,12 @@ CtorDtor(); } } - return Error::success(); } else - return CtorDtorMap.takeError(); + E = CtorDtorMap.takeError(); CtorDtorsByPriority.clear(); - return Error::success(); + return E; } void LocalCXXRuntimeOverridesBase::runDestructors() {