Commit Graph

233 Commits

Author SHA1 Message Date
Benjamin Kosnik d2edfb151d match: Rename to...
2012-10-05  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/28_regex/algorithms/match: Rename to...
	* testsuite/28_regex/algorithms/regex_match: ...this.
	* testsuite/28_regex/basic_regex/regex.cc: Rename to...
	* testsuite/28_regex/basic_regex/ctors/basic/default.cc: ...this.
	* testsuite/util/testsuite_regex.h: New.
	* testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: New.

From-SVN: r192146
2012-10-05 21:18:54 +00:00
François Dumont 55826ab6d1 re PR libstdc++/44436 ([C++0x] Implement emplace* in associative containers)
2012-09-24  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/44436
	* include/bits/stl_tree.h
	(_Rb_tree<>::_M_insert_): Take _Base_ptr rather than
	_Const_Base_ptr.
	(_Rb_tree<>::_M_insert_node): New.
	(_Rb_tree<>::_M_get_insert_unique_pos): New, search code of
	_M_insert_unique method.
	(_Rb_tree<>::_M_insert_unique): Use latter.
	(_Rb_tree<>::_M_emplace_unique): New, likewise.
	(_Rb_tree<>::_M_get_insert_equal_pos): New, search code of
	_M_insert_equal method.
	(_Rb_tree<>::_M_insert_equal): Use latter.
	(_Rb_tree<>::_M_emplace_equal): New, likewise.
	(_Rb_tree<>::_M_get_insert_hint_unique_pos): New, search code of
	_M_insert_unique_ method.
	(_Rb_tree<>::_M_insert_unique_): Use latter.
	(_Rb_tree<>::_M_emplace_hint_unique): New, likewise.
	(_Rb_tree<>::_M_get_insert_hint_equal_pos): New, search code of
	_M_insert_equal_ method.
	(_Rb_tree<>::_M_insert_equal_): Use latter.
	(_Rb_tree<>::_M_emplace_hint_equal): New, likewise.
	(_Rb_tree<>::_M_insert_lower): Remove first _Base_ptr parameter,
	useless as always null.
	* include/bits/stl_map.h: Include <tuple> in C++11.
	(map<>::operator[](const key_type&)): Use
	_Rb_tree<>::_M_emplace_hint_unique in C++11.
	(map<>::operator[](key_type&&)): Likewise.
	(map<>::emplace): New.
	(map<>::emplace_hint): New.
	* include/bits/stl_multimap.h (multimap<>::emplace): New.
	(multimap<>::emplace_hint): New.
	* include/bits/stl_set.h (set<>::emplace): New.
	(set<>::emplace_hint): New.
	* include/bits/stl_multiset.h (multiset<>::emplace): New.
	(multiset<>::emplace_hint): New.
	* include/debug/map.h (std::__debug::map<>::emplace): New.
	(std::__debug::map<>::emplace_hint): New.
	* include/debug/multimap.h (std::__debug::multimap<>::emplace):
	New.
	(std::__debug::multimap<>::emplace_hint): New.
	* include/debug/set.h (std::__debug::set<>::emplace): New.
	(std::__debug::set<>::emplace_hint): New.
	* include/debug/multiset.h (std::__debug::multiset<>::emplace):
	New.
	(std::__debug::multiset<>::emplace_hint): New.
	* include/profile/map.h (std::__profile::map<>::emplace): New.
	(std::__profile::map<>::emplace_hint): New.
	* include/profile/multimap.h (std::__profile::multimap<>::emplace):
	New.
	(std::__profile::multimap<>::emplace_hint): New.
	* include/profile/set.h (std::__profile::set<>::emplace): New.
	(std::__profile::set<>::emplace_hint): New.
	* include/profile/multiset.h (std::__profile::multiset<>::emplace):
	New.
	(std::__profile::multiset<>::emplace_hint): New.
	* testsuite/util/testsuite_container_traits.h: Signal that emplace
	and emplace_hint are available on std::map, std::multimap,
	std::set and std::multiset in C++11.
	* testsuite/23_containers/map/operators/2.cc: New.
	* testsuite/23_containers/map/modifiers/emplace/1.cc: New.
	* testsuite/23_containers/multimap/modifiers/emplace/1.cc: New.
	* testsuite/23_containers/set/modifiers/emplace/1.cc: New.
	* testsuite/23_containers/multiset/modifiers/emplace/1.cc: New.

From-SVN: r191679
2012-09-24 19:53:36 +00:00
Benjamin Kosnik 90a75549c3 testsuite_abi.cc (check_version): Add GLIBCXX_3.4.18.
2012-08-30  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.18.

From-SVN: r190805
2012-08-30 15:58:52 +00:00
François Dumont 181a5a136f 2012-08-10 François Dumont <fdumont@gcc.gnu.org>
Ollie Wild  <aaw@google.com>

	* include/bits/hashtable.h
	(_Hashtable<>_M_insert_multi_node(hash_code, node_type*)): New.
	(_Hashtable<>_M_insert(_Args&&, false_type)): Use latter.
	(_Hashtable<>::_M_emplace(false_type, _Args&&...)): Likewise.
	(_Hashtable<>::_M_insert_bucket): Replace by ...
	(_Hashtable<>::_M_insert_unique_node(size_type, hash_code, node_type*)):
	... this, new.
	(_Hashtable<>::_M_insert(_Args&&, true_type)): Use latter.
	(_Hashtable<>::_M_emplace(true_type, _Args&&...)): Likewise.
	* include/bits/hashtable_policy.h (_Map_base<>::operator[]): Use
	latter, emplace the value_type rather than insert.
	* include/std/unordered_map: Include tuple.
	* include/std/unordered_set: Likewise.
	* testsuite/util/testsuite_counter_type.h: New.
	* testsuite/23_containers/unordered_map/operators/2.cc: New.

Co-Authored-By: Ollie Wild <aaw@google.com>

From-SVN: r190355
2012-08-13 19:43:19 +00:00
Daniel Krugler 62fa805ffa type_traits (is_nothrow_destructible): Implement.
2012-04-23  Daniel Krugler  <daniel.kruegler@googlemail.com>

	* include/std/type_traits (is_nothrow_destructible): Implement.
	(is_destructible): Implement LWG 2049.
	* testsuite/util/testsuite_tr1.h: Add tests.
	* testsuite/20_util/is_nothrow_destructible/value.cc: New.
	* testsuite/20_util/is_nothrow_destructible/requirements/typedefs.cc:
	* testsuite/20_util/is_nothrow_destructible/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_destructible/value.cc: Adjust and extend.
	* testsuite/20_util/is_default_constructible/value.cc: Tweak.
	* testsuite/20_util/is_constructible/value-2.cc: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
	dg-error line numbers.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.

From-SVN: r186726
2012-04-23 21:34:06 +00:00
Rainer Orth 332781bba5 Fix merging default libstdc++.log
* testsuite/util/testsuite_abi.cc (compare_symbols): Change
	summary header to avoid confusion with DejaGnu header.

From-SVN: r186524
2012-04-17 10:21:25 +00:00
Paolo Carlini 6a9ecd3492 re PR libstdc++/52702 ([C++11] std::is_trivially_destructible is missing)
2012-04-15  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/52702
	* include/std/type_traits (is_trivially_destructible): Add.
	(has_trivial_destructor): Remove.
	* testsuite/util/testsuite_common_types.h: Adjust.
	* testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
	* testsuite/20_util/pair/requirements/dr801.cc: Likewise.
	* testsuite/20_util/is_trivially_destructible/value.cc: New.
	* testsuite/20_util/is_trivially_destructible/requirements/
	typedefs.cc: Likewise.
	* testsuite/20_util/is_trivially_destructible/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
	Adjust dg-error line numbers.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.

From-SVN: r186474
2012-04-15 23:35:27 +00:00
Benjamin Kosnik c9fd7c7ba7 re PR libstdc++/52191 (abi_check should flag additions to released versions)
2012-02-21  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/52191
	* testsuite/util/testsuite_abi.cc (compare_symbols): Check new
	symbols added into the latest version. Mark tls entities as
	undesignated.

From-SVN: r184639
2012-02-28 20:25:48 +00:00
François Dumont 9b81593bbc hashtable.h (_Hashtable<>::emplace, [...]): Add.
2011-12-09  François Dumont <fdumont@gcc.gnu.org>

	* include/bits/hashtable.h (_Hashtable<>::emplace,
	_Hashtable<>::emplace_hint): Add.
	* include/debug/unordered_set (unordered_set<>::emplace,
	unordered_set<>::emplace_hint, unordered_multiset<>::emplace,
	unordered_multiset<>::emplace_hint): Add.
	* include/profile/unordered_set: Likewise.
	* include/debug/unordered_map (unordered_map<>::emplace,
	unordered_map<>::emplace_hint, unordered_multimap<>::emplace,
	unordered_multimap<>::emplace_hint): Add.
	* include/profile/unordered_map: Likewise.
	* testsuite/23_containers/unordered_map/modifiers/emplace.cc: New.
	* testsuite/23_containers/unordered_multimap/modifiers/emplace.cc:
	New.
	* testsuite/23_containers/unordered_set/modifiers/emplace.cc: New.
	* testsuite/23_containers/unordered_multiset/modifiers/emplace.cc:
	New.
	* testsuite/util/testsuite_container_traits.h
	(traits_base::has_emplace): Add and defined as std::true_type for
	unordered containers.
	* testsuite/util/exception/safety.h (emplace, emplace_hint): Add and
	use them in basic_safety exception test case.
	* doc/xml/manual/status_cxx2011.xml: Update unordered containers
	status.

From-SVN: r182174
2011-12-09 20:01:04 +00:00
Jason Merrill 830dea94f2 class.c (add_implicitly_declared_members): Update move conditions.
N3203
	* class.c (add_implicitly_declared_members): Update move
	conditions.

From-SVN: r181445
2011-11-17 11:35:11 -05:00
Aldy Hernandez 0a35513e4e Merge from transactional-memory branch.
From-SVN: r181154
2011-11-08 11:13:41 +00:00
Jason Merrill a2e70335e2 re PR c++/50500 ([C++0x] [DR 1082] move constructor should cause copy constructor to be deleted, but still declared)
PR c++/50500
	DR 1082
	* class.c (type_has_user_declared_move_constructor): New.
	(type_has_user_declared_move_assign): New.
	(add_implicitly_declared_members): Add lazy copy ops
	even if there's a move.
	* method.c (lazily_declare_fn): Delete implicit copies
	if there's a move.
	(maybe_explain_implicit_delete): Explain this.  Use inform rather
	than error.
	* cp-tree.h: Declare new fns.

From-SVN: r180159
2011-10-18 13:39:15 -04:00
Benjamin Kosnik 50da34bb1b re PR libstdc++/49818 (libsupc++ does not export __cxa_get_globals or related functions)
2011-10-10  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/49818
	* config/abi/pre/gnu.ver (CXXABI_1.3.6): Add symbols.
	* testsuite/util/testsuite_abi.cc: Same.
	* libsupc++/unwind-cxx.h: Move required eh API...
	* libsupc++/cxxabi.h: ... to here. Add required forward declarations.
	Use _GLIBCXX_NOTHROW.
	* libsupc++/pure.cc (__cxa_deleted_virtual): Add.
	* libsupc++/eh_alloc.cc: Use _GLIBCXX_NOTHROW.
	* libsupc++/eh_catch.cc: Same.
	* libsupc++/eh_globals.cc: Same.
	* libsupc++/eh_type.cc: Same.

From-SVN: r179769
2011-10-10 19:03:39 +00:00
Jonathan Wakely 920a97b75d testsuite_allocator.h (uneq_allocator): Add propagate_on_container_swap typedef for C++0x testing.
2011-10-07  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* testsuite/util/testsuite_allocator.h (uneq_allocator): Add
	propagate_on_container_swap typedef for C++0x testing.

From-SVN: r179665
2011-10-07 16:20:31 +00:00
Jonathan Wakely 73f0503101 alloc_traits.h (__alloc_traits::max_size): Define.
2011-10-04  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/ext/alloc_traits.h (__alloc_traits::max_size): Define.
	(__alloc_traits::rebind): Define.
	* include/bits/stl_vector.h: Use them.
	* testsuite/util/testsuite_allocator.h (SimpleAllocator): Define.
	* testsuite/23_containers/vector/allocator/minimal.cc: New.
	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
	Adjust dg-error line numbers.
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
	Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Likewise.

From-SVN: r179523
2011-10-04 21:34:54 +01:00
Jason Merrill d602756341 re PR c++/35722 ([C++0x] Variadic templates expansion into non-variadic class template)
PR c++/35722
	Implement N2555 (expanding pack expansion to fixed parm list)
	* pt.c (coerce_template_parms): Allow expanding a pack expansion
	to a fixed-length argument list.
	(unify_pack_expansion): Handle explicit args properly.
	(unify) [TREE_VEC]: Handle pack expansions here.
	[TYPE_ARGUMENT_PACK]: Not here.
	(tsubst_pack_expansion): Don't try to do partial substitution.
	(pack_deducible_p): New.
	(fn_type_unification): Use it.
	(find_parameter_packs_r): Take the TYPE_MAIN_VARIANT
	of a type parameter.
	(check_non_deducible_conversion): Split from type_unification_real.
	(unify_one_argument): Split from type_unification_real...
	(unify_pack_expansion): ...and here.  Drop call_args_p parm.
	(type_unification_real, unify, more_specialized_fn): Adjust.

From-SVN: r179436
2011-10-02 17:45:01 -04:00
Paolo Carlini a0ce4616fb revert: testsuite_error.h: Add empty default constructor to __gnu_test::test_category and...
2011-09-25  Paolo Carlini  <paolo.carlini@oracle.com>

	Revert (no longer necessary post r179130):

	2010-04-27  Fabien Chêne  <fabien.chene@gmail.com>

	* testsuite/util/testsuite_error.h: Add empty default constructor
	to __gnu_test::test_category and
	__gnu_test::test_derived_category.
	* src/future.cc: Add empty default constructor to
	future_error_category.
	* src/system_error.cc: Add default ctor to generic_error_category
	and system_error_category.

From-SVN: r179172
2011-09-25 20:58:46 +00:00
Paolo Carlini fd1e62c239 limits.cc: Replace everywhere __int128_t -> __int128, and __uint128_t -> unsigned __int128.
2011-09-21  Paolo Carlini  <paolo.carlini@oracle.com>

	* src/limits.cc: Replace everywhere __int128_t -> __int128, and
	__uint128_t -> unsigned __int128.
	* include/std/type_traits: Likewise.
	* include/std/limits: Likewise.
	* testsuite/18_support/numeric_limits/dr559.cc: Likewise.
	* testsuite/18_support/numeric_limits/lowest.cc: Likewise.
	* testsuite/18_support/numeric_limits/40856.cc: Likewise.
	* testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
	* testsuite/util/testsuite_common_types.h: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
	* testsuite/20_util/is_floating_point/value.cc: Likewise.
	* testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Likewise.
	* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise.
	* testsuite/20_util/is_signed/value.cc: Likewise.
	* testsuite/20_util/is_unsigned/value.cc: Likewise.
	* testsuite/20_util/is_integral/value.cc: Likewise.
	* config/abi/pre/gnu.ver: Likewise.
	* acinclude.m4: Likewise.
	* configure: Regenerate.
	* config.h.in: Likewise.

From-SVN: r179044
2011-09-21 11:23:11 +00:00
Paolo Carlini 12bfa8bd29 re PR libstdc++/40856 (numeric_limits not specialized for __int128_t or __uint128_t)
2011-09-19  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/40856
	* include/std/limits (numeric_limits<__int128_t>,
	numeric_limits<__uint128_t>): Add.
	* src/limits.cc:Define.
	* config/abi/pre/gnu.ver: Export.
	* include/ext/typelist.h (_GLIBCXX_TYPELIST_CHAIN16, 20): Add.
	* testsuite/util/testsuite_common_types.h (integral_types_gnu): Add
	(limits_tl): Use it.
	* testsuite/18_support/numeric_limits/requirements/
	constexpr_functions.cc: Likewise.
	* testsuite/18_support/numeric_limits/40856.cc: New.
	* testsuite/18_support/numeric_limits/dr559.cc: Extend.
	* testsuite/18_support/numeric_limits/lowest.cc: Likewise.
	* testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error
	line numbers.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
	* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise.
	* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
	* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
	Likewise.
	* testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc:
	Likewise.
	* testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
	Likewise.

From-SVN: r178969
2011-09-19 11:52:49 +00:00
François Dumont e1f3ce0db1 testsuite_allocator.h (tracker_allocator_counter:: allocate): Update allocation count only if allocation succeeded.
2011-09-02  François Dumont  <fdumont@gcc.gnu.org>

	* testsuite/util/testsuite_allocator.h (tracker_allocator_counter::
	allocate): Update allocation count only if allocation succeeded.

From-SVN: r178486
2011-09-02 15:54:16 +00:00
Paolo Carlini ff15f019e0 re PR libstdc++/50118 (node-based containers cannot use allocators with explicit constructor template)
2011-08-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/50118
	* include/bits/stl_list.h (_List_base<>::
	_List_base(const allocator_type&)): Remove.
	(_List_base<>::_List_base(const _Node_alloc_type&)): Add.
	(list<>:list(const allocator_type&), list(size_type, const
	value_type&, const allocator_type&),
	list(initializer_list<, const allocator_type&),
	list(_InputIterator, _InputIterator, const allocator_type&),
	insert(iterator, size_type, const value_type&),
	insert(iterator, _InputIterator, _InputIterator)): Adjust.
	* include/bits/stl_tree.h (_Rb_tree<>::_Rb_tree(const _Compare&,
	const allocator_type&)): Fix.
	* include/bits/stl_map.h (map<>::map(const _Compare&,
 	const allocator_type&), map(initializer_list<>,
	const _Compare&, const allocator_type&), map(_InputIterator,
	_InputIterator, const _Compare&, const allocator_type&),
	get_allocator): Adjust.
	* include/bits/stl_set.h (set<>::set(const _Compare&,
 	const allocator_type&), set(initializer_list<>,
	const _Compare&, const allocator_type&), set(_InputIterator,
	_InputIterator, const _Compare&, const allocator_type&),
	get_allocator): Likewise.
	* include/bits/stl_multimap.h (multimap<>::multimap(const _Compare&,
 	const allocator_type&), multimap(initializer_list<>,
	const _Compare&, const allocator_type&), multimap(_InputIterator,
	_InputIterator, const _Compare&, const allocator_type&),
	get_allocator): Likewise.
	* include/bits/stl_multiset.h (multiset<>::multiset(const _Compare&,
 	const allocator_type&), multiset(initializer_list<>,
	const _Compare&, const allocator_type&), multiset(_InputIterator,
	_InputIterator, const _Compare&, const allocator_type&),
	get_allocator): Likewise.
	* include/bits/forward_list.h (_Fwd_list_base<>::
	_Fwd_list_base(const _Alloc&), _Fwd_list_base(const _Fwd_list_base&,
	const _Alloc&), _Fwd_list_base(_Fwd_list_base&&, const _Alloc&)):
	Remove.
	(_Fwd_list_base<>::_Fwd_list_base(const _Node_alloc_type&),
	_Fwd_list_base(const _Fwd_list_base&,
	const _Node_alloc_type&), _Fwd_list_base(_Fwd_list_base&&,
	const _Node_alloc_type&)): Add.
	(forward_list<>::forward_list(const _Alloc&),
	forward_list(const forward_list&, const _Alloc&),
	forward_list(forward_list&&, const _Alloc&),
	forward_list(size_type, const _Tp&, const _Alloc&),
	forward_list(_InputIterator, _InputIterator, const _Alloc&),
	forward_list(std::initializer_list<>, const _Alloc&),
	get_allocator): Adjust.
	* include/bits/forward_list.tcc
	* testsuite/util/testsuite_allocator.h (ExplicitConsAlloc): Add.
	* testsuite/23_containers/unordered_map/requirements/
	explicit_instantiation/5.cc: New.
	* testsuite/23_containers/multimap/requirements/
	explicit_instantiation/5.cc: Likewise.
	* testsuite/23_containers/multimap/requirements/
	explicit_instantiation/5_c++0x.cc: Likewise.
	* testsuite/23_containers/set/requirements/explicit_instantiation/
	5.cc: Likewise.
	* testsuite/23_containers/set/requirements/explicit_instantiation/
	5_c++0x.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/requirements/
	explicit_instantiation/5.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/
	explicit_instantiation/5.cc: Likewise.
	* testsuite/23_containers/unordered_set/requirements/
	explicit_instantiation/5.cc: Likewise.
	testsuite/23_containers/multiset/requirements/explicit_instantiation/
	5.cc: Likewise.
	* testsuite/23_containers/multiset/requirements/
	explicit_instantiation/5_c++0x.cc: Likewise.
	* testsuite/23_containers/list/requirements/explicit_instantiation/
	5_c++0x.cc: Likewise.
	* testsuite/23_containers/list/requirements/explicit_instantiation/
	5.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/requirements/
	explicit_instantiation/5.cc: Likewise.
	* testsuite/23_containers/map/requirements/explicit_instantiation/
	5.cc: Likewise.
	* testsuite/23_containers/map/requirements/explicit_instantiation/
	5_c++0x.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	assign_neg.cc: Adjust dg-error line number.
	* testsuite/23_containers/forward_list/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
	Likewise.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
	Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_2_neg.cc: Likewise.

From-SVN: r178230
2011-08-29 13:40:33 +00:00
Paolo Carlini cc2ba8e30f re PR libstdc++/49836 ([C++0x] vector<T>::push_back() should not require T to be (move-)assignable)
2011-07-25  Paolo Carlini  <paolo.carlini@oracle.com>
	    Nathan Ridge  <zeratul976@hotmail.com>

	PR libstdc++/49836
	* include/bits/stl_vector.h (vector<>::_M_emplace_back_aux):
	Declare.
	(vector<>::push_back(const value_type&)): Use it.
	* include/bits/vector.tcc: Define.
	(vector<>::emplace_back(_Args&&...)): Use it.
	* testsuite/util/testsuite_tr1.h (CopyConsOnlyType, MoveConsOnlyType):
	Add.
	* testsuite/23_containers/vector/modifiers/push_back/49836.cc: New.
	* testsuite/23_containers/deque/modifiers/push_back/49836.cc:
	Likewise.
	* testsuite/23_containers/deque/modifiers/push_front/49836.cc:
	Likewise.
	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
	Adjust dg-error line number.
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
	Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Likewise.

Co-Authored-By: Nathan Ridge <zeratul976@hotmail.com>

From-SVN: r176761
2011-07-25 17:08:48 +00:00
Paolo Carlini cd88bb8c77 system_error: Use noexcept.
2011-07-20  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/system_error: Use noexcept.
	* src/system_error.cc: Likewise.
	* testsuite/19_diagnostics/error_condition/modifiers/39881.cc: Adjust.
	* testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
	* testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
	* testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
	* testsuite/util/testsuite_error.h: Likewise.

	* include/std/system_error (error_code::error_code(_ErrorCodeEnum)):
	Use enable_if on template parameter default.
	(error_condition::error_condition(_ErrorConditionEnum)): Likewise.

From-SVN: r176529
2011-07-20 18:17:30 +00:00
François Dumont 77e0bf4e07 safe_unordered_base.h, [...]: New, support for unordered sequence safe local iterators.
2011-07-19  François Dumont  <francois.cppdevs@free.fr>

        * include/debug/safe_unordered_base.h, safe_unordered_sequence.h,
        safe_unordered_sequence.tcc, safe_local_iterator.h,
        safe_local_iterator.tcc: New, support for unordered sequence safe
        local iterators.
        * include/Makefile.am: Add previous files.
        * include/Makefile.in: Regenerate.
        * include/debug/unordered_map, unordered_set: Implement
        _Safe_unordered_sequence and expose _Safe_local_iterator.
        * include/debug/safe_iterator.h, safe_iterator.tcc: Refactor
        _Safe_iterator::_M_get_distance static method to expose it as
        __get_distance function and use it in _Safe_local_iterator type.
        * include/debug/formatter.h: Add __msg_local_iter_compare_bad
        _Debug_msg_id enum entry to notify invalid comparison between local
        iterators from different buckets. Add _Parameter constructor from
        _Safe_local_iterator.
        * include/debug/functions.h: Add __valid_range overload for
        _Safe_local_iterator.
        * src/debug.cc: Add _Safe_unordered_sequence_base and
        _Safe_local_iterator_base methods implementations.
        * config/abi/pre/gnu.ver: Add export of some
        _Safe_unordered_sequence_base and _Safe_local_iterator_base methods.
        * testsuite/util/debug/checks.h: Add use_invalid_iterator function to
        simulate use of a singular iterator.
        * testsuite/util/debug/unordered_checks.h: New, several functions
        to simulate classic invalid usage of unordered sequence local
        iterators.
        * testsuite/23_containers/unordered_map/debug/
        use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
        use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
        invalid_local_iterator_compare_neg.cc: New.
        * testsuite/23_containers/unordered_multimap/debug/
        use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
        use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
        invalid_local_iterator_compare_neg.cc: New.
        * testsuite/23_containers/unordered_set/debug/
        use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
        use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
        invalid_local_iterator_compare_neg.cc: New.
        * testsuite/23_containers/unordered_multiset/debug/
        use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
        use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
        invalid_local_iterator_compare_neg.cc: New.

From-SVN: r176487
2011-07-19 19:39:45 +00:00
Paolo Carlini 848ca96f30 re PR libstdc++/49559 ([C++0x] stable_sort calls self-move-assignment operator)
2011-07-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/49559
	* include/bits/stl_algo.h (__move_merge_backward): Remove.
	(__move_merge_adaptive, __move_merge_adaptive_backward): New.
	(__merge_adaptive): Use the latter two.
	(__rotate_adaptive): Avoid self move-assignment.
	* include/bits/stl_algobase.h (move_backward): Fix comment.
	* testsuite/25_algorithms/stable_sort/49559.cc: New.
	* testsuite/25_algorithms/inplace_merge/49559.cc: Likewise.
	* testsuite/25_algorithms/inplace_merge/moveable.cc: Extend.
	* testsuite/25_algorithms/inplace_merge/moveable2.cc: Likewise.
	* testsuite/util/testsuite_rvalref.h (rvalstruct::operator=
	(rvalstruct&&)): Check for self move-assignment.

From-SVN: r176174
2011-07-11 18:38:54 +00:00
Paolo Carlini 0f509bb7d5 testsuite_allocator.h (propagating_allocator<>:: operator=(const propagating_allocator<>&)): Retun *this.
2011-07-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/util/testsuite_allocator.h (propagating_allocator<>::
	operator=(const propagating_allocator<>&)): Retun *this.

From-SVN: r176169
2011-07-11 17:19:53 +00:00
Jonathan Wakely bd8485dc9f stl_vector.h: Use new allocator model in C++0x mode.
2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/bits/stl_vector.h: Use new allocator model in C++0x mode.
	* include/bits/vector.tcc: Likewise.
	* testsuite/util/testsuite_allocator.h (propagating_allocator): Define.
	* testsuite/23_containers/vector/allocator/copy_assign.cc: New.
	* testsuite/23_containers/vector/allocator/noexcept.cc: New.
	* testsuite/23_containers/vector/allocator/copy.cc: New.
	* testsuite/23_containers/vector/allocator/swap.cc: New.
	* testsuite/23_containers/vector/allocator/move_assign.cc: New.
	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
	Adjust dg-error line numbers.
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
	Likewise.
	* testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc:
	Likewise.
	* testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc:
	Likewise.

From-SVN: r176078
2011-07-09 14:06:29 +01:00
Paolo Carlini 879e1011e0 invoke.cc: Avoid -Wall warnings.
2011-06-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/20_util/reference_wrapper/invoke.cc: Avoid -Wall warnings.
	* testsuite/20_util/reference_wrapper/typedefs-3.cc: Likewise.
	* testsuite/20_util/reference_wrapper/invoke-2.cc: Likewise.
	* testsuite/20_util/allocator_traits/members/allocate_hint.cc:
	Likewise.
	* testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
	* testsuite/20_util/bind/socket.cc: Likewise.
	* testsuite/20_util/pointer_traits/pointer_to.cc: Likewise.
	* testsuite/util/testsuite_random.h: Likewise.

From-SVN: r175318
2011-06-22 21:46:17 +00:00
Paolo Carlini 7d9cb05400 throw_allocator.h: Use noexcept.
2011-06-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/ext/throw_allocator.h: Use noexcept.
	* include/ext/pool_allocator.h: Likewise.
	* include/ext/bitmap_allocator.h: Likewise.
	* include/ext/new_allocator.h: Likewise.
	* include/ext/malloc_allocator.h: Likewise.
	* include/ext/array_allocator.h: Likewise.
	* include/ext/mt_allocator.h: Likewise.
	* include/ext/extptr_allocator.h: Likewise.
	* testsuite/util/testsuite_allocator.h: Likewise; do not include
	<cassert> directly, include <testsuite_hooks.h> instead.

From-SVN: r174918
2011-06-10 17:14:40 +00:00
Paolo Carlini 74a2a1b4f6 move.h (struct __move_if_noexcept_cond): Add.
2011-06-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/move.h (struct __move_if_noexcept_cond): Add.
	(move_if_noexcept): Use the latter.
	* include/bits/stl_iterator.h (__make_move_if_noexcept_iterator,
	_GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR): Add.
	* include/bits/stl_uninitialized.h
	(__uninitialized_move_if_noexcept_a): Add.
	* include/bits/vector.tcc (vector<>::reserve): Use
	_GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR.
	(vector<>::_M_insert_aux, _M_fill_insert, _M_default_append,
	_M_range_insert): Use __uninitialized_move_if_noexcept_a.
	* testsuite/23_containers/vector/modifiers/moveable2.cc: New.
	* testsuite/23_containers/vector/capacity/resize/moveable2.cc:
	Likewise.
	* testsuite/23_containers/vector/capacity/reserve/moveable2.cc:
	Likewise.

From-SVN: r174756
2011-06-07 16:11:36 +00:00
Jonathan Wakely 6c6424b3d7 testsuite_allocator.h (tracker_allocator::construct): Update to C++0x definition using type to construct as template parameter.
2011-06-04  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* testsuite/util/testsuite_allocator.h (tracker_allocator::construct):
	Update to C++0x definition using type to construct as template
	parameter.
	(tracker_allocator::destroy): Likewise for type to destroy.
	(uneq_allocator::construct, uneq_allocator::destroy): Likewise.

From-SVN: r174647
2011-06-04 18:17:57 +01:00
Jonathan Wakely 43653c334d acinclude.m4: Define GLIBCXX_CHECK_GET_NPROCS and GLIBCXX_CHECK_SC_NPROCESSORS_ONLN.
2011-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* acinclude.m4: Define GLIBCXX_CHECK_GET_NPROCS and
	GLIBCXX_CHECK_SC_NPROCESSORS_ONLN.
	* configure.ac: Use them. Increase minor version.
	* configure: Regenerate.
	* config.h.in: Regenerate.
	* include/std/thread (thread::hardware_concurrency): Remove inline
	definition.
	* src/thread.cc (thread::hardware_concurrency): Define.
	* config/abi/pre/gnu.ver: Export new symbol @3.4.17
	* testsuite/util/testsuite_abi.cc: Add new version.
	* testsuite/lib/libstdc++.exp (check_v3_target_nprocs): Add.
	* testsuite/lib/dg-options.exp (dg-require-nprocs): Add.
	* testsuite/30_threads/thread/members/hardware_concurrency.cc: Use
	dg-require-nprocs and verify hardware_concurrency returns non-zero.

From-SVN: r174383
2011-05-28 18:27:01 +01:00
Paolo Carlini 11edf775f5 gnu.ver: Correct last change, export instead at the existing @3.4.16.
2011-05-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* config/abi/pre/gnu.ver: Correct last change, export instead
	at the existing @3.4.16.
	* configure.ac: Revert last change.
	* testsuite/util/testsuite_abi.cc: Likewise.
	* configure: Regenerate.

From-SVN: r174246
2011-05-26 00:15:22 +00:00
Paolo Carlini e1cb95bc70 gnu.ver: Export recently added basic_streambuf and basic_stringbuf symbols @3.4.17.
2011-05-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* config/abi/pre/gnu.ver: Export recently added  basic_streambuf
	and basic_stringbuf symbols @3.4.17.
	* configure.ac: Update.
	* testsuite/util/testsuite_abi.cc: Likewise.
	* configure: Regenerate.

From-SVN: r174242
2011-05-25 23:45:58 +00:00
Benjamin Kosnik a345e45d14 re PR libstdc++/37144 (A bug in include/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp)
2011-05-23  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/37144
	PR libstdc++/28457
	Interface changes for ext/pb_ds.
	PB_DS_BASE_C_DEC to unique PB_DS_*_BASE macros.
	* include/ext/pb_ds/assoc_container.hpp (container_base): Remove.
	(basic_hash_table, basic_branch, list_update): Derive from
	container_base_dispatch.
	* include/ext/pb_ds/list_update_policy.hpp (null_lu_metadata): Remove.
	(move_to_front_lu_policy): To lu_move_to_front_policy.
	(counter_lu_policy): To lu_counter_policy.
	* include/ext/pb_ds/tree_policy.hpp (null_tree_node_update): Remove.
	* include/ext/pb_ds/tag_and_trait.hpp (container_base_dispatch): Adjust
	template parameters, declare here.
	(null_mapped_type) Remove.
	(null_type): Just use this for template tricks everywhere.
	* include/ext/pb_ds/hash_policy.hpp (null_hash_fn, null_probe_fn):
	Remove.
	* include/ext/pb_ds/trie_policy.hpp (null_trie_node_update): Remove.
	(string_trie_e_access_traits): To trie_string_access_traits.
	* include/ext/pb_ds/priority_queue.hpp: Use container_base_dispatch.

	File changes.
	* include/Makefile.am (pb_headers): Removed and changed file names.
	* include/Makefile.in: Regenerated.
	* include/ext/pb_ds/detail/basic_types.hpp: Remove.
	* include/ext/pb_ds/detail/bin_search_tree_/
	  cond_dtor_entry_dealtor.hpp: Remove.
	* include/ext/pb_ds/detail/bin_search_tree_/
	  cond_key_dtor_entry_dealtor.hpp: Remove.
	* include/ext/pb_ds/detail/binary_heap_/const_point_iterator.hpp: Move..
	* include/ext/pb_ds/detail/binary_heap_/
	  point_const_iterator.hpp: ..here.
	* include/ext/pb_ds/detail/basic_tree_policy: Move to...
	* include/ext/pb_ds/detail/branch_policy: This.
	* include/ext/pb_ds/detail/branch_policy/
	  basic_tree_policy_base.hpp: Move...
	* include/ext/pb_ds/detail/branch_policy/branch_policy.hpp: ...here.
	* include/ext/pb_ds/detail/branch_policy/null_node_metadata.hpp: Add.
	* include/ext/pb_ds/detail/branch_policy/traits.hpp: Add.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	null_metadata.hpp: Remove.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	const_point_iterator.hpp: Move...
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	point_const_iterator.hpp: ...here.
	* include/ext/pb_ds/detail/list_update_policy/
	counter_lu_metadata.hpp: Move..
	* include/ext/pb_ds/detail/list_update_policy/
	lu_counter_metadata.hpp: ...here.
	* include/ext/pb_ds/detail/list_update_policy/
	counter_lu_policy_imp.hpp: Remove.
	* include/ext/pb_ds/detail/list_update_policy/
	mtf_lu_policy_imp.hpp: Remove.
	* include/ext/pb_ds/detail/trie_policy/
	string_trie_e_access_traits_imp.hpp: Move...
	* include/ext/pb_ds/detail/trie_policy/
	sample_trie_access_traits.hpp: ...here.
	* include/ext/pb_ds/detail/trie_policy/
	sample_trie_e_access_traits.hpp: Move...
	* include/ext/pb_ds/detail/trie_policy/
	trie_string_access_traits_imp.hpp: ...here.
	* include/ext/pb_ds/detail/trie_policy/null_node_update_imp.hpp: Remove.
	* include/ext/pb_ds/detail/tree_policy/null_node_update_imp.hpp: Remove.
	* include/ext/pb_ds/detail/ov_tree_map_/cond_dtor.hpp: Remove.
	* include/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp: New, fold all
	types found in the following files into pat_trie_base.
	* include/ext/pb_ds/detail/pat_trie_/const_child_iterator.hpp: Folded.
	* include/ext/pb_ds/detail/pat_trie_/
	  cond_dtor_entry_dealtor.hpp: Folded.
	* include/ext/pb_ds/detail/pat_trie_/child_iterator.hpp: Folded.
	* include/ext/pb_ds/detail/pat_trie_/split_join_branch_bag.hpp: Folded.
	* include/ext/pb_ds/detail/pat_trie_/head.hpp: Folded.
	* include/ext/pb_ds/detail/pat_trie_/leaf.hpp: Folded.
	* include/ext/pb_ds/detail/pat_trie_/node_base.hpp: Folded.
	* include/ext/pb_ds/detail/pat_trie_/node_metadata_base.hpp: Folded.
	* include/ext/pb_ds/detail/pat_trie_/internal_node.hpp: Folded.
	* include/ext/pb_ds/detail/pat_trie_/node_iterators.hpp: Folded.
	* include/ext/pb_ds/detail/pat_trie_/point_iterators.hpp: Folded.
	* include/ext/pb_ds/detail/pat_trie_/synth_e_access_traits.hpp: Move...
	* include/ext/pb_ds/detail/pat_trie_/synth_access_traits.hpp: ...here.
	* include/ext/pb_ds/detail/unordered_iterator/
	const_point_iterator.hpp: Move...
	* include/ext/pb_ds/detail/unordered_iterator/
	point_const_iterator.hpp: ...here.


	Adjust for above changes.
	* include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp: Same.
	* include/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp: Same.
	* include/ext/pb_ds/detail/resize_policy/
	  sample_resize_trigger.hpp: Same.
	* include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binomial_heap_base_/
	  binomial_heap_base_.hpp: Same.
	* include/ext/pb_ds/detail/binomial_heap_base_/
	  constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binomial_heap_base_/
	  split_join_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/container_base_dispatch.hpp: Same. Adjust
	  for template parameter ordering change.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	  erase_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	  constructor_destructor_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	  insert_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	  policy_access_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	  resize_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	  constructor_destructor_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	  insert_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	  entry_list_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	  find_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	  debug_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	  constructor_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	  cond_key_dtor_entry_dealtor.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	  debug_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	  erase_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	  iterators_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	  resize_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	  standard_policies.hpp: Same.
	* include/ext/pb_ds/detail/tree_trace_base.hpp: Same.
	* include/ext/pb_ds/detail/unordered_iterator/iterator.hpp: Same.
	* include/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp: Same.
	* include/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/
	  constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/traits.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/
	  policy_access_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/
	  constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/traits.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/
	  split_join_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/list_update_policy/
	  sample_update_policy.hpp: Same.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	  trace_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	  erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	  erase_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	  constructor_destructor_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	  insert_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	  policy_access_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	  resize_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	  constructor_destructor_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	  insert_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	  iterator_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	  find_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	  find_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	  debug_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	  constructor_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	  debug_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	  erase_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	  resize_no_store_hash_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	  standard_policies.hpp: Same.
	* include/ext/pb_ds/detail/standard_policies.hpp: Same.
	* include/ext/pb_ds/detail/types_traits.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/const_iterator.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/entry_cmp.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/
	  constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/entry_pred.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/resize_policy.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp: Same.
	* include/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp: Same.
	* include/ext/pb_ds/detail/tree_policy/
	  sample_tree_node_update.hpp: Same.
	* include/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp: Same.
	* include/ext/pb_ds/detail/trie_policy/
	  sample_trie_node_update.hpp: Same.
	* include/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp: Same.
	* include/ext/pb_ds/detail/trie_policy/
	  prefix_search_node_update_imp.hpp: Same.
	* include/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp: Same.
	* include/ext/pb_ds/detail/cond_dealtor.hpp: Same.
	* include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp: Same.
	  Adjust for template parameter change, fold into
	  container_base_dispatch.
	* include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pairing_heap_/
	  constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp: Same.
	* include/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binomial_heap_/
	  constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp: Same.
	* include/ext/pb_ds/detail/constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/type_utils.hpp: Same.
	* include/ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp: Same.
	* include/ext/pb_ds/detail/eq_fn/eq_by_less.hpp: Same.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	  policy_access_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	  left_child_next_sibling_heap_.hpp: Same.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	  const_iterator.hpp: Same.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	  insert_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	  constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	  debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	  node.hpp: Same.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	  info_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	  iterators_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp: Same.
	* include/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/thin_heap_/
	  constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/
	  constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/traits.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/debug_map_base.hpp: Same.
	* include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp: Same.
	* include/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp: Same.
	* include/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp: Same.
	* include/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp: Same.
	* include/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp: Same.
	* include/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp: Same.
	* include/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/
	  constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/node.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/info_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/traits.hpp: Same.
	* include/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/list_update_map_/
	  entry_metadata_base.hpp: Same.
	* include/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp: Same.
	* include/ext/pb_ds/detail/list_update_map_/
	  constructor_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rc_binomial_heap_/
	  rc_binomial_heap_.hpp: Same.
	* include/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rc_binomial_heap_/
	  constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp: Same.
	* include/ext/pb_ds/detail/rc_binomial_heap_/
	  split_join_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rb_tree_map_/find_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rb_tree_map_/
	  constructors_destructor_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp: Same.
	* include/ext/pb_ds/detail/rb_tree_map_/node.hpp: Same.
	* include/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp: Same.
	* include/ext/pb_ds/detail/rb_tree_map_/traits.hpp: Same.


	Documentation changes.
	* include/ext/pb_ds/*: Add doxygen markup.
	* doc/doxygen/user.cfg.in: Add details for extracting comments
	from pb_ds.
	* scripts/run_doxygen: Fixup __gnu_pb_ds::detail.
	* scripts/make_graph.py: Move to svg output. Re-format generated tables.

	* doc/Makefile.am (stamp-html-copy): New rule.
	(stamp-html): Use it to copy non-generated files into html docs.
	* doc/Makefile.in: Regenerated.

	* doc/html/ext/pb_ds/sample_trie_e_access_traits.html: Move...
	* doc/html/ext/pb_ds/trie_string_access_traits.html: ...here.
	* doc/html/ext/pb_ds/string_trie_e_access_traits.html: Move..
	* doc/html/ext/pb_ds/sample_trie_access_traits.html: ...here.

	* doc/html/ext/pb_ds/tree_text_lor_find_timing_test_local.png,
	hash_random_int_erase_mem_usage_test_local.png,
	multimap_text_insert_mem_usage_test_small_s2p_hash_local.png,
	tree_text_insert_timing_test_pat_trie_local.png ,
	multimap_text_insert_mem_usage_test_small_s2p_tree_local.png ,
	priority_queue_text_modify_down_timing_test_local.png,
	gp_hash_random_int_subscript_timing_test_find_local.png,
	text_find_timing_test_hash_local.png,
	multimap_text_insert_timing_test_small_s2p_hash_local.png,
	multimap_text_insert_timing_test_small_s2p_tree_local.png,
	multimap_text_insert_mem_usage_test_large_s2p_hash_local.png,
	multimap_text_insert_mem_usage_test_large_s2p_tree_local.png,
	multimap_text_insert_timing_test_large_s2p_hash_local.png,
	hash_zlob_random_int_find_timing_test_local.png,
	multimap_text_insert_timing_test_large_s2p_tree_local.png,
	binary_priority_queue_random_int_push_timing_test_local.png,
	priority_queue_text_pop_mem_usage_test_local.png,
	priority_queue_text_modify_down_timing_test_pairing_thin_local.png,
	tree_split_join_timing_test_local.png,
	multimap_text_find_timing_test_small_s2p_hash_local.png,
	ccgp_hash_random_int_subscript_timing_test_insert_local.png,
	priority_queue_random_int_push_pop_timing_test_local.png,
	multimap_text_find_timing_test_small_s2p_tree_local.png,
	gp_hash_random_int_subscript_timing_test_insert_local.png,
	priority_queue_text_push_timing_test_local.png,
	cc_hash_random_int_subscript_timing_test_find_local.png,
	tree_text_insert_timing_test_vector_tree_local.png,
	multimap_text_find_timing_test_large_s2p_hash_local.png,
	pairing_priority_queue_text_push_timing_test_local.png,
	tree_order_statistics_timing_test_local.png,
	priority_queue_text_push_pop_timing_test_local.png,
	text_find_timing_test_tree_like_local.png,
	multimap_text_find_timing_test_large_s2p_tree_local.png,
	priority_queue_text_modify_up_timing_test_pairing_thin_local.png,
	cc_hash_random_int_subscript_timing_test_insert_local.png,
	priority_queue_text_modify_up_timing_test_local.png,
	random_int_find_find_timing_test_tree_local.png,
	priority_queue_random_int_push_timing_test_local.png,
	tree_text_insert_timing_test_node_tree_local.png,
	pairing_priority_queue_text_push_pop_timing_test_local.png,
	gp_hash_random_int_find_timing_test_local.png,
	cc_hash_random_int_find_timing_test_local.png,
	priority_queue_text_join_timing_test_local.png: Update local pngs.


	Testsuite changes.
	* testsuite/ext/pb_ds/regression/tree_no_data_map_rand_debug.cc: New.
	* testsuite/ext/pb_ds/regression/tree_data_map_rand_debug.cc: New.
	* testsuite/ext/pb_ds/regression/priority_queue_rand_debug.cc: New.
	* testsuite/ext/pb_ds/regression/trie_no_data_map_rand_debug.cc: New.
	* testsuite/ext/pb_ds/regression/trie_data_map_rand_debug.cc: New.
	* testsuite/ext/pb_ds/regression/list_update_no_data_map_rand_debug.cc:
	New.
	* testsuite/ext/pb_ds/regression/list_update_data_map_rand_debug.cc:
	New.
	* testsuite/ext/pb_ds/regression/hash_no_data_map_rand_debug.cc: New.
	* testsuite/ext/pb_ds/regression/hash_data_map_rand_debug.cc: New.

	* testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc: Fix typo.

	* testsuite/ext/pb_ds/example/basic_set.cc: Update.
	* testsuite/ext/pb_ds/example/ranged_hash.cc: Same.
	* testsuite/ext/pb_ds/example/tree_order_statistics.cc: Same.
	* testsuite/ext/pb_ds/example/trie_prefix_search.cc: Same.
	* testsuite/ext/pb_ds/example/trie_dna.cc: Same.
	* testsuite/ext/pb_ds/example/tree_intervals.cc: Same.
	* testsuite/ext/pb_ds/example/basic_multimap.cc: Same.
	* testsuite/performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc:
	  Same.
	* testsuite/performance/ext/pb_ds/tree_split_join_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/tree_order_statistics_timing.cc: Same.
	* testsuite/data/make_graph_test_infos.xml: Same.
	* testsuite/util/regression/common_type.hpp: Same.
	* testsuite/util/regression/trait/assoc/native_type_trait.hpp: Same.
	* testsuite/util/regression/trait/assoc/trait.hpp: Same.
	* testsuite/util/regression/trait/assoc/type_trait.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/
	  rand_regression_test.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/
	  container_rand_regression_test.tcc: Same.
	* testsuite/util/regression/rand/assoc/rand_regression_test.hpp: Same.
	* testsuite/util/regression/rand/assoc/container_rand_regression_test.h
	* testsuite/util/regression/rand/assoc/
	  container_rand_regression_test.tcc: Same.
	* testsuite/util/native_type/native_priority_queue.hpp: Same.
	* testsuite/util/native_type/native_multimap.hpp: Same.
	* testsuite/util/native_type/native_hash_multimap.hpp: Same.
	* testsuite/util/native_type/native_set.hpp: Same.
	* testsuite/util/native_type/native_map.hpp: Same.
	* testsuite/util/native_type/native_hash_set.hpp: Same.
	* testsuite/util/native_type/native_hash_map.hpp: Same.
	* testsuite/util/testsuite_containers.h
	* testsuite/util/common_type/priority_queue/common_type.hpp: Same.
	* testsuite/util/common_type/assoc/common_type.hpp: Same.
	* testsuite/util/common_type/assoc/string_form.hpp: Same.
	* testsuite/util/common_type/assoc/template_policy.hpp: Same.
	* testsuite/util/common_type/assoc/detail/
	  trigger_policy_string_form.hpp: Same.
	* testsuite/util/common_type/assoc/detail/ds_string_form.hpp: Same.
	* testsuite/util/common_type/assoc/detail/
	  size_policy_string_form.hpp: Same.
	* testsuite/util/common_type/assoc/detail/
	  probe_fn_string_form.hpp: Same.
	* testsuite/util/common_type/assoc/detail/
	  tree_supports_order_statistics.hpp: Same.
	* testsuite/util/common_type/assoc/detail/
	  trie_supports_prefix_search.hpp: Same.
	* testsuite/util/common_type/assoc/detail/
	  list_update_policy_string_form.hpp: Same.
	* testsuite/util/common_type/assoc/detail/
	  trie_supports_order_statistics.hpp: Same.
	* testsuite/util/common_type/assoc/native_set.hpp: Same.
	* testsuite/util/performance/assoc/timing/common_type.hpp: Same.
	* testsuite/util/performance/assoc/timing/multimap_find_test.hpp: Same.
	* testsuite/util/performance/assoc/multimap_common_type.hpp: Same.

From-SVN: r174100
2011-05-24 02:38:19 +00:00
Jason Merrill 94df301fa0 re PR c++/24163 (dependent Base class scope examined during unqualified name lookup in template)
PR c++/24163
	PR c++/29131
gcc/cp/
	* pt.c (tsubst_copy_and_build) [CALL_EXPR]: Avoid repeating
	unqualified lookup.
	* semantics.c (perform_koenig_lookup): Add complain parm.
	* cp-tree.h: Adjust.
	* parser.c (cp_parser_postfix_expression): Adjust.
	(cp_parser_perform_range_for_lookup): Adjust.
libstdc++-v3/
	* include/ext/pb_ds/assoc_container.hpp: Explicitly qualify calls to
	functions from dependent bases.
	* include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rb_tree_map_/
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/splay_tree_/
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/tree_policy/
	order_statistics_imp.hpp: Likewise.
	* include/ext/pb_ds/detail/trie_policy/
	prefix_search_node_update_imp.hpp: Likewise.
	* include/ext/rc_string_base.h: Likewise.
	* include/ext/rope: Likewise.
	* include/ext/ropeimpl.h: Likewise.
	* testsuite/util/exception/safety.h: Likewise.
	* testsuite/util/native_type/native_priority_queue.hpp: Likewise.
	* testsuite/util/testsuite_io.h: Likewise.
	* include/std/functional: Declare mem_fn earlier.
	* include/tr1/functional: Likewise.
	* include/tr1/exp_integral.tcc: Declare __expint_E1 earlier.

From-SVN: r173965
2011-05-20 14:01:22 -04:00
Paolo Carlini 173f26ae56 tuple (tuple<>::operator=(tuple&&)): Specify as noexcept.
2011-05-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/tuple (tuple<>::operator=(tuple&&)): Specify as
        noexcept.
	(__get_helper): Likewise.
	(_Head_base<>::_M_head, _Tuple_impl<>::_M_head, _M_tail): Likewise.
	* include/bits/move.h (swap): Likewise.
	* include/bits/algorithmfwd.h (swap): Adjust.
	* include/bits/stl_pair.h (pair<>::operator=(pair&&)): Spec noexcept.
	* testsuite/util/testsuite_allocator.h (uneq_allocator): In C++0x
	mode, prefer delete to access control to make the type not copy
	assignable.
	* testsuite/util/testsuite_tr1.h: Add test classes.
	* testsuite/20_util/tuple/noexcept_swap.cc: New.
	* testsuite/20_util/tuple/noexcept_move_assign.cc: Likewise.
	* testsuite/25_algorithms/reverse/moveable.cc: Likewise, prefer
	delete to access control.
	* testsuite/25_algorithms/swap_ranges/moveable.cc: Likewise.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning
	line numbers.

From-SVN: r173917
2011-05-19 17:20:22 +00:00
Paolo Carlini f263981ac8 [multiple changes]
2011-05-19  Daniel Krugler  <daniel.kruegler@googlemail.com>

	* testsuite/util/testsuite_tr1.h: Add test classes.
	* testsuite/20_util/is_nothrow_assignable/value.cc: Add.

2011-05-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/type_traits (is_assignable, is_copy_assignable,
	is_move_assignable, is_nothrow_assignable, is_nothrow_copy_assignable,
	is_nothrow_move_assignable): Add; minor tweaks elsewhere.
	(has_nothrow_copy_assign): Remove.
	* testsuite/util/testsuite_tr1.h: Add test classes.
	* testsuite/20_util/is_assignable/requirements/typedefs.cc: Add.
	* testsuite/20_util/is_assignable/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_nothrow_assignable/value.cc: Likewise.
	* testsuite/20_util/is_nothrow_assignable/requirements/typedefs.cc:
	Likewise.
	* testsuite/20_util/is_nothrow_assignable/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_move_assignable/value.cc: Likewise.
	* testsuite/20_util/is_move_assignable/requirements/typedefs.cc:
	Likewise.
	* testsuite/20_util/is_move_assignable/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_copy_assignable/value.cc: Likewise.
	* testsuite/20_util/is_copy_assignable/requirements/typedefs.cc:
	Likewise.
	* testsuite/20_util/is_copy_assignable/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise.
	* testsuite/20_util/is_nothrow_move_assignable/requirements/
	typedefs.cc: Likewise.
	* testsuite/20_util/is_nothrow_move_assignable/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise.
	* testsuite/20_util/is_nothrow_copy_assignable/requirements/
	typedefs.cc: Likewise.
	* testsuite/20_util/is_nothrow_copy_assignable/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
	dg-error line numbers.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.

From-SVN: r173899
2011-05-19 10:30:20 +00:00
Paolo Carlini 65cee9bdb7 type_traits (is_nothrow_default_constructible, [...]): Add.
2011-04-18  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/type_traits (is_nothrow_default_constructible,
	is_nothrow_copy_constructible, is_nothrow_move_constructible,
	is_copy_constructible, is_move_constructible): Add.
	(has_nothrow_default_constructor, has_nothrow_copy_constructor):
	Remove.
	(is_nothrow_constructible): Adjust.

	* testsuite/util/testsuite_tr1.h (ThrowDefaultClass,
	ThrowCopyConsClass, ThrowMoveConsClass, NoexceptDefaultClass,
	ExceptDefaultClass, NoexceptCopyConsClass, ExceptCopyConsClass,
	NoexceptMoveConsClass, ExceptMoveConsClass): Add in C++0x mode.

	* testsuite/20_util/has_nothrow_default_constructor: Remove.
	* testsuite/20_util/has_nothrow_copy_constructor: Likewise.

	* testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise.
	* testsuite/20_util/is_nothrow_move_constructible/requirements/
	typedefs.cc: Likewise.
	* testsuite/20_util/is_nothrow_move_constructible/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise.
	* testsuite/20_util/is_nothrow_copy_constructible/requirements/
	typedefs.cc: Likewise.
	* testsuite/20_util/is_nothrow_copy_constructible/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_nothrow_default_constructible/value.cc:
	Likewise.
	* testsuite/20_util/is_nothrow_default_constructible/requirements/
	typedefs.cc: Likewise.
	* testsuite/20_util/is_nothrow_default_constructible/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_move_constructible/value.cc: Likewise.
	* testsuite/20_util/is_move_constructible/requirements/typedefs.cc:
	Likewise.
	* testsuite/20_util/is_move_constructible/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_copy_constructible/value.cc: Likewise.
	* testsuite/20_util/is_copy_constructible/requirements/typedefs.cc:
	Likewise.
	* testsuite/20_util/is_copy_constructible/requirements/
	explicit_instantiation.cc: Likewise.

	* testsuite/20_util/is_default_constructible/value.cc: Add tests.
	* testsuite/20_util/is_nothrow_constructible/value.cc: Likewise.

	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
	Adjust dg-error line numbers.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.

From-SVN: r172684
2011-04-19 00:10:53 +00:00
Paolo Carlini 123c516a9e [multiple changes]
2011-04-13  Daniel Krugler  <daniel.kruegler@googlemail.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/48526
	* include/std/type_traits (struct is_constructible): Re-implement,
	according to n3290.
	(struct is_default_constructible): Add.
	(struct is_destructible): Likewise.
	(struct __and_, __or_, __not_): Add and use throughout; reorder some
	facilities, other minor tweaks.
	* testsuite/util/testsuite_tr1.h: Add test types.
	* testsuite/20_util/is_constructible/value-2.cc: New.
	* testsuite/20_util/is_default_constructible/value.cc: Likewise.
	* testsuite/20_util/is_default_constructible/requirements/typedefs.cc:
	Likewise.
	* testsuite/20_util/is_default_constructible/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_destructible/value.cc: Likewise.
	* testsuite/20_util/is_destructible/requirements/typedefs.cc:
	Likewise.
	* testsuite/20_util/is_destructible/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
	dg-error line numbers.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
	* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.

2011-04-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/20_util/is_function/value.cc: Add, adapted from the tr
	testsuite. 
	* testsuite/20_util/is_function/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_function/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_function/24808.cc: Likewise.
	* testsuite/20_util/is_function/35637.cc: Likewise.
	* testsuite/20_util/is_object/value.cc: Likewise.
	* testsuite/20_util/is_object/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_object/requirements/explicit_instantiation.cc:
	: Likewise.
	* testsuite/20_util/is_object/24808.cc: Likewise.
	* testsuite/20_util/is_compound/value.cc: Likewise.
	* testsuite/20_util/is_compound/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_compound/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_member_object_pointer/value.cc: Likewise.
	* testsuite/20_util/is_member_object_pointer/requirements/
	typedefs.cc: Likewise.
	* testsuite/20_util/is_member_object_pointer/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_fundamental/value.cc: Likewise.
	* testsuite/20_util/is_fundamental/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_fundamental/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_member_pointer/value.cc: Likewise.
	* testsuite/20_util/is_member_pointer/requirements/typedefs.cc: 
	Likewise.
	* testsuite/20_util/is_member_pointer/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_member_function_pointer/value.cc: Likewise.
	* testsuite/20_util/is_member_function_pointer/
	requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_member_function_pointer/requirements/
	explicit_instantiation.cc: Likewise.

	* testsuite/20_util/is_convertible/value.cc: Minor tweak, adjust
	Copyright years.

From-SVN: r172401
2011-04-13 22:52:45 +00:00
Paolo Carlini 237526dd7d re PR libstdc++/48566 (libstdc++-v3 testsuite failures due to missing includes)
2011-04-12  Allan McRae  <allan@archlinux.org>

	PR libstdc++/48566
	* testsuite/tr1/6_containers/unordered_map/requirements/
	iterator_null_neg.cc: Include <cstddef>.
	* testsuite/tr1/6_containers/unordered_set/requirements/
	iterator_null_neg.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc: Include
	<cstring>.
	* testsuite/util/testsuite_common_types.h: Include <limits>.
	* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc:
	Adjust dg-error line numbers.
	* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
	* testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
	Likewise.
	* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
	Likewise.
	* testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc:
	Likewise.
	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Likewise.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.

From-SVN: r172303
2011-04-12 09:05:30 +00:00
Jonathan Wakely 07703a3785 re PR libstdc++/48465 (undefined reference to std::basic_string::_S_compare(unsigned long, unsigned long))
2011-04-10  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/48465
	* configure.ac (libtool_VERSION): Bump library version to 6:16:0.
	* configure: Regenerate.
	* config/abi/pre/gnu.ver (GLIBCXX_3.4.16): Export missing symbols.
	* testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.16.

From-SVN: r172241
2011-04-10 17:20:42 +01:00
Paolo Carlini 113b21bdaf random.h (negative_binomial_distribution<>:: negative_binomial_distribution(_IntType, double), [...]): Fix construction of _M_gd.
2011-03-24  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.h (negative_binomial_distribution<>::
	negative_binomial_distribution(_IntType, double),
	negative_binomial_distribution<>::
	negative_binomial_distribution(const param_type&)): Fix
	construction of _M_gd.
	* include/bits/random.tcc (negative_binomial_distribution<>::
	operator()): Fix computation, per Leger's algorithm.
	* testsuite/util/testsuite_random.h (discrete_pdf,
	negative_binomial_pdf, poisson_pdf, uniform_int_pdf): New.
	(binomial_pdf): Swap last two parameters.
	* testsuite/26_numerics/random/discrete_distribution/
	operators/values.cc: New.
	* testsuite/26_numerics/random/negative_binomial_distribution/
	operators/values.cc: Likewise.
	* testsuite/26_numerics/random/poisson_distribution/
	operators/values.cc: Likewise.
	* testsuite/26_numerics/random/uniform_int_distribution/
	operators/values.cc: Likewise.
	* testsuite/26_numerics/random/binomial_distribution/
	operators/values.cc: Adjust.

From-SVN: r171411
2011-03-24 16:49:19 +00:00
Jakub Jelinek c75bd36be4 testsuite_abi.cc (check_version): Set incompatible even when adding symbols to CXXABI_1.3...
* testsuite/util/testsuite_abi.cc (check_version): Set incompatible
	even when adding symbols to CXXABI_1.3, GLIBCXX_LDBL_3.4 and
	CXXABI_LDBL_1.3 versions.

From-SVN: r171257
2011-03-21 20:00:52 +01:00
Paolo Carlini 294eab8c10 testsuite_random.h: New.
2011-03-18  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/util/testsuite_random.h: New.
	* testsuite/lib/libstdc++.exp (check_v3_target_c99_math,
	dg-require-c99_math): Add.
	* testsuite/26_numerics/random/bernoulli_distribution/
	operators/values.cc: New.
	* testsuite/26_numerics/random/binomial_distribution/
	operators/values.cc: Likewise.
	* testsuite/26_numerics/random/geometric_distribution/
	operators/values.cc: Likewise.

From-SVN: r171133
2011-03-18 11:48:29 +00:00
Paolo Carlini 60c5236ed1 [multiple changes]
2011-03-09  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/util/testsuite_rvalref.h: Minor tweaks.

2011-03-09  Jonathan Wakely  <redi@gcc.gnu.org>
	    Chris Jefferson  <chris@bubblescope.net>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/util/testsuite_rvalref.h (rvalstruct_compare_by_value):
	New.
	* testsuite/25_algorithms/sort_heap/check_compare_by_value.cc:
	Likewise.
	* testsuite/25_algorithms/partial_sort/check_compare_by_value:
	Likewise.
	* testsuite/25_algorithms/stable_sort/check_compare_by_value.cc:
	Likewise.
	* testsuite/25_algorithms/sort/check_compare_by_value: Likewise.

2011-03-09  Chris Jefferson  <chris@bubblescope.net>

	PR libstdc++/48038
	* include/bits/stl_algo.h (__merge_backward): Rename to
	__move_merge_backward and change to always move rather than copy.
	(__move_merge): New function similar to std::merge except values
	are moved instead of copied.
	(__merge_adaptive, __merge_sort_loop): Change from using std::merge
	and __merge_backward to __move_merge and __move_merge_backward.

From-SVN: r170827
2011-03-09 18:30:11 +00:00
Benjamin Kosnik 9b690d8cc3 PR libstdc++/36104 part three
2011-01-20  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/36104 part three
	* src/hashtable_c++0x.cc: Adjust namespace macros.
	* testsuite/util/testsuite_rvalref.h: Don't forward declare hash.
	* config/abi/pre/gnu-versioned-namespace.ver: Update.

From-SVN: r169063
2011-01-20 20:04:25 +00:00
Paolo Carlini d326f2eeb7 unique_ptr.h (default_delete<>::default_delete()): Declare defaulted per DR 1517.
2011-01-18  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/unique_ptr.h (default_delete<>::default_delete()):
	Declare defaulted per DR 1517.
	* testsuite/util/testsuite_common_types.h
	(constexpr_defaulted_default_constructible): Add.
	* testsuite/20_util/default_delete/cons/constexpr.cc: Use it.

From-SVN: r168947
2011-01-18 11:12:06 +00:00
Benjamin Kosnik cb2168c966 testsuite_iterators.h: Guard move.h includes.
2010-11-16  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/util/testsuite_iterators.h: Guard move.h includes.
	* testsuite/util/testsuite_allocator.h: Same.

	* testsuite/20_util/temporary_buffer.cc: Use typedef, qualify.

	* testsuite/ext/pb_ds/regression/hash_data_map_rand.cc: Define
	PB_DS_REGRESSION in the source file.
	* testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Same.
	* testsuite/ext/pb_ds/regression/list_update_no_data_map_rand.cc: Same.
	* testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Same.
	* testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc: Same.
	* testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Same.
	* testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Same.
	* testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Same.
	* testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Same.

	* testsuite/21_strings/c_strings/wchar_t/3_neg.cc: Move to this.
	Use _neg suffix.
	* testsuite/21_strings/c_strings/wchar_t/3.cc: ...from this.
	* testsuite/21_strings/c_strings/char/3_neg.cc: Same.
	* testsuite/21_strings/c_strings/char/3.cc: Same.
	* testsuite/ext/slist/23781_neg.cc: Same.
	* testsuite/ext/slist/23781.cc: Same.
	* testsuite/ext/profile/mutex_extensions.cc: Same.
	* testsuite/ext/profile/mutex_extensions_neg.cc: Same.
	* testsuite/tr1/2_general_utilities/shared_ptr/cons/43820.cc: Same.
	* testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same.
	* testsuite/tr1/6_containers/tuple/comparison_operators/35480_neg.cc:
	Same.
	* testsuite/tr1/6_containers/tuple/comparison_operators/35480.cc: Same.
	* testsuite/23_containers/multimap/23781_neg.cc: Same.
	* testsuite/23_containers/multimap/23781.cc: Same.
	* testsuite/23_containers/set/23781_neg.cc: Same.
	* testsuite/23_containers/set/23781.cc: Same.
	* testsuite/23_containers/multiset/23781_neg.cc: Same.
	* testsuite/23_containers/multiset/23781.cc: Same.
	* testsuite/23_containers/list/23781_neg.cc: Same.
	* testsuite/23_containers/list/23781.cc: Same.
	* testsuite/23_containers/map/23781_neg.cc: Same.
	* testsuite/23_containers/map/23781.cc: Same.
	* testsuite/20_util/duration/cons/dr974_neg.cc: Same.
	* testsuite/20_util/duration/cons/dr974.cc: Same.
	* testsuite/20_util/tuple/comparison_operators/35480_neg.cc: Same.
	* testsuite/20_util/tuple/comparison_operators/35480.cc: Same.
	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Same.
	* testsuite/20_util/shared_ptr/cons/43820.cc: Same.
	* testsuite/20_util/unique_ptr/cons/pointer_array_convertible_neg.cc:
	Same.
	* testsuite/20_util/unique_ptr/cons/pointer_array_convertible.cc: Same.

From-SVN: r167956
2010-12-16 22:02:38 +00:00
Paolo Carlini 2cdda6e3fe testsuite_abi.cc (check_version): Don't push back GLIBCXX_3.4.16, unused.
2010-12-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/util/testsuite_abi.cc (check_version): Don't push back
	GLIBCXX_3.4.16, unused.

From-SVN: r167722
2010-12-12 10:58:08 +00:00
François Dumont f38716953d stl_iterator.h: Add move_iterator operators overloads to make it robust to template abuses.
2010-12-07  François Dumont  <francois.cppdevs@free.fr>

	* include/bits/stl_iterator.h: Add move_iterator operators overloads
	to make it robust to template abuses.
	* testsuite/util/testsuite_greedy_ops.h: New.
	* testsuite/23_containers/vector/types/1.cc: Use latter.
	* testsuite/23_containers/deque/types/1.cc: Likewise.
	* testsuite/24_iterators/move_iterator/greedy_ops.cc: New.
	* testsuite/24_iterators/normal_iterator/greedy_ops.cc: New.
	* testsuite/24_iterators/reverse_iterator/greedy_ops.cc: New.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error
	line numbers.

From-SVN: r167580
2010-12-08 01:23:41 +00:00
Benjamin Kosnik 85db9dcc30 chrono: Constexpr markup for is_monotonic.
2010-11-23  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/chrono: Constexpr markup for is_monotonic.
	* src/chrono.cc: Same.
	* testsuite/20_util/clocks/1.cc: Move...
	* testsuite/20_util/system_clock/1.cc: ...here.
	* testsuite/20_util/system_clock/constexpr_data.cc
	* testsuite/20_util/monotonic_clock/constexpr_data.cc

	* include/std/complex: Mark primary template constexpr.
	* testsuite/26_numerics/complex/cons/constexpr_primary.cc: Add.
	* testsuite/26_numerics/complex/complex_value.cc: Move...
	* testsuite/26_numerics/complex/dr387.cc: Move...
	* testsuite/26_numerics/complex/value_operations/1.cc: ... here.
	* testsuite/26_numerics/complex/value_operations/dr387.cc: ...here.
	* testsuite/26_numerics/complex/value_operations/constexpr.cc: New.

2010-11-23  Benjamin Kosnik  <bkoz@redhat.com>
	    Jason Merrill  <jason@redhat.com>

	* testsuite/lib/libstdc++.exp: Use scanasm.
	* testsuite/util/testsuite_common_types.h
	(constexpr_default_constructible): Add support for non-literal types.
	(constexpr_single_value_constructible): Same.
	* testsuite/20_util/enable_shared_from_this/cons/constexpr.cc:
	Remove xfail.
	* testsuite/20_util/shared_ptr/cons/constexpr.cc: Add.
	* testsuite/20_util/unique_ptr/cons/constexpr.cc: Add.
	* testsuite/20_util/weak_ptr/cons/constexpr.cc: Add.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust line number.

2010-11-23  Benjamin Kosnik  <bkoz@redhat.com>
	    Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/future (shared_future): Default ctor constexpr.
	(future): Same.
	* testsuite/30_threads/shared_future/cons/constexpr.cc: New.
	* testsuite/30_threads/future/cons/constexpr.cc: New.


Co-Authored-By: Jason Merrill <jason@redhat.com>
Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>

From-SVN: r167099
2010-11-23 23:47:44 +00:00
Paolo Carlini 7606bd1197 stl_tree.h (_Rb_tree<>::_M_erase_aux): Add.
2010-11-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_tree.h (_Rb_tree<>::_M_erase_aux): Add.
	(_Rb_tree<>::erase(iterator)): Fix in C++0x mode to take
	const_iterator; remove redundant overload in C++03 mode.
	(_Rb_tree<>::erase(iterator, iterator)): Likewise.
	* include/bits/stl_map.h (map<>::erase): Adjust.
	(map<>::insert): Fix signature in C++0x mode.
	* include/bits/stl_set.h (set<>::erase): Likewise.
	(set<>::insert): Likewise.
	* include/bits/stl_multimap.h (multimap<>::erase): Likewise.
	(multimap<>::insert): Likewise.
	* include/bits/stl_multiset.h (multiset<>::erase): Likewise.
	(multiset<>::insert): Fix signature in C++0x mode.
	* include/profile/set.h: Adjust.
	* include/profile/multiset.h: Likewise.
	* include/profile/map.h: Likewise.
	* include/profile/multimap.h: Likewise.
	* testsuite/util/exception/safety.h (erase_base, insert_base):
	Update.

From-SVN: r166438
2010-11-08 16:07:32 +00:00
Benjamin Kosnik cde9963161 user.cfg.in: Add typeindex.
2010-11-05  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/doxygen/user.cfg.in: Add typeindex.

	* testsuite/util/testsuite_common_types.h (constexpr_comparison_eq_ne,
	constexpr_comparison_operators): New.
	* testsuite/20_util/duration/comparisons: Move...
	* testsuite/20_util/duration/comparison_operators: ...here.
	* testsuite/20_util/duration/comparison_operators/constexpr.cc: New.
	* testsuite/20_util/time_point/comparison_operators/constexpr.cc: Add.

	* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Adjust line
	numbers.
	* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.

From-SVN: r166392
2010-11-06 03:35:46 +00:00
Paolo Carlini be9d3d7342 shared_ptr.h (shared_ptr<>::__shared_ptr(), [...]): Add constexpr specifier.
2010-11-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/shared_ptr.h (shared_ptr<>::__shared_ptr(),
	shared_ptr<>::shared_ptr(nullptr_t), weak_ptr<>::weak_ptr(),
	enable_shared_from_this::enable_shared_from_this()): Add constexpr
	specifier.
	* include/bits/shared_ptr_base.h (__shared_count::__shared_count(),
	__shared_count::__shared_count(), __shared_ptr<>::__shared_ptr(),
	__shared_ptr<>::__shared_ptr(nullptr_t), __weak_ptr<>::__weak_ptr(),
	__enable_shared_from_this::__enable_shared_from_this()): Likewise.
	* include/bits/unique_ptr.h (default_delete,
	unique_ptr<>::unique_ptr(), unique_ptr<>::unique_ptr(nullptr_t)):
	Likewise.
	* testsuite/20_util/default_delete/cons/constexpr.cc: Do not xfail.
	* testsuite/20_util/shared_ptr/cons/constexpr.cc: Remove, the test
	cannot work for a non-literal type like std::shared_ptr.
	* testsuite/20_util/weak_ptr/cons/constexpr.cc: Likewise.
	* testsuite/util/testsuite_common_types.h: Add comments.
	* testsuite/20_util/unique_ptr/cons/constexpr.cc: Likewise.
	* testsuite/20_util/shared_ptr/cons/43820.cc: Adjust dg-error line
	numbers.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.

From-SVN: r166386
2010-11-06 00:11:57 +00:00
Benjamin Kosnik f706cf1831 user.cfg.in: Remove tr1_impl headers.
2010-11-05  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/doxygen/user.cfg.in: Remove tr1_impl headers.

	* testsuite/tr1/4_metaprogramming/integral_constant/requirements/
	constexpr_data.cc: New.

	* testsuite/util/testsuite_tr1.h (LType, LTypeDerived, NLType): New.
	* testsuite/20_util/is_literal_type/value.cc: New.
	* testsuite/20_util/is_literal_type/requirements/typedefs.cc: Name.
	* testsuite/20_util/is_literal_type/requirements/
	explicit_instantiation.cc: New.

From-SVN: r166381
2010-11-05 22:30:54 +00:00
Paolo Carlini a9992f7f6b syntax_option_type.cc: Avoid -Wall warnings.
2010-11-02  Paolo Carlini  <paolo.carlini@oracle.com

	* testsuite/28_regex/05_constants/syntax_option_type.cc: Avoid
	-Wall warnings.
	* testsuite/28_regex/08_basic_regex/requirements/constexpr_data.cc:
	Likewise.
	* testsuite/18_support/numeric_limits/requirements/
	constexpr_functions.cc: Likewise.
	* testsuite/18_support/numeric_limits/requirements/
	constexpr_data.cc: Likewise.
	* testsuite/21_strings/char_traits/requirements/
	constexpr_functions.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/requirements/
	constexpr_functions.cc: Likewise.
	* testsuite/26_numerics/random/subtract_with_carry_engine/
	requirements/constexpr_functions.cc: Likewise.
	* testsuite/26_numerics/random/subtract_with_carry_engine/
	requirements/constexpr_data.cc: Likewise.
	* testsuite/26_numerics/random/discard_block_engine/requirements/
	constexpr_functions.cc: Likewise.
	* testsuite/26_numerics/random/discard_block_engine/requirements/
	constexpr_data.cc: Likewise.
	* testsuite/26_numerics/random/mersenne_twister_engine/
	requirements/constexpr_functions.cc: Likewise.
	* testsuite/26_numerics/random/mersenne_twister_engine/
	requirements/constexpr_data.cc: Likewise.
	* testsuite/26_numerics/random/linear_congruential_engine/
	requirements/constexpr_functions.cc: Likewise.
	* testsuite/26_numerics/random/linear_congruential_engine/
	requirements/constexpr_data.cc: Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/
	requirements/constexpr_functions.cc: Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/
	requirements/constexpr_data.cc: Likewise.
	* testsuite/26_numerics/complex/requirements/
	constexpr_functions.cc: Likewise.
	* testsuite/23_containers/bitset/requirements/
	constexpr_functions.cc: Likewise.
	* testsuite/23_containers/array/requirements/
	constexpr_functions.cc: Likewise.
	* testsuite/util/testsuite_common_types.h: Likewise.
	* testsuite/20_util/duration/requirements/
	constexpr_functions.cc: Likewise.
	* testsuite/20_util/duration_cast/constexpr.cc: Likewise.
	* testsuite/20_util/time_point/requirements/
	constexpr_functions.cc: Likewise.
	* testsuite/20_util/ratio/requirements/constexpr_data.cc: Likewise.

	* testsuite/tr1/4_metaprogramming/integral_constant/
	requirements/constexpr_data.cc: Remove.

From-SVN: r166210
2010-11-02 18:25:55 +00:00
Benjamin Kosnik 94a86be0dd libstdc++: N3126 draft support.
* include/std/chrono: Extend constexpr application.
	* testsuite/util/testsuite_common_types.h
	(constexpr_default_constructible, constexpr_single_value_constructible)
	: Add comments about implied constraints.
	* testsuite/20_util/duration/cons/constexpr.cc: Activate all tests.
	* testsuite/20_util/time_point/cons/constexpr.cc: Same.
	* testsuite/20_util/time_point/requirements/constexpr_functions.cc:
	Same.
	* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust line
	numbers.
	* testsuite/20_util/time_point_cast/constexpr.cc: New.

	* include/std/bitset: Use __SIZEOF_* macros to re-create original
	logic instead of slipshod application of
	std::numeric_limits<T>::max() macros.
	* testsuite/util/testsuite_common_types.h
	(constexpr_default_constructible): Modify.

	* include/std/chrono: Tested constexpr.
	* testsuite/20_util/duration_cast/constexpr.cc: New.
	* testsuite/20_util/time_point/cons/constexpr.cc: New.

	* testsuite/20_util/duration/cons/constexpr.cc: Add single_value tests.
	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
	line numbers.
	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same.
	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same.
	* testsuite/20_util/time_point/cons/constexpr.cc: Add single_value
	tests.
	* testsuite/20_util/time_point/requirements/constexpr_functions.cc: Add.

	* testsuite/util/testsuite_common_types.h: Adjust init.

	* include/std/chrono (duration): Remove defaulted constructor,
	replace with mem-init list.
	* testsuite/20_util/duration/cons/constexpr.cc: Add single value.
	* testsuite/20_util/duration/requirements/constexpr_functions.cc:
	Add non-static member functions.

	* testsuite/20_util/default_delete/cons/constexpr.cc: New, xfail.
	* testsuite/20_util/enable_shared_from_this/cons/constexpr.cc: Same.
	* testsuite/20_util/shared_ptr/cons/constexpr.cc: Same.
	* testsuite/20_util/time_point/requirements/constexpr_functions.cc:
	Same.
	* testsuite/20_util/unique_ptr/cons/constexpr.cc: Same.
	* testsuite/20_util/weak_ptr/cons/constexpr.cc: Same.

	* include/std/bitset: Add constexpr as per N3126 draft.
	* testsuite/23_containers/bitset/cons/constexpr.cc: New.
	* testsuite/23_containers/bitset/requirements/constexpr_functions.cc:
	New.

	* testsuite/util/testsuite_common_types.h: Reset condition.

	* include/bits/random.h: Remove misleading comments.
	* include/bits/regex.h: Add constexpr.
	* testsuite/28_regex/05_constants/syntax_option_type.cc: Add tests.
	* testsuite/28_regex/08_basic_regex/requirements/constexpr_data.cc: New.

	PR libstdc++/46134
	* include/std/chrono: Use default constructor.
	* testsuite/util/testsuite_common_types.h
	(constexpr_default_constructible): Adjust condition.

	PR libstdc++/46133
	* include/std/complex: Adjust complex specialization default
	constructors for constexpr.
	* testsuite/26_numerics/complex/cons/constexpr.cc: Enable tests.

	* include/bits/random.h: Adjust for constexpr as per N3126 draft.
	* testsuite/26_numerics/random/discard_block_engine/requirements/
	constexpr_data.cc: New.
	* testsuite/26_numerics/random/discard_block_engine/requirements/
	constexpr_functions.cc: New.
	* testsuite/26_numerics/random/independent_bits_engine/requirements/
	constexpr_functions.cc: New.
	* testsuite/26_numerics/random/linear_congruential_engine/requirements/
	constexpr_data.cc: New.
	* testsuite/26_numerics/random/linear_congruential_engine/requirements/
	constexpr_functions.cc: New.
	* testsuite/26_numerics/random/mersenne_twister_engine/requirements/
	constexpr_data.cc: New.
	* testsuite/26_numerics/random/mersenne_twister_engine/requirements/
	constexpr_functions.cc: New.
	* testsuite/26_numerics/random/shuffle_order_engine/requirements/
	constexpr_data.cc: New.
	* testsuite/26_numerics/random/shuffle_order_engine/requirements/
	constexpr_functions.cc: New.
	* testsuite/26_numerics/random/subtract_with_carry_engine/requirements/
	constexpr_data.cc: New.
	* testsuite/26_numerics/random/subtract_with_carry_engine/requirements/
	constexpr_functions.cc: New.

	* include/bits/stream_iterator.h: Add constexpr as per N3126 draft.
	* include/bits/streambuf_iterator.h: Same.
	* include/std/complex: Same.
	* testsuite/24_iterators/istream_iterator/cons/constexpr.cc: New.
	* testsuite/24_iterators/istreambuf_iterator/cons/constexpr.cc: New.
	* testsuite/26_numerics/complex/cons/constexpr.cc: New.
	* testsuite/26_numerics/complex/requirements/constexpr_functions.cc:
	New.

	* include/bits/char_traits.h: Add constexpr as per N3126 draft.
	* testsuite/21_strings/char_traits/requirements/constexpr_functions.cc:
	New.

	* include/tr1_impl/array: Add constexpr as per N3126 draft.
	* testsuite/23_containers/array/requirements/
	constexpr_functions.cc: New.

	* include/bits/shared_ptr.h: Revert changes.
	* include/bits/unique_ptr.h: Same.

	* include/std/chrono: Adjust.
	* include/tr1_impl/type_traits: Same.

	* testsuite/util/testsuite_common_types.h: Add test functors.
	* testsuite/20_util/duration/cons/constexpr.cc: New.
	* testsuite/20_util/duration/requirements/constexpr_functions.cc: Same.
	* testsuite/20_util/pair/cons/constexpr.cc: Same.
	* testsuite/20_util/ratio/requirements/constexpr_data.cc: Same.
	* testsuite/27_io/ios_base/types/fmtflags/constexpr_operators.cc: Same.
	* testsuite/27_io/ios_base/types/iostate/constexpr_operators.cc: Same.
	* testsuite/27_io/ios_base/types/openmode/constexpr_operators.cc: Same.
	* testsuite/30_threads/call_once/constexpr.cc: Same.
	* testsuite/30_threads/mutex/cons/constexpr.cc: Same.
	* testsuite/30_threads/once_flag/cons/constexpr.cc: Same.
	* testsuite/tr1/4_metaprogramming/integral_constant/requirements/
	constexpr_data.cc: Same.

	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust line numbers.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: Same.

	* include/bits/allocator.h: Add constexpr as per N3126 draft.
	* include/bits/ios_base.h: Same.
	* include/bits/shared_ptr.h: Same.
	* include/bits/unique_ptr.h: Same.
	* include/bits/stl_iterator.h: Same.
	* include/bits/stl_pair.h: Same.
	* include/std/tuple: Same.
	* include/tr1_impl/type_traits: Same.
	* include/std/chrono: Same.
	* include/std/ratio: Same.
	* include/std/mutex: Same.
	* src/mutex.cc: Same.
	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same.
	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Same.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Same.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.

	* doc/doxygen/user.cfg.in: Replace _GLIBCXX_USE_CONSTEXPR,
	_GLIBCXX_CONSTEXPR for doxygen generation.

	* src/limits.cc: Undef.
	* testsuite/29_atomics/atomic/cons/constexpr.cc: Adjust.
	* testsuite/29_atomics/atomic_address/cons/constexpr.cc: Same.
	* testsuite/29_atomics/atomic_integral/cons/constexpr.cc: Same.
	* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.c: Same.
	* testsuite/18_support/numeric_limits/constexpr.cc: To...
	* testsuite/18_support/numeric_limits/requirements/
	constexpr_data.cc, constexpr_functions.cc: ...this

	* testsuite/util/testsuite_common_types.h
	(constexpr_single_value_constructible): Add.
	* testsuite/29_atomics/atomic/cons/constexpr.cc: Adjust name.
	* testsuite/29_atomics/atomic_integral/cons/constexpr.cc: Same.
	* testsuite/29_atomics/atomic_address/cons/constexpr.cc: New.
	* testsuite/18_support/numeric_limits/constexpr.cc: New.

	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust line numbers.
	* testsuite/29_atomics/atomic/cons/constexpr.cc: Same.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic_integral/cons/constexpr.cc: Same.
	* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: Same.
	* testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc: Same.
	* testsuite/29_atomics/atomic_integral/operators/increment_neg.cc: Same.

	* include/bits/c++config (_GLIBCXX_CONSTEXPR): Add.
	(_GLIBCXX_USE_CONSTEXPR): Add.
	* include/std/limits: Use it.
	* src/limits.cc: Adjust.
	* testsuite/ext/profile/mutex_extensions.cc: Change line number.

	* include/bits/atomic_0.h: Rework for N3126 draft, add constexpr.
	* include/bits/atomic_2.h: Same.
	* include/bits/atomic_base.h: Same.
	* include/std/atomic: Same.
	* src/atomic.cc: Same.
	* include/bits/atomicfwd_c.h: Remove.
	* include/bits/atomicfwd_cxx.h: Remove.
	* include/c_compatibility/stdatomic.h: Remove.
	* include/Makefile.am: Remove atomicfwd_c.h, atomicfwd_cxx.h,
	stdatomic.h.
	* include/Makefile.in: Regenerate.
	* doc/xml/manual/using.xml: Update list of header files for changes.
	* testsuite/util/testsuite_common_types.h
	(constexpr_constructible): Add.
	* testsuite/29_atomics/atomic/cons/constexpr.cc: New.
	* testsuite/29_atomics/atomic_integral/cons/constexpr.cc: New.
	* testsuite/17_intro/headers/c++200x/stdc++.cc: Modify.
	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic_address/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic_flag/cons/1.cc: Same.
	* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/headers/atomic/macros.cc: Same.
	* testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Same.
	* testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc: Same.
	* testsuite/29_atomics/atomic_flag/test_and_set/implicit.c: Remove.
	* testsuite/29_atomics/atomic_flag/test_and_set/explicit.c: Same.
	* testsuite/29_atomics/atomic_flag/clear/1.c: Same.
	* testsuite/29_atomics/headers/stdatomic.h/debug_mode.c: Same.
	* testsuite/29_atomics/headers/stdatomic.h/functions.c: Same.
	* testsuite/29_atomics/headers/stdatomic.h/macros.c: Same.
	* testsuite/29_atomics/headers/stdatomic.h/types.c: Same.

	* testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.16.

From-SVN: r166171
2010-11-01 22:35:28 -04:00
Paolo Carlini fb7342fd6f PR libstdc++/44436 (partial)
2010-10-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/44436 (partial)
	* include/bits/hashtable.h (_Hashtable<>::insert(value_type&&),
	insert(_Pair&&), insert(const_iterator, value_type&&),
	insert(const_iterator, _Pair&&)): Add.
	(_M_allocate_node, _M_insert, _M_insert_bucket): Templatize.
	* include/bits/hashtable_policy.h (__detail::_Select1st): Add; use
	it throughout.
	(_Map_base<>::operator[](_Key&&)): Add.
	* include/bits/unordered_map.h: Use __detail::_Select1st throughout.
	* include/debug/unordered_map: Update.
	* include/debug/unordered_set: Likewise.
	* include/profile/unordered_map: Likewise.
	* include/profile/unordered_set: Likewise.
	* testsuite/util/testsuite_rvalref.h (struct hash<rvalstruct>): Add;
	minor tweaks throughout, use deleted special members.
	* testsuite/23_containers/unordered_map/insert/map_single_move-1.cc:
	New.
	* testsuite/23_containers/unordered_map/insert/map_single_move-2.cc:
	Likewise.
	* testsuite/23_containers/unordered_map/insert/array_syntax_move.cc:
	Likewise.
	* testsuite/23_containers/unordered_multimap/insert/
	multimap_single_move-1.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/insert/
	multimap_single_move-2.cc: Likewise.
	* testsuite/23_containers/unordered_set/insert/set_single_move.cc:
	Likewise.
	* testsuite/23_containers/unordered_multiset/insert/
	multiset_single_move.cc: Likewise.

	* testsuite/23_containers/unordered_map/insert/array_syntax.cc:
	Minor cosmetic changes.

From-SVN: r166030
2010-10-28 16:01:05 +00:00
Paolo Carlini efb7b45650 forward_list.h (forward_list<>::erase_after): Return an iterator.
2010-10-17  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.h (forward_list<>::erase_after): Return
	an iterator.
	(_M_erase_after): Return _Fwd_list_node_base*.
	* include/bits/forward_list.tcc: Likewise.
	* include/debug/forward_list: Likewise.
	* testsuite/23_containers/forward_list/modifiers/3.cc: Update
	and extend.
	* testsuite/util/exception/safety.h (erase_base<forward_list<>>):
	Adjust.
	* testsuite/23_containers/forward_list/requirements/dr438/
	assign_neg.cc: Adjust dg-error line number.
	* testsuite/23_containers/forward_list/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_2_neg.cc: Likewise.

From-SVN: r165590
2010-10-17 17:34:38 +00:00
Benjamin Kosnik bf718682e1 extract_symvers: Add support for tracking TLS symbols.
2010-10-01  Benjamin Kosnik  <bkoz@redhat.com>

	* scripts/extract_symvers: Add support for tracking TLS symbols.
	* testsuite/util/testsuite_abi.h (symbol::category): Add tls type.
	* testsuite/util/testsuite_abi.cc: Set symbol type to tls when
	appropriate, collect size info.

From-SVN: r164892
2010-10-01 17:10:38 +00:00
Paolo Carlini b8b4301eec [multiple changes]
2010-09-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/Makefile.am: Add debug/forward_list.
	* include/Makefile.in: Regenerate.

	* testsuite/util/testsuite_container_traits.h (traits_base):
	Add has_erase_after and hash_insert_after typedefs.
	(traits<forward_list<>>): Adjust.
	* testsuite/util/exception/safety.h (erase_point, erase_range,
	insert_point): Deal correctly with forward_list.
	* include/Makefile.am: Add.

2010-09-29  François Dumont  <francois.cppdevs@free.fr>

	* src/debug.cc: Add forward_list specific debug messages.
	* include/debug/forward_list: New.
	* include/debug/formatter.h: Add debug message ids and before begin
	iterator state.
	* include/debug/macros.h (__glibcxx_check_insert_after,
	__glibcxx_check_insert_range_after, __glibcxx_check_erase_after,
	__glibcxx_check_erase_range_after): Add.
	* include/debug/safe_iterator.h (_BeforeBeginHelper): Add.
	(_Safe_iterator<>::_M_before_dereferenceable,
	_Safe_iterator<>::_M_is_before_begin): Add.
	(_Safe_iterator<>::_M_dereferenceable, _Safe_iterator<>::_M_is_end,
	_Safe_iterator<>::_M_incrementable): Adjust.
	* include/std/forward_list: Include debug/forward when _GLIBCXX_DEBUG
	defined.
	* include/bits/forward_list.h, forward_list.tcc: Put in std::__norm
	when debug mode is active.
	* testsuite/23_containers/forward_list/capacity/1.cc: Fix to compile
	even in debug mode.
	* testsuite/23_containers/forward_list/debug/erase_after1.cc,
	erase_after2.cc, erase_after3.cc, erase_after4.cc, erase_after5.cc,
	insert_after1.cc,erase_after6.cc, erase_after7.cc, insert_after2.cc,
	erase_after8.cc, insert_after3.cc, erase_after9.cc: New.

From-SVN: r164717
2010-09-29 11:56:34 +00:00
David Krauss 3531cf5ef3 re PR libstdc++/45628 (std::fstream::tellg invalidates I/O buffer)
2010-09-22  David Krauss  <potswa@mac.com>

	PR libstdc++/45628
	* include/bits/fstream.tcc (basic_filebuf::underflow): Add state
	transition to avoid modality requiring seekoff(0,ios::cur).
	(basic_filebuf::pbackfail): Likewise.
	(basic_filebuf::overflow): Likewise.
	(basic_filebuf::_M_seek): Avoid minor unnecessary conversion.
	(basic_filebuf::seekoff): Remove code to _M_get_ext_pos; make
	(0, ios::cur) a special case preserving buffer contents.
	(basic_filebuf::_M_get_ext_pos): New function to obtain status
	about codecvt extern_t buffer for overflow and seekoff.
	* include/std/fstream (basic_filebuf::_M_get_ext_pos): Likewise.
	* config/abi/pre/gnu.ver: Export new symbols.
	* testsuite/27_io/basic_filebuf/seekoff/char/45628-1.cc: New,
	verifies that seekoff(0, ios::cur) preserves buffers.
	* testsuite/27_io/basic_filebuf/seekoff/char/45628-2.cc: Likewise.
	for codecvt case. More lenient as it may still flush put area.
	* testsuite/27_io/basic_filebuf/seekoff/char/4.cc: Modify to
	check that seekoff is not required between read and write.
	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sync/wchar_t/1.cc: Remove.
	* testsuite/27_io/basic_filebuf/sync/wchar_t/1.cc: Likewise.
	* testsuite/util/testsuite_character.h (codecvt::do_length): Comply
	with 22.2.1.5.2/10 "Returns ... the LARGEST value in the range..."

From-SVN: r164529
2010-09-22 19:40:43 +00:00
François Dumont d78301422a libstdc++.exp ([check_v3_target_debug_mode]): Fix so that it really detects when debug mode is activated.
2010-09-03  François Dumont <francois.cppdevs@free.fr>

        * testsuite/lib/libstdc++.exp ([check_v3_target_debug_mode]): Fix so
        that it really detects when debug mode is activated.
        * testsuite/util/debug/construct_neg.h, insert_neg.h, assign_neg.h:
        Remove, content moved...
        * testsuite/util/debug/checks.h: ... here. Modify checks to take the
	type of the container to test rather than an intermediate container
        type traits helper.
	* testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Update to
	use dg-require-debug-mode when necessary and use new check functions.
	* testsuite/23_containers/unordered_map/debug/construct1_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_map/debug/construct2_neg.cc:
	Likewise.
	* testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/unordered_map/debug/construct3_neg.cc:
	Likewise.
	* testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/unordered_map/debug/construct4_neg.cc:
	Likewise.
	* testsuite/23_containers/unordered_map/debug/insert4_neg.cc: Likewise.
	* testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise.
	* testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise.
	* testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise.
	* testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise.
	* testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/multimap/debug/construct4_neg.cc: Likewise.
	* testsuite/23_containers/multimap/debug/insert4_neg.cc: Likewise.
	* testsuite/23_containers/set/debug/insert1_neg.cc: Likewise.
	* testsuite/23_containers/set/debug/construct1_neg.cc: Likewise.
	* testsuite/23_containers/set/debug/construct2_neg.cc: Likewise.
	* testsuite/23_containers/set/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/set/debug/construct3_neg.cc: Likewise.
	* testsuite/23_containers/set/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/set/debug/construct4_neg.cc: Likewise.
	* testsuite/23_containers/set/debug/insert4_neg.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multimap/debug/construct4_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multimap/debug/insert4_neg.cc:
	Likewise.
	* testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/construct4_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/assign4_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/vector/debug/insert4_neg.cc: Likewise.
	* testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise.
	* testsuite/23_containers/unordered_set/debug/construct1_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_set/debug/construct2_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/unordered_set/debug/construct3_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/unordered_set/debug/construct4_neg.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/debug/insert4_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/construct4_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/assign4_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/deque/debug/insert4_neg.cc: Likewise.
	* testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise.
	* testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise.
	* testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise.
	* testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise.
	* testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/multiset/debug/construct4_neg.cc: Likewise.
	* testsuite/23_containers/multiset/debug/insert4_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/assign1_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/construct1_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/construct2_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/assign2_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/construct3_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/assign3_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/construct4_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/assign4_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/insert1_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/insert4_neg.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multiset/debug/construct4_neg.cc: 
	Likewise.
	* testsuite/23_containers/unordered_multiset/debug/insert4_neg.cc: 
	Likewise.
	* testsuite/23_containers/map/debug/insert1_neg.cc: Likewise.
	* testsuite/23_containers/map/debug/construct1_neg.cc: Likewise.
	* testsuite/23_containers/map/debug/construct2_neg.cc: Likewise.
	* testsuite/23_containers/map/debug/insert2_neg.cc: Likewise.
	* testsuite/23_containers/map/debug/construct3_neg.cc: Likewise.
	* testsuite/23_containers/map/debug/insert3_neg.cc: Likewise.
	* testsuite/23_containers/map/debug/construct4_neg.cc: Likewise.
	* testsuite/23_containers/map/debug/insert4_neg.cc: Likewise.

	* testsuite/23_containers/unordered_map/debug/cont_traits.h: Remove.
	* testsuite/23_containers/unordered_map/debug/debug_cont_traits.h:
	Likewise.
	* testsuite/23_containers/multimap/debug/cont_traits.h: Likewise.
	* testsuite/23_containers/multimap/debug/debug_cont_traits.h: Likewise.
	* testsuite/23_containers/set/debug/cont_traits.h: Likewise.
	* testsuite/23_containers/set/debug/debug_cont_traits.h: Likewise.
	* testsuite/23_containers/unordered_multimap/debug/cont_traits.h:
	Likewise.
	* testsuite/23_containers/unordered_multimap/debug/
	debug_cont_traits.h: Likewise.
	* testsuite/23_containers/vector/debug/cont_traits.h: Likewise.
	* testsuite/23_containers/vector/debug/debug_cont_traits.h: Likewise.
	* testsuite/23_containers/unordered_set/debug/cont_traits.h: Likewise.
	* testsuite/23_containers/unordered_set/debug/debug_cont_traits.h:
	Likewise.
	* testsuite/23_containers/deque/debug/cont_traits.h: Likewise.
	* testsuite/23_containers/deque/debug/debug_cont_traits.h: Likewise.
	* testsuite/23_containers/multiset/debug/cont_traits.h: Likewise.
	* testsuite/23_containers/multiset/debug/debug_cont_traits.h: Likewise.
	* testsuite/23_containers/list/debug/cont_traits.h: Likewise.
	* testsuite/23_containers/list/debug/debug_cont_traits.h: Likewise.
	* testsuite/23_containers/unordered_multiset/debug/cont_traits.h: 
	Likewise.
	* testsuite/23_containers/unordered_multiset/debug/
	debug_cont_traits.h: Likewise.
	* testsuite/23_containers/map/debug/cont_traits.h: Likewise.
	* testsuite/23_containers/map/debug/debug_cont_traits.h: Likewise.

	* testsuite/21_strings/basic_string/element_access/char: Tidy.
	* testsuite/21_strings/basic_string/element_access/wchar_t: Likewise.

From-SVN: r163837
2010-09-03 18:10:46 +00:00
Paolo Carlini ba6a601c1a remove_freed.cc: Fix test01 return type to void.
2010-08-31  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/23_containers/forward_list/operations/remove_freed.cc:
	Fix test01 return type to void.
	* testsuite/util/exception/safety.h: Avoid -Wall -m32 warnings.
	* testsuite/util/replacement_memory_operators.h: Likewise.

From-SVN: r163684
2010-08-31 17:24:39 +00:00
Paolo Carlini 1f5ca1a15c [multiple changes]
2010-08-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/23_containers/bitset/invalidation: Move...
	* testsuite/23_containers/bitset/debug/invalidation: ... here.
	* testsuite/23_containers/deque/invalidation: Move...
	* testsuite/23_containers/deque/debug/invalidation: ... here.
	* testsuite/23_containers/list/invalidation: Move...
	* testsuite/23_containers/list/debug/invalidation: ... here.
	* testsuite/23_containers/map/invalidation: Move...
	* testsuite/23_containers/map/debug/invalidation: ... here.
	* testsuite/23_containers/multimap/invalidation: Move...
	* testsuite/23_containers/multimap/debug/invalidation: ... here.
	* testsuite/23_containers/set/invalidation: Move...
	* testsuite/23_containers/set/debug/invalidation: ... here.
	* testsuite/23_containers/multiset/invalidation: Move...
	* testsuite/23_containers/multiset/debug/invalidation: ... here.
	* testsuite/23_containers/vector/invalidation: Move...
	* testsuite/23_containers/vector/debug/invalidation: ... here.

2010-08-29  François Dumont  <francois.cppdevs@free.fr>

        * include/bits/stl_algobase.h (_Iter_base):  Move...
        * include/bits/stl_iterator_base_types.h: ...here.
        * include/debug/functions.h (__check_valid_range, __check_string,
	__check_sorted): Fix to not depend on _GLIBCXX_DEBUG; include
	formatter.h and use formatting macros for a consistent debug result.
        * include/debug/formatter.h (__check_singular): Declare; do not
	include debug.h.
        * include/debug/debug.h: Do not include formatter.h.
        * include/debug/safe_iterator.h (_Safe_iterator::_Base_Iterator)
        rename to iterator_type.
	(__gnu_debug::__base): Add.
        * include/debug/set.h: Use everywhere __gnu_debug::__base once
	iterator range valided.
        * include/debug/unordered_map: Likewise.
        * include/debug/multiset.h: Likewise.
        * include/debug/vector: Likewise.
        * include/debug/unordered_set: Likewise.
        * include/debug/deque: Likewise.
        * include/debug/map.h: Likewise.
        * include/debug/string: Likewise.
        * include/debug/list: Likewise.
        * include/debug/multimap.h: Likewise.
        * testsuite/23_containers/util/debug/assign_neg.h: New test cases on
        debug checks performed on container assign operation.
        * testsuite/23_containers/util/debug/construct_neg.h: New test cases
        on debug checks on constructors.
        * testsuite/23_containers/util/debug/insert_neg.h: New test cases on
        debug checks performed on container insert operations.
        * testsuite/23_containers/unordered_map/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: New.
        * testsuite/23_containers/multimap/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/set/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/unordered_multimap/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/unordered_set/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/multiset/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/unordered_multiset/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/map/debug/cont_traits.h,
        debug_cont_traits.h, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/vector/debug/cont_traits.h,
        debug_cont_traits.h, assign1_neg.cc, assign2_neg.cc, assign3_neg.cc,
        assign4_neg.cc, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/23_containers/deque/debug/cont_traits.h,
        debug_cont_traits.h, assign1_neg.cc, assign2_neg.cc, assign3_neg.cc,
        assign4_neg.cc, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
	* testsuite/23_containers/list/debug/cont_traits.h,
        debug_cont_traits.h, assign1_neg.cc, assign2_neg.cc, assign3_neg.cc,
        assign4_neg.cc, construct1_neg.cc, construct2_neg.cc,
        construct3_neg.cc, construct4_neg.cc, insert1_neg.cc, insert2_neg.cc,
        insert3_neg.cc, insert4_neg.cc: Likewise.
        * testsuite/performance/23_containers/range_construct/
	list_construct1.cc: New, validate performance impact of the patch
	on the debug mode.
        * testsuite/performance/23_containers/range_construct/
	list_construct2.cc: Likewise.
        * testsuite/performance/23_containers/range_construct/
	vector_construct.cc: Likewise.
        * testsuite/performance/23_containers/range_construct/
	deque_construct.cc: Likewise.

From-SVN: r163628
2010-08-29 17:39:00 +00:00
Paolo Carlini 820d2ff720 [multiple changes]
2010-06-26  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/util/testsuite_hooks.h: Cast fn to bool.

2010-06-26  Kees Cook  <kees.cook@canonical.com>

	* testsuite/27_io/ios_base/sync_with_stdio/1.cc: Verify freopen.
	* testsuite/27_io/objects/wchar_t/9520.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/12048-2.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/12048-4.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/11.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/12048-1.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/12048-3.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/10.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/12048-5.cc: Likewise.
	* testsuite/27_io/objects/char/9661-1.cc: Likewise.
	* testsuite/27_io/objects/char/12048-2.cc: Likewise.
	* testsuite/27_io/objects/char/12048-4.cc: Likewise.
	* testsuite/27_io/objects/char/9.cc: Likewise.
	* testsuite/27_io/objects/char/12048-1.cc: Likewise.
	* testsuite/27_io/objects/char/12048-3.cc: Likewise.
	* testsuite/27_io/objects/char/12048-5.cc: Likewise.
	* testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise.
	* testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc: Verify fgets.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc: Verify
	fwrite.
	* testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: Likewise.
	* testsuite/ext/stdio_sync_filebuf/char/1.cc: Likewise.

From-SVN: r161441
2010-06-26 20:11:20 +00:00
Paolo Carlini dc2cf706b8 re PR libstdc++/32618 (std::vector calls uneccessary constructors instead of inplace construction of first object)
2010-06-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/32618
	* include/bits/stl_list.h (vector<>::_M_default_initialize,
	_M_default_append): Declare.
	(list<>::list(size_type), resize(size_type)): Add in C++0x mode,
	use the latter.
	* include/bits/list.tcc (list<>::resize, _M_default_append): Define.
	* include/bits/stl_vector.h (vector<>::_M_default_initialize,
	_M_default_append): Declare.
	(vector<>::vector(size_type), resize(size_type)): Add in C++0x mode,
	use the latter.
	* include/bits/vector.tcc (vector<>::_M_default_append): Define.
	* include/bits/stl_deque.h (deque<>::_M_default_initialize,
	_M_default_append): Declare.
	(deque<>::deque(size_type), resize(size_type)): Add in C++0x mode,
	use the latter.
	* include/bits/deque.tcc (deque<>::_M_default_append): Define.
	* include/debug/vector: Update.
	* include/debug/deque: Likewise.
	* include/debug/list: Likewise.
	* include/profile/vector: Likewise.
	* include/profile/deque: Likewise.
	* include/profile/list: Likewise.
	* include/bits/forward_list.h (_M_default_initialize,
	_M_default_insert_after): Declare.
	(forward_list<>::forward_list(size_type), resize(size_type)): Fix,
	use the latter.
	* include/bits/forward_list.tcc (forward_list<>::_M_default_append,
	_M_default_insert_after): Define.
	* testsuite/util/testsuite_api.h (NonCopyConstructible): Add.
	* testsuite/23_containers/forward_list/modifiers/6.cc: Move to...
	* testsuite/23_containers/forward_list/capacity/resize_size.cc:
	... here.
	* testsuite/23_containers/forward_list/cons/10.cc: Move to...
	* testsuite/23_containers/forward_list/cons/cons_size.cc: ... here.
	* testsuite/23_containers/vector/resize/1.cc: Move to...
	* testsuite/23_containers/vector/capacity/resize/1.cc: ... here.	
	* testsuite/23_containers/vector/resize/moveable.cc: Move to...
	* testsuite/23_containers/vector/resize/capacity/moveable.cc: ... here.
	* testsuite/23_containers/vector/cons/cons_size.cc: New.
	* testsuite/23_containers/vector/capacity/resize/resize_size.cc:
	Likewise.
	* testsuite/23_containers/deque/cons/cons_size.cc: Likewise.
	* testsuite/23_containers/deque/capacity/resize_size.cc: Likewise.
	* testsuite/23_containers/list/cons/cons_size.cc: Likewise.
	* testsuite/23_containers/list/capacity/resize_size.cc: Likewise.
	* testsuite/23_containers/vector/capacity/resize/moveable.cc: Adjust.
	* testsuite/23_containers/deque/capacity/moveable.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	assign_neg.cc: Adjust dg-error line numbers.
	* testsuite/23_containers/forward_list/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	assign_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: 
	Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/
	assign_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: 
	Likewise.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc: 
	Likewise.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: 
	Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_2_neg.cc: Likewise.

From-SVN: r161009
2010-06-18 18:07:45 +00:00
Paolo Carlini e4f32cb0a5 type_traits (is_nothrow_constructible): Add.
2010-06-09  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/type_traits (is_nothrow_constructible): Add.
	(declval): Add noexcept specification.
	* testsuite/util/testsuite_tr1.h (struct NothrowExplicitClass,
	ThrowExplicitClass, NoexceptExplicitClass, ExceptExplicitClass):
	Add.
	* testsuite/20_util/is_nothrow_constructible/value.cc: New.
	* testsuite/20_util/is_nothrow_constructible/requirements/
	typedefs.cc: Likewise.
	* testsuite/20_util/is_nothrow_constructible/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
	Adjust dg-error line numbers.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.

From-SVN: r160523
2010-06-10 00:43:50 +00:00
Paolo Carlini c8061de73f re PR libstdc++/44417 (make check-target-libstdc++-v3 fails due to undefined ptrdiff_t)
2010-06-07  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/44417
	* include/c_std/cwctype: Provide a workaround for bug glibc
	BZ 9694 affecting glibc 2.9 and older.
	* include/c_global/cwctype: Likewise.
	* testsuite/util/testsuite_abi.h: Remove temporary workaround.
	* testsuite/util/testsuite_allocator.h: Use everywhere std::size_t
	and std::ptrdiff_t, don't include <cstddef>.

	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
	error_code.cc: Minor tweak, prefer <cwchar> to <wchar.h>.

From-SVN: r160417
2010-06-08 01:46:10 +00:00
Paolo Carlini 567d4027a3 order_statistics_imp.hpp: Avoid -Wall warnings.
2010-06-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp:
	Avoid -Wall warnings.
	* testsuite/27_io/ios_base/failure/what-3.cc: Likewise.
	* testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_ostringstream/str/char/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sgetn/char/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/snextc/char/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sgetc/char/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Likewise.
	* testsuite/27_io/types/2.cc: Likewise.
	* testsuite/27_io/basic_istream/ignore/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/peek/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/ws/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/ws/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc: Likewise.
	* testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
	* testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.
	* testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/
	wchar_t/01.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/
	01.cc: Likewise.
	* testsuite/27_io/fpos/mbstate_t/4_neg.cc: Likewise.
	* testsuite/27_io/fpos/mbstate_t/2.cc: Likewise.
	* testsuite/27_io/fpos/mbstate_t/3.cc: Likewise.
	* testsuite/27_io/fpos/mbstate_t/5.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/wchar_t/
	4.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/char/
	4.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekoff/12790-4.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: Likewise.
	* testsuite/25_algorithms/minmax/3.cc: Likewise.
	* testsuite/19_diagnostics/logic_error/what-3.cc: Likewise.
	* testsuite/19_diagnostics/runtime_error/what-3.cc: Likewise.
	* testsuite/19_diagnostics/system_error/what-3.cc: Likewise.
	* testsuite/24_iterators/front_insert_iterator/2.cc: Likewise.
	* testsuite/24_iterators/back_insert_iterator/2.cc: Likewise.
	* testsuite/24_iterators/insert_iterator/2.cc: Likewise.
	* testsuite/18_support/exception_ptr/make_exception_ptr.cc: Likewise.
	* testsuite/21_strings/c_strings/wchar_t/1.cc: Likewise.
	* testsuite/21_strings/c_strings/wchar_t/2.cc: Likewise.
	* testsuite/21_strings/c_strings/char/1.cc: Likewise.
	* testsuite/21_strings/c_strings/char/2.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	copy.cc: Likewise.
	* testsuite/26_numerics/random/subtract_with_carry_engine/
	cons/copy.cc: Likewise.
	* testsuite/26_numerics/random/subtract_with_carry_engine/
	requirements/constants.cc: Likewise.
	* testsuite/26_numerics/random/discard_block_engine/
	cons/copy.cc: Likewise.
	* testsuite/26_numerics/random/mersenne_twister_engine/
	cons/copy.cc: Likewise.
	* testsuite/26_numerics/random/mersenne_twister_engine/
	requirements/constants.cc: Likewise.
	* testsuite/26_numerics/random/linear_congruential_engine/
	cons/copy.cc: Likewise.
	* testsuite/26_numerics/random/linear_congruential_engine/
	requirements/constants.cc: Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/
	cons/copy.cc: Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/
	requirements/constants.cc: Likewise.
	* testsuite/26_numerics/complex/complex_value.cc: Likewise.
	* testsuite/26_numerics/headers/cmath/overloads.cc: Likewise.
	* testsuite/26_numerics/headers/cmath/
	c99_classification_macros_c++.cc: Likewise.
	* testsuite/26_numerics/slice_array/array_assignment.cc: Likewise.
	* testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/money_put/put/wchar_t/12971.cc: Likewise.
	* testsuite/22_locale/money_put/put/char/1.cc: Likewise.
	* testsuite/22_locale/money_put/put/char/2.cc: Likewise.
	* testsuite/22_locale/money_put/put/char/3.cc: Likewise.
	* testsuite/22_locale/money_put/put/char/12971.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/1.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/2.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/3.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/4.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/5.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/6.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/7.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/8.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
	* testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/num_put/put/char/1.cc: Likewise.
	* testsuite/22_locale/time_get/get_year/wchar_t/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_year/char/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_monthname/wchar_t/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_monthname/char/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/wchar_t/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/char/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/wchar_t/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/char/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_time/wchar_t/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_time/char/5.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/1.cc: Likewise.
	* testsuite/22_locale/moneypunct/members/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/moneypunct/members/char/1.cc: Likewise.
	* testsuite/22_locale/ctype_base/mask.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/
	subtract_with_carry/requirements/constants.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/
	subtract_with_carry_01/requirements/constants.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/
	discard_block/requirements/constants.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/
	linear_congruential/requirements/constants.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/
	mersenne_twister/requirements/constants.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/
	xor_combine/requirements/constants.cc: Likewise.
	* testsuite/tr1/8_c_compatibility/cfenv/functions.cc: Likewise.
	* testsuite/tr1/8_c_compatibility/cinttypes/functions.cc: Likewise.
	* testsuite/tr1/8_c_compatibility/cstdlib/functions.cc: Likewise.
	* testsuite/tr1/8_c_compatibility/cstdio/functions.cc: Likewise.
	* testsuite/tr1/8_c_compatibility/cctype/functions.cc: Likewise.
	* testsuite/tr1/8_c_compatibility/cwchar/functions.cc: Likewise.
	* testsuite/tr1/8_c_compatibility/cmath/templates.cc: Likewise.
	* testsuite/tr1/8_c_compatibility/cmath/functions.cc: Likewise.
	* testsuite/tr1/8_c_compatibility/cwctype/functions.cc: Likewise.
	* testsuite/tr1/6_containers/utility/pair.cc: Likewise.
	* testsuite/29_atomics/atomic_address/cons/aggregate.cc: Likewise.
	* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise.
	* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
	* testsuite/29_atomics/atomic_integral/operators/
	increment_neg.cc: Likewise.
	* testsuite/29_atomics/atomic_integral/operators/
	bitwise_neg.cc: Likewise.
	* testsuite/29_atomics/atomic_integral/operators/
	decrement_neg.cc: Likewise.
	* testsuite/29_atomics/atomic_flag/cons/1.cc: Likewise.
	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Likewise.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
	* testsuite/23_containers/priority_queue/members/7161.cc
	* testsuite/23_containers/set/dr130.cc: Likewise.
	* testsuite/23_containers/list/pthread5.cc: Likewise.
	* testsuite/23_containers/map/dr130.cc: Likewise.
	* testsuite/util/exception/safety.h: Likewise.
	* testsuite/util/testsuite_common_types.h: Likewise.
	* testsuite/20_util/clocks/1.cc: Likewise.

From-SVN: r160416
2010-06-08 00:45:02 +00:00
Jason Merrill 91f41f93c3 * testsuite/util/testsuite_abi.h: Work around glibc BZ 9694.
From-SVN: r160313
2010-06-05 09:13:46 -04:00
Paolo Carlini 445877a9da testsuite_iterators.h: Don't include <cstddef>, don't use NULL, use std::size_t and std::ptrdiff_t.
2010-06-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/util/testsuite_iterators.h: Don't include <cstddef>,
	don't use NULL, use std::size_t and std::ptrdiff_t.
	* testsuite/18_support/exception/38732.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: Likewise.
	* testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
	* testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
	* testsuite/23_containers/list/pthread1.cc: Likewise.
	* testsuite/23_containers/map/pthread6.cc: Likewise.
	* testsuite/util/testsuite_hooks.cc: Likewise.
	* config/locale/gnu/codecvt_members.cc: Likewise.
	* config/locale/gnu/messages_members.cc: Likewise.
	* config/locale/gnu/c_locale.h: Likewise.
	* config/locale/gnu/messages_members.h: Likewise.
	* config/locale/gnu/monetary_members.cc: Likewise.
	* config/locale/gnu/time_members.cc: Likewise.
	* config/locale/gnu/time_members.h: Likewise.
	* config/locale/generic/c_locale.cc: Likewise.
	* config/locale/generic/codecvt_members.cc: Likewise.
	* config/locale/generic/c_locale.h: Likewise.
	* config/locale/generic/time_members.cc: Likewise.
	* config/locale/generic/time_members.h: Likewise.

From-SVN: r160238
2010-06-03 23:11:46 +00:00
Paolo Carlini 8fc810787b c++config (std::size_t, [...]): Provide typedefs.
2010-06-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/c++config (std::size_t, std::ptrdiff_t,
        std::nullptr_t): Provide typedefs.
	* include/c_std/cstddef: Don't provide std::size_t and
	std::ptrdiff_t here.
	* include/c_global/cstddef: Likewise.
	* src/condition_variable.cc: Don't include <cstddef>,
	don't use NULL, use std::size_t and std::ptrdiff_t.
	* src/mt_allocator.cc: Likewise.
	* src/localename.cc: Likewise.
	* src/chrono.cc: Likewise.
	* src/thread.cc: Likewise.
	* include/debug/formatter.h: Likewise.
	* include/debug/functions.h: Likewise.
	* include/std/valarray: Likewise.
	* include/std/thread: Likewise.
	* include/std/type_traits: Likewise.
	* include/std/atomic: Likewise.
	* include/std/iterator: Likewise.
	* include/std/bitset: Likewise.
	* include/std/fstream: Likewise.
	* include/std/mutex: Likewise.
	* include/c_std/cstdlib: Likewise.
	* include/c_std/cstdio: Likewise.
	* include/c_std/ctime: Likewise.
	* include/c_std/cwchar: Likewise.
	* include/c_std/cstring: Likewise.
	* include/parallel/multiway_merge.h: Likewise.
	* include/parallel/multiseq_selection.h: Likewise.
	* include/parallel/base.h: Likewise.
	* include/parallel/basic_iterator.h: Likewise.
	* include/parallel/multiway_mergesort.h
	* include/parallel/partition.h: Likewise.
	* include/ext/string_conversions.h: Likewise.
	* include/ext/pb_ds/assoc_container.hpp: Likewise.
	* include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp:
	Likewise.
	* include/ext/pb_ds/detail/resize_policy/
	hash_prime_size_policy_imp.hpp: Likewise.
	* include/ext/pb_ds/detail/resize_policy/
	sample_resize_policy.hpp: Likewise.
	* include/ext/pb_ds/detail/resize_policy/
	sample_resize_trigger.hpp: Likewise.
	* include/ext/pb_ds/detail/binomial_heap_base_/
	erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/binomial_heap_base_/
	find_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/binomial_heap_base_/
	insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/binomial_heap_base_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/binomial_heap_base_/
	debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/binomial_heap_base_/
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	erase_store_hash_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/d: Likewise.etail/cc_hash_table_map_/
	insert_no_store_hash_fn_imps.hpp
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	cmp_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	find_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	insert_store_hash_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	info_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	entry_list_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	trace_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	cc_ht_map_.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	resize_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	constructor_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	erase_no_store_hash_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/unordered_iterator/
	iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/unordered_iterator/
	const_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/unordered_iterator/
	point_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/unordered_iterator/
	const_point_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/child_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/
	insert_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/
	const_child_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/node_iterators.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/internal_node.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/point_iterators.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	find_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	r_erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	rotate_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	node_iterators.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	point_iterators.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	iterators_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	find_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	gp_ht_map_.hpp: Likewise.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	resize_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	standard_policies.hpp: Likewise.
	* include/ext/pb_ds/detail/tree_policy/
	sample_tree_node_update.hpp: Likewise.
	* include/ext/pb_ds/detail/basic_tree_policy/
	null_node_metadata.hpp: Likewise.
	* include/ext/pb_ds/detail/binary_heap_/const_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/binary_heap_/
	const_point_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/binary_heap_/
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/trie_policy/
	sample_trie_node_update.hpp: Likewise.
	* include/ext/pb_ds/detail/trie_policy/
	sample_trie_e_access_traits.hpp: Likewise.
	* include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pairing_heap_/
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_policy/
	counter_lu_metadata.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	trace_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	null_metadata.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	const_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	iterators_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	const_point_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/thin_heap_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/thin_heap_/
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/ov_tree_map_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp: Likewise.
	* include/ext/pb_ds/detail/ov_tree_map_/
	iterators_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp: Likewise.
	* include/ext/pb_ds/detail/hash_fn/
	sample_ranged_probe_fn.hpp: Likewise.
	* include/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp: Likewise.
	* include/ext/pb_ds/detail/hash_fn/
	sample_ranged_hash_fn.hpp: Likewise.
	* include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/splay_tree_/
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/
	trace_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/
	erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/
	find_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/
	constructor_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/
	insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/
	info_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/
	iterators_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rc_binomial_heap_/
	erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rc_binomial_heap_/
	insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rc_binomial_heap_/
	debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rb_tree_map_/
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/list_update_policy.hpp: Likewise.
	* include/ext/pb_ds/exception.hpp: Likewise.
	* include/ext/pb_ds/tree_policy.hpp: Likewise.
	* include/ext/pb_ds/tag_and_trait.hpp: Likewise.
	* include/ext/pb_ds/hash_policy.hpp: Likewise.
	* include/ext/pb_ds/trie_policy.hpp: Likewise.
	* include/ext/pb_ds/priority_queue.hpp: Likewise.
	* include/ext/throw_allocator.h: Likewis: Likewise.e.
	* include/ext/bitmap_allocator.h
	* include/ext/rc_string_base.h: Likewise.
	* include/ext/new_allocator.h: Likewise.
	* include/ext/codecvt_specializations.h: Likewise.
	* include/ext/functional: Likewise.: Likewise.
	* include/ext/array_allocator.h: Likewise.
	* include/ext/mt_allocator.h: Likewise.
	* include/ext/sso_string_base.h: Likewise.
	* include/profile/impl/profiler_trace.h: Likewise.
	* include/profile/impl/profiler_node.h: Likewise.
	* include/bits/stl_algobase.h: Likewise.
	* include/bits/functional_hash.h: Likewise.
	* include/bits/locale_facets.tcc: Likewise.
	* include/bits/locale_facets.h: Likewise.
	* include/bits/stl_iterator_base_types.h: Likewise.
	* include/bits/move.h: Likewise.
	* include/bits/boost_concept_check.h: Likewise.
	* include/bits/basic_string.tcc: Likewise.
	* include/bits/locale_facets_nonio.tcc: Likewise.
	* include/bits/fstream.tcc: Likewise.
	* include/bits/locale_facets_nonio.h: Likewise.
	* include/c_global/cstdlib: Likewise.
	* include/c_global/cstdio: Likewise.
	* include/c_global/ctime: Likewise.
	* include/c_global/cwchar: Likewise.
	* include/c_global/cstring
	* include/tr1/type_traits: Likewise.
	* include/backward/hash_fun.h: Likewise.
	* libsupc++/new: Likewise.
	* libsupc++/initializer_list: Likewise.
	* testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
	* testsuite/27_io/basic_iostream/cons/2020.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/overflow/char/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sputn/wchar_t/1057.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sputn/char/1057.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sputc/wchar_t/1057.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sputc/char/1057.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/5268.cc: Likewise.
	* testsuite/27_io/objects/char/9661-1.cc: Likewise.
	* testsuite/27_io/objects/char/5268.cc: Likewise.
	* testsuite/27_io/objects/char/10.cc: Likewise.
	* testsuite/27_io/basic_ios/copyfmt/char/1.cc: Likewise.
	* testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise.
	* testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
	* testsuite/27_io/basic_ios/locales/char/1.cc: Likewise.
	* testsuite/27_io/basic_ios/clear/char/1.cc: Likewise.
	* testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sputc/wchar_t/1057.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sputc/char/1057.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sputn/wchar_t/1057.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sputn/char/1057.cc: Likewise.
	* testsuite/27_io/basic_istream/get/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/ignore/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/peek/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/getline/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_other/wchar_t/
	exceptions_null.cc
	* testsuite/27_io/basic_istream/extractors_other/wchar_t/
	1.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_other/char/
	exceptions_null.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_other/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/cons/3.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/
	wchar_t/01.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/
	char/01.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_character/
	wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_character/
	wchar_t/2.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_character/
	wchar_t/3.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_character/
	char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_character/
	char/2.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_character/
	char/3.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_character/
	char/9826.cc: Likewise.
	* testsuite/27_io/basic_istream/read/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
	exceptions_null.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
	1.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/char/
	exceptions_null.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/char/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/cons/2020.cc: Likewise.
	* testsuite/27_io/basic_ostream/sentry/pod/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/
	wchar_t/8.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/
	char/8.cc: Likewise.
	* testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sputc/char/1057.cc: Likewise.
	* testsuite/27_io/basic_filebuf/open/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/open/char/2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc: Likewise.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc: Likewise.
	* testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc: Likewise.
	* testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
	* testsuite/27_io/basic_filebuf/close/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/close/char/2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/close/char/12790-3.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sputn/char/1057.cc: Likewise.
	* testsuite/24_iterators/ostreambuf_iterator/2.cc: Likewise.
	* testsuite/18_support/bad_exception/23591_thread-1.c
	* testsuite/18_support/new_delete_placement.cc: Likewise.
	* testsuite/18_support/pthread_guard.cc: Likewise.
	* testsuite/21_strings/basic_string/operations/wchar_t/1.cc: Likewise.
	* testsuite/21_strings/basic_string/operations/char/1.cc: Likewise.
	* testsuite/21_strings/basic_string/pthread4.cc: Likewise.
	* testsuite/21_strings/basic_string/cons/wchar_t/5.cc: Likewise.
	* testsuite/21_strings/basic_string/cons/char/5.cc: Likewise.
	* testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/mutex/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/mutex/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/thread/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/thread/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons/
	assign_neg.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons/
	copy_neg.cc: Likewise.
	* testsuite/ext/mt_allocator/22309_thread.cc: Likewise.
	* testsuite/ext/slist/23781.cc: Likewise.
	* testsuite/ext/rope/pthread7-rope.cc: Likewise.
	* testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise.
	* testsuite/22_locale/ctype/is/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/ctype/is/char/1.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/12439_1.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/12439_3.cc: Likewise.
	* testsuite/22_locale/locale/cons/2.cc: Likewise.
	* testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
	* testsuite/22_locale/locale/cons/29217.cc: Likewise.
	* testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise.
	* testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multimap/
	requirements/iterator_null_neg.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multiset/
	requirements/iterator_null_neg.cc: Likewise.
	* testsuite/29_atomics/atomic_address/cons/single_value.cc: Likewise.
	* testsuite/29_atomics/atomic_address/cons/aggregate.cc: Likewise.
	* testsuite/23_containers/multimap/23781.cc: Likewise.
	* testsuite/23_containers/set/23781.cc: Likewise.
	* testsuite/23_containers/multiset/23781.cc: Likewise.
	* testsuite/23_containers/list/pthread1.cc: Likewise.
	* testsuite/23_containers/list/23781.cc: Likewise.
	* testsuite/23_containers/map/pthread6.cc: Likewise.
	* testsuite/23_containers/map/23781.cc: Likewise.
	* testsuite/util/regression/rand/priority_queue/
	rand_regression_test.hpp: Likewise.
	* testsuite/util/regression/rand/priority_queue/
	container_rand_regression_test.tcc: Likewise.
	* testsuite/util/regression/rand/assoc/
	rand_regression_test.hpp: Likewise.
	* testsuite/util/regression/rand/assoc/
	container_rand_regression_test.tcc: Likewise.
	* testsuite/util/testsuite_hooks.cc: Likewise.
	* testsuite/util/testsuite_io.h: Likewise.
	* testsuite/util/testsuite_iterators.h: Likewise.
	* testsuite/util/replacement_memory_operators.h: Likewise.
	* testsuite/util/testsuite_allocator.h: Likewise.
	* testsuite/util/testsuite_performance.h: Likewise.

From-SVN: r160231
2010-06-03 19:15:56 +00:00
Paolo Carlini 1e2c0906ee basic_string.h (front, back): Add.
2010-05-31  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/basic_string.h (front, back): Add.
	* include/debug/string: Adjust.
	* include/ext/vstring.h (front, back): Tweak the implementation
	to follow more closely the letter of the specs.
	* testsuite/21_strings/basic_string/element_access/char/
	front_back.cc: New.
	* testsuite/21_strings/basic_string/element_access/wchar_t/
	front_back.cc: Likewise.
	* config/abi/pre/gnu.ver: Export new symbols.
	* testsuite/util/testsuite_abi.cc: Adjust.
	* configure.ac: Bump minor version to 6:15:0.
	* configure: Regenerate.

From-SVN: r160071
2010-05-31 14:14:42 +00:00
Paolo Carlini 882b3d5c2e [multiple changes]
2010-05-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/41792
	* include/tr1_impl/array: Use std::__addressof.
	* include/std/functional (reference_wrapper): Likewise.
	* include/ext/throw_allocator.h: Likewise.
	* include/ext/pool_allocator.h: Likewise.
	* include/ext/bitmap_allocator.h: Likewise.
	* include/ext/new_allocator.h: Likewise.
	* include/ext/malloc_allocator.h: Likewise.
	* include/ext/array_allocator.h: Likewise.
	* include/ext/mt_allocator.h: Likewise.
	* include/ext/extptr_allocator.h: Likewise.
	* include/bits/stl_list.h: Likewise.
	* include/bits/hashtable_policy.h: Likewise.
	* include/bits/forward_list.h: Likewise.
	* include/bits/stl_uninitialized.h: Likewise.
	* include/bits/list.tcc: Likewise.
	* include/bits/stl_construct.h: Likewise.
	* include/bits/stl_tree.h: Likewise.
	* testsuite/20_util/reference_wrapper/41792.cc: New.
	* testsuite/23_containers/unordered_map/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/multimap/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/set/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/unordered_set/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/vector/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/deque/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/multiset/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/list/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/map/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/array/requirements/
	explicit_instantiation/3.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/
	dr438/assign_neg.cc: Adjust dg-error line numbers.
	* testsuite/23_containers/forward_list/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	assign_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_2_neg.cc: Likewise.

2010-05-20  Peter Dimov  <pdimov@pdimov.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/move.h (__addressof, addressof): Add.
	* testsuite/util/testsuite_api.h (struct OverloadedAddress): Add.
	* testsuite/20_util/addressof/requirements/
	explicit_instantiation.cc: New.
	* testsuite/20_util/addressof/1.cc: Likewise.

From-SVN: r159643
2010-05-20 22:35:49 +00:00
Jason Merrill 67275575d2 gnu.ver: Move decltype(nullptr) into CXXABI_1.3.5.
* config/abi/pre/gnu.ver: Move decltype(nullptr) into CXXABI_1.3.5.
	* testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.5.

From-SVN: r159136
2010-05-06 17:59:37 -04:00
Fabien Chêne 6ad86a5b26 re PR c++/42844 (const variable requires initializer / no explicitly declared default constructor)
PR c++/42844
	* decl.c (check_for_uninitialized_const_var): Handle classes that need
	constructing, too.
	(check_initializer): Call it for classes that need constructing, too.
	* class.c (in_class_defaulted_default_constructor): New.
	* cp-tree.h: Declare it.

Co-Authored-By: Jason Merrill <jason@redhat.com>

From-SVN: r158797
2010-04-27 14:56:13 -04:00
Paolo Carlini 54add74038 testsuite_tr1.h (NType, [...]): Add.
2010-03-23  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/util/testsuite_tr1.h (NType, TType, SLType, PODType): Add.
	* testsuite/20_util/is_trivial/value.cc: Adjust.
	* testsuite/20_util/is_standard_layout/value.cc: Likewise.
	* testsuite/20_util/is_pod/value.cc: Likewise.

From-SVN: r157673
2010-03-23 15:20:29 +00:00
Paolo Carlini d723ced225 revert: PR libstdc++/41975, DR 579
2010-03-08  Paolo Carlini  <paolo.carlini@oracle.com>

	Revert:
	2010-02-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/41975, DR 579
	* include/bits/hashtable.h (_Hashtable<>::_M_erase_node): Remove.
	(erase(const_iterator), erase(const_iterator, const_iterator)):
	Change return type to void.
	* include/debug/unordered_map: Adjust.
	* include/debug/unordered_set: Likewise.
	* testsuite/util/exception/safety.h: Likewise.
	* testsuite/23_containers/unordered_map/erase/1.cc: Likewise.
	* testsuite/23_containers/unordered_map/erase/24061-map.cc: Likewise.
	* testsuite/23_containers/unordered_set/erase/1.cc:  Likewise.
	* testsuite/23_containers/unordered_set/erase/24061-map.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/erase/1.cc:  Likewise.
	* testsuite/23_containers/unordered_multimap/erase/24061-map.cc:
	Likewise.
	* testsuite/23_containers/unordered_multiset/erase/1.cc:  Likewise.
	* testsuite/23_containers/unordered_multiset/erase/24061-map.cc:
	Likewise.

From-SVN: r157300
2010-03-09 01:56:42 +00:00
Paolo Carlini 714902c8d4 testsuite_container_traits.h (traits_base): Add has_throwing_erase trait.
2010-03-04  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/util/testsuite_container_traits.h (traits_base): Add
	has_throwing_erase trait.
	(traits<vector>, traits<deque>): Typedef the latter to true_type.
	* testsuite/util/exception/safety.h (generation_prohibited):
	Do not test vector::erase and deque::erase: can throw if
	either copy constructor or assignment operator of value_type
	throws.
	* testsuite/23_containers/vector/requirements/exception/
	generation_prohibited.cc: Remove xfail.
	* testsuite/23_containers/deque/requirements/exception/
	generation_prohibited.cc: Likewise.

	* include/ext/throw_allocator.h (hash<__gnu_cxx::throw_value_limit>::
	operator(), hash<__gnu_cxx::throw_value_random>::operator()): Pass
	argument by const ref.

	* testsuite/util/testsuite_container_traits.h (traits<map>,
	traits<multimap>, traits<set>, traits<multiset>,
	traits<unordered_map>, traits<unordered_multimap>,
	traits<unordered_set>, traits<unordered_multiset>): Typedef
	consistently has_erase and has_insert as true_type.

	* testsuite/util/testsuite_container_traits.h
	(traits<unordered_map>, traits<unordered_multimap>,
	traits<unordered_set>, traits<unordered_multiset>): Do not wrongly
	typedef has_size_type_constructor as true_type: the constructor
	accepting a size_type actually gets the initial number of
	buckets.

From-SVN: r157239
2010-03-05 01:51:56 +00:00
Paolo Carlini cf9280bf7e array (array): Add pointer and const_pointer typedefs in C++0x mode, per DR 1306.
2010-02-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/tr1_impl/array (array): Add pointer and const_pointer
	typedefs in C++0x mode, per DR 1306.
	* testsuite/util/testsuite_containers.h (basic_types): Add pointer
	and const_pointer typedefs.
	(pointer_aware_types): Remove.
	* testsuite/util/testsuite_container_traits.h: Adjust.

From-SVN: r156906
2010-02-19 18:55:40 +00:00
Paolo Carlini 932b650839 PR libstdc++/41975, DR 579
2010-02-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/41975, DR 579
	* include/bits/hashtable.h (_Hashtable<>::_M_erase_node): Remove.
	(erase(const_iterator), erase(const_iterator, const_iterator)):
	Change return type to void.
	* include/debug/unordered_map: Adjust.
	* include/debug/unordered_set: Likewise.
	* testsuite/util/exception/safety.h: Likewise.
	* testsuite/23_containers/unordered_map/erase/1.cc: Likewise.
	* testsuite/23_containers/unordered_map/erase/24061-map.cc: Likewise.
	* testsuite/23_containers/unordered_set/erase/1.cc:  Likewise.
	* testsuite/23_containers/unordered_set/erase/24061-map.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/erase/1.cc:  Likewise.
	* testsuite/23_containers/unordered_multimap/erase/24061-map.cc:
	Likewise.
	* testsuite/23_containers/unordered_multiset/erase/1.cc:  Likewise.
	* testsuite/23_containers/unordered_multiset/erase/24061-map.cc:
	Likewise.

From-SVN: r156705
2010-02-11 18:11:01 +00:00
Paolo Carlini 3b2524b126 hashtable.h: Fold in include/tr1_impl/hashtable.h for C++0x use.
2010-02-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/hashtable.h: Fold in include/tr1_impl/hashtable.h
	for C++0x use.
	* include/bits/hashtable_policy.h: New, copy and adjust for
	C++0x use, include/tr1_impl/hashtable_policy.h; fix erase and
	insert member functions per n3000.
	* include/bits/unordered_map.h: Likewise for include/tr1_impl/
	unordered_map.
	* include/bits/unordered_set.h: Likewise for include/tr1_impl/
	unordered_set.
	* include/Makefile.am: Adjust.
	* include/Makefile.in: Regenerate.
	* include/tr1/unordered_map: Adjust.
	* include/tr1/unordered_set: Likewise.
	* include/tr1_impl/unordered_map: Adjust, now used only by tr1.
	* include/tr1_impl/hashtable: Likewise.
	* include/tr1_impl/hashtable_policy.h: Likewise.
	* include/tr1_impl/unordered_set: Likewise.
	* include/std/unordered_map: Adjust and simplify includes.
	* include/std/unordered_set: Likewise.
	* include/debug/unordered_map: Adjuse erase and insert members.
	* include/debug/unordered_set: Likewise.
	* include/profile/unordered_map: Likewise.
	* include/profile/unordered_set: Likewise.
	* testsuite/util/exception/safety.h: Fix for the updated erase and
	insert member functions of the unordered_containers.
	* testsuite/23_containers/unordered_map/erase/1.cc: New.
	* testsuite/23_containers/unordered_map/erase/24061-map.cc: Likewise.
	* testsuite/23_containers/unordered_map/insert/map_single.cc:
	Likewise.
	* testsuite/23_containers/unordered_map/insert/array_syntax.cc:
	Likewise.
	* testsuite/23_containers/unordered_map/insert/24061-map.cc: Likewise.
	* testsuite/23_containers/unordered_map/insert/map_range.cc: Likewise.
	* testsuite/23_containers/set/operators/1_neg.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/erase/1.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/erase/
	24061-multimap.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/insert/
	24061-multimap.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/insert/
	multimap_range.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/insert/
	multimap_single.cc: Likewise.
	* testsuite/23_containers/unordered_set/erase/1.cc: Likewise.
	* testsuite/23_containers/unordered_set/erase/24061-set.cc: Likewise.
	* testsuite/23_containers/unordered_set/insert/set_single.cc: Likewise.
	* testsuite/23_containers/unordered_set/insert/24061-set.cc: Likewise.
	* testsuite/23_containers/unordered_set/insert/set_range.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/erase/1.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/erase/
	24061-multiset.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/insert/
	24061-multiset.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/insert/
	multiset_range.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/insert/
	multiset_single.cc: Likewise.

	* testsuite/23_containers/set/operators/1_neg.cc: Tweak dg-errors
	to avoid spurious fails in debug-mode.
	* testsuite/23_containers/map/operators/1_neg.cc: Likewise.

From-SVN: r156661
2010-02-10 16:09:42 +00:00
Paolo Carlini 22977dce58 generation_prohibited.c: Remove, swap can indeed throw (DR 774).
2010-01-31  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/23_containers/array/requirements/exception/
	generation_prohibited.c: Remove, swap can indeed throw (DR 774).

	* testsuite/util/exception/safety.h (insert_base<__versa_string>): Fix.
	* testsuite/util/testsuite_container_traits.h
	(traits<__versa_string>): Enable insert tests.

2010-01-31  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.h (forward_list<>::insert_after
	(const_iterator, size_type, const _Tp&), insert_after(const_iterator,
	_InputIterator, _InputIterator), insert_after(const_iterator,
	std::initializer_list<>)): Fix return type per N3000.
	* testsuite/23_containers/forward_list/ext_pointer/modifiers/2.cc:
	Adjust.
	* testsuite/23_containers/forward_list/modifiers/2.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	assign_neg.cc: Adjust dg-error line numbers.
	* testsuite/23_containers/forward_list/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_2_neg.cc: Likewise.

From-SVN: r156419
2010-01-31 22:52:25 +00:00
Paolo Carlini 024615bfed testsuite_common_types.h (has_bitwise_operators): Avoid -Wall warnings.
2010-01-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/util/testsuite_common_types.h (has_bitwise_operators):
	Avoid -Wall warnings.

From-SVN: r156221
2010-01-25 23:25:48 +00:00
Benjamin Kosnik 3c0f2830ac PR libstdc++/21772 part 3
2009-12-31  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/21772 part 3
	* include/ext/throw_allocator.h: Add _GLIBCXX_IS_AGGREGATE.
	* testsuite/util/testsuite_container_traits.h (traits<std::map>):
	Add has_insert.
	(traits<std::multimap>): Add has_insert.
	(traits<std::multiset>): Add has_size_type_constructor.
	* testsuite/23_containers/array/requirements/exception/
	generation_prohibited.cc: New.
	* testsuite/21_strings/basic_string/requirements/exception/
	basic.cc: New.
	generation_prohibited.cc: New.
	propagation_consistent.cc: New.
	* testsuite/ext/vstring/requirements/exception/
	basic.cc: New.
	generation_prohibited.cc: New.
	propagation_consistent.cc: New.
	* testsuite/23_containers/unordered_map/requirements/exception/
	basic.cc: New.
	generation_prohibited.cc: New.
	propagation_consistent.cc: New.
	* testsuite/23_containers/multimap/requirements/exception/
	basic.cc: New.
	generation_prohibited.cc: New.
	propagation_consistent.cc: New.
	* testsuite/23_containers/set/requirements/exception/
	basic.cc: New.
	generation_prohibited.cc: New.
	propagation_consistent.cc: New.
	* testsuite/23_containers/unordered_multimap/requirements/exception/
	basic.cc: New.
	generation_prohibited.cc: New.
	propagation_consistent.cc: New.
	* testsuite/23_containers/forward_list/requirements/exception/
	basic.cc: New.
	generation_prohibited.cc: New.
	propagation_consistent.cc: New.
	* testsuite/23_containers/unordered_set/requirements/exception/
	basic.cc: New.
	generation_prohibited.cc: New.
	propagation_consistent.cc: New.
	* testsuite/23_containers/vector/requirements/exception/
	basic.cc: New.
	generation_prohibited.cc: New.
	propagation_consistent.cc: New.
	* testsuite/23_containers/deque/requirements/exception/
	basic.cc: New.
	generation_prohibited.cc: New.
	propagation_consistent.cc: New.
	* testsuite/23_containers/multiset/requirements/exception/
	basic.cc: New.
	generation_prohibited.cc: New.
	propagation_consistent.cc: New.
	* testsuite/23_containers/unordered_multiset/requirements/exception/
	basic.cc: New.
	generation_prohibited.cc: New.
	propagation_consistent.cc: New.
	* testsuite/23_containers/map/requirements/exception/
	basic.cc: New.
	generation_prohibited.cc: New.
	propagation_consistent.cc: New.

From-SVN: r155545
2010-01-01 03:38:58 +00:00
Paolo Carlini b0302c68d8 type_traits (__is_constructible_helper1): Rename to __is_constructible_helper1...
2009-12-31  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/type_traits (__is_constructible_helper1): Rename
	to __is_constructible_helper1, tweaked to a specialization of
	__is_constructible_helper.
	(is_constructible): Adjust; minor formatting and stylistic
	changes throughout.
	* testsuite/util/testsuite_tr1.h (test_relationship): Change
	variadic version to an overload of test_property.
	* testsuite/20_util/is_constructible/value.cc: Adjust.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
	Adjust dg-error line numbers.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.

From-SVN: r155536
2009-12-31 14:04:23 +00:00
Paolo Carlini 75995f3782 [multiple changes]
2009-12-30  Daniel Frey  <d.frey@gmx.de>
	    Paolo Carlini  <paolo.carlini@oracle.com>  

	* include/std/type_traits (is_explicitly_convertible,
	is_constructible): Add.
	* testsuite/util/testsuite_tr1.h (ExplicitClass): Add.
	* testsuite/20_util/is_explicitly_convertible/value.cc: New.
	* testsuite/20_util/is_constructible/value.cc: Likewise.

2009-12-30  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/util/testsuite_tr1.h (test_relationship): Add
	variadic version.
	* testsuite/20_util/is_explicitly_convertible/requirements/
	typedefs.cc: New.
	* testsuite/20_util/is_explicitly_convertible/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_constructible/requirements/typedefs.cc:
	Likewise.
	* testsuite/20_util/is_constructible/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_convertible/value.cc: Extend.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
	Adjust dg-error line numbers.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.

From-SVN: r155529
2009-12-30 23:22:58 +00:00
Benjamin Kosnik afd88205d8 atomic: Update to N3000.
2009-12-20  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/atomic: Update to N3000.
	* include/bits/atomic_0.h: Same.
	* include/bits/atomic_2.h: Same.
	* include/c_global/cstdatomic: Move...
	* include/bits/atomic_base.h: ...here.
	* include/c_compatibility/stdatomic.h: Just include atomic_base.h.
	* include/precompiled/stdc++.h: Adjust includes.
	* include/Makefile.am: Adjust files.
	* include/Makefile.in: Regenerate.
	* include/std/future: Adjust.
	* src/atomic.cc: Adjust, adjust exports for compatibility.
	* src/compatibility.cc: Move C++0x stuff...
	* src/compatibility-c++0x.cc: ...here.

	* doc/xml/manual/using.xml: Update.
	* doc/xml/manual/status_cxx200x.xml: Update.
	* doc/doxygen/user.cfg.in: Update.

	* testsuite/29_atomics/atomic_address/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic_address/cons/single_value.cc: Same.
	* testsuite/29_atomics/atomic_address/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic_address/cons/default.cc: Same.
	* testsuite/29_atomics/atomic_address/cons/aggregate.cc: Same.
	* testsuite/29_atomics/atomic_address/requirements/
	standard_layout.cc: Same.
	* testsuite/29_atomics/atomic_address/requirements/trivial.cc: Same.
	* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic_integral/cons/single_value.cc: Same.
	* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic_integral/cons/default.cc: Same.
	* testsuite/29_atomics/atomic_integral/cons/copy_list.cc: Same.
	* testsuite/29_atomics/atomic_integral/cons/direct_list.cc: Same.
	* testsuite/29_atomics/atomic_integral/requirements/
	standard_layout.cc: Same.
	* testsuite/29_atomics/atomic_integral/requirements/trivial.cc: Same.
	* testsuite/29_atomics/atomic_integral/operators/increment_neg.cc: Same.
	* testsuite/29_atomics/atomic_integral/operators/
	integral_assignment.cc: Same.
	* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: Same.
	* testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc: Same.
	* testsuite/29_atomics/atomic_integral/operators/increment.cc: Same.
	* testsuite/29_atomics/atomic_integral/operators/bitwise.cc: Same.
	* testsuite/29_atomics/atomic_integral/operators/decrement.cc: Same.
	* testsuite/29_atomics/atomic_integral/operators/
	integral_conversion.cc: Same.
	* testsuite/29_atomics/atomic_flag/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic_flag/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic_flag/cons/default.cc: Same.
	* testsuite/29_atomics/atomic_flag/cons/aggregate.cc: Same.
	* testsuite/29_atomics/atomic_flag/requirements/
	standard_layout.cc: Same.
	* testsuite/29_atomics/atomic_flag/requirements/trivial.cc: Same.
	* testsuite/29_atomics/atomic_flag/clear/1.cc: Same.
	* testsuite/29_atomics/atomic_flag/test_and_set/explicit.c
	* testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Same.
	* testsuite/29_atomics/atomic_flag/test_and_set/implicit.c
	* testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Same.
	* testsuite/29_atomics/headers/stdatomic.h/functions.c
	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic/cons/single_value.cc: Same.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic/cons/default.cc: Same.
	* testsuite/29_atomics/atomic/cons/copy_list.cc: Same.
	* testsuite/29_atomics/atomic/cons/direct_list.cc: Same.
	* testsuite/29_atomics/atomic/requirements/explicit_instantiation/
	1.cc: Same.
	* testsuite/29_atomics/atomic/requirements/base_classes.cc: Same.
	* testsuite/29_atomics/atomic/operators/integral_assignment.cc: Same.
	* testsuite/29_atomics/atomic/operators/integral_conversion.cc: Same.
	* testsuite/util/testsuite_common_types.h: Adjust.

	* testsuite/29_atomics/headers/cstdatomic: Move and adjust...
	* testsuite/29_atomics/headers/atomic: ...here.
	* testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Same.
	* testsuite/29_atomics/headers/atomic/functions_std_c++0x.cc: Same.
	* testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Same.
	* testsuite/29_atomics/headers/atomic/macros.cc: Same.

	* testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc: Add.
	* testsuite/29_atomics/atomic/cons/user_pod.cc: Add.

From-SVN: r155377
2009-12-21 19:00:34 +00:00
Benjamin Kosnik 5317914406 PR libstdc++/21772 part 2
2009-12-16  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/21772 part 2
	* doc/xml/manual/test.xml: Add documentation about testing details.
	* testsuite/util/exception/safety.h: New. Functor objects for
	testing C++0x container classes.
	* testsuite/util/testsuite_container_traits.h: Add traits.

	* testsuite/23_containers/list/requirements/exception/
	basic.cc: New.
	generation_prohibited.cc: New.
	propagation_consistent.cc: New.

From-SVN: r155306
2009-12-17 09:37:16 +00:00
Benjamin Kosnik 861de21eb2 PR libstdc++/21772 part 1
2009-12-15  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/21772 part 1
	* include/ext/throw_allocator.h: Rework.
	(__gnu_cxx::throw_allocator): To...
	(__gnu_cxx::throw_allocator_limit): ...this.
	(__gnu_cxx::throw_allocator_random): ...and this.
	(throw_value_base, throw_value_limit, throw_value_random): Add.
	(condition_base, random_condition, limit_condition): Add.
	(forced_exception_error): To...
	(forced_error): ...this.
	* testsuite/ext/throw_value: New.
	* testsuite/ext/throw_value/cons.cc: New.
	* testsuite/ext/throw_allocator/deallocate_global.cc: Adjust for
	throw_allocator, forced_exception_error changes.
	* testsuite/ext/throw_allocator/check_delete.cc: Same.
	* testsuite/ext/throw_allocator/check_allocate_max_size.cc: Same.
	* testsuite/ext/throw_allocator/check_deallocate_null.cc: Same.
	* testsuite/ext/throw_allocator/explicit_instantiation.cc: Same.
	* testsuite/ext/throw_allocator/check_new.cc: Same.
	* testsuite/ext/throw_allocator/variadic_construct.cc: Same.
	* testsuite/ext/throw_allocator/deallocate_local.cc: Same.
	* testsuite/23_containers/list/modifiers/insert/25288.cc: Same.
	* testsuite/23_containers/list/modifiers/insert/25288.h: Same.
	* testsuite/util/regression/common_type.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/
	container_rand_regression_test.tcc: Same.
	* testsuite/util/regression/rand/assoc/
	container_rand_regression_test.h: Same.
	* testsuite/util/regression/rand/assoc/
	container_rand_regression_test.tcc: Same.
	* testsuite/util/regression/basic_type.hpp: Same.

	* testsuite/ext/forced_exception_error/cons_virtual_derivation.cc: To...
	* testsuite/ext/forced_error/cons_virtual_derivation.cc: ...this, same.

From-SVN: r155283
2009-12-16 05:16:46 +00:00
Paolo Carlini 790ad3b5b4 testsuite_containers.h (populate<>::populate(_Tp&)): Avoid used uninitialized warning.
2009-12-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/util/testsuite_containers.h (populate<>::populate(_Tp&)):
	Avoid used uninitialized warning. 
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	constructor_destructor_fn_imps.hpp: Fix typo causing sequence point
	warning.

From-SVN: r155127
2009-12-10 13:17:56 +00:00
Benjamin Kosnik bf4967a1bd pool_allocator.cc: Adjust catch blocks.
2009-11-19  Benjamin Kosnik  <bkoz@redhat.com>

	* src/pool_allocator.cc: Adjust catch blocks.
	* src/bitmap_allocator.cc: Same.
	* src/localename.cc: Same.
	* src/ios.cc: Same.

	* libsupc++/cxxabi-forced.h: Adjust comments, markup.

	* testsuite/util/testsuite_hooks.h (copy_constructor::copyCount):
	Remove.
	(copy_constructor::dtorCount): Remove.
	* testsuite/23_containers/list/modifiers/1.h: Adjust.
	* testsuite/23_containers/list/modifiers/2.h: Same.
	* testsuite/23_containers/list/modifiers/3.h: Same.

From-SVN: r154341
2009-11-19 19:21:05 +00:00
Paolo Carlini 4a85780b75 re PR libstdc++/41622 ([DR 1245] [c++0x] std::hash<std::string>::operator() copies its argument)
2009-11-19  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/41622
	* include/bits/functional_hash.h: Implement inline the various
	std::hash specializations, using, when appropriate, pass by
	const ref too, per DR 1245.
	* include/tr1_impl/functional_hash.h: Remove, move its contents...
	* include/tr1/functional_hash.h: ... here.
	* include/std/functional: Tweak includes.
	* src/hash_c++0x: Rename to...
	* src/compatibility-c++0x.cc: ... this, implementing compatibility
	std::hash<>::operator() specializations.
	* src/hash.cc: Do not mark specializations as throw().
	* src/Makefile.am: Adjust.
	* include/Makefile.am: Likewise.
	* src/Makefile.in: Regenerate.
	* include/Makefile.in: Likewise.
	* testsuite/util/testsuite_api.h: Define a dummy hash for
	NonDefaultConstructible.
	* testsuite/23_containers/unordered_map/requirements/
	explicit_instantiation/2.cc: Use it.
	* testsuite/23_containers/unordered_multimap/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/23_containers/unordered_set/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/requirements/
	explicit_instantiation/2.cc: Likewise.

From-SVN: r154335
2009-11-19 16:55:25 +00:00
Jason Merrill fae927d3bd re PR c++/39131 (decimal float point: ICE on typeid( 0.dd ))
PR c++/39131
	* rtti.c (emit_support_tinfos): Add DFP types.
	* config/abi/pre/gnu.ver: Add DFP types.
	* testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.4.

From-SVN: r154113
2009-11-11 23:44:24 -05:00
Chris Jefferson 01bbe15104 testsuite_rvalref.h: Remove obsolete macro using _GLIBCXX_TESTSUITE_ALLOW_RVALREF_ALIASING.
2009-09-01  Chris Jefferson  <chris@bubblescope.net>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/util/testsuite_rvalref.h: Remove obsolete macro using
	_GLIBCXX_TESTSUITE_ALLOW_RVALREF_ALIASING.
	* testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
	move_iterators/1.cc: Adjust, do not define
	_GLIBCXX_TESTSUITE_ALLOW_RVALREF_ALIASING.
	* testsuite/20_util/specialized_algorithms/uninitialized_copy/
	move_iterators/1.cc: Likewise.
	* testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise.
	* testsuite/25_algorithms/move/1.cc: Likewise.
	* testsuite/25_algorithms/move_backward/1.cc: Likewise.
	* testsuite/25_algorithms/copy_backward/move_iterators/1.cc: Likewise.
	* testsuite/25_algorithms/copy/move_iterators/1.cc: Likewise.
	* testsuite/25_algorithms/heap/moveable.cc: Likewise.
	* testsuite/25_algorithms/partial_sort/moveable.cc: Likewise; add
	test for predicated test.
	* testsuite/25_algorithms/sort/moveable.cc: Likewise.
	* testsuite/25_algorithms/nth_element/moveable.cc: Add test
	for predicated version.
	* testsuite/25_algorithms/unique/moveable.cc: Likewise.

	* testsuite/25_algorithms/inplace_merge/1.cc (S::operator<): Fix,
	enable test2 and test3.

	* testsuite/util/testsuite_iterators.h (operator=): Fix invalid
	moving bug in C++0x mode.

	* testsuite/25_algorithms/random_shuffle/moveable.cc: New.
	* testsuite/25_algorithms/prev_permutation/moveable.cc: Likewise.
	* testsuite/25_algorithms/next_permutation/moveable.cc: Likewise.
	* testsuite/25_algorithms/heap/moveable2.cc: Likewise.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>

From-SVN: r151264
2009-09-01 10:19:11 +00:00
Chris Jefferson 55dd844556 move.h (_GLIBCXX_FORWARD): Add.
2009-08-29  Chris Jefferson  <chris@bubblescope.net>

	* include/bits/move.h (_GLIBCXX_FORWARD): Add.
	* include/bits/stl_uninitialized.h (__uninitialized_construct_range):
	Add.
	* include/bits/stl_tempbuf.h (_Temporary_buffer::
	_Temporary_buffer(_ForwardIterator, _ForwardIterator)): Use the latter.
	* include/bits/stl_construct.h (_Construct(_T1*, _T2&&)): Add in
	C++0x mode.
	* testsuite/util/testsuite_hooks.h (operator<(const copy_tracker&,
    	const copy_tracker&)): Add.
	* testsuite/25_algorithms/stable_partition/mem_check.cc: New.
	* testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise.

From-SVN: r151207
2009-08-29 19:27:05 +00:00
Jonathan Wakely 41bc3c4a82 re PR libstdc++/41005 ([C++0x] Unable to link fstream open and ctor with std::string argument.)
2009-08-26  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/41005
	* configure.ac: Bump libtool_VERSION to 6:14:0.
	* configure: Regenerate.
	* src/Makefile.am: Compile fstream-inst.cc as C++0x.
	* src/Makefile.in: Regenerate.
	* config/abi/pre/gnu.ver: Add new symbols and disambiguate old ones,
	move <future> symbols to 3.4.14 version.
	* testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.14 version.

From-SVN: r151126
2009-08-26 20:03:24 +01:00
Benjamin Kosnik 439a0f5a2a basic_string.h (basic_string): Add cbegin(), cend(), crbegin(), crend() in C++0x mode.
2009-08-25  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/basic_string.h (basic_string): Add cbegin(),
	cend(), crbegin(), crend() in C++0x mode.
	* config/abi/pre/gnu.ver: Add exports.

	* testsuite/util/testsuite_containers.h: New.
	* testsuite/util/testsuite_container_traits.h: New.
	* testsuite/21_strings/basic_string/requirements/citerators.cc: New.
	* testsuite/21_strings/basic_string/requirements/typedefs.cc: New.
	* testsuite/ext/vstring/requirements/citerators.cc: Edit.
	* testsuite/ext/vstring/requirements/typedefs.cc: New.
	* testsuite/23_containers/unordered_map/requirements/
	cliterators.cc: Edit.
	* testsuite/23_containers/unordered_map/requirements/
	citerators.cc: Edit.
	* testsuite/23_containers/unordered_map/requirements/
	explicit_instantiation/1.cc: New.
	* testsuite/23_containers/unordered_map/requirements/
	explicit_instantiation/2.cc: New.
	* testsuite/23_containers/unordered_map/requirements/
	explicit_instantiation/3.cc: New.
	* testsuite/23_containers/unordered_map/requirements/typedefs.cc: Edit.
	* testsuite/23_containers/unordered_map/requirements/
	explicit_instantiation.cc: Move to nested directory.
	* testsuite/23_containers/queue/requirements/typedefs.cc: New.
	* testsuite/23_containers/priority_queue/requirements/typedefs.cc: New.
	* testsuite/23_containers/multimap/requirements/citerators.cc: Edit.
	* testsuite/23_containers/multimap/requirements/typedefs.cc: New.
	* testsuite/23_containers/set/requirements/citerators.cc: Edit.
	* testsuite/23_containers/set/requirements/typedefs.cc: New.
	* testsuite/23_containers/unordered_multimap/requirements/
	cliterators.cc: Edit.
	* testsuite/23_containers/unordered_multimap/requirements/
	citerators.cc: Edit.
	* testsuite/23_containers/unordered_multimap/requirements/
	explicit_instantiation/1.cc: New.
	* testsuite/23_containers/unordered_multimap/requirements/
	explicit_instantiation/2.cc: Edit.: New.
	* testsuite/23_containers/unordered_multimap/requirements/
	explicit_instantiation/3.cc: New.
	* testsuite/23_containers/unordered_multimap/requirements/
	typedefs.cc: Edit.
	* testsuite/23_containers/unordered_multimap/requirements/
	explicit_instantiation.cc: Move to nested.
	* testsuite/23_containers/forward_list/requirements/citerators.cc: New.
	* testsuite/23_containers/forward_list/requirements/1.cc: Remove.
	* testsuite/23_containers/forward_list/requirements/dr438/
	insert_neg.cc: New.
	* testsuite/23_containers/forward_list/requirements/dr438/
	assign_neg.cc: New.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_1_neg.cc: New.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_2_neg.cc: New.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor.cc: New.
	* testsuite/23_containers/forward_list/requirements/typedefs.cc: New.
	* testsuite/23_containers/unordered_set/requirements/
	cliterators.cc: Edit.
	* testsuite/23_containers/unordered_set/requirements/
	citerators.cc: Edit.
	* testsuite/23_containers/unordered_set/requirements/
	explicit_instantiation/1.cc: New.
	* testsuite/23_containers/unordered_set/requirements/
	explicit_instantiation/2.cc: New.
	* testsuite/23_containers/unordered_set/requirements/
	explicit_instantiation/3.cc: New.
	* testsuite/23_containers/unordered_set/requirements/typedefs.cc: Edit.
	* testsuite/23_containers/unordered_set/requirements/
	explicit_instantiation.cc: Move to nested.
	* testsuite/23_containers/vector/requirements/citerators.cc: Edit.
	* testsuite/23_containers/vector/requirements/dr438/bool/
	constructor.cc: Move.
	* testsuite/23_containers/vector/requirements/typedefs.cc: New.
	* testsuite/23_containers/vector/bool/requirements/citerators.cc: Edit.
	* testsuite/23_containers/vector/bool/requirements/dr438/
	constructor.cc: New.
	* testsuite/23_containers/deque/requirements/citerators.cc: Edit.
	* testsuite/23_containers/deque/requirements/typedefs.cc
	* testsuite/23_containers/stack/requirements/typedefs.cc
	* testsuite/23_containers/multiset/requirements/citerators.cc: Edit.
	* testsuite/23_containers/multiset/requirements/typedefs.cc: New.
	* testsuite/23_containers/list/requirements/citerators.cc: Edit.
	* testsuite/23_containers/list/requirements/typedefs.cc: New.
	* testsuite/23_containers/unordered_multiset/requirements/
	cliterators.cc: Edit.
	* testsuite/23_containers/unordered_multiset/requirements/
	citerators.cc: Edit.
	* testsuite/23_containers/unordered_multiset/requirements/
	explicit_instantiation.cc: Move.
	* testsuite/23_containers/unordered_multiset/requirements/
	explicit_instantiation/1.cc: New.
	* testsuite/23_containers/unordered_multiset/requirements/
	explicit_instantiation/2.cc: New.
	* testsuite/23_containers/unordered_multiset/requirements/
	explicit_instantiation/3.cc: New.
	* testsuite/23_containers/unordered_multiset/requirements/typedefs.cc
	* testsuite/23_containers/map/requirements/citerators.cc: Edit.
	* testsuite/23_containers/map/requirements/typedefs.cc: New.
	* testsuite/23_containers/array/requirements/citerators.cc: Edit.
	* testsuite/23_containers/array/requirements/explicit_instantiation.cc:
	Move.
	* testsuite/23_containers/array/requirements/
	explicit_instantiation/1.cc: New.
	* testsuite/23_containers/array/requirements/
	explicit_instantiation/2.cc: New.
	* testsuite/23_containers/array/requirements/typedefs.cc: New.

From-SVN: r151106
2009-08-25 22:29:08 +00:00