build: Bump clang minimum supported version to 19 #36036

pull maflcko wants to merge 3 commits into bitcoin:master from maflcko:2608-clang-19 changing 8 files +21 −26
  1. maflcko commented at 1:47 PM on August 20, 2026: member

    Most supported operating systems ship with clang-19 (or later), so bump the minimum to that and allow new code to drop workarounds for previous clang bugs.

    (For this bump, only C++20 CTAD will become available.)

    This patch will only be released in version 33.x, next year (2027).

    For reference:

    On operating systems where the minimum Clang version is not shipped by default, the user would have to use GCC, or install Clang in a different way. For example:

  2. DrahtBot added the label Build system on Aug 20, 2026
  3. DrahtBot commented at 1:47 PM on August 20, 2026: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--006a51241073e994b41acfe9ec718e94-->

    External sites

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline and AI policy for information on the review process.

    Type Reviewers
    ACK hebasto
    Concept ACK l0rinc, winterrdog

    If your review is incorrectly listed, please copy-paste <code>&lt;!--meta-tag:bot-skip--&gt;</code> into the comment that the bot should ignore.

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #36042 <sub><img src="https://drahtbot.space/ack_count/bitcoin/bitcoin/36042.svg"></sub> (build: Bump g++ minimum supported version to 13 by maflcko)

    If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

  4. maflcko marked this as a draft on Aug 20, 2026
  5. maflcko added this to the milestone 33.0 on Aug 20, 2026
  6. maflcko force-pushed on Aug 20, 2026
  7. DrahtBot added the label CI failed on Aug 20, 2026
  8. maflcko force-pushed on Aug 20, 2026
  9. maflcko removed the label CI failed on Aug 20, 2026
  10. DrahtBot added the label CI failed on Aug 20, 2026
  11. maflcko removed the label CI failed on Aug 20, 2026
  12. DrahtBot added the label CI failed on Aug 20, 2026
  13. maflcko removed the label CI failed on Aug 20, 2026
  14. DrahtBot added the label CI failed on Aug 20, 2026
  15. DrahtBot removed the label CI failed on Sep 17, 2026
  16. DrahtBot added the label Needs rebase on Oct 8, 2026
  17. maflcko force-pushed on Oct 8, 2026
  18. DrahtBot removed the label Needs rebase on Oct 8, 2026
  19. DrahtBot added the label CI failed on Oct 9, 2026
  20. maflcko removed this from the milestone 33.0 on Oct 12, 2026
  21. hebasto commented at 11:25 AM on October 20, 2026: member

    Concept ACK.

  22. l0rinc commented at 11:47 AM on October 20, 2026: contributor

    Concept ACK, please check if Ralph's objections are valid. Will review properly after it's out of draft - unless you want a detailed review now.

  23. maflcko force-pushed on Oct 20, 2026
  24. in .github/workflows/ci.yml:32 in d70ec1737b
      28 | @@ -29,7 +29,7 @@ defaults:
      29 |  jobs:
      30 |    test-each-commit:
      31 |      name: 'test ancestor commits'
      32 | -    runs-on: ${{ github.repository == 'bitcoin/bitcoin' && 'warp-ubuntu-latest-x64-8x' || 'ubuntu-latest' }}
      33 | +    runs-on: ${{ github.repository == 'bitcoin/bitcoin' && 'warp-ubuntu-2604-x64-8x' || 'ubuntu-latest' }}
    


    maflcko commented at 12:07 PM on October 20, 2026:

    re Ralph: Was hoping they change the image in September, like last time (https://github.blog/changelog/2024-09-25-actions-new-images-and-ubuntu-latest-changes/), but I guess not anymore


    maflcko commented at 8:34 AM on October 22, 2026:

    fixed in the last commit

  25. maflcko marked this as ready for review on Oct 22, 2026
  26. maflcko force-pushed on Oct 22, 2026
  27. DrahtBot removed the label CI failed on Oct 22, 2026
  28. maflcko force-pushed on Oct 22, 2026
  29. DrahtBot added the label CI failed on Oct 22, 2026
  30. hebasto approved
  31. hebasto commented at 10:24 AM on October 22, 2026: member

    ACK fae84b611f0b209387e7ab25348bb5594d052432.

    nit: Maybe squash the 1st and 3rd commits?

  32. DrahtBot requested review from l0rinc on Oct 22, 2026
  33. maflcko force-pushed on Oct 22, 2026
  34. maflcko commented at 10:46 AM on October 22, 2026: member

    nit: Maybe squash the 1st and 3rd commits?

    I think it is fine to keep the removals separate from the bump. Force pushed to fix a Ralph nit

  35. hebasto commented at 11:02 AM on October 22, 2026: member

    re-ACK fa70b1cc63a7762a62bc90e0cdd2950706d456fc.

    nit: Maybe squash the 1st and 3rd commits?

    I think it is fine to keep the removals separate from the bump.

    Not sure I follow which "removals" are referred to here.

  36. build: Bump clang minimum supported version to 19
    Also, in ci: test-each-commit: Bump to Ubuntu 26.04
    for clang-18 -> clang-21
    fa0427654f
  37. clang-format: Use Standard: Latest
    It should mostly be irrelevant and generally be fine to format any C++
    code with the latest standard version. So set that here, but it can be
    changed in the future, if there is ever a reason.
    fa699076d2
  38. refactor: Drop unused libc++-16 workarounds
    Also, drop redundant Clang version requirement mentions.
    faa98fadbc
  39. maflcko force-pushed on Oct 22, 2026
  40. maflcko commented at 11:27 AM on October 22, 2026: member

    thx, I can't count to 3, squashed now with empty diff

  41. DrahtBot removed the label CI failed on Oct 22, 2026
  42. hebasto approved
  43. hebasto commented at 1:32 PM on October 22, 2026: member

    re-ACK faa98fadbcd2149ce31c0464a7b5e4a600bac5d2.

  44. maflcko commented at 11:43 AM on October 27, 2026: member

    cc @winterrdog I see you used Clang 18 in #36160#pullrequestreview-5116887377. Would this change be a problem for you?

  45. winterrdog commented at 5:38 PM on October 27, 2026: contributor

    concept ACK


    re: #36036 (comment)

    Would this change be a problem for you?

    not at all. i can easily switch to clang 20 since i have it installed already


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-10-30 09:40 UTC