diff options
Diffstat (limited to 'gcc/fortran/resolve.c')
| -rw-r--r-- | gcc/fortran/resolve.c | 17 |
1 files changed, 2 insertions, 15 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index 740679edd2d..b6853129d59 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -776,7 +776,7 @@ resolve_common_blocks (gfc_symtree *common_root) gfc_error ("COMMON block '%s' at %L is also an intrinsic procedure", sym->name, &common_root->n.common->where); else if (sym->attr.result - ||(sym->attr.function && gfc_current_ns->proc_name == sym)) + || gfc_is_function_return_value (sym, gfc_current_ns)) gfc_notify_std (GFC_STD_F2003, "Fortran 2003: COMMON block '%s' at %L " "that is also a function result", sym->name, &common_root->n.common->where); @@ -1400,10 +1400,7 @@ resolve_actual_arglist (gfc_actual_arglist *arg, procedure_type ptype, /* If the symbol is the function that names the current (or parent) scope, then we really have a variable reference. */ - if (sym->attr.function && sym->result == sym - && (sym->ns->proc_name == sym - || (sym->ns->parent != NULL - && sym->ns->parent->proc_name == sym))) + if (gfc_is_function_return_value (sym, sym->ns)) goto got_variable; /* If all else fails, see if we have a specific intrinsic. */ @@ -5125,7 +5122,6 @@ check_members (gfc_symbol *derived) static void check_class_members (gfc_symbol *derived) { - gfc_symbol* tbp_sym; gfc_expr *e; gfc_symtree *tbp; gfc_class_esym_list *etmp; @@ -5145,8 +5141,6 @@ check_class_members (gfc_symbol *derived) if (tbp->n.tb->is_generic) { - tbp_sym = NULL; - /* If we have to match a passed class member, force the actual expression to have the correct type. */ if (!tbp->n.tb->nopass) @@ -5159,8 +5153,6 @@ check_class_members (gfc_symbol *derived) e->value.compcall.base_object->ts.u.derived = derived; } } - else - tbp_sym = tbp->n.tb->u.specific->n.sym; e->value.compcall.tbp = tbp->n.tb; e->value.compcall.name = tbp->name; @@ -7613,14 +7605,12 @@ resolve_ordinary_assign (gfc_code *code, gfc_namespace *ns) if (gfc_extend_assign (code, ns) == SUCCESS) { - gfc_symbol* assign_proc; gfc_expr** rhsptr; if (code->op == EXEC_ASSIGN_CALL) { lhs = code->ext.actual->expr; rhsptr = &code->ext.actual->next->expr; - assign_proc = code->symtree->n.sym; } else { @@ -7635,7 +7625,6 @@ resolve_ordinary_assign (gfc_code *code, gfc_namespace *ns) tbp = code->expr1->value.compcall.tbp; gcc_assert (!tbp->is_generic); - assign_proc = tbp->u.specific->n.sym; } /* Make a temporary rhs when there is a default initializer @@ -11693,10 +11682,8 @@ resolve_equivalence (gfc_equiv *eq) seq_type eq_type, last_eq_type; gfc_typespec *last_ts; int object, cnt_protected; - const char *value_name; const char *msg; - value_name = NULL; last_ts = &eq->expr->symtree->n.sym->ts; first_sym = eq->expr->symtree->n.sym; |
