]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - libgomp/testsuite/libgomp.fortran/task1.f90
Imported gcc-4.4.3
[msp430-gcc.git] / libgomp / testsuite / libgomp.fortran / task1.f90
diff --git a/libgomp/testsuite/libgomp.fortran/task1.f90 b/libgomp/testsuite/libgomp.fortran/task1.f90
new file mode 100644 (file)
index 0000000..df57cb8
--- /dev/null
@@ -0,0 +1,27 @@
+! { dg-do run }
+
+program tasktest
+  use omp_lib
+  integer :: i, j
+  common /tasktest_j/ j
+  j = 0
+  !$omp parallel private (i)
+    i = omp_get_thread_num ()
+    if (i.lt.2) then
+      !$omp task if (.false.) default(firstprivate)
+        call subr (i + 1)
+      !$omp end task
+    end if
+  !$omp end parallel
+  if (j.gt.0) call abort
+contains
+  subroutine subr (i)
+    use omp_lib
+    integer :: i, j
+    common /tasktest_j/ j
+    if (omp_get_thread_num ().ne.(i - 1)) then
+    !$omp atomic
+      j = j + 1
+    end if
+  end subroutine subr
+end program tasktest