]> git.ipfire.org Git - thirdparty/gcc.git/commit
libstdc++: Simplify std::aligned_storage and fix for versioned namespace [PR61458]
authorJonathan Wakely <jwakely@redhat.com>
Thu, 26 Sep 2024 15:42:27 +0000 (16:42 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Wed, 9 Oct 2024 12:39:16 +0000 (13:39 +0100)
commit6ce1df379a64439ea429b6c5834e9f853d520112
tree60c3368a2dc4b16469e9344339ecc9fe452ffeed
parent2eaae1bd69302efe6d73d8d63739b081299f8641
libstdc++: Simplify std::aligned_storage and fix for versioned namespace [PR61458]

This simplifies the implementation of std::aligned_storage. For the
unstable ABI it also fixes the bug where its size is too large when the
default alignment is used. We can't fix that for the stable ABI though,
so just add a comment about the bug.

libstdc++-v3/ChangeLog:

PR libstdc++/61458
* doc/doxygen/user.cfg.in (GENERATE_BUGLIST): Set to NO.
* include/std/type_traits (__aligned_storage_msa): Remove.
(__aligned_storage_max_align_t): New struct.
(__aligned_storage_default_alignment): New function.
(aligned_storage): Use __aligned_storage_default_alignment for
default alignment. Replace union with a struct containing an
aligned buffer. Improve Doxygen comment.
(aligned_storage_t): Use __aligned_storage_default_alignment for
default alignment.
libstdc++-v3/doc/doxygen/user.cfg.in
libstdc++-v3/include/std/type_traits