Skip to content

[ET][Windows] Relax -Werror for ExecuTorch CPU kernels on the Windows host#20949

Open
SS-JIA wants to merge 1 commit into
gh/SS-JIA/574/basefrom
gh/SS-JIA/574/head
Open

[ET][Windows] Relax -Werror for ExecuTorch CPU kernels on the Windows host#20949
SS-JIA wants to merge 1 commit into
gh/SS-JIA/574/basefrom
gh/SS-JIA/574/head

Conversation

@SS-JIA

@SS-JIA SS-JIA commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Stack from ghstack (oldest at bottom):

The arvr Windows clang toolchain enables a stricter -Werror warning set than the sanctioned ET build platforms, and vendored third-party headers that ExecuTorch does not own trip it. VMA's vk_mem_alloc.h hits -Werror,-Winconsistent-missing-destructor-override, and PyTorch's ATen/cpu/vec/vec_base.h uses #if __GNUC__ <= 12 without defined(__GNUC__), hitting -Werror,-Wundef. Because the offending code is in vendored headers we cannot patch, this disables warnings-as-errors for the affected compiles, scoped to ovr_config//os:windows only, so the clang target compiles are relaxed while the MSVC host tools and all non-Windows platforms are untouched.

backends/vulkan/targets.bzl adds -Wno-error to the Vulkan targets (VMA header). The CPU-kernel build is split across four independent macros/targets, each of which includes the ATen vec headers and so needs the same relaxation: kernels/portable/op_registration_util.bzl, kernels/optimized/op_registration_util.bzl, the binary_ops support library in kernels/optimized/cpu/targets.bzl, and the libblas support library in kernels/optimized/lib_defs.bzl.

Differential Revision: D112012049

[ghstack-poisoned]
@SS-JIA SS-JIA requested a review from manuelcandales as a code owner July 14, 2026 22:35
@pytorch-bot

pytorch-bot Bot commented Jul 14, 2026

Copy link
Copy Markdown

🔗 Helpful Links

🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/20949

Note: Links to docs will display an error until the docs builds have been completed.

❌ 23 New Failures

As of commit 426b782 with merge base ceecc9e (image):

NEW FAILURES - The following jobs have failed:

This comment was automatically generated by Dr. CI and updates every 15 minutes.

@github-actions

Copy link
Copy Markdown

This PR needs a release notes: label

If your change should be included in the release notes (i.e. would users of this library care about this change?), please use a label starting with release notes:. This helps us keep track and include your important work in the next release notes.

To add a label, you can comment to pytorchbot, for example
@pytorchbot label "release notes: none"

For more information, see
https://github.com/pytorch/pytorch/wiki/PyTorch-AutoLabel-Bot#why-categorize-for-release-notes-and-how-does-it-work.

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Jul 14, 2026
SS-JIA added a commit that referenced this pull request Jul 14, 2026
… host

Pull Request resolved: #20949

The arvr Windows clang toolchain enables a stricter `-Werror` warning set than the sanctioned ET build platforms, and vendored third-party headers that ExecuTorch does not own trip it. VMA's `vk_mem_alloc.h` hits `-Werror,-Winconsistent-missing-destructor-override`, and PyTorch's `ATen/cpu/vec/vec_base.h` uses `#if __GNUC__ <= 12` without `defined(__GNUC__)`, hitting `-Werror,-Wundef`. Because the offending code is in vendored headers we cannot patch, this disables warnings-as-errors for the affected compiles, scoped to `ovr_config//os:windows` only, so the clang target compiles are relaxed while the MSVC host tools and all non-Windows platforms are untouched.

`backends/vulkan/targets.bzl` adds `-Wno-error` to the Vulkan targets (VMA header). The CPU-kernel build is split across four independent macros/targets, each of which includes the ATen vec headers and so needs the same relaxation: `kernels/portable/op_registration_util.bzl`, `kernels/optimized/op_registration_util.bzl`, the `binary_ops` support library in `kernels/optimized/cpu/targets.bzl`, and the `libblas` support library in `kernels/optimized/lib_defs.bzl`.
ghstack-source-id: 402995445
@exported-using-ghexport

Differential Revision: [D112012049](https://our.internmc.facebook.com/intern/diff/D112012049/)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. meta-exported

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants