)]}'
{
  "commit": "977fd87bade47e7624d803ba0cc549d819c03fe1",
  "tree": "a1a9e48fff5c4f09e4be476cc8c661b60053530b",
  "parents": [
    "de2d80d1101e1921d719918d57589ea2668dcc1f"
  ],
  "author": {
    "name": "Andrew MacLeod",
    "email": "amacleod@redhat.com",
    "time": "Fri Aug 07 13:23:40 2026 -0400"
  },
  "committer": {
    "name": "Andrew MacLeod",
    "email": "amacleod@redhat.com",
    "time": "Tue Aug 11 13:39:23 2026 -0400"
  },
  "message": "Allow range invert to fail.\n\nReturn a boolean from range invert() to handle cases where an inversion\ncannot be represented.\n\n\tPR tree-optimization/126536\n\tgcc/\n\t* gimple-range-edge.cc (calc_switch_ranges): Check that invert worked.\n\t* gimple-range-op.cc (cfn_toupper_tolower::fold_range): Likewise.\n\t* range-op-ptr.cc (operator_equal::op1_range): Likewise.\n\t(operator_not_equal::op1_range): Likewise.\n\t* range-op.cc (operator_equal::op1_range): Likewise.\n\t(operator_not_equal::op1_range): Likewise.\n\t(operator_rshift::op1_range): Likewise.\n\t(operator_logical_not::fold_range): Likewise.\n\t* tree-ssa-loop-unswitch.cc (unswitch_predicate): Likewise.\n\t* value-range.cc (irange_bitmask::range_from_mask): Likewise.\n\t(prange::invert): Return bool for success/fail.\n\t(irange::invert): Likewise.\n\t(irange::snap_subranges): Check that invert worked.\n\t(range_tests_int_range_max): Confirm failed invert works.\n\t(range_tests_misc): Check invert return value.\n\t* value-range.h (irange::invert): Add boolean return value.\n\t(prange::invert): Add boolean return value.\n\t* vr-values.cc (simplify_switch_using_ranges): Check invert result.\n\n\tgcc/testsuite/\n\t* gcc.dg/pr126536-1.c: New.\n\t* gcc.dg/pr126536-2.c: New.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a8fc6995e852e59d14f25bccaf00077f392b95b4",
      "old_mode": 33188,
      "old_path": "gcc/gimple-range-edge.cc",
      "new_id": "5fb6f6bf783ea9b0b720a05bc311bc44cf024a61",
      "new_mode": 33188,
      "new_path": "gcc/gimple-range-edge.cc"
    },
    {
      "type": "modify",
      "old_id": "9be143f85cd140b44951516de6a00b723343daa3",
      "old_mode": 33188,
      "old_path": "gcc/gimple-range-op.cc",
      "new_id": "63eccc3fb9fe674f4303a75f93a1011eaa62a4dc",
      "new_mode": 33188,
      "new_path": "gcc/gimple-range-op.cc"
    },
    {
      "type": "modify",
      "old_id": "a96e53bf14120dfdd42f380d7619ce8d8b2fea0a",
      "old_mode": 33188,
      "old_path": "gcc/range-op-ptr.cc",
      "new_id": "8113d67f62e08b54e52d84ceb88617f94b51193d",
      "new_mode": 33188,
      "new_path": "gcc/range-op-ptr.cc"
    },
    {
      "type": "modify",
      "old_id": "333ac748815cff9bb57288a929cffc7103f3d162",
      "old_mode": 33188,
      "old_path": "gcc/range-op.cc",
      "new_id": "39c1271f0806a817177605d04cfd0fa18e68859b",
      "new_mode": 33188,
      "new_path": "gcc/range-op.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0f8701589bcb31146b172503bb3b60eb56ba0c5f",
      "new_mode": 33188,
      "new_path": "gcc/testsuite/gcc.dg/pr126536-1.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cb18c8f8662b2f1edd3f9cda4a4d8d8b8ff3ce70",
      "new_mode": 33188,
      "new_path": "gcc/testsuite/gcc.dg/pr126536-2.c"
    },
    {
      "type": "modify",
      "old_id": "a34c5385c7cc7e2f5a4d0a1fd018e8f370408266",
      "old_mode": 33188,
      "old_path": "gcc/tree-ssa-loop-unswitch.cc",
      "new_id": "6b3c8c4a29180230935c16d37fb18940bb99e981",
      "new_mode": 33188,
      "new_path": "gcc/tree-ssa-loop-unswitch.cc"
    },
    {
      "type": "modify",
      "old_id": "93a956796743f003775b2a64e8c5d9a1dfedd080",
      "old_mode": 33188,
      "old_path": "gcc/value-range.cc",
      "new_id": "8c0d418f6144b11f17527c01a877726305d07e6d",
      "new_mode": 33188,
      "new_path": "gcc/value-range.cc"
    },
    {
      "type": "modify",
      "old_id": "d7c426fd2f74627e3ea292b4d0b4061acae8700b",
      "old_mode": 33188,
      "old_path": "gcc/value-range.h",
      "new_id": "290ea4bb83c5167cf5732c0d39319fb4a1fc2a3a",
      "new_mode": 33188,
      "new_path": "gcc/value-range.h"
    },
    {
      "type": "modify",
      "old_id": "f0d9a71bd40e052f47ce35389eab2e3f70b01029",
      "old_mode": 33188,
      "old_path": "gcc/vr-values.cc",
      "new_id": "c4edff871f068ef77c3e542deb8fa08350c8ffeb",
      "new_mode": 33188,
      "new_path": "gcc/vr-values.cc"
    }
  ]
}
