Add 'libgomp.oacc-fortran/pr94358-1.f90' [PR94358]
authorGergö Barany <gergo@codesourcery.com>
Mon, 21 Jan 2019 11:08:57 +0000 (03:08 -0800)
committerThomas Schwinge <thomas@codesourcery.com>
Fri, 13 Nov 2020 21:58:56 +0000 (22:58 +0100)
Document status quo re PR94358 "[OMP] Privatize internal array variables
introduced by the Fortran FE".

libgomp/
PR fortran/94358
* testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.

Co-authored-by: Thomas Schwinge <thomas@codesourcery.com>
libgomp/testsuite/libgomp.oacc-fortran/pr94358-1.f90 [new file with mode: 0644]

diff --git a/libgomp/testsuite/libgomp.oacc-fortran/pr94358-1.f90 b/libgomp/testsuite/libgomp.oacc-fortran/pr94358-1.f90
new file mode 100644 (file)
index 0000000..5013c5b
--- /dev/null
@@ -0,0 +1,34 @@
+! { dg-do run }
+! { dg-additional-options "-fopt-info-omp-all" }
+
+subroutine kernel(lo, hi, a, b, c)
+  implicit none
+  integer :: lo, hi, i
+  real, dimension(lo:hi) :: a, b, c
+
+  !$acc kernels copyin(lo, hi) ! { dg-optimized "assigned OpenACC seq loop parallelism" }
+  !$acc loop independent
+  do i = lo, hi
+     b(i) = a(i)
+  end do
+  !$acc loop independent
+  do i = lo, hi
+     c(i) = b(i)
+  end do
+  !$acc end kernels
+end subroutine kernel
+
+program main
+  integer :: n = 20
+  real, dimension(1:20) :: a, b, c
+
+  a(:) = 1
+  b(:) = 2
+  c(:) = 3
+
+  call kernel(1, n, a, b, c)
+
+  do i = 1, n
+     if (c(i) .ne. 1) call abort
+  end do
+end program main