)]}'
{
  "commit": "53efe2f8d66bb6344d084ca731cdec56873c62a0",
  "tree": "be24946775f821343a5d17b4fb38463a687b5053",
  "parents": [
    "692c4cad4662c7672d05f8cad7fc075db20f53a0"
  ],
  "author": {
    "name": "Marek Polacek",
    "email": "polacek@redhat.com",
    "time": "Fri Jun 05 13:42:06 2026 -0400"
  },
  "committer": {
    "name": "Marek Polacek",
    "email": "polacek@redhat.com",
    "time": "Wed Jun 17 11:05:00 2026 -0400"
  },
  "message": "c++: explicit instantiation and noexcept-specifier [PR125613]\n\nThis patch implements this part of [except.spec]: In an explicit\ninstantiation a noexcept-specifier may be specified, but is not required.\nIf a noexcept-specifier is specified in an explicit instantiation, the\nexception specification shall be the same as the exception specification\nof all other declarations of that function.\n\nBut we are not checking this, and are the only compiler that accepts:\n\n  template\u003ctypename T\u003e\n  void fn (T) {}\n  template void fn\u003cint\u003e(int) noexcept;\n\n\tPR c++/125613\n\ngcc/cp/ChangeLog:\n\n\t* pt.cc (check_explicit_specialization): Detect mismatches in\n\texception specifications in explicit instantiations.\n\ngcc/testsuite/ChangeLog:\n\n\t* g++.dg/cpp0x/explicit-inst2.C: New test.\n\nReviewed-by: Jason Merrill \u003cjason@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0c0b3a2cac571be33d48ca674e75336a48ccd458",
      "old_mode": 33188,
      "old_path": "gcc/cp/pt.cc",
      "new_id": "b7f9ce4cb0a3c933ece8e8366b5d5604a0581b45",
      "new_mode": 33188,
      "new_path": "gcc/cp/pt.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "537a1af89ddb7d3d069c81cf75b85a83bb6991a2",
      "new_mode": 33188,
      "new_path": "gcc/testsuite/g++.dg/cpp0x/explicit-inst2.C"
    }
  ]
}
