)]}'
{
  "commit": "cd3594fdb75b4d3003c3499eac41f4009bb27898",
  "tree": "9e2f7e576fbe88be74aae461f40a063ad1c1ff13",
  "parents": [
    "a549af202c351ef2683101c360e57ca98953db05"
  ],
  "author": {
    "name": "Simon Marchi",
    "email": "simon.marchi@polymtl.ca",
    "time": "Mon Jan 26 10:54:00 2026 -0500"
  },
  "committer": {
    "name": "Simon Marchi",
    "email": "simon.marchi@polymtl.ca",
    "time": "Mon Feb 02 13:13:09 2026 -0500"
  },
  "message": "gdb: tighten assertions in set_type_vptr_*\n\nIn C++, only structures and classes (represented by TYPE_CODE_STRUCT)\ncan participate in inheritance.  I therefore think it does not make\nsense to allow for TYPE_CODE_UNION in set_type_vptr_basetype and\nset_type_vptr_fieldno.  Remove the possibility for the type to be a\nunion in these functions.\n\nAlso, for the same reason, add an assertion that checks the type of\nbasetype in set_type_vptr_basetype.\n\nI did not change the getters (internal_type_vptr_fieldno and\ninternal_type_vptr_basetype), because it seems like they are called by\ncode that handles similarly both structures and unions.  Making those\nstricter would require adding conditions in those callers, which doesn\u0027t\nlook like an improvement.  For unions, they will correctly return an\n\"invalid\" value.\n\nChange allocate_cplus_struct_type to not use set_type_vptr_fieldno to\ninitialize the field to -1, otherwise it would trip the assertion when\ninitializing for a union type.\n\nChange-Id: Id9b2dc288f24d50eb50da46782b5ec6de5682e81\nApproved-by: Kevin Buettner \u003ckevinb@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "75404d00e1ac78cf10600993608e2f60d9c0b34a",
      "old_mode": 33188,
      "old_path": "gdb/gdbtypes.c",
      "new_id": "bd9abc7e70048cc3111db8a95196c41c38a46a45",
      "new_mode": 33188,
      "new_path": "gdb/gdbtypes.c"
    }
  ]
}
