)]}'
{
  "commit": "6a6744198309c2122fed4374b97ee170a3b2d3e2",
  "tree": "b96d22f603dc189c52e4dd4c4b05a6b00d54a5ed",
  "parents": [
    "f18fc7e56fbb605aa38643881eb0228313466551"
  ],
  "author": {
    "name": "Nils-Christian Kempke",
    "email": "nils-christian.kempke@intel.com",
    "time": "Thu Oct 13 15:17:24 2022 +0200"
  },
  "committer": {
    "name": "Ijaz, Abdul B",
    "email": "abdul.b.ijaz@intel.com",
    "time": "Fri Feb 02 08:57:16 2024 +0100"
  },
  "message": "gdb, testsuite, fortran: Fix sizeof intrinsic for Fortran pointers\n\nFor Fortran pointers gfortran/ifx emits DW_TAG_pointer_types like\n\n\u003c2\u003e\u003c17d\u003e: Abbrev Number: 22 (DW_TAG_variable)\n   \u003c180\u003e   DW_AT_name        : (indirect string, offset: 0x1f1): fptr\n   \u003c184\u003e   DW_AT_type        : \u003c0x214\u003e\n...\n\u003c1\u003e\u003c219\u003e: Abbrev Number: 27 (DW_TAG_array_type)\n   \u003c21a\u003e   DW_AT_type        : \u003c0x10e\u003e\n   \u003c216\u003e   DW_AT_associated  : ...\n\nThe \u0027pointer property\u0027 in Fortran is implicitly modeled by adding a\nDW_AT_associated to the type of the variable (see also the\nDW_AT_associated description in DWARF 5).  A Fortran pointer is more\nthan an address and thus different from a C pointer.  It is a\nself contained type having additional fields such as, e.g., the rank of\nits underlying array.  This motivates the intended DWARF modeling of\nFortran pointers via the DW_AT_associated attribute.\n\nThis patch adds support for the sizeof intrinsic by simply dereferencing\npointer types when encountered during a sizeof evaluation.\n\nThe patch also adds a test for the sizeof intrinsic which was not tested\nbefore.\n\nTested-by: Thiago Jung Bauermann \u003cthiago.bauermann@linaro.org\u003e\nApproved-By: Tom Tromey \u003ctom@tromey.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9b8091a65111f0e3a977e719daec7184833b45b7",
      "old_mode": 33188,
      "old_path": "gdb/eval.c",
      "new_id": "fae76a04097c975573aef401599a183a93137c7a",
      "new_mode": 33188,
      "new_path": "gdb/eval.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "be59a37f1a6c158eb352ff8b4dcfacdee76fed60",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.fortran/sizeof.exp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b8490a1cdb1c352780d9dad0e6a2bb584fa96fde",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.fortran/sizeof.f90"
    }
  ]
}
