diff options
author | Lang Hames <lhames@gmail.com> | 2016-01-20 17:39:52 +0000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2016-01-20 17:39:52 +0000 |
commit | 6c3e790e788fea0b9a40f62995c87a14f48f2e02 (patch) | |
tree | 04965a4cb9117d49b0e33096e3cac270900ce244 | |
parent | 1c600c6e83ec61a7dc2c7f2ecb720aaacb5d8c7b (diff) | |
download | bcm5719-llvm-6c3e790e788fea0b9a40f62995c87a14f48f2e02.tar.gz bcm5719-llvm-6c3e790e788fea0b9a40f62995c87a14f48f2e02.zip |
[Orc] Fix a use-after-move bug in the Orc C-bindings stack.
llvm-svn: 258324
-rw-r--r-- | llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h b/llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h index aae6a99432b..3b2f9ab1cda 100644 --- a/llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h +++ b/llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h @@ -90,12 +90,12 @@ public: std::unique_ptr<CompileCallbackMgr> CCMgr, IndirectStubsManagerBuilder IndirectStubsMgrBuilder) : DL(TM.createDataLayout()), CCMgr(std::move(CCMgr)), + IndirectStubsMgr(IndirectStubsMgrBuilder()), ObjectLayer(), CompileLayer(ObjectLayer, orc::SimpleCompiler(TM)), CODLayer(CompileLayer, [](Function &F) { std::set<Function*> 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<orc::IndirectStubsManager> IndirectStubsMgr; + std::unique_ptr<CompileCallbackMgr> CCMgr; ObjLayerT ObjectLayer; CompileLayerT CompileLayer; CODLayerT CODLayer; - std::unique_ptr<orc::IndirectStubsManager> IndirectStubsMgr; - std::vector<std::unique_ptr<GenericHandle>> GenericHandles; std::vector<unsigned> FreeHandleIndexes; |