aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/resolve.c
diff options
context:
space:
mode:
authorSteven G. Kargl <kargl@gcc.gnu.org>2018-12-09 06:09:47 +0000
committerSteven G. Kargl <kargl@gcc.gnu.org>2018-12-09 06:09:47 +0000
commit019761d2240fc7754a50ee2b9e199c0591c21c7a (patch)
tree5cc946a0f65e28d4a293cfc6d07523c9ca682f38 /gcc/fortran/resolve.c
parent094a0eccf9bbd33d452713192905a759f9ac27a9 (diff)
downloadgcc-019761d2240fc7754a50ee2b9e199c0591c21c7a.zip
gcc-019761d2240fc7754a50ee2b9e199c0591c21c7a.tar.gz
gcc-019761d2240fc7754a50ee2b9e199c0591c21c7a.tar.bz2
re PR fortran/88048 (ICE in check_data_variable, at fortran/resolve.c:15491)
2018-12-08 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/88048 * resolve.c (check_data_variable): Named constant cannot be a data object. 2018-12-08 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/88048 * gfortran.dg/pr88048.f90: New test. From-SVN: r266916
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r--gcc/fortran/resolve.c6
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)