https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108822

--- Comment #6 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jonathan Wakely <r...@gcc.gnu.org>:

https://gcc.gnu.org/g:1e88a151f878e0a139bf55eb0cee2506fb903274

commit r14-7256-g1e88a151f878e0a139bf55eb0cee2506fb903274
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Mon Jan 15 16:51:39 2024 +0000

    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.
  • [Bug libstdc++/108822] [C++23] ... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to