------- Comment #8 from bonzini at gnu dot org 2009-01-22 12:10 ------- Fixing FRE still causes an ICE for this:
/* { dg-do compile } */ /* { dg-options "-O2 --std=gnu99" } */ /* This variable needed only to exercise FRE instead of CCP. */ unsigned char g; extern void abort(); void f (long long int p) { g = 255; /* { dg-warning "constant is" "" { target *-*-* } 14 } */ /* { dg-warning "overflow" "" { target *-*-* } 14 } */ if (p >= -9223372036854775808LL - (signed char) g) p = 1; if (p) abort (); } Should I create a separate bug and submit what I have? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38932