gcc/libstdc++-v3/testsuite
François Dumont a188284c61 re PR libstdc++/51608 ([C++11] Unordered containers end(size_type) isn't constant time)
2011-12-29  François Dumont <fdumont@gcc.gnu.org>

	PR libstdc++/51608
	* include/bits/hashtable_policy.h (_Equal_helper<>): New, change the
	way the _Equal functor is used depending on whether hash code is
	cached or not.
	(_Ebo_helper<>): New helper type to introduce EBO when possible.
	(_Hash_code_base): Use _Ebo_helper to limit memory footprint. Move
	_Equal functor management...
	(_Hashtable_base): ...here, new, use _Equal_helper.
	(_Local_iterator_base<>, _Locale_iterator<>, _Locale_const_iterator<>):
	New, use _Hash_code_base, implementation of...
	* include/bits/hashtable.h (_Hashtable<>::local_iterator,
	_Hashtable<>::const_local_iterator): ...those. Add static assertions
	checking that some functors are empty depending on whether hash code
	is cache or not.
	(_Hashtable<>::_M_bucket_index): New overloads using current bucket
	count, use through out the _Hastable<> implementation.
	* include/bits/unordered_set.h (__unordered_set<>,
	__unordered_multiset<>): Cache hash code iff hash functor is not
	empty and not final.
	* include/bits/unordered_map.h (__unordered_map<>,
	__unordered_multimap<>): Likewise.
	* include/debug/unordered_map
	(unordered_map<>::_S_to_local, unordered_multimap<>::_S_to_local):
	Adapt to match new local iterator implementation.
	* include/debug/unordered_set (unordered_set<>::_S_to_local,
	unordered_multiset<>::_S_to_local): Likewise.
	* include/profile/unordered_map (unordered_map<>::_M_profile_destruct,
	unordered_multimap<>::_M_profile_destruct): Enhance thanks to usage of
	local iterators.
	* include/profile/unordered_set (unordered_set<>::_M_profile_destruct,
	unordered_multiset<>::_M_profile_destruct): Likewise.
	* testsuite_files/23_containers/unordered_set/instantiation_neg.cc:
	Fix error line.
	* testsuite_files/23_containers/unordered_set/final_hash.cc: New.
	* testsuite_files/23_containers/unordered_multiset/final_hash.cc: New.
	* testsuite_files/23_containers/unordered_map/final_hash.cc: New.
	* testsuite_files/23_containers/unordered_multimap/final_hash.cc: New.

From-SVN: r182727
2011-12-29 17:58:51 +00:00
..
17_intro re PR libstdc++/49745 (error: ‘int truncate’ redeclared as different kind of symbol) 2011-07-15 21:52:06 +00:00
18_support re PR libstdc++/51438 (std::exception and derived classes are not compatible with std::nested_exception and C++11 in general) 2011-12-06 20:03:25 +00:00
19_diagnostics re PR c++/50920 (add a -std=c++11 option to the driver) 2011-10-31 15:34:14 -04:00
20_util re PR libstdc++/51365 (cannot use final empty class in std::tuple) 2011-12-20 09:09:50 +00:00
21_strings class.c (add_implicitly_declared_members): Update move conditions. 2011-11-17 11:35:11 -05:00
22_locale 9780-2.cc: Add test for "C" locale, add sanity checks in case of grouping. 2011-12-15 19:02:51 +00:00
23_containers re PR libstdc++/51608 ([C++11] Unordered containers end(size_type) isn't constant time) 2011-12-29 17:58:51 +00:00
24_iterators assign_neg.cc: Tidy dg- directives, for C++0x testing too. 2011-10-06 14:43:26 +00:00
25_algorithms stl_heap.h (pop_heap): Check for non-empty range in overload taking a predicate. 2011-12-04 13:21:53 +00:00
26_numerics re PR libstdc++/51083 (TR1 [tr.c99.cmath.over] and C++11 [cmplx.over] overloads not constrained) 2011-11-12 15:57:03 +00:00
27_io re PR libstdc++/51288 ([C++0x] get_money implementation is missing the sentry object (does not skip leading whitespace)) 2011-11-28 13:24:23 +00:00
28_regex re PR c++/50920 (add a -std=c++11 option to the driver) 2011-10-31 15:34:14 -04:00
29_atomics c-family 2011-11-28 20:28:23 +00:00
30_threads re PR libstdc++/51296 (Several 30_threads tests FAIL on Tru64 UNIX) 2011-11-26 15:15:22 +00:00
abi Update expected demangler output. 2010-11-18 05:24:00 -08:00
backward re PR libstdc++/49060 (use of deleted memory in __gnu_cxx::hashtable::erase) 2011-05-25 23:09:14 +00:00
config Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception. 2009-04-09 17:00:19 +02:00
data make_graph_test_infos.xml: Edit. 2011-08-15 00:51:06 +00:00
decimal prune.exp (libstdc++-dg-prune): Prune notes. 2011-06-09 23:56:00 -04:00
ext basic_string.h (basic_string::at): Move adjacent to other overload. 2011-11-07 00:06:23 +00:00
lib acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Remove size-specific macros. 2011-12-01 02:20:32 +00:00
libstdc++-abi configure.host (abi_baseline_subdir_switch): Describe. 2011-07-08 08:49:57 +00:00
libstdc++-dg [multiple changes] 2011-10-18 02:58:06 +00:00
libstdc++-prettyprinters re PR libstdc++/48362 (pretty printer fails for zero-size std::tuple<>) 2011-12-22 18:58:15 +00:00
performance search_n.cc: Disambiguate local variable. 2011-12-19 23:29:14 +00:00
tr1 weak_ptr_expired.cc: Modify to PASS instead of XFAIL. 2011-12-23 17:31:00 +00:00
tr2 [multiple changes] 2011-10-19 22:05:26 +00:00
util hashtable.h (_Hashtable<>::emplace, [...]): Add. 2011-12-09 20:01:04 +00:00
Makefile.am configure.host (abi_baseline_subdir_switch): Describe. 2011-07-08 08:49:57 +00:00
Makefile.in Move gthr to toplevel libgcc 2011-11-02 15:28:43 +00:00