aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/primary.c
diff options
context:
space:
mode:
authorSteven G. Kargl <kargl@gcc.gnu.org>2019-08-17 14:23:10 +0000
committerSteven G. Kargl <kargl@gcc.gnu.org>2019-08-17 14:23:10 +0000
commit4f81c2a3c54d8ea9ebd7c703eef9f6d09088eb29 (patch)
treeed13385cd80efbcefdd9826bfb5250862c4a9815 /gcc/fortran/primary.c
parent1e67491a0db526fa3137cf6576dde13cd785d364 (diff)
downloadgcc-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.c10
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;