Skip to content

Commit d9367a9

Browse files
committed
[ORC] Preserve Materializing symbol flag during resolution.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@332899 91177308-0d34-0410-b5e6-96231b3b80d8
1 parent 8b040c4 commit d9367a9

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

lib/ExecutionEngine/Orc/Core.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -456,9 +456,10 @@ void VSO::resolve(const SymbolMap &Resolved) {
456456
"Resolved flags should match the declared flags");
457457

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

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

0 commit comments

Comments
 (0)