diff options
| author | Lang Hames <lhames@gmail.com> | 2016-04-26 01:27:54 +0000 |
|---|---|---|
| committer | Lang Hames <lhames@gmail.com> | 2016-04-26 01:27:54 +0000 |
| commit | 2bcc9ad88c05a8008750e8e5d95c629664f09f51 (patch) | |
| tree | 8580de34af2cacc29119ed3b90f45d596c01bdc2 | |
| parent | 9a6a8eaf070d5a55ab8bc5d0a91ed0070bf1cc0c (diff) | |
| download | bcm5719-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.h | 13 |
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(); } |

