Commit Graph

3854 Commits

Author SHA1 Message Date
Paolo Carlini
45d506995c stl_iterator.h (back_insert_iterator<>::operator= (typename _Container::value_type&&), [...]): Add.
2007-10-17  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_iterator.h (back_insert_iterator<>::operator=
	(typename _Container::value_type&&), front_insert_iterator<>::
	operator=(typename _Container::value_type&&), insert_iterator<>::
	operator=(typename _Container::value_type&&)): Add.

	* include/bits/stl_iterator.h (insert_iterator<>::operator=
	(typename _Container::const_reference)): Fix typo in signature.

From-SVN: r129413
2007-10-17 17:44:09 +00:00
Paolo Carlini
5f708c5444 array: Correct macro guarding cbegin, cend, crbegin, crend.
2007-10-17  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1_impl/array: Correct macro guarding cbegin, cend,
	crbegin, crend.
	* include/tr1_impl/hashtable: Likewise.

From-SVN: r129404
2007-10-17 09:45:04 +00:00
Paolo Carlini
07d8d70f3f vstring.h (__versa_string<>::front, [...]): Add.
2007-10-16  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/vstring.h (__versa_string<>::front, 
	__versa_string<>::back): Add.
	* testsuite/ext/vstring/element_access/char/front_back.cc: New.
	* testsuite/ext/vstring/element_access/wchar_t/front_back.cc: Likewise.

From-SVN: r129399
2007-10-17 00:46:27 +00:00
Paolo Carlini
7aa1cb97eb stl_queue.h (queue<>::queue(_Sequence&&), [...]): Add.
2007-10-16  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_queue.h (queue<>::queue(_Sequence&&),
	queue<>::queue(queue&&), queue<>::operator=(queue&&),
	queue<>::push(value_type&&), queue<>::swap(queue&&),
	swap(queue<>&, queue<>&), swap(queue<>&&, queue<>&),
	swap(queue<>&, queue<>&&), priority_queue<>::
	priority_queue(const _Compare&, _Sequence&&),
	priority_queue<>::priority_queue(_InputIterator, _InputIterator,
	const _Compare&, _Sequence&&),
	priority_queue<>::priority_queue(priority_queue&&),
	priority_queue<>::operator=(priority_queue&&),
	priority_queue<>::push(value_type&&),
	priority_queue<>::swap(priority_queue&&),
	swap(priority_queue<>&, priority_queue<>&),
	swap(priority_queue<>&&, priority_queue<>&),
	swap(priority_queue<>&, priority_queue<>&&)): Add.
	* include/bits/stl_stack.h (stack<>::stack(_Sequence&&),
	stack<>::push(value_type&&), stack<>::swap(stack&&),
	swap(stack<>&, stack<>&), swap(stack<>&&, stack<>&),
	swap(stack<>&, stack<>&&)): Add.
	* testsuite/23_containers/queue/moveable.cc: New.
	* testsuite/23_containers/priority_queue/moveable.cc: Likewise.

From-SVN: r129390
2007-10-16 21:54:41 +00:00
Paolo Carlini
053cc3801b vstring.h (__versa_string<>:: __versa_string(__versa_string&&), [...]): Add.
2007-10-16  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/vstring.h (__versa_string<>::
	__versa_string(__versa_string&&),
	__versa_string<>::operator=(__versa_string&&,
	swap(__versa_string<>&&, __versa_string<>&),
	swap(__versa_string<>(&, __versa_string<>&&)): Add.
	(__versa_string<>::swap(__versa_string&&)): Adjust for C++0x.
	* include/ext/sso_string_base.h
	(__sso_string_base(__sso_string_base&&)): Add.
	(__sso_string_base()): Use _Alloc_hider(_CharT*).
	* include/ext/rc_string_base.h (__rc_string_base(__rc_string_base&&)):
	Add.
	(__rc_string_base()): Use _Alloc_hider(_CharT*).
	* include/ext/vstring_util.h (_Alloc_hider::_Alloc_hider(_CharT*)):
	Add.
	* testsuite/ext/vstring/moveable.cc: Add.

	* include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Add.
	* include/bits/stl_map.h (map<>::map(map&&)): Forward to the latter.
	* include/bits/stl_set.h (set<>::set(set&&)): Likewise.
	* include/bits/stl_multimap.h (multimap<>::multimap(multimap&&)):
	Likewise.
	* include/bits/stl_multiset.h (multiset<>::multiset(multiset&&)):
	Likewise.
	* include/bits/stl_deque.h (_Deque_base<>::_Deque_base(_Deque_base&&)):
	Add.
	(deque<>::deque(deque&&)): Forward to the latter.
	* include/bits/stl_list.h (_List_base<>::_List_base(_List_base&&)):
	Add.
	(list<>::list(list&&)): Forward to the latter.
	* include/bits/stl_vector.h
	(_Vector_base<>::_Vector_base(_Vector_base&&)): Add.
	(vector<>::vector(vector&&)): Forward to the latter.
	* include/bits/stl_bvector.h
	(_Bvector_base<>::_Bvector_base(_Bvector_base&&)): Add.
	(vector<bool>::vector(vector&&)): Forward to the latter.

	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
	Adjust dg-error lines.
	* 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: r129381
2007-10-16 15:20:09 +00:00
Paolo Carlini
0cd50f8913 set.h (set<>::cbegin, [...]): Add.
2007-10-15  Paolo Carlini  <pcarlini@suse.de>

	* include/debug/set.h (set<>::cbegin, cend, crbegin, crend): Add.
	* include/debug/multiset.h (set<>::cbegin, cend, crbegin, crend):
	Likewise.
	* include/debug/vector (vector<>::cbegin, cend, crbegin, crend):
	Likewise.
	* include/debug/map.h (map<>::cbegin, cend, crbegin, crend):
	Likewise.
	* include/debug/deque (deque<>::cbegin, cend, crbegin, crend): 
	Likewise.
	* include/debug/list (list<>::cbegin, cend, crbegin, crend):
	Likewise.
	* include/debug/multimap.h (multimap<>::cbegin, cend, crbegin,
	crend): Likewise.
	* include/tr1_impl/array (array<>::cbegin, cend, crbegin, crend):
	Likewise.
	* include/ext/vstring.h (__versa_string<>::cbegin, cend, crbegin,
	crend): Likewise.
	* include/bits/stl_list.h (list<>::cbegin, cend, crbegin, crend):
	Likewise.
	* include/bits/stl_map.h (map<>::cbegin, cend, crbegin, crend):
	Likewise.
	* include/bits/stl_set.h (set<>::cbegin, cend, crbegin, crend):
	Likewise.
	* include/bits/stl_multimap.h (multimap<>::cbegin, cend, crbegin,
	crend): Likewise.
	* include/bits/stl_vector.h (vector<>::cbegin, cend, crbegin, crend):
	Likewise.
	* include/bits/stl_deque.h (deque<>::cbegin, cend, crbegin, crend):
	Likewise.
	* include/bits/stl_multiset.h (multiset<>::cbegin, cend, crbegin,
	crend): Likewise.
	* include/bits/stl_bvector.h (vector<bool>::cbegin, cend, crbegin,
	crend): Likewise.
	* include/tr1_impl/hashtable (_Hashtable<>::cbegin, cend): Add.	

	* testsuite/ext/vstring/requirements/citerators.cc: Add.
	* testsuite/23_containers/unordered_map/requirements/citerators.cc:
	Likewise.
	* testsuite/23_containers/multimap/requirements/citerators.cc:
	Likewise.
	* testsuite/23_containers/set/requirements/citerators.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/requirements/
	citerators.cc: Likewise.
	* testsuite/23_containers/unordered_set/requirements/citerators.cc:
	Likewise.
	* testsuite/23_containers/vector/requirements/citerators.cc: Likewise.
	* testsuite/23_containers/vector/bool/requirements/citerators.cc:
	Likewise.
	* testsuite/23_containers/deque/requirements/citerators.cc: Likewise.
	* testsuite/23_containers/multiset/requirements/citerators.cc:
	Likewise.
	* testsuite/23_containers/list/requirements/citerators.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/requirements/
	citerators.cc: Likewise.
	* testsuite/23_containers/map/requirements/citerators.cc: Likewise.
	* testsuite/23_containers/array/requirements/citerators.cc: Likewise.

	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
	Adjust dg-error lines.
	* 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: r129370
2007-10-15 20:51:53 +00:00
Paolo Carlini
488fa69898 PR libstdc++/33773 (cont)
2007-10-15  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/33773 (cont)
	* testsuite/21_strings/headers/cwchar/macros.cc: Guard with
	_GLIBCXX_USE_WCHAR_T, instead.

From-SVN: r129316
2007-10-15 13:43:33 +00:00
Paolo Carlini
5c7c209b1f re PR libstdc++/33771 (FAIL: 17_intro/headers/c++1998/all.cc (test for excess errors))
2007-10-15  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/33771
	PR libstdc++/33773
	* testsuite/21_strings/headers/cwchar/macros.cc: Guard test with
	_GLIBCXX_HAVE_WCHAR_H.
	* testsuite/21_strings/headers/cwctype/macros.cc: Likewise with
	_GLIBCXX_HAVE_WCTYPE_H.
	* testsuite/17_intro/headers/c++200x/all.cc: Guard inclusions
	of <wchar.h> and <wctype.h>.
	* testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc:
	Likewise.
	* testsuite/17_intro/headers/c++1998/all.cc: Likewise.
	* testsuite/17_intro/headers/c++1998/all_multiple_inclusion.cc:
	Likewise.

From-SVN: r129314
2007-10-15 09:34:56 +00:00
Paolo Carlini
4b7ed13a8f stl_algo.h (is_sorted, [...]): Add.
2007-10-14  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algo.h (is_sorted, is_sorted_until): Add.
	* include/bits/algorithmfwd.h: Add.
	* include/ext/algorithm: Adjust.
	* testsuite/25_algorithms/is_sorted/requirements/
	explicit_instantiation/2.cc: New.
	* testsuite/25_algorithms/is_sorted/requirements/
	explicit_instantiation/pod.cc: Likewise.
	* testsuite/25_algorithms/is_sorted/1.cc: Likewise.
	* testsuite/25_algorithms/is_sorted_until/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/25_algorithms/is_sorted_until/requirements/
	explicit_instantiation/pod.cc: Likewise.
	* testsuite/25_algorithms/is_sorted_until/1.cc: Likewise.
	* testsuite/25_algorithms/headers/algorithm/synopsis.cc:
	Add is_sorted and is_sorted_until.

	* include/bits/stl_heap.h (is_heap_until): Add concept and
	debug-mode checks.

From-SVN: r129303
2007-10-14 21:17:23 +00:00
Paolo Carlini
e69f1bad5d stl_heap.h (__is_heap_until): Add.
2007-10-12  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_heap.h (__is_heap_until): Add.
	(__is_heap(_RandomAccessIterator, _Distance),
	__is_heap(_RandomAccessIterator, _Compare, _Distance)):
	Adjust, call the latter.
	(is_heap, is_heap_until): Add, call the above.
	* include/bits/algorithmfwd.h: Add.
	* testsuite/25_algorithms/is_heap/requirements/
	explicit_instantiation/2.cc: New.
	* testsuite/25_algorithms/is_heap/requirements/
	explicit_instantiation/pod.cc: Likewise.
	* testsuite/25_algorithms/is_heap/1.cc: Likewise.
	* testsuite/25_algorithms/is_heap_until/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/25_algorithms/is_heap_until/requirements/
	explicit_instantiation/pod.cc: Likewise.
	* testsuite/25_algorithms/is_heap_until/1.cc: Likewise.
	* testsuite/25_algorithms/headers/algorithm/synopsis.cc:
	Add is_heap and is_heap_until.

From-SVN: r129266
2007-10-12 16:26:03 +00:00
Benjamin Kosnik
ece84738e7 user.cfg.in: Scan tr1_impl/hashtable.
2007-10-12  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/doxygen/user.cfg.in: Scan tr1_impl/hashtable.
	* include/tr1_impl/hashtable: Correct comment.

	* include/ext/hash_map: Remove extraneous public markers.
	* include/ext/hash_set: Same.

	* testsuite/25_algorithms/headers/parallel_algorithm.cc: Move
	inside algorithm directory.	
	* testsuite/25_algorithms/headers/algorithm_parallel_mode.cc: Same.
	* testsuite/25_algorithms/headers/parallel_algorithm_mixed1.cc: Same.
	* testsuite/25_algorithms/headers/parallel_algorithm_mixed2.cc: Same.
	* testsuite/25_algorithms/headers/algorithm/parallel_algorithm.cc:
	To this.	
	* testsuite/25_algorithms/headers/algorithm/
	algorithm_parallel_mode.cc: Same.
	* testsuite/25_algorithms/headers/algorithm/
	parallel_algorithm_mixed1.cc: Same.
	* testsuite/25_algorithms/headers/algorithm/
	parallel_algorithm_mixed2.cc: Same.

	* testsuite/21_strings/basic_string/requirements/
	explicit_instantiation/debug.cc: Remove exception text.
	
	* testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
	Fix for debug mode testing.	
	* testsuite/23_containers/vector/bool/capacity/29134.cc: Same.

From-SVN: r129264
2007-10-12 16:11:41 +00:00
Jesper Nilsson
1de1af77d6 20_riemann_zeta/check_value_neg.c (MAX_ITERATIONS): Add limit when target is simulator.
2007-10-12  Jesper Nilsson  <jesper.nilsson@axis.com>

       * testsuite/tr1/5_numerical_facilities/special_functions/
       20_riemann_zeta/check_value_neg.c (MAX_ITERATIONS): Add limit
       when target is simulator.
       * testsuite/tr1/5_numerical_facilities/special_functions/
       20_riemann_zeta/check_value_pos.c (MAX_ITERATIONS): Likewise.

From-SVN: r129258
2007-10-12 10:23:55 +00:00
Roger Sayle
8885751219 acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Add EOVERFLOW for Tru64.
* acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Add EOVERFLOW for Tru64.
	* configure: Regenerate.
	* config/os/generic/error_constants.h: Guard.
	* testsuite/19_diagnostics/headers/system_error/
	types_std_c++0x.cc: Same.

From-SVN: r129245
2007-10-11 23:22:22 +00:00
Benjamin Kosnik
0c3de9003f Convert ext/hash_map, set to tr1/functional, tr1/unordered_map, set.
2007-10-11  Benjamin Kosnik  <bkoz@redhat.com>

	Convert ext/hash_map, set to tr1/functional, tr1/unordered_map, set.
	* include/ext/rope: Use tr1/functional hash instead of ext/hash_fun.h.
	* include/ext/pb_ds/detail/standard_policies.hpp: Same.
	* include/precompiled/extc++.h: Remove hash_map, hash_set.
	* testsuite/util/testsuite_abi.h (__gnu_cxx): Use unordered_map
	instead of hash_map. Remove hash specialization for string.
	* testsuite/util/testsuite_abi.cc: Include <vector>.
	* testsuite/util/native_type/assoc/native_hash_set.hpp: Remove
	hash_set code.
	* testsuite/util/native_type/assoc/native_hash_map.hpp: Remove
	hash_map code.
	* testsuite/util/native_type/assoc/native_hash_multimap.hpp:
	Change hash_multimap to unordered_multimap.
	* testsuite/util/testsuite_common_types.h: Remove hash_map, hash_set.
	* testsuite/ext/headers.cc: Same.
	* testsuite/17_intro/headers/all_c++200x_compatibility.cc: Remove
	hash_map.h, hash_set.h.
	* testsuite/17_intro/headers/all.cc: Same.
	* testsuite/17_intro/headers/all_pedantic_errors.cc: Same.

	* include/ext/pb_ds/detail/standard_policies.hpp: Format.
	* testsuite/util/native_type/assoc/native_set.hpp: Same, 
	update comment.
	* testsuite/util/native_type/assoc/native_map.hpp: Same.
	* testsuite/util/native_type/assoc/native_multimap.hpp: Same.
	* testsuite/util/performance/assoc/timing/
	multimap_insert_test.hpp: Same.
	* testsuite/util/performance/assoc/timing/multimap_find_test.hpp: Same.

From-SVN: r129243
2007-10-11 21:48:54 +00:00
Chris Jefferson
d70e9d8156 stl_heap.h (__push_heap, [...]): Use _GLIBCXX_MOVE.
2007-10-11  Chris Jefferson  <chris@bubblescope.net>
	    Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_heap.h (__push_heap, push_heap, __adjust_heap,
	make_heap): Use _GLIBCXX_MOVE.
	(__pop_heap): Likewise, adjust signature.
	(pop_heap): Adjust __pop_heap call.
	* include/bits/stl_algo.h (__heap_select): Likewise.
	* testsuite/25_algorithms/heap/moveable.cc: Remove dg-require-rvalref.
	* testsuite/25_algorithms/partial_sort/moveable.cc: Likewise.

Co-Authored-By: Paolo Carlini <pcarlini@suse.de>

From-SVN: r129237
2007-10-11 17:56:31 +00:00
Paolo Carlini
5f23223201 re PR libstdc++/33734 (iconv_t must not be assumed to be a pointer)
2007-10-11  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/33734
	* include/ext/codecvt_specializations.h (encoding_state::good,
	init, destroy): Use cast notation instead of reinterpret_cast.

From-SVN: r129232
2007-10-11 10:50:09 +00:00
Paolo Carlini
a6bda7d08b moveable.cc: Fix and extend.
2007-10-11  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/25_algorithms/heap/moveable.cc: Fix and extend.

From-SVN: r129231
2007-10-11 10:04:55 +00:00
Danny Smith
cccc4450ce re PR libstdc++/33578 (__gnu_parallel::yield means what?)
PR libstdc++/33578
	* include/parallel/compatibility.h.  Use POSIX sched_yield on
	__CYGWIN__ 
	(Sleep): Add prototype for __MINGW32__.

From-SVN: r129219
2007-10-10 23:39:30 +00:00
Jason Merrill
b0bb87a862 guard.cc (struct mutex_wrapper): Move into anonymous namespace.
* libsupc++/guard.cc (struct mutex_wrapper): Move into
        anonymous namespace.

From-SVN: r129218
2007-10-10 19:06:08 -04:00
Paolo Carlini
cc8c030d88 list (list<>::list(list&&)): Fix.
2007-10-10  Paolo Carlini  <pcarlini@suse.de>

	* include/debug/list (list<>::list(list&&)): Fix.
	* include/debug/vector (vector<>::vector(vector&&)): Likewise.
	* include/debug/deque (deque<>::deque(deque&&)): Likewise.
	* include/debug/set.h (set<>::set(set&&)): Likewise.
	* include/debug/map.h (map<>::map(map&&)): Likewise.
	* include/debug/multiset.h (multiset<>::multiset(multiset&&)):Likewise.
	* include/debug/multimap.h (multimap<>::multimap(multimap&&)):Likewise.

From-SVN: r129213
2007-10-10 17:31:28 +00:00
Benjamin Kosnik
c456e6f17c re PR libstdc++/33633 (-D_GLIBCXX_DEBUG vs ext/hash_*)
2007-10-10  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/33633
	* include/debug/hash_multimap.h: Change _GLIBCXX_EXT to _GLIBCXX_EXT_D.
	* include/debug/hash_set.h: Same.
	* include/debug/hash_multiset.h: Same.
	* include/debug/hash_map.h: Same.

2007-10-10  Benjamin Kosnik  <bkoz@redhat.com>

	* include/parallel/losertree.h (loser_tree_traits_unguarded): To 
	loser_tree_unguarded_traits.
	* include/parallel/multiway_merge.h (__gnu_parallel): Same.

From-SVN: r129210
2007-10-10 15:23:59 +00:00
Paolo Carlini
e14e932bbb stl_algobase.h (swap): Move...
2007-10-10  Paolo Carlini  <pcarlini@suse.de>
	    Chris Fairles  <chris.fairles@gmail.com>

	* include/bits/stl_algobase.h (swap): Move...
	* include/bits/stl_move.h: ... here.
	* include/bits/stl_pair.h (pair<>::pair(_U1&&, _U2&&),
	pair<>::pair(pair<>&&), pair<>::operator=(pair<>&&),
	pair<>::swap(pair&&), swap(&, &), swap(&&, &), swap(&, &&),
	make_pair(_T1&&, _T2&&)): Add.
	* testsuite/20_util/pair/swap.cc: Add.

Co-Authored-By: Chris Fairles <chris.fairles@gmail.com>

From-SVN: r129198
2007-10-10 09:29:11 +00:00
Wolfgang Bangerth
c891154fad PR libstdc++/33485 continued.
2007-10-09  Wolfgang Bangerth  <bangerth@dealii.org>

	PR libstdc++/33485 continued.
	* include/parallel/multiway_mergesort.h: Use __builtin_alloca.

From-SVN: r129182
2007-10-09 21:51:06 +00:00
Zhou Drangon
3c8b6c602e re PR libstdc++/33682 (libstdc++ broken for !__GTHREAD_HAS_COND hosts)
2007-10-09  Zhou Drangon  <drangon.mail@gmail.com>

	PR libstdc++/33682
        * libsupc++/guard.cc: Make single conditional variable
        implementation dependent to __GTHREAD_HAS_COND.

From-SVN: r129181
2007-10-09 21:24:31 +00:00
Benjamin Kosnik
dfbed39786 PR libstdc++/33489 continued.
2007-10-09  Benjamin Kosnik  <bkoz@montsouris.artheist.org>

	PR libstdc++/33489 continued.		
	* include/parallel/features.h (_GLIBCXX_LOSER_TREE): Set to zero.
	(_GLIBCXX_LOSER_TREE_POINTER): Set to one.
	(_GLIBCXX_LOSER_TREE_UNGUARDED): Set to zero.
	(_GLIBCXX_LOSER_TREE_POINTER_UNGUARDED): Set to one.
	* include/parallel/multiway_merge.h (parallel_multiway_merge):
	Change array of value_type to array of value_type pointers.
 	(multiway_merge_bubble): Same.
	(multiway_merge_loser_tree): Same.
	* include/parallel/merge.h (merge_advance_movc): Change to avoid
	default construction.
	* include/parallel/multiseq_selection.h (multiseq_partition):
	Replace value_type, bool pair with value_type*, null-initialized.
	* include/parallel/multiway_mergesort.h (parallel_sort_mwms):
	Don't use array form of operator new for value_types.
	(parallel_sort_mwms_pu): Same.
	* include/parallel/quicksort.h (parallel_sort_qs_divide): Don't
	use array form to construct pointer to value_type on stack,
	instead use __builtin_alloca.	
	* include/parallel/random_shuffle.h (sequential_random_shuffle): Same,
	but use operator new.
	(parallel_random_shuffle_drs_pu): Same.
	* include/parallel/partial_sum.h ( parallel_partial_sum_linear): Same.

	* include/parallel/losertree.h: Format.
	* include/parallel/settings.h: Format.

	* include/parallel/multiway_merge.h: Move traits to....
	* include/parallel/losertree.h: ... here.

From-SVN: r129179
2007-10-09 20:48:38 +00:00
Paolo Carlini
beb1b47587 type_traitsfwd.h (add_reference): Remove.
2007-10-09  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1_impl/type_traitsfwd.h (add_reference): Remove.
	* include/tr1/type_traits (add_reference): Add forward declaration.
	* include/tr1_impl/functional (class _Mu<>): Fix.

From-SVN: r129171
2007-10-09 17:17:33 +00:00
Paolo Carlini
56a51b00a9 boost_concept_check.h (*AssociativeContainerConcept): Remove, unused.
2007-10-09  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/boost_concept_check.h (*AssociativeContainerConcept):
	Remove, unused.

From-SVN: r129165
2007-10-09 13:30:56 +00:00
Johannes Singler
0e6c9eaa5c base.h: Added plus and multiplies functor for differently typed objects.
2007-10-08  Johannes Singler  <singler@ira.uka.de>

	* include/parallel/base.h: Added plus and multiplies functor
       for differently typed objects.
	* include/parallel/numeric: Use it.
	* include/parallel/for_each_selectors.h: Allowed different types.
	* include/parallel/partial_sum.h: Fixed return value.
	* testsuite/26_numerics/accumulate/1.cc: Tests for accumulate.
	* testsuite/26_numerics/inner_product/1.cc: Tests for inner_product.

From-SVN: r129140
2007-10-08 21:14:45 +00:00
Paolo Carlini
d98f312ce6 stl_move.h (_GLIBCXX_MOVE): Add.
2007-10-08  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_move.h (_GLIBCXX_MOVE): Add.
	* include/bits/stl_algobase.h: Adjust.
	* include/bits/stl_pair.h: Likewise.

	* include/bits/stl_algo.h: Minor formatting fixes.

From-SVN: r129138
2007-10-08 20:02:11 +00:00
Benjamin Kosnik
a222efd88a re PR libstdc++/33489 (parallel v3: not default constructible issues)
2007-10-08  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/33489	
	* include/parallel/multiseq_selection.h: Remove default constructed
	value_type.
	* include/parallel/partition.h: 
	* include/parallel/partial_sum.h: Format.

From-SVN: r129132
2007-10-08 15:58:06 +00:00
Johannes Singler
1904bef10a parallel_mode.html: Added reference to MCSTL.
* docs/html/parallel_mode.html: Added reference to MCSTL.
        More documentation on compile-time settings and tuning.
        * include/parallel/multiway_merge.h: Added reference to paper.
        * include/parallel/multiseq_selection.h: Added reference to paper.
        * include/parallel/workstealing.h: Added reference to paper.
        * include/parallel/balanced_quicksort.h: Added reference to paper.
        * include/parallel/tree.h: Added reference to paper.

From-SVN: r129129
2007-10-08 15:17:28 +00:00
Paolo Carlini
6c5f0578d9 [multiple changes]
2007-10-08  Paolo Carlini  <pcarlini@suse.de>

	* include/std/utility (identity, move, forward): Move to...
	* include/bits/stl_move.h: ... here.
	* include/Makefile.am: Add.
	* include/bits/stl_algobase.h: Include the latter.
	* include/Makefile.in: Regenerate.
	* testsuite/20_util/pair/moveable.cc: Remove dg-require-rvalref.

2007-10-08  Chris Jefferson  <chris@bubblescope.net>
	    Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_pair.h (pair<>:pair(pair&&),
	pair<>::operator=(pair&&)): Add.

From-SVN: r129123
2007-10-08 11:16:51 +00:00
Chris Jefferson
ed540c0ab9 list (list<>::list(list&&), [...]): Add.
2007-10-07  Chris Jefferson  <chris@bubblescope.net>
	    Paolo Carlini  <pcarlini@suse.de>

	* include/debug/list (list<>::list(list&&),
	list<>::operator=(list&&)): Add.
	(list<>::swap): Adjust.
	(swap(list&&, list& __y), swap(list&, list&& __y)): Add.
	* include/debug/vector (vector<>::vector(vector&&),
	vector<>::operator=(vector&&)): Add.
	(vector<>::swap): Adjust.
	(swap(vector&&, vector& __y), swap(vector&, vector&& __y)): Add.
	* include/debug/deque (deque<>::deque(deque&&),
	deque<>::operator=(deque&&)): Add.
	(deque<>::swap): Adjust.
	(swap(deque&&, deque& __y), swap(deque&, deque&& __y)): Add.
	* include/debug/set.h (set<>::set(set&&),
	set<>::operator=(set&&)): Add.
	(set<>::swap): Adjust.
	(swap(set&&, set& __y), swap(set&, set&& __y)): Add.
	* include/debug/map.h (map<>::map(map&&),
	map<>::operator=(map&&)): Add.
	(map<>::swap): Adjust.
	(swap(map&&, map& __y), swap(map&, map&& __y)): Add.
	* include/debug/multiset.h (multiset<>::multiset(multiset&&),
	multiset<>::operator=(multiset&&)): Add.
	(smultiet<>::swap): Adjust.
	(swap(multiset&&, multiset& __y),
	swap(multiset&, multiset&& __y)): Add.
	* include/debug/multimap.h (multimap<>::multimap(multimap&&),
	multimap<>::operator=(multimap&&)): Add.
	(multimap<>::swap): Adjust.
	(swap(multimap&&, multimap& __y),
	swap(multimap&, multimap&& __y)): Add.

Co-Authored-By: Paolo Carlini <pcarlini@suse.de>

From-SVN: r129071
2007-10-07 16:33:59 +00:00
Paolo Carlini
3a6b0f5465 [multiple changes]
2007-10-07  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algobase.h (_GLIBCXX_MOVE): Add.
	(swap, __iter_swap): Use it.
	* testsuite/25_algorithms/rotate/moveable.cc: Remove dg-require-rvalref.
	* testsuite/25_algorithms/remove/moveable.cc: Likewise.
	* testsuite/25_algorithms/partition/moveable.cc: Likewise. 
	* testsuite/25_algorithms/swap_ranges/moveable.cc: Likewise.
	* testsuite/25_algorithms/reverse/moveable.cc: Likewise. 
	* testsuite/25_algorithms/unique/moveable.cc: Likewise. 
	* testsuite/25_algorithms/remove_if/moveable.cc: Likewise. 

	* include/bits/stl_algobase.h (lexicographical_compare):
	Clean up.

2007-10-07  Chris Jefferson  <chris@bubblescope.net>
	    Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algo.h (remove, remove_if, unique,
	__rotate(_RandomAccessIterator, _RandomAccessIterator,
	_RandomAccessIterator, random_access_iterator_tag)): Use _GLIBCXX_MOVE.
	(__rotate(_ForwardIterator, _ForwardIterator, _ForwardIterator,
	forward_iterator_tag), __rotate(_BidirectionalIterator,
	_BidirectionalIterator, _BidirectionalIterator,
	bidirectional_iterator_tag), __partition(_ForwardIterator,
	_ForwardIterator, _Predicate, forward_iterator_tag)): Use iter_swap.

From-SVN: r129068
2007-10-07 11:14:11 +00:00
Benjamin Kosnik
049d24222d re PR libstdc++/33678 (__do_catch, __do_upcast ABI change)
2007-10-06  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/33678	
	* libsupc++/typeinfo (typeinfo): Revert ordering of virtual components.

From-SVN: r129058
2007-10-06 23:40:32 +00:00
Benjamin Kosnik
6f95a65aa1 re PR libstdc++/33487 (parallel v3: more functions not in right namespace)
2007-10-06  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/33487
	* include/parallel/algorithmfwd.h (for_each, generate, generate_n,
	transform, replace, replace_if, max_element, min_element, count,
	count_if): Consistently construct overloads.
	* include/parallel/numericfwd.h (accumulate, adjacent_difference,
	inner_product): Same.
	* include/parallel/algobase.h: Same.
	* include/parallel/algo.h: Same.
	* include/parallel/numeric: Same.

	* include/bits/algorithmfwd.h: Correct find_end placement.

	* docs/html/parallel_mode.html: Document some of the interface
	conventions.

	* include/parallel/search.h (calc_borders): Only use operator ==.
	
	* include/parallel/algorithmfwd.h: Move __gnu_sequential bits to...
	* include/parallel/tags.h: ...here, and use a using directive.

	* include/parallel/random_shuffle.h: Include stl_numeric. Qualify
	uses of partial_num with __gnu_sequential.

	* include/parallel/tree.h: Formatting.

From-SVN: r129054
2007-10-06 15:08:58 +00:00
Benjamin Kosnik
6116ca65dd Fixes for --disable-libstdcxx-pch.
2007-10-05  Benjamin Kosnik  <bkoz@redhat.com>

	Fixes for --disable-libstdcxx-pch.
	* include/ext/rc_string_base.h: Include stl_iterator_base_funcs.h.
	* include/ext/vstring_util.h: Include stl_iterator.h and
	numeric_traits.h.
	* include/tr1/functional: Include new.
	* testsuite/util/testsuite_api.h: Include exception.
	* testsuite/lib/libstdc++.exp (libstdc++_init): Set
	PCH_CXXFLAGS via cxxpchflags.

	* testsuite/25_algorithms/binary_search/requirements/
	explicit_instantiation/2.cc: Same.: Fix includes.
	* testsuite/25_algorithms/count_if/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/equal_range/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/find_end/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/find_first_of/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/find_if/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/for_each/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/includes/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/inplace_merge/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/lexicographical_compare/
	requirements/explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/lower_bound/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/make_heap/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/max_element/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/max/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/merge/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/min_element/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/min/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/next_permutation/
	requirements/explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/nth_element/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/partial_sort_copy/
	requirements/explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/partial_sort/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/partition/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/pop_heap/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/prev_permutation/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/push_heap/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/random_shuffle/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/remove_copy_if/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/remove_if/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/replace_copy_if/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/replace_if/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/search_n/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/search/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/set_difference/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/set_intersection/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/set_symmetric_difference/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/set_union/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/sort_heap/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/sort/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/stable_partition/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/stable_sort/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/transform/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/unique_copy/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/unique/requirements/
	explicit_instantiation/2.cc: Same.
	* testsuite/25_algorithms/upper_bound/requirements/
	explicit_instantiation/2.cc: Same.

	* testsuite/25_algorithms/remove/requirements/
	explicit_instantiation/pod.cc: Provide a hint to the compiler.

From-SVN: r129049
2007-10-06 03:06:37 +00:00
Paolo Carlini
f63bc637f6 moveable.cc: Remove dg-require-rvalref.
2007-10-05  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/23_containers/map/moveable.cc: Remove dg-require-rvalref.
	* testsuite/23_containers/multimap/moveable.cc: Likewise.
	* testsuite/23_containers/set/moveable.cc: Likewise. 
	* testsuite/23_containers/multiset/moveable.cc: Likewise.
	* testsuite/23_containers/deque/moveable.cc: Likewise. 
	* testsuite/23_containers/list/moveable.cc: Likewise. 
	* testsuite/23_containers/vector/moveable.cc: Likewise. 
	* include/std/utility: Use _GLIBCXX_BEGIN_NAMESPACE.

2007-10-05  Paolo Carlini  <pcarlini@suse.de>
	    Chris Jefferson  <chris@bubblescope.net>

	* include/bits/stl_iterator.h (class move_iterator,
	make_move_iterator): Add.

Co-Authored-By: Chris Jefferson <chris@bubblescope.net>

From-SVN: r129048
2007-10-06 02:33:12 +00:00
Doug Kwan
afd82ef5ab gthr-posix.h (__gthread_cond_broadcast, [...]): Add to extend interface for POSIX conditional variables.
2007-09-13  Doug Kwan  <dougkwan@google.com>

        * gcc/gthr-posix.h (__gthread_cond_broadcast, __gthread_cond_wait,
        __gthread_cond_wait_recursive): Add to extend interface for POSIX
        conditional variables. (__GTHREAD_HAS_COND): Macro defined to signify
        support of conditional variables.
        * gcc/gthr-posix95.h (__gthread_cond_broadcast, __gthread_cond_wait,
        __gthread_cond_wait_recursive): Add to extend interface for POSIX
        conditional variables. (__GTHREAD_HAS_COND): Macro defined to signify
        support of conditional variables.
        * gcc/gthr-single.h (__gthread_cond_broadcast, __gthread_cond_wait,
        __gthread_cond_wait_recursive): Add to extend interface for POSIX
        conditional variables.
        * gcc/gthr.h: Update comments to document new interface.
        * libstdc++-v3/include/ext/concurrent.h (class __mutex,
        class __recursive_mutex): Add new method gthread_mutex to access
        inner gthread mutex.
        [__GTHREAD_HAS_COND] (class __concurrence_broadcast_error,
        class __concurrence_wait_error, class __cond): Add.
        * guard.cc (recursive_push, recursive_pop): Delete.
        (init_in_progress_flag, set_init_in_progress_flag): Add to
        replace recursive_push and recursive_pop.
        (throw_recursive_init_exception): Add.
        (acquire, __cxa_guard_acquire, __cxa_guard_abort and
        __cxa_guard_release): [__GTHREAD_HAS_COND] Use a conditional
        for synchronization of static variable initialization.
        The global mutex is only held briefly when guards are
        accessed. [!__GTHREAD_HAS_COND] Fall back to the old code,
        which deadlocks.
        * testsuite/thread/guard.cc: Add new test. It deadlocks with the
        old locking code in libstdc++-v3/libsup++/guard.cc.

From-SVN: r129030
2007-10-05 01:35:46 -04:00
Paolo Carlini
78b36b70be [multiple changes]
2007-10-04  Paolo Carlini  <pcarlini@suse.de>

	* 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.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
	Adjust dg-error line number.
	* 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:
	Adjust dg-error line number.
	* 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.

2007-10-04  Chris Jefferson  <chris@bubblescope.net>
	    Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_list.h (list<>::list(list&&),
	list<>::operator=(list&&)): Add.
	(list<>::swap): Adjust.
	(swap(list&&, list& __y), swap(list&, list&& __y)): Add.
	* include/bits/stl_vector.h (vector<>::vector(vector&&),
	vector<>::operator=(vector&&)): Add.
	(vector<>::swap): Adjust.
	(swap(vector&&, vector& __y), swap(vector&, vector&& __y)): Add.
	* include/bits/stl_bvector.h (vector<>::vector(vector&&),
	vector<>::operator=(vector&&)): Add.
	(vector<>::swap): Adjust.
	* include/bits/stl_deque.h (deque<>::deque(deque&&),
	deque<>::operator=(deque&&)): Add.
	(deque<>::swap): Adjust.
	(swap(deque&&, deque& __y), swap(deque&, deque&& __y)): Add.
	* include/bits/stl_set.h (set<>::set(set&&),
	set<>::operator=(set&&)): Add.
	(set<>::swap): Adjust.
	(swap(set&&, set& __y), swap(set&, set&& __y)): Add.
	* include/bits/stl_map.h (map<>::map(map&&),
	map<>::operator=(map&&)): Add.
	(map<>::swap): Adjust.
	(swap(map&&, map& __y), swap(map&, map&& __y)): Add.
	* include/bits/stl_multiset.h (multiset<>::multiset(multiset&&),
	multiset<>::operator=(multiset&&)): Add.
	(smultiet<>::swap): Adjust.
	(swap(multiset&&, multiset& __y),
	swap(multiset&, multiset&& __y)): Add.
	* include/bits/stl_multimap.h (multimap<>::multimap(multimap&&),
	multimap<>::operator=(multimap&&)): Add.
	(multimap<>::swap): Adjust.
	(swap(multimap&&, multimap& __y),
	swap(multimap&, multimap&& __y)): Add.

2007-10-04  Paolo Carlini  <pcarlini@suse.de>

	Avoid copying some allocator objects.
	* include/bits/stl_list.h (_List_impl::_List_impl(),
	_List_base::_List_base(), list<>::list()): Add.
	* include/bits/stl_vector.h  (_Vector_impl::_Vector_impl(),
	_Vector_base::_Vector_base(), vector<>::vector()): Add.
	* include/bits/stl_bvector.h (_Bvector_impl::_Bvector_impl(),
	_Bvector_base::_Bvector_base(), vector<>::vector()): Add.
	* include/bits/stl_deque.h  (_Deque_impl::_Deque_impl(),
	_Deque_base::_Deque_base(), deque<>::deque()): Add.
	* include/bits/stl_tree.h (_Rb_tree_impl<>::_Rb_tree_impl(),
	_Rb_tree_impl<>::_M_initialize): Add.
	(_Rb_tree<>::_Rb_tree(const _Compare&, const allocator_type&),
	_Rb_tree(const _Rb_tree&)): Adjust.
	* include/bits/stl_set.h (set<>::set(),
	set(_InputIterator, _InputIterator)): Use _M_t default constructor. 
	* include/bits/stl_map.h (map<>::map(), set(_InputIterator,
	_InputIterator)): Use _M_t default constructor. 
	* include/bits/stl_multiset.h (multiset<>::multiset(),
	multiset(_InputIterator, _InputIterator)): Use _M_t default
	constructor. 
	* include/bits/stl_multimap.h (multimap<>::multimap(),
	multimap(_InputIterator, _InputIterator)): Use _M_t default
	constructor.

From-SVN: r129013
2007-10-04 15:12:34 +00:00
Chris Jefferson
f5783e34f9 moveable.cc: New.
2007-10-03  Chris Jefferson  <chris@bubblescope.net>
	    Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/20_util/pair/moveable.cc: New. Merge from 
	libstdcxx_so_7-branch.
	* testsuite/23_containers/deque/capacity/moveable.cc: Same.
	* testsuite/23_containers/deque/cons/moveable.cc: Same.
	* testsuite/23_containers/deque/modifiers/moveable.cc: Same.
	* testsuite/23_containers/deque/moveable.cc: Same.
	* testsuite/23_containers/list/moveable.cc: Same.
	* testsuite/23_containers/map/moveable.cc: Same.
	* testsuite/23_containers/multimap/moveable.cc: Same.
	* testsuite/23_containers/multiset/moveable.cc: Same.
	* testsuite/23_containers/set/moveable.cc: Same.
	* testsuite/23_containers/vector/cons/moveable.cc: Same.
	* testsuite/23_containers/vector/modifiers/moveable.cc: Same.
	* testsuite/23_containers/vector/moveable.cc: Same.
	* testsuite/23_containers/vector/resize/moveable.cc: Same.
	* testsuite/25_algorithms/heap/moveable.cc: Same.
	* testsuite/25_algorithms/nth_element/moveable.cc: Same.
	* testsuite/25_algorithms/partial_sort/moveable.cc: Same.
	* testsuite/25_algorithms/partition/moveable.cc: Same.
	* testsuite/25_algorithms/remove_if/moveable.cc: Same.
	* testsuite/25_algorithms/remove/moveable.cc: Same.
	* testsuite/25_algorithms/reverse/moveable.cc: Same.
	* testsuite/25_algorithms/rotate/moveable.cc: Same.
	* testsuite/25_algorithms/sort/moveable.cc: Same.
	* testsuite/25_algorithms/swap_ranges/moveable.cc: Same.
	* testsuite/25_algorithms/unique/moveable.cc: Same.
	* testsuite/util/testsuite_rvalref.h: New.

	* testsuite/25_algorithms/equal/equal.cc: Move to...
	* testsuite/25_algorithms/equal/no_operator_ne.cc: ...this.
	* testsuite/25_algorithms/heap/heap.cc: Move to...
	* testsuite/25_algorithms/heap/1.cc: ...this.
	* testsuite/25_algorithms/lower_bound/lower_bound.cc: Move to...
	* testsuite/25_algorithms/lower_bound/no_operator_ne.cc: ...this.
	* testsuite/25_algorithms/partition/partition.cc: Move to...
	* testsuite/25_algorithms/partition/1.cc: ...this.
	* testsuite/25_algorithms/stable_partition/1.cc: ... and this.
	
	* testsuite/25_algorithms/search/1.cc: Update from merge.
	* testsuite/25_algorithms/search/check_type.cc: Same.

	* testsuite/lib/dg-options.exp (dg-require-rvalref): New.
	* testsuite/lib/libstdc++.exp (check_v3_target_rvalref): New.
	

Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>

From-SVN: r128990
2007-10-03 17:27:18 +00:00
Richard Sandiford
b6f914f633 no-executables.m4 (GCC_TRY_COMPILE_OR_LINK): New function.
config/
	* no-executables.m4 (GCC_TRY_COMPILE_OR_LINK): New function.
	libstdc++-v3/

libstdc++/
	* acinclude.m4 (GLIBCXX_ENABLE_C99): Temporarily add
	-fno-exceptions to CXXFLAGS.  Use GCC_TRY_COMPILE_OR_LINK.
	Make the tests assign results to volatile variables.  Use -lm
	for link tests in GCC_TRY_COMPILE_OR_LINK.  Fall back to
	compile-only tests if -lm is not available.
	* configure: Regenerate.

From-SVN: r128982
2007-10-03 14:16:57 +00:00
Paolo Carlini
f5ad31630d re PR libstdc++/33613 (compilation inconsistency upper_bound vs lower_bound with -D_GLIBCXX_DEBUG)
2007-10-03  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/33613
	* include/debug/functions.h (__check_partitioned): Rename to...
	(__check_partioned_lower): ... this.
	(__check_partioned_upper): Add.
	* include/debug/macros.h (__glibcxx_check_partitioned): Rename to...
	(__glibcxx_check_partitioned_lower): ... this, adjust.
	(__glibcxx_check_partitioned_upper): Add.
	* include/debug/debug.h (__glibcxx_requires_partitioned): Rename to...
	(__glibcxx_requires_partitioned_lower): ... this, adjust.
	(__glibcxx_requires_partitioned_upper): Add.
	* include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
	binary search): Use the above.
	* testsuite/25_algorithms/lower_bound/33613.cc: New.
	* testsuite/25_algorithms/upper_bound/33613.cc: Likewise.

From-SVN: r128974
2007-10-03 00:34:40 +00:00
Kazu Hirata
9e4e09166b revert: no-executables.m4 (GCC_TRY_COMPILE_OR_LINK): New function.
config/
	Revert:
	2007-10-02  Richard Sandiford  <richard@codesourcery.com>
	* no-executables.m4 (GCC_TRY_COMPILE_OR_LINK): New function.

libstdc++/
	Revert:
	2007-10-02  Richard Sandiford  <richard@codesourcery.com>
	* acinclude.m4 (GLIBCXX_ENABLE_C99): Temporarily add
	-fno-exceptions to CXXFLAGS.  Use GCC_TRY_COMPILE_OR_LINK.
	Make the tests assign results to volatile variables.
	* configure: Regenerate.

From-SVN: r128972
2007-10-03 00:25:22 +00:00
Richard Sandiford
b32265748a no-executables.m4 (GCC_TRY_COMPILE_OR_LINK): New function.
config/
	* no-executables.m4 (GCC_TRY_COMPILE_OR_LINK): New function.

libstdc++/
	* acinclude.m4 (GLIBCXX_ENABLE_C99): Temporarily add
	-fno-exceptions to CXXFLAGS.  Use GCC_TRY_COMPILE_OR_LINK.
	Make the tests assign results to volatile variables.
	* configure: Regenerate.

From-SVN: r128959
2007-10-02 17:25:18 +00:00
Benjamin Kosnik
506f93badb 2.cc: Split into...
2007-10-02  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/25_algorithms/binary_search/2.cc: Split into...
	* testsuite/25_algorithms/upper_bound/2.cc: ... this.
	* testsuite/25_algorithms/lower_bound/2.cc: ... this.
	* testsuite/25_algorithms/equal_range/2.cc: ... and this.
	* testsuite/25_algorithms/sort/vectorbool.cc: Add from
	libstdcxx_so_7-branch.

From-SVN: r128958
2007-10-02 16:07:01 +00:00
Jonathan Wakely
ee5ca78921 valarray-inst.cc, [...]: Fix comment typos.
* src/valarray-inst.cc, include/ext/atomicity.h,
	include/ext/concurrence.h, include/bits/basic_string.h,
	include/bits/fstream.tcc, include/ext/vstring.h: Fix comment typos.

From-SVN: r128915
2007-10-01 21:49:39 +01:00
Jonathan Wakely
1b54a3bb1b test.html, [...]: Update docs to refer to Subversion not CVS.
* docs/html/test.html, docs/html/ext/mt_allocator.html,
	docs/html/ext/tr1.html, docs/html/17_intro/contribute.html,
	docs/html/documentation.html, docs/html/20_util/allocator.html:
	Update docs to refer to Subversion not CVS. Fix markup.

From-SVN: r128914
2007-10-01 21:39:08 +01:00
Jonathan Wakely
96cbc7348f * docs/html/Makefile: Follow up to libstdc++/14991, remove target.
From-SVN: r128909
2007-10-01 20:55:41 +01:00
Benjamin Kosnik
18080e8e7a algorithmfwd.h: Spacing.
2007-09-28  Benjamin Kosnik  <bkoz@redhat.com>

	* include/parallel/algorithmfwd.h: Spacing.
	* include/parallel/tags.h: Correct comment.
	
	* testsuite/Makefile.am (AM_MAKEFLAGS, AM_RUNTESTFLAGS): Remove.
	* testsuite/Makefile.in: Regenerate.

From-SVN: r128869
2007-09-28 17:49:28 +00:00