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

--- Comment #13 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Francois Dumont <fdum...@gcc.gnu.org>:

https://gcc.gnu.org/g:ee030b28004eade3da872e7ae62a526a2940a705

commit r15-4561-gee030b28004eade3da872e7ae62a526a2940a705
Author: François Dumont <frs.dum...@gmail.com>
Date:   Tue Oct 22 19:13:34 2024 +0200

    libstdc++: Always instantiate key_type to compute hash code [PR115285]

    Even if it is possible to compute a hash code from the inserted arguments
    we need to instantiate the key_type to guaranty hash code consistency.

    Preserve the lazy instantiation of the mapped_type in the context of
    associative containers.

    libstdc++-v3/ChangeLog:

            PR libstdc++/115285
            * include/bits/hashtable.h (_S_forward_key<_Kt>): Always return a
temporary
            key_type instance.
            * testsuite/23_containers/unordered_map/96088.cc: Adapt to
additional instanciation.
            Also check that mapped_type is not instantiated when there is no
insertion.
            * testsuite/23_containers/unordered_multimap/96088.cc: Adapt to
additional
            instanciation.
            * testsuite/23_containers/unordered_multiset/96088.cc: Likewise.
            * testsuite/23_containers/unordered_set/96088.cc: Likewise.
            * testsuite/23_containers/unordered_set/pr115285.cc: New test case.

Reply via email to