Attached is an in-between update for the release notes and also for the project status page.
The latter contains an implementation-status page that is updated based on the libgomp.texi entries; I think there are more issues, but I found an incomplete update which is now fixed. I probably need to go through that list and check it again. Comments, suggestions, remarks before (or after) I commit it? Tobias PS: I hope that we can still review, revise, commit some more pending patches (in general, but mostly talking about OpenMP, OpenACC and nvptx/gcn here). PPS: I or someone else also needs to update the Fortran part, now that there is -std=f2023 (besides -std=c23 and -std=c++23). I have not checked for additional features. ----------------- 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
gcc-14/changes.html + project/gomp/: Update OpenMP status diff --git a/htdocs/gcc-14/changes.html b/htdocs/gcc-14/changes.html index c49c13e9..516f3954 100644 --- a/htdocs/gcc-14/changes.html +++ b/htdocs/gcc-14/changes.html @@ -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 diff --git a/htdocs/projects/gomp/index.html b/htdocs/projects/gomp/index.html index 03f74a88..bf20bb88 100644 --- a/htdocs/projects/gomp/index.html +++ b/htdocs/projects/gomp/index.html @@ -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>