)]}'
{
  "commit": "971ad0877a1b10d5fccfeeec1aedcfd2b1ca0d8c",
  "tree": "b42832449867a388879b3266a012730886498fd5",
  "parents": [
    "1b4e77b4ffd64273bfd280f61135901714ca28e4"
  ],
  "author": {
    "name": "Mathias Aparicio",
    "email": "aparicio@adacore.com",
    "time": "Mon Apr 27 10:53:07 2026 +0200"
  },
  "committer": {
    "name": "Marc Poulhiès",
    "email": "dkm@gcc.gnu.org",
    "time": "Thu Jun 04 10:42:16 2026 +0200"
  },
  "message": "ada: Fix ICE on Case_Expression a Pragma_Predicate\n\nBefore this patch, Case_Expression inside a Pragma_Predicate with a\nnon-static alternative (like a function call) led the Case_Expression\nNode to survive unexpanded and caused gnat_to_gnu to abort\n(gcc_unreachable for N_Case_Expression).\n\nThe guard in Expand_N_Case_Expression checking for non-static\nPredicate_Aspect used Has_Dynamic_Predicate_Aspect, which was false\neven with a function call in a Case_Expression alternative.\n\nNow add Is_Predicate_Static to the check, which fixes the bug.\nThis function was private to the sem_ch13 package, so it was made public.\n\ngcc/ada/ChangeLog:\n\n\t* sem_ch13.ads (Is_Predicate_Static): Public declaration,\n\tfrom the private function in the package body\n\t* sem_ch13.adb (Is_Predicate_Static): Remove the now-redundant\n\tlocal declaration\n\t* exp_ch4.adb (Expand_N_Case_Expression): Add Is_Predicate_Static\n\tto the static guard\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e8eaa7556b7cda0fe2f030e9db5673134ab0192d",
      "old_mode": 33188,
      "old_path": "gcc/ada/exp_ch4.adb",
      "new_id": "f3db82c3e72432628f3c34d4b4ab7d574e55f7aa",
      "new_mode": 33188,
      "new_path": "gcc/ada/exp_ch4.adb"
    },
    {
      "type": "modify",
      "old_id": "d84e8aeb29f36ae30d782c74f73c3eb32e3677ef",
      "old_mode": 33188,
      "old_path": "gcc/ada/sem_ch13.adb",
      "new_id": "3de75356d4e6f0431fb554f764861e8be38f9605",
      "new_mode": 33188,
      "new_path": "gcc/ada/sem_ch13.adb"
    },
    {
      "type": "modify",
      "old_id": "ca9dbf9f8411c9b52c21fe0c33aa6e1fb99a5431",
      "old_mode": 33188,
      "old_path": "gcc/ada/sem_ch13.ads",
      "new_id": "0b31c9e15d6302ecdbf627245b0ef68a47957125",
      "new_mode": 33188,
      "new_path": "gcc/ada/sem_ch13.ads"
    }
  ]
}
