summaryrefslogtreecommitdiffstats
path: root/llvm/include
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2016-04-19 20:22:50 +0000
committerLang Hames <lhames@gmail.com>2016-04-19 20:22:50 +0000
commit40b43d7ca36e98eda8fc1b4584f8cf7bbe31fe24 (patch)
tree0f4922960013ec0abe78207369427c6f10e79169 /llvm/include
parent5ffee8d82986c4db6aeada6b115d093bf4d2b61d (diff)
downloadbcm5719-llvm-40b43d7ca36e98eda8fc1b4584f8cf7bbe31fe24.tar.gz
bcm5719-llvm-40b43d7ca36e98eda8fc1b4584f8cf7bbe31fe24.zip
[Orc] Add move ops for OrcRemoteTargetClient and OrcRemoteTargetServer to
appease MSVC. llvm-svn: 266812
Diffstat (limited to 'llvm/include')
-rw-r--r--llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h19
-rw-r--r--llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h12
2 files changed, 31 insertions, 0 deletions
diff --git a/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h b/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
index 9ecf904c9ff..a3964c5745d 100644
--- a/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
+++ b/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
@@ -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:
diff --git a/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h b/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h
index 68bc8607498..88d3adb1867 100644
--- a/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h
+++ b/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h
@@ -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;
OpenPOWER on IntegriCloud