------- Comment #4 from ubizjak at gmail dot com 2009-08-01 22:04 ------- Confirmed as gcc-4.5 regression.
Reduced testcase: --cut here-- extern struct { int demoplayback; float movetype; int cameramode; float idealpitch; float pitchvel; int nodrift; int paused; int onground; } cl; void V_DriftRoll (void); static void V_DriftPitch (void) { float move; if (!cl.onground || cl.movetype == 5 || cl.movetype == 8 || cl.demoplayback || cl.nodrift ) return; move = cl.pitchvel; if (cl.idealpitch > 0) ; else if (cl.idealpitch < 0) { if (move > -cl.idealpitch) cl.pitchvel = 0; } } V_RenderView (void) { if (!cl.paused && !cl.cameramode) { V_DriftPitch (); V_DriftRoll (); } } --cut here-- gcc -m32 -march=i586 -ffast-math -O2: test.c: In function V_RenderView: test.c:45:1: internal compiler error: in get_hard_regnum, at reg-stack.c:741 Please submit a full bug report, -- ubizjak at gmail dot com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2009-08-01 22:04:31 date| | Summary|ICE in get_hard_regnum, at |[4.5 Regression] ICE in |reg-stack.c:741 |get_hard_regnum, at reg- | |stack.c:741 Target Milestone|--- |4.5.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40934