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
build: no-longer disable WARN_CXXFLAGS when CXXFLAGS is set #25972
Conversation
Concept ACK. |
Looks like the CI failures (due to |
GUIX hashes x86:
arm64:
|
cc @theuni. See: https://github.com/bitcoin/bitcoin/pull/25972/checks?check_run_id=8137548994, for an example of unsuppressed sdt.h warnings. |
As @fanquake mentioned, some of these are only warnings in older compilers. I'm going through them to double-check that they are indeed non-issues, as opposed to missed warnings in newer compilers. (I'm ignoring the sdt.h warnings for now and focusing on what's in our code. I will look at that header next.) I've pushed commits that implement the following suggestions here: https://github.com/theuni/bitcoin/commits/use_cxxflags_with_depends For this one:
This was a warning in clang-9 but not clang-10. The warning was removed here: https://reviews.llvm.org/D72212 tl;dr: copies are allowed for POD types less than 64bytes. We can confirm this by adding a dummy That seems reasonable enough, but I think we may as well just fix it up to take a const ref to remove any ambiguity. for this one:
I can reproduce this with gcc9 but not gcc10. My best guess is that it's related to: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80635 Though I'm having trouble recreating a minimal test-case that fails with gcc9 and succeeds with gcc10. Changing these from For this one:
This one looks legitimate. Suggest fixing by initializing to For this one:
(This applies to x86_64 as well) Again, gcc10 is smart enough to figure this out, but gcc9 complains. Initializing to zero is harmless, so again I suggest just initializing to 0 to quiet the old compilers. |
I also pushed a patch for systemtap in depends that gets rid of those compiler warnings. From what I can tell, the variadic is completely unused there, but I'm not at all confident in that change yet. |
Concept ACK, btw :) |
0aa641f
to
d5efac3
Compare
I had opened #26006, to see if anyone would jump in with the change, but at this point will just PR your commit separate to this. For the remaining of the changes, I've rebased on top of your branch I think the changes are fairly uncontreversial (aside from sdt.h), and are better than adding
Maybe @0xB10C can weigh in? |
With the /usr/bin/ccache x86_64-w64-mingw32-g++-posix -std=c++17 -DHAVE_CONFIG_H -I. -I../src/config -fmacro-prefix-map=/tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-w64-mingw32=. -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -DHAVE_BUILD_INFO -D_MT -DWIN32 -D_WINDOWS -D_WIN32_WINNT=0x0601 -D_WIN32_IE=0x0501 -DWIN32_LEAN_AND_MEAN -DNOMINMAX -D_FILE_OFFSET_BITS=64 -DPROVIDE_FUZZ_MAIN_FUNCTION -I. -I./minisketch/include -I./secp256k1/include -I./univalue/include -I./leveldb/include -I/tmp/cirrus-ci-build/depends/x86_64-w64-mingw32/include/ -fdebug-prefix-map=/tmp/cirrus-ci-build/ci/scratch/build/bitcoin-x86_64-w64-mingw32=. -fstack-reuse=none -Wstack-protector -fstack-protector-all -fcf-protection=full -Wall -Wextra -Wformat -Wformat-security -Wvla -Wredundant-decls -Wdate-time -Wduplicated-branches -Wduplicated-cond -Wlogical-op -Woverloaded-virtual -Wsuggest-override -Wimplicit-fallthrough -Wno-unused-parameter -Werror -Wno-error=return-type -fno-extended-identifiers -fvisibility=hidden -fPIE -pipe -std=c++17 -O2 -c -o script/libbitcoin_consensus_a-interpreter.o `test -f 'script/interpreter.cpp' || echo './'`script/interpreter.cpp
script/interpreter.cpp: In function ‘bool SignatureHashSchnorr(uint256&, ScriptExecutionData&, const T&, uint32_t, uint8_t, SigVersion, const PrecomputedTransactionData&, MissingDataBehavior) [with T = CTransaction]’:
script/interpreter.cpp:1530:42: error: ‘ext_flag’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
1530 | const uint8_t spend_type = (ext_flag << 1) + (have_annex ? 1 : 0); // The low bit indicates whether an annex is present.
| ~~~~~~~~~~^~~~~
script/interpreter.cpp: In function ‘bool SignatureHashSchnorr(uint256&, ScriptExecutionData&, const T&, uint32_t, uint8_t, SigVersion, const PrecomputedTransactionData&, MissingDataBehavior) [with T = CMutableTransaction]’:
script/interpreter.cpp:1530:42: error: ‘ext_flag’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
1530 | const uint8_t spend_type = (ext_flag << 1) + (have_annex ? 1 : 0); // The low bit indicates whether an annex is present.
| ~~~~~~~~~~^~~~~ This looks like another false-positive, as bitcoin/src/script/interpreter.cpp Line 1480 in a8c3590
|
I too think that we don't use the variadic and it's Ok to drop it in the patch: We use, for example, the
|
I've opened an upstream issue: chaincodelabs/libmultiprocess#77, for the warnings in the multiprocess CI job: /usr/bin/ccache clang++ -m32 -std=c++17 -DHAVE_CONFIG_H -I. -I../src/config -DDEBUG -DDEBUG_LOCKORDER -DDEBUG_LOCKCONTENTION -DRPC_DOC_CHECK -DABORT_ON_FAILED_ASSUME -fmacro-prefix-map=/tmp/cirrus-ci-build/ci/scratch/build/bitcoin-i686-pc-linux-gnu=. -DHAVE_BUILD_INFO -D_FILE_OFFSET_BITS=64 -DPROVIDE_FUZZ_MAIN_FUNCTION -I. -I./minisketch/include -I./secp256k1/include -I./univalue/include -I./leveldb/include -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC -D_LIBCPP_DEBUG=1 -I/tmp/cirrus-ci-build/depends/i686-pc-linux-gnu/include/ -O0 -g3 -ftrapv -fdebug-prefix-map=/tmp/cirrus-ci-build/ci/scratch/build/bitcoin-i686-pc-linux-gnu=. -Wstack-protector -fstack-protector-all -fcf-protection=full -Wall -Wextra -Wgnu -Wformat -Wformat-security -Wvla -Wshadow-field -Wthread-safety -Wrange-loop-analysis -Wredundant-decls -Wunused-member-function -Wdate-time -Wconditional-uninitialized -Woverloaded-virtual -Wunreachable-code-loop-increment -Wimplicit-fallthrough -Wdocumentation -Wno-unused-parameter -Wno-self-assign -Werror -fPIE -std=c++17 -pthread -I/tmp/cirrus-ci-build/depends/i686-pc-linux-gnu/include -pipe -std=c++17 -O1 -c -o ipc/capnp/libbitcoin_ipc_a-protocol.o `test -f 'ipc/capnp/protocol.cpp' || echo './'`ipc/capnp/protocol.cpp
In file included from ipc/capnp/protocol.cpp:14:
/tmp/cirrus-ci-build/depends/i686-pc-linux-gnu/include/mp/proxy-io.h:33:37: error: parameter 'connection' shadows member inherited from type 'InvokeContext' [-Werror,-Wshadow-field]
ClientInvokeContext(Connection& connection, ThreadContext& thread_context)
^
/tmp/cirrus-ci-build/depends/i686-pc-linux-gnu/include/mp/proxy-io.h:27:17: note: declared here
Connection& connection;
^
/tmp/cirrus-ci-build/depends/i686-pc-linux-gnu/include/mp/proxy-io.h:160:16: error: moving a local object in a return statement prevents copy elision [-Werror,-Wpessimizing-move]
return std::move(logger);
^
/tmp/cirrus-ci-build/depends/i686-pc-linux-gnu/include/mp/proxy-io.h:160:16: note: remove std::move call here
return std::move(logger);
^~~~~~~~~~ ~
2 errors generated. as they are from the multiprocess code: |
Bumping #25065 (comment) again.
Long-term, I think we could either drop the
Short-term, the simple/obvious solution is just to initialize to zero, which wouldn't affect the meaning of the code. |
There is also Edit: Ok, maybe it does. Though annotating |
Here's a slightly more invasive change that eliminates the possibility of undefined behavior by filtering out script versions that can't be consumed by these functions: https://github.com/theuni/bitcoin/commits/explicit-v1-scriptver The key idea is here: theuni@5f26e4a#diff-da9625bc8e6928c0ec3239921e739c32b9d0abdfbca9773c550a3cdd818230b8R196 The second commit is just a small cleanup. I think it's a nice improvement. Will PR if there's any interest. |
Note that not only do we do not use the variadic, it's not even hooked up to anything. |
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. Code CoverageFor detailed information about the code coverage, see the test coverage report. ReviewsSee the guideline for information on the review process.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update. ConflictsNo conflicts as of last run. |
Strictly speaking, this will keep the UB. Recall that an |
Heh, I suppose I invited the pedantry there. Correct, it wouldn't eliminate UB potential entirely here, but it would put it on par with every other switch/case over an fully-handled enum class without a default in our codebase. I don't think you're suggesting adding As I see it it'd be strictly an improvement (though admittedly not bulletproof) as the intent is better communicated to callers, and would cleanly eliminate this warning. Would you NACK it as a PR? |
02c9e56 fs: fully initialize _OVERLAPPED for win32 (Cory Fields) Pull request description: ```bash fs.cpp: In member function ‘bool fsbridge::FileLock::TryLock()’: fs.cpp:129:32: error: missing initializer for member ‘_OVERLAPPED::InternalHigh’ [-Werror=missing-field-initializers] 129 | _OVERLAPPED overlapped = {0}; | ^ fs.cpp:129:32: error: missing initializer for member ‘_OVERLAPPED::<anonymous>’ [-Werror=missing-field-initializers] fs.cpp:129:32: error: missing initializer for member ‘_OVERLAPPED::hEvent’ [-Werror=missing-field-initializers] ``` Came up in #25972. That PR is now rebased on this change. Closes: #26006 ACKs for top commit: sipsorcery: tACK 02c9e56. hebasto: ACK 02c9e56, tested on Linux x86_64: Tree-SHA512: 6a0495c34bd952b2bb8c994a1450da7d3eee61225bb4ff0ce009c013f5e29dba94bb1c3ecef9989dc18c939909fdc8eba690a38f96da431ae9d64c23656de7d0
No, but generally we still put an assert in the fallthrough case. Putting the assert after the bitcoin/src/kernel/coinstats.cpp Lines 169 to 173 in f332c4f
|
02c9e56 fs: fully initialize _OVERLAPPED for win32 (Cory Fields) Pull request description: ```bash fs.cpp: In member function ‘bool fsbridge::FileLock::TryLock()’: fs.cpp:129:32: error: missing initializer for member ‘_OVERLAPPED::InternalHigh’ [-Werror=missing-field-initializers] 129 | _OVERLAPPED overlapped = {0}; | ^ fs.cpp:129:32: error: missing initializer for member ‘_OVERLAPPED::<anonymous>’ [-Werror=missing-field-initializers] fs.cpp:129:32: error: missing initializer for member ‘_OVERLAPPED::hEvent’ [-Werror=missing-field-initializers] ``` Came up in bitcoin#25972. That PR is now rebased on this change. Closes: bitcoin#26006 ACKs for top commit: sipsorcery: tACK 02c9e56. hebasto: ACK 02c9e56, tested on Linux x86_64: Tree-SHA512: 6a0495c34bd952b2bb8c994a1450da7d3eee61225bb4ff0ce009c013f5e29dba94bb1c3ecef9989dc18c939909fdc8eba690a38f96da431ae9d64c23656de7d0
🚧 At least one of the CI tasks failed. Make sure to run all tests locally, according to the Possibly this is due to a silent merge conflict (the changes in this pull request being Leave a comment here, if you need help tracking down a confusing failure. |
This produces false positives, such as: ```bash torcontrol.cpp: In static member function ‘static void TorControlConnection::readcb(bufferevent*, void*)’: torcontrol.cpp:94:28: error: ‘result’ may be used uninitialized [-Werror=maybe-uninitialized] 94 | self->message.code = ToIntegral<int>(s.substr(0, 3)).value_or(0); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ./netaddress.h:18, from ./torcontrol.h:11, from torcontrol.cpp:6: ./util/strencodings.h:184:7: note: ‘result’ was declared here 184 | T result; | ^~~~~~ cc1plus: all warnings being treated as errors make[2]: *** [Makefile:11088: libbitcoin_node_a-torcontrol.o] Error 1 ```
These warnings are coming from leveldb, and appear to be fixed starting with GCC 13.
The issues here are coming from Boost Test code.
Now that CXXFLAGS are back in user control, I don't think there's a reason to no-longer use our warning flags when CXXFLAGS has been overriden (this includes when building from depends). Anyone can suppress warnings from third-party code by passing the relevant `-Wno-` options in CXXFLAGS. Fixes: bitcoin#18092.
623228b
to
f0e22be
Compare
Would it make sense to mention that utACK f0e22be 🍡 Show signatureSignature:
|
Guix Build (aarch64): a416b91cfcc2ed18250021e67b5130e46d407998a642cdaed49996c0be79dd08 guix-build-f0e22be69a15/output/aarch64-linux-gnu/SHA256SUMS.part
569dc4cf491fe4f07009ce8f9d202c05f29a18eec6963fa3e7286a944dd93a82 guix-build-f0e22be69a15/output/aarch64-linux-gnu/bitcoin-f0e22be69a15-aarch64-linux-gnu-debug.tar.gz
126a3b9712bb7685e89e84f6b0d18cce6389bf580e3e66136a976e1f2f50f76f guix-build-f0e22be69a15/output/aarch64-linux-gnu/bitcoin-f0e22be69a15-aarch64-linux-gnu.tar.gz
90a78669828d32025c50fce357131f009d3a3fb887d84385dd94d82e8d973bdf guix-build-f0e22be69a15/output/arm-linux-gnueabihf/SHA256SUMS.part
56988aa072006b96fdde476c4a32ed54acc908504b9d858c5e230d43612f4833 guix-build-f0e22be69a15/output/arm-linux-gnueabihf/bitcoin-f0e22be69a15-arm-linux-gnueabihf-debug.tar.gz
1b8a9b3bfbfad88eb10f787623a4ad60f1f87803c0d4040bbe1bf24c4da1e308 guix-build-f0e22be69a15/output/arm-linux-gnueabihf/bitcoin-f0e22be69a15-arm-linux-gnueabihf.tar.gz
5cb8e8f0a4b9aa8a4334623225fd4d329842769f273ec46075dd6079cc283a0d guix-build-f0e22be69a15/output/arm64-apple-darwin/SHA256SUMS.part
fece504ef26647e11bdf3adc747b895e1dc69576e17c6dc17c61d3471bf810d7 guix-build-f0e22be69a15/output/arm64-apple-darwin/bitcoin-f0e22be69a15-arm64-apple-darwin-unsigned.tar.gz
1d34f9419cc66d5143d19bbcb1a24d14381cb1d32a9e0599b529a93e4bd7d6fd guix-build-f0e22be69a15/output/arm64-apple-darwin/bitcoin-f0e22be69a15-arm64-apple-darwin-unsigned.zip
59144930e85db21845a6b3887405b75a6106657b18aa3ede4ab12e99d9fcffdb guix-build-f0e22be69a15/output/arm64-apple-darwin/bitcoin-f0e22be69a15-arm64-apple-darwin.tar.gz
10eb6357756af723a8d204e0bc4604ee10f91004d7a65c57a6259cfb01d02f34 guix-build-f0e22be69a15/output/dist-archive/bitcoin-f0e22be69a15.tar.gz
aa34b3c18d342c8bad11fafbc92628c74aee33a9e1261f31f62449bc05e4a4f9 guix-build-f0e22be69a15/output/powerpc64-linux-gnu/SHA256SUMS.part
1719ecffad40d62beb6e94e65f6b9956ed8e0eb68d5e94b7a2a812ea7d3241da guix-build-f0e22be69a15/output/powerpc64-linux-gnu/bitcoin-f0e22be69a15-powerpc64-linux-gnu-debug.tar.gz
cbcad735319c6838813617cdc12ff14bde2d81b5f8c35cf6e57c8a9ebe00dbf6 guix-build-f0e22be69a15/output/powerpc64-linux-gnu/bitcoin-f0e22be69a15-powerpc64-linux-gnu.tar.gz
6c644fc29cd8e0fb2cd7bcd3a397f8c9d06ae8701e26096f93f6659b10d66a86 guix-build-f0e22be69a15/output/riscv64-linux-gnu/SHA256SUMS.part
70e2cd91d72e6d1e1835cfbc3d7cb4e3c38af906195e65636ad7706f1f959f11 guix-build-f0e22be69a15/output/riscv64-linux-gnu/bitcoin-f0e22be69a15-riscv64-linux-gnu-debug.tar.gz
fac50f4a7eeed00a8a2fafb3dcaead6ffb14a8e2fe5fda95dd2c76527e3fd612 guix-build-f0e22be69a15/output/riscv64-linux-gnu/bitcoin-f0e22be69a15-riscv64-linux-gnu.tar.gz
2232949e9fea2f17fe7ebdf219db6892a4448988271114fbe6f21015048a9b13 guix-build-f0e22be69a15/output/x86_64-apple-darwin/SHA256SUMS.part
4c307c6f96d13e2521b1ed2a5c8faa1c11b246074c8b22a8e53b00e60f72ff1b guix-build-f0e22be69a15/output/x86_64-apple-darwin/bitcoin-f0e22be69a15-x86_64-apple-darwin-unsigned.tar.gz
f268a0de8a7a45aa2b625e089af1ce83097bc0a079b46578d4000f78c4547b90 guix-build-f0e22be69a15/output/x86_64-apple-darwin/bitcoin-f0e22be69a15-x86_64-apple-darwin-unsigned.zip
d248cc1686997b73ade7cb7353a23cb9a6a1d19c0718a4a014e27480d0d7c356 guix-build-f0e22be69a15/output/x86_64-apple-darwin/bitcoin-f0e22be69a15-x86_64-apple-darwin.tar.gz
417921fe8a58abca99111e21da7663eba019183cdc2a132dab05cf020d374227 guix-build-f0e22be69a15/output/x86_64-linux-gnu/SHA256SUMS.part
f9cd999dd1e9cb149718a70b720b5514aceddf8e059cde75358ae9e0a3eb72ae guix-build-f0e22be69a15/output/x86_64-linux-gnu/bitcoin-f0e22be69a15-x86_64-linux-gnu-debug.tar.gz
e95cc49e5467f49b5afa63b9358ef0b2afea3df90256982f6a1dfc49ffde9a33 guix-build-f0e22be69a15/output/x86_64-linux-gnu/bitcoin-f0e22be69a15-x86_64-linux-gnu.tar.gz
8c3d88b8437feefd651fd55b03da15114f7d7eba72a674de1a1af4c3bc341208 guix-build-f0e22be69a15/output/x86_64-w64-mingw32/SHA256SUMS.part
06fe5199d3da1b8cb305a652402f18ef586e3a3c4dc1267a512e921284b6561f guix-build-f0e22be69a15/output/x86_64-w64-mingw32/bitcoin-f0e22be69a15-win64-debug.zip
a5ffc57c3cd232ab644052ee071b6e49ffe1b29f624879632b6af57c8ea3a8e7 guix-build-f0e22be69a15/output/x86_64-w64-mingw32/bitcoin-f0e22be69a15-win64-setup-unsigned.exe
90a0bd945c60f88d8fef06d11c0b01810e7247988aa937cdc4a09fd7cc214941 guix-build-f0e22be69a15/output/x86_64-w64-mingw32/bitcoin-f0e22be69a15-win64-unsigned.tar.gz
03d46a89b69a93b395f8bb47826c6f0e98b060f086a6afa14ed9d6c8b61e1517 guix-build-f0e22be69a15/output/x86_64-w64-mingw32/bitcoin-f0e22be69a15-win64.zip |
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 f0e22be.
My Guix builds:
x86_64
a416b91cfcc2ed18250021e67b5130e46d407998a642cdaed49996c0be79dd08 guix-build-f0e22be69a15/output/aarch64-linux-gnu/SHA256SUMS.part
569dc4cf491fe4f07009ce8f9d202c05f29a18eec6963fa3e7286a944dd93a82 guix-build-f0e22be69a15/output/aarch64-linux-gnu/bitcoin-f0e22be69a15-aarch64-linux-gnu-debug.tar.gz
126a3b9712bb7685e89e84f6b0d18cce6389bf580e3e66136a976e1f2f50f76f guix-build-f0e22be69a15/output/aarch64-linux-gnu/bitcoin-f0e22be69a15-aarch64-linux-gnu.tar.gz
90a78669828d32025c50fce357131f009d3a3fb887d84385dd94d82e8d973bdf guix-build-f0e22be69a15/output/arm-linux-gnueabihf/SHA256SUMS.part
56988aa072006b96fdde476c4a32ed54acc908504b9d858c5e230d43612f4833 guix-build-f0e22be69a15/output/arm-linux-gnueabihf/bitcoin-f0e22be69a15-arm-linux-gnueabihf-debug.tar.gz
1b8a9b3bfbfad88eb10f787623a4ad60f1f87803c0d4040bbe1bf24c4da1e308 guix-build-f0e22be69a15/output/arm-linux-gnueabihf/bitcoin-f0e22be69a15-arm-linux-gnueabihf.tar.gz
5cb8e8f0a4b9aa8a4334623225fd4d329842769f273ec46075dd6079cc283a0d guix-build-f0e22be69a15/output/arm64-apple-darwin/SHA256SUMS.part
fece504ef26647e11bdf3adc747b895e1dc69576e17c6dc17c61d3471bf810d7 guix-build-f0e22be69a15/output/arm64-apple-darwin/bitcoin-f0e22be69a15-arm64-apple-darwin-unsigned.tar.gz
1d34f9419cc66d5143d19bbcb1a24d14381cb1d32a9e0599b529a93e4bd7d6fd guix-build-f0e22be69a15/output/arm64-apple-darwin/bitcoin-f0e22be69a15-arm64-apple-darwin-unsigned.zip
59144930e85db21845a6b3887405b75a6106657b18aa3ede4ab12e99d9fcffdb guix-build-f0e22be69a15/output/arm64-apple-darwin/bitcoin-f0e22be69a15-arm64-apple-darwin.tar.gz
10eb6357756af723a8d204e0bc4604ee10f91004d7a65c57a6259cfb01d02f34 guix-build-f0e22be69a15/output/dist-archive/bitcoin-f0e22be69a15.tar.gz
aa34b3c18d342c8bad11fafbc92628c74aee33a9e1261f31f62449bc05e4a4f9 guix-build-f0e22be69a15/output/powerpc64-linux-gnu/SHA256SUMS.part
1719ecffad40d62beb6e94e65f6b9956ed8e0eb68d5e94b7a2a812ea7d3241da guix-build-f0e22be69a15/output/powerpc64-linux-gnu/bitcoin-f0e22be69a15-powerpc64-linux-gnu-debug.tar.gz
cbcad735319c6838813617cdc12ff14bde2d81b5f8c35cf6e57c8a9ebe00dbf6 guix-build-f0e22be69a15/output/powerpc64-linux-gnu/bitcoin-f0e22be69a15-powerpc64-linux-gnu.tar.gz
6c644fc29cd8e0fb2cd7bcd3a397f8c9d06ae8701e26096f93f6659b10d66a86 guix-build-f0e22be69a15/output/riscv64-linux-gnu/SHA256SUMS.part
70e2cd91d72e6d1e1835cfbc3d7cb4e3c38af906195e65636ad7706f1f959f11 guix-build-f0e22be69a15/output/riscv64-linux-gnu/bitcoin-f0e22be69a15-riscv64-linux-gnu-debug.tar.gz
fac50f4a7eeed00a8a2fafb3dcaead6ffb14a8e2fe5fda95dd2c76527e3fd612 guix-build-f0e22be69a15/output/riscv64-linux-gnu/bitcoin-f0e22be69a15-riscv64-linux-gnu.tar.gz
2232949e9fea2f17fe7ebdf219db6892a4448988271114fbe6f21015048a9b13 guix-build-f0e22be69a15/output/x86_64-apple-darwin/SHA256SUMS.part
4c307c6f96d13e2521b1ed2a5c8faa1c11b246074c8b22a8e53b00e60f72ff1b guix-build-f0e22be69a15/output/x86_64-apple-darwin/bitcoin-f0e22be69a15-x86_64-apple-darwin-unsigned.tar.gz
f268a0de8a7a45aa2b625e089af1ce83097bc0a079b46578d4000f78c4547b90 guix-build-f0e22be69a15/output/x86_64-apple-darwin/bitcoin-f0e22be69a15-x86_64-apple-darwin-unsigned.zip
d248cc1686997b73ade7cb7353a23cb9a6a1d19c0718a4a014e27480d0d7c356 guix-build-f0e22be69a15/output/x86_64-apple-darwin/bitcoin-f0e22be69a15-x86_64-apple-darwin.tar.gz
417921fe8a58abca99111e21da7663eba019183cdc2a132dab05cf020d374227 guix-build-f0e22be69a15/output/x86_64-linux-gnu/SHA256SUMS.part
f9cd999dd1e9cb149718a70b720b5514aceddf8e059cde75358ae9e0a3eb72ae guix-build-f0e22be69a15/output/x86_64-linux-gnu/bitcoin-f0e22be69a15-x86_64-linux-gnu-debug.tar.gz
e95cc49e5467f49b5afa63b9358ef0b2afea3df90256982f6a1dfc49ffde9a33 guix-build-f0e22be69a15/output/x86_64-linux-gnu/bitcoin-f0e22be69a15-x86_64-linux-gnu.tar.gz
8c3d88b8437feefd651fd55b03da15114f7d7eba72a674de1a1af4c3bc341208 guix-build-f0e22be69a15/output/x86_64-w64-mingw32/SHA256SUMS.part
06fe5199d3da1b8cb305a652402f18ef586e3a3c4dc1267a512e921284b6561f guix-build-f0e22be69a15/output/x86_64-w64-mingw32/bitcoin-f0e22be69a15-win64-debug.zip
a5ffc57c3cd232ab644052ee071b6e49ffe1b29f624879632b6af57c8ea3a8e7 guix-build-f0e22be69a15/output/x86_64-w64-mingw32/bitcoin-f0e22be69a15-win64-setup-unsigned.exe
90a0bd945c60f88d8fef06d11c0b01810e7247988aa937cdc4a09fd7cc214941 guix-build-f0e22be69a15/output/x86_64-w64-mingw32/bitcoin-f0e22be69a15-win64-unsigned.tar.gz
03d46a89b69a93b395f8bb47826c6f0e98b060f086a6afa14ed9d6c8b61e1517 guix-build-f0e22be69a15/output/x86_64-w64-mingw32/bitcoin-f0e22be69a15-win64.zip
Guix builds (aarch64)
|
I can't repro the Like for the example provided, making it: T result{}; Edit: nm, I see there are other false-positives as well. |
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 f0e22be. It'll be nice to have this fixed.
It should repro in the CI env, at least. Or you can grep the CI log: https://cirrus-ci.com/task/6169505322237952?logs=ci#L3768 |
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 f0e22be
Maybe into the CI or dev docs, given we'll never use -Werror by default for compilation? |
Oh I see. |
Ported to the CMake-based build system in hebasto#188. |
1689b48 fixup! ci: Test CMake edge cases (Hennadii Stepanov) b72aeba fixup! ci: Test CMake edge cases (Hennadii Stepanov) f38ec56 fixup! cmake: Add compiler diagnostic flags (Hennadii Stepanov) Pull request description: This PR ports bitcoin#25972 after the recent sync/rebase [PR](#186). ACKs for top commit: vasild: ACK 1689b48 Tree-SHA512: 0cc7a6a1ad0c9e99e0dddcd69bf00ae182119b33ecc0f21d22446e207ce756b8fa7d865585dfd2fb43458c44db00194e9088f7ea01a1c7cc226f3117a20374d7
Now that
CXXFLAGS
are back in user control, I don't think there's areason to no-longer use our warning flags when
CXXFLAGS
has beenoverriden (this includes, by default, when building from depends).
Anyone can suppress warnings from third-party code by
passing the relevant
-Wno-
options inCXXFLAGS
.Closes: #18092.