http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49067
Richard Guenther <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED Last reconfirmed| |2011.05.20 10:18:43 Component|c |tree-optimization Version|4.5.2 |4.5.3 AssignedTo|unassigned at gcc dot |rguenth at gcc dot gnu.org |gnu.org | Target Milestone|--- |4.5.4 Summary|Internal Compiler Error |[4.5 Regression] Internal |with -O3 |Compiler Error with -O3 Ever Confirmed|0 |1 --- Comment #2 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-05-20 10:18:43 UTC --- static inline int armature_circle_doSelectJoint(void *userData) { struct { void *vc; short select; int mval[2]; float radius; } *data = userData; return (0 <= data->radius && data->select); } int armature_circle_select(void) { struct { void *vc; short select, mval[2]; float radius; } data; return armature_circle_doSelectJoint(&data); } it's caused by the mismatch of the local struct declarations (might be a bug in your app as well).