)]}'
{
  "commit": "e5ef00196e3a5e8667b342bc287fc63e31f3db75",
  "tree": "a7e9107acf4aff52d17521dc42ca5e5585280b41",
  "parents": [
    "c051369369eb0442f73528f38eaa63eea4d72174"
  ],
  "author": {
    "name": "Simon Marchi",
    "email": "simon.marchi@efficios.com",
    "time": "Mon Nov 17 22:38:25 2025 -0500"
  },
  "committer": {
    "name": "Simon Marchi",
    "email": "simon.marchi@polymtl.ca",
    "time": "Sun Nov 23 23:39:53 2025 -0500"
  },
  "message": "gdb: resolve dynamic type in one value_cast case\n\nThis particular path for value_cast does not attempt to resolve a\ndynamic target type before assigning it to the new value.  Having a\nvalue with a dynamic type that hasn\u0027t been resolved causes an assert\nlater, when printing the value.  For instance, running the added test\nwithout the fix yields:\n\n    (gdb) p (outer_type) g_outer_as_char_array\n    $7 \u003d ( /home/smarchi/src/binutils-gdb/gdb/value.c:3111: internal-error: primitive_field: Assertion `type-\u003edyn_prop (DYN_PROP_DATA_LOCATION)-\u003eis_constant ()\u0027 failed.\n\nThis code path is taken when the value being cast has the same size as\nthe target type, and no earlier more specific rule matched.  Fix it by\nadding a call to resolve_dynamic_type before assigning the target type\nto the value.\n\nThe test exercises this by defining a char array\n(`g_outer_as_char_array`) with the same size as `outer_type` in the\nDWARF info, then casting it to `outer_type`.  Without the fix, this\ntriggers the assertion when printing the result.\n\nBug: https://sourceware.org/bugzilla/show_bug.cgi?id\u003d33575\nChange-Id: I547da32bbd24462b779e76bceb6e0a87859188d1\nApproved-By: Tom Tromey \u003ctom@tromey.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3a420eb3f3c6269d78c325117724b025e3c80e7f",
      "old_mode": 33188,
      "old_path": "gdb/testsuite/gdb.dwarf2/data-loc-cast.exp",
      "new_id": "5b4977529d8036f3a1086638e20c40a23df21630",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.dwarf2/data-loc-cast.exp"
    },
    {
      "type": "modify",
      "old_id": "0be0288e6aad602fd0336a0ff2b9a6d9a5f18a06",
      "old_mode": 33188,
      "old_path": "gdb/valops.c",
      "new_id": "21dac7aa59cc4b739aff43dd5dfb561559dbd503",
      "new_mode": 33188,
      "new_path": "gdb/valops.c"
    }
  ]
}
