cc1plus -O2 -fnon-call-exceptions fails with internal compiler error: in expand_assignment, at expr.c:3929
for void run (void) { float stack[1]; float *sp = stack; try { float value2 = ((float) *(--sp)); float value1 = ((float) *(--sp)); *(sp++) = (value1 - value2); } catch (int *ex) { } } which is a testcase for PR 23706 written by Andrew Pinski. It passes on 3.4 and 4.0. -- Summary: [4.1 Regression] ICE in expand_assignment Product: gcc Version: 4.1.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P2 Component: rtl-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: kkojima at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23714