build: Bump clang minimum supported version to 17 #33555

pull maflcko wants to merge 2 commits into bitcoin:master from maflcko:2510-clang-17 changing 6 files +10 −37
  1. maflcko commented at 8:10 am on October 7, 2025: member

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

    (Apart from dropping the small workaround, this bump allows the ci_native_nowallet_libbitcoinkernel CI to run on riscv64 without running into an ICE with clang-16.)

    This patch will only be released in version 31.x, next year (2026).

    For reference:

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

    Ubuntu 22.04 LTS does not ship with clang-16 (the previous minimum required), nor with clang-17, so one of the above workarounds is needed there.

    macOS 14 is unaffected, and the previous minimum requirement of Xcode15.0 remains, see also https://github.com/bitcoin/bitcoin/blob/919e6d01e93a57d991ed456bc67c43605583ada8/depends/hosts/darwin.mk#L3-L4. (Modulo compiling the fuzz tests, which requires https://github.com/bitcoin/bitcoin/blob/919e6d01e93a57d991ed456bc67c43605583ada8/.github/workflows/ci.yml#L149)

  2. DrahtBot added the label Build system on Oct 7, 2025
  3. DrahtBot commented at 8:10 am on October 7, 2025: contributor

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

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/33555.

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK l0rinc, hebasto
    Concept ACK janb84

    If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

  4. maflcko force-pushed on Oct 7, 2025
  5. maflcko force-pushed on Oct 7, 2025
  6. maflcko force-pushed on Oct 7, 2025
  7. maflcko added this to the milestone 31.0 on Oct 7, 2025
  8. maflcko marked this as ready for review on Oct 7, 2025
  9. maflcko added the label DrahtBot Guix build requested on Oct 7, 2025
  10. hebasto commented at 10:21 am on October 7, 2025: member

    (Apart from dropping the small workaround, this bump allows the ci_native_nowallet_libbitcoinkernel CI to run on riscv64 without running into an ICE with clang-16.)

    Is there an open issue for this?

  11. maflcko commented at 10:35 am on October 7, 2025: member

    Is there an open issue for this?

    I haven’t checked, but clang-16 is long out of the support window, so it isn’t going to be fixed. Also, I think the number of devs running the ci on risvc64 is limited.

  12. DrahtBot commented at 1:53 am on October 8, 2025: contributor

    Guix builds (on x86_64) [untrusted test-only build, possibly unsafe, not for production use]

    File commit 919e6d01e93a57d991ed456bc67c43605583ada8(master) commit 9aa0140e936062c1d4ed49faea1ada3653580712(pull/33555/merge)
    *-aarch64-linux-gnu-debug.tar.gz 8a3a70b6a2f350b8... c6ec580d3ba66858...
    *-aarch64-linux-gnu.tar.gz 17936aca93771c4c... 6ee69d4c89dc1750...
    *-arm-linux-gnueabihf-debug.tar.gz e45e305cc30cdec1... a372e46032a20857...
    *-arm-linux-gnueabihf.tar.gz d285be53f7e4fe1e... 918575a13b76b1e7...
    *-arm64-apple-darwin-codesigning.tar.gz fdfc826d830637d0... 4db644c479c25301...
    *-arm64-apple-darwin-unsigned.tar.gz f2ae5acbc4d364c6... c194207c5e9b014f...
    *-arm64-apple-darwin-unsigned.zip 427e26d78db3b1ec... 8748ed934e3f7a71...
    *-powerpc64-linux-gnu-debug.tar.gz 545c19878f7f9119... 3b8f4ea4d56f4bce...
    *-powerpc64-linux-gnu.tar.gz a59d3d5edf49d756... 1bc16de51a35484b...
    *-riscv64-linux-gnu-debug.tar.gz 821096e270b4d5c5... bd6f98a39a64686e...
    *-riscv64-linux-gnu.tar.gz ee536994ed27e851... 392a78fa61b7c2d3...
    *-x86_64-apple-darwin-codesigning.tar.gz b225e3f958de65c8... df732771a14eba68...
    *-x86_64-apple-darwin-unsigned.tar.gz d7f9ae145640fb3a... c11f0c49e2d093ad...
    *-x86_64-apple-darwin-unsigned.zip 64520329bb3dd15b... 9fee5b3090b22d2d...
    *-x86_64-linux-gnu-debug.tar.gz 63847a7abd0f21c3... 1ad2e0d9b80c19d4...
    *-x86_64-linux-gnu.tar.gz 28f4d40543841eb9... 48d2db47a4ad82d6...
    *.tar.gz 14b4187a76079d9a... db17d0833dd70b18...
    SHA256SUMS.part f843995ba8b4cda0... 374dfb6ae9e37617...
    guix_build.log 1a2865dc1450c422... 19c64e98242c5537...
    guix_build.log.diff aaeaffb3a4d0a08d...
  13. DrahtBot removed the label DrahtBot Guix build requested on Oct 8, 2025
  14. build: Bump clang minimum supported version to 17 faed118fb3
  15. refactor: Revert "disable self-assign warning for tests"
    This reverts commit 53372f21767be449bb452fc3f5fe7f16286ae371.
    fa0fa0f700
  16. maflcko force-pushed on Oct 9, 2025
  17. maflcko commented at 6:50 pm on October 9, 2025: member

    Do we still need the build specialization in

    Seems unrelated, because the check is to be disabled for clang-15 and less. Not sure why it is there in the first place, but if you want to remove it, it could be removed already today, unrelated to this pull.

    Do we need a build release notes for this?

    Probably not, but I’ve added one. Thx.

    Can we simplify these tests now

    Nice. Reverted that commit.

  18. l0rinc approved
  19. l0rinc commented at 10:34 pm on October 9, 2025: contributor
    Code review ACK fa0fa0f70087d08fe5a54832b96799bd14293279
  20. janb84 commented at 6:19 pm on October 13, 2025: contributor

    Concept ACK fa0fa0f70087d08fe5a54832b96799bd14293279

    PR Sets the clang minimum supported version to 17 and drop some work arounds for clang 16. Given that supported OS-es have already a minimal clang version of 17, this should not be a problem.

    Would like to see confirmation that the fuzz test works as expected, by a fuzz specialist.

    • code review ✅
    • GUIX builds ✅
    • normal build ✅
    • ran tests ✅

    Ps. NixOS 25.05 has Clang version 19 as default.

    Host architecture: aarch64 Commit: fa0fa0f70087

     0 5fad57d70ee5d573ce9c150b9ca1a201028d72ca48d27993b8aee6a2fc5e0dd6  guix-build-fa0fa0f70087/output/aarch64-linux-gnu/SHA256SUMS.part
     1 1ff0e693e3cd542f78590c7876ff662e07db433161e3bcbe6e4c103af0a57dea  guix-build-fa0fa0f70087/output/aarch64-linux-gnu/bitcoin-fa0fa0f70087-aarch64-linux-gnu-debug.tar.gz
     2 ef5e83eb30e1d91aae6c489455c123e5d916cc23e30d8cf32f9c04b9fe012ec8  guix-build-fa0fa0f70087/output/aarch64-linux-gnu/bitcoin-fa0fa0f70087-aarch64-linux-gnu.tar.gz
     3 26f3dc6216890d211175f1013d6abe5af51bfcfd5f7d6a6b930e54b26e6ebd74  guix-build-fa0fa0f70087/output/arm-linux-gnueabihf/SHA256SUMS.part
     4 eb3f3486f04b4db8f0299e7ee086c25ce96137303f22eb4abd24b794185190c6  guix-build-fa0fa0f70087/output/arm-linux-gnueabihf/bitcoin-fa0fa0f70087-arm-linux-gnueabihf-debug.tar.gz
     5 1dcbd0052035ff0a1f3ad06d16fd96424f664f51f4edb7b4a857ba3956dbd9d1  guix-build-fa0fa0f70087/output/arm-linux-gnueabihf/bitcoin-fa0fa0f70087-arm-linux-gnueabihf.tar.gz
     6 55070cc6dd24804727dd2edc6f0efc1f807e29a2cd3ad403d78695a26713f35d  guix-build-fa0fa0f70087/output/arm64-apple-darwin/SHA256SUMS.part
     7 a3cfce976570d5d3c80a397eea6d7a576af284c184a9c5bb0843a5f28321320f  guix-build-fa0fa0f70087/output/arm64-apple-darwin/bitcoin-fa0fa0f70087-arm64-apple-darwin-codesigning.tar.gz
     8 d052e78be9232e9abbc927ba33f751b6b3be5d4a5d32c81214df54ae96845259  guix-build-fa0fa0f70087/output/arm64-apple-darwin/bitcoin-fa0fa0f70087-arm64-apple-darwin-unsigned.tar.gz
     9 bbffe6fc39f5e6cc4b47dda7fb52c03a1033fbb22ad9f0d232d726b17f8aeb73  guix-build-fa0fa0f70087/output/arm64-apple-darwin/bitcoin-fa0fa0f70087-arm64-apple-darwin-unsigned.zip
    10 602960482de11de5c83cbba201fcb0eb0ce887fadd7b8e75f268e22c17560143  guix-build-fa0fa0f70087/output/dist-archive/bitcoin-fa0fa0f70087.tar.gz
    11 134cd1247418b895115b15ea5341d5a2ba2236ddd4b1db53c36d3726953aeb46  guix-build-fa0fa0f70087/output/powerpc64-linux-gnu/SHA256SUMS.part
    12 04c5a46733e25f8958f8c07dd9204c6525b8e845caaa7e56adbb851ed81f3936  guix-build-fa0fa0f70087/output/powerpc64-linux-gnu/bitcoin-fa0fa0f70087-powerpc64-linux-gnu-debug.tar.gz
    13 0fdee909ed4c94fabbb946681779a8a8fd061196b3f142590eb4cec3dc4691fe  guix-build-fa0fa0f70087/output/powerpc64-linux-gnu/bitcoin-fa0fa0f70087-powerpc64-linux-gnu.tar.gz
    14 60b8f8a76ea436098c94fe1ffe28713ac2faade131e191617862b35acb05fe8f  guix-build-fa0fa0f70087/output/riscv64-linux-gnu/SHA256SUMS.part
    15 6d3973e8bd4327768c5ac5767fbd28f3ffbc3027435890bc77ee6ade54998712  guix-build-fa0fa0f70087/output/riscv64-linux-gnu/bitcoin-fa0fa0f70087-riscv64-linux-gnu-debug.tar.gz
    16 b80fa9a8764725b2e6d79221a4d424f276abea4787c609930a4ecbf9c13fb6d4  guix-build-fa0fa0f70087/output/riscv64-linux-gnu/bitcoin-fa0fa0f70087-riscv64-linux-gnu.tar.gz
    17 05c2e25f7cc21d28644e8fdd593563cc6e68257cf72084bb94ba4c05aa9239b3  guix-build-fa0fa0f70087/output/x86_64-apple-darwin/SHA256SUMS.part
    18 651c3b4313c9a54dd6ffa72eca7386231f70a0168e133e748172bed4fe92fec5  guix-build-fa0fa0f70087/output/x86_64-apple-darwin/bitcoin-fa0fa0f70087-x86_64-apple-darwin-codesigning.tar.gz
    19 cb2f57fdc545d6dd64e568cebe10909ff50912f5c5c4f88c1191910b03b9c830  guix-build-fa0fa0f70087/output/x86_64-apple-darwin/bitcoin-fa0fa0f70087-x86_64-apple-darwin-unsigned.tar.gz
    20 631eedaa91aeb51b40c376f0995260384a53859fff7e2469b99e93ffa86e27e2  guix-build-fa0fa0f70087/output/x86_64-apple-darwin/bitcoin-fa0fa0f70087-x86_64-apple-darwin-unsigned.zip
    21 c3a180847172c1551d7c32bbaf0f38ec2b9c330f21fb336f08144cf3c5b87958  guix-build-fa0fa0f70087/output/x86_64-linux-gnu/SHA256SUMS.part
    22 df11920ab65363415c8b376557fea9d77bf488b8ea0f10e62f86f4189f1336bc  guix-build-fa0fa0f70087/output/x86_64-linux-gnu/bitcoin-fa0fa0f70087-x86_64-linux-gnu-debug.tar.gz
    23 0d19fa3d60e10465f52acbe024ef2dec2d89b5741b4f25b6f1c01d81816317b1  guix-build-fa0fa0f70087/output/x86_64-linux-gnu/bitcoin-fa0fa0f70087-x86_64-linux-gnu.tar.gz
    24 064ebdef37ca800583917fab262743ac1cd811621478d17f1cb1115088b83ec2  guix-build-fa0fa0f70087/output/x86_64-w64-mingw32/SHA256SUMS.part
    25 baaa35b34780703a0702f220fb30ce4f95ed645120bfcf8fd2de85e97679536d  guix-build-fa0fa0f70087/output/x86_64-w64-mingw32/bitcoin-fa0fa0f70087-win64-codesigning.tar.gz
    26 48106a01245f2941e16539983906fd256fc1cc2be20d51ad1280756d2685ed7e  guix-build-fa0fa0f70087/output/x86_64-w64-mingw32/bitcoin-fa0fa0f70087-win64-debug.zip
    27 0120da4106d8a1be268923a1f2908f1cfaf7a0ce36009131c4f93758c354cbb9  guix-build-fa0fa0f70087/output/x86_64-w64-mingw32/bitcoin-fa0fa0f70087-win64-setup-unsigned.exe
    28 638d7dff2f1bef290a5e722972d02b152f87bf3400b183ab0a73effd66ce025d  guix-build-fa0fa0f70087/output/x86_64-w64-mingw32/bitcoin-fa0fa0f70087-win64-unsigned.zip
    
  21. maflcko added the label DrahtBot Guix build requested on Oct 25, 2025
  22. DrahtBot commented at 7:57 am on October 26, 2025: contributor

    Guix builds (on x86_64) [untrusted test-only build, possibly unsafe, not for production use]

    File commit f54ffb4bc141ffcc6fffe574edbcbbb21f001476(master) commit 3a89e04a0776b2a54c4b841b2b8628594e760cbd(pull/33555/merge)
    *-aarch64-linux-gnu-debug.tar.gz a7b618da4ba7f199... e4d9e31967838348...
    *-aarch64-linux-gnu.tar.gz fd5610811b85c65b... cfb90c1835a66f47...
    *-arm-linux-gnueabihf-debug.tar.gz e04d10c383e3ac06... 5badd829d2b1bd89...
    *-arm-linux-gnueabihf.tar.gz c164e375f83f9020... 7ccd210bfdad17d0...
    *-arm64-apple-darwin-codesigning.tar.gz a3d8fe6db088c359... 14e0ee4fa5e8b14a...
    *-arm64-apple-darwin-unsigned.tar.gz 8f95ef0f3741d09f... b1ebd8f4ab7be7b0...
    *-arm64-apple-darwin-unsigned.zip 9197e3a8b427140d... f0e9781c0d4e0d58...
    *-powerpc64-linux-gnu-debug.tar.gz 68d83debfc784c9c... 95a86bd2f21f77e6...
    *-powerpc64-linux-gnu.tar.gz 404a4a362a6672bb... 9ccabf2c1633530b...
    *-riscv64-linux-gnu-debug.tar.gz dbc7cb30ec3160b3... 85d3b84c7e63fb06...
    *-riscv64-linux-gnu.tar.gz 539e3d2b2ec19dca... fa17fc66c9075684...
    *-x86_64-apple-darwin-codesigning.tar.gz 326be682a44c94ce... 59c2e4acb0b2353c...
    *-x86_64-apple-darwin-unsigned.tar.gz 400a03cfd99188c0... 77a84c343fa5673a...
    *-x86_64-apple-darwin-unsigned.zip 96c27845c57ef843... 880dd21119747fc4...
    *-x86_64-linux-gnu-debug.tar.gz 62cd1e6e25a48741... 3ab9e03e01038f72...
    *-x86_64-linux-gnu.tar.gz f99edaba4fffddeb... 6ff4fff366765162...
    *.tar.gz 4b6e9d14acbb8ddc... 839e5e91bf3c6dde...
    SHA256SUMS.part fb6b57a20be5505d... 76aeef3dc4b5913e...
    guix_build.log 2cbf81db53d269a1... 1178ab0af4cb18ae...
    guix_build.log.diff 07947427c1b73f63...
  23. DrahtBot removed the label DrahtBot Guix build requested on Oct 26, 2025
  24. maflcko requested review from hebasto on Oct 27, 2025
  25. hebasto approved
  26. hebasto commented at 11:01 pm on October 28, 2025: member
    ACK fa0fa0f70087d08fe5a54832b96799bd14293279.
  27. DrahtBot requested review from janb84 on Oct 28, 2025
  28. fanquake merged this on Oct 29, 2025
  29. fanquake closed this on Oct 29, 2025

  30. maflcko deleted the branch on Oct 30, 2025


maflcko DrahtBot hebasto l0rinc janb84


janb84

Labels
Build system

Milestone
31.0


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: 2025-11-06 18:13 UTC

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