diff options
Diffstat (limited to 'unittests/ExecutionEngine/Orc/OrcTestCommon.h')
-rw-r--r-- | unittests/ExecutionEngine/Orc/OrcTestCommon.h | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/unittests/ExecutionEngine/Orc/OrcTestCommon.h b/unittests/ExecutionEngine/Orc/OrcTestCommon.h index d7049ef00e6d1..6c6b4918c2053 100644 --- a/unittests/ExecutionEngine/Orc/OrcTestCommon.h +++ b/unittests/ExecutionEngine/Orc/OrcTestCommon.h @@ -119,19 +119,21 @@ public: RemoveModuleFtor &&RemoveModule, FindSymbolFtor &&FindSymbol, FindSymbolInFtor &&FindSymbolIn) - : AddModule(AddModule), RemoveModule(RemoveModule), - FindSymbol(FindSymbol), FindSymbolIn(FindSymbolIn) + : AddModule(std::move(AddModule)), + RemoveModule(std::move(RemoveModule)), + FindSymbol(std::move(FindSymbol)), + FindSymbolIn(std::move(FindSymbolIn)) {} template <typename ModuleT, typename MemoryManagerPtrT, typename SymbolResolverPtrT> - ModuleHandleT addModule(ModuleT Ms, MemoryManagerPtrT MemMgr, - SymbolResolverPtrT Resolver) { + Expected<ModuleHandleT> addModule(ModuleT Ms, MemoryManagerPtrT MemMgr, + SymbolResolverPtrT Resolver) { return AddModule(std::move(Ms), std::move(MemMgr), std::move(Resolver)); } - void removeModule(ModuleHandleT H) { - RemoveModule(H); + Error removeModule(ModuleHandleT H) { + return RemoveModule(H); } JITSymbol findSymbol(const std::string &Name, bool ExportedSymbolsOnly) { @@ -169,15 +171,24 @@ createMockBaseLayer(AddModuleFtor &&AddModule, std::forward<FindSymbolInFtor>(FindSymbolIn)); } + +class ReturnNullJITSymbol { +public: + template <typename... Args> + JITSymbol operator()(Args...) const { + return nullptr; + } +}; + template <typename ReturnT> class DoNothingAndReturn { public: - DoNothingAndReturn(ReturnT Val) : Val(Val) {} + DoNothingAndReturn(ReturnT Ret) : Ret(std::move(Ret)) {} template <typename... Args> - ReturnT operator()(Args...) const { return Val; } + void operator()(Args...) const { return Ret; } private: - ReturnT Val; + ReturnT Ret; }; template <> |