This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gcc-wwwdocs".
The branch, master has been updated
via 558895de03ecb7f6a374b2037e0f0720318138d6 (commit)
from 0e93efb81a517f11f1285724ac3b1a5446074e1f (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 558895de03ecb7f6a374b2037e0f0720318138d6
Author: Tomasz KamiÅski <[email protected]>
Date: Mon Dec 22 13:08:32 2025 +0100
wwwdocs: Document user-visible changes in libstdc++ generate_canonical and
variant implementations.
Reviewed-by: Jonathan Wakely <[email protected]>
Signed-off-by: Tomasz KamiÅski <[email protected]>
diff --git a/htdocs/gcc-16/changes.html b/htdocs/gcc-16/changes.html
index 013282ec..c700d089 100644
--- a/htdocs/gcc-16/changes.html
+++ b/htdocs/gcc-16/changes.html
@@ -101,6 +101,33 @@ for general information.</p>
with GNU dialects (<code>-std=gnu++17</code>, <code>-std=gnu++14</code>,
etc.) and not with strict dialects (<code>-std=c++17</code>, etc.)
</li>
+
+ <li>
+ The <a
+
href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p0952r2.html"/>
+ P0952R2: A new specification for <code>std::generate_canonical</code></a>
+ was implemented in all affected modes (since C++11), impacting the observed
+ output. The previous behavior can be restored by defining
+ <code>_GLIBCXX_USE_OLD_GENERATE_CANONICAL</code>.
+ </li>
+ <li>
+ The <code>std::variant</code> ABI was updated to make it conforming
+ and consistent with C++20 and later modes. This impacts the layout
+ of classes which have a <code>std::variant</code> as the first member
+ and a base class of the same type as one of the <code>variant's</code>
+ alternatives, if that type is an empty class and has a non-trivial
+ destructor:
+ <pre>struct E { ~E(); };
+struct Affected : E
+{
+ std::variant<E, int> mem; // previously stored at offset zero,
+ // uses non-zero offset now
+};</pre>
+ The previous behavior can be restored by defining
+ <code>_GLIBCXX_USE_VARIANT_CXX17_OLD_ABI</code>. This impacts only
+ C++17 mode.
+ </li>
+
<li>Improved experimental support for C++20, including:
<ul>
<li>
@@ -136,7 +163,7 @@ for general information.</p>
<li>
Representation of some range adaptors in <code><ranges></code>.
</li>
- </ul>.
+ </ul>
This list is not necessarily complete. As with all experimental support,
programs using C++20 components should assume that those components
are not compatible between different major releases.
@@ -165,7 +192,8 @@ for general information.</p>
thanks to Nathan Myers.
</li>
<li>
- Padded mdspan layouts, aligned accessor, and <code>std::dims</code>,
+ Padded mdspan layouts, aligned accessor, <code>std::dims</code>,
+ <code>std::constant_wrapper</code>, and <code>std::submdspan</code>
thanks to Luc Grosheintz.
</li>
</ul>
-----------------------------------------------------------------------
Summary of changes:
htdocs/gcc-16/changes.html | 32 ++++++++++++++++++++++++++++++--
1 file changed, 30 insertions(+), 2 deletions(-)
hooks/post-receive
--
gcc-wwwdocs