)]}'
{
  "commit": "504c53356bbca5c813aafbca2b79daa037b47a72",
  "tree": "986d65c251835647049422cb953dcb620e19b435",
  "parents": [
    "641ff83897203bf181dc58219abbb12a916deb7a"
  ],
  "author": {
    "name": "Eric Botcazou",
    "email": "ebotcazou@adacore.com",
    "time": "Wed Mar 04 14:36:13 2026 +0100"
  },
  "committer": {
    "name": "Eric Botcazou",
    "email": "ebotcazou@adacore.com",
    "time": "Thu May 28 17:38:59 2026 +0200"
  },
  "message": "ada: Fix bogus visibility error for inherited operator of null extension\n\nThis occurs when the operator has a heterogeneous profile and the extension\nis declared in the same scope as the type of a non-controlling parameter of\nthe operator, because Find_Dispatching_Type incorrectly returns this type.\n\ngcc/ada/ChangeLog:\n\n\t* exp_ch3.adb (Make_Controlling_Function_Wrappers): Manually set the\n\tHas_Controlling_Result flag on the wrappers.\n\t* sem_disp.ads (Override_Dispatching_Operation): Move to...\n\t* sem_disp.adb (Override_Dispatching_Operation): ...here.\n\t(Find_Dispatching_Type): Return the (controlling) result type for a\n\tcontrolling function wrapper.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6437441e02b5b3c30bd9655199dd610fef6bebda",
      "old_mode": 33188,
      "old_path": "gcc/ada/exp_ch3.adb",
      "new_id": "f419dd3919a06695a460c0e89d1a9656a20a05de",
      "new_mode": 33188,
      "new_path": "gcc/ada/exp_ch3.adb"
    },
    {
      "type": "modify",
      "old_id": "160f1a3157518b13fb2f847b2fe08c055e654a55",
      "old_mode": 33188,
      "old_path": "gcc/ada/sem_disp.adb",
      "new_id": "26ea5ea685c8f892d882316565f729ef2bfc6ba1",
      "new_mode": 33188,
      "new_path": "gcc/ada/sem_disp.adb"
    },
    {
      "type": "modify",
      "old_id": "f1bf4c4ded987b082dd937a9e6b26c461edcc333",
      "old_mode": 33188,
      "old_path": "gcc/ada/sem_disp.ads",
      "new_id": "31a5824bfbb6612b74470aacbb2575350f971817",
      "new_mode": 33188,
      "new_path": "gcc/ada/sem_disp.ads"
    }
  ]
}
