diff options
author | Thomas Schwinge <thomas@codesourcery.com> | 2018-12-14 21:42:50 +0100 |
---|---|---|
committer | Thomas Schwinge <tschwinge@gcc.gnu.org> | 2018-12-14 21:42:50 +0100 |
commit | c8ab8aab9f93380f874e199366ad1badd1dd59a4 (patch) | |
tree | 8551a5c19b0097badb3aeb47da3eb46ba13afe0b /libgomp/oacc-parallel.c | |
parent | 1404af62dc414cc6b06e6c8c94a9922e04a7986a (diff) | |
download | gcc-c8ab8aab9f93380f874e199366ad1badd1dd59a4.tar.gz |
[PR88484] OpenACC wait directive without wait argument but with async clause
We don't correctly handle "#pragma acc wait async (a)" for "a >= 0", handling
as a no-op whereas it should enqueue the appropriate wait operations on
"async (a)".
libgomp/
PR libgomp/88484
* oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
* testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
From-SVN: r267151
Diffstat (limited to 'libgomp/oacc-parallel.c')
-rw-r--r-- | libgomp/oacc-parallel.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libgomp/oacc-parallel.c b/libgomp/oacc-parallel.c index 1e08af70b4d..89b6b6f6fc2 100644 --- a/libgomp/oacc-parallel.c +++ b/libgomp/oacc-parallel.c @@ -630,8 +630,8 @@ GOACC_wait (int async, int num_waits, ...) } else if (async == acc_async_sync) acc_wait_all (); - else if (async == acc_async_noval) - goacc_thread ()->dev->openacc.async_wait_all_async_func (acc_async_noval); + else + acc_wait_all_async (async); } int |