This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/51695] New: [4.7 Regression] ICE while compiling argyllcms package
- From: "jakub at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 28 Dec 2011 11:29:10 +0000
- Subject: [Bug tree-optimization/51695] New: [4.7 Regression] ICE while compiling argyllcms package
- Auto-submitted: auto-generated
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: unassigned@gcc.gnu.org
ReportedBy: jakub@gcc.gnu.org
CC: aoliva@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