Hi,

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.

Committed to trunk.

Thanks,
- Tom

[libgomp, openacc, testsuite] Fix async logic in lib-12.f90

2018-07-26  Tom de Vries  <tdevr...@suse.de>

        * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
        to correct locations.  Remove xfail.

---
 libgomp/testsuite/libgomp.oacc-fortran/lib-12.f90 | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

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

Reply via email to