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

François Dumont <fdumont at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
   Target Milestone|10.4                        |13.0
                 CC|                            |fdumont at gcc dot gnu.org
         Resolution|---                         |FIXED
           Assignee|unassigned at gcc dot gnu.org      |fdumont at gcc dot 
gnu.org

--- Comment #1 from François Dumont <fdumont at gcc dot gnu.org> ---
    libstdc++: [_Hashtable] Insert range of types convertible to value_type PR
105717

    Fix insertion of range of instances convertible to value_type.

    libstdc++-v3/ChangeLog:

            PR libstdc++/105717
            * include/bits/hashtable_policy.h (_ConvertToValueType): New.
            * include/bits/hashtable.h (_Hashtable<>::_M_insert_unique_aux):
New.
            (_Hashtable<>::_M_insert(_Arg&&, const _NodeGenerator&,
true_type)): Use latters.
            (_Hashtable<>::_M_insert(_Arg&&, const _NodeGenerator&,
false_type)): Likewise.
            (_Hashtable(_InputIterator, _InputIterator, size_type, const
_Hash&, const _Equal&,
            const allocator_type&, true_type)): Use this.insert range.
            (_Hashtable(_InputIterator, _InputIterator, size_type, const
_Hash&, const _Equal&,
            const allocator_type&, false_type)): Use _M_insert.
            * testsuite/23_containers/unordered_map/cons/56112.cc: Check how
many times conversion
            is done.
            * testsuite/23_containers/unordered_map/insert/105717.cc: New test.
            * testsuite/23_containers/unordered_set/insert/105717.cc: New test.

Reply via email to