[llvm] r267510 - [ORC] Try to work around a GCC 4.7 bug triggered by r267457.

Lang Hames via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 25 18:27:54 PDT 2016


Author: lhames
Date: Mon Apr 25 20:27:54 2016
New Revision: 267510

URL: http://llvm.org/viewvc/llvm-project?rev=267510&view=rev
Log:
[ORC] Try to work around a GCC 4.7 bug triggered by r267457.


Modified:
    llvm/trunk/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h

Modified: llvm/trunk/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h?rev=267510&r1=267509&r2=267510&view=diff
==============================================================================
--- llvm/trunk/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h (original)
+++ llvm/trunk/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h Mon Apr 25 20:27:54 2016
@@ -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();
     }




More information about the llvm-commits mailing list