)]}'
{
  "commit": "bfedd20faaab8ee827db47c1b2e3f879fd8ba808",
  "tree": "200446d538eb865f31a38fcb29fa3bc1596d3022",
  "parents": [
    "3d735adfba3217ee7e968f250eadf5f3f0a34ecd"
  ],
  "author": {
    "name": "Josef Melcr",
    "email": "josef.melcr@suse.com",
    "time": "Thu Sep 10 15:49:31 2026 +0200"
  },
  "committer": {
    "name": "Josef Melcr",
    "email": "josef.melcr@suse.com",
    "time": "Mon Sep 21 11:43:47 2026 +0200"
  },
  "message": "Downgrade IFN_ASSUME from const to pure\n\nThis patch changes IFN_ASSUME to be pure instead of const.  The const\nattribute means (not only) that the function cannot read global memory.\nWhile this is true for the internal call itself, it is only a dispatcher\nfor the outlined assume body, which may read any memory, e.g. below:\n\n```\nstruct S\n{\n  int x, y;\n};\n\nbool bar (int, int);\n\nbool\nfoo (struct S *s)\n{\n  [[assume (bar (s-\u003ex, s-\u003ey))]];\n  return s-\u003ex;\n}\n```\n\nNow, the read does not actually happen in reality, as the assume\u0027s body\ndoes not make into the final binary, but the call being marked\nincorrectly as const makes our analysis less accurate.\n\n\tPR ipa/127104\n\ngcc/ChangeLog:\n\n\t* internal-fn.def (ASSUME): Downgrade from const to pure.\n\nSigned-off-by: Josef Melcr \u003cjosef.melcr@suse.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "af9f92950c73dd09356a625cf2fd60a5abbde321",
      "old_mode": 33188,
      "old_path": "gcc/internal-fn.def",
      "new_id": "b1c46a82a520107a4cd44b324318032f89ae0734",
      "new_mode": 33188,
      "new_path": "gcc/internal-fn.def"
    }
  ]
}
