Skip to content
Snippets Groups Projects
Unverified Commit ee030b28 authored by François Dumont's avatar François Dumont Committed by François Dumont
Browse files

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.
parent ee7e77e9
No related branches found
No related tags found
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment