diff options
Diffstat (limited to 'llvm/lib/ExecutionEngine/Orc/Core.cpp')
-rw-r--r-- | llvm/lib/ExecutionEngine/Orc/Core.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/llvm/lib/ExecutionEngine/Orc/Core.cpp b/llvm/lib/ExecutionEngine/Orc/Core.cpp index 5d28c882076..53e4a853b35 100644 --- a/llvm/lib/ExecutionEngine/Orc/Core.cpp +++ b/llvm/lib/ExecutionEngine/Orc/Core.cpp @@ -196,13 +196,14 @@ void AsynchronousSymbolQuery::handleFailed(Error Err) { assert(QueryRegistrations.empty() && ResolvedSymbols.empty() && NotYetResolvedCount == 0 && NotYetReadyCount == 0 && "Query should already have been abandoned"); - if (NotifySymbolsResolved) + if (NotifySymbolsResolved) { NotifySymbolsResolved(std::move(Err)); - else { + NotifySymbolsResolved = SymbolsResolvedCallback(); + } else { assert(NotifySymbolsReady && "Failed after both callbacks issued?"); NotifySymbolsReady(std::move(Err)); - NotifySymbolsReady = SymbolsReadyCallback(); } + NotifySymbolsReady = SymbolsReadyCallback(); } void AsynchronousSymbolQuery::addQueryDependence(VSO &V, SymbolStringPtr Name) { |