------- Comment #12 from ebotcazou at gcc dot gnu dot org 2009-04-24 16:15 ------- > The folded a >= C1 && a <= C2 case is correctly handled by VRP btw (I added > that long time ago).
e...@atlantis:~/build/gcc/native32> cat t.c extern void link_failure (void); static int __attribute__ ((noinline)) foo (int x) { if (x >= 1) if (x <= 10) { if (x < 1 || x > 10) link_failure (); x = x + 1; } return x; } int main (void) { int i = foo (0); return 0; } e...@atlantis:~/build/gcc/native32> gcc/xgcc -Bgcc -o t t.c -O2 /tmp/ccMEXYFN.o: In function `foo': t.c:(.text+0x24): undefined reference to `link_failure' collect2: ld returned 1 exit status e...@atlantis:~/build/gcc/native32> -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39870