This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/35150] ICE in expand_expr_addr_expr_1, at expr.c:6728 (regression vs. earlier 4.3)
- From: "fxcoudert at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 15 Feb 2008 16:21:02 -0000
- Subject: [Bug fortran/35150] ICE in expand_expr_addr_expr_1, at expr.c:6728 (regression vs. earlier 4.3)
- References: <bug-35150-13404@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #7 from fxcoudert at gcc dot gnu dot org 2008-02-15 16:21 -------
(In reply to comment #6)
> That is, the ELSE branch needs to be fixed as well; the fix was only for rank
> == 0.
OK, here is an updated patch:
Index: trans-expr.c
===================================================================
--- trans-expr.c (revision 132257)
+++ trans-expr.c (working copy)
@@ -2264,6 +2264,13 @@
gfc_conv_array_parameter (se, arg->expr, argss, f);
}
+ /* TODO -- the following two lines shouldn't be necessary, but
+ they're removed a bug is exposed later in the codepath.
+ This is workaround was thus introduced, but will have to be
+ removed; please see PR 35150 for details about the issue. */
+ se->expr = convert (pvoid_type_node, se->expr);
+ se->expr = gfc_evaluate_now (se->expr, &se->pre);
+
return 0;
}
else if (sym->intmod_sym_id == ISOCBINDING_FUNLOC)
I've started regtesting and will submit it for review afterwards.
--
fxcoudert at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |fxcoudert at gcc dot gnu dot
|dot org |org
Status|NEW |ASSIGNED
Last reconfirmed|2008-02-14 12:42:39 |2008-02-15 16:21:02
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35150