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

Reply via email to