This series contains an updated version of the "3/4" patch from this series:
https://gcc.gnu.org/pipermail/gcc-patches/2021-February/564711.html together with bits that undo the reversions in: https://gcc.gnu.org/pipermail/gcc-patches/2021-February/565093.html and a new approach to handling components of array sections of derived types, since those are actually already explicitly disallowed by the spec (OpenACC 3.0). (Actually the 1/2 patch is the same as the previously-posted version, apart from testsuite changes.) Re-tested with offloading to AMD GCN. Further commentary on individual patches. OK? Thanks, Julian Julian Brown (2): openacc: Fix lowering for derived-type mappings through array elements openacc: Strided array sections and components of derived-type arrays gcc/fortran/openmp.c | 55 ++--- gcc/fortran/trans-openmp.c | 192 ++++++++++-------- gcc/gimplify.c | 12 ++ .../gfortran.dg/goacc/array-with-dt-1.f90 | 11 + .../gfortran.dg/goacc/array-with-dt-2.f90 | 5 +- .../gfortran.dg/goacc/array-with-dt-3.f90 | 14 ++ .../gfortran.dg/goacc/array-with-dt-4.f90 | 18 ++ .../gfortran.dg/goacc/array-with-dt-5.f90 | 12 ++ .../gfortran.dg/goacc/array-with-dt-6.f90 | 10 + .../gfortran.dg/goacc/derived-chartypes-1.f90 | 3 - .../gfortran.dg/goacc/derived-chartypes-2.f90 | 3 - .../goacc/derived-classtypes-1.f95 | 8 +- .../gfortran.dg/goacc/mapping-tests-2.f90 | 4 +- .../array-stride-dt-1.f90 | 5 +- .../derivedtypes-arrays-1.f90 | 109 ++++++++++ .../libgomp.oacc-fortran/update-dt-array.f90 | 53 +++++ 16 files changed, 392 insertions(+), 122 deletions(-) create mode 100644 gcc/testsuite/gfortran.dg/goacc/array-with-dt-1.f90 create mode 100644 gcc/testsuite/gfortran.dg/goacc/array-with-dt-3.f90 create mode 100644 gcc/testsuite/gfortran.dg/goacc/array-with-dt-4.f90 create mode 100644 gcc/testsuite/gfortran.dg/goacc/array-with-dt-5.f90 create mode 100644 gcc/testsuite/gfortran.dg/goacc/array-with-dt-6.f90 create mode 100644 libgomp/testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90 create mode 100644 libgomp/testsuite/libgomp.oacc-fortran/update-dt-array.f90 -- 2.29.2