This series (for the og13 branch) implements 'declare mapper' support for 'target update' directives, and improves diagnostic behaviour relating to mapper expansion (mostly for Fortran) in several ways.
Tested with offloading to AMD GCN. Further comments on individual patches. I will apply (to the og13 branch) shortly. Julian Brown (5): OpenMP: Move Fortran 'declare mapper' instantiation code OpenMP: Reprocess expanded clauses after 'declare mapper' instantiation OpenMP: Introduce C_ORT_{,OMP_}DECLARE_MAPPER c_omp_region_type types OpenMP: Look up 'declare mapper' definitions at resolution time not parse time OpenMP: Enable 'declare mapper' mappers for 'target update' directives gcc/c-family/c-common.h | 4 + gcc/c-family/c-omp.cc | 117 +- gcc/c/c-parser.cc | 152 +- gcc/cp/parser.cc | 160 +- gcc/cp/pt.cc | 4 +- gcc/fortran/gfortran.h | 20 + gcc/fortran/match.cc | 4 +- gcc/fortran/module.cc | 6 + gcc/fortran/openmp.cc | 1803 +++++++++++------ gcc/fortran/trans-openmp.cc | 408 +--- .../c-c++-common/gomp/declare-mapper-17.c | 38 + .../c-c++-common/gomp/declare-mapper-19.c | 40 + .../gfortran.dg/gomp/declare-mapper-24.f90 | 43 + .../gfortran.dg/gomp/declare-mapper-26.f90 | 28 + .../gfortran.dg/gomp/declare-mapper-27.f90 | 25 + .../gfortran.dg/gomp/declare-mapper-29.f90 | 22 + .../gfortran.dg/gomp/declare-mapper-31.f90 | 34 + .../libgomp.c-c++-common/declare-mapper-18.c | 33 + .../libgomp.fortran/declare-mapper-25.f90 | 44 + .../libgomp.fortran/declare-mapper-28.f90 | 38 + .../libgomp.fortran/declare-mapper-30.f90 | 24 + .../libgomp.fortran/declare-mapper-4.f90 | 18 +- 22 files changed, 2031 insertions(+), 1034 deletions(-) create mode 100644 gcc/testsuite/c-c++-common/gomp/declare-mapper-17.c create mode 100644 gcc/testsuite/c-c++-common/gomp/declare-mapper-19.c create mode 100644 gcc/testsuite/gfortran.dg/gomp/declare-mapper-24.f90 create mode 100644 gcc/testsuite/gfortran.dg/gomp/declare-mapper-26.f90 create mode 100644 gcc/testsuite/gfortran.dg/gomp/declare-mapper-27.f90 create mode 100644 gcc/testsuite/gfortran.dg/gomp/declare-mapper-29.f90 create mode 100644 gcc/testsuite/gfortran.dg/gomp/declare-mapper-31.f90 create mode 100644 libgomp/testsuite/libgomp.c-c++-common/declare-mapper-18.c create mode 100644 libgomp/testsuite/libgomp.fortran/declare-mapper-25.f90 create mode 100644 libgomp/testsuite/libgomp.fortran/declare-mapper-28.f90 create mode 100644 libgomp/testsuite/libgomp.fortran/declare-mapper-30.f90 -- 2.25.1