/* { dg-do compile } */ /* { dg-options "-O3 -fdump-tree-evrp" } */ void foo(); static char a, c; static int d, e; static short b(short f, short g) { return f * g; } int main() { short h = 4; for (; d;) if (h) if(e) { if (!b(a & 1 | h, 3)) c = 0; h = 1; } if (c) foo(); } /* { dg-final { scan-tree-dump-not "c = 0" "evrp" } } */