PR c++/86342 - -Wdeprecated-copy and system headers.
[official-gcc.git] / libgomp / testsuite / libgomp.fortran / pr27395-1.f90
blob8930c780ff25230324201fe805d11d8ad10db300
1 ! PR fortran/27395
2 ! { dg-do run }
4 program pr27395_1
5 implicit none
6 integer, parameter :: n=10,m=1001
7 integer :: i
8 integer, dimension(n) :: sumarray
9 call foo(n,m,sumarray)
10 do i=1,n
11 if (sumarray(i).ne.m*i) STOP 1
12 end do
13 end program pr27395_1
15 subroutine foo(n,m,sumarray)
16 use omp_lib, only : omp_get_thread_num
17 implicit none
18 integer, intent(in) :: n,m
19 integer, dimension(n), intent(out) :: sumarray
20 integer :: i,j
21 sumarray(:)=0
22 !$OMP PARALLEL DEFAULT(shared) NUM_THREADS(4)
23 !$OMP DO PRIVATE(j,i), REDUCTION(+:sumarray)
24 do j=1,m
25 do i=1,n
26 sumarray(i)=sumarray(i)+i
27 end do
28 end do
29 !$OMP END DO
30 !$OMP END PARALLEL
31 end subroutine foo