]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Add libgomp.oacc-fortran/lib-16-2.f90
authortschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 30 Nov 2018 20:38:57 +0000 (20:38 +0000)
committertschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 30 Nov 2018 20:38:57 +0000 (20:38 +0000)
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@266683 138bc75d-0d04-0410-961f-82ee72b054a4

libgomp/ChangeLog
libgomp/testsuite/libgomp.oacc-fortran/lib-16-2.f90 [new file with mode: 0644]
libgomp/testsuite/libgomp.oacc-fortran/lib-16.f90

index d3c1bc36c145bfce039123591d192ad09978515a..a9dcbd808200a5457e09282f06f1017bf8cc7b62 100644 (file)
@@ -1,3 +1,7 @@
+2018-11-30  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
+
 2018-10-19  Richard Biener  <rguenther@suse.de>
 
        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 (file)
index 0000000..fa76f65
--- /dev/null
@@ -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
index 9701b52dd257712b1cfefa8a707e91598155cb47..011f9cf31db4b1f8db724c5e79feae8072054656 100644 (file)
@@ -1,3 +1,4 @@
+! See also "lib-16-2.f90".
 ! { dg-do run }
 ! { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } }