diff options
| author | Harald Anlauf <anlauf@gmx.de> | 2024-01-19 21:20:44 +0100 |
|---|---|---|
| committer | Harald Anlauf <anlauf@gmx.de> | 2024-01-19 21:20:44 +0100 |
| commit | 94b2e6cb1cc4feb122bf77f19a657c97bffa9b42 (patch) | |
| tree | 34440d1f54094c4948b968b85bcd17f32bb658ef /gcc/fortran | |
| parent | 1338ad23ff3c1e4f552cdb64e36cef12eda2e050 (diff) | |
| download | gcc-94b2e6cb1cc4feb122bf77f19a657c97bffa9b42.zip gcc-94b2e6cb1cc4feb122bf77f19a657c97bffa9b42.tar.gz gcc-94b2e6cb1cc4feb122bf77f19a657c97bffa9b42.tar.bz2 | |
Fortran: fix wrong array bounds check [PR113471]
gcc/fortran/ChangeLog:
PR fortran/113471
* trans-array.cc (array_bound_check_elemental): Array bounds check
shall apply here to elemental dimensions of an array section only.
gcc/testsuite/ChangeLog:
PR fortran/113471
* gfortran.dg/bounds_check_24.f90: New test.
Diffstat (limited to 'gcc/fortran')
| -rw-r--r-- | gcc/fortran/trans-array.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/fortran/trans-array.cc b/gcc/fortran/trans-array.cc index 26e7ada..878a92a 100644 --- a/gcc/fortran/trans-array.cc +++ b/gcc/fortran/trans-array.cc @@ -3600,7 +3600,7 @@ array_bound_check_elemental (gfc_se * se, gfc_ss * ss, gfc_expr * expr) continue; } - if (ref->type == REF_ARRAY && ref->u.ar.dimen > 0) + if (ref->type == REF_ARRAY && ref->u.ar.type == AR_SECTION) { ar = &ref->u.ar; for (dim = 0; dim < ar->dimen; dim++) |
