[clang] [HLSL][clang][Driver] Fix error when using the option -fcgl in --driver-mode=dxc. (PR #97001)
via cfe-commits
cfe-commits at lists.llvm.org
Thu Jun 27 21:20:11 PDT 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang-driver
Author: Xiang Li (python3kgae)
<details>
<summary>Changes</summary>
When -fcgl is set in --driver-mode=dxc, both -S and -emit-llvm are currently enabled.
This results in the following error:
```
error: '-S' action ignored; '-emit-llvm' action specified previously.
```
This change fixes the issue by not rendering -S in RenderHLSLOptions.
Additionally, a test has been added to ensure that enabling -fcgl does not trigger any diagnostics
---
Full diff: https://github.com/llvm/llvm-project/pull/97001.diff
2 Files Affected:
- (modified) clang/lib/Driver/ToolChains/Clang.cpp (-1)
- (modified) clang/test/Driver/dxc_fcgl.hlsl (+5-2)
``````````diff
diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp
index c0f6bc0c2e45a..9c959617fba98 100644
--- a/clang/lib/Driver/ToolChains/Clang.cpp
+++ b/clang/lib/Driver/ToolChains/Clang.cpp
@@ -3666,7 +3666,6 @@ static void RenderHLSLOptions(const ArgList &Args, ArgStringList &CmdArgs,
const unsigned ForwardedArguments[] = {options::OPT_dxil_validator_version,
options::OPT_D,
options::OPT_I,
- options::OPT_S,
options::OPT_O,
options::OPT_emit_llvm,
options::OPT_emit_obj,
diff --git a/clang/test/Driver/dxc_fcgl.hlsl b/clang/test/Driver/dxc_fcgl.hlsl
index cfbf2503ddaae..fe65124c197bc 100644
--- a/clang/test/Driver/dxc_fcgl.hlsl
+++ b/clang/test/Driver/dxc_fcgl.hlsl
@@ -1,6 +1,9 @@
// RUN: not %clang_dxc -fcgl -T lib_6_7 foo.hlsl -### %s 2>&1 | FileCheck %s
+// RUN: %clang_dxc -fcgl -T lib_6_7 %s -Xclang -verify
// Make sure fcgl option flag which translated into "-emit-llvm" "-disable-llvm-passes".
-// CHECK:"-S"
-// CHECK-SAME:"-emit-llvm" "-disable-llvm-passes"
+// CHECK: "-emit-llvm"
+// CHECK-SAME: "-disable-llvm-passes"
+// Make sure fcgl option not generate any diagnostics.
+// expected-no-diagnostics
``````````
</details>
https://github.com/llvm/llvm-project/pull/97001
More information about the cfe-commits
mailing list