This is a merge to the og11 branch of the patch series posted for mainline here:
https://gcc.gnu.org/pipermail/gcc-patches/2021-May/570396.html and for the og10 branch here: https://gcc.gnu.org/pipermail/gcc-patches/2021-May/570810.html Re-tested with offloading to NVPTX. I will push to the og11 branch shortly. Thanks, Julian Julian Brown (4): [og11] Rewrite GOMP_MAP_ATTACH_DETACH mappings unconditionally [og11] Unify ARRAY_REF/INDIRECT_REF stripping code in extract_base_bit_offset [og11] Refactor struct lowering for OpenACC/OpenMP in gimplify.c [og11] Rework indirect struct handling for OpenACC in gimplify.c gcc/fortran/trans-openmp.c | 20 +- gcc/gimplify.c | 1151 +++++++++++------ gcc/omp-low.c | 16 +- gcc/testsuite/g++.dg/goacc/member-array-acc.C | 13 + gcc/testsuite/g++.dg/gomp/member-array-omp.C | 13 + .../testsuite/libgomp.oacc-c++/deep-copy-17.C | 101 ++ .../libgomp.oacc-c-c++-common/deep-copy-15.c | 68 + .../libgomp.oacc-c-c++-common/deep-copy-16.c | 231 ++++ 8 files changed, 1202 insertions(+), 411 deletions(-) create mode 100644 gcc/testsuite/g++.dg/goacc/member-array-acc.C create mode 100644 gcc/testsuite/g++.dg/gomp/member-array-omp.C create mode 100644 libgomp/testsuite/libgomp.oacc-c++/deep-copy-17.C create mode 100644 libgomp/testsuite/libgomp.oacc-c-c++-common/deep-copy-15.c create mode 100644 libgomp/testsuite/libgomp.oacc-c-c++-common/deep-copy-16.c -- 2.29.2