This series contains several backports from mainline to the og10 branch concerning character and complex types and mixed derived types and array accesses in OpenACC directive clauses.
Tested with offloading to AMD GCN. I will apply shortly. Julian Brown (5): [og10] openacc: Dereference BT_CLASS data pointers but not BT_DERIVED pointers [og10] openacc: Use class_pointer instead of pointer attribute for class types [og10] openacc: Character types and mixed arrays/derived type tests [og10] openacc: Fix lowering for derived-type mappings through array elements [og10] openacc: Strided array sections and components of derived-type arrays Tobias Burnus (2): [og10] Fortran: OpenMP/OpenACC diagnose substring rejections better [og10] Fortran: %re/%im fixes for OpenMP/OpenACC + gfc_is_simplify_contiguous gcc/ChangeLog.omp | 7 + gcc/fortran/ChangeLog.omp | 43 ++++ gcc/fortran/expr.c | 2 + gcc/fortran/openmp.c | 66 ++++-- gcc/fortran/trans-openmp.c | 196 ++++++++++-------- gcc/gimplify.c | 12 ++ gcc/testsuite/ChangeLog.omp | 53 +++++ .../gfortran.dg/goacc/array-with-dt-1.f90 | 11 + .../gfortran.dg/goacc/array-with-dt-2.f90 | 10 + .../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 | 129 ++++++++++++ .../gfortran.dg/goacc/derived-chartypes-2.f90 | 129 ++++++++++++ .../gfortran.dg/goacc/derived-chartypes-3.f90 | 38 ++++ .../gfortran.dg/goacc/derived-chartypes-4.f90 | 38 ++++ .../goacc/derived-classtypes-1.f95 | 129 ++++++++++++ .../gfortran.dg/goacc/mapping-tests-2.f90 | 4 +- .../gfortran.dg/goacc/ref_inquiry.f90 | 48 +++++ gcc/testsuite/gfortran.dg/goacc/substring.f90 | 27 +++ .../gfortran.dg/gomp/ref_inquiry.f90 | 35 ++++ gcc/testsuite/gfortran.dg/gomp/substring.f90 | 22 ++ libgomp/ChangeLog.omp | 20 ++ .../array-stride-dt-1.f90 | 44 ++++ .../derivedtypes-arrays-1.f90 | 109 ++++++++++ .../libgomp.oacc-fortran/update-dt-array.f90 | 53 +++++ 27 files changed, 1176 insertions(+), 103 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-2.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 gcc/testsuite/gfortran.dg/goacc/derived-chartypes-1.f90 create mode 100644 gcc/testsuite/gfortran.dg/goacc/derived-chartypes-2.f90 create mode 100644 gcc/testsuite/gfortran.dg/goacc/derived-chartypes-3.f90 create mode 100644 gcc/testsuite/gfortran.dg/goacc/derived-chartypes-4.f90 create mode 100644 gcc/testsuite/gfortran.dg/goacc/derived-classtypes-1.f95 create mode 100644 gcc/testsuite/gfortran.dg/goacc/ref_inquiry.f90 create mode 100644 gcc/testsuite/gfortran.dg/goacc/substring.f90 create mode 100644 gcc/testsuite/gfortran.dg/gomp/ref_inquiry.f90 create mode 100644 gcc/testsuite/gfortran.dg/gomp/substring.f90 create mode 100644 libgomp/testsuite/libgomp.oacc-fortran/array-stride-dt-1.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