aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/resolve.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r--gcc/fortran/resolve.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index 64d59ce..8752fd4 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -2565,8 +2565,13 @@ generic:
that possesses a matching interface. 14.1.2.4 */
if (sym && !intr && !gfc_is_intrinsic (sym, 0, expr->where))
{
- gfc_error ("There is no specific function for the generic %qs "
- "at %L", expr->symtree->n.sym->name, &expr->where);
+ if (gfc_init_expr_flag)
+ gfc_error ("Function %qs in initialization expression at %L "
+ "must be an intrinsic function",
+ expr->symtree->n.sym->name, &expr->where);
+ else
+ gfc_error ("There is no specific function for the generic %qs "
+ "at %L", expr->symtree->n.sym->name, &expr->where);
return false;
}