http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55405
Mikael Pettersson <mikpe at it dot uu.se> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mikpe at it dot uu.se --- Comment #2 from Mikael Pettersson <mikpe at it dot uu.se> 2012-11-25 11:11:35 UTC --- The ICE at -O3 was first silenced for 4.7 by r171450: http://gcc.gnu.org/ml/gcc-cvs/2011-03/msg00874.html, when Richard Biener added an FRE pass after early SRA. At that point the ICE still occurs with -O3 -fno-tree-fre. The ICE at -O3 -fno-tree-fre was then silenced for 4.7 by r181014: http://gcc.gnu.org/ml/gcc-cvs/2011-11/msg00300.html, a missed-optimization patch. The ICE before r181014 occurs because except.c:emit_to_new_bb_before is called on an insn whose BLOCK_FOR_INSN is NULL, but that NULL pointer is unconditionally dereferenced causing a SEGV. I don't see a sane way of handling that locally.