Otherwise, https://cirrus-ci.com/task/4830737755537408:
0At global scope:
1cc1plus: note: unrecognized command-line option ‘-Wno-conditional-uninitialized’ may have been intended to silence earlier diagnostics
-Wno-*
compiler options for leveldb
target
#31366
Otherwise, https://cirrus-ci.com/task/4830737755537408:
0At global scope:
1cc1plus: note: unrecognized command-line option ‘-Wno-conditional-uninitialized’ may have been intended to silence earlier diagnostics
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/31366.
See the guideline for information on the review process.
Type | Reviewers |
---|---|
ACK | TheCharlatan |
Stale ACK | theuni |
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.
utACK 0f73d9dd49b371c28ba9e74ef3519ef8f6e80ebc
A more helpful commit message would’ve been useful though: “Check for -Wfoo rather than -Wno-foo because the latter may not cause the test to fail”.
Check for -Wfoo rather than -Wno-foo because the latter may not cause
the test to fail.
A more helpful commit message would’ve been useful though: “Check for -Wfoo rather than -Wno-foo because the latter may not cause the test to fail”.
Thanks! The commit message has been amended per your feedback.
In Autotools we filtered out the unwanted flags, ifor CMake, the -Wno-*
variants were added (but in a way that didn’t quite work), and this PR fixes their usage by adding checks for the flags. However that means we duplicate checks that we do for the same flags earlier in the buildsystem, and we end up with something like:
clang++ ... -Wconditional-uninitialized -Wsuggest-override ... -Wno-conditional-uninitialized -Wno-suggest-override
when building leveldb. Wondering if we could have less duplication, and a more sensical compile command, by reverting to what we did in Autotools, and just filter out the unwanted flags?
However that means we duplicate checks that we do for the same flags earlier in the buildsystem…
Checks are cached. You can observe only a single instance of:
0-- Performing Test CXX_SUPPORTS__WSUGGEST_OVERRIDE
1-- Performing Test CXX_SUPPORTS__WSUGGEST_OVERRIDE - Success
in the configuration output.
-Wno...
in 5 lines of code. I’d presume filtering would require even more code?
I’d presume filtering would require even more code?
I don’t see why it’d be more than 1 line.