-
Notifications
You must be signed in to change notification settings - Fork 150
Open
Description
Environment
- Xcode 26.2 (Build 17C52)
- macOS 26.2 (Build 25C56)
- Building from an Xcode project that pulls mlx-swift via SwiftPM
mlx-swift revision
- main @ b2796b8 (from Package.resolved)
What happens
During a clean build, the Metal compilation for the generated Steel attention kernels emits warnings like this (seen on both macOS and iOS Simulator builds):
In file included from /tmp/LocalAIChat-DD-macOS/SourcePackages/checkouts/mlx-swift/Source/Cmlx/mlx-generated/metal/steel/attn/kernels/steel_attention.metal:7:
/tmp/LocalAIChat-DD-macOS/SourcePackages/checkouts/mlx-swift/Source/Cmlx/mlx-generated/metal/steel/attn/kernels/../../../steel/attn/kernels/steel_attention.h:349:16: warning: constexpr if is a C++17 extension [-Wc++17-extensions]
if constexpr (is_bool) {
^
/tmp/LocalAIChat-DD-macOS/SourcePackages/checkouts/mlx-swift/Source/Cmlx/mlx-generated/metal/steel/attn/kernels/../../../steel/attn/kernels/steel_attention.h:419:14: warning: constexpr if is a C++17 extension [-Wc++17-extensions]
if constexpr (BD == 128) {
^
/tmp/LocalAIChat-DD-macOS/SourcePackages/checkouts/mlx-swift/Source/Cmlx/mlx-generated/metal/steel/attn/kernels/../../../steel/attn/kernels/steel_attention.h:429:14: warning: constexpr if is a C++17 extension [-Wc++17-extensions]
if constexpr (BD == 128) {
^
3 warnings generated.
Repro
- Build any Xcode project that depends on mlx-swift at the revision above.
- For example (from my app project):
xcodebuild -project "Local AI Chat.xcodeproj" -scheme "Seek Deep Local AI" -destination "generic/platform=macOS" -derivedDataPath /tmp/LocalAIChat-DD-macOS -quiet clean buildxcodebuild -project "Local AI Chat.xcodeproj" -scheme "Seek Deep Local AI" -destination "generic/platform=iOS Simulator" -derivedDataPath /tmp/LocalAIChat-DD-iOS -quiet clean build
Question
Is there an intended way to silence/avoid these warnings under Xcode 26.2 (e.g. Metal language standard flags), or should the generated MSL headers avoid using if constexpr?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels