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

--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Patrick Palka
<ppa...@gcc.gnu.org>:

https://gcc.gnu.org/g:5b814b6b618c8b3f0ff71717b4929a6fdf950714

commit r10-8888-g5b814b6b618c8b3f0ff71717b4929a6fdf950714
Author: Patrick Palka <ppa...@redhat.com>
Date:   Thu Oct 8 18:10:05 2020 -0400

    libstdc++: Make ranges::construct_at constexpr-friendly [PR95788]

    This rewrites ranges::construct_at in terms of std::construct_at so
    that we can piggyback on the compiler's existing support for
    intercepting placement new within std::construct_at during constexpr
    evaluation, instead of having to additionally teach the compiler about
    ranges::construct_at.

    While we're making changes to ranges::construct_at, this patch also
    declares it conditionally noexcept and qualifies the calls to declval in
    its requires-clause.

    libstdc++-v3/ChangeLog:

            PR libstdc++/95788
            * include/bits/ranges_uninitialized.h:
            (__construct_at_fn::operator()): Rewrite in terms of
            std::construct_at.  Declare it conditionally noexcept.  Qualify
            calls to declval in its requires-clause.
            * testsuite/20_util/specialized_algorithms/construct_at/95788.cc:
            New test.

    (cherry picked from commit 9158a4d2a6cd58d6bb591d5ce64e766b399e4aef)

Reply via email to