From patchwork Sat May 14 21:33:52 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Tobias Burnus X-Patchwork-Id: 1631128 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4L0zL149vTz9s1l for ; Sun, 15 May 2022 07:34:16 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id CC1F93857369 for ; Sat, 14 May 2022 21:34:11 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from esa1.mentor.iphmx.com (esa1.mentor.iphmx.com [68.232.129.153]) by sourceware.org (Postfix) with ESMTPS id 712533858D28 for ; Sat, 14 May 2022 21:33:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 712533858D28 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=mentor.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com X-IronPort-AV: E=Sophos;i="5.91,227,1647331200"; d="diff'?scan'208";a="78539938" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa1.mentor.iphmx.com with ESMTP; 14 May 2022 13:33:58 -0800 IronPort-SDR: MqDG7BRoOosd353aCOLH1FwfSnbIoJWddSMlCIXwoNO8Un+zFkEUUDYF4uzIIe7/q64OkmUj/t DjOdnlbFDkhtNs87DPiDLkBPZlL84KY5gP3h8baYVod8sE55cLBbAYIAV7IYD8qlmAYrYyqJF0 3lU9hEPY8PwoRmc6X6tchxcCNyDl69vxhLJU0JhE1m3KsL+7UA5WIOE38+0+reIMs+jF/Aa3Yy tTgqepKaJjKjYFp/kqRZJnFax4w26/xlH9PVJxXx5XATyeEK1Y8RmuERZS2CwMm6p6o7DYu3W2 6o8= Message-ID: <0dd4b123-47a3-4f49-3d28-5efb937bdf61@mentor.com> Date: Sat, 14 May 2022 23:33:52 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.0 Content-Language: en-US To: gcc-patches , Jakub Jelinek From: Tobias Burnus Subject: [Patch] libgomp.texi: Add OpenMP 5.2 implementation status X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: SVR-IES-MBX-07.mgc.mentorg.com (139.181.222.7) To svr-ies-mbx-12.mgc.mentorg.com (139.181.222.12) X-Spam-Status: No, score=-11.3 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_ASCII_DIVIDERS, KAM_DMARC_STATUS, KAM_SHORT, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org Sender: "Gcc-patches" 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 ---------------------------------------------------------------------