OrcJIT: Try to appease msc18 to add move constructor in FullyPartitionedModule .
authorNAKAMURA Takumi <geek4civic@gmail.com>
Tue, 17 Feb 2015 12:52:58 +0000 (12:52 +0000)
committerNAKAMURA Takumi <geek4civic@gmail.com>
Tue, 17 Feb 2015 12:52:58 +0000 (12:52 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229492 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/ExecutionEngine/Orc/IndirectionUtils.h

index 72cf335cac7b49d14a66ed17ba71bf97cb843282..9436b82528efa651c5ba960b04114a3159adbe1f 100644 (file)
@@ -225,10 +225,16 @@ typedef std::map<Module*, DenseSet<const GlobalValue*>> ModulePartitionMap;
 void partition(Module &M, const ModulePartitionMap &PMap);
 
 /// @brief Struct for trivial "complete" partitioning of a module.
 void partition(Module &M, const ModulePartitionMap &PMap);
 
 /// @brief Struct for trivial "complete" partitioning of a module.
-struct FullyPartitionedModule {
+class FullyPartitionedModule {
+public:
   std::unique_ptr<Module> GlobalVars;
   std::unique_ptr<Module> Commons;
   std::vector<std::unique_ptr<Module>> Functions;
   std::unique_ptr<Module> GlobalVars;
   std::unique_ptr<Module> Commons;
   std::vector<std::unique_ptr<Module>> 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);
 };
 
 FullyPartitionedModule fullyPartition(Module &M);