…lauses Currently we only do semantic checks for REDUCTION. There are two other clauses, IN_REDUCTION, and TASK_REDUCTION which will also need those checks. Implement a function that checks the common list-item requirements for all those clauses.
32 lines
732 B
Fortran
32 lines
732 B
Fortran
! RUN: %python %S/../test_errors.py %s %flang_fc1 -fopenmp
|
|
! OpenMP Version 4.5
|
|
! 2.15.3.6 Reduction Clause
|
|
|
|
program omp_reduction
|
|
|
|
integer :: i
|
|
integer :: k = 10
|
|
integer :: a(10), b(10,10,10)
|
|
|
|
!ERROR: Reference to 'a' must be a contiguous object
|
|
!$omp parallel do reduction(+:a(1:10:3))
|
|
do i = 1, 10
|
|
k = k + 1
|
|
end do
|
|
!$omp end parallel do
|
|
|
|
!ERROR: Reference to 'b' must be a contiguous object
|
|
!$omp parallel do reduction(+:b(1:10:3,1:8:1,1:5:1))
|
|
do i = 1, 10
|
|
k = k + 1
|
|
end do
|
|
!$omp end parallel do
|
|
|
|
!ERROR: Reference to 'b' must be a contiguous object
|
|
!$omp parallel do reduction(+:b(1:10:1,1:8:2,1:5:1))
|
|
do i = 1, 10
|
|
k = k + 1
|
|
end do
|
|
!$omp end parallel do
|
|
end program omp_reduction
|