Modifies the documentation to accurately reflect the version bump, deprecations, and implementation status of OpenMP. Additionally fixes an omitted word from v1.
Built/tested x86_64-pc-linux-gnu.
From 937c3d77ea14c8a75fdf85fc782eb268dc200d82 Mon Sep 17 00:00:00 2001 From: supers1ngular <[email protected]> Date: Mon, 24 Nov 2025 19:30:13 -0800 Subject: [PATCH] [PATCH v2 4/4] openmp: Bump Version from 4.5 to 5.2 (4/4) Updates the documentation to reflect the version bump. Additionally updates implementation status and notes deprecations where relevant. gcc/ChangeLog: * doc/extend.texi: Bump version and clarify implementation status. gcc/fortran/ChangeLog: * gfortran.texi: Ditto. * intrinsic.texi: Bump version and note deprecation of 'omp_proc_bind_master'. libgomp/ChangeLog: * libgomp.texi: Bump version. Update implementation status. Note deprecation of 'MASTER' affinity policy. --- gcc/doc/extend.texi | 6 +++--- gcc/fortran/gfortran.texi | 6 +++--- gcc/fortran/intrinsic.texi | 4 ++-- libgomp/libgomp.texi | 41 +++++++++++++++++++------------------- 4 files changed, 29 insertions(+), 28 deletions(-) diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index b9d1a6aac75..68f40d1ee82 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -11105,9 +11105,9 @@ architectures, including Unix and Microsoft Windows platforms. It consists of a set of compiler directives, library routines, and environment variables that influence run-time behavior. -GCC implements all of the @uref{https://www.openmp.org/specifications/, -OpenMP Application Program Interface v4.5}, and many features from later -versions of the OpenMP specification. +GCC implements most of the @uref{https://www.openmp.org/specifications/, +OpenMP Application Program Interface v5.2}, with some omissions and +additional features from later versions. @xref{OpenMP Implementation Status,,,libgomp, GNU Offloading and Multi Processing Runtime Library}, for more details about currently supported OpenMP features. diff --git a/gcc/fortran/gfortran.texi b/gcc/fortran/gfortran.texi index fa66bc4783d..773268d2777 100644 --- a/gcc/fortran/gfortran.texi +++ b/gcc/fortran/gfortran.texi @@ -1825,9 +1825,9 @@ architectures, including Unix and Microsoft Windows platforms. It consists of a set of compiler directives, library routines, and environment variables that influence run-time behavior. -GNU Fortran implements all of the @uref{https://openmp.org/specifications/, -OpenMP Application Program Interface v4.5}, and many features from later -versions of the OpenMP specification. +GNU Fortran implements most of the @uref{https://openmp.org/specifications/, +OpenMP Application Program Interface v5.2}, with some omissions and +additional features from later versions. @xref{OpenMP Implementation Status,,,libgomp, GNU Offloading and Multi Processing Runtime Library}, for more details about currently supported OpenMP features. diff --git a/gcc/fortran/intrinsic.texi b/gcc/fortran/intrinsic.texi index c4c000b0266..d510e0ce412 100644 --- a/gcc/fortran/intrinsic.texi +++ b/gcc/fortran/intrinsic.texi @@ -16238,7 +16238,7 @@ named constants: @code{OMP_LIB} provides the scalar default-integer named constant @code{openmp_version} with a value of the form @var{yyyymm}, where @code{yyyy} is the year and @var{mm} the month -of the OpenMP version; for OpenMP v4.5 the value is @code{201511}. +of the OpenMP version; for OpenMP v5.2 the value is @code{202111}. The following derived type: @@ -16271,7 +16271,7 @@ kind @code{omp_proc_bind_kind}: @item @code{omp_proc_bind_false} @item @code{omp_proc_bind_true} @item @code{omp_proc_bind_primary} -@item @code{omp_proc_bind_master} +@item @code{omp_proc_bind_master} (deprecated) @item @code{omp_proc_bind_close} @item @code{omp_proc_bind_spread} @end table diff --git a/libgomp/libgomp.texi b/libgomp/libgomp.texi index 2d37c873174..9fc0e4ee644 100644 --- a/libgomp/libgomp.texi +++ b/libgomp/libgomp.texi @@ -175,7 +175,7 @@ See also @ref{OpenMP Implementation Status}. The @code{_OPENMP} preprocessor macro and Fortran's @code{openmp_version} parameter, provided by @code{omp_lib.h} and the @code{omp_lib} module, have -the value @code{201511} (i.e. OpenMP 4.5). +the value @code{202111} (i.e. OpenMP 5.2). @node OpenMP 4.5 @section OpenMP 4.5 @@ -401,31 +401,31 @@ to address of matching mapped list item per 5.1, Sect. 2.21.7.2 @tab N @tab @item Deprecation of no-argument @code{destroy} clause on @code{depobj} @tab N/A @tab undeprecated in OpenMP 6 @item @code{linear} clause syntax changes and @code{step} modifier @tab Y @tab -@item Deprecation of minus operator for reductions @tab N @tab -@item Deprecation of separating @code{map} modifiers without comma @tab N @tab +@item Deprecation of minus operator for reductions @tab Y @tab +@item Deprecation of separating @code{map} modifiers without comma @tab Y @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 Y @tab @item New @code{enter} clause as alias for @code{to} on declare target directive @tab Y @tab -@item Deprecation of @code{to} clause on declare target directive @tab N @tab +@item Deprecation of @code{to} clause on declare target directive @tab Y @tab @item Extended list of directives permitted in Fortran pure procedures @tab Y @tab @item New @code{allocators} directive for Fortran @tab Y @tab @item Deprecation of @code{allocate} directive for Fortran - allocatables/pointers @tab N @tab + allocatables/pointers @tab Y @tab @item Optional paired @code{end} directive with @code{dispatch} @tab Y @tab @item New @code{memspace} and @code{traits} modifiers for @code{uses_allocators} @tab N @tab @item Deprecation of traits array following the allocator_handle expression in - @code{uses_allocators} @tab N @tab + @code{uses_allocators} @tab Y @tab @item New @code{otherwise} clause as alias for @code{default} on metadirectives @tab Y @tab -@item Deprecation of @code{default} clause on metadirectives @tab N +@item Deprecation of @code{default} clause on metadirectives @tab Y @tab Both @code{otherwise} and @code{default} are accepted without diagnostics. -@item Deprecation of delimited form of @code{declare target} @tab N @tab +@item Deprecation of delimited form of @code{declare target} @tab Y @tab @item Reproducible semantics changed for @code{order(concurrent)} @tab N @tab @item @code{allocate} and @code{firstprivate} clauses on @code{scope} @tab Y @tab @@ -435,7 +435,7 @@ to address of matching mapped list item per 5.1, Sect. 2.21.7.2 @tab N @tab @item New @code{doacross} clause as alias for @code{depend} with @code{source}/@code{sink} modifier @tab Y @tab @item Deprecation of @code{depend} with @code{source}/@code{sink} modifier - @tab N @tab + @tab Y @tab @item @code{omp_cur_iteration} keyword @tab Y @tab @end multitable @@ -1365,8 +1365,9 @@ They have C linkage and do not throw exceptions. This functions returns the currently active thread affinity policy, which is set via @env{OMP_PROC_BIND}. Possible values are @code{omp_proc_bind_false}, @code{omp_proc_bind_true}, @code{omp_proc_bind_primary}, -@code{omp_proc_bind_master}, @code{omp_proc_bind_close} and @code{omp_proc_bind_spread}, -where @code{omp_proc_bind_master} is an alias for @code{omp_proc_bind_primary}. +@code{omp_proc_bind_master}, @code{omp_proc_bind_close} +and @code{omp_proc_bind_spread}, where @code{omp_proc_bind_master} is a +deprecated alias for @code{omp_proc_bind_primary}. @item @emph{C/C++}: @multitable @columnfractions .20 .80 @@ -4004,7 +4005,7 @@ are only printed when @var{verbose} set to @code{true}. @smallexample OPENMP DISPLAY ENVIRONMENT BEGIN - _OPENMP = '201511' + _OPENMP = '202111' [host] OMP_DYNAMIC = 'FALSE' [host] OMP_NESTED = 'FALSE' [all] OMP_CANCELLATION = 'FALSE' @@ -4429,14 +4430,14 @@ When a list with more than value is specified, it also affects the Specifies whether threads may be moved between processors. If set to @code{TRUE}, OpenMP threads should not be moved; if set to @code{FALSE} they may be moved. Alternatively, a comma separated list with the -values @code{PRIMARY}, @code{MASTER}, @code{CLOSE} and @code{SPREAD} can -be used to specify the thread affinity policy for the corresponding nesting -level. With @code{PRIMARY} and @code{MASTER} the worker threads are in the -same place partition as the primary thread. With @code{CLOSE} those are -kept close to the primary thread in contiguous place partitions. And -with @code{SPREAD} a sparse distribution -across the place partitions is used. Specifying more than one item in the -list automatically enables nesting by default. +values @code{PRIMARY}, @code{MASTER} (deprecated since OpenMP 5.1), +@code{CLOSE} and @code{SPREAD} can be used to specify the thread affinity +policy for the corresponding nesting level. With @code{PRIMARY} and +@code{MASTER} the worker threads are in the same place partition as the +primary thread. With @code{CLOSE} those are kept close to the primary +thread in contiguous place partitions. And with @code{SPREAD} a sparse +distribution across the place partitions is used. Specifying more than +one item in the list automatically enables nesting by default. When a list is specified, it also affects the @var{max-active-levels-var} ICV as described in @ref{OMP_MAX_ACTIVE_LEVELS}. -- 2.51.1
