------- Additional Comments From rth at gcc dot gnu dot org 2005-09-03 00:27 ------- The true problem is in optimize_mode_switching. The code about line 605 that inserts code around (but not on) abnormal edges, is incorrect. This is immediately obvious in this case because the emit_insn_after must by definition insert insns after the last insn in the block, resulting in the observed assertion failure.
The solution will have to involve re-organizing optimize_mode_switching with respect to abnormal edges. As for why this is suddenly showing up, I can only imagine that the removal of EH edges (by marking local stack frame slots non-trapping) have changed the solution LCM finds to the mode switching problem. -- What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at gcc dot gnu |rth at gcc dot gnu dot org |dot org | Status|UNCONFIRMED |ASSIGNED Ever Confirmed| |1 Last reconfirmed|0000-00-00 00:00:00 |2005-09-03 00:27:51 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23706