Browse Source

[tooling] Fix assertion on MacOSX.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@374478 91177308-0d34-0410-b5e6-96231b3b80d8
Michael Liao 5 years ago
parent
commit
e4a195cf1a
1 changed files with 6 additions and 1 deletions
  1. 6 1
      lib/Tooling/Tooling.cpp

+ 6 - 1
lib/Tooling/Tooling.cpp

@@ -106,7 +106,12 @@ static const llvm::opt::ArgStringList *getCC1Arguments(
         // compilation, device compilation only option, such as
         // compilation, device compilation only option, such as
         // `--cuda-device-only`, needs specifying.
         // `--cuda-device-only`, needs specifying.
         assert(Actions.size() == 2);
         assert(Actions.size() == 2);
-        assert(isa<driver::CompileJobAction>(Actions.front()));
+        assert(
+            isa<driver::CompileJobAction>(Actions.front()) ||
+            // On MacOSX real actions may end up being wrapped in
+            // BindArchAction.
+            (isa<driver::BindArchAction>(Actions.front()) &&
+             isa<driver::CompileJobAction>(*Actions.front()->input_begin())));
         OffloadCompilation = true;
         OffloadCompilation = true;
         break;
         break;
       }
       }