OpenMP 5.2 (GNU libgomp) (original) (raw)

New features listed in Appendix B of the OpenMP specification

Description Status Comments
omp_in_explicit_task routine and explicit-task-var ICV Y
omp/ompx/omx sentinels and omp_/ompx_ namespaces N/A warning for ompx/omx sentinels1
Clauses on end directive can be on directive Y
destroy clause with destroy-var argument on depobj Y
Deprecation of no-argument destroy clause on depobj N/A undeprecated in OpenMP 6
linear clause syntax changes and step modifier Y
Deprecation of minus operator for reductions N
Deprecation of separating map modifiers without comma N
declare mapper with iterator and present modifiers N
If a matching mapped list item is not found in the data environment, the pointer retains its original value Y
New enter clause as alias for to on declare target directive Y
Deprecation of to clause on declare target directive N
Extended list of directives permitted in Fortran pure procedures Y
New allocators directive for Fortran Y
Deprecation of allocate directive for Fortran allocatables/pointers N
Optional paired end directive with dispatch Y
New memspace and traits modifiers for uses_allocators N
Deprecation of traits array following the allocator_handle expression inuses_allocators N
New otherwise clause as alias for default on metadirectives Y
Deprecation of default clause on metadirectives N Both otherwise and default are accepted without diagnostics.
Deprecation of delimited form of declare target N
Reproducible semantics changed for order(concurrent) N
allocate and firstprivate clauses on scope Y
ompt_callback_work N
Default map-type for the map clause in target enter/exit data Y
New doacross clause as alias for depend withsource/sink modifier Y
Deprecation of depend with source/sink modifier N
omp_cur_iteration keyword Y

Other new OpenMP 5.2 features

Description Status Comments
For Fortran, optional comma between directive and clause N
Conforming device numbers and omp_initial_device andomp_invalid_device enum/PARAMETER Y
Initial value of default-device-var ICV withOMP_TARGET_OFFLOAD=mandatory Y
all as implicit-behavior for defaultmap Y
interop_types in any position of the modifier list for the init clause of the interop construct Y
Invoke virtual member functions of C++ objects created on the host device on other devices N
mapper as map-type modifier in declare mapper N