diff options
Diffstat (limited to 'llvm/lib/ExecutionEngine/Orc/Core.cpp')
-rw-r--r-- | llvm/lib/ExecutionEngine/Orc/Core.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/llvm/lib/ExecutionEngine/Orc/Core.cpp b/llvm/lib/ExecutionEngine/Orc/Core.cpp index 4c1ed18d4d1..2733528790d 100644 --- a/llvm/lib/ExecutionEngine/Orc/Core.cpp +++ b/llvm/lib/ExecutionEngine/Orc/Core.cpp @@ -40,14 +40,28 @@ void AsynchronousSymbolQuery::setDefinition(SymbolStringPtr Name, if (OutstandingResolutions == 0) return; + assert(NotifySymbolsResolved && "Notify callback not set"); + + errs() + << "OutstandingResolutions = " << OutstandingResolutions << "\n" + << "OutstandingFinalizations = " << OutstandingFinalizations << "\n" + << "Symbols.size() = " << Symbols.size() << "\n" + << "Symbols.count(Name) = " << Symbols.count(Name) << "\n"; + assert(!Symbols.count(Name) && "Symbol has already been assigned an address"); + errs() << "Past assert\n"; Symbols.insert(std::make_pair(std::move(Name), std::move(Sym))); + errs() << "Past insert\n"; --OutstandingResolutions; + errs() << "Past subtract\n"; if (OutstandingResolutions == 0) { + errs() << "Past test\n"; NotifySymbolsResolved(std::move(Symbols)); // Null out NotifySymbolsResolved to indicate that we've already called it. + errs() << "Past callback\n"; NotifySymbolsResolved = {}; + errs() << "Past callback-reset\n"; } } |