From 1e095bc3b499915d4ee05d5740810ed8436a958c Mon Sep 17 00:00:00 2001 From: NAKAMURA Takumi Date: Tue, 17 Feb 2015 12:52:58 +0000 Subject: [PATCH] OrcJIT: Try to appease msc18 to add move constructor in FullyPartitionedModule . git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229492 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/ExecutionEngine/Orc/IndirectionUtils.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h b/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h index 72cf335cac7..9436b82528e 100644 --- a/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h +++ b/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h @@ -225,10 +225,16 @@ typedef std::map> ModulePartitionMap; void partition(Module &M, const ModulePartitionMap &PMap); /// @brief Struct for trivial "complete" partitioning of a module. -struct FullyPartitionedModule { +class FullyPartitionedModule { +public: std::unique_ptr GlobalVars; std::unique_ptr Commons; std::vector> Functions; + + FullyPartitionedModule() = default; + FullyPartitionedModule(FullyPartitionedModule &&S) + : GlobalVars(std::move(S.GlobalVars)), Commons(std::move(S.Commons)), + Functions(std::move(S.Functions)) {} }; FullyPartitionedModule fullyPartition(Module &M);