void af (void *a) { } void bf (void) { int i = 1; char v[i]; af (v); } .../xgcc (-B...) -fexceptions -c -o 1.o 1.c 1.c: In function ‘bf’: 1.c:6:1: internal compiler error: in expand_gimple_stmt_1, at cfgexpand.c:1947 xgcc (GCC) 4.5.0 20090925 (experimental)
Confirmed.
Because we have GIMPLE_RESX which we don't expect here.
We're generating exception handling code when we previously didn't. I suspect that the changes to the call location of using_eh_for_cleanups.
Subject: Bug 41469 Author: rth Date: Fri Sep 25 20:49:08 2009 New Revision: 152185 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=152185 Log: PR middle-end/41469 * tree-eh.c (lower_resx): Resolve RESX with no source region to __builtin_trap. (gate_lower_resx): New. (gate_lower_eh_dispatch): Rename from gate_lower_ehcontrol. Added: trunk/gcc/testsuite/gcc.c-torture/compile/pr41469.c Modified: trunk/gcc/ChangeLog trunk/gcc/tree-eh.c
Fixed.