Files
clang-p2996/flang/test/Semantics/OpenMP/omp-do-collapse1.f90
Kiran Chandramohan 7d7633bdf4 [Flang][OpenMP][OpenACC] Error for loop with no control
Issue error if a DO construct associated with a loop does not have
loop control. Currently, it is issued only for the loop immediately
following the loop construct. This patch extends it to cases like
collapse where there is more than one loop associated. It also fixes
a crash since the existing code always expects loop control.

This is covered in OpenMP 4.5 standard, Section 2.7.1.
"The do-loop cannot be a DO WHILE or a DO loop without loop control."

OpenACC 3.3 covers this indirectly in Section 2.9.1.
The trip count for all loops associated with the collapse clause must
be computable and invariant in all the loops".

Reviewed By: clementval

Differential Revision: https://reviews.llvm.org/D144290
2023-02-27 16:52:50 +00:00

15 lines
389 B
Fortran

! RUN: not %flang_fc1 -fdebug-unparse-with-symbols -fopenmp %s 2>&1 | FileCheck %s
! OpenMP Version 4.5
! 2.7.1 Loop Construct
program omp_doCollapse
integer:: i
!$omp parallel do collapse(2)
do i = 1, 3
!CHECK: Loop control is not present in the DO LOOP
!CHECK: associated with the enclosing LOOP construct
do
end do
end do
end program omp_doCollapse