diff options
author | Lang Hames <lhames@gmail.com> | 2016-04-19 20:22:50 +0000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2016-04-19 20:22:50 +0000 |
commit | 40b43d7ca36e98eda8fc1b4584f8cf7bbe31fe24 (patch) | |
tree | 0f4922960013ec0abe78207369427c6f10e79169 /llvm/include | |
parent | 5ffee8d82986c4db6aeada6b115d093bf4d2b61d (diff) | |
download | bcm5719-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.h | 19 | ||||
-rw-r--r-- | llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h | 12 |
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; |