https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102043
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |9.5
Summary|Wrong array types used for |[9/10/11/12 Regression]
|negative stride accesses |Wrong array types used for
| |negative stride accesses,
| |gfortran.dg/vector_subscrip
| |t_1.f90 FAILs
--- Comment #33 from Richard Biener <rguenth at gcc dot gnu.org> ---
Btw, for GCC 12 this issue is now visible through IPA modref and results in
FAIL: gfortran.dg/vector_subscript_1.f90 -O1 execution test
FAIL: gfortran.dg/vector_subscript_1.f90 -O2 execution test
FAIL: gfortran.dg/vector_subscript_1.f90 -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions execution test
FAIL: gfortran.dg/vector_subscript_1.f90 -O3 -g execution test
FAIL: gfortran.dg/vector_subscript_1.f90 -Os execution test
on at least x86_64-unknown-linux-gnu.
The testcase in comment#1 still shows the issue is older. Since gfortran 4.3
works this is still a regression (I guess it became appearant with the alias
oracle introduction).
I'll note the OpenACC folks were working on making gfortran preserve
multi-dimensional array accesses, not sure how they address this issue. With
a single dimension there's not much value in using ARRAY_REF over
pointer arithmetic and dereference.