)]}'
{
  "commit": "df63b4a2f77acd6d10aad68fdfbf4d5b698dad5b",
  "tree": "977db912c33d4cdd1f72fc455a3d1c92e300aa84",
  "parents": [
    "4cdf85859b8d19b91de8f2226fc0f0d79b3f2dbb"
  ],
  "author": {
    "name": "Jason Merrill",
    "email": "jason@redhat.com",
    "time": "Thu Jul 31 14:23:31 2025 -0400"
  },
  "committer": {
    "name": "Jason Merrill",
    "email": "jason@redhat.com",
    "time": "Thu Jul 31 14:23:31 2025 -0400"
  },
  "message": "c++: constexpr, array, private ctor [PR120800]\n\nHere cxx_eval_vec_init_1 wants to recreate the default constructor call that\nwe previously built and threw away in build_vec_init_elt, but we aren\u0027t in\nthe same access context at this point.  Since we already checked access,\nlet\u0027s just suppress access control here.\n\nRedoing overload resolution at constant evaluation time is sketchy, but\nshould usually be fine for a default/copy constructor.\n\n\tPR c++/120800\n\ngcc/cp/ChangeLog:\n\n\t* constexpr.cc (cxx_eval_vec_init_1): Suppress access control.\n\ngcc/testsuite/ChangeLog:\n\n\t* g++.dg/cpp0x/constexpr-array30.C: New test.\n\n(cherry picked from commit f6462f664725844faa97ae7e8690e4fedee65788)\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "18cc7339507ea3c0fa48e594a50b3d1e3514ddbf",
      "old_mode": 33188,
      "old_path": "gcc/cp/constexpr.cc",
      "new_id": "f6b9a808825bab49eab531125d2ce57f77a57183",
      "new_mode": 33188,
      "new_path": "gcc/cp/constexpr.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3f724072e83e4a85bdcc1e0838774871c024a8c6",
      "new_mode": 33188,
      "new_path": "gcc/testsuite/g++.dg/cpp0x/constexpr-array30.C"
    }
  ]
}
