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

--- Comment #7 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:5f63261c3e54995b45dd411ad76526870c4b8be3

commit r9-9328-g5f63261c3e54995b45dd411ad76526870c4b8be3
Author: François Dumont <fdum...@gcc.gnu.org>
Date:   Mon Jan 20 19:15:43 2020 +0100

    libstdc++: Fix unordered containers move constructors noexcept
qualification

    _Hashtable move constructor is wrongly qualified as noexcept(true)
regardless of
    _Equal and _H1 copy constructor qualifications.
    _Hashtable allocator-aware move constructor is missing its noexcept
    qualification like the depending unordered containers ones.

    This backport also includes the changes from r11-8062 and r11-2438.

    libstdc++-v3/ChangeLog:

            PR libstdc++/96029
            * include/bits/hashtable.h
            (_Hashtable(_Hashtable&& __ht, __node_alloc_type&& __a,
true_type)):
            Add noexcept qualification.
            (_Hashtable(_Hashtable&&)): Fix noexcept qualification.
            (_Hashtable(_Hashtable&&, const allocator_type&)): Add noexcept
            qualification.
            * include/bits/unordered_map.h
            (unordered_map(unordered_map&&, const allocator_type&)): Add
noexcept
            qualification.
            (unordered_multimap(unordered_multimap&&, const allocator_type&)):
            Likewise.
            * include/bits/unordered_set.h
            (unordered_set(unordered_set&&, const allocator_type&)): Likewise.
            (unordered_multiset(unordered_multiset&&, const allocator_type&)):
            Likewise.
            * include/debug/unordered_map
            (unordered_map(unordered_map&&, const allocator_type&)): Likewise.
            (unordered_multimap(unordered_multimap&&, const allocator_type&)):
            Likewise.
            * include/debug/unordered_set
            (unordered_set(unordered_set&&, const allocator_type&)): Likewise.
            (unordered_multiset(unordered_multiset&&, const allocator_type&)):
            Likewise.
            * testsuite/23_containers/unordered_map/allocator/default_init.cc:
            New test.
            *
testsuite/23_containers/unordered_map/cons/noexcept_default_construct.cc:
            New test.
            *
testsuite/23_containers/unordered_map/cons/noexcept_move_construct.cc:
            New test.
            * testsuite/23_containers/unordered_map/modifiers/move_assign.cc:
            New test.
            *
testsuite/23_containers/unordered_multimap/cons/noexcept_default_construct.cc:
            New test.
            *
testsuite/23_containers/unordered_multimap/cons/noexcept_move_construct.cc:
            New test.
            *
testsuite/23_containers/unordered_multiset/cons/noexcept_default_construct.cc:
            New test.
            *
testsuite/23_containers/unordered_multiset/cons/noexcept_move_construct.cc:
            New test.
            * testsuite/23_containers/unordered_set/allocator/default_init.cc:
            New test.
            *
testsuite/23_containers/unordered_set/cons/noexcept_default_construct.cc:
            New test.
            *
testsuite/23_containers/unordered_set/cons/noexcept_move_construct.cc:
            New test.

    (cherry picked from commit 12324b9a934654a5c3bf4a614853ded2e0a958af)

Reply via email to