summaryrefslogtreecommitdiffstats
path: root/gcc/fortran/resolve.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r--gcc/fortran/resolve.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index 5c9786b7410..3924dc69aa9 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -858,6 +858,13 @@ resolve_actual_arglist (gfc_actual_arglist * arg)
&e->where);
}
+ if (sym->attr.generic)
+ {
+ gfc_error ("GENERIC non-INTRINSIC procedure '%s' is not "
+ "allowed as an actual argument at %L", sym->name,
+ &e->where);
+ }
+
/* If the symbol is the function that names the current (or
parent) scope, then we really have a variable reference. */
@@ -2883,10 +2890,10 @@ resolve_variable (gfc_expr * e)
t = SUCCESS;
- if (e->ref && resolve_ref (e) == FAILURE)
+ if (e->symtree == NULL)
return FAILURE;
- if (e->symtree == NULL)
+ if (e->ref && resolve_ref (e) == FAILURE)
return FAILURE;
sym = e->symtree->n.sym;
@@ -5360,7 +5367,6 @@ static try
resolve_fl_derived (gfc_symbol *sym)
{
gfc_component *c;
- gfc_dt_list * dt_list;
int i;
for (c = sym->components; c != NULL; c = c->next)
@@ -5423,12 +5429,6 @@ resolve_fl_derived (gfc_symbol *sym)
}
}
- /* Add derived type to the derived type list. */
- dt_list = gfc_get_dt_list ();
- dt_list->next = sym->ns->derived_types;
- dt_list->derived = sym;
- sym->ns->derived_types = dt_list;
-
return SUCCESS;
}
OpenPOWER on IntegriCloud