From 7dd18d77b310b9396b4052340575f73f419eeada Mon Sep 17 00:00:00 2001 From: Dan Jump Date: Thu, 29 Oct 2026 08:03:03 -0700 Subject: [PATCH 1/3] Catch strict warning regressions in CI Build the cppwinrt compiler with all warnings enabled while retaining the existing warnings-as-errors policy across every configuration. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 8b45cfea-cc0f-4a1f-8b2a-86c89d063c6c Hostname: DanJump0 --- cppwinrt/cppwinrt.vcxproj | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/cppwinrt/cppwinrt.vcxproj b/cppwinrt/cppwinrt.vcxproj index 3efa7a64c..1aeafd0d9 100644 --- a/cppwinrt/cppwinrt.vcxproj +++ b/cppwinrt/cppwinrt.vcxproj @@ -176,7 +176,7 @@ Disabled ..\inc;$(OutputPath);$(WinMDPackageDir); MultiThreadedDebug - Level4 + EnableAllWarnings true @@ -195,7 +195,7 @@ Disabled ..\inc;$(OutputPath);$(WinMDPackageDir); MultiThreadedDebug - Level4 + EnableAllWarnings true @@ -214,7 +214,7 @@ Disabled ..\inc;$(OutputPath);$(WinMDPackageDir); MultiThreadedDebug - Level4 + EnableAllWarnings true @@ -236,7 +236,7 @@ ..\inc;$(OutputPath);$(WinMDPackageDir); MultiThreaded Guard - Level4 + EnableAllWarnings true @@ -261,7 +261,7 @@ ..\inc;$(OutputPath);$(WinMDPackageDir); MultiThreaded Guard - Level4 + EnableAllWarnings true @@ -286,7 +286,7 @@ ..\inc;$(OutputPath);$(WinMDPackageDir); MultiThreaded Guard - Level4 + EnableAllWarnings true From 687be84f33b71c26b64a099bf152d2b81a1cd506 Mon Sep 17 00:00:00 2001 From: Dan Jump Date: Thu, 29 Oct 2026 11:15:51 -0700 Subject: [PATCH 2/3] Compile validation projects with strict warnings Apply all-warnings and warnings-as-errors after project-local settings, and enable the override throughout the Windows CI matrix so generated headers are compiled under the stricter policy. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 8b45cfea-cc0f-4a1f-8b2a-86c89d063c6c Hostname: DanJump0 --- .github/workflows/ci.yml | 8 ++++---- Directory.Build.targets | 10 ++++++++++ 2 files changed, 14 insertions(+), 4 deletions(-) create mode 100644 Directory.Build.targets diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5e2677fed..731c6a4a7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -45,7 +45,7 @@ jobs: $target_configuration = "${{ matrix.config }}" $target_platform = "${{ matrix.arch }}" $target_version = "999.999.999.999" - $props = "Configuration=$target_configuration,Platform=$target_platform,CppWinRTBuildVersion=$target_version" + $props = "Configuration=$target_configuration,Platform=$target_platform,CppWinRTBuildVersion=$target_version,CppWinRTEnableAllWarnings=true" if ("${{ matrix.compiler }}" -eq "clang-cl") { $props += ",Clang=1,PlatformToolset=ClangCl" } else { @@ -146,7 +146,7 @@ jobs: $target_configuration = "${{ matrix.config }}" $target_platform = "${{ matrix.arch }}" $target_version = "999.999.999.999" - $props = "Configuration=$target_configuration,Platform=$target_platform,CppWinRTBuildVersion=$target_version" + $props = "Configuration=$target_configuration,Platform=$target_platform,CppWinRTBuildVersion=$target_version,CppWinRTEnableAllWarnings=true" if ("${{ matrix.compiler }}" -eq "clang-cl") { $props += ",Clang=1,PlatformToolset=ClangCl" } else { @@ -315,7 +315,7 @@ jobs: $target_configuration = "${{ matrix.config }}" $target_platform = "${{ matrix.arch }}" $target_version = "999.999.999.999" - Add-Content $env:GITHUB_ENV "msbuild_config_props=/p:Configuration=$target_configuration,Platform=$target_platform,CppWinRTBuildVersion=$target_version,PlatformToolset=v145" + Add-Content $env:GITHUB_ENV "msbuild_config_props=/p:Configuration=$target_configuration,Platform=$target_platform,CppWinRTBuildVersion=$target_version,CppWinRTEnableAllWarnings=true,PlatformToolset=v145" - name: Restore nuget packages run: | @@ -364,7 +364,7 @@ jobs: $target_configuration = "${{ matrix.config }}" $target_platform = "${{ matrix.arch }}" $target_version = "999.999.999.999" - Add-Content $env:GITHUB_ENV "msbuild_config_props=/p:Configuration=$target_configuration,Platform=$target_platform,CppWinRTBuildVersion=$target_version,PlatformToolset=${{ matrix.toolchain.platform_toolset }}" + Add-Content $env:GITHUB_ENV "msbuild_config_props=/p:Configuration=$target_configuration,Platform=$target_platform,CppWinRTBuildVersion=$target_version,CppWinRTEnableAllWarnings=true,PlatformToolset=${{ matrix.toolchain.platform_toolset }}" - name: Restore nuget packages run: | diff --git a/Directory.Build.targets b/Directory.Build.targets new file mode 100644 index 000000000..44a4d87c3 --- /dev/null +++ b/Directory.Build.targets @@ -0,0 +1,10 @@ + + + + + EnableAllWarnings + true + + + + From 548a327dca79a62373a6de795560fb92c22b0ebc Mon Sep 17 00:00:00 2001 From: Dan Jump Date: Thu, 29 Oct 2026 11:50:54 -0700 Subject: [PATCH 3/3] Collect strict warning output without failing CI Keep all warnings enabled across validation projects but temporarily disable warnings-as-errors so the complete warning inventory can be assessed before deciding which diagnostics to fix or suppress. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 8b45cfea-cc0f-4a1f-8b2a-86c89d063c6c Hostname: DanJump0 --- Directory.Build.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Directory.Build.targets b/Directory.Build.targets index 44a4d87c3..a7de1e4e1 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -3,7 +3,7 @@ EnableAllWarnings - true + false