ci: Upgrade IWYU to 0.27 compatible with Clang 23 #36181

pull hebasto wants to merge 3 commits into bitcoin:master from hebasto:260907-iwyu0.27-upgrade changing 39 files +29 −725
  1. hebasto commented at 11:06 AM on September 7, 2026: member

    The new IWYU release includes several improvements and bug fixes, including:

    This allows us to remove all corresponding workarounds and patches.

    Additionally, the compiler intrinsics mapping has switched from a hardcoded file to a dynamically generated one.


    Note: This PR is currently a draft because IWYU 0.27 has not yet been officially tagged.

  2. iwyu: Prefer canonical headers
    This is enforced by IWYU 0.27 and minimizes the subsequent commit diff.
    6ed7c535ad
  3. ci: Upgrade IWYU to 0.27 compatible with Clang 23
    The new IWYU release includes several improvements and bug fixes,
    including:
    - https://github.com/include-what-you-use/include-what-you-use/pull/1991
    - https://github.com/include-what-you-use/include-what-you-use/pull/2013
    - https://github.com/include-what-you-use/include-what-you-use/pull/2014
    - https://github.com/include-what-you-use/include-what-you-use/pull/2058
    - https://github.com/include-what-you-use/include-what-you-use/pull/2062
    - https://github.com/include-what-you-use/include-what-you-use/pull/2093
    1b5ee3be59
  4. DrahtBot added the label Tests on Sep 7, 2026
  5. DrahtBot commented at 11:06 AM on September 7, 2026: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

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

    <!--006a51241073e994b41acfe9ec718e94-->

    Code Coverage & Benchmarks

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

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

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

    Type Reviewers
    ACK l0rinc

    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:

    • #34360 (bench: add WalletBalanceManySpent for high-history wallet scenario by w0xlt)
    • #32554 (bench: replace embedded raw block with configurable block generator by l0rinc)

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

  6. iwyu: Switch to generated Clang intrinsics mapping file 3b944f194f
  7. hebasto force-pushed on Sep 7, 2026
  8. DrahtBot added the label CI failed on Sep 7, 2026
  9. DrahtBot commented at 11:10 AM on September 7, 2026: contributor

    <!--85328a0da195eb286784d51f73fa0af9-->

    🚧 At least one of the CI tasks failed. <sub>Task lint: https://github.com/bitcoin/bitcoin/actions/runs/34114867585/job/101719212535</sub> <sub>LLM reason (✨ experimental): CI failed due to a lint-shell (ShellCheck SC2086) error: an unquoted $(clang-<ver> -print-resource-dir) expansion in ci/test/03_test_script.sh triggered Failure generated from lint-shell.py.</sub>

    <details><summary>Hints</summary>

    Try to run the tests locally, according to the documentation. However, a CI failure may still happen due to a number of reasons, for example:

    • Possibly due to a silent merge conflict (the changes in this pull request being incompatible with the current code in the target branch). If so, make sure to rebase on the latest commit of the target branch.

    • A sanitizer issue, which can only be found by compiling with the sanitizer and running the affected test.

    • An intermittent issue.

    Leave a comment here, if you need help tracking down a confusing failure.

    </details>

  10. DrahtBot removed the label CI failed on Sep 7, 2026
  11. in ci/test/01_base_install.sh:107 in 3b944f194f
     104 | @@ -105,7 +105,6 @@ if [[ "${RUN_IWYU}" == true ]]; then
     105 |    ${CI_RETRY_EXE} git clone --depth=1 https://github.com/include-what-you-use/include-what-you-use -b clang_"${IWYU_LLVM_V}" /include-what-you-use
     106 |    pushd /include-what-you-use
     107 |    patch -p1 < "${BASE_ROOT_DIR}/ci/test/01_iwyu.patch"
    


    l0rinc commented at 4:17 PM on September 7, 2026:

    Does this have an upstream issue or fix?


    hebasto commented at 8:10 PM on September 7, 2026:

    If you are referring to the "Prefer angled brackets over quotes for include directives" part, then no, it does not.

  12. l0rinc commented at 4:18 PM on September 7, 2026: contributor

    shallow code review ACK 3b944f194fddbcff11f7e5bad4e075a5eac5ed78

Labels

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-09-09 07:56 UTC