[Orc] Add move ops for OrcRemoteTargetClient and OrcRemoteTargetServer to
authorLang Hames <lhames@gmail.com>
Tue, 19 Apr 2016 20:22:50 +0000 (20:22 +0000)
committerLang Hames <lhames@gmail.com>
Tue, 19 Apr 2016 20:22:50 +0000 (20:22 +0000)
appease MSVC.

llvm-svn: 266812

llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h

index 9ecf904..a3964c5 100644 (file)
@@ -37,6 +37,25 @@ template <typename ChannelT>
 class OrcRemoteTargetClient : public OrcRemoteTargetRPCAPI {
 public:
 
+  // FIXME: Remove move/copy ops once MSVC supports synthesizing move ops.
+
+  OrcRemoteTargetClient(const OrcRemoteTargetClient&) = delete;
+  OrcRemoteTargetClient& operator=(const OrcRemoteTargetClient&) = delete;
+
+  OrcRemoteTargetClient(OrcRemoteTargetClient &&Other)
+    : Channel(Other.Channel),
+      ExistingError(std::move(Other.ExistingError)),
+      RemoteTargetTriple(std::move(Other.RemoteTargetTriple)),
+      RemotePointerSize(std::move(Other.RemotePointerSize)),
+      RemotePageSize(std::move(Other.RemotePageSize)),
+      RemoteTrampolineSize(std::move(Other.RemoteTrampolineSize)),
+      RemoteIndirectStubSize(std::move(Other.RemoteIndirectStubSize)),
+      AllocatorIds(std::move(Other.AllocatorIds)),
+      IndirectStubOwnerIds(std::move(Other.IndirectStubOwnerIds)),
+      CompileCallback(std::move(Other.CompileCallback)) {}
+
+  OrcRemoteTargetClient& operator=(OrcRemoteTargetClient&&) = delete;
+
   /// Remote memory manager.
   class RCMemoryManager : public RuntimeDyld::MemoryManager {
   public:
index 68bc860..88d3adb 100644 (file)
@@ -45,6 +45,18 @@ public:
         EHFramesRegister(std::move(EHFramesRegister)),
         EHFramesDeregister(std::move(EHFramesDeregister)) {}
 
+  // FIXME: Remove move/copy ops once MSVC supports synthesizing move ops.
+  OrcRemoteTargetServer(const OrcRemoteTargetServer&) = delete;
+  OrcRemoteTargetServer& operator=(const OrcRemoteTargetServer&) = delete;
+
+  OrcRemoteTargetServer(OrcRemoteTargetServer &&Other)
+    : Channel(Other.Channel),
+      SymbolLookup(std::move(Other.SymbolLookup)),
+      EHFramesRegister(std::move(Other.EHFramesRegister)),
+      EHFramesDeregister(std::move(Other.EHFramesDeregister)) {}
+
+  OrcRemoteTargetServer& operator=(OrcRemoteTargetServer&&) = delete;
+
   std::error_code handleKnownFunction(JITFuncId Id) {
     typedef OrcRemoteTargetServer ThisT;