libgomp.texi: Update OpenMP 6.0-preview implementation-status list
Checks
Commit Message
This commit updates the OpenMP 6.0 implementation status,
https://gcc.gnu.org/onlinedocs/libgomp/OpenMP-Implementation-Status.html
Besides some reordering and adding a bunch of 'N' entries, it also adds
'Y' for the recent C23 attribute changes.
Comments? If not, I will commit it later...
Tobias
PS: I am sure the wording can be improved; suggestions welcome, but,
nonetheless, I should do for an implementation list.
-----------------
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: Update OpenMP 6.0-preview implementation-status list
libgomp/ChangeLog:
* libgomp.texi (OpenMP Impl. Status): Update for OpenMP TR12;
renamed section from TR11.
@@ -169,7 +169,7 @@ See also @ref{OpenMP Implementation Status}.
* 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
-* OpenMP Technical Report 11:: Feature completion status to first 6.0 preview
+* OpenMP Technical Report 12:: Feature completion status to second 6.0 preview
@end menu
The @code{_OPENMP} preprocessor macro and Fortran's @code{openmp_version}
@@ -442,33 +442,52 @@ to address of matching mapped list item per 5.1, Sect. 2.21.7.2 @tab N @tab
@end multitable
-@node OpenMP Technical Report 11
-@section OpenMP Technical Report 11
+@node OpenMP Technical Report 12
+@section OpenMP Technical Report 12
-Technical Report (TR) 11 is the first preview for OpenMP 6.0.
+Technical Report (TR) 12 is the second preview for OpenMP 6.0.
@unnumberedsubsec New features listed in Appendix B of the OpenMP specification
@multitable @columnfractions .60 .10 .25
@item Features deprecated in versions 5.2, 5.1 and 5.0 were removed
@tab N/A @tab Backward compatibility
-@item The @code{decl} attribute was added to the C++ attribute syntax
- @tab Y @tab
+@item Full support for C23 was added @tab P @tab
+@item Full support for C++23 was added @tab P @tab
@item @code{_ALL} suffix to the device-scope environment variables
@tab P @tab Host device number wrongly accepted
+@item @code{num_threads} now accepts a list @tab N @tab
+@item Supporting increments with abstract names in @code{OMP_PLACES} @tab N @tab
+@item Extension of @code{OMP_DEFAULT_DEVICE} and new
+ @code{OMP_AVAILABLE_DEVICES} environment vars @tab N @tab
+@item New @code{OMP_THREADS_RESERVE} environment variable @tab N @tab
+@item The @code{decl} attribute was added to the C++ attribute syntax
+ @tab Y @tab
+@item The OpenMP directive syntax was extended to include C 23 attribute
+ specifiers @tab Y @tab
+@item All inarguable clauses take now an optional Boolean argument @tab N @tab
@item For Fortran, @emph{locator list} can be also function reference with
data pointer result @tab N @tab
+@item Concept of @emph{assumed-size arrays} in C and C++
+ @tab N @tab
+@item @emph{directive-name-modifier} accepted in all clauses @tab N @tab
+@item For Fortran, atomic with BLOCK construct and, for C/C++, with
+ unlimited curly braces supported @tab N @tab
+@item For Fortran, atomic compare with storing the comparison result
+ @tab N @tab
+@item New @code{looprange} clause @tab N @tab
@item Ref-count change for @code{use_device_ptr}/@code{use_device_addr}
@tab N @tab
+@item Support for inductions @tab N @tab
@item Implicit reduction identifiers of C++ classes
@tab N @tab
@item Change of the @emph{map-type} property from @emph{ultimate} to
@emph{default} @tab N @tab
-@item Concept of @emph{assumed-size arrays} in C and C++
- @tab N @tab
+@item @code{self} modifier to @code{map} and @code{self} as
+ @code{defaultmap} argument @tab N @tab
@item Mapping of @emph{assumed-size arrays} in C, C++ and Fortran
@tab N @tab
@item @code{groupprivate} directive @tab N @tab
-@item @code{local} clause to declare target directive @tab N @tab
+@item @code{local} clause to @code{declare target} directive @tab N @tab
@item @code{part_size} allocator trait @tab N @tab
@item @code{pin_device}, @code{preferred_device} and @code{target_access}
allocator traits
@@ -478,28 +497,47 @@ Technical Report (TR) 11 is the first preview for OpenMP 6.0.
modifiers of the @code{init} clause
@tab N @tab
@item @code{interop} clause to @code{dispatch} @tab N @tab
+@item @code{message} and @code{severity} calauses to @code{parallel} directive
+ @tab N @tab
+@item @code{self} clause to @code{requires} directive @tab N @tab
+@item @code{no_openmp_constructs} assumptions clause @tab N @tab
+@item @code{reverse} loop-transformation construct @tab N @tab
+@item @code{interchange} loop-transformation construct @tab N @tab
+@item @code{fuse} loop-transformation construct @tab N @tab
@item @code{apply} code to loop-transforming constructs @tab N @tab
@item @code{omp_curr_progress_width} identifier @tab N @tab
@item @code{safesync} clause to the @code{parallel} construct @tab N @tab
@item @code{omp_get_max_progress_width} runtime routine @tab N @tab
@item @code{strict} modifier keyword to @code{num_threads} @tab N @tab
+@item @code{atomic} permitted in a construct with @code{order(concurrent)}
+ @tab N @tab
+@item @code{coexecute} directive for Fortran @tab N @tab
+@item Fortran DO CONCURRENT as associated loop in a @code{loop} construct
+ @tab N @tab
+@item @code{threadset} clause in task-generating constructs @tab N @tab
+@item @code{nowait} clause with reverse-offload @code{target} directives
+ @tab N @tab
+@item Boolean argument to @code{nowait} and @code{nogroup} may be non constant
+ @tab N @tab
@item @code{memscope} clause to @code{atomic} and @code{flush} @tab N @tab
+@item @code{omp_is_free_agent} and @code{omp_ancestor_is_free_agent} routines
+ @tab N @tab
+@item @code{omp_target_memset} and @code{omp_target_memset_rect_async} routines
+ @tab N @tab
@item Routines for obtaining memory spaces/allocators for shared/device memory
@tab N @tab
@item @code{omp_get_memspace_num_resources} routine @tab N @tab
@item @code{omp_get_submemspace} routine @tab N @tab
+@item @code{ompt_target_data_transfer} and @code{ompt_target_data_transfer_async}
+ values in @code{ompt_target_data_op_t} enum @tab N @tab
@item @code{ompt_get_buffer_limits} OMPT routine @tab N @tab
-@item Extension of @code{OMP_DEFAULT_DEVICE} and new
- @code{OMP_AVAILABLE_DEVICES} environment vars @tab N @tab
-@item Supporting increments with abstract names in @code{OMP_PLACES} @tab N @tab
@end multitable
-@unnumberedsubsec Other new TR 11 features
+@unnumberedsubsec Other new TR 12 features
@multitable @columnfractions .60 .10 .25
@item Relaxed Fortran restrictions to the @code{aligned} clause @tab N @tab
@item Mapping lambda captures @tab N @tab
-@item For Fortran, atomic compare with storing the comparison result
- @tab N @tab
+@item New @code{omp_pause_stop_tool} constant for omp_pause_resource @tab N @tab
@end multitable
@@ -1383,6 +1421,8 @@ They have C linkage and do not throw exceptions.
* omp_get_max_task_priority:: Maximum task priority value that can be set
* omp_in_explicit_task:: Whether a given task is an explicit task
* omp_in_final:: Whether in final or included task region
+@c * omp_is_free_agent:: <fixme>/TR12
+@c * omp_ancestor_is_free_agent:: <fixme>/TR12
@end menu