diff options
author | Steven G. Kargl <kargl@gcc.gnu.org> | 2019-08-17 14:23:10 +0000 |
---|---|---|
committer | Steven G. Kargl <kargl@gcc.gnu.org> | 2019-08-17 14:23:10 +0000 |
commit | 4f81c2a3c54d8ea9ebd7c703eef9f6d09088eb29 (patch) | |
tree | ed13385cd80efbcefdd9826bfb5250862c4a9815 /gcc/fortran/primary.c | |
parent | 1e67491a0db526fa3137cf6576dde13cd785d364 (diff) | |
download | gcc-4f81c2a3c54d8ea9ebd7c703eef9f6d09088eb29.zip gcc-4f81c2a3c54d8ea9ebd7c703eef9f6d09088eb29.tar.gz gcc-4f81c2a3c54d8ea9ebd7c703eef9f6d09088eb29.tar.bz2 |
re PR fortran/91471 (f951: internal compiler error: gfc_variable_attr(): Bad array reference)
2019-08-17 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/91471
* primary.c (gfc_variable_attr): Remove a gfc_internal_error(),
which cannot be reached by conforming Fortran code, but seems to
be reachable from nonconforming Fortran code. Treat the AR_UNKNOWN
case as a no-op.
2019-08-17 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/91471
* gfortran.dg/pr91471.f90: New test.
From-SVN: r274603
Diffstat (limited to 'gcc/fortran/primary.c')
-rw-r--r-- | gcc/fortran/primary.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/gcc/fortran/primary.c b/gcc/fortran/primary.c index 1cc1018..a33a797 100644 --- a/gcc/fortran/primary.c +++ b/gcc/fortran/primary.c @@ -2597,12 +2597,10 @@ gfc_variable_attr (gfc_expr *expr, gfc_typespec *ts) break; case AR_UNKNOWN: - /* If any of start, end or stride is not integer, there will - already have been an error issued. */ - int errors; - gfc_get_errors (NULL, &errors); - if (errors == 0) - gfc_internal_error ("gfc_variable_attr(): Bad array reference"); + /* For standard conforming code, AR_UNKNOWN should not happen. + For nonconforming code, gfortran can end up here. Treat it + as a no-op. */ + break; } break; |