]> git.ipfire.org Git - thirdparty/gcc.git/commit
openacc: Don't strip TO_PSET/POINTER for enter/exit data
authorJulian Brown <julian@codesourcery.com>
Fri, 5 Jun 2020 21:46:41 +0000 (14:46 -0700)
committerJulian Brown <julian@codesourcery.com>
Mon, 13 Jul 2020 17:10:34 +0000 (10:10 -0700)
commitfdf787499fb29cd6307baaa199cda44d3a006fc1
treea67336e6570d608ee85569185fa38c619d90d149
parentb8be66d151f5dac79ca13aed33697466195dd800
openacc: Don't strip TO_PSET/POINTER for enter/exit data

OpenACC 2.6 specifies that the array descriptor (when present) must be
copied to the target before attaching pointers in Fortran. This patch
reverses the stripping of GOMP_MAP_TO_PSET and GOMP_MAP_POINTER that
was introduced by the "OpenACC reference count overhaul" patch.

2020-07-10  Julian Brown  <julian@codesourcery.com>
    Thomas Schwinge  <thomas@codesourcery.com>

gcc/
* gimplify.c (gimplify_scan_omp_clauses): Do not strip
GOMP_MAP_TO_PSET/GOMP_MAP_POINTER for OpenACC enter/exit data
directives (see also PR92929).

gcc/testsuite/
* gfortran.dg/goacc/finalize-1.f: Update expected dump output.

libgomp/
* testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.

Co-Authored-By: Thomas Schwinge <thomas@codesourcery.com>
(cherry picked from commit b20097c65d2e74b1901fba1c55c77f0407e542d2)
gcc/gimplify.c
gcc/testsuite/gfortran.dg/goacc/finalize-1.f
libgomp/testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90 [new file with mode: 0644]