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

    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

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-10-10 15:13 UTC

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