浏览代码

[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 年之前
父节点
当前提交
e4a195cf1a
共有 1 个文件被更改,包括 6 次插入1 次删除
  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
         // `--cuda-device-only`, needs specifying.
         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;
         break;
       }