From c8aa5492f90b9cbb9187c2bef7894e13e6e39213 Mon Sep 17 00:00:00 2001 From: Lang Hames Date: Sat, 9 Jan 2016 22:05:08 +0000 Subject: [PATCH] [Orc] Fix MSVC build errors due to r257265 by adding explicit move construction and assignment to LogicalDylibResources. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@257269 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../ExecutionEngine/Orc/CompileOnDemandLayer.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h b/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h index 0eb8693df42..fcb036fa371 100644 --- a/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h +++ b/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h @@ -128,6 +128,22 @@ private: std::unique_ptr)> ModuleAdderFtor; + LogicalDylibResources() = default; + + // Explicit move constructor to make MSVC happy. + LogicalDylibResources(LogicalDylibResources &&Other) + : ExternalSymbolResolver(std::move(Other.ExternalSymbolResolver)), + MemMgr(std::move(Other.MemMgr)), + ModuleAdder(std::move(Other.ModuleAdder)) {} + + // Explicit move assignment operator to make MSVC happy. + LogicalDylibResources& operator=(LogicalDylibResources &&Other) { + ExternalSymbolResolver = std::move(Other.ExternalSymbolResolver); + MemMgr = std::move(Other.MemMgr); + ModuleAdder = std::move(Other.ModuleAdder); + return *this; + } + SymbolResolverFtor ExternalSymbolResolver; std::unique_ptr> MemMgr; ModuleAdderFtor ModuleAdder; -- 2.34.1