#36268 refactor: prune unused semi-colons
https://github.com/bitcoin/bitcoin/pull/36268 · · +97/-95 in 62 files, 4 commits · labels: Refactoring, CI failed · draft
Goal
- Prevent compiler noise from redundant semicolons across the codebase
- Enforce clean syntax automatically during builds
This pull request enables the `-Wextra-semi` compiler warning flag in CMakeLists.txt and removes redundant semicolons across 60+ source files. It also adjusts the `TRACEPOINT_SEMAPHORE` macro in `src/util/trace.h` so that a trailing semicolon does not trigger a warning.
Problem: Redundant semicolons throughout the codebase generate noise under strict compiler warning configurations but have previously not been flagged or enforced in the build system.
Category: Build and CI (#52 of 55)
P4 · cleanup
- P4 because it is a cosmetic compiler hygiene improvement
- Enforcing this warning does not fix build breakages, CI reliability, or binary integrity
P4 as a cosmetic compiler hygiene improvement. The PR author states the intent is to 'Enable -Wextra-semi and delete all the redundant semicolons.' Enabling a stylistic compiler warning does not resolve platform breakages, CI reliability issues, or binary integrity concerns.
Membership: Adds -Wextra-semi to the project compiler warning flags in CMakeLists.txt.
Factors: security/stability 0, bug 0, performance 0, user value 0, leverage 0
Reviewability: Paused: Waiting on subtree sync
- Wait to review: author is waiting on a libmultiprocess subtree pull
- CI is currently failing
The author noted in the description that the PR is 'Waiting on a pull of the libmultiprocess subtree' and included a '[nomerge] libmultiprocess fixups' commit. CI is also currently failing.
Author status: waiting for the libmultiprocess subtree update before final review
Agreement: Crickets
- No reviews or comments yet
- Opened recently as a draft without feedback
No reviews or comments yet
The PR was opened as a draft one day ago and has not received any reviews or concept discussion.
Review verdicts (DrahtBot): 0
Files
46 lines under test/bench/ci.
- src/wallet/wallet.h +6/-7
- src/net.h +6/-6
- src/test/checkqueue_tests.cpp +5/-5
- src/net_processing.cpp +4/-4
- src/protocol.h +4/-4
- src/script/miniscript.h +4/-4
- src/test/cuckoocache_tests.cpp +3/-3
- src/wallet/scriptpubkeyman.h +3/-3
- src/init.cpp +2/-2
- src/qt/addresstablemodel.cpp +2/-2
- src/util/check.h +2/-2
- src/util/time.cpp +2/-2
- src/util/trace.h +3/-1
- src/validationinterface.h +2/-2
- src/wallet/test/walletload_tests.cpp +2/-2
- src/addresstype.h +1/-1
- src/bench/coin_selection.cpp +1/-1
- src/blockencodings.h +1/-1
- src/crypto/muhash.h +1/-1
- src/cuckoocache.h +1/-1
- src/dbwrapper.cpp +1/-1
- src/dbwrapper.h +1/-1
- src/headerssync.h +1/-1
- src/index/blockfilterindex.cpp +1/-1
- src/index/coinstatsindex.cpp +1/-1
- src/ipc/capnp/protocol.cpp +1/-1
- src/ipc/libmultiprocess/include/mp/proxy-types.h +1/-1
- src/ipc/libmultiprocess/include/mp/type-function.h +1/-1
- src/logging.h +1/-1
- src/merkleblock.h +1/-1
- src/netaddress.cpp +1/-1
- src/netbase.h +1/-1
- src/node/eviction.cpp +1/-1
- src/node/interfaces.cpp +1/-1
- src/node/kernel_notifications.cpp +1/-1
- src/node/mempool_args.h +1/-1
- src/primitives/transaction.h +1/-1
- src/qt/notificator.cpp +1/-1
- src/qt/splashscreen.h +1/-1
- src/random.h +1/-1
- src/rpc/request.h +1/-1
- src/serialize.h +1/-1
- src/test/fuzz/kitchen_sink.cpp +1/-1
- src/test/fuzz/muhash.cpp +1/-1
- src/test/fuzz/rpc.cpp +1/-1
- src/test/fuzz/socks5.cpp +1/-1
- src/test/pcp_tests.cpp +1/-1
- src/test/rpc_tests.cpp +1/-1
- src/test/settings_tests.cpp +1/-1
- src/test/util/coins.cpp +1/-1
- src/test/util/net.h +1/-1
- src/test/util/setup_common.cpp +1/-1
- src/txmempool.h +1/-1
- src/txrequest.cpp +1/-1
- src/util/fs.h +1/-1
- src/util/sock.cpp +1/-1
- src/validation.h +1/-1
- src/wallet/scan.h +1/-1
- src/wallet/spend.cpp +1/-1
- src/wallet/test/fuzz/scriptpubkeyman.cpp +1/-1
- src/wallet/test/util.cpp +1/-1
- CMakeLists.txt +1/-0
Card
This PR adds the -Wextra-semi warning flag to the CMake build configuration and strips redundant semicolons across 60+ files in the repository. It addresses minor compiler hygiene by preventing unnecessary trailing semicolons from creeping into the codebase. Review is currently paused as the author explicitly noted they are waiting on a libmultiprocess subtree update before finalizing, and the branch contains a nomerge commit.