aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2018-07-26 07:52:45 +0000
committerTom de Vries <tdevries@suse.de>2018-07-26 07:52:45 +0000
commit25cf1148980ba804f65187aa98dfa8e8597b83c7 (patch)
treecf3e513145ef78b66dcaffc2cad3965e2dfcc66f
parentbf76d7aab06ffbb7289656a180d8bb492095c728 (diff)
[libgomp, openacc, testsuite] Fix async logic in lib-12.f90
In testcase lib-12.f90, all acc_async_test calls are placed in a location where they are not guaranteed to succeed, which explains why there's an xfail for the lower optimization levels. This patch fixes the problem by moving the acc_async_test calls to the correct locations. Reg-tested on x86_64 with nvptx accelerator. 2018-07-26 Tom de Vries <tdevries@suse.de> * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls to correct locations. Remove xfail. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@262990 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libgomp/ChangeLog5
-rw-r--r--libgomp/testsuite/libgomp.oacc-fortran/lib-12.f906
2 files changed, 7 insertions, 4 deletions
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index ac8c5b64091..a3ed6ff2a20 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,5 +1,10 @@
2018-07-26 Tom de Vries <tdevries@suse.de>
+ * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
+ to correct locations. Remove xfail.
+
+2018-07-26 Tom de Vries <tdevries@suse.de>
+
* testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
acc_wait. Move acc_async_test calls to correct locations. Remove
xfail.
diff --git a/libgomp/testsuite/libgomp.oacc-fortran/lib-12.f90 b/libgomp/testsuite/libgomp.oacc-fortran/lib-12.f90
index e307dfde374..6912f67d444 100644
--- a/libgomp/testsuite/libgomp.oacc-fortran/lib-12.f90
+++ b/libgomp/testsuite/libgomp.oacc-fortran/lib-12.f90
@@ -1,5 +1,4 @@
! { dg-do run }
-! { dg-xfail-run-if "TODO" { openacc_nvidia_accel_selected } { "-O0" "-O1" } { "" } }
program main
use openacc
@@ -18,10 +17,9 @@ program main
call acc_wait_async (0, 1)
- if (acc_async_test (0) .neqv. .TRUE.) call abort
+ call acc_wait (1)
+ if (acc_async_test (0) .neqv. .TRUE.) call abort
if (acc_async_test (1) .neqv. .TRUE.) call abort
- call acc_wait (1)
-
end program