diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2023-04-17 17:14:23 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2023-06-22 18:22:20 +0000 |
commit | 1ac55f4cb0001fed92329746c730aa9a947c09a5 (patch) | |
tree | 78b2d7f739b7a4b29aa297366416bf701b6ebde8 /contrib/llvm-project/llvm/lib/ExecutionEngine/Orc | |
parent | bdd1243df58e60e85101c09001d9812a789b6bc4 (diff) | |
parent | 8a37c71e9d8855c91b9ef296ed389248f960bb52 (diff) |
Diffstat (limited to 'contrib/llvm-project/llvm/lib/ExecutionEngine/Orc')
-rw-r--r-- | contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/Layer.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/Layer.cpp b/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/Layer.cpp index 95380d912392..3368d3276cb3 100644 --- a/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/Layer.cpp +++ b/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/Layer.cpp @@ -125,6 +125,10 @@ void IRMaterializationUnit::discard(const JITDylib &JD, assert(!I->second->isDeclaration() && "Discard should only apply to definitions"); I->second->setLinkage(GlobalValue::AvailableExternallyLinkage); + // According to the IR verifier, "Declaration[s] may not be in a Comdat!" + // Remove it, if this is a GlobalObject. + if (auto *GO = dyn_cast<GlobalObject>(I->second)) + GO->setComdat(nullptr); SymbolToDefinition.erase(I); } |