aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.2.1-5666.3/libgomp/testsuite/libgomp.fortran/sharing2.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.2.1-5666.3/libgomp/testsuite/libgomp.fortran/sharing2.f90')
-rw-r--r--gcc-4.2.1-5666.3/libgomp/testsuite/libgomp.fortran/sharing2.f9032
1 files changed, 32 insertions, 0 deletions
diff --git a/gcc-4.2.1-5666.3/libgomp/testsuite/libgomp.fortran/sharing2.f90 b/gcc-4.2.1-5666.3/libgomp/testsuite/libgomp.fortran/sharing2.f90
new file mode 100644
index 000000000..266dd46fa
--- /dev/null
+++ b/gcc-4.2.1-5666.3/libgomp/testsuite/libgomp.fortran/sharing2.f90
@@ -0,0 +1,32 @@
+! { dg-do run }
+
+ use omp_lib
+ integer :: i, j, k, m, n
+ logical :: l
+ equivalence (i, m)
+ equivalence (j, n)
+ i = 4
+ j = 8
+ l = .false.
+!$omp parallel private (k) firstprivate (i) shared (j) num_threads (2) &
+!$omp& reduction (.or.:l)
+ l = l .or. i .ne. 4
+ l = l .or. j .ne. 8
+!$omp barrier
+ k = omp_get_thread_num ()
+ if (k .eq. 0) then
+ i = 14
+ j = 15
+ end if
+!$omp barrier
+ if (k .eq. 1) then
+ if (i .ne. 4 .or. j .ne. 15) l = .true.
+ i = 24
+ j = 25
+ end if
+!$omp barrier
+ if (j .ne. 25 .or. i .ne. (k * 10 + 14)) l = .true.
+!$omp end parallel
+ if (l) call abort
+ if (j .ne. 25) call abort
+end