)]}'
{
  "commit": "8491b800473971ba1c03e74866273cb8dcaa5edc",
  "tree": "be56aba4198b8e41ec6c755ddd16349e60e53987",
  "parents": [
    "a3e091b914824dfe30fcfa92166be54113729b6f"
  ],
  "author": {
    "name": "Patrick Palka",
    "email": "ppalka@redhat.com",
    "time": "Thu Jul 30 21:18:38 2026 -0400"
  },
  "committer": {
    "name": "Patrick Palka",
    "email": "ppalka@redhat.com",
    "time": "Thu Jul 30 21:19:23 2026 -0400"
  },
  "message": "c++: resolvedness of resolve_nondeduced_context result [PR126406]\n\nIn r16-5967-gbae0ed69e1862a we removed the mark_used call from\nresolve_nondeduced_context under the rationale that it should be\nthe caller\u0027s responsiblity to mark_used.\n\nRemoving the call however now means that resolve_nondeduced_context\ncould return a specialization whose type is not yet fully resolved\n(i.e. has an uninstantiated noexcept or undeduced return type), and\ncallers that immediately inspect TREE_TYPE of the result (such as\nstandard_conversion and build_conditional_expr) now misbehave.\n\nIn light of such callers, this patch reverts r16-5967; it\u0027s not\nnecessary to fix PR119343 because after r16-6276 convert_to_void\nnow properly propagates an error_mark_node result from\nresolve_nondeduced_context.\n\n\tPR c++/126406\n\tPR c++/119343\n\ngcc/cp/ChangeLog:\n\n\t* pt.cc (resolve_nondeduced_context): Revert r16-5967 change.\n\ngcc/testsuite/ChangeLog:\n\n\t* g++.dg/cpp0x/cond2a.C: New test.\n\t* g++.dg/cpp1y/auto-fn67.C: New test.\n\t* g++.dg/cpp1z/noexcept-type29.C: New test.\n\nReviewed-by: Jason Merrill \u003cjason@redhat.com\u003e\n(cherry picked from commit e873aac49eb2b58ae18e05f4150826278bdbb3cb)\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9d3a972e300217db3977162a0ad889b027838cee",
      "old_mode": 33188,
      "old_path": "gcc/cp/pt.cc",
      "new_id": "dd578bef0bb315cdf0e7efb69b1a84e3ad11f544",
      "new_mode": 33188,
      "new_path": "gcc/cp/pt.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a42e198291b29b7828a211bd4df3df4fa0b77f03",
      "new_mode": 33188,
      "new_path": "gcc/testsuite/g++.dg/cpp0x/cond2a.C"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "82d74441feec14c4a08a17d3e6dc8f03223ae772",
      "new_mode": 33188,
      "new_path": "gcc/testsuite/g++.dg/cpp1y/auto-fn67.C"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "51bf87c85fa527a18e762d5c8c21f028a316217f",
      "new_mode": 33188,
      "new_path": "gcc/testsuite/g++.dg/cpp1z/noexcept-type29.C"
    }
  ]
}
