diff options
| author | Lang Hames <lhames@gmail.com> | 2016-08-30 21:29:48 +0000 |
|---|---|---|
| committer | Lang Hames <lhames@gmail.com> | 2016-08-30 21:29:48 +0000 |
| commit | a9c929e18f37474960a151f82db2876ce860ff85 (patch) | |
| tree | ef884dec6f0fb2acf4460059378632fd313c9092 /llvm | |
| parent | 6d54d55648ec92dd589f043a5d471232197e5ad5 (diff) | |
| download | bcm5719-llvm-a9c929e18f37474960a151f82db2876ce860ff85.tar.gz bcm5719-llvm-a9c929e18f37474960a151f82db2876ce860ff85.zip | |
[ORC][RPC] Fix some bugs in the callB primitive.
Still no unit test due to synchronization bugs on s390. These issues were
discovered in an out-of-tree utility.
llvm-svn: 280163
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/include/llvm/ExecutionEngine/Orc/RPCUtils.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/include/llvm/ExecutionEngine/Orc/RPCUtils.h b/llvm/include/llvm/ExecutionEngine/Orc/RPCUtils.h index 2e7b7b8b25c..f061fff405b 100644 --- a/llvm/include/llvm/ExecutionEngine/Orc/RPCUtils.h +++ b/llvm/include/llvm/ExecutionEngine/Orc/RPCUtils.h @@ -536,13 +536,13 @@ public: /// handling responses and incoming calls. template <typename Func, typename... ArgTs> typename Func::ErrorReturn callB(ChannelT &C, const ArgTs &... Args) { - if (auto FutureResOrErr = callNBWithSeq(C, Args...)) { + if (auto FutureResOrErr = callNBWithSeq<Func>(C, Args...)) { if (auto Err = C.send()) { abandonOutstandingResults(); - Func::consumeAbandoned(*FutureResOrErr); + Func::consumeAbandoned(FutureResOrErr->first); return std::move(Err); } - return FutureResOrErr->get(); + return FutureResOrErr->first.get(); } else return FutureResOrErr.takeError(); } |

