Commit Graph

4300 Commits

Author SHA1 Message Date
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
Jonathan Wakely 677aad9c92 Makefile.am: Add new header.
2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/Makefile.am: Add new header.
	* include/Makefile.in: Regenerate.
	* include/std/scoped_allocator: New.
	* doc/xml/manual/status_cxx200x.xml: Update.
	* testsuite/20_util/scoped_allocator/1.cc: New.
	* testsuite/20_util/scoped_allocator/propagation.cc: New.
	* testsuite/20_util/scoped_allocator/requirements/typedefs.cc: New.
	* testsuite/20_util/scoped_allocator/requirements/
	explicit_instantiation.cc: New.

From-SVN: r176079
2011-07-09 14:45:56 +01: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
Jonathan Wakely d526242cd8 alloc_traits.h (__allocator_always_compares_equal): New trait, provide partial specializations for known allocators.
2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/ext/alloc_traits.h (__allocator_always_compares_equal): New
	trait, provide partial specializations for known allocators.
	(__alloc_traits::construct, __alloc_traits::destroy): Overload for
	non-standard pointer types.
	(__alloc_traits::_S_always_equal): New trait for use with noexcept.
	(__alloc_traits::_S_nothrow_move): Likewise.
	(__alloc_traits::_S_nothrow_swap): Likewise.

From-SVN: r176077
2011-07-09 13:48:32 +01:00
Jonathan Wakely eece716393 cast.h: Fix typo in include guard.
2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/ext/cast.h: Fix typo in include guard.
	* include/ext/pointer.h (_Unqualified_type): Remove redundant
	partial specializations for volatile types. Fix typos in comments.
	(pointer_traits<_Pointer_adaptor<Tp>>::pointer_to): Define.

From-SVN: r176075
2011-07-09 11:28:56 +01:00
Jonathan Wakely 4880236e3f re PR libstdc++/49668 ([C++0x] std::thread does not forward its args as rvalues)
2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/49668
	* include/std/functional (__bind_simple): Define.
	* include/std/future (_Task_setter): Parameterize by type of result
	pointer instead of state object.
	(_S_task_setter): Type deduction helper.
	(_Task_state): Use _S_task_setter and __bind_simple.
	(_Deferred_state, _Async_state): Store call wrapper directly not as
	std::function. Use _S_task_setter and __bind_simple.
	(_S_make_deferred_state, _S_make_async_state): Type deduction helpers.
	(async): Use new functions and __bind_simple.
	* include/std/mutex (call_once): Use __bind_simple.
	* include/std/thread (thread): Likewise. Remove unused headers.
	* src/thread.cc: Add header.
	* testsuite/30_threads/async/49668.cc: New.
	* testsuite/30_threads/call_once/49668.cc: New.
	* testsuite/30_threads/thread/cons/49668.cc: New.
	* testsuite/30_threads/thread/cons/moveable.cc: Remove unused bool.

From-SVN: r176073
2011-07-09 11:13:01 +01:00
Rainer Orth 00fc1bf6c7 configure.host (abi_baseline_subdir_switch): Describe.
* configure.host (abi_baseline_subdir_switch): Describe.
	Provide default.
	(*-*-solaris2.[89], *-*-solaris2.1[0-9]): Override.
	* acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Substitute
	baseline_subdir_switch.
	* testsuite/Makefile.am (site.exp): Emit it.
	(baseline_subdir): Use it.
	* testsuite/libstdc++-abi/abi.exp: Use it.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* doc/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* libsupc++/Makefile.in: Regenerate.
	* po/Makefile.in: Regenerate.
	* python/Makefile.in: Regenerate.
	* src/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

From-SVN: r176032
2011-07-08 08:49:57 +00:00
François Dumont 4c2d93dbfa set.h, [...]: Remove base class default constructor calls.
2011-06-29  François Dumont  <francois.cppdevs@free.fr>

	* include/debug/set.h, unordered_map, multiset.h, forward_list,
	unordered_set, vector, deque, string, list, multimap.h: Remove base
	class default constructor calls.
	* include/debug/map.h: Likewise and cleanup several redefinition of
	base iterator typedef.

From-SVN: r175665
2011-06-29 20:11:50 +00:00
Paolo Carlini 98656b3d14 pat_trie_base.hpp: Avoid -Wall warning.
2011-06-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp: Avoid -Wall
	warning.

From-SVN: r175321
2011-06-22 22:28:56 +00:00
Paolo Carlini bd9db3b8dd stl_construct.h: Update Copyright years.
2011-06-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_construct.h: Update Copyright years.
	* include/bits/stl_uninitialized.h: Likewise.

From-SVN: r175309
2011-06-22 20:27:21 +00:00
Jonathan Wakely e8eb60bd92 Makefile.am: Add alloc_traits.h headers.
2011-06-22  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/Makefile.am: Add alloc_traits.h headers.
	* include/Makefile.in: Regenerate.
	* include/std/memory: Include uses_allocator.h explicitly.
	* include/bits/allocator.h (allocator_traits): Move to ...
	* include/bits/alloc_traits.h: New header.
	* include/ext/alloc_traits.h (__alloc_traits): Extension to provide
	a common allocator interface for C++98 and C++0x.
	* include/bits/stl_construct.h: Use __alloc_traits.
	* include/bits/stl_uninitialized.h: Likewise.

From-SVN: r175305
2011-06-22 20:57:12 +01:00
Daniel Krugler ccb4f5a707 move.h (__is_nothrow_swappable): Add.
2011-06-22  Daniel Krugler  <daniel.kruegler@googlemail.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/move.h (__is_nothrow_swappable): Add.
	(swap(_Tp(&)[_Nm], _Tp(&)[_Nm])): Use noexcept.
	* include/bits/algorithmfwd.h: Adjust.
	* testsuite/25_algorithms/swap/noexcept.cc: New.


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

From-SVN: r175277
2011-06-21 23:01:03 +00:00
Daniel Krugler 6f17ef336c tuple (__conv_types, [...]): Add.
2011-06-20  Daniel Krugler  <daniel.kruegler@googlemail.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/tuple (__conv_types, __one_by_one_convertible,
	__all_convertible): Add.
	(tuple): Use the latter.
	(tuple<_T1>): Remove.
	* testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error
	line number.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.

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

From-SVN: r175204
2011-06-20 11:05:45 +00:00
Jonathan Wakely d2393b3adb ptr_traits.h (pointer_traits<T*>::pointer_to): Use noexcept.
2011-06-14  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/bits/ptr_traits.h (pointer_traits<T*>::pointer_to): Use
	noexcept.

From-SVN: r175057
2011-06-14 23:08:24 +01:00
Paolo Carlini 6a97dbf748 valarray (~valarray): Use noexcept.
2011-06-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/valarray (~valarray): Use noexcept.
	* include/bits/unique_ptr.h (~unique_ptr): Likewise.
	* testsuite/26_numerics/valarray/noexcept_move_construct.cc: New.
	* testsuite/20_util/shared_ptr/cons/noexcept_move_construct.cc:
	Likewise.
	* testsuite/20_util/unique_ptr/cons/noexcept_move_construct.cc:
	Likewise.
	* testsuite/20_util/weak_ptr/cons/noexcept_move_construct.cc:
	Likewise.

From-SVN: r175039
2011-06-14 17:48:29 +00:00
Paolo Carlini 6b14c6d7ff functional: Use noexcept.
2011-06-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/functional: Use noexcept.
	* include/bits/stl_tempbuf.h: Likewise.

From-SVN: r175026
2011-06-14 15:09:14 +00:00
François Dumont 8a752dfea6 allocator.h (__shrink_to_fit): Rename to __shrink_to_fit_aux, fix.
2011-06-12  François Dumont  <francois.cppdevs@free.fr>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/allocator.h (__shrink_to_fit): Rename to
	__shrink_to_fit_aux, fix.
	* include/bits/stl_vector.h (_M_shrink_to_fit): Declare.
	(shrink_to_fit): Use the latter.
	* include/debug/vector (shrink_to_fit): Likewise.
	* include/bits/vector.tcc (_M_shrink_to_fit): Define.
	* include/bits/stl_deque.h (_M_shrink_to_fit): Declare.
	(shrink_to_fit): Use the latter.
	* include/debug/deque (shrink_to_fit): Likewise.
	* include/bits/deque.tcc (_M_shrink_to_fit): Define.
	* include/bits/vector.tcc (vector<bool>::_M_reallocate): Add.
	* include/bits/stl_bvector.h (_M_shrink_to_fit): Declare.
	(shrink_to_fit): Use the latter.
	(reserve): Use _M_reallocate, move inline.
	(_Bvector_base<>::_S_nword): Add, use it throughout.
	* include/debug/string (shrink_to_fit): Redo.
	* include/ext/vstring.h (shrink_to_fit): Optimize.
	* include/bits/basic_string.h (shrink_to_fit): Likewise.
	* testsuite/21_strings/debug/shrink_to_fit.cc: New.
	* testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise.
	* testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc:
	Likewise.
	* testsuite/23_containers/vector/bool/capacity/shrink_to_fit.cc:
	Likewise.
	* testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.



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

From-SVN: r174967
2011-06-12 15:51:36 +00:00
Jonathan Wakely c51b58dc1f extptr_allocator.h (construct, destroy): Fix for C++0x mode by overloading to take allocator's pointer type.
2011-06-11  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/ext/extptr_allocator.h (construct, destroy): Fix for C++0x
	mode by overloading to take allocator's pointer type.
	* testsuite/23_containers/vector/ext_pointer/types/2.cc: New.
	* testsuite/23_containers/vector/ext_pointer/explicit_instantiation/
	2.cc: New.

From-SVN: r174958
2011-06-11 17:05:08 +01: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
Benjamin Kosnik 30a96b3b0c *: Doxygen markup redo.
2011-06-10  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/pb_ds/*: Doxygen markup redo.
	* include/Makefile.am: Fold in constructors_destructor_fn_imps.hpp.
	* include/Makefile.in: Regenerate.

From-SVN: r174917
2011-06-10 17:10:42 +00:00
Paolo Carlini 9b3a81dacd type_traits (__is_copy_assignable_impl, [...]): Fix typos.
2011-06-09  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/type_traits (__is_copy_assignable_impl,
	__is_nt_copy_assignable_impl): Fix typos.

From-SVN: r174840
2011-06-09 08:03:14 +00:00
Paolo Carlini 545dc5e324 extptr_allocator.h: Include <ext/numeric_traits.h> instead of <limits>.
2011-06-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/ext/extptr_allocator.h: Include <ext/numeric_traits.h>
	instead of <limits>.
	* include/bits/allocator.h: Likewise.

	* include/std/chrono (duration_values<>::min): Call lowest, not min.

From-SVN: r174805
2011-06-08 12:12:00 +00:00
Paolo Carlini 76aa78e9eb allocator.h (__shrink_to_fit): Simplify.
2011-06-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/allocator.h (__shrink_to_fit): Simplify.
	* include/bits/stl_vector.h (vector<>::shrink_to_fit): Adjust.
	* include/bits/stl_deque.h: Likewise.
	* include/bits/stl_bvector.h: Likewise.

From-SVN: r174802
2011-06-08 11:07:24 +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
Paolo Carlini 7aca3d94be move.h (move_if_noexcept): Use __and_ and __not_.
2011-06-06  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/move.h (move_if_noexcept): Use __and_ and __not_.

From-SVN: r174708
2011-06-06 16:39:29 +00:00
Jonathan Wakely 428319bb9a ptr_traits.h (pointer_traits): Fix typos.
2011-06-05  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/bits/ptr_traits.h (pointer_traits): Fix typos.
	* include/ext/pointer.h (pointer_traits): Add partial specialization
	for _Pointer_adapter.

From-SVN: r174661
2011-06-05 21:28:38 +01:00
Paolo Carlini 6f59ea252b hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)): Use std::move on the allocator, use noexcept.
2011-06-01  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)):
	Use std::move on the allocator, use noexcept.
	(_Hashtable<>::~_Hashtable): Use noexcept.
	* include/bits/stl_list.h: Likewise.
	* include/bits/forward_list.h: Likewise.
	* include/bits/stl_vector.h: Likewise.
	* include/bits/stl_bvector.h: Likewise.
	* include/bits/stl_map.h (map<>::map(map&&)): Use noexcept. 
	* include/bits/stl_set.h: Likewise.
	* include/bits/stl_multimap.h: Likewise.
	* include/bits/stl_multiset.h: Likewise.
	* include/bits/stl_tree.h (_Rb_tree<>::_Rb_tree(_Rb_tree&&)): Use
	std::move on the allocator.
	(_Rb_tree<>::~_Rb_tree): Use noexcept.
	* include/bits/stl_deque.h: Likewise.
	* include/bits/basic_string.h (basic_string<>::~basic_string): Use
	noexcept.
	* include/ext/vstring.h (__versa_string<>::~__versa_string): Likewise.
	* include/debug/set.h: Adjust.
	* include/debug/unordered_map: Likewise.
	* include/debug/multiset.h: Likewise.
	* include/debug/forward_list: 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.
	* include/profile/set.h: Likewise.
	* include/profile/unordered_map: Likewise.
	* include/profile/multiset.h: Likewise.
	* include/profile/forward_list: Likewise.
	* include/profile/unordered_set: Likewise.
	* include/profile/vector: Likewise.
	* include/profile/deque: Likewise.
	* include/profile/map.h: Likewise.
	* include/profile/list: Likewise.
	* include/profile/multimap.h: Likewise.
	* testsuite/21_strings/basic_string/cons/wchar_t/
	noexcept_move_construct.cc: New.
	* testsuite/21_strings/basic_string/cons/char/
	noexcept_move_construct.cc: Likewise.
	* testsuite/ext/vstring/cons/noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/unordered_map/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/multimap/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/set/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/unordered_set/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/vector/bool/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/vector/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/multiset/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/list/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/map/cons/noexcept_move_construct.cc
	* 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.

	* include/bits/move.h (swap): Use __and_ in the noexcept.
	* include/bits/algorithmfwd.h: Adjust.

From-SVN: r174525
2011-06-01 14:16:19 +00:00
Paolo Carlini cea8c6deef basic_string.h: Use noexcept per the FDIS (minus compare(const string&)...
2011-05-31  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/basic_string.h: Use noexcept per the FDIS (minus
	compare(const string&), which uses char_traits::compare, which
	isn't noexcept; also no noexcept in the move assignment operator
	and move assign, see c++std-lib-30855).
	* include/bits/basic_string.tcc: Likewise.
	* include/ext/vstring.h: Likewise.
	* include/ext/vstring.tcc: Likewise.
	* include/debug/string: Likewise.

From-SVN: r174479
2011-05-31 12:50:31 +00:00
Paolo Carlini dd7b175ec3 type_traits (__or_, __and_): Add trivial definitions for a single element.
2011-05-30  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/type_traits (__or_, __and_): Add trivial definitions
	for a single element.
	* include/bits/stl_pair.h: Use __and_ in noexcept specs and
	constraints.
	(pair<>::pair(pair&&)): Define.
	(pair<>::pair(const pair<>&)): Constrain with is_convertible.
	(pair<>::pair(pair<>&&)): Likewise, remove noexcept.
	* include/std/tuple: Use __and_ in noexcept specs and constraints.
	(_Tuple_impl<>::_Tuple_impl(allocator_arg_t, const _Alloc&,
	_Tuple_impl&&)): Remove noexcept.
	(tuple<>::tuple(_UElements&&...), tuple(const tuple<_UElements...>&),
	tuple(tuple<_UElements...>&&), tuple(const pair<_U1, _U2>&),
	tuple(pair<_U1, _U2>&&)): Constrain with is_convertible.
	* testsuite/20_util/tuple/moveable2.cc: Use = delete.
	* 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.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.

From-SVN: r174464
2011-05-31 02:29:22 +00:00
Jonathan Wakely 59d6607d6f tuple: Restore is_convertible constraint.
2011-05-31  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/tuple: Restore is_convertible constraint.
	* testsuite/20_util/tuple/cons/allocate_noncopyable.cc: Remove.

From-SVN: r174458
2011-05-31 00:46:13 +01:00
Jonathan Wakely b821466067 tuple: Implement uses-allocator construction.
2011-05-30  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/tuple: Implement uses-allocator construction.
	* include/bits/allocator.h (uses_allocator): Move to ...
	* include/bits/uses_allocator.h: New file.
	* include/Makefile.am: Add new header.
	* include/Makefile.in: Regenerate.
	* testsuite/20_util/uses_allocator/cons_neg.cc: New.
	* testsuite/20_util/uses_allocator/construction.cc: New.
	* testsuite/20_util/tuple/cons/allocate_noncopyable.cc: New.
	* testsuite/20_util/tuple/cons/allocators.cc: New.

From-SVN: r174443
2011-05-30 17:31:17 +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
Jonathan Wakely 45ba8f9f8f Makefile.am: Add new ptr_traits.h header.
2011-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/Makefile.am: Add new ptr_traits.h header.
	* include/Makefile.in: Regenerate.
	* include/bits/ptr_traits.h (pointer_traits): New.
	* include/bits/allocator.h (allocator_traits): Add.
	* include/ext/array_allocator.h (construct, destroy): Update C++0x
	versions.
	* include/ext/bitmap_allocator.h (construct, destroy): Likewise.
	* include/ext/extptr_allocator.h (construct, destroy): Likewise.
	* include/ext/malloc_allocator.h (construct, destroy): Likewise.
	* include/ext/mt_allocator.h (construct, destroy): Likewise.
	* include/ext/new_allocator.h (construct, destroy): Likewise.
	* include/ext/pool_allocator.h (construct, destroy): Likewise.
	* include/ext/throw_allocator.h (construct, destroy): Likewise.
	* testsuite/20_util/allocator_traits/requirements/typedefs.cc: New.
	* testsuite/20_util/allocator_traits/requirements/
	explicit_instantiation.cc: New.
	* testsuite/20_util/allocator_traits/members/max_size.cc: New.
	* testsuite/20_util/allocator_traits/members/select.cc: New.
	* testsuite/20_util/allocator_traits/members/construct.cc: New.
	* testsuite/20_util/allocator_traits/members/allocate_hint.cc: New.
	* testsuite/20_util/allocator_traits/members/destroy.cc: New.
	* testsuite/20_util/pointer_traits/requirements/typedefs.cc: New.
	* testsuite/20_util/pointer_traits/requirements/
	explicit_instantiation.cc: New.

From-SVN: r174380
2011-05-28 14:27:43 +01:00
Jonathan Wakely faa0051112 future (launch): Update enumerators and define operators required for bitmask type.
2011-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/future (launch): Update enumerators and define
	operators required for bitmask type. Remove trailing whitespace.
	* src/future.cc: Remove trailing whitespace.
	* testsuite/30_threads/async/any.cc: Adjust.
	* testsuite/30_threads/async/sync.cc: Adjust.
	* testsuite/30_threads/async/launch.cc: New.

From-SVN: r174374
2011-05-28 01:24:11 +01:00
Jonathan Wakely 84b63c01f8 future: Use noexcept.
2011-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/future: Use noexcept.
	* src/future.cc: Likewise.

From-SVN: r174368
2011-05-28 00:25:54 +01:00
Jonathan Wakely d112944143 thread (this_thread::sleep_until): Move after sleep_for.
2011-05-27  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/thread (this_thread::sleep_until): Move after sleep_for.

From-SVN: r174365
2011-05-27 22:37:53 +01:00
Paolo Carlini e330aa5b35 re PR libstdc++/49187 (parallel mode compilation broken - unqualified lookup? (bisected))
2011-05-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/49187
	* include/parallel/losertree.h: Add missing using declarations
	of _Base::_M_comp.
	* include/parallel/algobase.h: Include <parallel/algorithmfwd.h>.
	* include/parallel/multiway_merge.h: Include <parallel/
	multiseq_selection.h>, forward declare __merge_advance.
	* include/parallel/multiseq_selection.h: Don't include <parallel/
	sort.h> here.
	* include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp: Fix
	qualification of upper_bound.

	* testsuite/ext/pb_ds/regression/tree_no_data_map_rand_debug.cc:
	Use dg-require-debug-mode.
	* testsuite/ext/pb_ds/regression/tree_data_map_rand_debug.cc:
	Likewise.
	* testsuite/ext/pb_ds/regression/priority_queue_rand_debug.cc:
	Likewise.
	* testsuite/ext/pb_ds/regression/trie_no_data_map_rand_debug.cc:
	Likewise.
	* testsuite/ext/pb_ds/regression/trie_data_map_rand_debug.cc:
	Likewise.
	* testsuite/ext/pb_ds/regression/list_update_no_data_map_rand_debug.cc:
	Likewise.
	* testsuite/ext/pb_ds/regression/list_update_data_map_rand_debug.cc:
	Likewise.
	* testsuite/ext/pb_ds/regression/hash_no_data_map_rand_debug.cc:
	Likewise.
	* testsuite/ext/pb_ds/regression/hash_data_map_rand_debug.cc:
	Likewise.

	* include/parallel/algo.h: Minor uglification fixes.

From-SVN: r174342
2011-05-27 16:35:36 +00:00
Paolo Carlini d3677132a2 list.cc: Use noexcept per the FDIS.
2011-05-26  Paolo Carlini  <paolo.carlini@oracle.com>

	* src/list.cc: Use noexcept per the FDIS.
	* src/compatibility-list-2.cc: Likewise.
	* include/debug/set.h: Likewise.
	* include/debug/unordered_map: Likewise.
	* include/debug/multiset.h: Likewise.
	* include/debug/forward_list: Likewise.
	* include/debug/unordered_set: Likewise.
	* include/debug/vector: Likewise.
	* include/debug/map.h: Likewise.
	* include/debug/deque: Likewise.
	* include/debug/list: Likewise.
	* include/debug/multimap.h: Likewise.
	* include/profile/set.h: Likewise.
	* include/profile/unordered_map: Likewise.
	* include/profile/multiset.h: Likewise.
	* include/profile/forward_list: Likewise.
	* include/profile/vector: Likewise.
	* include/profile/unordered_set: Likewise.
	* include/profile/map.h: Likewise.
	* include/profile/deque: Likewise.
	* include/profile/list: Likewise.
	* include/profile/multimap.h: Likewise.
	* include/bits/hashtable.h: Likewise.
	* include/bits/stl_list.h: Likewise.
	* include/bits/stl_map.h: Likewise.
	* include/bits/hashtable_policy.h: Likewise.
	* include/bits/stl_set.h: Likewise.
	* include/bits/forward_list.h: Likewise.
	* include/bits/stl_multimap.h: Likewise.
	* include/bits/stl_vector.h: Likewise.
	* include/bits/stl_deque.h: Likewise.
	* include/bits/stl_multiset.h: Likewise.
	* include/bits/stl_bvector.h: Likewise.
	* include/bits/stl_tree.h: Likewise.

From-SVN: r174295
2011-05-26 15:35:02 +00:00
Paolo Carlini c688bbdd63 stl_queue.h: Use noexcept per the FDIS.
2011-05-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_queue.h: Use noexcept per the FDIS.
	* include/bits/stl_stack.h: Likewise.

From-SVN: r174254
2011-05-26 00:36:35 +00:00
Jonathan Wakely e06745c110 mutex: Add doxygen comments.
2011-05-26  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/mutex: Add doxygen comments.

From-SVN: r174244
2011-05-26 00:49:11 +01:00
Ian Lance Taylor 2b4e07b814 re PR libstdc++/49060 (use of deleted memory in __gnu_cxx::hashtable::erase)
PR libstdc++/49060
	* include/backward/hashtable.h (hashtable::erase): Don't crash if
	erasing first and another element with a reference to the other
	element.
	* testsuite/backward/hash_set/49060.cc: New.

From-SVN: r174240
2011-05-25 23:09:14 +00:00
Paolo Carlini deaf34a90b random.h (random_device::min, max): Specify constexpr.
2011-05-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.h (random_device::min, max): Specify constexpr.

From-SVN: r174219
2011-05-25 17:55:40 +00:00
Paolo Carlini 7f0d79d514 thread: Use noexcept throughout per the FDIS.
2011-05-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/thread: Use noexcept throughout per the FDIS.
	* include/std/mutex: Likewise.

From-SVN: r174202
2011-05-25 14:32:06 +00:00
Paolo Carlini b850be9d50 re PR libstdc++/49151 ([C++0x][constexpr] chrono::duration has incorrect non-member operator semantics)
2011-05-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/49151
	* include/std/chrono (operator+, operator-, operator*, operator/,
	operator&): Implement LWG 2020 [WP]; specify constexpr.
	* testsuite/20_util/duration/arithmetic/dr2020.cc: New.

From-SVN: r174150
2011-05-24 23:29:19 +00:00
Paolo Carlini 782378a6ae c++config (_GLIBCXX_NOTHROW): Update for noexcept.
2011-05-24  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/c++config (_GLIBCXX_NOTHROW): Update for noexcept.
	* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error
	line number.

From-SVN: r174107
2011-05-24 10:28:13 +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
Paolo Carlini 23e4c4eec2 streambuf_iterator.h: Use noexcept per the FDIS.
2011-05-23  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/streambuf_iterator.h: Use noexcept per the FDIS.
	(istreambuf_iterator<>::istreambuf_iterator(const
	istreambuf_iterator&),  ~istreambuf_iterator()): Add defaulted
	in C++0x mode.

From-SVN: r174094
2011-05-23 23:03:42 +00:00
Paolo Carlini 4702f095fa [multiple changes]
2011-05-22  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* testsuite/20_util/bind/cv_quals_2.cc: New.

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

	PR libstdc++/49058
	* include/std/functional (_Bind<_Functor(_Bound_args...)>::
	operator()(_Args&&...)): Don't cv qualify _Functor directly
	in the default template argument, SFINAE doesn't apply when
	the functor has no arguments.
	* testsuite/20_util/bind/49058_1.cc: New.
	* testsuite/20_util/bind/49058_2.cc: Likewise.

From-SVN: r174048
2011-05-23 00:05:24 +00:00
Paolo Carlini 525fe1cf88 unique_ptr.h: Use noexcept per the FDIS.
2011-05-21  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/unique_ptr.h: Use noexcept per the FDIS.

From-SVN: r174004
2011-05-21 21:50:39 +00:00
Paolo Carlini 2789f415a1 char_traits.h: Use noexcept throughout.
2011-05-20  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/char_traits.h: Use noexcept throughout.
	* include/std/typeindex: Likewise.

	* include/std/tuple (_Tuple_impl<>_Tuple_impl(_Tuple_impl&&)): Use
	noexcept; adjust callers.
	* include/bits/stl_pair.h (pair<>::pair(pair<>&&)): Use noexcept.
	* testsuite/20_util/tuple/cons/noexcept_move_construct.cc: New.
	* testsuite/20_util/pair/cons/noexcept_move_construct.cc: Likewise.
	* testsuite/20_util/pair/noexcept_swap.cc: Likewise.
	* testsuite/20_util/pair/noexcept_move_assign.cc: Likewise.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning
	line numbers.

From-SVN: r173986
2011-05-21 00:05:03 +00:00