)]}'
{
  "commit": "fa4fe2753730f412c00a8a2bab36550c063dfe95",
  "tree": "cb5dd0b34e23d0cb57668b61fcdd208898c3cb11",
  "parents": [
    "83e8a5d39be92d052986fe9d687a049db8f9f8c5"
  ],
  "author": {
    "name": "Nick Alcock",
    "email": "nick.alcock@oracle.com",
    "time": "Mon Feb 24 18:11:25 2025 +0000"
  },
  "committer": {
    "name": "Nick Alcock",
    "email": "nick.alcock@oracle.com",
    "time": "Fri Feb 28 14:16:42 2025 +0000"
  },
  "message": "libctf: fix cv-qualified unnamed struct/union field lookup\n\nGCC permits not only unnamed structs and unions, but cv-qualified ones.\nOur earlier fix in 6c3a38777b38a2ad87e2b2bcec4567578d1c83ec supported\nunnamed structs and unions, but only unqualified ones.\n\nResolving away cvr-quals of nameless fields (and, irrelevantly, typedefs)\nis easy and fixes this problem.\n\nTests adjusted accordingly.\n\nlibctf/\n\tPR libctf/32746\n\t* ctf-types.c (ctf_member_next): Resolve away cv-quals.\n\t(ctf_member_info): Likewise.\n\t* testsuite/libctf-lookup/struct-iteration-ctf.c: Add a cv-qualified\n\ttype or two: make sure to keep a non-qualified one.\n\t* testsuite/libctf-lookup/struct-iteration.c: Verify consistency\n\tof ctf_member_next and ctf_member_info.\n\t* testsuite/libctf-lookup/struct-iteration.lk: Adjust.\n\nTested-by: Stephen Brennan \u003cstephen.s.brennan@oracle.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "067a5d8c3a06cfea5473532501edf033a56d8d21",
      "old_mode": 33188,
      "old_path": "libctf/ctf-types.c",
      "new_id": "044a1852c1a5f7d3739aeb3ba1433e10487e9083",
      "new_mode": 33188,
      "new_path": "libctf/ctf-types.c"
    },
    {
      "type": "modify",
      "old_id": "7df67adaad4d2343002a5b268d1a5d83d142ce79",
      "old_mode": 33188,
      "old_path": "libctf/testsuite/libctf-lookup/struct-iteration-ctf.c",
      "new_id": "0a50d2c35af32d190ebf9035eb334eff09830d6c",
      "new_mode": 33188,
      "new_path": "libctf/testsuite/libctf-lookup/struct-iteration-ctf.c"
    },
    {
      "type": "modify",
      "old_id": "b2408648e7e224c4f5fbef327c3de931005a625f",
      "old_mode": 33188,
      "old_path": "libctf/testsuite/libctf-lookup/struct-iteration.c",
      "new_id": "fd89ca77f67f11d37aaab1c7f2e4f268dab2ca0d",
      "new_mode": 33188,
      "new_path": "libctf/testsuite/libctf-lookup/struct-iteration.c"
    },
    {
      "type": "modify",
      "old_id": "fd644547f20d90138c6adb5dd63ba24e3806366c",
      "old_mode": 33188,
      "old_path": "libctf/testsuite/libctf-lookup/struct-iteration.lk",
      "new_id": "aecffd44c85b3e8a97063069da0889920939c387",
      "new_mode": 33188,
      "new_path": "libctf/testsuite/libctf-lookup/struct-iteration.lk"
    }
  ]
}
