Hi! I've found we claim to support non-rectangular loops, but don't actually support those in Fortran, as can be seen on: integer i, j !$omp parallel do collapse(2) do i = 0, 10 do j = 0, i end do end do end To support this, the Fortran FE needs to allow the valid forms of non-rectangular loops and disallow others, so mainly it needs its updated version of c-omp.c c_omp_check_loop_iv etc., plus for non-rectangular lb or ub expressions emit a TREE_VEC instead of normal expression as the C/C++ FE do, plus testsuite coverage.
Bootstrapped/regtested on x86_64-linux and i686-linux, committed to trunk. 2021-10-27 Jakub Jelinek <ja...@redhat.com> * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests aren't implemented for Fortran yet. --- libgomp/libgomp.texi.jj 2021-10-21 10:23:27.605832433 +0200 +++ libgomp/libgomp.texi 2021-10-26 17:12:15.274870308 +0200 @@ -189,7 +189,7 @@ The OpenMP 4.5 specification is fully su @item @code{requires} directive @tab P @tab Only fulfillable requirement is @code{atomic_default_mem_order} @item @code{teams} construct outside an enclosing target region @tab Y @tab -@item Non-rectangular loop nests @tab Y @tab +@item Non-rectangular loop nests @tab P @tab Only C/C++ @item @code{!=} as relational-op in canonical loop form for C/C++ @tab Y @tab @item @code{nonmonotonic} as default loop schedule modifier for worksharing-loop constructs @tab Y @tab Jakub