)]}'
{
  "commit": "e1c8dac7ca8dde4d99776685dee43e05cd3ea6d2",
  "tree": "bf01fde3dbae6d30ca0d6eafc3c9a63d1a0ee38c",
  "parents": [
    "7686bcbb2b7b08688008a6a0e29e6561af1a9a98"
  ],
  "author": {
    "name": "Alexey Klimkin",
    "email": "alexey.klimkin@intel.com",
    "time": "Tue Aug 25 20:36:48 2026 -0700"
  },
  "committer": {
    "name": "Jason Merrill",
    "email": "jason@redhat.com",
    "time": "Tue Sep 01 10:52:41 2026 -0400"
  },
  "message": "libcpp: Use -1 for closed header-unit fd [PR c++/127097]\n\n_cpp_find_header_unit closes the source descriptor after resolving a\nheader unit, but records zero instead of the established -1 sentinel.\nA later textual include through an alternate pathname therefore skips\nreopening the source and reads stdin.  Descriptor zero is also a valid\nresult from open when stdin was previously closed.\n\nClose every valid descriptor and restore -1.  Add a module regression\nthat imports a header unit and includes the same file through an\nalternate spelling.\n\nAssisted-by: Claude Opus 5 (Anthropic)\n\nlibcpp/\n\tPR c++/127097\n\t* files.cc (_cpp_find_header_unit): Close descriptor zero and set\n\tthe closed descriptor sentinel to -1.\n\ngcc/testsuite/\n\tPR c++/127097\n\t* g++.dg/modules/pragma-once-hu-1_a.H: New test.\n\t* g++.dg/modules/pragma-once-hu-1_b.C: New test.\n\nSigned-off-by: Alexey Klimkin \u003calexey.klimkin@intel.com\u003e\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "549f677a77534eec54209186354631907edcafa1",
      "new_mode": 33188,
      "new_path": "gcc/testsuite/g++.dg/modules/pragma-once-hu-1_a.H"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b2871d9030a0acde4d3fe7370668c33a13829a16",
      "new_mode": 33188,
      "new_path": "gcc/testsuite/g++.dg/modules/pragma-once-hu-1_b.C"
    },
    {
      "type": "modify",
      "old_id": "917b7799be97744f53a7088377723ce86e1848ec",
      "old_mode": 33188,
      "old_path": "libcpp/files.cc",
      "new_id": "b0ecb00de24ce0c0e384ca3cc1deb3a8d95d2885",
      "new_mode": 33188,
      "new_path": "libcpp/files.cc"
    }
  ]
}
