build: Require C++17 compiler #20413

pull MarcoFalke wants to merge 2 commits into bitcoin:master from MarcoFalke:2011-buildCxx17 changing 8 files +19 −27
  1. MarcoFalke commented at 9:58 AM on November 18, 2020: member

    Developers have been compiling with C++17 for a few months now (fuzz tests and the msvc build have it even enabled by default). According to #16684, the 22.0 release shall be compiled with C++17 enabled.

    This only sets the build flag, any other changes need more discussion and can be done later.

  2. MarcoFalke added this to the milestone 22.0 on Nov 18, 2020
  3. fanquake added the label Build system on Nov 18, 2020
  4. jonatack commented at 10:29 AM on November 18, 2020: contributor

    Concept ACK

  5. practicalswift commented at 10:50 AM on November 18, 2020: contributor

    Concept ACK

  6. MarcoFalke force-pushed on Nov 18, 2020
  7. MarcoFalke force-pushed on Nov 18, 2020
  8. theStack commented at 11:14 AM on November 18, 2020: contributor

    Concept ACK

  9. laanwj commented at 11:21 AM on November 18, 2020: member

    ACK fae854da2fd8a45862e5169b698bf37a5fc57592 if it passes CI

  10. jnewbery commented at 11:28 AM on November 18, 2020: member

    Works for me.

    utACK fae854da2fd8a45862e5169b698bf37a5fc57592

  11. practicalswift commented at 11:43 AM on November 18, 2020: contributor

    ACK fae854da2fd8a45862e5169b698bf37a5fc57592 assuming CI is happily green

  12. DrahtBot commented at 11:43 AM on November 18, 2020: 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:

    • #19179 (ci: Run ci configs on cirrus by MarcoFalke)
    • #19013 (test: add v0.20.1 to backwards compatibility test by Sjors)

    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.

  13. DrahtBot cross-referenced this on Nov 18, 2020 from issue Depends: Update FreeType package (CVE-2020-15999) by mammix2
  14. build: Require C++17 compiler faaee810e6
  15. Use std::make_unique fac7198728
  16. MarcoFalke force-pushed on Nov 18, 2020
  17. elichai commented at 2:20 PM on November 18, 2020: contributor

    utACK fac71987281077aed7f79dce99f4eb3e8a91916a

  18. hebasto approved
  19. hebasto commented at 7:03 PM on November 18, 2020: member

    ACK fac71987281077aed7f79dce99f4eb3e8a91916a, I've locally compiled on ARM 32bit SBC without GUI.

  20. MarcoFalke commented at 7:44 PM on November 18, 2020: member

    (ci green now)

  21. DrahtBot cross-referenced this on Nov 18, 2020 from issue ci: Run ci configs on cirrus by MarcoFalke
  22. DrahtBot cross-referenced this on Nov 18, 2020 from issue test: add v0.20.1, v0.21.0 and v22.0 to backwards compatibility test by Sjors
  23. fanquake approved
  24. fanquake commented at 2:28 AM on November 19, 2020: member

    ACK fac71987281077aed7f79dce99f4eb3e8a91916a

  25. fanquake merged this on Nov 19, 2020
  26. fanquake closed this on Nov 19, 2020

  27. MarcoFalke deleted the branch on Nov 19, 2020
  28. MarcoFalke cross-referenced this on Nov 19, 2020 from issue build: Re-enable i686 qt build on centos 8 by MarcoFalke
  29. elichai cross-referenced this on Nov 19, 2020 from issue Replace boost::filesystem with std::filesystem by kiminuo
  30. jonasschnelli commented at 7:19 PM on November 19, 2020: contributor

    Bitcoinbuilds is failing since this (ubuntu 18.04, clang-8, native qt/libs)

    SUMMARY: UndefinedBehaviorSanitizer: unsigned-integer-overflow /usr/bin/../lib/gcc/x86_64-linux-gnu/7.4.0/../../../../include/c++/7.4.0/bits/basic_string.tcc:1271:25 in https://bitcoinbuilds.org/index.php?ansilog=cde36fc5-66ef-4f85-a6c2-c7efb509bc01.log#l1987

  31. MarcoFalke commented at 7:54 PM on November 19, 2020: member

    Options:

    • Use focal (like our ci configs)
    • Use a newer compiler (not tested) g++-8 or clang++-10
    • Add a suppression
    • Something else?
  32. practicalswift commented at 8:35 PM on November 19, 2020: contributor

    I suggest adding a suppression since this isn't in our code.

  33. sipa commented at 10:28 PM on November 19, 2020: member

    unsigned integer overflow is not UB. It's just enabled because it is a red flag - but in standard libraries I think we can assume this is fine.

  34. hebasto referenced this in commit cf580b9312 on Nov 25, 2020
  35. hebasto cross-referenced this on Nov 25, 2020 from issue refactor: Drop noop gcc version checks by hebasto
  36. hebasto referenced this in commit 830ddf4139 on Nov 25, 2020
  37. hebasto referenced this in commit a526ab4fca on Nov 25, 2020
  38. fanquake referenced this in commit 817aeca57a on Nov 30, 2020
  39. sidhujag referenced this in commit 888a0d5b5c on Nov 30, 2020
  40. promag cross-referenced this on Dec 11, 2020 from issue RFC: Migrate from Qt5 to Qt6's Qt5 compat by dongcarl
  41. MarkLTZ referenced this in commit 26393b6d2a on Feb 16, 2021
  42. fanquake referenced this in commit c7b46489f8 on Feb 23, 2021
  43. fanquake cross-referenced this on Feb 23, 2021 from issue assumptions: Assume C++17 by fanquake
  44. MarcoFalke referenced this in commit 84f6c695c6 on Feb 23, 2021
  45. sidhujag referenced this in commit 6882823621 on Feb 23, 2021
  46. hebasto cross-referenced this on Mar 24, 2021 from issue refactor: Use template function qOverload in signal-slot connections by hebasto
  47. hebasto referenced this in commit 8d7125f80e on May 10, 2021
  48. hebasto cross-referenced this on Jun 23, 2021 from issue Basic Taproot signing support for descriptor wallets by sipa
  49. kwvg referenced this in commit 40e1eef9e4 on Jul 15, 2021
  50. kwvg referenced this in commit 2d9d93ae73 on Jul 15, 2021
  51. kwvg referenced this in commit e102647493 on Jul 17, 2021
  52. Bushstar cross-referenced this on Sep 9, 2021 from issue C++17 and reduce Boost usage by Bushstar
  53. kwvg referenced this in commit 0f37fa90e5 on Sep 11, 2021
  54. kwvg referenced this in commit 140997f4b7 on Sep 15, 2021
  55. thelazier referenced this in commit e21cf22afe on Sep 19, 2021
  56. thelazier referenced this in commit 1f42472b95 on Sep 25, 2021
  57. christiancfifi referenced this in commit 116dcb6693 on Oct 3, 2021
  58. christiancfifi referenced this in commit 3ab1378747 on Oct 4, 2021
  59. christiancfifi referenced this in commit e447c4e0cd on Oct 11, 2021
  60. pravblockc referenced this in commit 8d0121b435 on Nov 18, 2021
  61. bitcoin locked this on Feb 15, 2022

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