This patch adds the new-in-5.2 features table to the OpenMP Implementation Status chapter of libgomp. It is based on appendix 5.1 and a mix of my wording and Jakub's wording, used when he did the implemented-in-GCC-xx archeology.
( The entries should be/should remain aligned with the just-posted wwwdocs patch, https://gcc.gnu.org/pipermail/gcc-patches/2022-May/594865.html ) OK? Tobias ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955
libgomp.texi: Add OpenMP 5.2 implementation status libgomp/ * libgomp.texi (OpenMP Implementation Status): Add 5.2 table. diff --git a/libgomp/libgomp.texi b/libgomp/libgomp.texi index b5e5fbb8cca..903b3cc8904 100644 --- a/libgomp/libgomp.texi +++ b/libgomp/libgomp.texi @@ -158,6 +159,7 @@ See also @ref{OpenMP Implementation Status}. * OpenMP 4.5:: Feature completion status to 4.5 specification * OpenMP 5.0:: Feature completion status to 5.0 specification * OpenMP 5.1:: Feature completion status to 5.1 specification +* OpenMP 5.2:: Feature completion status to 5.2 specification @end menu The @code{_OPENMP} preprocessor macro and Fortran's @code{openmp_version} @@ -182,7 +184,7 @@ The OpenMP 4.5 specification is fully supported. @item Iterators @tab Y @tab @item @code{metadirective} directive @tab N @tab @item @code{declare variant} directive - @tab P @tab simd traits not handled correctly + @tab P @tab @emph{simd} traits not handled correctly @item @emph{target-offload-var} ICV and @code{OMP_TARGET_OFFLOAD} env variable @tab Y @tab @item Nested-parallel changes to @emph{max-active-levels-var} ICV @tab Y @tab @@ -220,7 +222,7 @@ The OpenMP 4.5 specification is fully supported. @tab Y @tab Some are only stubs @item Memory management routines @tab Y @tab @item @code{allocate} directive @tab N @tab -@item @code{allocate} clause @tab P @tab initial support +@item @code{allocate} clause @tab P @tab Initial support @item @code{use_device_addr} clause on @code{target data} @tab Y @tab @item @code{ancestor} modifier on @code{device} clause @tab P @tab Reverse offload unsupported @@ -283,21 +285,21 @@ The OpenMP 4.5 specification is fully supported. @code{append_args} @tab N @tab @item @code{dispatch} construct @tab N @tab @item device-specific ICV settings the environment variables @tab N @tab -@item assume directive @tab N @tab +@item @code{assume} directive @tab N @tab @item @code{nothing} directive @tab Y @tab @item @code{error} directive @tab Y @tab @item @code{masked} construct @tab Y @tab @item @code{scope} directive @tab Y @tab @item Loop transformation constructs @tab N @tab @item @code{strict} modifier in the @code{grainsize} and @code{num_tasks} - clauses of the taskloop construct @tab Y @tab + clauses of the @code{taskloop} construct @tab Y @tab @item @code{align} clause/modifier in @code{allocate} directive/clause and @code{allocator} directive @tab P @tab C/C++ on clause only @item @code{thread_limit} clause to @code{target} construct @tab Y @tab @item @code{has_device_addr} clause to @code{target} construct @tab Y @tab -@item iterators in @code{target update} motion clauses and @code{map} +@item Iterators in @code{target update} motion clauses and @code{map} clauses @tab N @tab -@item indirect calls to the device version of a procedure or function in +@item Indirect calls to the device version of a procedure or function in @code{target} regions @tab N @tab @item @code{interop} directive @tab N @tab @item @code{omp_interop_t} object support in runtime routines @tab N @tab @@ -345,6 +347,37 @@ The OpenMP 4.5 specification is fully supported. @end multitable +@node OpenMP 5.2 +@section OpenMP 5.2 + +@unnumberedsubsec New features listed in Appendix B of the OpenMP specification + +@multitable @columnfractions .60 .10 .25 +@item @code{omp_in_explicit_task} routine and @emph{implicit-task-var} ICV @tab N @tab +@item @code{omp}/@code{ompx}/@code{ompx} sentinels and @code{omp_}/@code{ompx_} namespaces @tab N @tab +@item Clauses on @code{end} directive can be on directive @tab N @tab +@item Deprecation of no-argument @code{destroy} clause on @code{depobj} @tab N @tab +@item @code{linear} clause syntax changes and @code{step} modifier @tab N @tab +@item Deprecation of minus operator for reductions @tab N @tab +@item Deprecation of separating @code{map} modifiers without comma @tab N @tab +@item @code{declare mapper} with iterator and @code{present} modifiers @tab N @tab +@item If a matching mapped list item is not found in the data environment, the pointer retains its original value @tab N @tab +@item New @code{enter} clause replacing @code{to} on declare target directive @tab N @tab +@item Extended list of directives permitted in Fortran pure procedures @tab N @tab +@item New @code{allocators} directive for Fortran @tab N @tab +@item Optional paired @code{end} directive with @code{dispatch} @tab N @tab +@item New @code{memspace} and @code{traits} modifiers for @code{uses_allocators} @tab N @tab +@item New @code{otherwise} clause replacing @code{default} on metadirectives @tab N @tab +@item Deprecation of delimited form of @code{declare target} @tab N @tab +@item Reproducible semantics changed for @code{order(concurrent)} @tab N @tab +@item @code{allocate} and @code{firstprivate} clauses on @code{scope} @tab N @tab +@item @code{ompt_callback_work} @tab N @tab +@item Extended map-type handling of @code{target enter/exit data} @tab N @tab +@item New @code{doacross} clause replacing @code{depend} with @code{sourch}/@code{sink} modifier @tab N @tab +@item @code{omp_cur_iteration} keyword @tab N @tab +@end multitable + + @c --------------------------------------------------------------------- @c OpenMP Runtime Library Routines @c ---------------------------------------------------------------------