Skip to content

Commit

Permalink
[ORC] Preserve Materializing symbol flag during resolution.
Browse files Browse the repository at this point in the history
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@332899 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
lhames committed May 21, 2018
1 parent 8b040c4 commit d9367a9
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions lib/ExecutionEngine/Orc/Core.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -456,9 +456,10 @@ void VSO::resolve(const SymbolMap &Resolved) {
"Resolved flags should match the declared flags");

// Once resolved, symbols can never be weak.
Sym.getFlags() = static_cast<JITSymbolFlags::FlagNames>(
Sym.getFlags() & ~JITSymbolFlags::Weak);
I->second = Sym;
JITSymbolFlags ResolvedFlags = Sym.getFlags();
ResolvedFlags &= ~JITSymbolFlags::Weak;
ResolvedFlags |= JITSymbolFlags::Materializing;
I->second = JITEvaluatedSymbol(Sym.getAddress(), ResolvedFlags);

auto &MI = MaterializingInfos[Name];
for (auto &Q : MI.PendingQueries) {
Expand Down

0 comments on commit d9367a9

Please sign in to comment.