| /* { dg-do compile } */ |
| /* { dg-options "-O2 -fdump-tree-vrp2" } */ |
| |
| void foo(void); |
| static int a, b; |
| static int *c = &a, *d; |
| static unsigned e; |
| static short f; |
| static unsigned g(unsigned char h, char i) { return h + i; } |
| int main() { |
| d = &a; |
| int *j = d; |
| e = -27; |
| for (; e > 18; e = g(e, 6)) { |
| a = 0; |
| for (; a != -3; a--) { |
| if (0 != a ^ *j) |
| for (; b; b++) f = -f; |
| else if (*c) { |
| foo(); |
| break; |
| } |
| if (!(((e) >= 235) && ((e) <= 4294967269))) { |
| __builtin_unreachable(); |
| } |
| b = 0; |
| } |
| } |
| } |
| |
| |
| /* { dg-final { scan-tree-dump-not "foo" "vrp2" } } */ |
| |
| |