nixpkgs/pkgs/development/interpreters/cling/fix-llvm-include.patch
2023-04-15 02:45:35 -07:00

28 lines
1.2 KiB
Diff

diff --git a/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h b/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h
index 16202d8..3afdac3 100644
--- a/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h
+++ b/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h
@@ -220,7 +220,7 @@ public:
Error removeModule(VModuleKey K) {
auto I = ModuleMap.find(K);
assert(I != ModuleMap.end() && "VModuleKey K not valid here");
- auto EDM = std::move(I.second);
+ auto EDM = std::move(I->second);
ModuleMap.erase(I);
return EDM->removeModuleFromBaseLayer(BaseLayer);
}
diff --git a/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h b/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
index d9535ce..4c688c3 100644
--- a/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
+++ b/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
@@ -472,7 +472,9 @@ private:
// NB! `LinkedObjects` needs to be destroyed before `NotifyFreed` because
// `~ConcreteLinkedObject` calls `NotifyFreed`
+protected:
std::map<VModuleKey, std::unique_ptr<LinkedObject>> LinkedObjects;
+private:
bool ProcessAllSections = false;
};