[Orc] Fix MSVC bugs introduced in r250749.
authorLang Hames <lhames@gmail.com>
Mon, 19 Oct 2015 23:23:17 +0000 (23:23 +0000)
committerLang Hames <lhames@gmail.com>
Mon, 19 Oct 2015 23:23:17 +0000 (23:23 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250758 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h

index a72805d2af9633b634f301eecc2fd7e53534ee1f..e71e66e212755ba88d3d886d72e25bf7f705ee97 100644 (file)
@@ -67,13 +67,20 @@ private:
     std::set<const Function*> StubsToClone;
     std::unique_ptr<IndirectStubsMgrT> StubsMgr;
 
     std::set<const Function*> StubsToClone;
     std::unique_ptr<IndirectStubsMgrT> StubsMgr;
 
-    LogicalModuleResources() {}
+    LogicalModuleResources() = default;
 
     // Explicit move constructor to make MSVC happy.
 
     // Explicit move constructor to make MSVC happy.
-    LogicalModuleResources(LogicalModuleResources &&Other) = default;
+    LogicalModuleResources(LogicalModuleResources &&Other)
+        : SourceModule(std::move(Other.SourceModule)),
+          StubsToClone(std::move(Other.StubsToClone)),
+          StubsMgr(std::move(Other.StubsMgr)) {}
 
     // Explicit move assignment to make MSVC happy.
 
     // Explicit move assignment to make MSVC happy.
-    LogicalModuleResources& operator=(LogicalModuleResources &&Other) = default;
+    LogicalModuleResources& operator=(LogicalModuleResources &&Other) {
+      SourceModule = std::move(Other.SourceModule);
+      StubsToClone = std::move(Other.StubsToClone);
+      StubsMgr = std::move(Other.StubsMgr);
+    }
 
     JITSymbol findSymbol(StringRef Name, bool ExportedSymbolsOnly) {
       if (Name.endswith("$stub_ptr") && !ExportedSymbolsOnly) {
 
     JITSymbol findSymbol(StringRef Name, bool ExportedSymbolsOnly) {
       if (Name.endswith("$stub_ptr") && !ExportedSymbolsOnly) {