-
Notifications
You must be signed in to change notification settings - Fork 38.7k
build: Require C++17 compiler #20413
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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 |
hebasto
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK fac7198, I've locally compiled on ARM 32bit SBC without GUI.
|
(ci green now) |
fanquake
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK fac7198
|
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.