aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.2.1-5666.3/libgomp/testsuite/libgomp.fortran/omp_parse2.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.2.1-5666.3/libgomp/testsuite/libgomp.fortran/omp_parse2.f90')
-rw-r--r--gcc-4.2.1-5666.3/libgomp/testsuite/libgomp.fortran/omp_parse2.f90102
1 files changed, 0 insertions, 102 deletions
diff --git a/gcc-4.2.1-5666.3/libgomp/testsuite/libgomp.fortran/omp_parse2.f90 b/gcc-4.2.1-5666.3/libgomp/testsuite/libgomp.fortran/omp_parse2.f90
deleted file mode 100644
index da54a9872..000000000
--- a/gcc-4.2.1-5666.3/libgomp/testsuite/libgomp.fortran/omp_parse2.f90
+++ /dev/null
@@ -1,102 +0,0 @@
-! { dg-do run }
-use omp_lib
- call test_master
- call test_critical
- call test_barrier
- call test_atomic
-
-contains
- subroutine test_master
- logical :: i, j
- i = .false.
- j = .false.
-!$omp parallel num_threads (4)
-!$omp master
- i = .true.
- j = omp_get_thread_num () .eq. 0
-!$omp endmaster
-!$omp end parallel
- if (.not. (i .or. j)) call abort
- end subroutine test_master
-
- subroutine test_critical_1 (i, j)
- integer :: i, j
-!$omp critical(critical_foo)
- i = i + 1
-!$omp end critical (critical_foo)
-!$omp critical
- j = j + 1
-!$omp end critical
- end subroutine test_critical_1
-
- subroutine test_critical
- integer :: i, j, n
- n = -1
- i = 0
- j = 0
-!$omp parallel num_threads (4)
- if (omp_get_thread_num () .eq. 0) n = omp_get_num_threads ()
- call test_critical_1 (i, j)
- call test_critical_1 (i, j)
-!$omp critical
- j = j + 1
-!$omp end critical
-!$omp critical (critical_foo)
- i = i + 1
-!$omp endcritical (critical_foo)
-!$omp end parallel
- if (n .lt. 1 .or. i .ne. n * 3 .or. j .ne. n * 3) call abort
- end subroutine test_critical
-
- subroutine test_barrier
- integer :: i
- logical :: j
- i = 23
- j = .false.
-!$omp parallel num_threads (4)
- if (omp_get_thread_num () .eq. 0) i = 5
-!$omp flush (i)
-!$omp barrier
- if (i .ne. 5) then
-!$omp atomic
- j = j .or. .true.
- end if
-!$omp end parallel
- if (i .ne. 5 .or. j) call abort
- end subroutine test_barrier
-
- subroutine test_atomic
- integer :: a, b, c, d, e, f, g
- a = 0
- b = 1
- c = 0
- d = 1024
- e = 1024
- f = -1
- g = -1
-!$omp parallel num_threads (8)
-!$omp atomic
- a = a + 2 + 4
-!$omp atomic
- b = 3 * b
-!$omp atomic
- c = 8 - c
-!$omp atomic
- d = d / 2
-!$omp atomic
- e = min (e, omp_get_thread_num ())
-!$omp atomic
- f = max (omp_get_thread_num (), f)
- if (omp_get_thread_num () .eq. 0) g = omp_get_num_threads ()
-!$omp end parallel
- if (g .le. 0 .or. g .gt. 8) call abort
- if (a .ne. 6 * g .or. b .ne. 3 ** g) call abort
- if (iand (g, 1) .eq. 1) then
- if (c .ne. 8) call abort
- else if (c .ne. 0) then
- call abort
- end if
- if (d .ne. 1024 / (2 ** g)) call abort
- if (e .ne. 0 .or. f .ne. g - 1) call abort
- end subroutine test_atomic
-end