From 983ff8e507f81a1586098606527b2714cc5f1c0b Mon Sep 17 00:00:00 2001 From: Lang Hames Date: Wed, 20 Jan 2016 17:39:52 +0000 Subject: [PATCH] [Orc] Fix a use-after-move bug in the Orc C-bindings stack. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@258324 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/ExecutionEngine/Orc/OrcCBindingsStack.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/ExecutionEngine/Orc/OrcCBindingsStack.h b/lib/ExecutionEngine/Orc/OrcCBindingsStack.h index aae6a99432b..3b2f9ab1cda 100644 --- a/lib/ExecutionEngine/Orc/OrcCBindingsStack.h +++ b/lib/ExecutionEngine/Orc/OrcCBindingsStack.h @@ -90,12 +90,12 @@ public: std::unique_ptr CCMgr, IndirectStubsManagerBuilder IndirectStubsMgrBuilder) : DL(TM.createDataLayout()), CCMgr(std::move(CCMgr)), + IndirectStubsMgr(IndirectStubsMgrBuilder()), ObjectLayer(), CompileLayer(ObjectLayer, orc::SimpleCompiler(TM)), CODLayer(CompileLayer, [](Function &F) { std::set S; S.insert(&F); return S; }, *this->CCMgr, std::move(IndirectStubsMgrBuilder), false), - IndirectStubsMgr(IndirectStubsMgrBuilder()), CXXRuntimeOverrides([this](const std::string &S) { return mangle(S); }) {} ~OrcCBindingsStack() { @@ -264,13 +264,13 @@ private: DataLayout DL; SectionMemoryManager CCMgrMemMgr; + std::unique_ptr IndirectStubsMgr; + std::unique_ptr CCMgr; ObjLayerT ObjectLayer; CompileLayerT CompileLayer; CODLayerT CODLayer; - std::unique_ptr IndirectStubsMgr; - std::vector> GenericHandles; std::vector FreeHandleIndexes; -- 2.11.0