http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57073
--- Comment #5 from Tobias Burnus <burnus at gcc dot gnu.org> 2013-04-29 08:40:59 UTC --- (In reply to comment #4) > patch that fails The Fortran patch of the attachments looks fine, except for: + one = gfc_copy_expr (op1); + gfc_free_expr (op1); + gfc_free_expr (op2); + *e = *one; I would simply use "op1" directly instead of copying it and then freeing the original expression. Otherwise, I am okay with that patch (with a test case). * * * For the middle-end patch: Richard things that the problem is probably in the COND_EXPR re-gimplification - which means the problem is elsewhere.