diff options
Diffstat (limited to 'gcc/fortran/check.c')
-rw-r--r-- | gcc/fortran/check.c | 7 |
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) { |