Skip to content

Conversation

akoeplinger
Copy link
Member

Backport of #119260 to release/8.0-staging

Customer Impact

  • Customer reported
  • Found internally

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

  • Yes
  • No

Testing

Building locally and on CI.

Risk

Low. This just adds additional checks to use the new name for the compiler option.

… 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)
(cherry picked from commit f08548f)
@Copilot Copilot AI review requested due to automatic review settings September 3, 2025 09:46
@akoeplinger akoeplinger changed the title [maccatalyst] Check for -Wno-overriding-option for compatibility with clang in Xcode 16.3+ [release/8.0-staging][maccatalyst] Check for -Wno-overriding-option for compatibility with clang in Xcode 16.3+ Sep 3, 2025
@akoeplinger
Copy link
Member Author

Infrastructure/build-only change necessary to build the runtime on newer macOS/Xcode versions, tell-mode, applying servicing-approved.

@akoeplinger akoeplinger added the Servicing-approved Approved for servicing release label Sep 3, 2025
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds compatibility for newer versions of clang in Xcode 16.3+ by checking for the renamed compiler option -Wno-overriding-option while maintaining backward compatibility with the older -Wno-overriding-t-option.

Key changes:

  • Implements feature detection to check which compiler warning flag is supported
  • Adds fallback logic to handle both old and new clang option names
  • Removes hardcoded usage of the old option name

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
src/mono/mono.proj Removes hardcoded -Wno-overriding-t-option flag that was causing build failures
src/mono/CMakeLists.txt Adds runtime detection for both -Wno-overriding-option and -Wno-overriding-t-option compiler flags
eng/native/configurecompiler.cmake Implements similar compiler flag detection and updates link options to use the detected flag

@akoeplinger akoeplinger merged commit 7442eca into dotnet:release/8.0-staging Sep 4, 2025
183 of 185 checks passed
@akoeplinger akoeplinger deleted the 8.0-fix-maccatalyst branch September 4, 2025 11:00
@github-actions github-actions bot locked and limited conversation to collaborators Oct 5, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Servicing-approved Approved for servicing release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants