build: Bump minimum required clang/libc++ to 8.0 #24164

pull MarcoFalke wants to merge 2 commits into bitcoin:master from MarcoFalke:2201-clangRoll changing 3 files +5 −13
  1. MarcoFalke commented at 7:27 AM on January 26, 2022: member

    This is not for 23.0, but for 24.0. It comes with the following benefits:

    This should be fine, given that all supported operating systems ship with at least clang-10:

  2. MarcoFalke added the label Build system on Jan 26, 2022
  3. MarcoFalke added this to the milestone 24.0 on Jan 26, 2022
  4. hebasto commented at 9:05 AM on January 26, 2022: member

    Concept ACK.

  5. shaavan commented at 11:59 AM on January 26, 2022: contributor

    Concept ACK

    On a side note, I was wondering about one thing. Would this PR remain unmerged until v23.0 finally releases on April 1st?

  6. hebasto commented at 12:00 PM on January 26, 2022: member

    Would this PR remain unmerged until v23.0 finally releases on April 1st?

    Until branching 23.x off, I guess.

  7. DrahtBot commented at 11:35 PM on January 26, 2022: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

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

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #24322 ([kernel 1/n] Introduce initial libbitcoinkernel by dongcarl)
    • #23565 (doc: rewrite dependencies.md by fanquake)

    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.

  8. DrahtBot cross-referenced this on Jan 27, 2022 from issue multiprocess: Add bitcoin-gui -ipcconnect option by ryanofsky
  9. DrahtBot cross-referenced this on Jan 27, 2022 from issue multiprocess: Add bitcoin-wallet -ipcconnect option by ryanofsky
  10. DrahtBot cross-referenced this on Jan 27, 2022 from issue Multiprocess bitcoin by ryanofsky
  11. MarcoFalke force-pushed on Feb 3, 2022
  12. MarcoFalke commented at 6:05 PM on February 3, 2022: member

    Rebased to get fresh CI.

    Fun fact: I couldn't compile current master with clang-7 and system libs on Bionic, so this could theoretically even be merged before 23.0

  13. hebasto commented at 9:25 PM on February 3, 2022: member

    @MarcoFalke

    Fun fact: I couldn't compile current master with clang-7 and system libs on Bionic, so this could theoretically even be merged before 23.0

    Is it similar to #21294 (comment)?

  14. DrahtBot cross-referenced this on Feb 11, 2022 from issue [kernel 0/n] Introduce `bitcoin-chainstate` by dongcarl
  15. DrahtBot cross-referenced this on Feb 12, 2022 from issue doc: rewrite dependencies.md by fanquake
  16. DrahtBot cross-referenced this on Feb 13, 2022 from issue [kernel 1/n] Introduce initial `libbitcoinkernel` by dongcarl
  17. MarcoFalke force-pushed on Feb 15, 2022
  18. DrahtBot added the label Needs rebase on Feb 23, 2022
  19. MarcoFalke force-pushed on Feb 23, 2022
  20. DrahtBot removed the label Needs rebase on Feb 23, 2022
  21. DrahtBot added the label Needs rebase on Mar 3, 2022
  22. ci/doc: Set minimum required clang/libc++ version to 8.0 fab53b5fd4
  23. Revert "Avoid the use of P0083R3 std::set::merge"
    This reverts commit 6cf4ea71878c0a83f2e49831e4dfa119c53761b7.
    fae20e6b50
  24. MarcoFalke force-pushed on Mar 4, 2022
  25. DrahtBot removed the label Needs rebase on Mar 4, 2022
  26. fanquake approved
  27. fanquake commented at 10:54 AM on March 11, 2022: member

    ACK fae20e6b50306f91c74037e915aa0ab75a0a6b3b - I think this is fine to do. I would be surprised if in another 6 months time someone was stuck on a system we supported, needing to compile Core, and only had access to Clang 7 or older. As mentioned in the PR description, all systems we currently support, already support multiple newer versions of Clang.

  28. in doc/dependencies.md:10 in fae20e6b50
       6 | @@ -7,7 +7,7 @@ These are the dependencies currently used by Bitcoin Core. You can find instruct
       7 |  | --- | --- | --- | --- | --- | --- |
       8 |  | Berkeley DB | [4.8.30](https://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/index.html) | 4.8.x | No |  |  |
       9 |  | Boost | [1.77.0](https://www.boost.org/users/download/) | [1.64.0](https://github.com/bitcoin/bitcoin/pull/22320) | No |  |  |
      10 | -| Clang<sup>[ \* ](#note1)</sup> |  | [7.0](https://releases.llvm.org/download.html) (C++17 & std::filesystem support) |  |  |  |
      11 | +| Clang |  | [8.0](https://releases.llvm.org/download.html) (C++17 & std::filesystem support) |  |  |  |
    


    hebasto commented at 8:04 AM on March 12, 2022:
    | Clang |  | [8.0](https://releases.llvm.org/download.html) (C++17, std::filesystem, and P0083R3 support) |  |  |  |
    

    MarcoFalke commented at 8:12 AM on March 12, 2022:

    I don't think mentioning a paper in the dependencies will give users any useful information. If they are interested in this, they can use https://en.cppreference.com/w/cpp/compiler_support or the documentation of their compiler. Practically they should only care about the minimum required version.

  29. hebasto approved
  30. hebasto commented at 8:04 AM on March 12, 2022: member

    ACK fae20e6b50306f91c74037e915aa0ab75a0a6b3b, I have reviewed the code and it looks OK, I agree it can be merged.

  31. MarcoFalke merged this on Mar 12, 2022
  32. MarcoFalke closed this on Mar 12, 2022

  33. MarcoFalke deleted the branch on Mar 12, 2022
  34. fanquake referenced this in commit 239bc68720 on May 30, 2022
  35. fanquake referenced this in commit 460854c1eb on May 30, 2022
  36. fanquake cross-referenced this on May 30, 2022 from issue Revert "build: more robustly check for fcf-protection support" by fanquake
  37. fanquake referenced this in commit a7973bf8f4 on May 31, 2022
  38. MarcoFalke referenced this in commit bd6c5e4108 on May 31, 2022
  39. sidhujag referenced this in commit 5c11078df9 on May 31, 2022
  40. MarcoFalke cross-referenced this on Feb 23, 2023 from issue configure: error: cannot figure out how to use std::filesystem by pinheadmz
  41. bitcoin locked this on Mar 12, 2023

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-05-19 06:53 UTC