build: Bump clang minimum supported version to 14 #29208

pull maflcko wants to merge 3 commits into bitcoin:master from maflcko:2401-clang-14- changing 8 files +7 −71
  1. maflcko commented at 12:55 pm on January 9, 2024: member

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

    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:

  2. DrahtBot commented at 12:55 pm on January 9, 2024: contributor

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

    Code Coverage

    For detailed information about the code coverage, see the test coverage report.

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK fanquake
    Stale ACK hebasto

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

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #29165 (build: Bump clang minimum supported version to 15 by maflcko)
    • #29119 (refactor: Use std::span over Span by maflcko)
    • #29091 ([28.x] build: Bump g++ minimum supported version to 11 by maflcko)
    • #29077 ([WIP, DO NOT MERGE!!11111!!!!!] build: Require libc++-16 or later by maflcko)
    • #29071 (refactor: Remove Span operator==, Use std::ranges::equal by maflcko)
    • #28564 (Bugfix: configure: Correct check for fuzz binary needing a main function by luke-jr)

    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.

  3. DrahtBot renamed this:
    build: Bump clang minimum supported version to 14
    build: Bump clang minimum supported version to 14
    on Jan 9, 2024
  4. DrahtBot added the label Build system on Jan 9, 2024
  5. maflcko added this to the milestone 27.0 on Jan 9, 2024
  6. build: Bump clang minimum supported version to 14 fa7c751bd9
  7. DrahtBot added the label CI failed on Jan 9, 2024
  8. Revert "build: Fix undefined reference to __mulodi4"
    This reverts commit e4c8bb62e4a6873c45f42d0d2a24927cb241a0ea.
    fa223ba5eb
  9. maflcko force-pushed on Jan 9, 2024
  10. DrahtBot removed the label CI failed on Jan 9, 2024
  11. in src/test/fuzz/multiplication_overflow.cpp:18 in fa223ba5eb outdated
     9@@ -14,6 +10,14 @@
    10 #include <string>
    11 #include <vector>
    12 
    13+#if defined(__has_builtin)
    14+#if __has_builtin(__builtin_mul_overflow)
    15+#define HAVE_BUILTIN_MUL_OVERFLOW
    16+#endif
    17+#elif defined(__GNUC__)
    18+#define HAVE_BUILTIN_MUL_OVERFLOW
    


    hebasto commented at 3:38 pm on January 9, 2024:
    nit: I understand that that was a clean commit revert. But these lines look really unneeded these days.

    maflcko commented at 3:47 pm on January 9, 2024:
    Thanks, fixed
  12. hebasto approved
  13. hebasto commented at 3:38 pm on January 9, 2024: member
    ACK fa223ba5eb764fe822229a58d4d44d3ea83d0793.
  14. fuzz: Assume presence of __builtin_*_overflow, without checks aaaace2fd1
  15. maflcko requested review from hebasto on Jan 11, 2024
  16. fanquake approved
  17. fanquake commented at 5:40 pm on January 11, 2024: member
    ACK aaaace2fd1299939c755c281b787df0bbf1747a0
  18. fanquake merged this on Jan 12, 2024
  19. fanquake closed this on Jan 12, 2024

  20. maflcko deleted the branch on Jan 12, 2024
  21. hebasto commented at 9:40 am on January 13, 2024: member
    Post-merge ACK aaaace2fd1299939c755c281b787df0bbf1747a0.

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: 2024-07-05 19:13 UTC

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