)]}'
{
  "commit": "daa030592bdd082c8a4452df5fddc98686d51003",
  "tree": "d9360abd09aba60aec4cd66af994808447e0e59a",
  "parents": [
    "88e202e51767c33d13cde495be11cd5092247592"
  ],
  "author": {
    "name": "Jakub Jelinek",
    "email": "jakub@redhat.com",
    "time": "Tue Feb 17 08:59:06 2026 +0100"
  },
  "committer": {
    "name": "Jakub Jelinek",
    "email": "jakub@gcc.gnu.org",
    "time": "Sun Mar 08 06:16:27 2026 +0100"
  },
  "message": "c++: Don\u0027t support auto{x} and auto(x) for C++ \u003c 23 in SFINAE contexts [PR120685]\n\nThe following testcase ICEs in C++ 20 and older, because during\ndiagnostics dump_template_bindings attempts to tsubst with tf_none\nsomething and we try to emit a pedwarn during that.\nWhile the pedwarn could be just guarded with if (complain \u0026 tf_warning),\nI thought we shouldn\u0027t support extensions for tf_none and should\ninstead return error_mark_node.\n\nThe following patch does that.\n\nThis is a backport version which instead of not supporting it just\ndoesn\u0027t emit the pedwarn in SFINAE contexts for C++ \u003c 23 but still\nsupports it.\n\n2026-02-17  Jakub Jelinek  \u003cjakub@redhat.com\u003e\n\n\tPR c++/120685\n\t* typeck2.cc (build_functional_cast_1): For C++23 auto(x)\n\twithout tf_warning or tf_error return error_mark_node instead of\n\temitting pedwarn and handling it.\n\t* semantics.cc (finish_compound_literal): Similarly for C++26\n\tauto{x}.\n\n\t* g++.dg/cpp23/auto-fncast19.C: New test.\n\n(cherry picked from commit f7efb7e62ac96c082ff72549d9b3789f5c955efe)\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0b5584c10e7c81619ca48402966b2361ed54d6eb",
      "old_mode": 33188,
      "old_path": "gcc/cp/semantics.cc",
      "new_id": "46e7baaea1f7fb4d1227589b36d06ecb9a7a4764",
      "new_mode": 33188,
      "new_path": "gcc/cp/semantics.cc"
    },
    {
      "type": "modify",
      "old_id": "45edd1801739039a87fea0191a43673f30bb4e02",
      "old_mode": 33188,
      "old_path": "gcc/cp/typeck2.cc",
      "new_id": "1ed20ce921c05db0af7c2e9388405ca6844da0c3",
      "new_mode": 33188,
      "new_path": "gcc/cp/typeck2.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "05a0dbd2f39e296eb46f3e0f125bc0287316905f",
      "new_mode": 33188,
      "new_path": "gcc/testsuite/g++.dg/cpp23/auto-fncast19.C"
    }
  ]
}
