OpenACC 2.6 deep copy: libgomp parts
authorJulian Brown <julian@codesourcery.com>
Fri, 20 Dec 2019 01:20:30 +0000 (01:20 +0000)
committerJulian Brown <jules@gcc.gnu.org>
Fri, 20 Dec 2019 01:20:30 +0000 (01:20 +0000)
commit8e7e71ff247fb116dc381c5ef0c09acc0d2b374f
tree9658797bbde5c04da496ffedb8f577b2ba553c98
parent5d5be7bfb56358feed3fd137d4e3994fcf17f543
OpenACC 2.6 deep copy: libgomp parts

include/
* gomp-constants.h (GOMP_MAP_FLAG_SPECIAL_4, GOMP_MAP_DEEP_COPY):
Define.
(gomp_map_kind): Add GOMP_MAP_ATTACH, GOMP_MAP_DETACH,
GOMP_MAP_FORCE_DETACH.

libgomp/
* libgomp.h (struct target_var_desc): Add do_detach flag.
* oacc-init.c (acc_shutdown_1): Free aux block if present.
* oacc-mem.c (find_group_last): Add SIZES parameter. Support
struct components.  Tidy up and add some new checks.
(goacc_enter_data_internal): Update call to find_group_last.
(goacc_exit_data_internal): Support detach operations and
GOMP_MAP_STRUCT.
(GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
GOMP_MAP_FORCE_PRESENT in finalization detection code.  Handle
attach/detach in enter/exit data detection code.
* target.c (gomp_map_vars_existing): Initialise do_detach field of
tgt_var_desc.
(gomp_map_vars_internal): Support attach.
(gomp_unmap_vars_internal): Support detach.

From-SVN: r279625
include/ChangeLog
include/gomp-constants.h
libgomp/ChangeLog
libgomp/libgomp.h
libgomp/oacc-mem.c
libgomp/target.c