/* { dg-do compile } */ /* { dg-options "-O2 -fdump-tree-evrp -fdisable-tree-ethread" } */ char a[2]; extern int x; void foo(void); signed char g (signed char min, signed char max) { signed char i = x; return i < min || max < i ? min : i; } void gg (void) { signed char t = g (0, 9); /* Ranger should be able to remove the call to foo (). */ if (t > 9 || t < 0) foo (); } /* { dg-final { scan-tree-dump-not "foo" "evrp" } } */