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> LinkedObjects; +private: bool ProcessAllSections = false; };