diff options
author | Thomas Schwinge <thomas@codesourcery.com> | 2020-05-20 10:56:55 +0200 |
---|---|---|
committer | Thomas Schwinge <thomas@codesourcery.com> | 2020-06-05 18:04:13 +0200 |
commit | 1afc4672561a41dfbf4e3f2c1f35f7a5b7a20339 (patch) | |
tree | 18196bbe57bf3736f043a52b2204734bafbde9fb /libgomp/oacc-mem.c | |
parent | 1809628fcff6f512206efd0ae03a3faccc4096f2 (diff) |
[OpenACC 'exit data'] Strip 'GOMP_MAP_STRUCT' mappings
These are not itself necessary for OpenACC 'exit data' directives, and are
skipped over (now) in libgomp. We might as well not emit them to start with,
in line with the equivalent OpenMP directive. We keep the no-op handling in
libgomp for the reason of backward compatibility.
gcc/
* gimplify.c (gimplify_adjust_omp_clauses): Remove
'GOMP_MAP_STRUCT' mapping from OpenACC 'exit data' directives.
gcc/testsuite/
* c-c++-common/goacc/struct-enter-exit-data-1.c: New file.
libgomp/
* oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
special handling.
Co-Authored-By: Julian Brown <julian@codesourcery.com>
Diffstat (limited to 'libgomp/oacc-mem.c')
-rw-r--r-- | libgomp/oacc-mem.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libgomp/oacc-mem.c b/libgomp/oacc-mem.c index 1e3685a073d..936ae649dd9 100644 --- a/libgomp/oacc-mem.c +++ b/libgomp/oacc-mem.c @@ -1181,8 +1181,9 @@ goacc_exit_data_internal (struct gomp_device_descr *acc_dev, size_t mapnum, case GOMP_MAP_STRUCT: /* Skip the 'GOMP_MAP_STRUCT' itself, and use the regular processing - for all its entries. TODO: don't generate these no-op - 'GOMP_MAP_STRUCT's. */ + for all its entries. This special handling exists for GCC 10.1 + compatibility; afterwards, we're not generating these no-op + 'GOMP_MAP_STRUCT's anymore. */ break; default: |