summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h b/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
index 75bda1d589f..4ba41e3d2c9 100644
--- a/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
+++ b/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
@@ -742,11 +742,16 @@ private:
if (ExistingError)
return std::move(ExistingError);
+ // FIXME: CompileCallback could be an anonymous lambda defined at the use
+ // site below, but that triggers a GCC 4.7 ICE. When we move off
+ // GCC 4.7, tidy this up.
+ auto CompileCallback =
+ [this](TargetAddress Addr) -> Expected<TargetAddress> {
+ return this->CallbackManager->executeCompileCallback(Addr);
+ };
+
if (Id == RequestCompileId) {
- if (auto Err = handle<RequestCompile>(
- C, [&](TargetAddress Addr) -> Expected<TargetAddress> {
- return CallbackManager->executeCompileCallback(Addr);
- }))
+ if (auto Err = handle<RequestCompile>(C, CompileCallback))
return Err;
return Error::success();
}
OpenPOWER on IntegriCloud