Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider updating Clang to 15.0.7 #263

Open
SwooshyCueb opened this issue Dec 4, 2024 · 2 comments
Open

Consider updating Clang to 15.0.7 #263

SwooshyCueb opened this issue Dec 4, 2024 · 2 comments
Assignees

Comments

@SwooshyCueb
Copy link
Member

We currently use Clang 13.0.1, which has a number of problems we have to work around, including but not limited to:

  • Intermittent crashes when compiling C code containing variable-length arrays
  • consteval is broken
  • Incompatible with libstdc++'s coroutines

I think it makes sense to break our package version freeze to update Clang, as when we transition to using distro-provided compilers, we will almost certainly be transitioning to a version newer than 13, and updating our Clang package will make that transition easier.

Here's a table of the versions of Clang and GCC available on the distributions we support:

Distribution Distro EOL Available Clang versions (default emphasized) Available GCC versions (default emphasized)
Ubuntu 20.04 2025-04 6.0.1, 7.0.1, 8.0.1, 9.0.1, 10.0.0, 11.0.0, 12.0.0 3.3.6, 7.5.0, 8.4.0, 9.4.0, 10.5.0
Ubuntu 22.04 2027-04 11.1.0, 12.0.1, 13.0.1, 14.0.0, 15.0.7 3.3.6, 9.5.0, 10.5.0, 11.4.0, 12.3.0
Ubuntu 24.04 2029-04 14.0.6, 15.0.7, 16.0.6, 17.0.6, 18.1.3 3.3.6, 9.5.0, 10.5.0, 11.4.0, 12.3.0, 13.2.0, 14.2.0
Debian 11 2026-08-31 9.0.1, 11.0.1, 13.0.1, 16.0.6 3.3.6, 9.3.0, 10.2.1
Debian 12 2028-06-30 13.0.1, 14.0.6, 15.0.6, 16.0.6 3.3.6, 11.3.0, 12.2.0
EL8 2029-05-31 17.0.6, 18.1.8 8.5.0, 9.2.1, 10.3.1, 11.2.1, 12.2.1, 13.3.1, 14.2.1
EL9 2032-05-31 18.1.8 11.5.0, 12.2.1, 13.3.1, 14.2.1

Ignoring Ubuntu 20.04 (as we are unlikely to transition to distro-provided compilers before April), I think updating to Clang 15 is the best candidate for helping to ease the transition to distro-provided compilers.
Unfortunately, we will still need to build Clang with GCC 10 (11 on Debian 12 and EL9) as the latest version of libstdc++ available on Debian 11 is 10.2.1.

I don't consider this a super high priority at the moment, but would love to hear people's thoughts.

Also, a quick note on the transition to distro-provided compilers: While the default GCC (and therefore the default set of libstdc++ headers) for EL8 is 8.5, EL8's clang is actually built with GCC 13, meaning we won't have to worry about EL8's Clang defaulting to a relatively ancient version of libstdc++.

@SwooshyCueb SwooshyCueb self-assigned this Dec 4, 2024
@trel
Copy link
Member

trel commented Dec 5, 2024

makes sense to me.

@korydraughn
Copy link
Contributor

I agree.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants