This PR makes it possible to build the qt package with macOS 14 SDK (Xcode 15.0).
For more details, please refer to #28622.
<!--e57a25ab6845829454e8d69fc972939a-->
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
<!--006a51241073e994b41acfe9ec718e94-->
For detailed information about the code coverage, see the test coverage report.
<!--021abf342d371248e50ceaed478a90ca-->
See the guideline for information on the review process.
| Type | Reviewers |
|---|---|
| Concept NACK | fanquake |
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.
I don't understand how bumping Clang would fix building with a newer SDK? How is this related?
Concept NACK in any case, at least until we have LLVM 17 in Guix.
Yes, would be good to keep guix in sync. Otherwise the CI will be less useful. See also #28337 and #28580 (comment)
<!--9cd9c72976c961c55c7acef8f6ba82cd-->
Also, if Clang 17 is required, to compile with the Xcode 15 SDK, wouldn't that make it impossible to compile on macOS using Apple Clang, given the most recent version is only based on LLVM 16?
Also, if Clang 17 is required, to compile with the Xcode 15 SDK, wouldn't that make it impossible to compile on macOS using Apple Clang, given the most recent version is only based on LLVM 16?
From my experience, Clang 16 causes the same errors as the current Clang 15.0.6 does.
Sure, but I can currently use an Apple Clang 15.0.0 (based on LLVM 16), with the Xcode 15 SDK, and everything works ok. I still don't understand what the actual problem is, what has supposedly changed in Clang 17 that fixes it, or how Apple would have managed to change the SDK in such a way that it only works with the most recently released version of Clang.
Can you explain this change? Using a newer Xcode is one of the last the blockers for C++20.
Discussed further offline. Moving this to draft for now. As mentioned, bumping Clang isn't required to use C++20, because bitcoind and other utils can already be compiled using C++20, against the newer SDK, so the assumption is that this is something that will need to be patched in Qt?