This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/47224] [F03] ICE with procedure pointer component
- From: "janus at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 9 Jan 2011 17:45:28 +0000
- Subject: [Bug fortran/47224] [F03] ICE with procedure pointer component
- Auto-submitted: auto-generated
- References: <bug-47224-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47224
janus at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
AssignedTo|unassigned at gcc dot |janus at gcc dot gnu.org
|gnu.org |
Summary|ICE with procedure pointer |[F03] ICE with procedure
|component |pointer component
--- Comment #3 from janus at gcc dot gnu.org 2011-01-09 17:45:24 UTC ---
Mine. The following patch fixes the test case and does not produce any
regressions on the "proc_*" test cases, which means it's probably fine:
Index: gcc/fortran/resolve.c
===================================================================
--- gcc/fortran/resolve.c (revision 168609)
+++ gcc/fortran/resolve.c (working copy)
@@ -1528,7 +1528,6 @@ resolve_actual_arglist (gfc_actual_arglist *arg, p
gfc_symtree *parent_st;
gfc_expr *e;
int save_need_full_assumed_size;
- gfc_component *comp;
for (; arg; arg = arg->next)
{
@@ -1548,20 +1547,6 @@ resolve_actual_arglist (gfc_actual_arglist *arg, p
continue;
}
- if (gfc_is_proc_ptr_comp (e, &comp))
- {
- e->ts = comp->ts;
- if (e->expr_type == EXPR_PPC)
- {
- if (comp->as != NULL)
- e->rank = comp->as->rank;
- e->expr_type = EXPR_FUNCTION;
- }
- if (gfc_resolve_expr (e) == FAILURE)
- return FAILURE;
- goto argument_list;
- }
-
if (e->expr_type == EXPR_VARIABLE
&& e->symtree->n.sym->attr.generic
&& no_formal_args
Will commit as obvious after a full regtest.