Commit Graph

3387 Commits

Author SHA1 Message Date
Paolo Carlini
b96817da11 bitset (bitset<>::all): Add, per DR 693 [Ready].
2007-11-23  Paolo Carlini  <pcarlini@suse.de>

	* include/std/bitset (bitset<>::all): Add, per DR 693 [Ready].
	(_Base_bitset<>::_M_are_all_aux()): Add.
	* include/debug/bitset (bitset<>::all): Add.
	* testsuite/23_containers/bitset/all/1.cc: New.
	* docs/html/ext/howto.html: Add an entry for DR 693.
	
	* include/std/bitset (bitset<0>::set, reset, flip, test): Remove,
	not necessary anymore.

From-SVN: r130384
2007-11-23 22:14:56 +00:00
Paolo Carlini
360b7bffb1 stl_list.h (insert(iterator, value_type&&)): Just forward to emplace.
2007-11-23  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_list.h (insert(iterator, value_type&&)): Just
	forward to emplace.
	* include/bits/stl_vector.h (insert(iterator, value_type&&)): Likewise.
	* include/bits/stl_deque.h (insert(iterator, value_type&&)): Likewise.
	* include/debug/list (insert(iterator, value_type&&)): Likewise.
	* include/debug/vector (insert(iterator, value_type&&)): Likewise.
	* include/debug/deque (insert(iterator, value_type&&)): Likewise.
	* include/bits/list.tcc (insert(iterator, value_type&&)): Remove.
	* include/bits/vector.tcc (insert(iterator, value_type&&)): Likewise.
	* include/bits/deque.tcc (insert(iterator, value_type&&)): Likewise.
	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
	Adjust dg-error line number.
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
	Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* 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.

From-SVN: r130374
2007-11-23 11:49:07 +00:00
Paolo Carlini
02b27543b7 stl_tree.h (_Rb_tree<>::_Rb_tree_impl<, true>): Remove, identical in mainline to the primary template.
2007-11-22  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_tree.h (_Rb_tree<>::_Rb_tree_impl<, true>): Remove,
	identical in mainline to the primary template.

From-SVN: r130355
2007-11-22 18:54:36 +00:00
Johannes Singler
e683ee2a20 re PR libstdc++/33893 ([parallel mode] Algorithms rely on omp_set_dynamic(false))
2007-11-22  Johannes Singler  <singler@ira.uka.de>

        PR libstdc++/33893
        * include/parallel/multiway_merge.h: made omp_dynamic-safe
        * include/parallel/workstealing.h: made omp_dynamic-safe
        * include/parallel/base.h: infrastructure, cleanup
        * include/parallel/par_loop.h: made omp_dynamic-safe
        * include/parallel/features.h: activate loser tree variant
        * include/parallel/quicksort.h: made omp_dynamic-safe
        * include/parallel/compiletime_settings.h: settings overridable
        * include/parallel/equally_split.h: made omp_dynamic-safe
        * include/parallel/omp_loop_static.h: made omp_dynamic-safe
        * include/parallel/random_shuffle.h: made omp_dynamic-safe
        * include/parallel/balanced_quicksort.h: made omp_dynamic-safe
        * include/parallel/set_operations.h: made omp_dynamic-safe
        * include/parallel/unique_copy.h: made omp_dynamic-safe
        * include/parallel/multiway_mergesort.h: made omp_dynamic-safe
        * include/parallel/search.h: made omp_dynamic-safe
        * include/parallel/partition.h: made omp_dynamic-safe
        * include/parallel/partial_sum.h: made omp_dynamic-safe
        * include/parallel/find.h: made omp_dynamic-safe
        * include/parallel/omp_loop.h: made omp_dynamic-safe
        * include/parallel/losertree.h: avoid default constructor

From-SVN: r130347
2007-11-22 10:13:08 +00:00
Benjamin Kosnik
c60cd1dcf7 documentation.html: Validate.
2007-11-20  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/html/documentation.html: Validate. Add links to index,
	correct broken links.
	* docs/html/17_intro/C++STYLE: Add bits.
	* docs/html/17_intro/configury.html: Correct, update.
	* docs/html/17_intro/api.html: Correct HTML.

	* include/bits/stl_algobase.h: Adjust comment.

From-SVN: r130331
2007-11-21 16:37:26 +00:00
Paolo Carlini
f22aa574dc functional_hash.h: Do not include ext/numeric_traits.h.
2007-11-20  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/functional_hash.h: Do not include ext/numeric_traits.h.
	* include/tr1/functional_hash.h: Likewise.
	* include/std/functional: Include ext/type_traits.h.
	* include/tr1/functional: Likewise.

From-SVN: r130314
2007-11-20 14:06:53 +00:00
Paolo Carlini
a0ba4e53fd functional_hash.h (hash<long double>::operator()(long double)): Only declare.
2007-11-20  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1_impl/functional_hash.h
	(hash<long double>::operator()(long double)): Only declare.
	* src/hash.cc: Define here.
	* config/abi/pre/gnu.ver: Adjust exports.
	* include/tr1/functional: Do not include <cmath>.
	* include/std/functional: Likewise.

	* include/std/functional: Include <new>.

From-SVN: r130312
2007-11-20 12:34:44 +00:00
Paolo Carlini
3c27955364 type_traits (_DEFINE_SPEC_BODY): Remove.
2007-11-18  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits (_DEFINE_SPEC_BODY): Remove.
	(_DEFINE_SPEC_0_HELPER): Rename to _DEFINE_SPEC_HELPER.
	(_DEFINE_SPEC): Simplify; adjust uses.

From-SVN: r130273
2007-11-18 18:55:27 +00:00
Paolo Carlini
90b81c3306 type_traits (is_reference, [...]): Declare.
2007-11-18  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1_impl/type_traits (is_reference, is_function,
	remove_cv, is_member_pointer, remove_reference): Declare.
	* include/tr1_impl/type_traitsfwd.h: Remove.
	* include/Makefile.am: Adjust.
	* include/Makefile.in: Regenerate.

From-SVN: r130272
2007-11-18 18:05:42 +00:00
Paolo Carlini
478b2b9cb3 stl_algobase.h (struct __lexicographical_compare): Move to namespace std.
2007-11-16  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algobase.h (struct __lexicographical_compare):
	Move to namespace std.
	(__lexicographical_compare_aux<>(_II1, _II1, _II2, _II2)): Add.
	(lexicographical_compare<>(_II1, _II1, _II2, _II2)): Call the latter.

From-SVN: r130254
2007-11-17 00:32:29 +00:00
Paolo Carlini
de03de6403 stl_algobase.h (struct __lexicographical_compare): Add.
2007-11-16  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algobase.h (struct __lexicographical_compare): Add.
	(lexicographical_compare<>(_II1, _II1, _II2, _II2)): Use it.
	(lexicographical_compare(const unsigned char*, const unsigned char*,
	const unsigned char*, const unsigned char*),
	lexicographical_compare(const char*, const char*, const char*,
	const char*)): Remove.
	* include/ext/numeric_traits.h (__numeric_traits_floating<>::
	__is_signed): Add.

From-SVN: r130248
2007-11-16 23:41:55 +00:00
Paolo Carlini
c68e412864 locale_facets.tcc (__verify_grouping): Move...
2007-11-16  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (__verify_grouping): Move...
	* src/locale_facets.cc: ... here.
	* config/abi/pre/gnu.ver: Update exports.

From-SVN: r130233
2007-11-16 17:45:35 +00:00
Paolo Carlini
7f786096da istream.tcc (basic_istream<>::sentry:: sentry(basic_istream<>&, bool)): Explicitely convert to bool.
2007-11-15  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/istream.tcc (basic_istream<>::sentry::
	sentry(basic_istream<>&, bool)): Explicitely convert to bool.
	* include/bits/locale_facets.tcc (num_put<>::_M_insert_int(_OutIter,
	ios_base&, _CharT, _ValueT)): Likewise.
	* include/std/ostream (basic_ostream<>::sentry::~sentry): Likewise.

From-SVN: r130211
2007-11-15 22:59:12 +00:00
Paolo Carlini
4f39bf5c6b re PR libstdc++/34105 (Confusing error message with missing #include <algorithm>)
2007-11-15  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/34105
	* include/bits/stl_algobase.h: Do not include <bits/algorithmfwd.h>.
	(lexicographical_compare(const unsigned char*, const unsigned char*,
	const unsigned char*, const unsigned char*),
	lexicographical_compare(const char*, const char*, const char*,
	const char*)): Move to namespace (std, _GLIBCXX_STD_P).
	* include/parallel/algobase.h: Do not include <bits/algorithmfwd.h>.
	(equal): Move after mismatch.
	* include/bits/stl_heap.h (is_heap, is_heap_until): Reorder.
	* include/bits/char_traits.h: Include <bits/stl_algobase.h> instead
	of <bits/algorithmfwd.h>.
	* include/bits/stl_algo.h: Include first <bits/algorithmfwd.h>.
	* include/bits/algorithmfwd.h (lexicographical_compare): Do not
	declare overloads.
	* include/parallel/partition.h: Include <parallel/random_number.h>.
	* testsuite/util/testsuite_abi.cc: Include <algorithm>.

From-SVN: r130207
2007-11-15 19:05:17 +00:00
Johannes Singler
d76575caa5 multiway_merge.h: More robust finding of an arbitrary existing element inside the input sequences.
2007-11-14  Johannes Singler  <singler@ira.uka.de>

      * include/parallel/multiway_merge.h: More robust finding of an
        arbitrary existing element inside the input sequences.
      * include/bits/stl_algo.h: Fix typo to actually call appropriate
        sequential version.

From-SVN: r130183
2007-11-14 17:37:38 +00:00
Benjamin Kosnik
4dd9d9db1d documentation.html: First pass at unified table of contents.
2007-11-13  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/html/documentation.html: First pass at unified table of contents.
	* docs/html/abi.html: Move...
	* docs/html/17_intro/abi.html: ...here.
	* docs/html/17_intro/porting-howto.html: Update, edit, put
	resulting pieces into...
	* docs/html/17_intro/api.html: New.
	* docs/html/17_intro/c++0x_status.html: New.
	* docs/html/17_intro/CHECKLIST: Move to...
	* docs/html/17_intro/c++1998_status.html: ...here.
	* docs/html/ext/tr1.html: Move ...
	* docs/html/17_intro/tr1_status.html: ...here.
	* docs/html/debug_mode.html: Move...
	* docs/html/ext/debug_mode.html: ...here.
	* docs/html/parallel_mode.html: Move...
	* docs/html/ext/parallel_mode.html: ...here
	* docs/html/17_intro/BUGS: Remove.
	* docs/html/17_intro/concept_check.diff: Remove.
	* docs/html/17_intro/HEADER_POLICY: Remove.
	* docs/html/17_intro/headers_cc.txt: Remove.
	* docs/html/17_intro/PROBLEMS: Remove.
	* docs/html/17_intro/RELEASE-NOTES: Remove.
	* docs/html/explanations.html: Remove.
	* docs/html/makedoc.awk: Remove.
	* docs/html/faq/index.txt: Remove. HTML only.
	* /docs/html/Makefile: Remove.
	
	* docs/html/17_intro/configury.html: Editing, updating,
	consistency check with doxygen conventions. Change libstdc++-v3 to
	libstdc++.	
	* docs/html/17_intro/howto.html: Same.
	* docs/html/17_intro/license.html: Same.
	* docs/html/17_intro/porting.html: Same.
	* docs/html/18_support/howto.html: Same.
	* docs/html/19_diagnostics/howto.html: Same.
	* docs/html/20_util/allocator.html: Same.
	* docs/html/20_util/howto.html: Same.
	* docs/html/21_strings/howto.html: Same.
	* docs/html/22_locale/codecvt.html: Same.
	* docs/html/22_locale/ctype.html: Same.
	* docs/html/22_locale/howto.html: Same.
	* docs/html/22_locale/messages.html: Same.
	* docs/html/23_containers/howto.html: Same.
	* docs/html/24_iterators/howto.html: Same.
	* docs/html/25_algorithms/howto.html: Same.
	* docs/html/26_numerics/howto.html: Same.
	* docs/html/27_io/howto.html: Same.
	* docs/html/configopts.html: Same.
	* docs/html/debug.html: Same.
	* docs/html/ext/ballocator_doc.html: Same.
	* docs/html/ext/howto.html: Same.
	* docs/html/ext/mt_allocator.html: Same.
	* docs/html/ext/sgiexts.html: Same.
	* docs/html/faq/index.html: Same.
	* docs/html/install.html: Same.
	* docs/html/test.html: Same.
	
	* include/bits/c++config: Change _GLIBCXX_DEPRECATED to
	_GLIBCXX_DEPRECATED_ATTR, _GLIBCXX_VISIBILITY to
	_GLIBCXX_VISIBILITY_ATTR.	
	* include/backward/auto_ptr.h: Same.
	* include/backward/binders.h: Same.
	* include/bits/stl_function.h: Same.
	* include/std/memory: Same.
	* include/std/streambuf: Same.
	* include/tr1_impl/boost_shared_ptr.h: Same.
	* src/globals_io.cc: Same.
	* src/ios_init.cc: Same.

From-SVN: r130150
2007-11-13 17:43:57 +00:00
Paolo Carlini
b4d9ec93d6 deque.tcc (deque<>::_M_push_back_aux, [...]): Do not copy unnecessarily to __t_copy.
2007-11-13  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/deque.tcc (deque<>::_M_push_back_aux,
	_M_push_front_aux): Do not copy unnecessarily to __t_copy.

From-SVN: r130136
2007-11-13 11:35:56 +00:00
Chris Jefferson
7ffec97f9e stl_deque.h (deque<>::push_back<>(_Args...), [...]): Add.
2007-11-12  Chris Jefferson  <chris@bubblescope.net>
	    Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_deque.h (deque<>::push_back<>(_Args...),
	deque<>::push_front<>(_Args...), emplace<>(iterator, _Args...),
	insert(iterator, _Tp&&), _M_push_back_aux<>(_Args&&...),
	_M_push_front_aux<>(_Args&&...), _M_insert_aux<>(iterator,
	_Args&&...)): Add.
	* include/deque/deque.tcc (insert(iterator, value_type&&),
	emplace<>(iterator, _Args...), _M_push_back_aux<>(_Args&&...),
	_M_push_front_aux<>(_Args&&...), _M_insert_aux<>(iterator,
	_Args&&...)): Define.
	(_M_insert_aux(iterator, size_type, const value_type&),
	_M_insert_aux<>(iterator, _ForwardIterator, _ForwardIterator,
	size_type)): Use _GLIBCXX_MOVE3, _GLIBCXX_MOVE_BACKWARD3,
	__uninitialized_move*, __uninitialized_fill_move,
	__uninitialized_copy_move, when possible.
	* include/bits/stl_uninitialized.h (__uninitialized_copy_copy,
	__uninitialized_fill_copy, __uninitialized_copy_fill): Remove.
	(__uninitialized_copy_move, __uninitialized_move_copy,
	__uninitialized_move_fill, __uninitialized_fill_move): Add.
	* include/debug/deque (deque<>::push_back<>(_Args...),
	deque<>::push_front<>(_Args...), emplace<>(iterator, _Args...),
	insert(iterator, _Tp&&)): Add.
	* testsuite/23_containers/deque/modifiers/moveable.cc: Enable.
	* testsuite/23_containers/deque/capacity/moveable.cc: Likewise.
	* testsuite/23_containers/deque/cons/moveable.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
	Adjust dg-error line numbers.
	* 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.

	* include/debug/vector (vector<>::insert(iterator, _Tp&&)): Minor
	tweak, prefer std::move.

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

From-SVN: r130102
2007-11-12 16:01:09 +00:00
Howard Hinnant
c31ab059b6 stl_pair.h (pair<>::pair<>(_U1&&, _Arg0&&, _Args&&...)): Add.
2007-11-11  Howard Hinnant  <hhinnant@apple.com>

	* include/bits/stl_pair.h (pair<>::pair<>(_U1&&, _Arg0&&,
	_Args&&...)): Add.

From-SVN: r130085
2007-11-11 15:56:09 +00:00
Paolo Carlini
84237dbbf3 stl_list.h (list<>::_M_create_node<>(_Args&&...), [...]): Add.
2007-11-11  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_list.h (list<>::_M_create_node<>(_Args&&...),
	_M_insert<>(iterator, _Args&&...), push_front<>(_Args&&...),
	push_back<>(_Args&&...)): Add.
	(list<>::emplace<>(iterator, _Args&&...), insert(iterator,
	value_type&&)): Declare.
	(splice(iterator, list&&), splice(iterator, list&&, iterator),
	splice(iterator, list&&, iterator, iterator), merge(list&&),
	merge(list&&, _StrictWeakOrdering)): Add C++0x signatures.
	* include/bits/list.tcc (list<>::emplace<>(iterator, _Args&&...),
	insert(iterator, value_type&&)): Define.
	* include/debug/list (list<>::emplace<>(iterator, _Args&&...),
	insert(iterator, value_type&&)): Add.
	(splice(iterator, list&&), splice(iterator, list&&, iterator),
	splice(iterator, list&&, iterator, iterator), merge(list&&),
	merge(list&&, _StrictWeakOrdering)): Add C++0x signatures, use
	_GLIBCXX_MOVE.

From-SVN: r130082
2007-11-11 11:46:10 +00:00
Paolo Carlini
cbc6c888f9 stl_deque.h (deque<>::operator=(deque&&)): Implement resolution of DR 675, call clear first.
2007-11-09  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_deque.h (deque<>::operator=(deque&&)): Implement
	resolution of DR 675, call clear first.
	* include/bits/stl_list.h (list<>::operator=(list&&)): Likewise.
	* include/bits/stl_bvector.h (vector<bool>::operator=(vector&&)):
	Likewise.
	* include/bits/stl_vector.h (vector<>::operator=(vector&&)): Likewise.
	* include/bits/stl_map.h (map<>::operator=(map&&)): Likewise.
	* include/bits/stl_multimap.h (multimap<>::operator=(multimap&&)):
	Likewise.
	* include/bits/stl_multiset.h (multiset<>::operator=(multiset&&)):
	Likewise.
	* include/bits/stl_set.h (set<>::operator=(set&&)): Likewise.
	* include/debug/map.h (map<>::operator=(map&&)): Likewise.
	* include/debug/set.h (set<>::operator=(set&&)): Likewise.
	* include/debug/multimap.h (multimap<>::operator=(multimap&&)):
	Likewise.
	* include/debug/multiset.h (multiset<>::operator=(multiset&&)):
	Likewise.
	* include/debug/deque (deque<>::operator=(deque&&)): Likewise.
	* include/debug/list (list<>::operator=(list&&)): Likewise. 
	* include/debug/vector (vector<>::operator=(vector&&)): Likewise.
	* testsuite/23_containers/multimap/moveable.cc: Adjust.
	* testsuite/23_containers/multiset/moveable.cc: Likewise.
	* testsuite/23_containers/set/moveable.cc: Likewise.
	* testsuite/23_containers/map/moveable.cc: Likewise.
	* testsuite/20_util/pair/moveable.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
	Adjust dg-error line numbers.
	* 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.
 	* 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.

From-SVN: r130051
2007-11-09 17:18:10 +00:00
Paolo Carlini
ec01f29236 basic_file_stdio.cc (fopen_mode): Add modes missing per DR 596.
2007-11-08  Paolo Carlini  <pcarlini@suse.de>

	* config/io/basic_file_stdio.cc (fopen_mode): Add modes missing
	per DR 596.
	* testsuite/27_io/basic_filebuf/open/char/4.cc: Extend.
	* include/std/fstream: Update comment preceding open.
	* docs/html/ext/howto.html: Update.

From-SVN: r130004
2007-11-08 16:22:21 +00:00
Paolo Carlini
ce796131e1 type_traits (__decay_selector<_Up, [...]): Change according to DR 705.
2007-11-08  Paolo Carlini  <pcarlini@suse.de>

	* include/std/type_traits (__decay_selector<_Up, false, false>):
	Change according to DR 705.
	* include/bits/stl_pair.h (make_pair(_T1&&, _T2&&)): Change
	according to DR 706.
	* include/tr1_impl/tuple: Tweak.

From-SVN: r130001
2007-11-08 14:40:33 +00:00
Paolo Carlini
0a485bae9f vector (push_back, emplace): Fix signature typo.
2007-11-08  Paolo Carlini  <pcarlini@suse.de>

	* include/debug/vector (push_back, emplace): Fix signature typo.

From-SVN: r129996
2007-11-08 11:11:47 +00:00
Paolo Carlini
8e0775fb17 locale_facets.h (ctype<char>::taple, [...]): Implement trivial resolution of DR 695 [Ready].
2007-11-08  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.h (ctype<char>::taple, classic_table):
	Implement trivial resolution of DR 695 [Ready].
	* testsuite/22_locale/ctype/dr695.cc: New.
	* docs/html/ext/howto.html: Update.

From-SVN: r129995
2007-11-08 10:55:32 +00:00
Paolo Carlini
bd7d4f5fa1 complex (fabs): In C++0x mode adjust return type per DR 595 [Ready].
2007-11-07  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1_impl/complex (fabs): In C++0x mode adjust
	return type per DR 595 [Ready].

From-SVN: r129983
2007-11-08 02:48:25 +00:00
Paolo Carlini
1a1b20be14 stl_iterator.h (move_iterator<>::pointer): Adjust typedef per DR 680 [Ready].
2007-11-07  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_iterator.h (move_iterator<>::pointer): Adjust
	typedef per DR 680 [Ready].

From-SVN: r129959
2007-11-07 12:43:35 +00:00
Paolo Carlini
812e8c79b4 vector.tcc (vector<>::_M_insert_aux<>(iterator, _Args&&...)): In C++0x mode do not use temporary copies.
2007-11-06  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/vector.tcc (vector<>::_M_insert_aux<>(iterator,
	_Args&&...)): In C++0x mode do not use temporary copies.
	(insert(iterator, const value_type&)): Copy to a temporary
	when not reallocating.

	* include/bits/vector.tcc (insert(iterator, value_type&&)):
	Minor tweaks in C++0x mode.

From-SVN: r129954
2007-11-07 00:36:33 +00:00
Jonathan Wakely
3de36a09ac boost_shared_ptr.h: Avoid unnecessary memory barriers in _S_atomic case.
2007-11-06  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/tr1_impl/boost_shared_ptr.h: Avoid unnecessary memory
	barriers in _S_atomic case.

From-SVN: r129927
2007-11-06 14:28:28 +00:00
Chris Jefferson
6eef740212 stl_vector.h (vector<>::push_back<>(_Args...), [...]): Add.
2007-11-05  Chris Jefferson  <chris@bubblescope.net>
	    Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_vector.h (vector<>::push_back<>(_Args...),
	emplace<>(iterator, _Args...), insert(iterator, _Tp&&),
	_M_insert_aux<>(iterator, _Args&&...)): Add.
	* include/bits/vector.tcc (insert(iterator, value_type&&),
	emplace<>(iterator, _Args...), _M_insert_aux<>(iterator, _Args&&...)):
	Define.
	(_M_fill_insert(iterator, size_type, const value_type&),
	_M_range_insert(iterator, _ForwardIterator, _ForwardIterator,
	std::forward_iterator_tag)): Use __uninitialized_move_a,
	_GLIBCXX_MOVE_BACKWARD3 when possible.
	* include/bits/stl_uninitialized.h (__uninitialized_move_a): Add.
	* include/debug/vector (vector<>::push_back<>(_Args...),
	emplace<>(iterator, _Args...), insert(iterator, _Tp&&)): Add.
	* testsuite/23_containers/vector/modifiers/moveable.cc: Enable.
	* testsuite/23_containers/vector/resize/moveable.cc: Likewise.
	* testsuite/23_containers/vector/cons/moveable.cc: Likewise.
	* 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.

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

From-SVN: r129907
2007-11-05 19:46:07 +00:00
Paolo Carlini
202d1d5f54 random (variate_generator<>::min, [...]): Return non-trivial values when _Engine_result_type is a floating point type and...
2007-11-03  Paolo Carlini  <pcarlini@suse.de>
	    Kai-Uwe Bux  <bux@kubux.net>

	* include/tr1_impl/random (variate_generator<>::min, max,
	operator()()): Return non-trivial values when _Engine_result_type
	is a floating point type and result_type is an integer type.

Co-Authored-By: Kai-Uwe Bux <bux@kubux.net>

From-SVN: r129875
2007-11-03 23:27:55 +00:00
Paolo Carlini
f6547b6818 stl_algo.h (minmax, [...]): Add.
2007-11-02  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algo.h (minmax, minmax_element): Add.
	* include/bits/algorithmfwd.h: Update.
	* testsuite/25_algorithms/minmax/requirements/
	explicit_instantiation/2.cc: New.
	* testsuite/25_algorithms/minmax/requirements/
	explicit_instantiation/pod.cc: Likewise.
	* testsuite/25_algorithms/minmax/1.cc: Likewise.
	* testsuite/25_algorithms/minmax_element/check_type.cc: Likewise.
	* testsuite/25_algorithms/minmax_element/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/25_algorithms/minmax_element/requirements/
	explicit_instantiation/pod.cc: Likewise.
	* testsuite/25_algorithms/minmax_element/1.cc: Likewise.
	* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Update.

From-SVN: r129853
2007-11-02 15:55:32 +00:00
Johannes Singler
59b567fbca re PR libstdc++/33892 ([libstdc++ v3 parallel mode] Parallel mode algorithms use critical sections with global scope)
2007-11-02  Johannes Singler  <singler@ira.uka.de>

      PR libstdc++/33892

      * include/parallel/workstealing.h: Replaced pragma by function
        call lock.
      * include/parallel/search.h: Same
      * include/parallel/partition.h: Same
      * include/parallel/find.h: Same

From-SVN: r129852
2007-11-02 15:34:24 +00:00
Paolo Carlini
c54171fee6 stl_queue.h (queue<>::push(value_type&&)): Replace with "emplace" version per DR 756.
2007-10-31  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_queue.h (queue<>::push(value_type&&)): Replace
	with "emplace" version per DR 756.
	(priority_queue<>::push(value_type&&)): Likewise.
	* include/bits/stl_stack.h (stack<>::push(value_type&&)): Likewise.

From-SVN: r129814
2007-11-01 01:40:56 +00:00
Paolo Carlini
ebb82e2751 re PR libstdc++/33815 (tr1::uniform_int isn't uniform)
2007-10-19  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/33815
	* include/tr1_impl/random
	(uniform_int<>::_M_call(_UniformRandomNumberGenerator&, result_type,
	result_type, true_type)): Avoid the modulo (which uses the low-order
	bits).

From-SVN: r129769
2007-10-30 13:05:26 +00:00
Benjamin Kosnik
43c772540e Correct filename.
2007-10-30  Benjamin Kosnik  <bkoz@redhat.com>

	*docs/html/ext/pb_ds/multimap_text_insert_timing_test_small.html:
	Correct filename.	
	*docs/html/ext/pb_ds/multimap_text_find_timing_test_large.html: Same.
	*docs/html/ext/pb_ds/
	multimap_text_insert_mem_usage_test_small.html: Same.
	*docs/html/ext/pb_ds/multimap_text_insert_timing_test_large.html: Same.
	*docs/html/ext/pb_ds/
	multimap_text_insert_mem_usage_test_large.html: Same.
	*docs/html/ext/pb_ds/multimap_text_find_timing_test_small.html: Same.

2007-10-30  Benjamin Kosnik  <bkoz@redhat.com>
	
	*include/Makefile.am (PCHFLAGS): Remove -Wno-deprecated.
	*include/Makefile.in: Regenerate.
	
	*include/std/memory: Remove extraneous include.

From-SVN: r129765
2007-10-30 05:25:33 +00:00
Benjamin Kosnik
40abbf1f17 c++config (_GLIBCXX_DEPRECATED, [...]): New.
2007-10-29  Benjamin Kosnik  <bkoz@redhat.com>
 
	* include/bits/c++config (_GLIBCXX_DEPRECATED,
	_GLIBCXX_USE_DEPRECATED): New. Adjust comments.
	* include/bits/stl_auto_ptr.h: Move...
	* includse/backward/auto_ptr.h: ...here.
	* include/bits/stl_function.h (binder1st, binder2nd, bind1st,
	bind2nd): Move...
	* include/backward/binders.h: ...here. Deprecate in C++0x.

	* include/tr1_impl/boost_shared_ptr.h: Guard auto_ptr usage.
	* include/std/memory: Same.
	* include/std/streambuf: Consistent use of _GLIBCXX_USE_DEPRECATED.

	* include/backward/strstream: Fix guard macros.
	* include/backward/backward_warning.h: Adjust for all new items.

	* config/abi/pre/gnu.ver: Export basic_streambuf::stossc.
	
	* include/Makefile.am (backward_headers): Adjust.
	* include/Makefile.in: Regenerate.
	* configure: Regenerate.

From-SVN: r129733
2007-10-29 21:13:23 +00:00
Benjamin Kosnik
04d053492e Makefile.am (ext_compat_headers): New.
2007-10-29  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am (ext_compat_headers): New.
	* include/Makefile.in: Regenerate.
	* configure: Regenerate.

From-SVN: r129728
2007-10-29 20:20:11 +00:00
Paolo Carlini
245a5fe5c0 stl_algobase.h (_GLIBCXX_MOVE3, [...]): Add.
2007-10-28  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algobase.h (_GLIBCXX_MOVE3,
	_GLIBCXX_MOVE_BACKWARD3): Add.
	* include/bits/stl_iterator.h (_GLIBCXX_MAKE_MOVE_ITERATOR): Add.
	* include/bits/vector.tcc (vector<>::reserve): Use the latter.
	(vector<>::erase): Use _GLIBCXX_MOVE3.
	* include/bits/deque.tcc (deque<>::erase): Use _GLIBCXX_MOVE3
	and _GLIBCXX_MOVE_BACKWARD3.
	* testsuite/23_containers/vector/modifiers/erase/moveable.cc: New.
	* testsuite/23_containers/vector/capacity/reserve/moveable.cc: New.
	* testsuite/23_containers/deque/modifiers/erase/moveable.cc: New.

From-SVN: r129714
2007-10-29 01:59:49 +00:00
Paolo Carlini
e85b4fa7b5 stl_uninitialized.h (uninitialized_copy): Use ::new and value_type per the letter of the standard.
2007-10-28  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_uninitialized.h (uninitialized_copy): Use
	::new and value_type per the letter of the standard.
	* testsuite/20_util/specialized_algorithms/uninitialized_copy/
	move_iterators/1.cc: New.

	* testsuite/20_util/specialized_algorithms/16505.cc: Move to...
	* testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
	16505.cc: ... here.
	* testsuite/20_util/specialized_algorithms/32158.cc: Move to...
	* testsuite/20_util/specialized_algorithms/uninitialized_fill/
	32158.cc: ... here.

	* include/bits/stl_construct.h (_Construct(_T1*)): Remove, unused.

From-SVN: r129698
2007-10-28 16:03:06 +00:00
Paolo Carlini
f0112db9b3 stl_algobase.h (struct __miter_base): Add.
2007-10-27  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algobase.h (struct __miter_base): Add.
	(__copy_move_a2, __copy_move_backward_a2): Add.
	(copy, copy_backward, move, move_backward): Adjust, call *a2 helpers.
	* include/bits/cpp_type_traits.h (struct __is_move_iterator): Add.
	* include/bits/streambuf_iterator.h (__copy_move_a<>): Rename
	to __copy_move_a2.
	* include/std/streambuf (friend __copy_move_a<>): Likewise.
	* testsuite/25_algorithms/copy/move_iterators/1.cc: New.
	* testsuite/25_algorithms/copy_backward/move_iterators/1.cc: Likewise.

	* include/bits/stl_iterator.h (__normal_iterator<>::_Iterator_type):
	Rename to iterator_type.

From-SVN: r129678
2007-10-27 12:07:04 +00:00
Paolo Carlini
61fcb9fb0c throw_allocator.h (throw_allocator<>:: construct<>(pointer, _Args&&...)): Add.
2007-10-26  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/throw_allocator.h (throw_allocator<>::
	construct<>(pointer, _Args&&...)): Add.
	* include/ext/pool_allocator.h (__pool_alloc<>::
	construct<>(pointer, _Args&&...)): Likewise.
	(construct(pointer, const _Tp&)): Cast pointer to void*. 
	* include/ext/bitmap_allocator.h (bitmap_allocator<>::
	construct<>(pointer, _Args&&...)): Add.
	(construct(pointer, const _Tp&)): Cast pointer to void*.
	* include/ext/new_allocator.h (new_allocator<>::
	construct<>(pointer, _Args&&...)): Add.
	(construct(pointer, const _Tp&)): Cast pointer to void*.
	* include/ext/malloc_allocator.h (malloc_allocator<>::
	construct<>(pointer, _Args&&...)): Add.
	(construct(pointer, const _Tp&)): Cast pointer to void*.
	* include/ext/array_allocator.h (array_allocator<>::
	construct<>(pointer, _Args&&...)): Add.
	(construct(pointer, const _Tp&)): Cast pointer to void*.
	* include/ext/mt_allocator.h (__mt_alloc<>::
	construct<>(pointer, _Args&&...)): Add.
	(construct(pointer, const _Tp&)): Cast pointer to void*.
	* testsuite/util/testsuite_allocator.h (tracker_allocator<>::
	construct<>(pointer, _Args&&...)): Add.
	(construct(pointer, const _Tp&)): Cast pointer to void*.
 	(uneq_allocator<>::construct<>(pointer, _Args&&...)): Add.
	(construct(pointer, const _Tp&)): Cast pointer to void*.
	* testsuite/ext/mt_allocator/variadic_construct.cc: New.
	* testsuite/ext/new_allocator/variadic_construct.cc: Likewise.
	* testsuite/ext/throw_allocator/variadic_construct.cc: Likewise.
	* testsuite/ext/malloc_allocator/variadic_construct.cc: Likewise.
	* testsuite/ext/pool_allocator/variadic_construct.cc: Likewise.
	* testsuite/ext/bitmap_allocator/variadic_construct.cc: Likewise.
	* testsuite/ext/array_allocator/variadic_construct.cc: Likewise.

From-SVN: r129672
2007-10-27 00:41:21 +00:00
Benjamin Kosnik
3f28024c07 unordered_map: Fix for parallel mode.
2007-10-26  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/unordered_map: Fix for parallel mode.
	* include/std/unordered_set: Same.

From-SVN: r129654
2007-10-26 14:38:12 +00:00
Andreas Tobler
ef99c95ece Makefile.am (parallel_headers): Remove timing.h.
2007-10-25  Andreas Tobler  <a.tobler@schweiz.org>

	* include/Makefile.am (parallel_headers): Remove timing.h.
	* include/Makefile.in: Regenerate.

From-SVN: r129630
2007-10-25 22:22:40 +02:00
Johannes Singler
740936e08e multiway_merge.h: Removed Timing<inactive_tag>
2007-10-25  Johannes Singler  <singler@ira.uka.de>

      * include/parallel/multiway_merge.h: Removed Timing<inactive_tag>
      * include/parallel/random_shuffle.h: Same
      * include/parallel/set_operations.h: Same
      * include/parallel/tree.h: Same
      * include/parallel/multiway_mergesort.h: Same
      * include/parallel/timing.h: Removed completely

From-SVN: r129629
2007-10-25 17:07:56 +00:00
Paolo Carlini
1fcd0a2c50 stl_algo.h (__lg<>(_Size)): Slightly tweak.
2007-10-25  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algo.h (__lg<>(_Size)): Slightly tweak.
	(__lg(int), __lg(long), __lg(long long)): Add, overloads
	exploiting __builtin_clz*.

From-SVN: r129624
2007-10-25 10:11:58 +00:00
Paolo Carlini
32e520abfc array (_M_instance): Align naturally.
2007-10-24  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1_impl/array (_M_instance): Align naturally.
	* testsuite/ext/array_allocator/1.cc: Use ext/vstring,
	more solid than our current basic_string vs alignment.
	* testsuite/ext/array_allocator/2.cc: Likewise.
	* testsuite/ext/array_allocator/3.cc: Likewise.

From-SVN: r129604
2007-10-24 15:21:22 +00:00
Paolo Carlini
85799c607b stl_move.h (_GLIBCXX_MOVE): Wrap in parentheses.
2007-10-20  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_move.h (_GLIBCXX_MOVE): Wrap in parentheses.
	* include/bits/stl_algobase.h (__niter_base<>): Pass iterators
	by value, as everywhere else.

From-SVN: r129509
2007-10-20 10:08:29 +00:00
Paolo Carlini
b59d6a2bba random (uniform_int<>::_M_call(_UniformRandomNumberGenerator&, result_type, result_type, true_type)): Fix small thinko.
2007-10-20  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1_impl/random
	(uniform_int<>::_M_call(_UniformRandomNumberGenerator&, result_type,
	result_type, true_type)): Fix small thinko.

From-SVN: r129506
2007-10-20 10:02:09 +00:00
Paolo Carlini
23e8722aed re PR libstdc++/33815 (tr1::uniform_int isn't uniform)
2007-10-19  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/33815
	* include/tr1_impl/random
	(uniform_int<>::_M_call(_UniformRandomNumberGenerator&, result_type,
	result_type, true_type)): Avoid the modulo (which uses the low-order
	bits).

From-SVN: r129493
2007-10-19 17:36:03 +00:00