Uh oh!
There was an error while loading. Please reload this page.
[release/9.0-staging][maccatalyst] Check for -Wno-overriding-option for compatibility with clang in Xcode 16.3+ - #119301
Conversation
… clang in Xcode 16.3+ (dotnet#119260) llvm/llvm-project@1c66d08 renamed the option `-Wno-overriding-t-option` to `-Wno-overriding-option`. This caused some configure time checks in CMake to fail because of hitting an unknown compiler option. (cherry picked from commit 4b8a478)
akoeplinger
commented
Sep 3, 2025
Infrastructure/build-only change necessary to build the runtime on newer macOS/Xcode versions, tell-mode, applying servicing-approved. |
There was a problem hiding this comment.
Pull Request Overview
This PR fixes Mac Catalyst builds with newer Xcode versions (16.3+) by updating compiler flag compatibility checks. The issue occurs because clang renamed the -Wno-overriding-t-option flag to -Wno-overriding-option, causing CMake configure checks to fail with unknown compiler options.
Key changes:
- Removes hardcoded compiler flag that may not be supported in newer clang versions
- Adds runtime detection logic to test for both old and new compiler flag names
- Implements fallback mechanism with proper error handling for unsupported compilers
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| src/mono/mono.proj | Removes hardcoded -Wno-overriding-t-option flag that breaks with newer clang |
| src/mono/CMakeLists.txt | Adds Mac Catalyst compiler flag detection with fallback support |
| eng/native/configurecompiler.cmake | Implements dynamic compiler flag detection and fixes typo in comment |
Comments suppressed due to low confidence (1)
eng/native/configurecompiler.cmake:669
- Fixed typo in comment: changed '-tagret' to '-target'.
# We need to disable the warning that -target replaces -mmacosx-version-min
akoeplinger
commented
Sep 4, 2025
/ba-g wasm failure is not related to the changes which only apply to MacCatalyst |
89f3ed1
into
dotnet:release/9.0-stagingUh oh!
There was an error while loading. Please reload this page.
Backport of #119260 to release/9.0-staging
Customer Impact
This just affects the runtime build when using newer Xcode and caused some configure time checks in CMake to fail because of hitting an unknown compiler option, which breaks the build.
Regression
Testing
Building locally and on CI.
Risk
Low. This just adds additional checks to use the new name for the compiler option.