gcc/libgomp
Julian Brown 1cbd94e834 Fix potential race condition in OpenACC "exit data" operations
PR libgomp/92881

	libgomp/
	* libgomp.h (gomp_remove_var_async): Add prototype.
	* oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
	gomp_remove_var.
	* target.c (gomp_unref_tgt): Change return type to bool, indicating
	whether target_mem_desc was unmapped.
	(gomp_unref_tgt_void): New.
	(gomp_remove_var): Reimplement in terms of...
	(gomp_remove_var_internal): ...this new helper function.
	(gomp_remove_var_async): New, implemented using above helper function.
	(gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
	gomp_unref_tgt.

Reviewed-by: Thomas Schwinge <thomas@codesourcery.com>

From-SVN: r279388
2019-12-13 23:14:15 +00:00
..
config libgomp – spelling fixes, incl. omp_lib.h.in 2019-12-11 12:45:49 +01:00
plugin libgomp – spelling fixes, incl. omp_lib.h.in 2019-12-11 12:45:49 +01:00
testsuite Update OpenACC tests for amdgcn 2019-12-13 17:40:06 +00:00
acc_prof.h
acinclude.m4
aclocal.m4
affinity-fmt.c
affinity.c
alloc.c
atomic.c
barrier.c
ChangeLog Fix potential race condition in OpenACC "exit data" operations 2019-12-13 23:14:15 +00:00
ChangeLog.graphite
config.h.in GCN libgomp port 2019-11-13 12:38:04 +00:00
configure GCN Libgomp Plugin 2019-11-13 12:38:18 +00:00
configure.ac GCN libgomp port 2019-11-13 12:38:04 +00:00
configure.tgt musl: Fix invalid tls model in libgomp and libitm PR91938 2019-12-03 11:13:38 +00:00
critical.c
env.c libgomp – spelling fixes, incl. omp_lib.h.in 2019-12-11 12:45:49 +01:00
error.c
fortran.c
hashtab.h
icv-device.c
icv.c
iter_ull.c
iter.c
libgomp_f.h.in
libgomp_g.h [OpenACC] Consolidate 'GOACC_enter_exit_data' and its helper functions in 'libgomp/oacc-mem.c' 2019-12-11 17:49:17 +01:00
libgomp-plugin.c
libgomp-plugin.h GCN libgomp port 2019-11-13 12:38:04 +00:00
libgomp.h Fix potential race condition in OpenACC "exit data" operations 2019-12-13 23:14:15 +00:00
libgomp.map
libgomp.spec.in
libgomp.texi libgomp – spelling fixes, incl. omp_lib.h.in 2019-12-11 12:45:49 +01:00
lock.c
loop_ull.c
loop.c
Makefile.am GCN libgomp port 2019-11-13 12:38:04 +00:00
Makefile.in GCN Libgomp Plugin 2019-11-13 12:38:18 +00:00
oacc-async.c [OpenACC] Consolidate 'async'/'wait' code in 'libgomp/oacc-async.c' 2019-12-11 17:49:08 +01:00
oacc-cuda.c
oacc-host.c libgomp – spelling fixes, incl. omp_lib.h.in 2019-12-11 12:45:49 +01:00
oacc-init.c Validate acc_device_t uses 2019-12-03 14:38:54 +00:00
oacc-int.h [OpenACC] Consolidate 'async'/'wait' code in 'libgomp/oacc-async.c' 2019-12-11 17:49:08 +01:00
oacc-mem.c Fix potential race condition in OpenACC "exit data" operations 2019-12-13 23:14:15 +00:00
oacc-parallel.c [OpenACC] Consolidate 'GOACC_enter_exit_data' and its helper functions in 'libgomp/oacc-mem.c' 2019-12-11 17:49:17 +01:00
oacc-plugin.c
oacc-plugin.h
oacc-profiling.c
oacc-target.c GCN libgomp port 2019-11-13 12:38:04 +00:00
omp_lib.f90.in
omp_lib.h.in libgomp – spelling fixes, incl. omp_lib.h.in 2019-12-11 12:45:49 +01:00
omp.h.in
openacc_lib.h
openacc.f90 libgomp/openacc.f90 – clean-up public/private attributes 2019-12-13 08:58:53 +01:00
openacc.h GCN libgomp port 2019-11-13 12:38:04 +00:00
ordered.c libgomp – spelling fixes, incl. omp_lib.h.in 2019-12-11 12:45:49 +01:00
parallel.c
priority_queue.c
priority_queue.h
sections.c
secure_getenv.h
single.c
splay-tree.c
splay-tree.h
target.c Fix potential race condition in OpenACC "exit data" operations 2019-12-13 23:14:15 +00:00
task.c libgomp – spelling fixes, incl. omp_lib.h.in 2019-12-11 12:45:49 +01:00
taskloop.c
team.c libgomp – spelling fixes, incl. omp_lib.h.in 2019-12-11 12:45:49 +01:00
teams.c
work.c Optimize GCN OpenMP malloc performance 2019-11-13 12:38:09 +00:00