OrcJIT: Try to appease msc18 to add move constructor in FullyPartitionedModule .
[oota-llvm.git] / 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.
-struct FullyPartitionedModule {
+class FullyPartitionedModule {
+public:
   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);