llvm-project/flang/test/Semantics/omp-reduction02.f90

38 lines
1.0 KiB
Fortran

! RUN: %S/test_errors.sh %s %t %f18 -fopenmp
! OpenMP Version 4.5
! 2.15.3.6 Reduction Clause
program omp_reduction
integer :: i
integer :: k = 10
integer :: j = 10
!ERROR: 'k' appears in more than one data-sharing clause on the same OpenMP directive
!$omp parallel do reduction(+:k), reduction(-:k)
do i = 1, 10
k = k + 1
end do
!$omp end parallel do
!ERROR: 'k' appears in more than one data-sharing clause on the same OpenMP directive
!$omp parallel do reduction(+:k), reduction(-:j), reduction(+:k)
do i = 1, 10
k = k + 1
end do
!$omp end parallel do
!ERROR: 'k' appears in more than one data-sharing clause on the same OpenMP directive
!$omp parallel do reduction(+:j), reduction(-:k), reduction(+:k)
do i = 1, 10
k = k + 1
end do
!$omp end parallel do
!ERROR: 'k' appears in more than one data-sharing clause on the same OpenMP directive
!$omp parallel do reduction(+:j), reduction(-:k), private(k)
do i = 1, 10
k = k + 1
end do
!$omp end parallel do
end program omp_reduction