diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2024-01-15 16:51:39 +0000 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2024-01-15 17:18:53 +0000 |
commit | 1e88a151f878e0a139bf55eb0cee2506fb903274 (patch) | |
tree | a258e02df3f15562d187c018373499a1e944e585 /gcc | |
parent | 6c703b4eb68cbc32de1d62e5b573cb1b9857af29 (diff) | |
download | gcc-1e88a151f878e0a139bf55eb0cee2506fb903274.zip gcc-1e88a151f878e0a139bf55eb0cee2506fb903274.tar.gz gcc-1e88a151f878e0a139bf55eb0cee2506fb903274.tar.bz2 |
libstdc++: Fix redefinition error in std::tuple [PR108822]
When using a compiler that doesn't define __cpp_conditional_explicit
there's a redefinition error for tuple::__nothrow_assignable. This is
because it's defined in different places for the pre-C++20 and C++20
implementations, which are controled by different preprocessor
conditions. For certain combinations of C++20 feature test macros it's
possible for both __nothrow_assignable definitions to be in scope.
Move the pre-C++20 __assignable and __nothrow_assignable definitions adjacent to
their use, so that only one set of definitions is visible for any given
set of feature test macros.
libstdc++-v3/ChangeLog:
PR libstdc++/108822
* include/std/tuple (__assignable, __is_nothrow_assignable):
Move pre-C++20 definitions adjacent to their use.
Diffstat (limited to 'gcc')
0 files changed, 0 insertions, 0 deletions