This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/55405] ICE with optimization
- From: "mikpe at it dot uu.se" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 25 Nov 2012 11:11:35 +0000
- Subject: [Bug c++/55405] ICE with optimization
- Auto-submitted: auto-generated
- References: <bug-55405-4@http.gcc.gnu.org/bugzilla/>
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.