As usual: comments are welcome, but if there are none,
I will commit it as is ...
Adds two new features to the release notes, links to
OpenMP TR15 - and updates the implementation status for
the new TR15 features plus for what is meanwhile implemented.
Tobias
gcc-17/changes.html + projects/gomp/: OpenMP update
* changes.html: Add two new OpenMP features.
* projects/gomp/: Link to just released TR15 and update
implementation status for TR15 and implemented features.
diff --git a/htdocs/gcc-17/changes.html b/htdocs/gcc-17/changes.html
index d1bfadc1e..449d3a151 100644
--- a/htdocs/gcc-17/changes.html
+++ b/htdocs/gcc-17/changes.html
@@ -51,10 +51,13 @@ a work-in-progress.</p>
<ul>
<li><strong>OpenMP 5.0:</strong> Multiple clauses mapping the same variable is
now supported. Handling used-defined map operation (<code>declare
- mapper</code>) in C and C++ has been improved.</li>
+ mapper</code>) in C and C++ has been improved. The <code>uses_allocators</code>
+ clause now accepts traits (also with the OpenMP 5.1 syntax).</li>
<li><strong>OpenMP 5.1:</strong> The <code>iterator</code> modifier to the
<code>map</code>, <code>to</code>, and <code>from</code> clauses has been
improved for C and C++ and initial support for Fortran added.</li>
+ <li><strong>OpenMP 6.0:</strong> The <code>device_type</code> clause is now
+ supported on the <code>target</code> construct.
<li><strong>TR15:</strong> The <a
href="https://gcc.gnu.org/onlinedocs/libgomp/omp_005fget_005fdevice_005fdistances.html">
<code>omp_get_device_distances</code></a> API
diff --git a/htdocs/projects/gomp/index.html b/htdocs/projects/gomp/index.html
index d9f389f7c..5be2ad7a2 100644
--- a/htdocs/projects/gomp/index.html
+++ b/htdocs/projects/gomp/index.html
@@ -29,7 +29,7 @@ OpenMP and OpenACC are supported with GCC's C, C++ and Fortran compilers.</p>
<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> ·
- <a href="#omp6.0">6.0</a> · <a href="#omp6.1">TR 14</a></li>
+ <a href="#omp6.0">6.0</a> · <a href="#omp6.1">TR 15</a></li>
<li><a href="#omp-status">OpenMP Releases and Status</a></li>
</ul>
@@ -924,8 +924,9 @@ than listed, depending on resolved corner cases and optimizations.</p>
</tr>
<tr>
<td>New <code>memspace</code> and <code>traits</code> modifiers for <code>uses_allocators</code></td>
- <td class="partial"><a href="../../gcc-16/changes.html#openmp">GCC 16</a></td>
- <td>Only predefined allocators</td>
+ <td class="supported"><a href="../../gcc-16/changes.html#openmp">GCC 16</a><br>
+ <a href="../../gcc-17/changes.html#openmp">GCC 17</a></td>
+ <td>Only predefined allocators<br></td>
</tr>
<tr>
<td>Deprecation of traits array following the allocator_handle expression in <code>uses_allocators</code></td>
@@ -1048,10 +1049,11 @@ error.</p>
</tr>
<tr>
<td>Full support for C 23 was added</td>
- <td class="partial"><a href="../../gcc-9/changes.html#languages">GCC 9</a>
- / <a href="../../gcc-14/changes.html#languages">GCC 14</a></td>
+ <td class="supported"><a href="../../gcc-9/changes.html#languages">GCC 9</a>
+ / <a href="../../gcc-14/changes.html#languages">GCC 14</a>
+ / <a href="../../gcc-15/changes.html#languages">GCC 15</a></td>
<td>Increasing coverage (since GCC 9 <code>-std=c2x</code>,
- since GCC 14 <code>-std=c23</code>)</td>
+ since GCC 14 <code>-std=c23</code>, default since GCC 15)</td>
</tr>
<tr>
<td>Full support for C++ 23 was added</td>
@@ -1458,7 +1460,7 @@ error.</p>
</tr>
<tr>
<td>New <code>device_type</code> clause to the <code>target</code> directive</td>
- <td class="unsupported">No</td>
+ <td class="supported"><a href="../../gcc-17/changes.html#openmp">GCC 17</a></td>
<td></td>
</tr>
<tr>
@@ -1664,7 +1666,7 @@ error.</p>
<tr>
<td>New <code>omp_pause_stop_tool</code> constant for
<code>omp_pause_resource</code></td>
- <td class="unsupported">No</td>
+ <td class="supported"><a href="../../gcc-17/changes.html#openmp">GCC 17</a></td>
<td></td>
</tr>
<tr>
@@ -1682,9 +1684,9 @@ error.</p>
</tbody>
</table>
-<h3 id="omp6.1">OpenMP Technical Report 14</h3>
+<h3 id="omp6.1">OpenMP Technical Report 15</h3>
-<p>Technical Report (TR) 14 is the first preview for OpenMP 6.1.</p>
+<p>Technical Report (TR) 15 is the second preview for OpenMP 6.1.</p>
<table class="ompstatus">
<thead>
@@ -1695,11 +1697,69 @@ error.</p>
</tr>
</thead>
<tbody>
+ <tr>
+ <td>Spatial ICVs and the <code>dim</code> modifier for spatial dimensions</td>
+ <td class="unsupported">No</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>Spatial-dimension API routines</td>
+ <td class="supported"><a href="../../gcc-17/changes.html#openmp">GCC 17</a></td>
+ <td>Single active dimension until <code>dim</code> modifier is supported</td>
+ </tr>
+ <tr>
+ <td>In the <code>OMP_PLACES</code> env var, support extended syntax with abstract names</td>
+ <td class="unsupported">No</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>In the <code>OMP_PLACES</code> env var, support hierarchical place groups</td>
+ <td class="unsupported">No</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>In the <code>OMP_PLACES</code> env var, new <code>structured</code> operator</td>
+ <td class="unsupported">No</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td><code>reset</code> and <code>noreset</code> modifiers to the
+ <code>OMP_PROC_BIND</code> env var</td>
+ <td class="unsupported">No</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td><code>optional</code> modifier to the <code>default</code> and
+ <code>defaultmap</code> clauses for Fortran</td>
+ <td class="unsupported">No</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td><code>implicit</code> modifier to the <code>default</code> and
+ <code>defaultmap</code> clauses</td>
+ <td class="unsupported">No</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>Type conversion in atomic structured blocks</td>
+ <td class="unsupported">No</td>
+ <td></td>
+ </tr>
<tr>
<td>The <code>depth</code> clause to <code>fuse</code> directive</td>
<td class="unsupported">No</td>
<td></td>
</tr>
+ <tr>
+ <td>The <code>per_thread</code> modifier to the <code>reduction</code> clause</td>
+ <td class="unsupported">No</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>Mapping polymorphic variables in Fortran</td>
+ <td class="unsupported">No</td>
+ <td></td>
+ </tr>
<tr>
<td>The <code>attach</code> modifier to the <code>map</code> clause</td>
<td class="unsupported">No</td>
@@ -1712,11 +1772,22 @@ error.</p>
<td class="unsupported">No</td>
<td></td>
</tr>
+ <tr>
+ <td>The <code>vendor</code> trait selector to the <code>device</code> and
+ <code>target_device</code> selector set in context selectors</td>
+ <td class="unsupported">No</td>
+ <td></td>
+ </tr>
<tr>
<td><code>begin declare_variant</code> directive in Fortran</td>
<td class="unsupported">No</td>
<td></td>
</tr>
+ <tr>
+ <td><code>shift</code> clause to the <code>tile</code> construct</td>
+ <td class="unsupported">No</td>
+ <td></td>
+ </tr>
<tr>
<td><code>grid</code> and <code>tile</code> modifier to the <code>size</code> clause</td>
<td class="unsupported">No</td>
@@ -1732,17 +1803,66 @@ error.</p>
<td class="unsupported">No</td>
<td></td>
</tr>
+ <tr>
+ <td>Lifted restriction on the first chunk size for the <code>schedule</code> clause with <code>simd</code> modifier</td>
+ <td class="unsupported">No</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>Change to the used chunk-size with the <code>schedule</code> clause and no specified <em>chunk_size</em></td>
+ <td class="unsupported">No</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>Clarified behavior of Fortran type-bound procedures inside <code>target</code> regions</td>
+ <td class="unsupported">No</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td><code>taskwait</code> construct's implicit task-dependencies rules update</td>
+ <td class="unsupported">No</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td><code>depobj</code> and <code>loc</code> modifiers to the <code>depend</code> clause</td>
+ <td class="unsupported">No</td>
+ <td></td>
+ </tr>
<tr>
<td>New <code>omp_default_device</code> identifier as conforming device number</td>
<td class="supported"><a href="../../gcc-16/changes.html#openmp">GCC 16</a></td>
<td></td>
</tr>
+ <tr>
+ <td>user_mem} class template added to the <code>omp::allocator</code> namespace</td>
+ <td class="unsupported">No</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td><code>omp_get_filtered_devices</code> API routines</td>
+ <td class="unsupported">No</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td><code>omp_get_device_distances</code> API routines</td>
+ <td class="supported"><a href="../../gcc-17/changes.html#openmp">GCC 17</a></td>
+ <td></td>
+ </tr>
<tr>
<td>Clarify when <code>omp_target_is_accessible</code> routine returns zero</td>
<td class="supported"><a href="../../gcc-16/changes.html#openmp">GCC 16</a></td>
<td></td>
</tr>
-
+ <tr>
+ <td>OMPT entry point <code>set_selective_callback</code></td>
+ <td class="unsupported">No</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>OMPT entry point <code>get_uid_from_device</code></td>
+ <td class="unsupported">No</td>
+ <td></td>
+ </tr>
</tbody>
</table>
@@ -1768,6 +1888,11 @@ error.</p>
<h2 id="omp-status">OpenMP Releases and Status</h2>
<dl>
+<dt><b>July 9, 2026</b></dt>
+<dd><p>OpenMP Technical Report 15 (second preview for the OpenMP API Version 6.1) has been
+released [<a href="https://www.openmp.org/wp-content/uploads/openmp-TR15.pdf">PDF</a>,
+<a href="https://www.openmp.org/specifications/">specifications site</a>].</p></dd>
+
<dt><b>November 13, 2025</b></dt>
<dd><p>OpenMP Technical Report 14 (first preview for the OpenMP API Version 6.1) has been
released [<a href="https://www.openmp.org/wp-content/uploads/openmp-TR14.pdf">PDF</a>,