r195517 - in /trunk/libstdc++-v3: ChangeLog inc...

fdumont@gcc.gnu.org fdumont@gcc.gnu.org
Mon Jan 28 20:52:00 GMT 2013


Author: fdumont
Date: Mon Jan 28 20:52:13 2013
New Revision: 195517

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=195517
Log:
2013-01-28  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/hashtable_policy.h (_Local_iterator_base): Use
	_Hashtable_ebo_helper to embed functors into the local_iterator
	when necessary. Pass information about functors involved in hash
	code by copy.
	* include/bits/hashtable.h (__cache_default): Do not cache for
	builtin integral types unless the hash functor is not noexcept
	qualified or is not default constructible. Adapt static assertions
	and local iterator instantiations.
	* include/debug/unordered_set
	(std::__debug::unordered_set<>::erase): Detect local iterators to
	invalidate using contained node rather than generating a dummy
	local_iterator instance.
	(std::__debug::unordered_multiset<>::erase): Likewise.
	* include/debug/unordered_map
	(std::__debug::unordered_map<>::erase): Likewise.
	(std::__debug::unordered_multimap<>::erase): Likewise.
	* testsuite/performance/23_containers/insert_erase/41975.cc: Test
	std::tr1 and std versions of unordered_set regardless of any
	macro. Add test on default cache behavior.
	* testsuite/performance/23_containers/insert/54075.cc: Likewise.
	* testsuite/23_containers/unordered_set/instantiation_neg.cc:
	Adapt line number.
	* testsuite/23_containers/unordered_set/
	not_default_constructible_hash_neg.cc: New.
	* testsuite/23_containers/unordered_set/buckets/swap.cc: New.

Added:
    trunk/libstdc++-v3/testsuite/23_containers/unordered_set/buckets/
    trunk/libstdc++-v3/testsuite/23_containers/unordered_set/buckets/swap.cc
    trunk/libstdc++-v3/testsuite/23_containers/unordered_set/not_default_constructible_hash_neg.cc
Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/include/bits/hashtable.h
    trunk/libstdc++-v3/include/bits/hashtable_policy.h
    trunk/libstdc++-v3/include/debug/unordered_map
    trunk/libstdc++-v3/include/debug/unordered_set
    trunk/libstdc++-v3/testsuite/23_containers/unordered_set/instantiation_neg.cc
    trunk/libstdc++-v3/testsuite/performance/23_containers/insert/54075.cc
    trunk/libstdc++-v3/testsuite/performance/23_containers/insert_erase/41975.cc



More information about the Libstdc++-cvs mailing list