aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/check.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fortran/check.c')
-rw-r--r--gcc/fortran/check.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/fortran/check.c b/gcc/fortran/check.c
index a24333c..947bcdc 100644
--- a/gcc/fortran/check.c
+++ b/gcc/fortran/check.c
@@ -532,7 +532,12 @@ gfc_check_associated (gfc_expr * pointer, gfc_expr * target)
else if (target->expr_type == EXPR_FUNCTION)
attr = target->symtree->n.sym->attr;
else
- gcc_assert (0); /* Target must be a variable or a function. */
+ {
+ gfc_error ("'%s' argument of '%s' intrinsic at %L must be a pointer "
+ "or target VARIABLE or FUNCTION", gfc_current_intrinsic_arg[1],
+ gfc_current_intrinsic, &target->where);
+ return FAILURE;
+ }
if (!attr.pointer && !attr.target)
{