public inbox for gcc-cvs-wwwdocs@sourceware.org
help / color / mirror / Atom feed
From: Tobias Burnus <burnus@sourceware.org>
To: gcc-cvs-wwwdocs@gcc.gnu.org
Subject: gcc-wwwdocs branch master updated. f7651427bfa17d0a460dd63285d4da9130d21f33
Date: Tue, 17 May 2022 09:41:28 +0000 (GMT)	[thread overview]
Message-ID: <20220517094128.BB5B83858C51@sourceware.org> (raw)

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 35756 bytes --]

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gcc-wwwdocs".

The branch, master has been updated
       via  f7651427bfa17d0a460dd63285d4da9130d21f33 (commit)
      from  020a4fdb22f26524b50e50ff7ac1470cb3fe0c6b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit f7651427bfa17d0a460dd63285d4da9130d21f33
Author: Tobias Burnus <tobias@codesourcery.com>
Date:   Tue May 17 11:41:06 2022 +0200

    Add OpenMP by-GCC-version implementation status
    
    * htdocs/projects/gomp/index.html: Add by-GCC-version implementation
      status; add new intro, add links and crossrefs.
    * htdocs/projects/gomp/index.html: Link it.
    * htdocs/gcc-13/changes.html: Likewise; document first new features.
    * htdocs/gcc.css (table.ompstatus): Add.

diff --git a/htdocs/gcc-13/changes.html b/htdocs/gcc-13/changes.html
index a1b64df3..dc526530 100644
--- a/htdocs/gcc-13/changes.html
+++ b/htdocs/gcc-13/changes.html
@@ -37,6 +37,18 @@ a work-in-progress.</p>
 <!-- .................................................................. -->
 <h2 id="general">General Improvements</h2>
 
+<ul>
+  <li><a href="https://gcc.gnu.org/projects/gomp/">OpenMP</a>
+  <ul>
+    <li>The following OpenMP 5.1 features have been added: the
+    <code>omp_all_memory</code> reserved locator and the
+    <code>omp_target_is_accessible</code> and <code>omp_get_mapped_ptr</code>
+    API routines.</li>
+  </ul>
+  </li>
+</ul>
+
+
 <!-- .................................................................. -->
 <h2 id="languages">New Languages and Language specific improvements</h2>
 
diff --git a/htdocs/gcc.css b/htdocs/gcc.css
index f1081681..29807a24 100644
--- a/htdocs/gcc.css
+++ b/htdocs/gcc.css
@@ -115,6 +115,11 @@ table.cxxdrstatus td:nth-child(4) { text-align:center; }
 table.cxxdrstatus tr.separator { background: #f2f2f9; }
 table.cxxdrstatus { width: 65%; }
 
+/* OpenMP status tables. */
+table.ompstatus th, table.cxxstatus td { border: 1px solid gray; }
+table.ompstatus td:nth-child(2) { text-align:center; }
+table.ompstatus tr.separator { background: #f2f2f9; }
+
 /* Padded tables. */
 table.padding5 th, td { border: 1px solid gray; padding:5px; }
 
diff --git a/htdocs/projects/gomp/index.html b/htdocs/projects/gomp/index.html
index 59697c10..42932c77 100644
--- a/htdocs/projects/gomp/index.html
+++ b/htdocs/projects/gomp/index.html
@@ -3,13 +3,84 @@
 
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>GOMP &mdash; An OpenMP implementation for GCC</title>
+<title>GNU Offloading and Multi-Processing Project (GOMP)</title>
 <link rel="stylesheet" type="text/css" href="https://gcc.gnu.org/gcc.css" />
 </head>
 
 <body>
 
-<h1>Welcome to the home of GOMP</h1>
+<h1>GNU Offloading and Multi-Processing Project (GOMP)</h1>
+
+<p>The GOMP project consists of implementation of OpenMP and OpenACC to
+permit annotating the source code to permit running it concurrently with
+thread parallelization and on offloading devices (<q>accelerators</q> such
+as GPUs), including the associated run-time library and API routines. Both
+OpenMP and OpenACC are supported with GCC's C, C++ and Fortran compilers.</p>
+
+<h2>Content</h2>
+<ul>
+  <li><a href="#usage">Usage</a></li>
+  <li><a href="#history_and_goal">History and Project Goal</a></li>
+  <li><a href="#contributing">Contributing</a></li>
+  <li><a href="#bugs">Reporting Bugs</a></li>
+  <li><a href="#implementation-status">OpenMP Implementation Status</a>:
+  <a href="#omp2.5">2.5</a> · <a href="#omp3.0">5.0</a> ·
+  <a href="#omp3.1">3.1</a> · <a href="#omp4.0">4.0</a> ·
+  <a href="#omp4.5">4.5</a> · <a href="#omp5.0">5.0</a> ·
+  <a href="#omp5.1">5.1</a> · <a href="#omp5.2">5.2</a></li>
+  <li><a href="#omp-status">OpenMP Releases and Status</a></li>
+</ul>
+
+<h2 id="usage">Usage</h2>
+<ul>
+  <li>To enable <strong><a href="https://www.openmp.org">OpenMP</a></strong>,
+  use <a
+  href="https://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html#index-fopenmp"
+  ><code>-fopenmp</code></a>; <code>-fopenmp-simd</code> can be used
+  to enable only the SIMD vectorization and loop-transformation constructs
+  without creating multiple threads, offloading code or adding library
+  dependency.</li>
+  <li>To enable <strong><a href="https://www.openacc.org">OpenACC</a></strong>,
+  use <a
+  href="https://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html#index-fopenacc"
+  ><code>-fopenacc</code></a>.</li>
+  <li>If either is enabled, offloading is automatically generated for all
+  offload-device types for which the compiler has been configured. Use <a
+  href="https://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html#index-foffload"
+  ><code>-foffload=</code></a> to disable or specify the offload-devices to be
+  used. Use <a
+  href="https://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html#index-foffload-options"
+  ><code>-foffload-options=</code></a> to pass device-specific compiler and
+  linker flags.</li>
+</ul>
+
+<p>Diagnostics</p>
+<ul>
+  <li>The <a
+  href="https://gcc.gnu.org/onlinedocs/gcc/Developer-Options.html#index-fopt-info"
+  ><code>-fopt-info</code></a> flag provides details about compile-time performed
+  optimizations.</li>
+  <li>Environment variables can be used to influence run-time behavior and output
+  more data, useful for debugging or performance tuning. See the <a
+  href="https://gcc.gnu.org/onlinedocs/libgomp/">GNU libgomp</a> manual for
+  details.</li>
+</ul>
+
+<p>Documentation</p>
+<ul>
+  <li><a href="https://gcc.gnu.org/onlinedocs/libgomp/">GNU libgomp</a> manual
+  for API routines, environment variables and implementation details.</li>
+  <li><a href="https://www.openmp.org/specifications/">OpenMP specification</a>,
+  including OpenMP API examples documents, reference cards and additional
+  definitions specification.</li>
+  <li><a href="https://www.openacc.org/specification">OpenACC</a>
+  specification.</li>
+  <li>Related GCC wiki pages: <a href="https://gcc.gnu.org/wiki/openmp"
+  >openmp</a>, <a href="https://gcc.gnu.org/wiki/OpenACC">OpenACC</a>,
+  <a href="https://gcc.gnu.org/wiki/Offloading">Offloading</a>.</li>
+</ul>
+
+<h2 id="history_and_goal">History and Project Goal</h2>
 
 <p>The GOMP project has developed an implementation of
 <a href="https://www.openmp.org">OpenMP</a>
@@ -39,10 +110,9 @@ efficient parallel code.</p>
 <p>OpenMP additionally permits to offload computations on
 accelerators such as <abbr title="Graphical Processing Units">GPUs</abbr>,
 making use of their highly parallel computation support; if
-no accelarator is available, as fallback, the computation is
+no accelerator is available, as fallback, the computation is
 then done on the host.</p>
 
-<h2>Project goal</h2>
 <p>To remain relevant, free software development tools must
 support emerging technologies. By implementing OpenMP, GOMP
 provides a simplified syntax tools for creating software targeted
@@ -54,20 +124,761 @@ projects.</p>
 extensions to target language parsers.  A long-term goal is
 the generation of efficient and small code for OpenMP applications.</p>
 
-<h2>Contributing</h2>
+<p>When support for OpenACC was added, the project name <q>GOMP</q>
+was reinterpreted as <q>GNU Offloading and Multi-Processing</q> instead
+of denoting <q>GNU OpenMP</q>.
+
+<h2 id="contributing">Contributing</h2>
 <p>We encourage everyone to
 <a href="../../contribute.html">contribute changes</a>
 and help test GOMP.  GOMP has been merged into mainline GCC.</p>
 
-<h2>Reporting Bugs</h2>
-<p>Please add "openmp" to the keywords field when filing a bug report.</p>
-
-<h2>Documentation</h2>
-<p>libgomp, the GOMP support library, has
-<a href="https://gcc.gnu.org/onlinedocs/libgomp/">online documentation</a>
-available.</p>
-
-<h2>Status</h2>
+<h2 id="bugs">Reporting Bugs</h2>
+<p>Please add <q>openmp</q> or <q>openacc</q> to the keywords field when
+filing a <a href="../../bugs/">bug report</a>.</p>
+
+<h2 id="implementation-status">OpenMP Implementation Status</h2>
+
+<p>Implementation status in libgomp manual:
+<a href="https://gcc.gnu.org/onlinedocs/libgomp/OpenMP-Implementation-Status.html"
+>Mainline (GCC 13)</a>,
+<a href="https://gcc.gnu.org/onlinedocs/gcc-12.1.0/libgomp/OpenMP-Implementation-Status.html"
+>GCC 12</a>.</p>
+
+<p>Disclaimer: A feature might be only fully supported in a later GCC version
+than listed, depending on resolved corner cases and optimizations.</p>
+
+
+
+<h3 id="omp2.5">OpenMP 2.5</h3>
+<ul>
+  <li>Supported since GCC 4.2</li>
+</ul>
+
+<h3 id="omp3.0">OpenMP 3.0</h3>
+<ul>
+  <li>Supported since GCC 4.4</li>
+</ul>
+
+<h3 id="omp3.1">OpenMP 3.1</h3>
+<ul>
+  <li>Supported since GCC 4.7</li>
+</ul>
+
+<h3 id="omp4.0">OpenMP 4.0</h3>
+<ul>
+  <li><strong>C/C++:</strong> Supported since GCC 4.9</li>
+  <li><strong>Fortran:</strong> Supported since GCC 4.9.1</li>
+</ul>
+
+<h3 id="omp4.5">OpenMP 4.5</h3>
+<ul>
+  <li><strong>C/C++:</strong> Supported since GCC 6</li>
+  <li><strong>Fortran:</strong> Partial support since GCC 7, full support since GCC 11</li>
+</ul>
+
+
+<h3 id="omp5.0">OpenMP 5.0</h3>
+
+<table class="ompstatus">
+<thead>
+  <tr class="separator">
+    <th>Feature</th>
+    <th>GCC Version</th>
+    <th>Comments</th>
+  </tr>
+</thead>
+<tbody>
+  <tr>
+    <td><code>in_reduction</code> clause on task constructs</td>
+    <td class="supported"><a href="../../gcc-9/changes.html#c-family">GCC&nbsp;9</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>Supporting C++'s range-based for loop</td>
+    <td class="supported"><a href="../../gcc-9/changes.html#c-family">GCC&nbsp;9</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>Iterators</td>
+    <td class="supported"><a href="../../gcc-9/changes.html#c-family">GCC&nbsp;9</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>!= as relational-op in canonical loop form for C/C++</td>
+    <td class="supported"><a href="../../gcc-9/changes.html#c-family">GCC&nbsp;9</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>C/C++'s lvalue expressions in <code>depend</code> clauses</td>
+    <td class="supported"><a href="../../gcc-9/changes.html#c-family">GCC&nbsp;9</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>mutexinoutset</code> <em>dependence-type</em> for <code>depend</code> clause</td>
+    <td class="supported"><a href="../../gcc-9/changes.html#c-family">GCC&nbsp;9</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>depobj</code> construct and depend objects </td>
+    <td class="supported"><a href="../../gcc-9/changes.html#c-family">GCC&nbsp;9</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>depend</code> clause on <code>taskwait</code></td>
+    <td class="supported"><a href="../../gcc-9/changes.html#c-family">GCC&nbsp;9</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>teams</code> construct outside an enclosing target region</td>
+    <td class="supported"><a href="../../gcc-9/changes.html#c-family">GCC&nbsp;9</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>Clauses <code>if</code>, <code>nontemporal</code> and <code>order(concurrent)</code> in <code>simd</code> construct</td>
+    <td class="supported"><a href="../../gcc-9/changes.html#c-family">GCC&nbsp;9</a>/<a href="../../gcc-10/changes.html#languages">GCC&nbsp;10</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>defaultmap</code> extensions</td>
+    <td class="supported"><a href="../../gcc-9/changes.html#c-family">GCC&nbsp;9</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>hint</code> clause on the <code>atomic</code> construct</td>
+    <td class="partial"><a href="../../gcc-9/changes.html#c-family">GCC&nbsp;9</a></td>
+    <td>Stub only</td>
+  </tr>
+  <tr>
+    <td>Weak memory ordering clauses on <code>atomic</code> and <code>flush</code> construct</td>
+    <td class="supported"><a href="../../gcc-9/changes.html#c-family">GCC&nbsp;9</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>Combined master constructs</td>
+    <td class="supported"><a href="../../gcc-9/changes.html#c-family">GCC&nbsp;9</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>Runtime routines and environment variables to display runtimethread affinity information</td>
+    <td class="supported"><a href="../../gcc-9/changes.html#c-family">GCC&nbsp;9</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>omp_pause_resource</code> and <code>omp_pause_resource_all</code> runtime routines</td>
+    <td class="supported"><a href="../../gcc-9/changes.html#c-family">GCC&nbsp;9</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>nonmonotonic</code> as default loop schedule modifier for worksharing-loop constructs</td>
+    <td class="supported"><a href="../../gcc-9/changes.html#c-family">GCC&nbsp;9</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>atomic</code> constructs in <code>simd</code></td>
+    <td class="supported"><a href="../../gcc-9/changes.html#c-family">GCC&nbsp;9</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>task_reduction</code> clause with <code>taskgroup</code></td>
+    <td class="supported"><a href="../../gcc-9/changes.html#c-family">GCC&nbsp;9</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>task</code> modifier to <code>reduction</code> clause</td>
+    <td class="supported"><a href="../../gcc-9/changes.html#c-family">GCC&nbsp;9</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>reduction</code> and <code>in_reduction</code> clauses on <code>taskloop</code> and <code>taskloop simd</code> constructs</td>
+    <td class="supported"><a href="../../gcc-9/changes.html#c-family">GCC&nbsp;9</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>taskloop</code> construct cancelable by <code>cancel</code> construct</td>
+    <td class="supported"><a href="../../gcc-9/changes.html#c-family">GCC&nbsp;9</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>Lock hints were renamed to synchronization hints</td>
+    <td class="supported"><a href="../../gcc-9/changes.html#c-family">GCC&nbsp;9</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>requires</code> directive</td>
+    <td class="partial"><a href="../../gcc-9/changes.html#c-family">GCC&nbsp;9</a><br><a href="../../gcc-12/changes.html#languages">GCC&nbsp;12</a><br>&ndash;</td>
+    <td>(<code>atomic_default_mem_order</code>)<br>(<code>dynamic_allocators</code>)<br>rest parsing only</td>
+  </tr>
+  <tr>
+    <td><code>conditional</code> modifier to <code>lastprivate</code> clause</td>
+    <td class="supported"><a href="../../gcc-10/changes.html#languages">GCC&nbsp;10</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>scan</code> directive and <code>in_scan</code> modifier for the <code>reduction clause</code></td>
+    <td class="supported"><a href="../../gcc-10/changes.html#languages">GCC&nbsp;10</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>order(concurrent)</code> clause</td>
+    <td class="supported"><a href="../../gcc-10/changes.html#languages">GCC&nbsp;10</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>loop</code> construct</td>
+    <td class="supported"><a href="../../gcc-10/changes.html#languages">GCC&nbsp;10</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>declare variant</code> directive</td>
+    <td class="partial"><a href="../../gcc-10/changes.html#languages">GCC&nbsp;10</a>/<a href="../../gcc-11/changes.html#languages">GCC&nbsp;11</a></td>
+    <td><em>simd</em> traits not handled correctly</td>
+  </tr>
+  <tr>
+    <td><code>use_device_addr</code> clause on <code>target data</code></td>
+    <td class="supported"><a href="../../gcc-10/changes.html#languages">GCC&nbsp;10</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>Nested <code>declare target</code> directive</td>
+    <td class="supported"><a href="../../gcc-10/changes.html#languages">GCC&nbsp;10</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>allocate</code> clause</td>
+    <td class="partial"><a href="../../gcc-11/changes.html#languages">GCC&nbsp;11</a></td>
+    <td>Initial support</td>
+  </tr>
+  <tr>
+    <td><em>target-offload-var</em> ICV and <code>OMP_TARGET_OFFLOAD</code> env variable</td>
+    <td class="supported"><a href="../../gcc-11/changes.html#languages">GCC&nbsp;11</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>Predefined memory spaces, memory allocators, allocator traits</td>
+    <td class="supported"><a href="../../gcc-11/changes.html#languages">GCC&nbsp;11</a></td>
+    <td>Some are only stubs</td>
+  </tr>
+  <tr>
+    <td>Non-rectangular loop nests</td>
+    <td class="supported"><a href="../../gcc-11/changes.html#languages">GCC&nbsp;11</a><br><a href="../../gcc-13/changes.html#languages">GCC&nbsp;13</a></td>
+    <td>C/C++<br>Fortran</td>
+  </tr>
+  <tr>
+    <td>Nested-parallel changes to <em>max-active-levels-var</em> ICV</td>
+    <td class="supported"><a href="../../gcc-11/changes.html#languages">GCC&nbsp;11</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>detach</code> clause to <code>task</code> construct</td>
+    <td class="supported"><a href="../../gcc-11/changes.html#languages">GCC&nbsp;11</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>omp_fulfill_event</code> runtime routine</td>
+    <td class="supported"><a href="../../gcc-11/changes.html#languages">GCC&nbsp;11</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>Memory management routines</td>
+    <td class="supported"><a href="../../gcc-11/changes.html#languages">GCC&nbsp;11</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>Implicit <code>declare target</code> directive</td>
+    <td class="supported"><a href="../../gcc-11/changes.html#languages">GCC&nbsp;11</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>omp_get_supported_active_levels</code> routine</td>
+    <td class="supported"><a href="../../gcc-11/changes.html#languages">GCC&nbsp;11</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>in_reduction</code> clause on <code>target</code> constructs</td>
+    <td class="partial"><a href="../../gcc-12/changes.html#languages">GCC&nbsp;12</a></td>
+    <td><code>nowait</code> only stub</td>
+  </tr>
+  <tr>
+    <td><code>affinity</code> clause to <code>task</code> construct</td>
+    <td class="supported"><a href="../../gcc-12/changes.html#languages">GCC&nbsp;12</a></td>
+    <td>Stub only</td>
+  </tr>
+  <tr>
+    <td><code>close</code> <em>map-type-modifier</em></td>
+    <td class="supported"><a href="../../gcc-12/changes.html#languages">GCC&nbsp;12</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>omp_get_device_num</code> runtime routine</td>
+    <td class="supported"><a href="../../gcc-12/changes.html#languages">GCC&nbsp;12</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>ancestor</code> modifier on <code>device</code> clause</td>
+    <td class="partial"><a href="../../gcc-12/changes.html#languages">GCC&nbsp;12</a></td>
+    <td>Reverse offload unsupported</td>
+  </tr>
+  <tr>
+    <td>Mapping C/C++ pointer variables and to assign the address of device memory mapped by an array section</td>
+    <td class="supported"><a href="../../gcc-12/changes.html#languages">GCC&nbsp;12</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>Mapping of Fortran pointer and allocatable variables, including pointer and allocatable components of variables</td>
+    <td class="supported"><a href="../../gcc-12/changes.html#languages">GCC&nbsp;12</a></td>
+    <td>Mapping of vars with allocatable components unsupported</td>
+  </tr>
+  <tr>
+    <td>Map-order clarifications</td>
+    <td class="partial">?</td>
+    <td>To be verified</td>
+  </tr>
+  <tr>
+    <td>Array shaping</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>Array sections with non-unit strides in C and C++</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>metadirective</code> directive</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>Collapse of associated loops that are imperfectly nested loops</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>allocate</code> directive</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>Discontiguous array section with <code>target update</code> construct</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>C/C++'s lvalue expressions in <code>to</code>, <code>from</code> and <code>map</code> clauses</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>declare mapper</code> directive</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>OMPT interface</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>OMPD interface</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+</tbody>
+</table>
+
+
+<h3 id="omp5.1">OpenMP 5.1</h3>
+
+<table class="ompstatus">
+<thead>
+  <tr class="separator">
+    <th>Feature</th>
+    <th>GCC Version</th>
+    <th>Comments</th>
+  </tr>
+</thead>
+<tbody>
+  <tr>
+    <td>OpenMP directive as C++ attribute specifiers</td>
+    <td class="supported"><a href="../../gcc-12/changes.html#languages">GCC&nbsp;12</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>nothing</code> directive</td>
+    <td class="supported"><a href="../../gcc-12/changes.html#languages">GCC&nbsp;12</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>error</code> directive</td>
+    <td class="supported"><a href="../../gcc-12/changes.html#languages">GCC&nbsp;12</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>masked</code> construct</td>
+    <td class="supported"><a href="../../gcc-12/changes.html#languages">GCC&nbsp;12</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>scope</code> directive</td>
+    <td class="supported"><a href="../../gcc-12/changes.html#languages">GCC&nbsp;12</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>strict</code> modifier in the <code>grainsize</code> and <code>num_tasks</code> clauses of the <code>taskloop</code> construct</td>
+    <td class="supported"><a href="../../gcc-12/changes.html#languages">GCC&nbsp;12</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>align</code> clause/modifier in <code>allocate</code> directive/clause and <code>allocator</code> directive</td>
+    <td class="supported"><a href="../../gcc-12/changes.html#languages">GCC&nbsp;12</a></td>
+    <td>C/C++ on clause only</td>
+  </tr>
+  <tr>
+    <td><code>thread_limit</code> clause to <code>target</code> construct</td>
+    <td class="supported"><a href="../../gcc-12/changes.html#languages">GCC&nbsp;12</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>has_device_addr</code> clause to <code>target construct</code></td>
+    <td class="supported"><a href="../../gcc-12/changes.html#languages">GCC&nbsp;12</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>Extensions to the <code>atomic</code> directive</td>
+    <td class="supported"><a href="../../gcc-12/changes.html#languages">GCC&nbsp;12</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>seq_cst</code> clause on a <code>flush construct</code></td>
+    <td class="supported"><a href="../../gcc-12/changes.html#languages">GCC&nbsp;12</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>private</code> and <code>firstprivate</code> argument to <code>default</code> clause in C and C++</td>
+    <td class="supported"><a href="../../gcc-12/changes.html#languages">GCC&nbsp;12</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>omp_set_num_teams</code>, <code>omp_set_teams_thread_limit</code>, <code>omp_get_max_teams</code>, <code>omp_get_teams_thread_limit</code> runtime routines</td>
+    <td class="supported"><a href="../../gcc-12/changes.html#languages">GCC&nbsp;12</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>omp_calloc</code>, <code>omp_realloc</code>, <code>omp_aligned_alloc</code>, and <code>omp_aligned_callocruntime</code> routines</td>
+    <td class="supported"><a href="../../gcc-12/changes.html#languages">GCC&nbsp;12</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>omp_alloctrait_key_t</code> enum: <code>omp_atv_serialized</code> added, <code>omp_atv_default</code> changed</td>
+    <td class="supported"><a href="../../gcc-12/changes.html#languages">GCC&nbsp;12</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>omp_display_env</code> runtime routine</td>
+    <td class="supported"><a href="../../gcc-12/changes.html#languages">GCC&nbsp;12</a></td>
+    <td>Not inside target regions</td>
+  </tr>
+  <tr>
+    <td><code>OMP_PLACES</code> syntax extensions</td>
+    <td class="supported"><a href="../../gcc-12/changes.html#languages">GCC&nbsp;12</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>OMP_NUM_TEAMS</code> and <code>OMP_TEAMS_THREAD_LIMIT</code> env variables</td>
+    <td class="supported"><a href="../../gcc-12/changes.html#languages">GCC&nbsp;12</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>Support of strictly structured blocks in Fortran</td>
+    <td class="supported"><a href="../../gcc-12/changes.html#languages">GCC&nbsp;12</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>Support of structured block sequences in C/C++</td>
+    <td class="supported"><a href="../../gcc-12/changes.html#languages">GCC&nbsp;12</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>unconstrained</code> and <code>reproducible</code> modifiers on <code>order</code> clause</td>
+    <td class="supported"><a href="../../gcc-12/changes.html#languages">GCC&nbsp;12</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>omp_target_is_accessible</code> runtime routine</td>
+    <td class="supported"><a href="../../gcc-13/changes.html#languages">GCC&nbsp;13</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>omp_get_mapped_ptr</code> runtime routine</td>
+    <td class="supported"><a href="../../gcc-13/changes.html#languages">GCC&nbsp;13</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>omp_all_memory</code> reserved locator</td>
+    <td class="supported"><a href="../../gcc-13/changes.html#languages">GCC&nbsp;13</a></td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><em>target_device trait</em> in OpenMP Context</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>target_device</code> selector set in context selectors</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>C/C++'s <code>declare variant</code> directive: elision support of preprocessed code</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>declare variant</code>: new clauses <code>adjust_args</code> and <code>append_args</code></td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>dispatch</code> construct</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>device-specific ICV settings the environment variables</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>assume directive</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>Loop transformation constructs</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>iterators in <code>target update</code> motion clauses and map clauses</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>indirect calls to the device version of a procedure or function in target regions</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>interop</code> directive</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>omp_interop_t</code> object support in runtime routines</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>nowait</code> clause in <code>taskwait</code> directive</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>inoutset</code> argument to the <code>depend</code> clause</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>present</code> argument to <code>defaultmap</code> clause</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>omp_target_memcpy_async</code> and <code>omp_target_memcpy_rect_async</code> runtime routines</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>ompt_scope_endpoint_t</code> enum: <code>ompt_scope_beginend</code></td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>ompt_sync_region_t</code> enum additions</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>ompt_state_t</code> enum: <code>ompt_state_wait_barrier_implementation</code> and <code>ompt_state_wait_barrier_teams</code></td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>ompt_callback_target_data_op_emi_t</code>, <code>ompt_callback_target_emi_t</code>, <code>ompt_callback_target_map_emi_t</code> and <code>ompt_callback_target_submit_emi_t</code></td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>ompt_callback_error_t</code> type</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+</tbody>
+</table>
+
+
+<h3 id="omp5.2">OpenMP 5.2</h3>
+
+<table class="ompstatus">
+<thead>
+  <tr class="separator">
+    <th>Feature</th>
+    <th>GCC Version</th>
+    <th>Comments</th>
+  </tr>
+</thead>
+<tbody>
+    <tr>
+    <td><code>omp_in_explicit_task</code> routine and <em>implicit-task-var</em> ICV</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>omp</code>/<code>ompx</code>/<code>omx</code> sentinels and <code>omp_</code>/<code>ompx_</code> namespaces</td>
+    <td class="other">N/A</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>Clauses on <code>end</code> directive can be on directive</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>Deprecation of no-argument <code>destroy</code> clause on <code>depobj</code></td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>linear</code> clause syntax changes and <code>step</code> modifier</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>Deprecation of minus operator for reductions</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>Deprecation of separating <code>map</code> modifiers without comma</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>declare mapper</code> with iterator and <code>present</code> modifiers</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>If a matching mapped list item is not found in the data environment, the pointer retains its original value</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>New <code>enter</code> clause as alias for <code>to</code> on declare target directive</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>Deprecation of <code>to</code> clause on declare target directive</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>Extended list of directives permitted in Fortran pure procedures</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>New <code>allocators</code> directive for Fortran</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>Deprecation of <code>allocator</code> directive for Fortran allocatables/pointers</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>Optional paired <code>end</code> directive with <code>dispatch</code></td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>New <code>memspace</code> and <code>traits</code> modifiers for <code>uses_allocators</code></td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>Deprecation of traits array following the allocator_handle expression in <code>uses_allocators</code></td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>New <code>otherwise</code> clause as alias for <code>default</code> on metadirectives</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>Deprecation of <code>default</code> clause on metadirectives</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>Deprecation of delimited form of <code>declare target</code></td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>Reproducible semantics changed for <code>order(concurrent)</code></td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>allocate</code> and <code>firstprivate</code> clauses on <code>scope</code></td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>ompt_callback_work</code></td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>Default map type for <code>map</code> clause in <code>target enter/exit data</code></td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>New <code>doacross</code> clause as alias for <code>depend</code> with <code>source</code>/<code>sink</code> modifier</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td>Deprecation of <code>depend</code> with <code>source</code>/<code>sink</code> modifier</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+  <tr>
+    <td><code>omp_cur_iteration</code> keyword</td>
+    <td class="unsupported">No</td>
+    <td></td>
+  </tr>
+</tbody>
+</table>
+
+
+<h2 id="omp-status">OpenMP Releases and Status</h2>
 <dl>
 <dt><b>November 9, 2021</b></dt>
 <dd><p><a href="https://www.openmp.org/wp-content/uploads/OpenMP-API-Specification-5-2.pdf">OpenMP
@@ -100,7 +911,7 @@ of the OpenMP 5.0 standard.</p></dd>
 version 5.0 of the OpenMP specification is now partially supported in the C
 and C++ compilers. For details which features of OpenMP 5.0 are and which
 are not supported in the GCC 9 release see
-<a href=https://gcc.gnu.org/ml/gcc-patches/2018-11/msg00628.html>this mail</a>.
+<a href="https://gcc.gnu.org/legacy-ml/gcc-patches/2018-11/msg00628.html">this mail</a>.
 </p></dd>
 
 <dt><b>November 8, 2018</b></dt>
diff --git a/htdocs/projects/index.html b/htdocs/projects/index.html
index 0647ed6b..dc502ed0 100644
--- a/htdocs/projects/index.html
+++ b/htdocs/projects/index.html
@@ -30,6 +30,7 @@ help develop GCC:</p>
 <li><a href="cpplib.html">Projects for the C preprocessor.</a></li>
 <li><a href="c-frontend.html">Projects for improving the C front end.</a></li>
 <li><a href="cxx-status.html">Implementing new C++ features.</a></li>
+<li><a href="gomp/">Implementing missing OpenMP features.</a></li>
 <li><a href="gupc.html">The GNU UPC Project.</a></li>
 <li><a href="#improve_the_installation_procedure">Improve the installation procedure</a></li>
 <li><a href="#simpler_porting">Simpler porting</a></li>

-----------------------------------------------------------------------

Summary of changes:
 htdocs/gcc-13/changes.html      |  12 +
 htdocs/gcc.css                  |   5 +
 htdocs/projects/gomp/index.html | 841 +++++++++++++++++++++++++++++++++++++++-
 htdocs/projects/index.html      |   1 +
 4 files changed, 844 insertions(+), 15 deletions(-)


hooks/post-receive
-- 
gcc-wwwdocs


                 reply	other threads:[~2022-05-17  9:41 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220517094128.BB5B83858C51@sourceware.org \
    --to=burnus@sourceware.org \
    --cc=gcc-cvs-wwwdocs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).