From patchwork Mon Nov 6 16:05:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Tobias Burnus X-Patchwork-Id: 162068 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:8f47:0:b0:403:3b70:6f57 with SMTP id j7csp2760149vqu; Mon, 6 Nov 2023 08:05:34 -0800 (PST) X-Google-Smtp-Source: AGHT+IFjKKckeQaEyDSgqELY3ZiGPseyTFSDm/uBKj9haktkHkQj/GXWD4oPZnZqGicw9uHZ8tiA X-Received: by 2002:a67:ac09:0:b0:45d:88c4:73f7 with SMTP id v9-20020a67ac09000000b0045d88c473f7mr9638008vse.25.1699286733568; Mon, 06 Nov 2023 08:05:33 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1699286733; cv=pass; d=google.com; s=arc-20160816; b=lX6Aio7j0vTnn1sjzCKpVn+4r19l8zgMr95Vwg8STegGgVNburGW0EcMy7rurfuAVr KBodq7WRs7GPWNqgq93gv09wWFs8Ewq7kl0RFlehVENml36esqg+FgcrFcmQG3eXiHM2 zwUTQ1RE0nwTEw376Pj5KwMDyMGsYyu5nG/yRwrOX/D/wZqoeCGG1WeT+DdGNzOdgNDQ /hxvrufUU7YG5gmA0Dx6Q+Tr5XPwWIlwxdI2e2UA+61zOlw/Q1RZud6XrVtdH1Y+J2Ga kFyF3PHGWX/upwXVW+cShtetIqqLMjN0NgBRSHbb9dpfYMwcqmy3EkVW6bKDJ2/GG8qi lHqA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject:from:to :content-language:user-agent:mime-version:date:message-id :ironport-sdr:arc-filter:dmarc-filter:delivered-to; bh=zRW8gqVCIVDzwEs+attBMHvGWGNq9c4PLEGhWLV70Lw=; fh=CT9ANdoiYgjVt7HQGxGdzRB+HPa196wDRuos5o/1sIg=; b=qBFEXnubb9AwWkqtrVniWcRZ4tiDL/jHWBnh8LHqIdTsmX5HtRjjJKkPPn98C4Nlxn TfKAYTg2At8PnMRWpKPIK2QkqINtU3iQv62z223v2z/e1yFJm+hEo5K9uT59ai+e3/OR BTq5k5lXGRTom4m0WehWInyxl1kRxRaY9ueLTzXfP36Uvq2OvEOLeNzlrNQ6IYvFNrEa nXEujQCVtI2XT9gpUjI19aynsoeZDwjatWjX7CmEXUWGMhwRxQncAtqc2ZRLx9shVaKL AC0Y7l3bTvXGoDW69gXSJ1s9TO4P1qMIVH+O6nLKkC9XUV0QHzfEbpux0l6l2HTPh5CC Nkug== ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org" Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id g3-20020ab02443000000b007a8c1cf6e7bsi815235uan.52.2023.11.06.08.05.33 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Nov 2023 08:05:33 -0800 (PST) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; arc=pass (i=1); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org" Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 2BA9B385783F for ; Mon, 6 Nov 2023 16:05:33 +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 278F33858CDA for ; Mon, 6 Nov 2023 16:05:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 278F33858CDA Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 278F33858CDA Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=68.232.129.153 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699286710; cv=none; b=Bu4lwruunRENfmp8yhHjZQjnZwaLBnYgF6jMHebForpmxDaV7SYlYggaATZqPx/jQ7jS3AO7pJfNCqnLmh1ohhcqgD5u3pu6jDGWcp2vl9Qc63V0abBqTi5IRSGiu0DYzRq/azUgEWrm44QFG/tjyAJWBCm/NyZEWmLA8E+qq+g= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699286710; c=relaxed/simple; bh=zRW8gqVCIVDzwEs+attBMHvGWGNq9c4PLEGhWLV70Lw=; h=Message-ID:Date:MIME-Version:To:From:Subject; b=ix1dMHK6N6eCzt4UhPoQwbLe238D1+OgN6B6GhKktkUJvTX0SyAIxmVTaHWEN1nFplgioarLgvZB8s6cvh6nlvCFsv5lSDOBQMSEUhypif84OLL1HI9n6enbt0pPZ5PIN7tU7CnFo6QZWCE6gytsteDNBjhjyCW2t6wsxC/Ri4s= ARC-Authentication-Results: i=1; server2.sourceware.org X-CSE-ConnectionGUID: GG7vwyp+Rnq7/D4pXaqr2g== X-CSE-MsgGUID: AL1yejmHSJCKWoVILSDQMQ== X-IronPort-AV: E=Sophos;i="6.03,282,1694764800"; d="diff'?scan'208";a="24933695" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa1.mentor.iphmx.com with ESMTP; 06 Nov 2023 08:05:06 -0800 IronPort-SDR: A/JlLyNo5qQfer9EG6KkrvBboBopxPqXXKkJCjsnajaW+Ax3trW2jZWnOwNc79vSR4ii5JEglF kvUMJSthljBtxocLV2E/fx6v+V72O0fhc8czB2AUtXqlCQLkIGZOv5yBzCeafW3+2LrGtCXPkk wp1VYgfgmY6EL8FXZbNUeYBy19YGA+LruDgaFzIrqwgywcXwbmNhp1xKXuSk6wN1IWBWgEpW4e ZQ/WOYBZpcgW35Jp4Q0fbTFenatiqTy2jUivb98PIIEajDQ3SHBQPDcF+Z98L0ynxnSH8QTXt/ jXQ= Message-ID: <05120dc8-a98c-4518-996a-7fb6c32a3b63@codesourcery.com> Date: Mon, 6 Nov 2023 17:05:02 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: gcc-patches , Jakub Jelinek From: Tobias Burnus Subject: [patch] libgomp.texi: Update OpenMP 6.0-preview implementation-status list X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-10.mgc.mentorg.com (139.181.222.10) 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, HEADER_FROM_DIFFERENT_DOMAINS, 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.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1781831286123481609 X-GMAIL-MSGID: 1781831286123481609 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. diff --git a/libgomp/libgomp.texi b/libgomp/libgomp.texi index b635f81750b..92680452b1b 100644 --- a/libgomp/libgomp.texi +++ b/libgomp/libgomp.texi @@ -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:: /TR12 +@c * omp_ancestor_is_free_agent:: /TR12 @end menu