From c223608f542416a5e47685013c680e256a583416 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Fri, 30 Nov 2018 21:38:57 +0100 Subject: [PATCH] Add libgomp.oacc-fortran/lib-16-2.f90 This is a copy of libgomp.oacc-fortran/lib-16.f90, but does 'include "openacc_lib.h"' instead of 'use openacc'. libgomp/ * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file. From-SVN: r266683 --- libgomp/ChangeLog | 4 ++ .../libgomp.oacc-fortran/lib-16-2.f90 | 58 +++++++++++++++++++ .../testsuite/libgomp.oacc-fortran/lib-16.f90 | 1 + 3 files changed, 63 insertions(+) create mode 100644 libgomp/testsuite/libgomp.oacc-fortran/lib-16-2.f90 diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index d3c1bc36c14..a9dcbd80820 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,7 @@ +2018-11-30 Thomas Schwinge + + * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file. + 2018-10-19 Richard Biener PR tree-optimization/88182 diff --git a/libgomp/testsuite/libgomp.oacc-fortran/lib-16-2.f90 b/libgomp/testsuite/libgomp.oacc-fortran/lib-16-2.f90 new file mode 100644 index 00000000000..fa76f65912f --- /dev/null +++ b/libgomp/testsuite/libgomp.oacc-fortran/lib-16-2.f90 @@ -0,0 +1,58 @@ +! See also "lib-16.f90". +! { dg-do run } +! { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } + +program main + implicit none + include "openacc_lib.h" + + integer, parameter :: N = 256 + integer, allocatable :: h(:) + integer :: i + integer :: async = 5 + + allocate (h(N)) + + do i = 1, N + h(i) = i + end do + + call acc_copyin (h) + + do i = 1, N + h(i) = i + i + end do + + call acc_update_device_async (h, sizeof (h), async) + + if (acc_is_present (h) .neqv. .TRUE.) call abort + + h(:) = 0 + + call acc_copyout_async (h, sizeof (h), async) + + call acc_wait (async) + + do i = 1, N + if (h(i) /= i + i) call abort + end do + + call acc_copyin (h, sizeof (h)) + + h(:) = 0 + + call acc_update_self_async (h, sizeof (h), async) + + if (acc_is_present (h) .neqv. .TRUE.) call abort + + do i = 1, N + if (h(i) /= i + i) call abort + end do + + call acc_delete_async (h, async) + + call acc_wait (async) + + if (acc_is_present (h) .neqv. .FALSE.) call abort + +end program diff --git a/libgomp/testsuite/libgomp.oacc-fortran/lib-16.f90 b/libgomp/testsuite/libgomp.oacc-fortran/lib-16.f90 index 9701b52dd25..011f9cf31db 100644 --- a/libgomp/testsuite/libgomp.oacc-fortran/lib-16.f90 +++ b/libgomp/testsuite/libgomp.oacc-fortran/lib-16.f90 @@ -1,3 +1,4 @@ +! See also "lib-16-2.f90". ! { dg-do run } ! { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } -- 2.30.2