From fb54a703876e2e8e709d595076ae6ecf527b096b Mon Sep 17 00:00:00 2001 From: Sarah Spall Date: Wed, 5 Nov 2025 08:24:55 -0800 Subject: [PATCH 1/2] enable wconversion by default and add test --- clang/lib/Driver/ToolChains/HLSL.cpp | 4 ++++ clang/lib/Driver/ToolChains/HLSL.h | 1 + clang/test/Driver/HLSL/wconversion.hlsl | 7 +++++++ 3 files changed, 12 insertions(+) create mode 100644 clang/test/Driver/HLSL/wconversion.hlsl diff --git a/clang/lib/Driver/ToolChains/HLSL.cpp b/clang/lib/Driver/ToolChains/HLSL.cpp index 8d3fba7137c7c..5d7221b8718a9 100644 --- a/clang/lib/Driver/ToolChains/HLSL.cpp +++ b/clang/lib/Driver/ToolChains/HLSL.cpp @@ -567,3 +567,7 @@ bool HLSLToolChain::isLastJob(DerivedArgList &Args, // output to the result file. return true; } + +void HLSLToolChain::addClangWarningOptions(ArgStringList &CC1Args) const { + CC1Args.push_back("-Wconversion"); +} diff --git a/clang/lib/Driver/ToolChains/HLSL.h b/clang/lib/Driver/ToolChains/HLSL.h index 3aed904648429..7590659cf22a7 100644 --- a/clang/lib/Driver/ToolChains/HLSL.h +++ b/clang/lib/Driver/ToolChains/HLSL.h @@ -91,6 +91,7 @@ class LLVM_LIBRARY_VISIBILITY HLSLToolChain : public ToolChain { // Set default DWARF version to 4 for DXIL uses version 4. unsigned GetDefaultDwarfVersion() const override { return 4; } + void addClangWarningOptions(llvm::opt::ArgStringList &CC1Args) const override; private: mutable std::unique_ptr Validator; mutable std::unique_ptr MetalConverter; diff --git a/clang/test/Driver/HLSL/wconversion.hlsl b/clang/test/Driver/HLSL/wconversion.hlsl new file mode 100644 index 0000000000000..1857a3dfe386e --- /dev/null +++ b/clang/test/Driver/HLSL/wconversion.hlsl @@ -0,0 +1,7 @@ +// RUN: %clang_dxc -T lib_6_7 %s -### %s 2>&1 | FileCheck %s --check-prefixes=CONV +// RUN: %clang_dxc -T lib_6_7 -Wno-conversion %s -### %s 2>&1 | FileCheck %s --check-prefixes=NOCONV + +// make sure we generate -Wconversion by default +// CONV: "-Wconversion" +// make sure -Wno-conversion still works +// NOCONV: "-Wno-conversion" From e21a984fe9ef40fffb0c2c91a8dd5f3955f54753 Mon Sep 17 00:00:00 2001 From: Sarah Spall Date: Wed, 5 Nov 2025 11:15:57 -0800 Subject: [PATCH 2/2] format --- clang/lib/Driver/ToolChains/HLSL.h | 1 + 1 file changed, 1 insertion(+) diff --git a/clang/lib/Driver/ToolChains/HLSL.h b/clang/lib/Driver/ToolChains/HLSL.h index 7590659cf22a7..5bf385e13e962 100644 --- a/clang/lib/Driver/ToolChains/HLSL.h +++ b/clang/lib/Driver/ToolChains/HLSL.h @@ -92,6 +92,7 @@ class LLVM_LIBRARY_VISIBILITY HLSLToolChain : public ToolChain { unsigned GetDefaultDwarfVersion() const override { return 4; } void addClangWarningOptions(llvm::opt::ArgStringList &CC1Args) const override; + private: mutable std::unique_ptr Validator; mutable std::unique_ptr MetalConverter;