)]}'
{
  "commit": "3c5809c35bdb9b24c4f3dbe7df7d7af385824c1e",
  "tree": "780471d4f685d319010e93a9837e578117aeaa6f",
  "parents": [
    "3968ba76ca4aadd1bc6089a0c0695faf12f4262e"
  ],
  "author": {
    "name": "Philipp Wollermann",
    "email": "philwo@google.com",
    "time": "Tue Sep 08 23:58:09 2026 +0200"
  },
  "committer": {
    "name": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Sep 16 05:20:39 2026 -0700"
  },
  "message": "Header check: validate includes before building diagnostics\n\nA header can belong to several targets. Diagnosing each candidate\nduring the search can build unrestricted reachability tables and\nerrors that are discarded when a later candidate permits the include.\n\nSeparate acceptance checks from diagnostics. First search for a target\nthat permits the include, checking visibility, permitted dependency\nchains, include exceptions and strict checking rules. Only enter the\ndiagnostic pass if the include is rejected.\n\nChromium `gn gen --check`, medians of five round-robin rounds:\n  Mac (M4 Max):    2.70 s -\u003e 2.62 s\n  GCE c4d-384:     4.22 s -\u003e 4.08 s\n  Intel 13900KS:   2.55 s -\u003e 2.33 s\n\nCPU time (c4d-standard-384):\n  User:  31.6 s -\u003e 28.6 s (-9%)\n  Sys:   33.9 s -\u003e 34.0 s (0%)\n\nHeap stats:\n  Allocs (count):  53.78 M -\u003e 53.51 M (-1%)\n  Heap (total):    19.78 GB -\u003e 18.10 GB (-8%)\n  Heap (peak):      3.22 GB -\u003e  2.30 GB (-29%)\n\nChange-Id: I8c0118801072da1d37b7da291e5c047f9abfcd29\nReviewed-on: https://gn-review.googlesource.com/c/gn/+/26343\nReviewed-by: Takuto Ikuta \u003ctikuta@google.com\u003e\nCommit-Queue: Philipp Wollermann \u003cphilwo@google.com\u003e\nReviewed-by: Matt Stark \u003cmsta@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c54a87565eb7f05a08f242e184a87700bff36421",
      "old_mode": 33188,
      "old_path": "src/gn/header_checker.cc",
      "new_id": "992b5645dc9efd9d8fafcf5c0155d56ba1de5f60",
      "new_mode": 33188,
      "new_path": "src/gn/header_checker.cc"
    }
  ]
}
