[llvm] r266812 - [Orc] Add move ops for OrcRemoteTargetClient and OrcRemoteTargetServer to

Lang Hames via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 19 13:22:50 PDT 2016


Author: lhames
Date: Tue Apr 19 15:22:50 2016
New Revision: 266812

URL: http://llvm.org/viewvc/llvm-project?rev=266812&view=rev
Log:
[Orc] Add move ops for OrcRemoteTargetClient and OrcRemoteTargetServer to
appease MSVC.


Modified:
    llvm/trunk/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
    llvm/trunk/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h

Modified: llvm/trunk/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h?rev=266812&r1=266811&r2=266812&view=diff
==============================================================================
--- llvm/trunk/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h (original)
+++ llvm/trunk/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h Tue Apr 19 15:22:50 2016
@@ -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:

Modified: llvm/trunk/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h?rev=266812&r1=266811&r2=266812&view=diff
==============================================================================
--- llvm/trunk/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h (original)
+++ llvm/trunk/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h Tue Apr 19 15:22:50 2016
@@ -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;
 




More information about the llvm-commits mailing list