aboutsummaryrefslogtreecommitdiff
path: root/libcpp/internal.h
diff options
context:
space:
mode:
authorFrançois Dumont <frs.dumont@gmail.com>2024-10-22 19:13:34 +0200
committerFrançois Dumont <fdumont@gcc.gnu.org>2024-10-23 06:25:21 +0200
commitee030b28004eade3da872e7ae62a526a2940a705 (patch)
tree97c06926309504fcab4ac3000bc40a8763ec585d /libcpp/internal.h
parentee7e77e9c121f5a6f27c92b6b24b2abf9cd66a4d (diff)
downloadgcc-ee030b28004eade3da872e7ae62a526a2940a705.zip
gcc-ee030b28004eade3da872e7ae62a526a2940a705.tar.gz
gcc-ee030b28004eade3da872e7ae62a526a2940a705.tar.bz2
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.
Diffstat (limited to 'libcpp/internal.h')
0 files changed, 0 insertions, 0 deletions