[RFC] build: build with -Wmissing-declarations/prototypes #36743

pull fanquake wants to merge 14 commits into bitcoin:master from fanquake:missing_prototypes changing 124 files +212 −220
  1. fanquake commented at 1:11 PM on November 3, 2026: member

    Draft for now, as it requires upstream changes, and some codebase/style decisions. Some of the fixes will be split off in advance.

    Based on:

  2. rpc: make AddInputs static, remove mismatched declaration
    The header declared AddInputs(..., bool rbf), which was never defined,
    while the definition takes std::optional<bool> and has no declaration.
    410843a684
  3. DrahtBot commented at 1:11 PM on November 3, 2026: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--006a51241073e994b41acfe9ec718e94-->

    External sites

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline and AI policy for information on the review process. A summary of reviews will appear here.

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

  4. DrahtBot added the label CI failed on Nov 3, 2026
  5. fanquake force-pushed on Nov 3, 2026
  6. common: make FeeModeInfo static, remove mismatched declaration 3fa42941d1
  7. rpc: remove undefined RPCResult::ToStringObj and ToDescriptionString
    These were declared in fa6b061fc1 but never defined or used.
    0ae6589244
  8. qt: remove undefined BanTableModel::{start,stop}AutoRefresh
    The definitions were removed in 43c1f5b8d7, but the declarations were
    left behind.
    bad11ff68e
  9. http: use MockableSteadyClock::time_point in ShouldDisconnect declaration
    Match the definition, and the m_idle_since member.
    5f972485ff
  10. [nomerge] leveldb changes 30f1722df4
  11. [nomerge] libmultiprocess changes e92c8bba62
  12. refactor: make translation-unit local functions static
    These functions are only used within the file that defines them, and
    have no declaration elsewhere, so -Wmissing-prototypes (clang) and
    -Wmissing-declarations (GCC) warn about them. Give them internal
    linkage.
    
    fail_test_if_executed() is [[maybe_unused]], because TRACEPOINT discards
    its arguments when tracing is disabled.
    6d552b0266
  13. fuzz: declare libFuzzer entry points before defining them
    LLVMFuzzerTestOneInput and LLVMFuzzerInitialize are called by libFuzzer,
    so they can't be static. Declare them first, to avoid
    -Wmissing-prototypes / -Wmissing-declarations warnings.
    eb4a928e25
  14. rest: include httprpc.h for StartREST, InterruptREST and StopREST 367569c685
  15. build: add -Wmissing-prototypes 2163b5a67e
  16. build: add -Wmissing-declarations
    This is GCC's equivalent of clang's -Wmissing-prototypes for C++.
    347ab73234
  17. qt: declare ForceActivation in macdockiconhandler.h
    It was declared locally in guiutil.cpp, so the definition was never
    checked against the declaration.
    535a121415
  18. [nomerge] crc32c changes 26cd094b5c
  19. fanquake force-pushed on Nov 3, 2026

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-11-03 23:51 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me