#36268 refactor: prune unused semi-colons

ReviewabilityReviewsAgreementSize
#36268 fanquake refactor: prune unused semi-colonsCI failing0Crickets79 + 24 tests
  • Enforce compiler checks against extraneous semicolons across the codebase
  • Cleans up clutter and prevents redundant semicolons from being reintroduced
  • CI is failing, check whether the failure is caused by this PR before deep review
  • No review verdicts recorded
  • No substantive discussion or review comments yet
  • No feedback either way on the proposed compiler warning
  • 79 lines added or modified outside tests
  • 24 lines added or modified in tests
  • 101 lines removed in total
  • 67 files, 4 commits
Build and CI#50 of 56
P4 · cleanup
  • P4 because it is a cosmetic hygiene cleanup enforcing cleaner syntax
  • Has no functional or security impact and introduces no runtime changes
Reviewability: ReadyStalePaused
Agreement: StrongPositivePositive w/ caveatsNeutralMildDisputedBlockedCrickets
Reviews: current code-review ACKs, then (+stale ACKs) and -NACKs; greener = more ACKs.
Size: lines added or modified outside tests, then in tests; greener = smaller.

Goal

Enables the `-Wextra-semi` compiler warning flag in CMake and removes redundant semicolons across 67 files in the codebase. It also adjusts the fallback macro for `TRACEPOINT_SEMAPHORE` in `src/util/trace.h` to declare a forward struct instead of expanding to empty space, allowing trailing semicolons at macro call sites to compile cleanly under the warning.

Problem: Extraneous semicolons after function definitions, class declarations, and namespace closures clutter the codebase and trigger compiler warnings under `-Wextra-semi`, which currently prevents the flag from being enforced across the project.

Evidence of importance:

  • PR description: 'Enable -Wextra-semi and delete all the redundant semicolons.'

Scope: The PR touches 67 files mechanically and contains a temporary '[nomerge]' commit for libmultiprocess headers that the author notes will be replaced by an upstream subtree pull.

Risk of a mistake: low (build). It only adds a compiler warning flag and deletes redundant semicolons, introducing no runtime logic changes.

Changed since the previous assessment: Rebased with minor file updates across the repository.

Reviewability

Ready · CI failing

CI is red; check whether the failure is the PR's before a deep review.

Agreement

Crickets

no substantive comment either way

Objections, suggestions, and questions: none recorded.

Files

48 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/common/bip352.h +2/-2
  • 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/common/bip352.cpp +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/block_validation_state_catcher.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/bip352_tests.cpp +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/imports.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

The short text the ranking pass compares across PRs.

Enables the -Wextra-semi compiler warning flag in the build system and cleans up redundant semicolons across 67 files. It also adjusts TRACEPOINT_SEMAPHORE macro expansions so trailing semicolons do not trigger compiler warnings. Importance is minimal as it is purely internal code styling and compiler hygiene. The change currently includes a temporary nomerge commit waiting on a libmultiprocess subtree update.

Data

dossier JSON · extract JSON · model ledger, generated 2026-10-23T01:15, confidence high, input hash 687c70b8a0e2ff9c
Discussion read under schema 1 rules: suggestions and questions may be missing, and an objection may combine several harms (schema history).
labels: Refactoring, CI failed · draft

Categories

Build and CI

P4 · cleanup

Enabling the -Wextra-semi compiler warning flag is a cosmetic hygiene improvement that enforces cleaner syntax across the tree. It has no functional, security, or platform support impact and can be reviewed when convenient.

Membership: Enables the -Wextra-semi compiler warning flag in CMakeLists.txt to enforce compiler warning cleanups across the build.

Factors: security/stability 0, bug 0, performance 0, user value 0, leverage 0