This is the mail archive of the
libstdc++-cvs@gcc.gnu.org
mailing list for the libstdc++ project.
r195517 - in /trunk/libstdc++-v3: ChangeLog inc...
- From: fdumont at gcc dot gnu dot org
- To: libstdc++-cvs at gcc dot gnu dot org
- Date: Mon, 28 Jan 2013 20:52:15 -0000
- Subject: r195517 - in /trunk/libstdc++-v3: ChangeLog inc...
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