1! PR fortran/29629
2! { dg-do run }
3
4program pr29629
5  integer :: n
6  n = 10000
7  if (any (func(n).ne.10000)) STOP 1
8  contains
9    function func(n)
10      integer, intent(in) :: n
11      integer, dimension(n) :: func
12      integer :: k
13      func = 0
14!$omp parallel do private(k), reduction(+:func), num_threads(4)
15      do k = 1, n
16        func = func + 1
17      end do
18!$omp end parallel do
19    end function
20end program
21