Commit 16acb1a8 by Dominique d'Humieres Committed by Dominique d'Humieres

[multiple changes]

2016-01-24  Dominique d'Humieres <dominiq@lps.ens.fr>

	PR fortran/68283
	* primary.c (gfc_variable_attr): revert revision r221955,
	call gfc_internal_error only if there is no error.

2016-01-24  Dominique d'Humieres  <dominiq@lps.ens.fr>

	PR fortran/68283
	gfortran.dg/pr68283.f90: New test.

From-SVN: r232775
parent 094773e8
2016-01-24 Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/68283
* primary.c (gfc_variable_attr): revert revision r221955,
call gfc_internal_error only if there is no error.
2016-01-24 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/66094
......
......@@ -2194,7 +2194,7 @@ check_substring:
symbol_attribute
gfc_variable_attr (gfc_expr *expr, gfc_typespec *ts)
{
int dimension, codimension, pointer, allocatable, target, n;
int dimension, codimension, pointer, allocatable, target;
symbol_attribute attr;
gfc_ref *ref;
gfc_symbol *sym;
......@@ -2253,22 +2253,9 @@ gfc_variable_attr (gfc_expr *expr, gfc_typespec *ts)
case AR_UNKNOWN:
/* If any of start, end or stride is not integer, there will
already have been an error issued. */
for (n = 0; n < ref->u.ar.as->rank; n++)
{
int errors;
gfc_get_errors (NULL, &errors);
if (((ref->u.ar.start[n]
&& ref->u.ar.start[n]->ts.type == BT_UNKNOWN)
||
(ref->u.ar.end[n]
&& ref->u.ar.end[n]->ts.type == BT_UNKNOWN)
||
(ref->u.ar.stride[n]
&& ref->u.ar.stride[n]->ts.type == BT_UNKNOWN))
&& errors > 0)
break;
}
if (n == ref->u.ar.as->rank)
int errors;
gfc_get_errors (NULL, &errors);
if (errors == 0)
gfc_internal_error ("gfc_variable_attr(): Bad array reference");
}
......
2016-01-24 Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/68283
gfortran.dg/pr68283.f90: New test.
2016-01-24 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/66094
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment