http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51695
Bug #: 51695 Summary: [4.7 Regression] ICE while compiling argyllcms package Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassig...@gcc.gnu.org ReportedBy: ja...@gcc.gnu.org CC: aol...@gcc.gnu.org Target: x86_64-linux typedef struct { struct { unsigned int t1, t2, t3, t4, t5, t6; } t; int p; struct { double X, Y, Z; } r; } T; typedef struct { T *h; } S; static unsigned int v = 0x12345678; int foo (void) { v = (v & 0x80000000) ? ((v << 1) ^ 0xa398655d) : (v << 1); return 0; } double bar (void) { unsigned int o; v = (v & 0x80000000) ? ((v << 1) ^ 0xa398655d) : (v << 1); o = v & 0xffff; return (double) o / 32768.0; } int baz (void) { foo (); return 0; } void test (S *x) { T *t = x->h; t->t.t1 = foo (); t->t.t2 = foo (); t->t.t3 = foo (); t->t.t4 = foo (); t->t.t5 = foo (); t->t.t6 = foo (); t->p = baz (); t->r.X = bar (); t->r.Y = bar (); t->r.Z = bar (); } ICEs at -O2 -g, starting with http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=180194