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

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Adjusted testcase, -O0 works, -O1/-O2 aborts.

int a, b, d;

__attribute__((noipa)) void
foo (void)
{
  ++d;
}

int
main ()
{
  for (a = 0; a > -3; a -= 2)
    {
      int c = a;
      b = __INT_MAX__ - 3000;
      a = ~c * b;
      foo ();
      if (!a)
        break;
      a = c;
    }
  if (d != 2)
    __builtin_abort ();
}

Reply via email to