Author: Justin Bogner Date: 2023-08-17T16:19:09-07:00 New Revision: be5c8dea1e1de5df98df656c6e4c92a3f6682661
URL: https://github.com/llvm/llvm-project/commit/be5c8dea1e1de5df98df656c6e4c92a3f6682661 DIFF: https://github.com/llvm/llvm-project/commit/be5c8dea1e1de5df98df656c6e4c92a3f6682661.diff LOG: [Driver][DXC] Accept debug flags (/Zi and /Qembed_debug) This adds /Zi handling and explicitly ignores /Qembed_debug, which should make our command line handling compatible enough with dxc that we can share logic on compiler explorer. Differential Revision: https://reviews.llvm.org/D158113 Added: clang/test/Driver/dxc_debug.hlsl Modified: clang/include/clang/Driver/Options.td Removed: ################################################################################ diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td index 0ef80dafd0586b..0e02b6c754d9d8 100644 --- a/clang/include/clang/Driver/Options.td +++ b/clang/include/clang/Driver/Options.td @@ -7869,7 +7869,7 @@ def _SLASH_ZH_SHA1 : CLFlag<"ZH:SHA1">, def _SLASH_ZH_SHA_256 : CLFlag<"ZH:SHA_256">, HelpText<"Use SHA256 for file checksums in debug info">, Alias<gsrc_hash_EQ>, AliasArgs<["sha256"]>; -def _SLASH_Zi : CLFlag<"Zi">, Alias<g_Flag>, +def _SLASH_Zi : CLFlag<"Zi", [CLOption, DXCOption]>, Alias<g_Flag>, HelpText<"Like /Z7">; def _SLASH_Zp : CLJoined<"Zp">, HelpText<"Set default maximum struct packing alignment">, @@ -8202,3 +8202,6 @@ def dxc_validator_path_EQ : Joined<["--"], "dxv-path=">, Group<dxc_Group>, HelpText<"DXIL validator installation path">; def dxc_disable_validation : DXCFlag<"Vd">, HelpText<"Disable validation">; +def : Option<["/", "-"], "Qembed_debug", KIND_FLAG>, Group<dxc_Group>, + Flags<[Ignored, NoXarchOption]>, Visibility<[DXCOption]>, + HelpText<"Embed PDB in shader container (ignored)">; diff --git a/clang/test/Driver/dxc_debug.hlsl b/clang/test/Driver/dxc_debug.hlsl new file mode 100644 index 00000000000000..9e207da85d5de8 --- /dev/null +++ b/clang/test/Driver/dxc_debug.hlsl @@ -0,0 +1,14 @@ +// RUN: %clang_dxc -Tlib_6_7 -### -g %s 2>&1 | FileCheck %s +// RUN: %clang_dxc -Tlib_6_7 -### /Zi %s 2>&1 | FileCheck %s +// RUN: %clang_dxc -Tlib_6_7 -### /Zi /Qembed_debug %s 2>&1 | FileCheck %s +// RUN: %clang_dxc -Tlib_6_7 -### -Zi %s 2>&1 | FileCheck %s +// RUN: %clang_dxc -Tlib_6_7 -### -Zi -Qembed_debug %s 2>&1 | FileCheck %s +// RUN: %clang_dxc -Tlib_6_7 -### -Zi -gcodeview %s 2>&1 | FileCheck %s -check-prefixes=CHECK,CHECK-CV +// RUN: %clang_dxc -Tlib_6_7 -### -Zi -gdwarf %s 2>&1 | FileCheck %s -check-prefixes=CHECK,CHECK-DWARF +// RUN: %clang_dxc -Tlib_6_7 -### -gcodeview -Zi %s 2>&1 | FileCheck %s -check-prefixes=CHECK,CHECK-CV +// RUN: %clang_dxc -Tlib_6_7 -### -gdwarf -Zi %s 2>&1 | FileCheck %s -check-prefixes=CHECK,CHECK-DWARF + +// CHECK: "-cc1" +// CHECK-CV-SAME: -gcodeview +// CHECK-SAME: "-debug-info-kind=constructor" +// CHECK-DWARF-SAME: -dwarf-version _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits