[Bug libstdc++/101271] [12 Regression] error: ‘static constexpr decltype ... used before its definition

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Jul 2 11:15:37 GMT 2021


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

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

https://gcc.gnu.org/g:bc8f0ed7042280282035168428f6afc839997cf0

commit r12-1976-gbc8f0ed7042280282035168428f6afc839997cf0
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Fri Jul 2 08:46:18 2021 +0100

    libstdc++: Revert changes to std::unique_ptr<T[]>::operator[] [PR 101271]

    This reverts the changes in r12-1778 which added a noexcept-specifier to
    std::unique_ptr<T[]>::operator[], and the changes in r12-1844 which
    tried to make it work with incomplete types (for PR 101236).

    The noexcept-specifier is not required by the standard, and is causing
    regressions, so just remove it.

    Signed-off-by: Jonathan Wakely <jwakely@redhat.com>

    libstdc++-v3/ChangeLog:

            PR libstdc++/101271
            * include/bits/unique_ptr.h (unique_ptr<T[],D>::operator[]):
            Remove noexcept-specifier.
            (unique_ptr<T[],D>::_S_nothrow_deref): Remove.
            * testsuite/20_util/unique_ptr/lwg2762.cc: Remove checks for
            operator[].


More information about the Gcc-bugs mailing list