libstdc++: Implement P1413R3 'deprecate aligned_storage and aligned_union'
commitaa02a69e15dfc4b276457b65fae283f1a06fb2a0
authorNathaniel Shead <nathanieloshead@gmail.com>
Wed, 28 Dec 2022 14:28:25 +0000 (29 01:28 +1100)
committerJonathan Wakely <jwakely@redhat.com>
Mon, 6 Feb 2023 14:23:47 +0000 (6 14:23 +0000)
treeb724d1ea22143916ca7f830bde1f3e3ed0ee17ab
parent4f49ae607cb1ed312fd63967ede418601343ef24
libstdc++: Implement P1413R3 'deprecate aligned_storage and aligned_union'

Adds deprecated attributes for C++23, and makes use of it for
std::aligned_storage, std::aligned_storage_t, std::aligned_union, and
std::aligned_union_t.

libstdc++-v3/ChangeLog:

* doc/doxygen/user.cfg.in (PREDEFINED): Add new macros.
* include/bits/c++config (_GLIBCXX23_DEPRECATED)
(_GLIBCXX23_DEPRECATED_SUGGEST): New macros.
* include/std/type_traits (aligned_storage, aligned_union)
(aligned_storage_t, aligned_union_t): Deprecate for C++23.
* testsuite/20_util/aligned_storage/deprecated-2b.cc: New test.
* testsuite/20_util/aligned_union/deprecated-2b.cc: New test.

Signed-off-by: Nathaniel Shead <nathanieloshead@gmail.com>
Reviewed-by: Jonathan Wakely <jwakely@redhat.com>
libstdc++-v3/doc/doxygen/user.cfg.in
libstdc++-v3/include/bits/c++config
libstdc++-v3/include/std/type_traits
libstdc++-v3/testsuite/20_util/aligned_storage/deprecated-2b.cc [new file with mode: 0644]
libstdc++-v3/testsuite/20_util/aligned_union/deprecated-2b.cc [new file with mode: 0644]