{
 "number": 35911,
 "repo": "bitcoin/bitcoin",
 "url": "https://github.com/bitcoin/bitcoin/pull/35911",
 "title": "Warn on and add missing [[noreturn]]",
 "author": "fanquake",
 "author_association": "MEMBER",
 "created_at": "2026-08-06T09:34:14Z",
 "updated_at": "2026-09-13T01:44:25Z",
 "age_days": 42,
 "draft": true,
 "labels": [
  "CI failed"
 ],
 "milestone": null,
 "base": "master",
 "head_sha": "21fc8ad4b089e196b2e2beb8712e45d050dd77e3",
 "head_ref": "missing_noreturn",
 "head_repo": "fanquake/bitcoin",
 "head_history": [
  {
   "t": "2026-08-06T10:27:16Z",
   "sha": "906dd19986681ff63ad9ca80349cdc7a118d2ca2"
  },
  {
   "t": "2026-08-06T17:06:55Z",
   "sha": "d713ecfff3972764f8a2010eeb06453cf4fcbcc8"
  },
  {
   "t": "2026-08-07T08:41:22Z",
   "sha": "a8321bcf5b5e972f9bd63ab01e4c4fda08b4764d"
  },
  {
   "t": "2026-08-07T09:02:08Z",
   "sha": "8d88646dac6959a9360c8f8a0e684520ff99e157"
  },
  {
   "t": "2026-08-07T15:32:10Z",
   "sha": "16166b95dfa4a8eba232a2ef24833d846af3bad6"
  },
  {
   "t": "2026-08-10T11:11:41Z",
   "sha": "ab78cb50ffcfa521f4342b7e233bfea5cd234c95"
  },
  {
   "t": "2026-08-12T14:54:36Z",
   "sha": "9eaeb31dcbbc8bf5456757db6de56d055c49eea0"
  },
  {
   "t": "2026-08-12T15:24:08Z",
   "sha": "f4481b54892a842d0a73092782ff5d53c6d79b60"
  },
  {
   "t": "2026-08-12T16:25:03Z",
   "sha": "08cd0fd45d31e58f3e77fbfad07ad7c113a39c84"
  },
  {
   "t": "2026-08-14T15:21:25Z",
   "sha": "27c66eb1c9792ee2cd7c8f6bf7372823d9583e83"
  },
  {
   "t": "2026-08-18T10:13:28Z",
   "sha": "afff3e70d7a5b8f94fbbc818f5b861509f4e88f2"
  },
  {
   "t": "2026-09-09T11:27:49Z",
   "sha": "21fc8ad4b089e196b2e2beb8712e45d050dd77e3"
  }
 ],
 "additions": 79,
 "deletions": 65,
 "changed_files": 20,
 "commit_count": 5,
 "size_bucket": "M",
 "mergeable_state": "unstable",
 "bot": {
  "drahtbot": {
   "present": true,
   "reviews": {
    "concept_ack": [
     {
      "login": "hebasto",
      "url": "https://github.com/bitcoin/bitcoin/pull/35911#pullrequestreview-4876387027"
     },
     {
      "login": "stickies-v",
      "url": "https://github.com/bitcoin/bitcoin/pull/35911#issuecomment-5251982517"
     }
    ]
   },
   "conflicts": [
    {
     "number": 36167,
     "title": "[RFC] Enable `-Wunused`",
     "author": "fanquake"
    },
    {
     "number": 34132,
     "title": "coins, dbwrapper: remove error catcher, make point-read failures fatal",
     "author": "l0rinc"
    },
    {
     "number": 32387,
     "title": "ipc: add windows support",
     "author": "ryanofsky"
    },
    {
     "number": 31507,
     "title": "build: Use clang-cl to build on Windows natively",
     "author": "hebasto"
    },
    {
     "number": 29409,
     "title": "multiprocess: Add capnp wrapper for Chain interface",
     "author": "ryanofsky"
    },
    {
     "number": 19461,
     "title": "multiprocess: Add bitcoin-gui -ipcconnect option",
     "author": "ryanofsky"
    },
    {
     "number": 19460,
     "title": "multiprocess: Add bitcoin-wallet -ipcconnect option",
     "author": "ryanofsky"
    },
    {
     "number": 10102,
     "title": "Multiprocess bitcoin",
     "author": "ryanofsky"
    }
   ]
  }
 },
 "acks_parsed": {
  "hebasto": {
   "kind": "concept_ack",
   "hash": null,
   "t": "2026-08-06T15:39:19Z",
   "stale": false
  },
  "stickies-v": {
   "kind": "concept_ack",
   "hash": null,
   "t": "2026-08-11T10:30:31Z",
   "stale": false
  }
 },
 "acks_tally": {
  "ack": 0,
  "stale_ack": 0,
  "concept_ack": 2,
  "approach_ack": 0,
  "nack": 0,
  "concept_nack": 0,
  "approach_nack": 0
 },
 "reviews": {
  "approved": 0,
  "changes_requested": 0,
  "distinct_reviewers": [
   "Sjors",
   "hebasto",
   "maflcko",
   "stickies-v"
  ]
 },
 "signals": {
  "needs_rebase": false,
  "ci_failed": true,
  "mergeable_state": "unstable",
  "last_author_activity": "2026-09-09T11:27:49Z",
  "last_reviewer_activity": "2026-08-31T08:41:28Z",
  "last_reviewer": "maflcko",
  "author_silent_days": 8,
  "waiting_on_author_days": 0,
  "days_since_update": 4
 },
 "refs": {
  "mentioned": [
   35896
  ],
  "depends_on": [],
  "fixes": [],
  "linked_issues": [],
  "references": [
   {
    "number": 35896,
    "type": "pull",
    "state": "closed",
    "merged": true,
    "merged_at": "2026-08-07",
    "title": "refactor: Default uint256::operator==, add operator<=>"
   }
  ],
  "conflicts": [
   36167,
   34132,
   32387,
   31507,
   29409,
   19461,
   19460,
   10102
  ]
 },
 "stack": {
  "shares_commits_with": [],
  "based_on": [],
  "base_for": []
 },
 "review_paths": [
  "CMakeLists.txt",
  "src/test/fuzz/fuzz.cpp",
  "src/test/fuzz/util/net.h",
  "src/test/threadpool_tests.cpp",
  "src/test/util/setup_common.cpp",
  "src/util/subprocess.h"
 ],
 "body": "Missing `[[noreturn]]` attributes can cause compiler false positives and other issues; see discussion in https://github.com/bitcoin/bitcoin/pull/35896#discussion_r3726612556. Add missing attributes, and turn on compiler warnings.\n\nThis produces C++23 related warnings under Clang:\n```bash\n[819/1115] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/threadpool_tests.cpp.o\n../src/test/threadpool_tests.cpp:212:64: warning: an attribute specifier sequence in this position is a C++23 extension [-Wc++23-lambda-attributes]\n  212 |         futures.emplace_back(Submit(threadPool, [&make_err, i] [[noreturn]] () {\n      |                                                                ^\n1 warning generated.\n```\n\nRelated:\nhttps://github.com/bitcoin-core/libmultiprocess/pull/339.\nhttps://github.com/bitcoin-core/leveldb-subtree/pull/64.\nhttps://github.com/arun11299/cpp-subprocess/pull/132.",
 "commits": [
  {
   "sha": "acc9be2d304cf04fcca9a1603f7c88da78a1e631",
   "date": "2026-09-09T11:26:47Z",
   "message": "[nomerge] libmultiprocess: missing [[noreturn]]"
  },
  {
   "sha": "73a38f2309b0dd27c2a05e0d0107b23b0b9343a2",
   "date": "2026-09-09T11:26:47Z",
   "message": "refactor: add missing [[noreturn]] attributes"
  },
  {
   "sha": "aee968c7c59fdc4d4c5c6055859976ef1781f8ab",
   "date": "2026-09-09T11:26:47Z",
   "message": "refactor: pragma around build-dependant missing noreturn"
  },
  {
   "sha": "e3e1d1676fa8e881e5e111017338fd65a2034d29",
   "date": "2026-09-09T11:26:47Z",
   "message": "build: add -Wmissing-noreturn to warning flags"
  },
  {
   "sha": "21fc8ad4b089e196b2e2beb8712e45d050dd77e3",
   "date": "2026-09-09T11:26:48Z",
   "message": "refactor: use C++ std::exit over exit()"
  }
 ],
 "timeline": [
  {
   "t": "2026-08-06T09:52:19Z",
   "kind": "review_comment",
   "who": "maflcko",
   "assoc": "MEMBER",
   "path": "src/test/util/setup_common.cpp",
   "commit": "906dd19986681ff63ad9ca80349cdc7a118d2ca2",
   "in_reply_to": null,
   "text": "nit: Should probably use  `std::exit` https://en.cppreference.com/cpp/utility/program/exit\n\nto avoid confusing with the one from C23?\n\nBut either is fine and I don't think this matters."
  },
  {
   "t": "2026-08-06T09:53:27Z",
   "kind": "review_comment",
   "who": "maflcko",
   "assoc": "MEMBER",
   "path": "src/test/threadpool_tests.cpp",
   "commit": "411f42b117c0b584e79561a8e85bf21f18e8b23b",
   "in_reply_to": null,
   "text": "nit: Can probably split/clang-format this long line into 3 or so?\n\n```suggestion\n        futures.emplace_back(Submit(threadPool, [&make_err, i]() __attribute__((noreturn)) {\n          throw std::runtime_error(make_err(i));\n           }));\n```"
  },
  {
   "t": "2026-08-06T09:53:59Z",
   "kind": "review_comment",
   "who": "maflcko",
   "assoc": "MEMBER",
   "path": "src/util/subprocess.h",
   "commit": "21fc8ad4b089e196b2e2beb8712e45d050dd77e3",
   "in_reply_to": null,
   "text": "Could also add upstream, but doesn't matter for this pull."
  },
  {
   "t": "2026-08-06T09:59:36Z",
   "kind": "review",
   "who": "maflcko",
   "assoc": "MEMBER",
   "state": "COMMENTED",
   "commit": "78f74b1a295152ae6afd1c8bb8d5dc86fa935c16",
   "text": "Nice. lgtm.  Left some  style nits, but feel free to ignore.\n\n[quoted text omitted]\nThis looks like a compiler bug?"
  },
  {
   "t": "2026-08-06T10:06:24Z",
   "kind": "review_comment",
   "who": "fanquake",
   "assoc": "MEMBER",
   "path": "src/util/subprocess.h",
   "commit": "21fc8ad4b089e196b2e2beb8712e45d050dd77e3",
   "in_reply_to": 3727717812,
   "text": "Opened https://github.com/arun11299/cpp-subprocess/pull/132."
  },
  {
   "t": "2026-08-06T10:10:42Z",
   "kind": "review_comment",
   "who": "maflcko",
   "assoc": "MEMBER",
   "path": "src/test/fuzz/fuzz.cpp",
   "commit": "78f74b1a295152ae6afd1c8bb8d5dc86fa935c16",
   "in_reply_to": null,
   "text": "Oh, I missed: This one is wrong:\n\n```\ncd /home/runner/work/bitcoin/bitcoin/ci_build/src/test/fuzz/util && /usr/bin/ccache /usr/bin/clang++ -DABORT_ON_FAILED_ASSUME -DBOOST_MULTI_INDEX_DISABLE_SERIALIZATION -DBOOST_NO_CXX98_FUNCTION_BASE -DDEBUG -DDEBUG_LOCKCONTENTION -DDEBUG_LOCKORDER -DPROVIDE_FUZZ_MAIN_FUNCTION -DRPC_DOC_CHECK -I/home/runner/work/bitcoin/bitcoin/ci_build/src -I/home/runner/work/bitcoin/bitcoin/src -I/home/runner/work/bitcoin/bitcoin/src/univalue/include -Wno-error=unused-member-function -Wno-error=unused-function -O0 -ftrapv -g3 -std=c++20 -fPIC -fmacro-prefix-map=/home/runner/work/bitcoin/bitcoin/src=. -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -Wstack-protector -fstack-protector-all -fcf-protection=full -fstack-clash-protection -Wall -Wextra -Wgnu -Wcovered-switch-default -Wformat -Wformat-security -Wvla -Wshadow-field -Wthread-safety -Wloop-analysis -Wredundant-decls -Wunused-member-function -Wdate-time -Wconditional-uninitialized -Woverloaded-virtual -Wsuggest-override -Wimplicit-fallthrough -Wunreachable-code -Wdocumentation -Wself-assign -Wundef -Wno-unused-parameter -Werror -MD -MT src/test/fuzz/util/CMakeFiles/test_fuzz.dir/__/fuzz.cpp.o -MF CMakeFiles/test_fuzz.dir/__/fuzz.cpp.o.d -o CMakeFiles/test_fuzz.dir/__/fuzz.cpp.o -c /home/runner/work/bitcoin/bitcoin/src/test/fuzz/fuzz.cpp  -O3 -g2\n/home/runner/work/bitcoin/bitcoin/src/test/fuzz/fuzz.cpp:168:1: error: function declared 'noreturn' should not return [-Werror,-Winvalid-noreturn]\n  168 | }\n      | ^\n/home/runner/work/bitcoin/bitcoin/src/test/fuzz/fuzz.cpp:239:26: error: code will never be executed [-Werror,-Wunreachable-code]\n  239 |     std::vector<uint8_t> buffer;\n      |                          ^~~~~~\n2 errors generated."
  },
  {
   "t": "2026-08-06T10:27:16Z",
   "kind": "force_push",
   "who": "fanquake",
   "commit": "906dd19986681ff63ad9ca80349cdc7a118d2ca2"
  },
  {
   "t": "2026-08-06T10:34:13Z",
   "kind": "comment",
   "who": "fanquake",
   "assoc": "MEMBER",
   "text": "Opened https://github.com/bitcoin-core/leveldb-subtree/pull/64 for the leveldb changes."
  },
  {
   "t": "2026-08-06T10:38:44Z",
   "kind": "review_comment",
   "who": "fanquake",
   "assoc": "MEMBER",
   "path": "src/test/util/setup_common.cpp",
   "commit": "906dd19986681ff63ad9ca80349cdc7a118d2ca2",
   "in_reply_to": 3727707360,
   "text": "Added a commit for this."
  },
  {
   "t": "2026-08-06T11:57:33Z",
   "kind": "review_comment",
   "who": "Sjors",
   "assoc": "MEMBER",
   "path": "CMakeLists.txt",
   "commit": "21fc8ad4b089e196b2e2beb8712e45d050dd77e3",
   "in_reply_to": null,
   "text": "Documentation says:\n\n[quoted text omitted]\nSo this might give us false positives, but those could be suppressed?\n\nhttps://gcc.gnu.org/onlinedocs/gcc-4.2.2/gcc/Warning-Options.html"
  },
  {
   "t": "2026-08-06T12:39:33Z",
   "kind": "review_comment",
   "who": "fanquake",
   "assoc": "MEMBER",
   "path": "CMakeLists.txt",
   "commit": "21fc8ad4b089e196b2e2beb8712e45d050dd77e3",
   "in_reply_to": 3728554432,
   "text": "[quoted text omitted]\n\nYour documentation is about 20 years out of date. The [modern docs](https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wsuggest-attribute_003d) say:\n[quoted text omitted]"
  },
  {
   "t": "2026-08-06T12:41:43Z",
   "kind": "review_comment",
   "who": "maflcko",
   "assoc": "MEMBER",
   "path": "src/test/fuzz/fuzz.cpp",
   "commit": "78f74b1a295152ae6afd1c8bb8d5dc86fa935c16",
   "in_reply_to": 3727847383,
   "text": "Mabye a bug in clang: https://github.com/bitcoin/bitcoin/actions/runs/31093885302/job/92591251807?pr=35911#step:11:3252:\n\n```\ncd \"/home/runner/work/_temp/build_ \u20bf\ud83e\uddea_/src/test/fuzz/util\" && /usr/bin/ccache /usr/bin/clang++ -DBOOST_MULTI_INDEX_DISABLE_SERIALIZATION -DBOOST_NO_CXX98_FUNCTION_BASE -DPROVIDE_FUZZ_MAIN_FUNCTION -I\"/home/runner/work/_temp/build_ \u20bf\ud83e\uddea_/src\" -I/home/runner/work/_temp/src -I/home/runner/work/_temp/src/univalue/include -ftrivial-auto-var-init=pattern -O2 -g -std=c++20 -fPIC -fmacro-prefix-map=/home/runner/work/_temp/src=. -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -Wstack-protector -fstack-protector-all -fcf-protection=full -fstack-clash-protection -fsanitize=address,float-divide-by-zero,integer,undefined -Wall -Wextra -Wgnu -Wcovered-switch-default -Wformat -Wformat-security -Wvla -Wshadow-field -Wthread-safety -Wthread-safety-pointer -Wloop-analysis -Wredundant-decls -Wunused-member-function -Wdate-time -Wconditional-uninitialized -Woverloaded-virtual -Wsuggest-override -Wimplicit-fallthrough -Wunreachable-code -Wdocumentation -Wself-assign -Wundef -Wmissing-noreturn -Wno-unused-parameter -Werror -MD -MT src/test/fuzz/util/CMakeFiles/test_fuzz.dir/__/fuzz.cpp.o -MF CMakeFiles/test_fuzz.dir/__/fuzz.cpp.o.d -o CMakeFiles/test_fuzz.dir/__/fuzz.cpp.o -c /home/runner/work/_temp/src/test/fuzz/fuzz.cpp -DARENA_DEBUG -DDEBUG_LOCKORDER -std=c++23\n/home/runner/work/_temp/src/test/fuzz/fuzz.cpp:94:1: error: function 'initialize' could be declared with attribute 'noreturn' [-Werror,-Wmissing-noreturn]\n   94 | {\n      | ^\n1 error generated.\n\n```"
  },
  {
   "t": "2026-08-06T15:39:19Z",
   "kind": "review",
   "who": "hebasto",
   "assoc": "MEMBER",
   "state": "COMMENTED",
   "commit": "411f42b117c0b584e79561a8e85bf21f18e8b23b",
   "text": "Concept ACK."
  },
  {
   "t": "2026-08-06T16:26:28Z",
   "kind": "review",
   "who": "hebasto",
   "assoc": "MEMBER",
   "state": "COMMENTED",
   "commit": "411f42b117c0b584e79561a8e85bf21f18e8b23b",
   "text": "Could you submit commit 2b6dee1f51651ecf7245552b467417cc72a28fe3 in a separate PR? That way, we can review and land it sooner to unbreak the nightly CI."
  },
  {
   "t": "2026-08-06T16:28:35Z",
   "kind": "comment",
   "who": "fanquake",
   "assoc": "MEMBER",
   "text": "[quoted text omitted]\n\nIt is part of #35896."
  },
  {
   "t": "2026-08-06T16:36:53Z",
   "kind": "review_comment",
   "who": "fanquake",
   "assoc": "MEMBER",
   "path": "src/test/threadpool_tests.cpp",
   "commit": "411f42b117c0b584e79561a8e85bf21f18e8b23b",
   "in_reply_to": 3727714523,
   "text": "Split this up."
  },
  {
   "t": "2026-08-06T17:06:55Z",
   "kind": "force_push",
   "who": "fanquake",
   "commit": "d713ecfff3972764f8a2010eeb06453cf4fcbcc8"
  },
  {
   "t": "2026-08-07T08:41:22Z",
   "kind": "force_push",
   "who": "fanquake",
   "commit": "a8321bcf5b5e972f9bd63ab01e4c4fda08b4764d"
  },
  {
   "t": "2026-08-07T09:02:08Z",
   "kind": "force_push",
   "who": "fanquake",
   "commit": "8d88646dac6959a9360c8f8a0e684520ff99e157"
  },
  {
   "t": "2026-08-07T15:32:10Z",
   "kind": "force_push",
   "who": "fanquake",
   "commit": "16166b95dfa4a8eba232a2ef24833d846af3bad6"
  },
  {
   "t": "2026-08-10T11:11:41Z",
   "kind": "force_push",
   "who": "fanquake",
   "commit": "ab78cb50ffcfa521f4342b7e233bfea5cd234c95"
  },
  {
   "t": "2026-08-11T10:30:31Z",
   "kind": "comment",
   "who": "stickies-v",
   "assoc": "MEMBER",
   "text": "Concept ACK"
  },
  {
   "t": "2026-08-12T14:54:36Z",
   "kind": "force_push",
   "who": "fanquake",
   "commit": "9eaeb31dcbbc8bf5456757db6de56d055c49eea0"
  },
  {
   "t": "2026-08-12T15:24:08Z",
   "kind": "force_push",
   "who": "fanquake",
   "commit": "f4481b54892a842d0a73092782ff5d53c6d79b60"
  },
  {
   "t": "2026-08-12T16:25:03Z",
   "kind": "force_push",
   "who": "fanquake",
   "commit": "08cd0fd45d31e58f3e77fbfad07ad7c113a39c84"
  },
  {
   "t": "2026-08-14T15:21:25Z",
   "kind": "force_push",
   "who": "fanquake",
   "commit": "27c66eb1c9792ee2cd7c8f6bf7372823d9583e83"
  },
  {
   "t": "2026-08-18T10:13:28Z",
   "kind": "force_push",
   "who": "fanquake",
   "commit": "afff3e70d7a5b8f94fbbc818f5b861509f4e88f2"
  },
  {
   "t": "2026-08-18T10:13:52Z",
   "kind": "comment",
   "who": "fanquake",
   "assoc": "MEMBER",
   "text": "Not sure it's worth trying to pull any changes out here, so this will remain drafted until the next libmultiprocess subtree update."
  },
  {
   "t": "2026-08-31T08:41:28Z",
   "kind": "review_comment",
   "who": "maflcko",
   "assoc": "MEMBER",
   "path": "src/test/fuzz/util/net.h",
   "commit": "21fc8ad4b089e196b2e2beb8712e45d050dd77e3",
   "in_reply_to": null,
   "text": "Looks like this still fails to compile on Windows for both clang-cl and MSVC? IIRC I tried this last week on godbolt and for some reason inlining the impl into the header worked around the  bug."
  },
  {
   "t": "2026-09-09T11:27:49Z",
   "kind": "force_push",
   "who": "fanquake",
   "commit": "21fc8ad4b089e196b2e2beb8712e45d050dd77e3"
  }
 ],
 "labels_log": [
  {
   "t": "2026-08-06T10:05:36Z",
   "action": "labeled",
   "label": "CI failed",
   "who": "DrahtBot"
  },
  {
   "t": "2026-08-06T10:32:05Z",
   "action": "unlabeled",
   "label": "CI failed",
   "who": "maflcko"
  },
  {
   "t": "2026-08-06T10:36:37Z",
   "action": "labeled",
   "label": "CI failed",
   "who": "DrahtBot"
  },
  {
   "t": "2026-08-07T09:03:36Z",
   "action": "unlabeled",
   "label": "CI failed",
   "who": "maflcko"
  },
  {
   "t": "2026-08-07T10:04:08Z",
   "action": "labeled",
   "label": "CI failed",
   "who": "DrahtBot"
  }
 ],
 "state_log": [],
 "text_chars": 6214,
 "text_tokens_estimate": 1553,
 "changed_paths": [
  "CMakeLists.txt",
  "src/bitcoind.cpp",
  "src/interfaces/init.h",
  "src/interfaces/mining.h",
  "src/ipc/libmultiprocess/include/mp/proxy-types.h",
  "src/ipc/libmultiprocess/test/mp/test/foo.h",
  "src/qt/bitcoin.cpp",
  "src/qt/bitcoin.h",
  "src/rpc/mining.cpp",
  "src/sync.cpp",
  "src/test/fuzz/dbwrapper.cpp",
  "src/test/fuzz/fuzz.cpp",
  "src/test/fuzz/threadpool.cpp",
  "src/test/fuzz/util/net.cpp",
  "src/test/fuzz/util/net.h",
  "src/test/threadpool_tests.cpp",
  "src/test/util/net.cpp",
  "src/test/util/net.h",
  "src/test/util/setup_common.cpp",
  "src/util/subprocess.h"
 ],
 "files": [
  {
   "path": "CMakeLists.txt",
   "add": 5,
   "del": 0
  },
  {
   "path": "src/bitcoind.cpp",
   "add": 2,
   "del": 1
  },
  {
   "path": "src/interfaces/init.h",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/interfaces/mining.h",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/ipc/libmultiprocess/include/mp/proxy-types.h",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/ipc/libmultiprocess/test/mp/test/foo.h",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/qt/bitcoin.cpp",
   "add": 2,
   "del": 1
  },
  {
   "path": "src/qt/bitcoin.h",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/rpc/mining.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/sync.cpp",
   "add": 2,
   "del": 2
  },
  {
   "path": "src/test/fuzz/dbwrapper.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/test/fuzz/fuzz.cpp",
   "add": 50,
   "del": 41
  },
  {
   "path": "src/test/fuzz/threadpool.cpp",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/test/fuzz/util/net.cpp",
   "add": 0,
   "del": 1
  },
  {
   "path": "src/test/fuzz/util/net.h",
   "add": 1,
   "del": 1
  },
  {
   "path": "src/test/threadpool_tests.cpp",
   "add": 3,
   "del": 1
  },
  {
   "path": "src/test/util/net.cpp",
   "add": 0,
   "del": 3
  },
  {
   "path": "src/test/util/net.h",
   "add": 3,
   "del": 3
  },
  {
   "path": "src/test/util/setup_common.cpp",
   "add": 2,
   "del": 2
  },
  {
   "path": "src/util/subprocess.h",
   "add": 1,
   "del": 1
  }
 ],
 "test_lines": 115,
 "git": {
  "head": "21fc8ad4b089e196b2e2beb8712e45d050dd77e3",
  "head_matches_backup": true,
  "base": "2285d1931aa8806d0d4cf34e864ac93d82848246",
  "commits": [
   {
    "sha": "acc9be2d30",
    "subject": "[nomerge] libmultiprocess: missing [[noreturn]]",
    "files": 2,
    "add": 2,
    "del": 2
   },
   {
    "sha": "73a38f2309",
    "subject": "refactor: add missing [[noreturn]] attributes",
    "files": 15,
    "add": 18,
    "del": 20
   },
   {
    "sha": "aee968c7c5",
    "subject": "refactor: pragma around build-dependant missing noreturn",
    "files": 1,
    "add": 50,
    "del": 41
   },
   {
    "sha": "e3e1d1676f",
    "subject": "build: add -Wmissing-noreturn to warning flags",
    "files": 1,
    "add": 5,
    "del": 0
   },
   {
    "sha": "21fc8ad4b0",
    "subject": "refactor: use C++ std::exit over exit()",
    "files": 3,
    "add": 5,
    "del": 3
   }
  ],
  "patch_truncated": false
 },
 "input_hash": "6ae7b7caf2eae506",
 "extracted_at": "2026-09-17T16:15:31+00:00"
}