gcc-14/changes.html + projects/gomp/: Fix OpenMP/OpenACC changes section/anchor
In earlier release notes, OpenMP and OpenACC changes were under "New
Languages and Language specific improvements", either directly under that
section as in 4.2, 4.4, 4.7, 4.9, 5, 6 (+ c-family + Fortran), 10, 11, and 12
or under a subsection in 4.5 (Fortran), 4.8 (C++), 7 (Fortran), 9 (c-family).
In gcc-13, the OpenMP and OpenACC ended up by chance under "General
Improvements", which gcc-14 replicated.
This commit does not touch gcc-13 to avoid breaking links, but it corrects the
anchor used in the links to GCC 13 in projects/gomp/.
However, for GCC 14, it moves the OpenMP/OpenACC changes to the language
section.
htdocs/gcc-14/changes.html | 135 ++++++++++++++++++++--------------------
htdocs/projects/gomp/index.html | 44 ++++++-------
2 files changed, 91 insertions(+), 88 deletions(-)
@@ -59,6 +59,75 @@ a work-in-progress.</p>
<!-- .................................................................. -->
<h2 id="general">General Improvements</h2>
+<ul>
+ <li>For offload-device code generated via OpenMP and OpenACC, the math
+ and the Fortran runtime libraries will now automatically be linked,
+ when the user or compiler links them on the host side. Thus, it is no
+ longer required to explicitly pass <code>-lm</code> and/or
+ <code>-lgfortran</code> to the offload-device linker using the <a
+ href="https://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html#index-foffload-options"
+ ><code>-foffload-options=</code></a> flag.
+ </li>
+ <li>
+ New configure options: <code>--enable-host-pie</code>, to build the
+ compiler executables as PIE; and <code>--enable-host-bind-now</code>,
+ to link the compiler executables with <code>-Wl,-z,now</code> in order
+ to enable additional hardening.
+ </li>
+ <li>
+ New option
+ <a href="https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html#index-fhardened"><code>-fhardened</code></a>,
+ an umbrella option that enables a set of hardening flags.
+ The options it enables can be displayed using the
+ <code>--help=hardened</code> option.
+ </li>
+ <li>
+ New option
+ <a href="https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html#index-fharden-control-flow-redundancy"><code>-fharden-control-flow-redundancy</code></a>,
+ to verify, at the end of functions, that the visited basic blocks
+ correspond to a legitimate execution path, so as to detect and
+ prevent attacks that transfer control into the middle of
+ functions.
+ </li>
+ <li>
+ New type attribute
+ <a href="https://gcc.gnu.org/onlinedocs/gcc/Common-Type-Attributes.html#index-hardbool-type-attribute"><code>hardbool</code></a>,
+ for C and Ada. Hardened
+ booleans take user-specified representations for <code>true</code>
+ and <code>false</code>, presumably with higher hamming distance
+ than standard booleans, and get verified at every use, detecting
+ memory corruption and some malicious attacks.
+ </li>
+ <li>
+ New type attribute
+ <a href="https://gcc.gnu.org/onlinedocs/gcc/Common-Type-Attributes.html#index-strub-type-attribute"><code>strub</code></a>
+ to control stack scrubbing
+ properties of functions and variables. The stack frame used by
+ functions marked with the attribute gets zeroed-out upon returning
+ or exception escaping. Scalar variables marked with the attribute
+ cause functions contaning or accessing them to get stack scrubbing
+ enabled implicitly.
+ </li>
+ <li>
+ New option
+ <a href="https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-finline-stringops"><code>-finline-stringops</code></a>,
+ to force inline
+ expansion of <code>memcmp</code>, <code>memcpy</code>,
+ <code>memmove</code> and <code>memset</code>, even when that is
+ not an optimization, to avoid relying on library
+ implementations.
+ </li>
+ <li>
+ <!-- commit r14-4958-gcd7dadcd2759d1 -->
+ New function attribute
+ <a href="https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-null_005fterminated_005fstring_005farg-function-attribute"> <code>null_terminated_string_arg(<i>PARAM_IDX</i>)</code></a>
+ for indicating parameters that are expected to be null-terminated
+ strings.
+ </li>
+</ul>
+<!-- .................................................................. -->
+<h2 id="languages">New Languages and Language specific improvements</h2>
+
<ul>
<li id="openmp"><a href="https://gcc.gnu.org/projects/gomp/">OpenMP</a>
<ul>
@@ -136,73 +205,7 @@ a work-in-progress.</p>
<code>acc_memcpy_from_device_async</code>.
</ul>
</li>
- <li>For offload-device code generated via OpenMP and OpenACC, the math
- and the Fortran runtime libraries will now automatically be linked,
- when the user or compiler links them on the host side. Thus, it is no
- longer required to explicitly pass <code>-lm</code> and/or
- <code>-lgfortran</code> to the offload-device linker using the <a
- href="https://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html#index-foffload-options"
- ><code>-foffload-options=</code></a> flag.
- </li>
- <li>
- New configure options: <code>--enable-host-pie</code>, to build the
- compiler executables as PIE; and <code>--enable-host-bind-now</code>,
- to link the compiler executables with <code>-Wl,-z,now</code> in order
- to enable additional hardening.
- </li>
- <li>
- New option
- <a href="https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html#index-fhardened"><code>-fhardened</code></a>,
- an umbrella option that enables a set of hardening flags.
- The options it enables can be displayed using the
- <code>--help=hardened</code> option.
- </li>
- <li>
- New option
- <a href="https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html#index-fharden-control-flow-redundancy"><code>-fharden-control-flow-redundancy</code></a>,
- to verify, at the end of functions, that the visited basic blocks
- correspond to a legitimate execution path, so as to detect and
- prevent attacks that transfer control into the middle of
- functions.
- </li>
- <li>
- New type attribute
- <a href="https://gcc.gnu.org/onlinedocs/gcc/Common-Type-Attributes.html#index-hardbool-type-attribute"><code>hardbool</code></a>,
- for C and Ada. Hardened
- booleans take user-specified representations for <code>true</code>
- and <code>false</code>, presumably with higher hamming distance
- than standard booleans, and get verified at every use, detecting
- memory corruption and some malicious attacks.
- </li>
- <li>
- New type attribute
- <a href="https://gcc.gnu.org/onlinedocs/gcc/Common-Type-Attributes.html#index-strub-type-attribute"><code>strub</code></a>
- to control stack scrubbing
- properties of functions and variables. The stack frame used by
- functions marked with the attribute gets zeroed-out upon returning
- or exception escaping. Scalar variables marked with the attribute
- cause functions contaning or accessing them to get stack scrubbing
- enabled implicitly.
- </li>
- <li>
- New option
- <a href="https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-finline-stringops"><code>-finline-stringops</code></a>,
- to force inline
- expansion of <code>memcmp</code>, <code>memcpy</code>,
- <code>memmove</code> and <code>memset</code>, even when that is
- not an optimization, to avoid relying on library
- implementations.
- </li>
- <li>
- <!-- commit r14-4958-gcd7dadcd2759d1 -->
- New function attribute
- <a href="https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-null_005fterminated_005fstring_005farg-function-attribute"> <code>null_terminated_string_arg(<i>PARAM_IDX</i>)</code></a>
- for indicating parameters that are expected to be null-terminated
- strings.
- </li>
</ul>
-<!-- .................................................................. -->
-<h2 id="languages">New Languages and Language specific improvements</h2>
<!-- <h3 id="ada">Ada</h3> -->
@@ -314,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><br>
+ <a href="../../gcc-13/changes.html#general">GCC 13</a><br>
<a href="../../gcc-14/changes.html#languages">GCC 14</a>
</td>
<td>
@@ -378,7 +378,7 @@ than listed, depending on resolved corner cases and optimizations.</p>
</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 class="partial"><a href="../../gcc-11/changes.html#languages">GCC 11</a><br><a href="../../gcc-13/changes.html#general">GCC 13</a></td>
<td>C/C++ (full)<br>Fortran (partial, <a href="https://gcc.gnu.org/PR110735">PR110735</a>)</td>
</tr>
<tr>
@@ -435,7 +435,7 @@ than listed, depending on resolved corner cases and optimizations.</p>
<td><code>ancestor</code> modifier on <code>device</code> clause</td>
<td class="supported">
<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#general">GCC 13</a>
</td>
<td>
Reverse offload unsupported<br>
@@ -634,47 +634,47 @@ than listed, depending on resolved corner cases and optimizations.</p>
</tr>
<tr>
<td>device-specific ICV settings with environment variables</td>
- <td class="supported"><a href="../../gcc-13/changes.html#languages">GCC 13</a></td>
+ <td class="supported"><a href="../../gcc-13/changes.html#general">GCC 13</a></td>
<td></td>
</tr>
<tr>
<td><code>assume</code> and <code>assumes</code> directives</td>
- <td class="supported"><a href="../../gcc-13/changes.html#languages">GCC 13</a></td>
+ <td class="supported"><a href="../../gcc-13/changes.html#general">GCC 13</a></td>
<td></td>
</tr>
<tr>
<td><code>inoutset</code> argument to the <code>depend</code> clause</td>
- <td class="supported"><a href="../../gcc-13/changes.html#languages">GCC 13</a></td>
+ <td class="supported"><a href="../../gcc-13/changes.html#general">GCC 13</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 13</a></td>
+ <td class="supported"><a href="../../gcc-13/changes.html#general">GCC 13</a></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="supported"><a href="../../gcc-13/changes.html#languages">GCC 13</a></td>
+ <td class="supported"><a href="../../gcc-13/changes.html#general">GCC 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 13</a></td>
+ <td class="supported"><a href="../../gcc-13/changes.html#general">GCC 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 13</a></td>
+ <td class="supported"><a href="../../gcc-13/changes.html#general">GCC 13</a></td>
<td></td>
</tr>
<tr>
<td><code>nowait</code> clause in <code>taskwait</code> directive</td>
- <td class="supported"><a href="../../gcc-13/changes.html#languages">GCC 13</a></td>
+ <td class="supported"><a href="../../gcc-13/changes.html#general">GCC 13</a></td>
<td></td>
</tr>
<tr>
<td>Support <code>begin/end declare target</code> syntax in C/C++</td>
- <td class="supported"><a href="../../gcc-13/changes.html#languages">GCC 13</a></td>
+ <td class="supported"><a href="../../gcc-13/changes.html#general">GCC 13</a></td>
<td></td>
</tr>
<tr>
@@ -806,7 +806,7 @@ than listed, depending on resolved corner cases and optimizations.</p>
<tbody>
<tr>
<td><code>omp_in_explicit_task</code> routine and <em>implicit-task-var</em> ICV</td>
- <td class="supported"><a href="../../gcc-13/changes.html#languages">GCC 13</a></td>
+ <td class="supported"><a href="../../gcc-13/changes.html#general">GCC 13</a></td>
<td></td>
</tr>
<tr id="impl-omp52-ompx">
@@ -816,7 +816,7 @@ than listed, depending on resolved corner cases and optimizations.</p>
</tr>
<tr>
<td>Clauses on <code>end</code> directive can be on directive</td>
- <td class="supported"><a href="../../gcc-13/changes.html#languages">GCC 13</a></td>
+ <td class="supported"><a href="../../gcc-13/changes.html#general">GCC 13</a></td>
<td></td>
</tr>
<tr>
@@ -831,7 +831,7 @@ than listed, depending on resolved corner cases and optimizations.</p>
</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>
+ <td class="supported"><a href="../../gcc-13/changes.html#general">GCC 13</a></td>
<td></td>
</tr>
<tr>
@@ -856,7 +856,7 @@ than listed, depending on resolved corner cases and optimizations.</p>
</tr>
<tr>
<td>New <code>enter</code> clause as alias for <code>to</code> on declare target directive</td>
- <td class="supported"><a href="../../gcc-13/changes.html#languages">GCC 13</a></td>
+ <td class="supported"><a href="../../gcc-13/changes.html#general">GCC 13</a></td>
<td></td>
</tr>
<tr>
@@ -916,7 +916,7 @@ than listed, depending on resolved corner cases and optimizations.</p>
</tr>
<tr>
<td><code>allocate</code> and <code>firstprivate</code> clauses on <code>scope</code></td>
- <td class="supported"><a href="../../gcc-13/changes.html#languages">GCC 13</a></td>
+ <td class="supported"><a href="../../gcc-13/changes.html#general">GCC 13</a></td>
<td></td>
</tr>
<tr>
@@ -926,12 +926,12 @@ than listed, depending on resolved corner cases and optimizations.</p>
</tr>
<tr>
<td>Default map-type for the <code>map</code> clause in <code>target enter/exit data</code></td>
- <td class="supported"><a href="../../gcc-13/changes.html#languages">GCC 13</a></td>
+ <td class="supported"><a href="../../gcc-13/changes.html#general">GCC 13</a></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="supported"><a href="../../gcc-13/changes.html#languages">GCC 13</a></td>
+ <td class="supported"><a href="../../gcc-13/changes.html#general">GCC 13</a></td>
<td></td>
</tr>
<tr>
@@ -941,7 +941,7 @@ than listed, depending on resolved corner cases and optimizations.</p>
</tr>
<tr>
<td><code>omp_cur_iteration</code> keyword</td>
- <td class="supported"><a href="../../gcc-13/changes.html#languages">GCC 13</a></td>
+ <td class="supported"><a href="../../gcc-13/changes.html#general">GCC 13</a></td>
<td></td>
</tr>
<tr>
@@ -951,7 +951,7 @@ than listed, depending on resolved corner cases and optimizations.</p>
</tr>
<tr>
<td>Conforming device numbers and <code>omp_initial_device</code> and <code>omp_invalid_device</code> enum/PARAMETER</td>
- <td class="supported"><a href="../../gcc-13/changes.html#languages">GCC 13</a></td>
+ <td class="supported"><a href="../../gcc-13/changes.html#general">GCC 13</a></td>
<td></td>
</tr>
<tr>
@@ -1022,7 +1022,7 @@ error.</p>
</tr>
<tr>
<td><code>_ALL</code> suffix to the device-scope environment variables</td>
- <td class="partial"><a href="../../gcc-13/changes.html#languages">GCC 13</a></td>
+ <td class="partial"><a href="../../gcc-13/changes.html#general">GCC 13</a></td>
<td>Host device number wrongly accepted</td>
</tr>
<tr>