https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98513

--- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> ---
Even more reduced test-case:

$ cat combined.cc
unsigned var;
unsigned array[2];
int zero = 0, minus_2 = -2;

const int &max(const int &a, const int &b) { return a > b ? a : b; }

void test(int minus_1)
{
  for (unsigned i_0 = 0; i_0 < 2; i_0++)
    {
      for (int i_3 = 0; i_3 < zero; i_3++)
        for (int i_4 = 0; i_4 < 2; i_4++)
          var = max(minus_1, 0);

      for (int i_6 = minus_2 + 2; i_6 < minus_1 + 3; i_6++)
        array[i_6] = zero;
    }
}

int main() { test(-1); }

Reply via email to