aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/resolve.c
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2016-01-24 22:18:20 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2016-01-24 22:18:20 +0000
commit1d10121630ae1181611e6fde41ab89c507326564 (patch)
treec4b2fa7e6c57bcfb7985990569b0be1ef4d640b7 /gcc/fortran/resolve.c
parenta220f43d1154946c71a2208bd13fa10c945fcef5 (diff)
downloadgcc-1d10121630ae1181611e6fde41ab89c507326564.zip
gcc-1d10121630ae1181611e6fde41ab89c507326564.tar.gz
gcc-1d10121630ae1181611e6fde41ab89c507326564.tar.bz2
[multiple changes]
2016-01-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/69397 PR fortran/68442 * interface.c (gfc_arglist_matches_symbol): Replace assert with a return false if not a procedure. * resolve.c (resolve_generic_f): Test if we are resolving an initialization expression and adjust error message accordingly. 2016-01-24 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/69397 PR fortran/68442 * gfortran.dg/interface_38.f90: New test. * gfortran.dg/interface_39.f90: New test. From-SVN: r232780
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;
}