gcc-14/changes.html + project/gomp/: Update OpenMP status
@@ -52,10 +53,22 @@ a work-in-progress.</p>
<li>
The <code>requires</code> directive's <code>unified_address</code>
requirement is now fulfilled by both AMD GCN and nvptx devices.
+ AMD GCN and nvptx devices now support low-latency allocators as
+ <a href="https://gcc.gnu.org/onlinedocs/libgomp/Offload-Target-Specifics.html"
+ >detailed in the manual</a>. Initial support for pinned-memory
+ allocators has been added (<a href="https://gcc.gnu.org/onlinedocs/libgomp/Memory-allocation.html"
+ >as detailed in the manual</a>)
</li>
<li>OpenMP 5.0: The <code>allocate</code> directive is now
supported for stack variables in C and Fortran, including the OpenMP 5.1
- <code>align</code> modifier.
+ <code>align</code> modifier. For Fortran, OpenMP allocators can now be
+ used for allocatables and pointers using the <code>allocate</code>
+ directive and its OpenMP 5.2 replacement, the <code>allocators</code>
+ directive; files using this allocator and all files that might directly
+ or indirectly (intrinisic assignment, <code>intent(out)</code>, ...)
+ de- or reallocate such-allocated variables must be compiled with the
+ <a href="https://gcc.gnu.org/onlinedocs/gfortran/Fortran-Dialect-Options.html#index-fopenmp-allocators"
+ ><code>-fopenmp-allocators</code></a> option.
</li>
<li>
OpenMP 5.1: Support was added for collapsing imperfectly nested loops and
@@ -480,7 +480,7 @@ than listed, depending on resolved corner cases and optimizations.</p>
<tr>
<td><code>allocate</code> directive</td>
<td class="partial"><a href="../../gcc-14/changes.html#languages">GCC 14</a></td>
- <td>Only C and Fortran, only stack variables</td>
+ <td>Only C for stack/automatic and Fortran for stack/automatic and allocatable/pointer variables</td>
</tr>
<tr>
<td>Discontiguous array section with <code>target update</code> construct</td>
@@ -555,7 +555,7 @@ than listed, depending on resolved corner cases and optimizations.</p>
<tr>
<td><code>align</code> clause in <code>allocate</code> directive</td>
<td class="partial"><a href="../../gcc-14/changes.html#languages">GCC 14</a></td>
- <td>Only C and Fortran (and only stack variables)</td>
+ <td>Only C and Fortran (and not for static variables)</td>
</tr>
<tr>
<td><code>align</code> modifier in <code>allocate</code> clause</td>
@@ -820,10 +820,15 @@ than listed, depending on resolved corner cases and optimizations.</p>
<td></td>
</tr>
<tr>
- <td>Deprecation of no-argument <code>destroy</code> clause on <code>depobj</code></td>
+ <td><code>destroy</code> clause with <em>destroy-var</em> argument on <code>depobj</code></td>
<td class="supported"><a href="../../gcc-14/changes.html#languages">GCC 14</a></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="supported"><a href="../../gcc-13/changes.html#languages">GCC 13</a></td>