build: Require C++17 compiler#20413
Conversation
|
Concept ACK |
1 similar comment
|
Concept ACK |
7b8d2f0 to
fae854d
Compare
|
Concept ACK |
|
ACK fae854da2fd8a45862e5169b698bf37a5fc57592 if it passes CI |
|
Works for me. utACK fae854da2fd8a45862e5169b698bf37a5fc57592 |
|
ACK fae854da2fd8a45862e5169b698bf37a5fc57592 assuming CI is happily green |
|
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ConflictsReviewers, this pull request conflicts with the following ones:
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. |
fae854d to
fac7198
Compare
|
utACK fac7198 |
|
(ci green now) |
|
Bitcoinbuilds is failing since this (ubuntu 18.04, clang-8, native qt/libs)
|
|
Options:
|
|
I suggest adding a suppression since this isn't in our code. |
|
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. |
Since bitcoin#20413 the minimum required GCC version is 7.
Since bitcoin#20413 the minimum required GCC version is 7. Co-authored-by: practicalswift <[email protected]>
Since bitcoin#20413 the minimum required GCC version is 7. Co-authored-by: practicalswift <[email protected]>
830ddf4 Drop noop gcc version checks (Hennadii Stepanov) Pull request description: Since #20413 the minimum required GCC version is 7. ACKs for top commit: fanquake: ACK 830ddf4 Tree-SHA512: 36264661d6ced1683a0c907efba7c700502acaf8e9fd50d9066bc9c7b877b25165b0684c2d7fe74bd58e500a77d7702bdbdd53691c274f29e4abccd241c10964
830ddf4 Drop noop gcc version checks (Hennadii Stepanov) Pull request description: Since bitcoin#20413 the minimum required GCC version is 7. ACKs for top commit: fanquake: ACK 830ddf4 Tree-SHA512: 36264661d6ced1683a0c907efba7c700502acaf8e9fd50d9066bc9c7b877b25165b0684c2d7fe74bd58e500a77d7702bdbdd53691c274f29e4abccd241c10964
This has already been the case since bitcoin#20413.
5e531e6 assumptions: check C++17 assumption with MSVC (fanquake) c7b4648 assumptions: assume a C++17 compiler (fanquake) Pull request description: This has been the case since #20413. This should also enable the check for MSVC. From my reading of https://docs.microsoft.com/en-us/cpp/build/reference/zc-cplusplus?view=msvc-160 and https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/ if we set the `/Zc:__cplusplus` switch in additional options, MSVC will report the correct value for `__cplusplus`. However I have not tested this. ACKs for top commit: laanwj: Code review ACK 5e531e6 hebasto: ACK 5e531e6, checked the MS docs, and AppVeyor build is green. practicalswift: ACK 5e531e6 Tree-SHA512: a4fb525cf5c33abc944c614edb0313a39c8a39a1637a03c09342c15ba0925f4eb037062e65e51b42ade667506b7e554c7159acf86e6b8c35d0a87dd79a6f239b
5e531e6 assumptions: check C++17 assumption with MSVC (fanquake) c7b4648 assumptions: assume a C++17 compiler (fanquake) Pull request description: This has been the case since bitcoin#20413. This should also enable the check for MSVC. From my reading of https://docs.microsoft.com/en-us/cpp/build/reference/zc-cplusplus?view=msvc-160 and https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/ if we set the `/Zc:__cplusplus` switch in additional options, MSVC will report the correct value for `__cplusplus`. However I have not tested this. ACKs for top commit: laanwj: Code review ACK 5e531e6 hebasto: ACK 5e531e6, checked the MS docs, and AppVeyor build is green. practicalswift: ACK 5e531e6 Tree-SHA512: a4fb525cf5c33abc944c614edb0313a39c8a39a1637a03c09342c15ba0925f4eb037062e65e51b42ade667506b7e554c7159acf86e6b8c35d0a87dd79a6f239b
…connections cdbc2bd qt: Use template function qOverload in signal-slot connections (Hennadii Stepanov) Pull request description: A nice template function [`qOverload`](https://doc.qt.io/qt-5/qtglobal.html#qOverload) is available for us now (bitcoin/bitcoin#20413, bitcoin/bitcoin#21286). Its usage makes code much more readable. This PR does not change behavior. ACKs for top commit: Talkless: utACK cdbc2bd. promag: Code review ACK cdbc2bd. Tree-SHA512: 72002aa646b1a79bab62d498825b3f245dc7ebdc189280f8bd3b4076e1bb50be8802c02bc872ff6f70c1ea81faec66d3bec36471119dd98c9e70d87b990396ae
830ddf4 Drop noop gcc version checks (Hennadii Stepanov) Pull request description: Since bitcoin#20413 the minimum required GCC version is 7. ACKs for top commit: fanquake: ACK 830ddf4 Tree-SHA512: 36264661d6ced1683a0c907efba7c700502acaf8e9fd50d9066bc9c7b877b25165b0684c2d7fe74bd58e500a77d7702bdbdd53691c274f29e4abccd241c10964
830ddf4 Drop noop gcc version checks (Hennadii Stepanov) Pull request description: Since bitcoin#20413 the minimum required GCC version is 7. ACKs for top commit: fanquake: ACK 830ddf4 Tree-SHA512: 36264661d6ced1683a0c907efba7c700502acaf8e9fd50d9066bc9c7b877b25165b0684c2d7fe74bd58e500a77d7702bdbdd53691c274f29e4abccd241c10964
830ddf4 Drop noop gcc version checks (Hennadii Stepanov) Pull request description: Since bitcoin#20413 the minimum required GCC version is 7. ACKs for top commit: fanquake: ACK 830ddf4 Tree-SHA512: 36264661d6ced1683a0c907efba7c700502acaf8e9fd50d9066bc9c7b877b25165b0684c2d7fe74bd58e500a77d7702bdbdd53691c274f29e4abccd241c10964
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.