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

--- Comment #7 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:502a3c03e40e8920afb734c077b045f6c5efd087

commit r14-8292-g502a3c03e40e8920afb734c077b045f6c5efd087
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Fri Jan 19 12:28:30 2024 +0000

    libstdc++: Fix P2255R2 dangling checks for std::tuple in C++17 [PR108822]

    I accidentally used && in a fold-expression instead of || which meant
    that in C++17 the tuple(UElements&&...) constructor only failed its
    debug assertion if all tuple elements were dangling references. Some
    missing tests (noted as "TODO") meant this wasn't tested.

    This fixes the fold expression and adds the missing tests.

    libstdc++-v3/ChangeLog:

            PR libstdc++/108822
            * include/std/tuple (__glibcxx_no_dangling_refs) [C++17]: Fix
            wrong fold-operator.
            * testsuite/20_util/tuple/dangling_ref.cc: Check tuples with one
            element and three elements. Check allocator-extended
            constructors.

Reply via email to