From: Lang Hames Date: Wed, 8 Feb 2017 00:13:51 +0000 (+0000) Subject: [Orc][RPC] Add a HandlerTratis specialization for free functions. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9e328120c0cfecc8d040390889d0aefbbdd08b8b;p=llvm [Orc][RPC] Add a HandlerTratis specialization for free functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@294392 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/ExecutionEngine/Orc/RPCUtils.h b/include/llvm/ExecutionEngine/Orc/RPCUtils.h index c0ea94897be..be620d4f0d7 100644 --- a/include/llvm/ExecutionEngine/Orc/RPCUtils.h +++ b/include/llvm/ExecutionEngine/Orc/RPCUtils.h @@ -417,6 +417,11 @@ private: } }; +// Handler traits for free functions. +template +class HandlerTraits + : public HandlerTraits {}; + // Handler traits for class methods (especially call operators for lambdas). template class HandlerTraits diff --git a/unittests/ExecutionEngine/Orc/RPCUtilsTest.cpp b/unittests/ExecutionEngine/Orc/RPCUtilsTest.cpp index d21a4acc08d..71de38db442 100644 --- a/unittests/ExecutionEngine/Orc/RPCUtilsTest.cpp +++ b/unittests/ExecutionEngine/Orc/RPCUtilsTest.cpp @@ -145,6 +145,15 @@ private: }; +void freeVoidBool(bool B) { +}; + +TEST(DummyRPC, TestFreeFunctionHandler) { + Queue Q1, Q2; + DummyRPCEndpoint Server(Q2, Q1); + Server.addHandler(freeVoidBool); +}; + TEST(DummyRPC, TestAsyncVoidBool) { Queue Q1, Q2; DummyRPCEndpoint Client(Q1, Q2);