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

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

https://gcc.gnu.org/g:1228154b8726a3bc903f1967f9b3aac8fd192e46

commit r9-9327-g1228154b8726a3bc903f1967f9b3aac8fd192e46
Author: François Dumont <fdum...@gcc.gnu.org>
Date:   Fri Jul 3 08:13:19 2020 +0200

    libstdc++: Fix [multi]map/[multi]set move constructors noexcept
qualification

    Container move constructors shall not consider their allocator move
    constructor qualification.

    For the backport to gcc-9 the _Rb_tree_impl move constructor must be
    user-provided, because prior to the implementation of P1286R2 in
    r10-4094, a defaulted special member with a different exception would be
    deleted.

    libstdc++-v3/ChangeLog:

            PR libstdc++/96029
            * include/bits/stl_tree.h (_Rb_tree_impl(_Rb_tree_impl&&)): Add
noexcept
            qualification based only on _Compare one.
            * testsuite/23_containers/map/cons/noexcept_move_construct.cc: Add
            static asserts.
            * testsuite/23_containers/multimap/cons/noexcept_move_construct.cc:
            Likewise.
            * testsuite/23_containers/multiset/cons/noexcept_move_construct.cc:
            Likewise.
            * testsuite/23_containers/set/cons/noexcept_move_construct.cc:
Likewise.

    (cherry picked from commit c832cf1c1d114aed70c2f84566cf4d63de0a56d0)

Reply via email to