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