------- 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