<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/55854>55854</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[OpenMP][flang] semantic checks for perfected nested loops in ordered or collapse clauses are not complete
</td>
</tr>
<tr>
<th>Labels</th>
<td>
flang:frontend
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
PeixinQiao
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
PeixinQiao
</td>
</tr>
</table>
<pre>
```
program m
integer :: i, j, x
!$omp do ordered(2)
do i = 1, 10
x = 1
do j = 1, 10
x = 2
end do
enddo
!$omp end do
!$omp do ordered(2)
do i = 1, 10
do j = 1, 10
x = 2
end do
x = 1
enddo
!$omp end do
end
```
expected:
```
test.f90:3:21:
3 | !$omp do ordered(2)
| 1
Error: not enough DO loops for collapsed !$OMP DO at (1)
test.f90:16:9:
16 | x = 1
| 1
Error: collapsed !$OMP DO loops not perfectly nested at (1)
```
This is also for collapse clause
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyllM2OmzAQx5_GXEaNwEACBw7ppr2tkkp9AWMGcOpgZJsq-_YdAiRNsiuttMgh8_GH-c3YSWmqt4Ktw3mFOxZue2saK05wmlwA1Xls0AKLt7RAMf4Cx_F2XhSMR4wn5tRDZcDYCi1WjGec8XyRUELRG3YQjU9G4RIHOM_ha4Ckx_eli5jfQthV9MDik3dzblT3oi_RfgHuqdVP0JI9GQ-bhOcepSdu2pP38h6dX9V5SPmYPvTuq_BKEwPbvMCn5jFek_j5mtv5Ya2x4_nojKcWzNC0sNuDNqZ3UBsL0mgteofVXHD_ehgFwpOfRddi_5FHa7rlz-TR-grzdHjuOR_ZPmCYIEfwHm1Ng9Vv0BEH6R7xHub8u1UOaAntzF2XILUYHAZVEVd5nIvAK6-xYOn3fY_d64GlO7JrLbqGTHB4Ep1XEmSL8s80sJmFIGaWCVN1yybBcz0isXjpRNKGavQYDFYXrfe9GwfJf9JqlG-HckUKcrT-u3x9o5_-kSqSq5wb0JGRplmaBG0R1SLOKlltME_KTZZGYS6FTFKJUlYyqQMtStRubJBxPvUVb2tr6M-DzjDn1GWgCh5yHq7DOOJ8k2xWeb5JkmTN07LOZMprloQ0CKVXI87K2CawxYWsHBpHSa2cd7ekcE41HeJc9YDqrLpfSpi5nhh8a2xxiweXvopLU_8A6ZVfaA">