diff options
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r-- | gcc/fortran/resolve.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index 35352c6..949fe98 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -15493,7 +15493,10 @@ check_data_variable (gfc_data_variable *var, locus *where) e = e->value.function.actual->expr; if (e->expr_type != EXPR_VARIABLE) - gfc_internal_error ("check_data_variable(): Bad expression"); + { + gfc_error ("Expecting definable entity near %L", where); + return false; + } sym = e->symtree->n.sym; @@ -15501,6 +15504,7 @@ check_data_variable (gfc_data_variable *var, locus *where) { gfc_error ("BLOCK DATA element %qs at %L must be in COMMON", sym->name, &sym->declared_at); + return false; } if (e->ref == NULL && sym->as) |