Mercurial > hg > CbC > CbC_gcc
view libgomp/testsuite/libgomp.fortran/reduction6.f90 @ 0:a06113de4d67
first commit
author | kent <kent@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 17 Jul 2009 14:47:48 +0900 |
parents | |
children | 84e7813d76e9 |
line wrap: on
line source
! { dg-do run } integer, dimension (6, 6) :: a character (36) :: c integer nthreads a = 9 nthreads = -1 call foo (a (2:4, 3:5), nthreads) if (nthreads .eq. 3) then write (c, '(36i1)') a if (c .ne. '999999999999966699966699966699999999') call abort end if contains subroutine foo (b, nthreads) use omp_lib integer, dimension (3:, 5:) :: b integer :: err, nthreads b = 0 err = 0 !$omp parallel num_threads (3) reduction (+:b) if (any (b .ne. 0)) then !$omp atomic err = err + 1 end if !$omp master nthreads = omp_get_num_threads () !$omp end master b = 2 !$omp end parallel if (err .gt. 0) call abort end subroutine foo end