From: Jakub Jelinek Date: Wed, 27 Oct 2021 08:41:59 +0000 (+0200) Subject: openmp: Document that non-rect loops are not supported in Fortran yet X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8f72cb9bc8842b548916bd263b973ca2c8edbda5;p=thirdparty%2Fgcc.git openmp: Document that non-rect loops are not supported in Fortran yet 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. 2021-10-27 Jakub Jelinek * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests aren't implemented for Fortran yet. (cherry picked from commit eef811490646a68c9893968a421b351e7bf704e1) --- diff --git a/libgomp/ChangeLog.omp b/libgomp/ChangeLog.omp index c41c2058e4b0..d0e4eb669730 100644 --- a/libgomp/ChangeLog.omp +++ b/libgomp/ChangeLog.omp @@ -1,3 +1,11 @@ +2021-10-27 Tobias Burnus + + Backported from master: + 2021-10-27 Jakub Jelinek + + * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests + aren't implemented for Fortran yet. + 2021-10-27 Tobias Burnus Backported from master: diff --git a/libgomp/libgomp.texi b/libgomp/libgomp.texi index e6b1b558b6e5..4cb189a128ff 100644 --- a/libgomp/libgomp.texi +++ b/libgomp/libgomp.texi @@ -189,7 +189,7 @@ The OpenMP 4.5 specification is fully supported. @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