aboutsummaryrefslogtreecommitdiff
path: root/libgomp
diff options
context:
space:
mode:
Diffstat (limited to 'libgomp')
-rw-r--r--libgomp/testsuite/libgomp.fortran/combined-directive-splitting-1.f9041
1 files changed, 41 insertions, 0 deletions
diff --git a/libgomp/testsuite/libgomp.fortran/combined-directive-splitting-1.f90 b/libgomp/testsuite/libgomp.fortran/combined-directive-splitting-1.f90
new file mode 100644
index 0000000..e662a2b
--- /dev/null
+++ b/libgomp/testsuite/libgomp.fortran/combined-directive-splitting-1.f90
@@ -0,0 +1,41 @@
+module m
+ integer :: a = 1
+ !$omp declare target enter(a)
+end module m
+
+module m2
+contains
+subroutine bar()
+ use m
+ implicit none
+ !$omp declare target
+ a = a + 5
+end subroutine bar
+end module m2
+
+program p
+ use m
+ use m2
+ implicit none
+ integer :: b, i
+
+ !$omp target parallel do map(always, tofrom: a) firstprivate(a)
+ do i = 1, 1
+ a = 7
+ call bar()
+ if (a /= 7) error stop 1
+ a = a + 8
+ end do
+ if (a /= 6) error stop 2
+
+ b = 3
+ !$omp target parallel do map(always, tofrom: a) firstprivate(b)
+ do i = 1, 1
+ a = 3
+ call bar ()
+ if (a /= 8) error stop 3
+ a = a + b
+ end do
+ if (a /= 11) error stop 4
+end program p
+