mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-02 11:00:37 +08:00
[libgomp, openacc, testsuite] Fix async/wait logic in lib-13.f90
The purpose of the lib-13.f90 test-case is to test acc_wait_all_async. The test indeed calls acc_wait_all_async, but then subsequentlys calls acc_wait_all, so the acc_wait_all_async functionality is not tested. Furthermore, 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 problems by replacing acc_wait_all with an acc_wait on the async id used for the acc_wait_all_async call, and 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-13.f90: Replace acc_wait_all with acc_wait. Move acc_async_test calls to correct locations. Remove xfail. From-SVN: r262989
This commit is contained in:
parent
a4955142f8
commit
b2eb177978
@ -1,3 +1,9 @@
|
||||
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.
|
||||
|
||||
2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
|
||||
Thomas Koenig <tkoenig@gcc.gnu.org>
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
! { dg-do run }
|
||||
! { dg-xfail-run-if "TODO" { openacc_nvidia_accel_selected } { "-O0" "-O1" } { "" } }
|
||||
|
||||
program main
|
||||
use openacc
|
||||
@ -22,13 +21,12 @@ program main
|
||||
end do
|
||||
!$acc end data
|
||||
|
||||
if (acc_async_test (1) .neqv. .TRUE.) call abort
|
||||
if (acc_async_test (2) .neqv. .TRUE.) call abort
|
||||
|
||||
call acc_wait_all_async (nprocs + 1)
|
||||
|
||||
call acc_wait (nprocs + 1)
|
||||
|
||||
if (acc_async_test (1) .neqv. .TRUE.) call abort
|
||||
if (acc_async_test (2) .neqv. .TRUE.) call abort
|
||||
if (acc_async_test (nprocs + 1) .neqv. .TRUE.) call abort
|
||||
|
||||
call acc_wait_all ()
|
||||
|
||||
end program
|
||||
|
Loading…
x
Reference in New Issue
Block a user