gcc/libgomp/testsuite/libgomp.fortran/pr27395-1.f90
Tobias Burnus c425e66b27 libgomp/testsuite – use 'stop'
libgomp/
	* testsuite/libgomp.fortran/: Replace 'STOP' by 'stop'.

From-SVN: r277609
2019-10-30 12:44:54 +01:00

32 lines
675 B
Fortran

! PR fortran/27395
! { dg-do run }
program pr27395_1
implicit none
integer, parameter :: n=10,m=1001
integer :: i
integer, dimension(n) :: sumarray
call foo(n,m,sumarray)
do i=1,n
if (sumarray(i).ne.m*i) stop 1
end do
end program pr27395_1
subroutine foo(n,m,sumarray)
use omp_lib, only : omp_get_thread_num
implicit none
integer, intent(in) :: n,m
integer, dimension(n), intent(out) :: sumarray
integer :: i,j
sumarray(:)=0
!$OMP PARALLEL DEFAULT(shared) NUM_THREADS(4)
!$OMP DO PRIVATE(j,i), REDUCTION(+:sumarray)
do j=1,m
do i=1,n
sumarray(i)=sumarray(i)+i
end do
end do
!$OMP END DO
!$OMP END PARALLEL
end subroutine foo