summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2016-04-26 01:27:54 +0000
committerLang Hames <lhames@gmail.com>2016-04-26 01:27:54 +0000
commit2bcc9ad88c05a8008750e8e5d95c629664f09f51 (patch)
tree8580de34af2cacc29119ed3b90f45d596c01bdc2
parent9a6a8eaf070d5a55ab8bc5d0a91ed0070bf1cc0c (diff)
downloadbcm5719-llvm-2bcc9ad88c05a8008750e8e5d95c629664f09f51.tar.gz
bcm5719-llvm-2bcc9ad88c05a8008750e8e5d95c629664f09f51.zip
[ORC] Try to work around a GCC 4.7 bug triggered by r267457.
llvm-svn: 267510
-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