This syncs the libgomp.texi implementation status to the webpage, i.e. adding a few new items + marking some as 'supported'.
It also fixes a couple of bugs and adds links providing more details for two items (a PR link as in libgomp.texi and a section in the manual). Comments? Suggestions? If not, I will commit it tomorrow. Current version: https://gcc.gnu.org/projects/gomp/ General suggestions about this page - like what to add, split off, move around are also welcome. (Likewise comments to Tobias PS: The patch assumes that's Sandra's intervening-code support patch is applied (should happen in a few hours). PPS: The GCC 14 release notes still need to be updated to match the current support. Alas, that's an on going theme as features keep getting added :-) ----------------- 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
projects/gomp/: Update implementation status and minor fixes diff --git a/htdocs/projects/gomp/index.html b/htdocs/projects/gomp/index.html index 2df67403..04bfd908 100644 --- a/htdocs/projects/gomp/index.html +++ b/htdocs/projects/gomp/index.html @@ -38,7 +38,9 @@ OpenMP and OpenACC are supported with GCC's C, C++ and Fortran compilers.</p> <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 + ><code>-fopenmp</code></a>. <a + href="https://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html#index-fopenmp-simd"> + <code>-fopenmp-simd</code></a> can be used to enable only the SIMD vectorization and loop-transformation constructs without creating multiple threads, offloading code or adding a library dependency.</li> @@ -75,8 +77,8 @@ OpenMP and OpenACC are supported with GCC's C, C++ and Fortran compilers.</p> <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><a href="https://www.openacc.org/specification">OpenACC + specification</a>.</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> @@ -312,7 +314,7 @@ than listed, depending on resolved corner cases and optimizations.</p> <td class="partial"> <a href="../../gcc-9/changes.html#c-family">GCC 9</a><br> <a href="../../gcc-12/changes.html#languages">GCC 12</a><br> - <a href="../../gcc-13/changes.html#languages">GCC 13</a> + <a href="../../gcc-13/changes.html#languages">GCC 13</a><br> <a href="../../gcc-14/changes.html#languages">GCC 14</a> </td> <td> @@ -371,12 +373,13 @@ than listed, depending on resolved corner cases and optimizations.</p> <tr> <td>Predefined memory spaces, memory allocators, allocator traits</td> <td class="supported"><a href="../../gcc-11/changes.html#languages">GCC 11</a></td> - <td>Some are only stubs</td> + <td>Some are only stubs; see manual (<a + href="https://gcc.gnu.org/onlinedocs/libgomp/Memory-allocation.html">mainline</a>)</td> </tr> <tr> <td>Non-rectangular loop nests</td> <td class="partial"><a href="../../gcc-11/changes.html#languages">GCC 11</a><br><a href="../../gcc-13/changes.html#languages">GCC 13</a></td> - <td>C/C++ (full)<br>Fortran (partial)</td> + <td>C/C++ (full)<br>Fortran (partial, <a href="https://gcc.gnu.org/PR110735">PR110735</a>)</td> </tr> <tr> <td>Nested-parallel changes to <em>max-active-levels-var</em> ICV</td> @@ -446,7 +449,7 @@ than listed, depending on resolved corner cases and optimizations.</p> </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 12</a></td> + <td class="partial"><a href="../../gcc-12/changes.html#languages">GCC 12</a></td> <td>Mapping of vars with allocatable components unsupported</td> </tr> <tr> @@ -471,7 +474,7 @@ than listed, depending on resolved corner cases and optimizations.</p> </tr> <tr> <td>Collapse of associated loops that are imperfectly nested loops</td> - <td class="unsupported">No</td> + <td class="supported"><a href="../../gcc-14/changes.html#languages">GCC 14</a></td> <td></td> </tr> <tr> @@ -610,7 +613,7 @@ than listed, depending on resolved corner cases and optimizations.</p> <td></td> </tr> <tr> - <td><code>OMP_NUM_TEAMS</code> and <code>OMP_TEAMS_THREAD_LIMIT</code> env variables</td> + <td><code>OMP_NUM_TEAMS</code> and <code>OMP_TEAMS_THREAD_LIMIT</code> environment variables</td> <td class="supported"><a href="../../gcc-12/changes.html#languages">GCC 12</a></td> <td></td> </tr> @@ -746,6 +749,26 @@ than listed, depending on resolved corner cases and optimizations.</p> <td class="unsupported">No</td> <td></td> </tr> + <tr> + <td>Optional comma between directive and clause in the <code>#pragma</code> form</td> + <td class="unsupported">No</td> + <td></td> + </tr> + <tr> + <td><code>indirect</code> clause in <code>declare target</code></td> + <td class="unsupported">No</td> + <td></td> + </tr> + <tr> + <td><code>device_type(nohost)</code>/<code>device_type(host)</code> for variables</td> + <td class="unsupported">No</td> + <td></td> + </tr> + <tr> + <td><code>present</code> modifier to the <code>map</code>, <code>to</code> and <code>from</code> clauses</td> + <td class="supported"><a href="../../gcc-14/changes.html#languages">GCC 14</a></td> + <td></td> + </tr> <tr> <td><code>ompt_sync_region_t</code> enum additions</td> <td class="unsupported">No</td> @@ -818,12 +841,12 @@ than listed, depending on resolved corner cases and optimizations.</p> </tr> <tr> <td><code>declare mapper</code> with iterator and <code>present</code> modifiers</td> - <td class="unsupported">No</td> + <td class="supported"><a href="../../gcc-14/changes.html#languages">GCC 14</a></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 class="supported"><a href="../../gcc-14/changes.html#languages">GCC 14</a></td> <td></td> </tr> <tr> @@ -838,7 +861,7 @@ than listed, depending on resolved corner cases and optimizations.</p> </tr> <tr> <td>Extended list of directives permitted in Fortran pure procedures</td> - <td class="supported"><a href="../../gcc-13/changes.html#languages">GCC 14</a></td> + <td class="supported"><a href="../../gcc-14/changes.html#languages">GCC 14</a></td> <td></td> </tr> <tr> @@ -928,7 +951,12 @@ than listed, depending on resolved corner cases and optimizations.</p> </tr> <tr> <td>Initial value of <em>default-device-var</em> ICV with <code>OMP_TARGET_OFFLOAD=mandatory</code></td> - <td class="supported"><a href="../../gcc-13/changes.html#languages">GCC 14</a></td> + <td class="supported"><a href="../../gcc-14/changes.html#languages">GCC 14</a></td> + <td></td> + </tr> + <tr> + <td><code>all</code> as <em>implicit-behavior</em> for <code>defaultmap</code></td> + <td class="supported"><a href="../../gcc-14/changes.html#languages">GCC 14</a></td> <td></td> </tr> <tr> @@ -1121,11 +1149,6 @@ error.</p> <td class="unsupported">No</td> <td></td> </tr> - <tr> - <td><code>aligned</code> clause changes for <code>simd</code> and <code>declare simd</code> - <td class="unsupported">No</td> - <td></td> - </tr> </tbody> </table>