Skip to content

Conversation

@3405691582
Copy link
Collaborator

As discussed elsewhere; upgrade the version. Hopefully this doesn't break any interesting edge cases we care about.

@Databean
Copy link
Member

The question was whether if we switched off the clang prebuilt to the distro clang, if using c++20 features would break anything.

Looking at popular distros, comparing against the clang feature set for c++20: https://clang.llvm.org/cxx_status.html

  • Debian bookworm (current oldstable) is at clang 1.14
  • Debian trixie (current stable) is at clang 1.19, same as our prebuilt
  • Debian forky (current testing) is at clang 1.21, ahead of our prebuilt

Ubuntu offers multiple clang versions: https://documentation.ubuntu.com/ubuntu-for-developers/reference/availability/llvm/

Clang 19 has been supported since 24.04 and was made the default in 24.10.

https://packages.fedoraproject.org/pkgs/llvm/clang/index.html

Fedora 42 uses clang 20.

I think the conclusion is that at worst we'll break bookworm users when we use some of the c++20 features that were implemented later:

  • Lambdas in unevaluated contexts
  • Structured binding extensions
  • Concepts (partial)
  • Modules
  • Class template argument deduction for aggregates
  • Permit conversions to arrays of unknown bound

As discussed elsewhere; upgrade the version. Hopefully this doesn't
break any interesting edge cases we care about.
@Databean Databean added the kokoro:run Run e2e tests. label Jan 22, 2026
@GoogleCuttlefishTesterBot GoogleCuttlefishTesterBot removed the kokoro:run Run e2e tests. label Jan 22, 2026
@3405691582 3405691582 added the kokoro:run Run e2e tests. label Jan 22, 2026
@3405691582 3405691582 added this pull request to the merge queue Jan 23, 2026
Merged via the queue into google:main with commit afa7e2c Jan 23, 2026
24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kokoro:run Run e2e tests.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants