/* PR debug/83480 */ /* { dg-do compile } */ /* { dg-options "-O2 -g -fselective-scheduling2 -ftree-vectorize -freorder-blocks-algorithm=simple -fnon-call-exceptions -fno-guess-branch-probability -fno-peephole2 -fno-tree-sink -fno-tree-scev-cprop" } */ signed char a, b; void foo (int x, int y) { for (a = 1; a != 0; ++a) ; for (;;) { int c; b %= (y != 0 && a != 0) + 1; if (a != 0) y = b; for (c = 0; c < 50; ++c) ++x; if (a < 1) { while (x != 0) ; a /= 0; /* { dg-warning "division by zero" } */ } } }