-
Notifications
You must be signed in to change notification settings - Fork 844
DirectXShaderCompiler vendored in SDL_shadercross fails to build with Xcode 26.4 / Apple clang 21 on macOS #8306
Copy link
Copy link
Open
Description
Hi,
I am hitting a build failure in the vendored external/DirectXShaderCompiler when building SDL_shadercross on macOS with the current Xcode. I have replaced the with the current head from microsoft/DirectXShaderCompiler but that did not fix the issue.
Environment:
- macOS on Apple Silicon
- Xcode 26.4
- Apple clang 21.0.0
- SDK: MacOSX26.4.sdk
- SDL_shadercross 3a31448
- DirectXShaderCompiler 67a8e24
I have SDL_shadercross vendored in my game engine. The build fails while compiling vendor/SDL_shadercross/external/DirectXShaderCompiler/... sources, with errors coming from include/llvm/ADT/StringRef.h.
Representative error:
/Users/frank/Projects/bms/adventurer/vendor/SDL_shadercross/external/DirectXShaderCompiler/include/llvm/ADT/StringRef.h:579:10: error: 'is_nothrow_constructible' cannot be specialized: Users are not allowed to specialize this standard library entity [-Winvalid-specialization]
579 | struct is_nothrow_constructible <std::string, llvm::StringRef>
| ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.4.sdk/usr/include/c++/v1/__type_traits/is_nothrow_constructible.h:23:8: note: marked '_Clang::no_specializations' here
23 | struct _LIBCPP_NO_SPECIALIZATIONS is_nothrow_constructible
|
I see the same error for:
- is_nothrow_constructible<std::string, llvm::StringRef>
- is_nothrow_constructible<std::string, llvm::StringRef &>
- is_nothrow_constructible<std::string, const llvm::StringRef &>
This appears to be caused by newer libc++ in Xcode 26.4 rejecting specialization of this standard library trait.
Full log: https://pastebin.com/XKX67V5N
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels