build: Bump clang minimum supported version to 19 #36036

pull maflcko wants to merge 5 commits into bitcoin:master from maflcko:2608-clang-19 changing 10 files +21 −35
  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 fanquake, 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)
    • #36033 <sub><img src="https://drahtbot.space/ack_count/bitcoin/bitcoin/36033.svg"></sub> ([wip,nomerge,rfc] build: Require C++23 compiler 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. maflcko force-pushed on Oct 22, 2026
  37. maflcko commented at 11:27 AM on October 22, 2026: member

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

  38. DrahtBot removed the label CI failed on Oct 22, 2026
  39. hebasto approved
  40. hebasto commented at 1:32 PM on October 22, 2026: member

    re-ACK faa98fadbcd2149ce31c0464a7b5e4a600bac5d2.

  41. 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?

  42. 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

  43. maflcko force-pushed on Nov 4, 2026
  44. hebasto approved
  45. hebasto commented at 11:25 PM on November 4, 2026: member

    re-ACK fac61569443b4bc0e007c5606b8f626405d04758.

    The list of platforms in the PR description could also include Windows, where VS ships Clang 22.

  46. build: Bump clang minimum supported version to 19
    Also, in ci: test-each-commit: Bump to Ubuntu 26.04
    for clang-18 -> clang-21
    fa909de36f
  47. 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.
    fa6299f87a
  48. refactor: Drop unused libc++-16 workarounds
    Also, drop redundant Clang version requirement mentions.
    fa31e25955
  49. build: Drop unused clang-17 -Wno-c++23-extensions workaround faffaeb2b6
  50. refactor: Remove unused include for clang-cl on Windows
    There is no Windows specific code and clang-cl does not need the include
    here.
    fa8c3c014d
  51. maflcko force-pushed on Nov 5, 2026
  52. fanquake commented at 4:18 PM on November 5, 2026: member

    utACK fa8c3c014d1eb17c69a7a286b121134a1c310e54

  53. DrahtBot requested review from winterrdog on Nov 5, 2026
  54. DrahtBot requested review from hebasto on Nov 5, 2026
  55. hebasto approved
  56. hebasto commented at 9:11 AM on November 6, 2026: member

    re-ACK fa8c3c014d1eb17c69a7a286b121134a1c310e54, rebased and removed -Wno-c++23-extensions since my last review.

  57. hebasto merged this on Nov 6, 2026
  58. hebasto closed this on Nov 6, 2026

  59. maflcko deleted the branch on Nov 6, 2026

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-11-10 20:51 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me