This failure is not "worked around" by FRE unlike 38932. /* { dg-do compile } */ /* { dg-options "-O2 --std=gnu99" } */
/* This variable needed only to work around earlier optimizations than VRP. */ 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 (); } -- Summary: [4.4 Regression] ICE in set_value_range, at tree- vrp.c:398 Product: gcc Version: 4.4.0 Status: UNCONFIRMED Keywords: ice-on-valid-code, patch Severity: critical Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: bonzini at gnu dot org GCC target triplet: i686-pc-linux-gnu BugsThisDependsOn: 38932 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38934