diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td --- a/clang/include/clang/Driver/Options.td +++ b/clang/include/clang/Driver/Options.td @@ -7869,7 +7869,7 @@ def _SLASH_ZH_SHA_256 : CLFlag<"ZH:SHA_256">, HelpText<"Use SHA256 for file checksums in debug info">, Alias, AliasArgs<["sha256"]>; -def _SLASH_Zi : CLFlag<"Zi">, Alias, +def _SLASH_Zi : CLFlag<"Zi", [CLOption, DXCOption]>, Alias, HelpText<"Like /Z7">; def _SLASH_Zp : CLJoined<"Zp">, HelpText<"Set default maximum struct packing alignment">, @@ -8202,3 +8202,6 @@ HelpText<"DXIL validator installation path">; def dxc_disable_validation : DXCFlag<"Vd">, HelpText<"Disable validation">; +def : Option<["/", "-"], "Qembed_debug", KIND_FLAG>, 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 --- /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