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

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

    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. build: Require C++17 compiler faaee810e6
  14. Use std::make_unique fac7198728
  15. MarcoFalke force-pushed on Nov 18, 2020
  16. elichai commented at 2:20 pm on November 18, 2020: contributor
    utACK fac71987281077aed7f79dce99f4eb3e8a91916a
  17. hebasto approved
  18. hebasto commented at 7:03 pm on November 18, 2020: member
    ACK fac71987281077aed7f79dce99f4eb3e8a91916a, I’ve locally compiled on ARM 32bit SBC without GUI.
  19. MarcoFalke commented at 7:44 pm on November 18, 2020: member
    (ci green now)
  20. fanquake approved
  21. fanquake commented at 2:28 am on November 19, 2020: member
    ACK fac71987281077aed7f79dce99f4eb3e8a91916a
  22. fanquake merged this on Nov 19, 2020
  23. fanquake closed this on Nov 19, 2020

  24. MarcoFalke deleted the branch on Nov 19, 2020
  25. 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

  26. 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?
  27. practicalswift commented at 8:35 pm on November 19, 2020: contributor
    I suggest adding a suppression since this isn’t in our code.
  28. 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.
  29. hebasto referenced this in commit cf580b9312 on Nov 25, 2020
  30. hebasto referenced this in commit 830ddf4139 on Nov 25, 2020
  31. hebasto referenced this in commit a526ab4fca on Nov 25, 2020
  32. fanquake referenced this in commit 817aeca57a on Nov 30, 2020
  33. sidhujag referenced this in commit 888a0d5b5c on Nov 30, 2020
  34. MarkLTZ referenced this in commit 26393b6d2a on Feb 16, 2021
  35. fanquake referenced this in commit c7b46489f8 on Feb 23, 2021
  36. MarcoFalke referenced this in commit 84f6c695c6 on Feb 23, 2021
  37. sidhujag referenced this in commit 6882823621 on Feb 23, 2021
  38. hebasto referenced this in commit 8d7125f80e on May 10, 2021
  39. kittywhiskers referenced this in commit 40e1eef9e4 on Jul 15, 2021
  40. kittywhiskers referenced this in commit 2d9d93ae73 on Jul 15, 2021
  41. kittywhiskers referenced this in commit e102647493 on Jul 17, 2021
  42. kittywhiskers referenced this in commit 0f37fa90e5 on Sep 11, 2021
  43. kittywhiskers referenced this in commit 140997f4b7 on Sep 15, 2021
  44. thelazier referenced this in commit e21cf22afe on Sep 19, 2021
  45. thelazier referenced this in commit 1f42472b95 on Sep 25, 2021
  46. christiancfifi referenced this in commit 116dcb6693 on Oct 3, 2021
  47. christiancfifi referenced this in commit 3ab1378747 on Oct 4, 2021
  48. christiancfifi referenced this in commit e447c4e0cd on Oct 11, 2021
  49. pravblockc referenced this in commit 8d0121b435 on Nov 18, 2021
  50. DrahtBot 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: 2024-12-18 15:12 UTC

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