Fortran : ICE in gfc_check_reshape PR95585
Issue an error where an array is used before its definition instead of an ICE. 2020-06-22 Steven G. Kargl <kargl@gcc.gnu.org> gcc/fortran/ PR fortran/95585 * check.c (gfc_check_reshape): Add check for a value when the symbol has an attribute flavor FL_PARAMETER. 2020-06-22 Mark Eggleston <markeggleston@gcc.gnu.org> gcc/testsuite/ PR fortran/95585 * gfortran.dg/pr95585.f90: New test.
This commit is contained in:
parent
d57bf2315e
commit
d9aed5f1cc
@ -4742,7 +4742,8 @@ gfc_check_reshape (gfc_expr *source, gfc_expr *shape,
|
||||
&& shape->ref->u.ar.as->lower[0]->ts.type == BT_INTEGER
|
||||
&& shape->ref->u.ar.as->upper[0]->expr_type == EXPR_CONSTANT
|
||||
&& shape->ref->u.ar.as->upper[0]->ts.type == BT_INTEGER
|
||||
&& shape->symtree->n.sym->attr.flavor == FL_PARAMETER)
|
||||
&& shape->symtree->n.sym->attr.flavor == FL_PARAMETER
|
||||
&& shape->symtree->n.sym->value)
|
||||
{
|
||||
int i, extent;
|
||||
gfc_expr *e, *v;
|
||||
|
6
gcc/testsuite/gfortran.dg/pr95585.f90
Normal file
6
gcc/testsuite/gfortran.dg/pr95585.f90
Normal file
@ -0,0 +1,6 @@
|
||||
! { dg-do compile }
|
||||
|
||||
program test
|
||||
integer, parameter :: a(2) = reshape([1, 2], a) ! { dg-error "before its definition" }
|
||||
end program
|
||||
|
Loading…
Reference in New Issue
Block a user