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

--- Comment #1 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Tomasz Kaminski <tkami...@gcc.gnu.org>:

https://gcc.gnu.org/g:3b32473d3e40d816e4ba280f8a58f44957219681

commit r15-8291-g3b32473d3e40d816e4ba280f8a58f44957219681
Author: Tomasz KamiÅski <tkami...@redhat.com>
Date:   Tue Mar 18 17:32:40 2025 +0100

    libstdc++: Cast difference_type for insert_range unordered non-unique
containers [PR119358]

    ranges::distance may produce an integer-like class type
    (ranges::__detail::__max_diff_type) that is only explicitly convertible to
    other integer types, so the result needs to be casted to containers
size_type.

            PR libstdc++/119358

    libstdc++-v3/ChangeLog:

            * include/bits/unordered_map.h (unordered_multimap::insert_range):
            Cast ranges::distance to size_type before passing to
_M_rehash_insert.
            * include/bits/unordered_set.h (unordered_multiset::insert_range):
            Same as unordered_multimap::insert_range.
            * testsuite/23_containers/unordered_multimap/cons/from_range.cc:
            New tests.
            * testsuite/23_containers/unordered_multiset/cons/from_range.cc:
            New tests.

Reply via email to