build: Bump g++ minimum supported version to 10 #28348

pull maflcko wants to merge 3 commits into bitcoin:master from maflcko:2308-g++-10- changing 5 files +11 −21
  1. maflcko commented at 7:59 AM on August 27, 2023: member

    All supported operating systems ship with g++ 10 (or later), so bumping the minimum should not cause any issues. The bump allows to drop some now-unused workarounds.

    For reference:

    This is for Bitcoin Core 27.0 in 2024 (next year), not the soon upcoming 26.0 next month.

  2. DrahtBot commented at 7:59 AM on August 27, 2023: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

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

    <!--006a51241073e994b41acfe9ec718e94-->

    Code Coverage

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

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK fanquake

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

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #25972 (build: no-longer disable WARN_CXXFLAGS when CXXFLAGS is set 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.

  3. maflcko renamed this:
    Bump g++ minimum supported version to 10
    build: Bump g++ minimum supported version to 10
    on Aug 27, 2023
  4. DrahtBot added the label Build system on Aug 27, 2023
  5. maflcko added this to the milestone 27.0 on Aug 27, 2023
  6. maflcko added the label Needs rebase on Aug 27, 2023
  7. DrahtBot removed the label Needs rebase on Aug 27, 2023
  8. DrahtBot added the label CI failed on Sep 3, 2023
  9. DrahtBot removed the label CI failed on Sep 5, 2023
  10. fanquake commented at 1:18 PM on September 12, 2023: member

    Concept ACK

  11. maflcko force-pushed on Oct 24, 2023
  12. maflcko marked this as ready for review on Oct 24, 2023
  13. maflcko added the label DrahtBot Guix build requested on Oct 24, 2023
  14. DrahtBot added the label Needs rebase on Oct 24, 2023
  15. DrahtBot added the label CI failed on Oct 24, 2023
  16. DrahtBot commented at 11:33 PM on October 24, 2023: contributor

    <!--9cd9c72976c961c55c7acef8f6ba82cd-->

    Guix builds (on x86_64)

    File commit 43704827b4c9c178f3651a005e26c09103cd4189<br>(master) commit 664281c946d49e7f73a86f6e83bc270441841587<br>(master and this pull)
    SHA256SUMS.part 183387813ca7437c... 808258243827859b...
    *-aarch64-linux-gnu-debug.tar.gz dbe14eca3b7590f9... 241bd7d84a7f5d8d...
    *-aarch64-linux-gnu.tar.gz 86e581c5aa6288be... cbfa429f35141d8d...
    *-arm-linux-gnueabihf-debug.tar.gz 1be1acedf78a3446... e28c3f86d14feff1...
    *-arm-linux-gnueabihf.tar.gz 09c5d6abefb45f51... c7ad4ef02e34a1f4...
    *-arm64-apple-darwin-unsigned.tar.gz f6d41940fd261af9... aa67b4ff1abafd37...
    *-arm64-apple-darwin-unsigned.zip 268791efe0de4e07... f5232a789018afe8...
    *-arm64-apple-darwin.tar.gz b6dadb8374975f5f... 48f40dbe38223dee...
    *-powerpc64-linux-gnu-debug.tar.gz ebe3060f3de9d6d0... e756dd0f3ab2ca38...
    *-powerpc64-linux-gnu.tar.gz e6eac3cef68d41a6... 15470f515e536f52...
    *-powerpc64le-linux-gnu-debug.tar.gz 4ffd1440c7990acb... b3e1586b958616ed...
    *-powerpc64le-linux-gnu.tar.gz 0b6bcd94d3c4b455... 9ba5162059a85d77...
    *-riscv64-linux-gnu-debug.tar.gz 36928faea0e41f47... 6864140d3fdb1622...
    *-riscv64-linux-gnu.tar.gz 53e7196be616f7fa... caa6a221deea31b5...
    *-x86_64-apple-darwin-unsigned.tar.gz b51b362bd8e1f7bf... 0d3928be62095a6e...
    *-x86_64-apple-darwin-unsigned.zip a96fe067ca443670... 2ef9d1135fad680a...
    *-x86_64-apple-darwin.tar.gz 062eb82c207dbebb... 8134e99679df61cd...
    *-x86_64-linux-gnu-debug.tar.gz 934752412e800e61... cc5d6ed14a40a95d...
    *-x86_64-linux-gnu.tar.gz 23e28d2b322eeaf4... 1a2a5b45345a878d...
    *.tar.gz c49c626683702ab1... 7020911009382348...
    guix_build.log be39534ef95fdc39... fbe1dc4a266efef3...
    guix_build.log.diff fce2dabbdcc37bbc...
  17. DrahtBot removed the label DrahtBot Guix build requested on Oct 24, 2023
  18. maflcko force-pushed on Oct 25, 2023
  19. DrahtBot removed the label Needs rebase on Oct 25, 2023
  20. DrahtBot removed the label CI failed on Oct 25, 2023
  21. Bump g++ minimum supported version to 10
    Also, enable -Werror=maybe-uninitialized in
    ci/test/00_setup_env_native_qt5.sh
    faea58eee4
  22. in configure.ac:452 in fa91945bbc outdated
     446 | @@ -447,10 +447,6 @@ if test "$CXXFLAGS_overridden" = "no"; then
     447 |    AX_CHECK_COMPILE_FLAG([-Wduplicated-cond], [WARN_CXXFLAGS="$WARN_CXXFLAGS -Wduplicated-cond"], [], [$CXXFLAG_WERROR])
     448 |    AX_CHECK_COMPILE_FLAG([-Wlogical-op], [WARN_CXXFLAGS="$WARN_CXXFLAGS -Wlogical-op"], [], [$CXXFLAG_WERROR])
     449 |    AX_CHECK_COMPILE_FLAG([-Woverloaded-virtual], [WARN_CXXFLAGS="$WARN_CXXFLAGS -Woverloaded-virtual"], [], [$CXXFLAG_WERROR])
     450 | -  dnl -Wsuggest-override is broken with GCC before 9.2
     451 | -  dnl https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78010
     452 | -  AX_CHECK_COMPILE_FLAG([-Wsuggest-override], [WARN_CXXFLAGS="$WARN_CXXFLAGS -Wsuggest-override"], [], [$CXXFLAG_WERROR],
    


    fanquake commented at 2:03 PM on October 30, 2023:

    We should keep this, otherwise we won't have -Wsuggest-override turned on.

    AX_CHECK_COMPILE_FLAG([-Wsuggest-override], [WARN_CXXFLAGS="$WARN_CXXFLAGS -Wsuggest-override"], [], [$CXXFLAG_WERROR])
    

    Clang might still warn via on-by-default -Winconsistent-missing-override, but GCC wont produce anything.


    maflcko commented at 2:08 PM on October 30, 2023:

    Ah sorry, I wrongly assumed this disables the check. However, it seems to be using AC_LANG_SOURCE to enable it. I presume the correct fix would be to just remove the AC_LANG_SOURCE and unconditionally enable it?

    Will do that now.


    maflcko commented at 2:14 PM on October 30, 2023:

    done


    maflcko commented at 2:20 PM on October 30, 2023:

    (also reverted the changes to the leveldb buildfile, because they still seem to be needed for gcc 13.2)

  23. maflcko force-pushed on Oct 30, 2023
  24. Always enable -Wsuggest-override fa918d397d
  25. refactor: Remove unused gcc-9 workaround in txrequest fa5423b5b5
  26. maflcko force-pushed on Oct 30, 2023
  27. fanquake approved
  28. fanquake commented at 2:53 PM on October 30, 2023: member

    ACK fa5423b5b582aaf8c5b7c516806157244cf20c74

  29. fanquake merged this on Oct 30, 2023
  30. fanquake closed this on Oct 30, 2023

  31. maflcko deleted the branch on Oct 30, 2023
  32. fanquake referenced this in commit 3e691258d8 on Dec 8, 2023
  33. PastaPastaPasta referenced this in commit b92186f83f on Apr 3, 2024
  34. PastaPastaPasta referenced this in commit b2aff8d4c9 on Apr 4, 2024
  35. PastaPastaPasta referenced this in commit f70bec1efe on Apr 4, 2024
  36. PastaPastaPasta referenced this in commit 27a386e77c on Apr 4, 2024
  37. PastaPastaPasta referenced this in commit 05a7495cd1 on Apr 12, 2024
  38. PastaPastaPasta referenced this in commit 9d053303e2 on Apr 12, 2024
  39. PastaPastaPasta referenced this in commit 3312d0b6b6 on Apr 23, 2024
  40. PastaPastaPasta referenced this in commit f35a69073a on Apr 23, 2024
  41. PastaPastaPasta referenced this in commit 13ea5c4f45 on Apr 24, 2024
  42. fanquake referenced this in commit a786fd2041 on May 21, 2024
  43. bitcoin locked this on Oct 29, 2024

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-04-13 18:13 UTC

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