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
This commit is contained in:
parent
094a0eccf9
commit
019761d224
File diff suppressed because it is too large
Load Diff
@ -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)
|
||||
|
@ -1,4 +1,9 @@
|
||||
20180-12-08 Steven G. Kargl <kargl@gcc.gnu.org>
|
||||
2018-12-08 Steven G. Kargl <kargl@gcc.gnu.org>
|
||||
|
||||
PR fortran/88048
|
||||
* gfortran.dg/pr88048.f90: New test.
|
||||
|
||||
2018-12-08 Steven G. Kargl <kargl@gcc.gnu.org>
|
||||
|
||||
PR fortran/87945
|
||||
* gfortran.dg/pr87945_1.f90: New test.
|
||||
|
7
gcc/testsuite/gfortran.dg/pr88048.f90
Normal file
7
gcc/testsuite/gfortran.dg/pr88048.f90
Normal file
@ -0,0 +1,7 @@
|
||||
! { dg-do compile }
|
||||
! PR fortran/88048
|
||||
program p
|
||||
integer, parameter :: a(2) = 1
|
||||
data a(2) /a(1)/ ! { dg-error "definable entity" }
|
||||
print *, a
|
||||
end
|
Loading…
Reference in New Issue
Block a user