Commit Graph

4201 Commits

Author SHA1 Message Date
Jonathan Wakely b3eed6fe78 re PR libstdc++/42201 ([C++0x] std::vector<std::unique_future<T>>::push_back fails)
2010-01-21  Jonathan Wakely  <jwakely.gcc@gmail.com>

        PR libstdc++/42201
	* include/std/future: Update to latest WP.
	* src/functexcept.cc (__throw_future_error): Use make_error_code.
	* testsuite/30_threads/async/any.cc: New.
	* testsuite/30_threads/async/async.cc: New.
	* testsuite/30_threads/async/sync.cc: New.
	* testsuite/30_threads/packaged_task/cons/alloc.cc: New.
	* testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust.
	* testsuite/30_threads/packaged_task/cons/copy_neg.cc: Adjust.
	* testsuite/30_threads/packaged_task/members/get_future.cc: Adjust.
	* testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/invoke.cc: Adjust.
	* testsuite/30_threads/packaged_task/members/invoke2.cc: Adjust.
	* testsuite/30_threads/packaged_task/members/invoke3.cc: Adjust.
	* testsuite/30_threads/packaged_task/members/invoke4.cc: Adjust.
	* testsuite/30_threads/packaged_task/members/reset.cc: Adjust.
	* testsuite/30_threads/packaged_task/members/reset2.cc: Adjust.
	* testsuite/30_threads/shared_future/cons/assign_neg.cc: Remove.
	* testsuite/30_threads/shared_future/cons/default_neg.cc: Remove.
	* testsuite/30_threads/shared_future/cons/default.cc: New.
	* testsuite/30_threads/shared_future/cons/assign.cc: New.
	* testsuite/30_threads/shared_future/cons/copy.cc: Adjust.
	* testsuite/30_threads/shared_future/cons/move.cc: Adjust.
	* testsuite/30_threads/shared_future/cons/move_assign.cc: New.
	* testsuite/30_threads/shared_future/members/is_ready.cc: Remove.
	* testsuite/30_threads/shared_future/members/has_value.cc: Remove.
	* testsuite/30_threads/shared_future/members/has_exception.cc: Remove.
	* testsuite/30_threads/shared_future/members/valid.cc: New.
	* testsuite/30_threads/unique_future/cons/default_neg.cc: Remove.
	* testsuite/30_threads/unique_future/cons/default.cc: New.
	* testsuite/30_threads/unique_future/cons/move_assign.cc: New.
	* testsuite/30_threads/unique_future/cons/assign_neg.cc: Adjust.
	* testsuite/30_threads/unique_future/cons/copy_neg.cc: Adjust.
	* testsuite/30_threads/unique_future/cons/move.cc: Adjust.
	* testsuite/30_threads/unique_future/requirements/
        explicit_instantiation.cc: Adjust.
	* testsuite/30_threads/unique_future/members/is_ready.cc: Remove.
	* testsuite/30_threads/unique_future/members/has_value.cc: Remove.
	* testsuite/30_threads/unique_future/members/has_exception.cc: Remove.
	* testsuite/30_threads/unique_future/members/valid.cc: New.
	* testsuite/30_threads/unique_future/members/get.cc: Adjust.
	* testsuite/30_threads/unique_future/members/get2.cc: Adjust.
	* testsuite/30_threads/unique_future/members/wait.cc: Adjust.
	* testsuite/30_threads/unique_future/members/wait_for.cc: Adjust.
	* testsuite/30_threads/unique_future/members/wait_until.cc: Adjust.
	* testsuite/30_threads/headers/future/types_std_c++0x.cc: Adjust.
	* testsuite/30_threads/promise/cons/alloc.cc: New.
	* testsuite/30_threads/promise/cons/assign_neg.cc: Adjust.
	* testsuite/30_threads/promise/cons/copy_neg.cc: Adjust.
	* testsuite/30_threads/promise/cons/move.cc: Adjust.
	* testsuite/30_threads/promise/cons/move_assign.cc: Adjust.
	* testsuite/30_threads/promise/members/get_future.cc: Adjust.
	* testsuite/30_threads/promise/members/set_value.cc: Adjust.
	* testsuite/30_threads/promise/members/set_exception.cc: Adjust.
	* testsuite/30_threads/promise/members/set_exception2.cc: Adjust.
	* testsuite/30_threads/promise/members/set_value2.cc: Adjust.
	* testsuite/30_threads/promise/members/set_value3.cc: Adjust.
	* testsuite/30_threads/promise/members/swap.cc: Adjust.

From-SVN: r156097
2010-01-21 00:01:47 +00:00
Johannes Singler 70202e48b6 re PR libstdc++/42712 (search_n/iterator.cc times out in parallel-mode)
2010-01-19  Johannes Singler  <singler@kit.edu>

        PR libstdc++/42712
        * include/parallel/settings.h (_Settings): Add search_minimal_n.
        * include/parallel/algo.h (__search_switch):
        Add serial fallback for too small inputs.
        (__search_n_switch): Likewise.  Call serial fallback on higher level
        to gain special treatment for __count 0 or 1.
        * testsuite/25_algorithms/search_n/iterator.cc:
        Reenable full test depth for parallel mode.

From-SVN: r156036
2010-01-19 11:18:03 +00:00
Daniel Frey 0238e6c9f2 functional (_Bind<_Functor(_Bound_args...)>:: operator()): "Pass" _Result to __call*.
2010-01-18  Daniel Frey  <d.frey@gmx.de>

	* include/std/functional (_Bind<_Functor(_Bound_args...)>::
	operator()): "Pass" _Result to __call*.
	(_Bind<_Functor(_Bound_args...)>::__call*): Adjust, simplify.

From-SVN: r156007
2010-01-18 10:41:30 +00:00
Johannes Singler 4d62f1d022 base.h (__unary_negate): Correct comment.
2010-01-18  Johannes Singler  <singler@kit.edu>

        * include/parallel/base.h (__unary_negate): Correct comment.

From-SVN: r156003
2010-01-18 08:44:45 +00:00
Paolo Carlini 8232dc6427 functional (_Bind<_Functor(_Bound_args...)>::__call): Rename const version to __call_c and remove _Sfinae template parameter.
2010-01-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/functional (_Bind<_Functor(_Bound_args...)>::__call):
	Rename const version to __call_c and remove _Sfinae template
	parameter.
	(_Bind<_Functor(_Bound_args...)>::operator()): Adjust.

	* include/std/functional: Pass everywhere temporary tuple<_Args...>
	arguments by rvalue reference. 

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

	* testsuite/20_util/bind/ref2.cc: Add missing test variables.

From-SVN: r155978
2010-01-17 13:29:41 +00:00
Paolo Carlini 5f3e3df666 cstring (memchr): Forward to the builtin.
2010-01-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/c_std/cstring (memchr): Forward to the builtin.
	* include/c_std/cstring: Remove redundant casts; use names consistent
	with the letter of the Standard.
	* include/c_global/cstring: Likewise.

From-SVN: r155912
2010-01-14 18:15:37 +00:00
Benjamin Kosnik 2a2ace66e9 iterator_tracker.h: Add copyright.
2010-01-13  Benjamin Kosnik  <bkoz@redhat.com>

	* include/profile/iterator_tracker.h: Add copyright.

From-SVN: r155864
2010-01-13 18:31:25 +00:00
Benjamin Kosnik a2edd3e945 run_doxygen: Correct nested scope on the man pages.
2010-01-07  Benjamin Kosnik  <bkoz@redhat.com>

	* scripts/run_doxygen: Correct nested scope on the man pages.
	* doc/xml/faq.xml: Edits, linkcheck, doxygen link reassociate.
	* doc/xml/manual/mt_allocator.xml: Same.
	* doc/xml/manual/allocator.xml: Same.
	* doc/xml/manual/codecvt.xml: Same.
	* doc/xml/manual/backwards_compatibility.xml: Same.
	* doc/xml/manual/concurrency.xml: Same.
	* doc/xml/manual/parallel_mode.xml: Same.
	* doc/xml/manual/io.xml: Same.
	* doc/xml/manual/support.xml: Same.
	* doc/xml/manual/evolution.xml: Same.
	* doc/xml/manual/using.xml: Same.
	* doc/xml/manual/extensions.xml: Same.
	* doc/xml/manual/appendix_contributing.xml: Same.
	* doc/xml/manual/prerequisites.xml: Same.
	* doc/xml/manual/diagnostics.xml: Same.
	* doc/xml/manual/spine.xml: Same.
	* doc/xml/manual/status_cxx200x.xml: Same.
	* doc/xml/manual/test.xml: Same.
	* doc/xml/spine.xml: Same.
	* doc/html/*: Regenerate.

	* include/profile/impl/profiler.h: Remove duplicate markup.

From-SVN: r155827
2010-01-12 01:37:06 +00:00
Jonathan Wakely d90d97ff9c re PR libstdc++/24803 ([c++0x] reference_wrapper and pointers to member functions)
2010-01-12  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/24803
	PR libstdc++/35569
	PR libstdc++/42593
	* include/std/functional (bind): Forward rvalues and detect correct
	result type of bound function object.
	* include/std/mutex (call_once): Specify bind result type.
	* testsuite/20_util/reference_wrapper/invoke.cc: Remove invalid tests.
	* testsuite/20_util/reference_wrapper/24803.cc: Remove invalid tests
	and enable FIXME tests.
	* testsuite/20_util/bind/35569.cc: New.
	* testsuite/20_util/bind/ref2.cc: New.
	* testsuite/20_util/bind/38889.cc: New.
	* testsuite/20_util/bind/ref_neg.cc: New.
	* testsuite/20_util/bind/42593.cc: New.

From-SVN: r155826
2010-01-12 00:53:30 +00:00
Paolo Carlini 31380bc4c5 base.h (decode2): Rename to __decode2.
2010-01-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/parallel/base.h (decode2): Rename to __decode2.
	(binder2nd): Likewise to __binder2nd.
	* include/parallel/quicksort.h: Adjust callers.
	* include/parallel/balanced_quicksort.h: Likewise.
	* include/parallel/partition.h: Likewise.
	* include/parallel/queue.h: Likewise.

	* include/parallel/algo.h: Qualify with std:: binder2nd use.

From-SVN: r155825
2010-01-12 00:51:50 +00:00
Paolo Carlini 8b6f089bcb string (basic_string<>::basic_string(basic_string&&), [...]): Add.
2010-01-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/debug/string (basic_string<>::basic_string(basic_string&&),
	operator=(basic_string&&), assign(basic_string&&)): Add.

	* include/debug/string: Fully qualify initializer_list with std; fix
	_Allocator misspellings as _Alloc.

From-SVN: r155790
2010-01-10 16:15:58 +00:00
Paolo Carlini 10154e0d52 basic_string.h (basic_string<>:: basic_string(basic_string&&), [...]): Add.
2010-01-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/basic_string.h (basic_string<>::
	basic_string(basic_string&&), operator=(basic_string&&),
	assign(basic_string&&)): Add.
	* config/abi/pre/gnu.ver: Export new symbols.
	* include/ext/vstring.h (__versa_string<>::assign(__versa_string&&)):
	Add.
	(operator=(__versa_string&&)): Don't call clear unnecessarily.
	* include/ext/rc_string_base.h (__rc_string_base<>::
	__rc_string_base(__rc_string_base&&)): Simplify a tad.
	* testsuite/21_strings/basic_string/cons/char/moveable.cc: New.
	* testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc: Likewise.
	* testsuite/ext/vstring/assign/move_assign.cc: Likewise.
	* testsuite/21_strings/basic_string/assign/char/move_assign.cc:
	Likewise.
	* testsuite/21_strings/basic_string/assign/wchar_t/move_assign.cc:
	Likewise.

From-SVN: r155788
2010-01-10 13:38:47 +00:00
Silvius Rus a1360f5702 libstdc++ profile mode bug fixes and minor updates
From-SVN: r155786
2010-01-10 08:25:23 +00:00
Paolo Carlini 0462fd5e01 set.h: Revert last change, per DR 1204 [Ready]; mention the latter in comment.
2010-01-09  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/debug/set.h: Revert last change, per DR 1204 [Ready];
	mention the latter in comment.
	* include/debug/unordered_map: Likewise.
 	* include/debug/multiset.h: Likewise.
 	* include/debug/vector: Likewise.
	* include/debug/unordered_set: Likewise.
	* include/debug/deque: Likewise.
	* include/debug/map.h: Likewise.
	* include/debug/list: Likewise.
	* include/debug/multimap.h: Likewise.
	* include/tr1_impl/unordered_map: Likewise.
	* include/tr1_impl/unordered_set: Likewise.
	* include/profile/set.h: Likewise.
	* include/profile/unordered_map: Likewise.
	* include/profile/multiset.h: 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.
	* include/ext/vstring.h: Likewise.
	* include/bits/stl_list.h: Likewise.
	* include/bits/stl_map.h: Likewise.
	* include/bits/stl_set.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/forward_list.h: Remove pre-existing check.
	* include/ext/vstring.h: Likewise.

	* testsuite/ext/vstring/cons/self_move_assign.cc: Remove.
	* testsuite/23_containers/unordered_map/cons/self_move_assign.cc:
	Likewise.
	* testsuite/23_containers/multimap/cons/self_move_assign.cc: Likewise.
	* testsuite/23_containers/set/cons/self_move_assign.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/cons/
	self_move_assign.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/self_move_assign.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/cons/self_move_assign.cc:
	Likewise.
 	* testsuite/23_containers/vector/cons/self_move_assign.cc: Likewise.
	* testsuite/23_containers/deque/cons/self_move_assign.cc: Likewise.
	* testsuite/23_containers/multiset/cons/self_move_assign.cc: Likewise.
	* testsuite/23_containers/list/cons/self_move_assign.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/cons/
	self_move_assign.cc: Likewise.
	* testsuite/23_containers/map/cons/self_move_assign.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.
	* 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/forward_list/requirements/dr438/
	assign_neg.cc: Likewise.
	* 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/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: r155756
2010-01-09 11:16:42 +00:00
Paolo Carlini 6b592ab357 set.h: Protect move assignment operator vs self assignment.
2010-01-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/debug/set.h: Protect move assignment operator vs self
	assignment.
	* include/debug/unordered_map: Likewise.
 	* include/debug/multiset.h: Likewise.
 	* include/debug/vector: Likewise.
	* include/debug/unordered_set: Likewise.
	* include/debug/deque: Likewise.
	* include/debug/map.h: Likewise.
	* include/debug/list: Likewise.
	* include/debug/multimap.h: Likewise.
	* include/tr1_impl/unordered_map: Likewise.
	* include/tr1_impl/unordered_set: Likewise.
	* include/profile/set.h: Likewise.
	* include/profile/unordered_map: Likewise.
	* include/profile/multiset.h: 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.
	* include/ext/vstring.h: Likewise.
	* include/bits/stl_list.h: Likewise.
	* include/bits/stl_map.h: Likewise.
	* include/bits/stl_set.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/ext/vstring.h: Use clear(). 
	* testsuite/ext/vstring/cons/self_move_assign.cc: New.
	* testsuite/23_containers/unordered_map/cons/self_move_assign.cc:
	Likewise.
	* testsuite/23_containers/multimap/cons/self_move_assign.cc: Likewise.
	* testsuite/23_containers/set/cons/self_move_assign.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/cons/
	self_move_assign.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/self_move_assign.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/cons/self_move_assign.cc:
	Likewise.
 	* testsuite/23_containers/vector/cons/self_move_assign.cc: Likewise.
	* testsuite/23_containers/deque/cons/self_move_assign.cc: Likewise.
	* testsuite/23_containers/multiset/cons/self_move_assign.cc: Likewise.
	* testsuite/23_containers/list/cons/self_move_assign.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/cons/
	self_move_assign.cc: Likewise.
	* testsuite/23_containers/map/cons/self_move_assign.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.
	* 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.

	* testsuite/ext/vstring/moveable.cc: Move to...
	* testsuite/ext/vstring/cons/moveable.cc: ... here.
	* testsuite/23_containers/unordered_map/moveable.cc: Move to...
	* testsuite/23_containers/unordered_map/cons/moveable.cc ... here.
	* testsuite/23_containers/multimap/moveable.cc: Move to...
	* testsuite/23_containers/multimap/cons/moveable.cc: ... here.
	* testsuite/23_containers/set/moveable.cc: Move to...
	* testsuite/23_containers/set/cons/moveable.cc: ... here.
	* testsuite/23_containers/unordered_multimap/moveable.cc: Move to...
	* testsuite/23_containers/unordered_multimap/cons/moveable.cc:
	... here.
	* testsuite/23_containers/forward_list/moveable.cc: Move to...
	* testsuite/23_containers/forward_list/cons/moveable.cc: ... here.
	* testsuite/23_containers/unordered_set/moveable.cc Move to...
	* testsuite/23_containers/unordered_set/moveable.cc: ... here.
	* testsuite/23_containers/vector/cons/moveable.cc Move to...
	* testsuite/23_containers/vector/cons/moveable2.cc: ... this.
	* testsuite/23_containers/deque/cons/moveable.cc Move to...
	* testsuite/23_containers/deque/cons/moveable2.cc: ... this.
	* testsuite/23_containers/multiset/moveable.cc Move to...
	* testsuite/23_containers/multiset/cons/moveable.cc: ... here.
	* testsuite/23_containers/list/moveable.h Move to...
	* testsuite/23_containers/list/cons/moveable.h: ... here.
	* testsuite/23_containers/list/moveable.cc Move to...
	* testsuite/23_containers/list/cons/moveable.cc: ... here.
	* testsuite/23_containers/unordered_multiset/moveable.cc Move to...
	* testsuite/23_containers/unordered_multiset/cons/moveable.cc:
	... here.
	* testsuite/23_containers/map/moveable.cc Move to...
	* testsuite/23_containers/map/cons/moveable.cc: ... here.
	* testsuite/23_containers/vector/moveable.cc: Move to...
	* testsuite/23_containers/vector/cons/moveable.cc: ... here.
	* testsuite/23_containers/deque/moveable.cc: Move to...
	* testsuite/23_containers/deque/cons/moveable.cc: ... here.

From-SVN: r155754
2010-01-09 02:49:53 +00:00
Paolo Carlini 79667f82ad re PR libstdc++/42573 ([C++0x] shrink_to_fit() missing)
2010-01-08  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/42573
	* include/bits/allocator.h (struct __shrink_to_fit): Add.
	* include/bits/stl_deque.h (deque<>::shrink_to_fit): Add.
	* include/bits/stl_vector.h (vector<>::shrink_to_fit): Likewise.
	* include/bits/stl_bvector.h (vector<bool>::shrink_to_fit): Likewise.
	* include/bits/basic_string.h (basic_string<>::shrink_to_fit):
	Likewise.
	* include/ext/vstring.h (__versa_string<>::shrink_to_fit): Likewise.
	* include/debug/deque: Add corresponding using declaration.
	* include/debug/vector: Likewise.
	* include/debug/string: Likewise.
	* include/profile/deque: Likewise.
	* include/profile/vector: Likewise.
	* config/abi/pre/gnu.ver: Export new symbols.
	* testsuite/23_containers/deque/capacity/shrink_to_fit.cc: New.
	* testsuite/23_containers/vector/capacity/shrink_to_fit.cc: Likewise.
	* testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
	Likewise.
	* testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
	Likewise.
	* testsuite/ext/vstring/capacity/shrink_to_fit.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/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.

From-SVN: r155733
2010-01-08 13:01:24 +00:00
Paolo Carlini 3095eb8e4c locale_facets_nonio.tcc (time_put<>::do_put): Avoid pointless __builtin_alloca use.
2010-01-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/locale_facets_nonio.tcc (time_put<>::do_put): Avoid
	pointless __builtin_alloca use.

From-SVN: r155697
2010-01-07 17:20:45 +00:00
Paolo Carlini 2e8e6a99ee re PR libstdc++/26701 (std::time_get parses only 2 digits of year, in en_GB locale.)
2010-01-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/26701
	* include/bits/locale_facets_nonio.tcc (time_get<>::_M_extract_num):
	Encode short two digits over four parsings to negative numbers.
	(time_get<>::_M_extract_via_format): Adjust, accept both two digits
	and four digits for both 'y' and 'Y'.
	(time_get<>::do_get_year): Call time_get<>::_M_extract_num.
	* doc/xml/manual/prerequisites.xml: Add en_GB.
	* testsuite/lib/libstdc++.exp: Adjust
	* testsuite/22_locale/time_get/get_date/char/26701.cc: New.
	* testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise.

From-SVN: r155685
2010-01-07 00:22:51 +00:00
Paolo Carlini ac2bb43770 re PR libstdc++/38081 (time_get<>::do_get_weekday does not always recognize full names of weekdays)
2010-01-05  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/38081
	* include/bits/locale_facets_nonio.h (time_get<>::
	_M_extract_wday_or_month): New, declare.
	* include/bits/locale_facets_nonio.tcc (time_get<>::
	_M_extract_wday_or_month): Define.
	(time_get<>::do_get_weekday, time_get<>::do_get_monthname): Use it.
	* config/abi/pre/gnu.ver: Export new symbols.
	* doc/xml/manual/prerequisites.xml: Add ru_RU.UTF-8 and
	ru_RU.ISO-8859-5.
	* testsuite/lib/libstdc++.exp: Adjust.
	* testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: New.
	* testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.

From-SVN: r155659
2010-01-05 20:05:20 +00:00
Paolo Carlini ab1c1187c3 list: Implement DR 1133 here too.
2010-01-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/profile/list: Implement DR 1133 here too.

	* testsuite/25_algorithms/set_intersection/34730.cc: Do not force
	debug-mode, leads to spurious failures in profile-mode.
	* testsuite/25_algorithms/upper_bound/33613.cc: Likewise.
	* testsuite/25_algorithms/lower_bound/33613.cc: Likewise.
	* testsuite/25_algorithms/set_difference/35541.cc: Likewise.
	* testsuite/21_strings/basic_string/40160.cc: Likewise.
	* testsuite/23_containers/unordered_map/requirements/debug_mode.cc:
	Likewise.
	* testsuite/23_containers/multimap/14340.cc: Likewise.
	* testsuite/23_containers/bitset/18604.cc: Likewise.
	* testsuite/23_containers/set/14340.cc: Likewise.
	* testsuite/23_containers/set/18604.cc: Likewise.
	* testsuite/23_containers/unordered_set/requirements/
	debug_mode.cc: Likewise.
	* testsuite/23_containers/vector/
	debug_mode_requires_reallocation-1.cc: Likewise.
	* testsuite/23_containers/vector/
	debug_mode_requires_reallocation-2.cc: Likewise.
	* testsuite/23_containers/vector/14340.cc: Likewise.
	* testsuite/23_containers/vector/15523.cc: Likewise.
	* testsuite/23_containers/vector/18604.cc: Likewise.
	* testsuite/23_containers/deque/14340.cc: Likewise.
	* testsuite/23_containers/deque/18604.cc: Likewise.
	* testsuite/23_containers/multiset/14340.cc: Likewise.
	* testsuite/23_containers/list/operations/35969.cc: Likewise.
	* testsuite/23_containers/list/14340.cc: Likewise.
	* testsuite/23_containers/list/18604.cc: Likewise.
	* testsuite/23_containers/map/14340.cc: Likewise.
	* testsuite/23_containers/map/18604.cc: Likewise.

	* testsuite/26_numerics/random/uniform_real_distribution/
	cons/parms_neg.cc: Remove, isn't testing anything.
	* testsuite/26_numerics/random/uniform_int_distribution/
	cons/parms_neg.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/uniform_int/
	cons/range_neg.cc: Likewise.

	* testsuite/23_containers/unordered_map/requirements/
	explicit_instantiation/2.cc: Do not instantiate for
	non-defaultconstructible mapped_type.

From-SVN: r155603
2010-01-04 01:58:21 +00:00
Paolo Carlini 5ab06c6dfe set.h: Implement DR 130 here too.
2010-01-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/debug/set.h: Implement DR 130 here too.
	* include/debug/multiset.h: Likewise.
	* include/debug/map.h: Likewise.
	* include/debug/multimap.h: Likewise.
	* include/profile/set.h: Implement DR 130 fully.
	* include/profile/multiset.h: Likewise.
	* include/profile/map.h: Likewise.
	* include/profile/multimap.h: Likewise.
	* include/debug/list: Implement DR 1133 here too.
	* include/ext/pb_ds/detail/debug_map_base.hpp: Comment out for
	now uses of __gnu_cxx::throw_allocator.
	* testsuite/21_strings/basic_string/40160.cc: Don't pass
	explicitly -D_GLIBCXX_DEBUG, doesn't play well with profile-mode
	testing.

From-SVN: r155594
2010-01-03 20:30:28 +00:00
Paolo Carlini eb07a8f567 bitset (bitset<>::bitset(unsigned long long)): Add in C++0x mode.
2010-01-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/profile/bitset (bitset<>::bitset(unsigned long long)): Add
	in C++0x mode.
	* include/debug/bitset (bitset<>::bitset(unsigned long long)): 
	Likewise.

From-SVN: r155589
2010-01-03 16:17:44 +00:00
Paolo Carlini 5004040e8d hashtable (_Hashtable<>): Remove insert_return_type typedef.
2010-01-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/tr1_impl/hashtable (_Hashtable<>): Remove insert_return_type
	typedef.
	* include/profile/unordered_map (unordered_map<>::insert(const
	value_type&), unordered_multimap<>::insert(const value_type&)): Adjust.
	* include/profile/unordered_set (unordered_set<>::insert(const
	value_type&), unordered_multimap<>::insert(const value_type&)):
	Likewise.

From-SVN: r155587
2010-01-03 14:50:09 +00:00
Paolo Carlini a8685e159e stl_pair.h (pair<>::pair(_U1&&, const _T2&), [...]): Use std::is_constructible instead of std::is_convertible.
2010-01-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_pair.h (pair<>::pair(_U1&&, const _T2&),
	pair<>::pair(const _T1&, _U2&&), pair<>::pair(_U1&&, _U2&&)):
	Use std::is_constructible instead of std::is_convertible.

From-SVN: r155585
2010-01-03 12:06:59 +00:00
Benjamin Kosnik 3c0f2830ac PR libstdc++/21772 part 3
2009-12-31  Benjamin Kosnik  <bkoz@redhat.com>

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

From-SVN: r155545
2010-01-01 03:38:58 +00:00
Paolo Carlini 0d6f2a8037 bitset (bitset<>::bitset(unsigned long long), [...]): Add in C++0x mode.
2009-12-31  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/bitset (bitset<>::bitset(unsigned long long),
	_Base_bitset<>::_Base_bitset(unsigned long long)): Add
	in C++0x mode.
	* testsuite/23_containers/bitset/cons/3.cc: New.

From-SVN: r155539
2009-12-31 17:31:28 +00:00
Paolo Carlini 4b3d7a7e92 type_traits: Fix minor stylistic nit.
2009-12-31  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/type_traits: Fix minor stylistic nit.

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

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

From-SVN: r155536
2009-12-31 14:04:23 +00:00
Paolo Carlini 56a01d53bb type_traits: Fix minor formatting nit.
2009-12-30  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/type_traits: Fix minor formatting nit.

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

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

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

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

From-SVN: r155529
2009-12-30 23:22:58 +00:00
Paolo Carlini 0ac3a9af09 stl_iterator.h.: Fix typo in comment.
2009-12-30  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_iterator.h.: Fix typo in comment.

From-SVN: r155517
2009-12-30 10:34:41 +00:00
Edward Smith-Rowland 53bc54ecc0 random.h: Fix equation in comment of Weibull distro.
2009-12-29  Edward Smith-Rowland  <3dw4rd@verizon.net>

	* include/bits/random.h: Fix equation in comment of Weibull distro.

From-SVN: r155515
2009-12-30 02:08:23 +00:00
Paolo Carlini 700d289947 bitset (bitset<>::to_ullong, [...]): Add.
2009-12-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/bitset (bitset<>::to_ullong, _M_do_to_ullong): Add.
	(_Base_bitset<>::_M_do_to_ullong): Add.
	* include/debug/bitset (bitset<>): Add using _Base::to_ullong.
	* include/profile/bitset (bitset<>): Likewise.
	* testsuite/23_containers/bitset/to_ullong/1.cc: New.

From-SVN: r155504
2009-12-29 12:24:36 +00:00
Paolo Carlini 2838468cc3 bitset (bitset<>::bitset(const char*)): Add.
2009-12-28  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/debug/bitset (bitset<>::bitset(const char*)): Add.
	* include/profile/bitset (bitset<>::bitset(const char*)): Likewise.

From-SVN: r155498
2009-12-29 00:29:12 +00:00
Paolo Carlini a1b418cb9f [multiple changes]
2009-12-24  Edward Smith-Rowland  <3dw4rd@verizon.net>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/bitset (bitset<>::bitset(const char*)): Add.

2009-12-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
	    Edward Smith-Rowland  <3dw4rd@verizon.net>

	* testsuite/23_containers/bitset/cons/2.cc: New.

From-SVN: r155458
2009-12-24 18:12:02 +00:00
Jonathan Wakely c5a2375241 functional (bind): Avoid invalid instantiations for bind<void>.
2009-12-24  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/functional (bind): Avoid invalid instantiations
	for bind<void>.
	* testsuite/20_util/bind/conv_result.cc: New.

From-SVN: r155457
2009-12-24 14:54:33 +00:00
Paolo Carlini 0800b8ea79 stl_deque.h (copy_backward(_Deque_iterator, _Deque_iterator, _Deque_iterator), [...]): Declare.
2009-12-24  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_deque.h (copy_backward(_Deque_iterator,
	_Deque_iterator, _Deque_iterator), move_backward(_Deque_iterator,
	_Deque_iterator, _Deque_iterator)): Declare.
	* include/bits/deque.tcc: Implement the latter.
	* testsuite/performance/25_algorithms/
	copy_backward_deque_iterators.cc: New.
	* testsuite/25_algorithms/move_backward/deque_iterators/1.cc: Likewise.
	* testsuite/25_algorithms/copy_backward/deque_iterators/1.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.

From-SVN: r155455
2009-12-24 12:47:37 +00:00
Paolo Carlini e2bf200700 stl_deque.h (copy(_Deque_iterator, _Deque_iterator, _Deque_iterator), [...]): Declare.
2009-12-23  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_deque.h (copy(_Deque_iterator, _Deque_iterator,
	_Deque_iterator), move(_Deque_iterator, _Deque_iterator,
	_Deque_iterator)): Declare.
	* include/bits/deque.tcc: Implement the latter.
	* testsuite/performance/25_algorithms/copy_deque_iterators.cc: New.
	* testsuite/25_algorithms/move/2.cc: Likewise.
	* testsuite/25_algorithms/copy/5.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.

From-SVN: r155432
2009-12-23 17:14:15 +00:00
Jonathan Wakely 6be8006d35 mutex (call_once(once_flag&, _Callable, _Args&&...)): Explicitly qualify with std:: bind calls.
2009-12-22  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/mutex (call_once(once_flag&, _Callable, _Args&&...)):
	Explicitly qualify with std:: bind calls.

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

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

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

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

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

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

From-SVN: r155377
2009-12-21 19:00:34 +00:00
Paolo Carlini a957d12f7a condition_variable: Revert inadvertent changes.
2009-12-18  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/condition_variable: Revert inadvertent changes.
	* testsuite/30_threads/condition_variable/cons/assign_neg.cc: Ditto.
	* testsuite/30_threads/condition_variable/cons/copy_neg.cc: Ditto.
	* testsuite/30_threads/condition_variable/members/1.cc: Ditto.
	* testsuite/30_threads/condition_variable/members/2.cc: Ditto.
	* testsuite/30_threads/condition_variable_any/cons/assign_neg.cc: Ditto.
	* testsuite/30_threads/condition_variable_any/cons/copy_neg.cc: Ditto.

From-SVN: r155343
2009-12-18 09:44:54 +00:00
Jimmy Guo 4ef8972563 re PR libstdc++/40088 (Creating a std::ostringstream object locks a global mutex)
2009-12-18  Jimmy Guo  <jguo@yahoo-inc.com>

	PR libstdc++/40088
	* src/locale_init.cc (locale::locale()): Optimize the common case
	where _S_global still points to _S_classic.

From-SVN: r155342
2009-12-18 09:41:03 +00:00
Benjamin Kosnik 861de21eb2 PR libstdc++/21772 part 1
2009-12-15  Benjamin Kosnik  <bkoz@redhat.com>

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

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

From-SVN: r155283
2009-12-16 05:16:46 +00:00
Paolo Carlini 465d76b735 re PR libstdc++/42381 (deque shouldn't reserve that much memory)
2009-12-15  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libsdtc++/42381
	* include/bits/stl_deque.h (_GLIBCXX_DEQUE_BUF_SIZE): Add.
	(__deque_buf_size(size_t)): Use it.
	* 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.

From-SVN: r155271
2009-12-15 20:58:29 +00:00
Jonathan Wakely abcd7e0847 future (unique_future::get, [...]): Remove workaround for c++/34022.
2009-12-15  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/future (unique_future::get, promise::set_value): Remove
	workaround for c++/34022.
	(packaged_task::get_future, packaged_task::operator()): Use
	__throw_bad_function_call.
	* testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust.
	* testsuite/30_threads/packaged_task/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/promise/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/promise/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/shared_future/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/unique_future/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/unique_future/cons/copy_neg.cc: Likewise.

From-SVN: r155269
2009-12-15 20:17:27 +00:00
Jonathan Wakely ec903a9c42 functional (function::function): Move construct target.
2009-12-15  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/functional (function::function): Move construct target.
	(function::operator=): Use perfect forwarding for argument.
	(function::operator()): Use new __throw_bad_function_call.
	* include/bits/functexcept.h (__throw_bad_function_call): Declare.
	* src/functexcept.cc (__throw_bad_function_call): Define.
	* config/abi/pre/gnu.ver: Add new symbol.
	* testsuite/20_util/function/cons/move_target.cc: New.
	* testsuite/20_util/function/assign/move_target.cc: New.

From-SVN: r155261
2009-12-15 17:42:47 +00:00
Paolo Carlini 82ab4b640b PR libstdc++/25304, DR 865 [Ready]
2009-12-14  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/25304, DR 865 [Ready]
	* include/bits/stl_algobase.h (fill_n): Add comment about DR 865.
	* include/bits/stl_algo.h (generate_n): Likewise.
	* include/bits/algorithmfwd.h: Remove obsolete comment.
	* doc/xml/manual/intro.xml: Add an entry for DR 865.

From-SVN: r155241
2009-12-15 00:07:52 +00:00
Paolo Carlini 874e360b8c stl_list.h (splice(iterator, list&), [...]): Re-add in C++0x mode for backward compatibility (see DR 1133).
2009-12-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_list.h (splice(iterator, list&), splice(iterator,
	list&, iterator), splice(iterator, list&, iterator, iterator),
	merge(list&), merge(list&, _StrictWeakOrdering)): Re-add in C++0x
	mode for backward compatibility (see DR 1133).
	(insert(iterator, size_type, const value_type&), insert(iterator,
	_InputIterator, _InputIterator)): Adjust.
	* include/bits/list.tcc (sort): Likewise.
	* testsuite/23_containers/list/modifiers/1_c++0x.cc: Add.
	* testsuite/23_containers/list/operations/2_c++0x.cc: Likewise.
	* testsuite/23_containers/list/operations/3_c++0x.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	assign_neg.cc: Adjust dg-error line numbers.
	* 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: r155210
2009-12-14 10:26:09 +00:00
Paolo Carlini d385563f63 re PR libstdc++/42352 (-std=c++0x reference binding problem)
2009-12-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/42352
	* include/bits/list.tcc (sort): Use _GLIBCXX_MOVE for list::splice
	and list::merge calls.
	* testsuite/23_containers/list/operations/42352.cc: New.

From-SVN: r155180
2009-12-11 22:04:56 +00:00
Paolo Carlini 8246b3148e PR libstdc++/22634, DR 539 [Ready]
2009-12-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/22634, DR 539 [Ready]
	* include/bits/stl_numeric.h (adjacent_difference): Use std::move
	at the end of the loop body, per the Ready resolution.
	* include/std/numeric: Do not include unnecessarily <cstddef>.
	* doc/xml/manual/intro.xml: Add an entry for DR 539.

From-SVN: r155173
2009-12-11 17:54:37 +00:00
Paolo Carlini df4d18ad80 PR libstdc++/42261 (take 2)
2009-12-10  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/42261 (take 2)
	* include/bits/basic_string.h (_S_construct_aux_2(size_type, _CharT,
	const _Alloc&)): Add.
	(_S_construct_aux(_Integer, _Integer, const _Alloc&, __true_type)):
	Call it.
	* include/ext/sso_string_base.h (_M_construct_aux_2(size_type,
	_CharT): Add.
	(_M_construct_aux(_Integer, _Integer, std::__true_type)): Call it.
	* include/ext/rc_string_base.h (_S_construct_aux_2(size_type, _CharT,
	const _Alloc&)): Add.
	(_S_construct_aux(_Integer, _Integer, const _Alloc&, __true_type)):
	Call it.
	* config/abi/pre/gnu.ver: Export basic_string::_S_construct_aux_2.
	* testsuite/21_strings/basic_string/cons/char/42261.cc: New.
	* testsuite/21_strings/basic_string/cons/wchar_t/42261.cc: Likewise.

From-SVN: r155137
2009-12-10 19:17:27 +00:00
Paolo Carlini 574f366488 revert: re PR libstdc++/42261 (infinite recursion from string(string::size_type(6), string::size_type('f')))
2009-12-10  Paolo Carlini  <paolo.carlini@oracle.com>

	Revert:
        2009-12-03  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/42261
	* include/bits/basic_string.h (_S_construct_aux(_Integer, _Integer,
	const _Alloc&, __true_type)): Cast the second argument to value_type.
	* include/ext/sso_string_base.h (_M_construct_aux(_Integer, _Integer,
	std::__true_type)): Likewise.
	* include/ext/rc_string_base.h (_S_construct_aux(_Integer, _Integer,
	const _Alloc&, std::__true_type)): Likewise.
	* testsuite/21_strings/basic_string/cons/char/42261.cc: New.
	* testsuite/21_strings/basic_string/cons/wchar_t/42261.cc: Likewise.

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

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

From-SVN: r155127
2009-12-10 13:17:56 +00:00
Benjamin Kosnik 6b22319107 profiler_container_size.h: Fix include guard, formatting fixes.
2009-12-09  Benjamin Kosnik  <bkoz@redhat.com>

	* include/profile/impl/profiler_container_size.h: Fix include
	guard, formatting fixes.
	* include/profile/impl/profiler_vector_size.h: Same.
	* include/profile/impl/profiler_hash_func.h: Same.
	* include/profile/impl/profiler_trace.h: Same.
	* include/profile/impl/profiler_vector_to_list.h: Same.
	* include/profile/impl/profiler.h: Same.
	* include/profile/impl/profiler_state.h: Same.
	* include/profile/impl/profiler_map_to_unordered_map.h: Same.
	* include/profile/impl/profiler_hashtable_size.h: Same.
	* include/profile/impl/profiler_node.h: Same.

From-SVN: r155123
2009-12-10 06:47:12 +00:00
Roman Odaisky 6ef14ae403 re PR libstdc++/42273 (atomic_2.h:111: = instead of == in if)
2009-12-09  Roman Odaisky  <to.roma.from.bugcc@qwertty.com>

	PR libstdc++/42273
	* include/bits/atomic_2.h: Fix typo.

From-SVN: r155117
2009-12-09 22:06:59 +00:00
Paolo Carlini 53567bbdca re PR libstdc++/42319 (incomplete type char_traits if parallel mode is active)
2009-12-07  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/42319
	* include/parallel/losertree.h: Include bits/stl_function.h instead
	of the whole <functional>.
	* include/parallel/base.h: Likewise.
	* include/parallel/numeric: Likewise.
	* include/parallel/balanced_quicksort.h: Likewise.
	* include/parallel/checkers.h: Likewise.
	* testsuite/17_intro/headers/c++200x/42319.cc: New.

From-SVN: r155036
2009-12-07 14:27:59 +00:00
Ralf Wildenhues 43e02a8a71 Sync from git Libtool and regenerate.
/:
	PR target/38384
	PR bootstrap/40972
	* libtool.m4: Sync from git Libtool.
	* ltoptions.m4: Likewise.
	* ltversion.m4: Likewise.
	* lt~obsolete.m4: Likewise.
	* ltmain.sh: Likewise.

boehm-gc/:
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* include/Makefile.in: Regenerate.

fixincludes/:
	* configure: Regenerate.

gcc/:
	* configure: Regenerate.

libffi/:
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* include/Makefile.in: Regenerate.
	* man/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libgfortran/:
	* Makefile.in: Regenerate.
	* configure: Regenerate.

libgomp/:
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libjava/classpath/:
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* doc/Makefile.in: Regenerate.
	* doc/api/Makefile.in: Regenerate.
	* examples/Makefile.in: Regenerate.
	* external/Makefile.in: Regenerate.
	* external/jsr166/Makefile.in: Regenerate.
	* external/relaxngDatatype/Makefile.in: Regenerate.
	* external/sax/Makefile.in: Regenerate.
	* external/w3c_dom/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* lib/Makefile.in: Regenerate.
	* native/Makefile.in: Regenerate.
	* native/fdlibm/Makefile.in: Regenerate.
	* native/jawt/Makefile.in: Regenerate.
	* native/jni/Makefile.in: Regenerate.
	* native/jni/classpath/Makefile.in: Regenerate.
	* native/jni/gconf-peer/Makefile.in: Regenerate.
	* native/jni/gstreamer-peer/Makefile.in: Regenerate.
	* native/jni/gtk-peer/Makefile.in: Regenerate.
	* native/jni/java-io/Makefile.in: Regenerate.
	* native/jni/java-lang/Makefile.in: Regenerate.
	* native/jni/java-math/Makefile.in: Regenerate.
	* native/jni/java-net/Makefile.in: Regenerate.
	* native/jni/java-nio/Makefile.in: Regenerate.
	* native/jni/java-util/Makefile.in: Regenerate.
	* native/jni/midi-alsa/Makefile.in: Regenerate.
	* native/jni/midi-dssi/Makefile.in: Regenerate.
	* native/jni/native-lib/Makefile.in: Regenerate.
	* native/jni/qt-peer/Makefile.in: Regenerate.
	* native/jni/xmlj/Makefile.in: Regenerate.
	* native/plugin/Makefile.in: Regenerate.
	* resource/Makefile.in: Regenerate.
	* scripts/Makefile.in: Regenerate.
	* tools/Makefile.in: Regenerate.

libjava/:
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* gcj/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libmudflap/:
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libobjc/:
	* configure: Regenerate.

libssp/:
	* Makefile.in: Regenerate.
	* configure: Regenerate.

libstdc++-v3/:
	* Makefile.in: Regenerate.
	* configure: 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.

lto-plugin/:
	* configure: Regenerate.
	* Makefile.in: Regenerate.

zlib/:
	* Makefile.in: Regenerate.
	* configure: Regenerate.

From-SVN: r155012
2009-12-05 17:18:53 +00:00
Paolo Carlini bcaf576b83 re PR libstdc++/42261 (infinite recursion from string(string::size_type(6), string::size_type('f')))
2009-12-03  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/42261
	* include/bits/basic_string.h (_S_construct_aux(_Integer, _Integer,
	const _Alloc&, __true_type)): Cast the second argument to value_type.
	* include/ext/sso_string_base.h (_M_construct_aux(_Integer, _Integer,
	std::__true_type)): Likewise.
	* include/ext/rc_string_base.h (_S_construct_aux(_Integer, _Integer,
	const _Alloc&, std::__true_type)): Likewise.
	* testsuite/21_strings/basic_string/cons/char/42261.cc: New.
	* testsuite/21_strings/basic_string/cons/wchar_t/42261.cc: Likewise.

From-SVN: r154948
2009-12-03 14:20:56 +00:00
Dave Korn f7e413e2d4 configure.ac (USE_CYGWIN_LIBSTDCXX_WRAPPERS): Define to reflect status of AC_CHECK_FUNC for Cygwin DLL libstdc++ support wrappers.
gcc/ChangeLog:

2009-11-30  Dave Korn  <dave.korn.cygwin@gmail.com>

	* configure.ac (USE_CYGWIN_LIBSTDCXX_WRAPPERS): Define to reflect
	status of AC_CHECK_FUNC for Cygwin DLL libstdc++ support wrappers.
	* configure: Regenerate.
	* config.in: Regenerate.

	* config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Define list of --wrap
	options for Cygwin DLL libstdc++ support wrappers.
	(CXX_WRAP_SPEC_OPT): Define spec to use wrappers or not by default
	according to defined value of USE_CYGWIN_LIBSTDCXX_WRAPPERS.
	(CXX_WRAP_SPEC): Define entire wrapper spec in or out according to
	whether USE_CYGWIN_LIBSTDCXX_WRAPPERS is even defined or not.
	(LINK_SPEC): Include CXX_WRAP_SPEC.
	* gcc/config/i386/winnt.c (wrapper_strcmp): New qsort helper function.
	(i386_find_on_wrapper_list): Check if a function is found on the list
	of libstdc++ wrapper options.
	(i386_pe_file_end): If we are importing a wrapped function, also emit
	an external declaration for the real version.
	* config/i386/cygming.opt (muse-libstdc-wrappers): New option for
	Cygwin targets. Update copyright year.

libstdc++-v3/ChangeLog:

2009-11-30  Dave Korn  <dave.korn.cygwin@gmail.com>

	* libstdc++-v3/acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Don't disable
	on PE targets.
	* libstdc++-v3/configure: Regenerate.
	* libstdc++-v3/configure.host: Add libtool DLL options for Cygwin
	and MinGW platforms.

	* libstdc++-v3/include/bits/c++config (_GLIBCXX_VISIBILITY_ATTR): On
	platforms that don't support visibility, allow them to declare a macro
	_GLIBCXX_PSEUDO_VISIBILITY that is applied in place of visibility.
	(_GLIBCXX_PSEUDO_VISIBILITY): Supply empty default if not declared by
	CPU- or OS-specific headers.

	* libstdc++-v3/config/os/newlib/os_defines.h
	(_GLIBCXX_PSEUDO_VISIBILITY_default): New macro for dllimport.
	(_GLIBCXX_PSEUDO_VISIBILITY_hidden): New empty macro.
	(_GLIBCXX_PSEUDO_VISIBILITY): Evaluate to one of the above.
	* libstdc++-v3/config/os/mingw32/os_defines.h
	(_GLIBCXX_PSEUDO_VISIBILITY_default,
	_GLIBCXX_PSEUDO_VISIBILITY_hidden,
	_GLIBCXX_PSEUDO_VISIBILITY): Likewise.

From-SVN: r154853
2009-11-30 23:22:04 +00:00
Paolo Carlini 7aec2c6343 [multiple changes]
2009-11-30  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/tr1_impl/functional: Remove file, copy its contents,
	trivially adjusted...
	* include/std/functional: ... here, and...
	* include/tr1_impl/functional: ... here.
	* include/Makefile.am: Adjust.
	* include/Makefile.in: Regenerate.

2009-11-30  Jonathan Wakely  <jwakely.gcc@gmail.com>

        * include/tr1_impl/functional (function): Add rvalue support and
        tweak doxygen markup.
        * testsuite/20_util/function/assign/move.cc: New.
        * testsuite/20_util/function/cons/move.cc: New.
        * testsuite/20_util/function/invoke/move_only.cc: New.
        * testsuite/20_util/function/cmp/cmp_neg.cc: New.
        * testsuite/20_util/function/1.cc: Copy from testsuite/tr1/.
        * testsuite/20_util/function/2.cc: Likewise.
        * testsuite/20_util/function/3.cc: Likewise.
        * testsuite/20_util/function/4.cc: Likewise.
        * testsuite/20_util/function/5.cc: Likewise.
        * testsuite/20_util/function/6.cc: Likewise.
        * testsuite/20_util/function/7.cc: Likewise.
        * testsuite/20_util/function/8.cc: Likewise.
        * testsuite/20_util/function/9.cc: Likewise.

From-SVN: r154759
2009-11-30 09:34:04 +00:00
Jonathan Wakely 70826946ea re PR libstdc++/42019 (shared_ptr can not be used with -fno-rtti)
2009-11-20  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/42019
	* include/tr1/shared_ptr.h: Only use typeid when RTTI is enabled.
	* include/bits/shared_ptr_base.h: Likewise.
	* include/bits/shared_ptr.h: Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/misc/42019.cc: New.
	* testsuite/20_util/shared_ptr/misc/42019.cc: New.

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

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

From-SVN: r154335
2009-11-19 16:55:25 +00:00
Johannes Singler d95ba652ab partition.h (__parallel_partition): Correctly initialize chunk size.
2009-11-19  Johannes Singler  <singler@kit.edu>

        * include/parallel/partition.h (__parallel_partition): Correctly
        initialize chunk size.
        (__parallel_nth_element): Respect nth_element_minimal_n.  Use
        sequential nth_element as base case, instead of sequential sort.

From-SVN: r154333
2009-11-19 16:43:20 +00:00
Benjamin Kosnik 5a5e2828d2 profiler.h: Remove namespace markup.
2009-11-17  Benjamin Kosnik  <bkoz@redhat.com>

	* include/profile/impl/profiler.h: Remove namespace markup.

From-SVN: r154272
2009-11-17 21:35:21 +00:00
Benjamin Kosnik 9ee6a74058 bitset: Tweak doxygen markup.
2009-11-17  Benjamin Kosnik  <bkoz@redhat.com>

	* include/profile/bitset: Tweak doxygen markup.
	* include/profile/deque: Same.
	* include/profile/list: Same.
	* include/profile/map.h: Same.
	* include/profile/multimap.h: Same.
	* include/profile/multiset.h: Same.
	* include/profile/set.h: Same.
	* include/profile/unordered_map: Same.
	* include/profile/vector: Same.

	* include/profile/impl/profiler_container_size.h: Use namespace
	__gnu_profile instead of __cxxprof_impl.
	* include/profile/impl/profiler.h: Same.
	(_GLIBCXX_PROFILE_IMPL_REENTRANCE_GUARD): To
	_GLIBCXX_PROFILE_REENTRANCE_GUARD.
	Remove namespace __cxxprof_guard.
	(__reentrance_guard): De-templatize.
	(__reentrance_guard::__inside_cxxprof_impl): To
	__reentrance_guard::_S_get_in.

	* include/profile/impl/profiler_hash_func.h: Use namespace
	__gnu_profile instead of __cxxprof_impl.
	* include/profile/impl/profiler_hashtable_size.h: Same.
	* include/profile/impl/profiler_map_to_unordered_map.h: Same.
	* include/profile/impl/profiler_node.h: Same.
	* include/profile/impl/profiler_state.h: Same.
	* include/profile/impl/profiler_trace.h: Same.
	* include/profile/impl/profiler_vector_size.h: Same.
	* include/profile/impl/profiler_vector_to_list.h: Same.
	* doc/xml/manual/profile_mode.xml: Update.

From-SVN: r154269
2009-11-17 20:45:32 +00:00
Benjamin Kosnik 1ceb9e066c bitset: Add doxygen markup.
2009-11-17  Benjamin Kosnik  <bkoz@redhat.com>

	* include/debug/bitset: Add doxygen markup.
	* include/debug/deque: Same.
	* include/debug/list: Same.
	* include/debug/map.h: Same.
	* include/debug/multimap.h: Same.
	* include/debug/set.h: Same.
	* include/debug/multiset.h: Same.
	* include/debug/unordered_map: Same.
	* include/debug/unordered_set: Same.
	* include/debug/string: Same.
	* include/debug/vector: Same.

From-SVN: r154268
2009-11-17 20:38:33 +00:00
Paolo Carlini 33913cfa99 forward_list.h (forward_list<>::erase_after): Change signature per N2988, return void; simplify.
2009-11-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.h (forward_list<>::erase_after):
	Change signature per N2988, return void; simplify.
	(_Fwd_list_base<>::_M_erase_after): Likewise return void.
	(forward_list<>::~forward_list): Do not call _M_erase_after
	unnecessarily, the base class destructor already does it.
	(forward_list<>::splice_after(const_iterator position,
	forward_list&&, const_iterator i): Check position != i and
	position != ++i.
	* include/bits/forward_list.tcc (_Fwd_list_base<>::
	_M_erase_after(typename _Node_base::_Pointer): Simplify.
	(_Fwd_list_base<>::_M_erase_after(typename _Node_base::_Pointer,
	typename _Node_base::_Pointer): Fix (remove the correct range
	of element) and simplify (update __pos->_M_next at the end).
	* testsuite/23_containers/forward_list/modifiers/3.cc: Adjust
	and extend.
	* testsuite/23_containers/forward_list/ext_pointer/
	modifiers/3.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	assign_neg.cc: Tweak dg-error line numbers.
	* testsuite/23_containers/forward_list/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_2_neg.cc: Likewise.

From-SVN: r154174
2009-11-13 22:41:49 +00:00
Paolo Carlini 8ad7097c11 algorithm: Include <utility>, per UK-300.
2009-11-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/algorithm: Include <utility>, per UK-300.
	* include/bits/stl_algobase.h: Don't do it here.

From-SVN: r154152
2009-11-13 15:06:28 +00:00
Paolo Carlini 7274deff73 type_traits (declval): Add, per DR 1255.
2009-11-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/type_traits (declval): Add, per DR 1255.
	(__is_convertible_helper, common_type): Use it.
	* include/bits/move.h: Mention std::declval.
	* testsuite/20_util/declval/requirements/1.cc: New.
	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
	* testsuite/20_util/common_type/requirements/typedefs-2.cc: Likewise.
	* testsuite/20_util/common_type/requirements/
	explicit_instantiation.cc: Extend.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
	dg-error line numbers.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.

From-SVN: r154140
2009-11-13 02:25:12 +00:00
Paolo Carlini 03b2a9a5ac stl_algobase.h: Include the full <utility>, per UK-300.
2009-11-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algobase.h: Include the full <utility>, per
	UK-300.
	* include/bits/stl_algo.h: Tweak includes.

From-SVN: r154126
2009-11-12 18:45:23 +00:00
Paolo Carlini a4ecd144bb basic_string.h (to_string(int), [...]): Add, per resolution of DR 1261.
2009-11-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/basic_string.h (to_string(int), to_string(unsigned),
	to_string(long), to_string(unsigned long), to_string(float),
	to_string(double), to_wstring(int), to_wstring(unsigned),
	to_wstring(long), to_wstring(unsigned long), to_wstring(float),
	to_wstring(double)): Add, per resolution of DR 1261.
	* include/ext/vstring.h: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/
	dr1261.cc: Add.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	dr1261.cc: Likewise.

From-SVN: r154102
2009-11-11 19:57:48 +00:00
Johannes Singler 8b0c13a824 multiway_merge.h (multiway_merge_*, [...]): Replace int by appropriate difference_type (typedef to _SeqNumber) or _ThreadIndex.
2009-11-09  Johannes Singler  <singler@kit.edu>

	* include/parallel/multiway_merge.h (multiway_merge_*,
	__sequential_multiway_merge, parallel_multiway_merge): Replace
	int by appropriate difference_type (typedef to _SeqNumber) or
	_ThreadIndex.
	* include/parallel/multiseq_selection.h (multiseq_partition,
	multiseq_selection): Replace int by appropriate difference_type
	(typedef to _SeqNumber)
	* include/parallel/base.h (__get_max_threads): Replace int by
	_ThreadIndex.
	* include/parallel/balanced_quicksort.h
	(__qsb_local_sort_with_helping, __parallel_sort_qsb): Likewise.
	* include/parallel/set_operations.h (__parallel_set_operation):
	Likewise.
	* include/parallel/unique_copy.h (__parallel_unique_copy): Likewise.
	* include/parallel/multiway_mergesort.h (_SplitConsistently,
	parallel_sort_mwms_pu, parallel_sort_mwms): Likewise.
	* include/parallel/partial_sum.h (__parallel_partial_sum_linear):
	Likewise.
	* include/parallel/partition.h (__parallel_partition): Replace int
	by appropriate difference_type or _ThreadIndex.

From-SVN: r154039
2009-11-09 16:36:59 +00:00
Jason Merrill 624d3e5760 sso_string_base.h (_M_mutate): Remove extra 'const'.
2009-11-08  Jason Merrill  <jason@redhat.com>

	* include/ext/sso_string_base.h (_M_mutate): Remove extra 'const'.

From-SVN: r154025
2009-11-09 00:26:03 +00:00
Benjamin Kosnik 8e32aa11c7 user.cfg.in: Adjust includes.
2009-11-06  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/doxygen/user.cfg.in: Adjust includes.

	* doc/doxygen/doxygroups.cc: Move group markup.
	* include/tr1_impl/regex: Change " to '. Add group markup.
	* include/std/utility: Same.
	* include/std/type_traits: Same.
	* include/std/streambuf: Same.
	* include/std/iosfwd: Same.
	* include/std/limits: Same.
	* include/std/sstream: Same.
	* include/profile/impl/profiler_state.h: Same.
	* include/profile/impl/profiler_hashtable_size.h: Same.
	* include/bits/stl_algobase.h: Same.
	* include/bits/stl_iterator_base_types.h: Same.
	* include/bits/stream_iterator.h: Same.
	* include/bits/stl_iterator.h: Same.
	* include/bits/stl_tempbuf.h: Same.
	* include/bits/streambuf_iterator.h: Same.
	* libsupc++/exception: Same.
	* libsupc++/cxxabi.h: Same.
	* include/tr1_impl/type_traits: Same.

	* include/parallel/multiway_merge.h: Change @__c to @c, @__f to @f.
	* include/parallel/list_partition.h: Same.
	* include/parallel/for_each.h: Same.
	* include/parallel/workstealing.h: Same.
	* include/parallel/base.h: Same.
	* include/parallel/equally_split.h: Same.
	* include/parallel/random_shuffle.h: Same.
	* include/parallel/balanced_quicksort.h: Same.
	* include/parallel/merge.h: Same.
	* include/parallel/multiway_mergesort.h: Same.
	* include/parallel/compatibility.h: Same.
	* include/parallel/queue.h: Same.
	* include/parallel/checkers.h: Same.
	* include/parallel/random_number.h: Same.


	* include/c_global/csignal: Change # to \#.
	* include/c_global/cstdlib: Same.
	* include/c_global/cstdio: Same.
	* include/c_global/cstdarg: Same.
	* include/c_global/cctype: Same.
	* include/c_global/cerrno: Same.
	* include/c_global/cstdatomic: Same.
	* include/c_global/cmath: Same.
	* include/c_global/ciso646: Same.
	* include/c_global/ctime: Same.
	* include/c_global/clocale: Same.
	* include/c_global/climits: Same.
	* include/c_global/cassert: Same.
	* include/c_global/csetjmp: Same.
	* include/c_global/cwchar: Same.
	* include/c_global/cfloat: Same.
	* include/c_global/cstring: Same.
	* include/c_global/cstddef: Same.
	* include/c_global/cwctype: Same.

	* include/std/memory: Only dance around boost_sp_counted_base.h.
	* include/tr1_impl/boost_sp_counted_base.h: Add markup.
	* include/tr1/shared_ptr.h: Strip markup.
	* include/bits/shared_ptr.h: Move base types...
	* include/bits/shared_ptr_base.h: ...here.
	* include/Makefile.am: Add.
	* include/Makefile.in: Regenerate.
	* configure: Same.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
	Adjust line numbers.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same.

From-SVN: r153980
2009-11-06 22:15:17 +00:00
Paolo Carlini 77d16198fc multiway_merge.h: Simple formatting and uglification fixes.
2009-11-06  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/parallel/multiway_merge.h: Simple formatting and
	uglification fixes.
	* include/parallel/find_selectors.h: Likewise.
	* include/parallel/losertree.h: Likewise.
	* include/parallel/list_partition.h: Likewise.
	* include/parallel/for_each.h: Likewise.
	* include/parallel/multiseq_selection.h: Likewise.
	* include/parallel/workstealing.h: Likewise.
	* include/parallel/par_loop.h: Likewise.
	* include/parallel/numeric: Likewise.
	* include/parallel/quicksort.h: Likewise.
	* include/parallel/equally_split.h: Likewise.
	* include/parallel/omp_loop_static.h: Likewise.
	* include/parallel/random_shuffle.h: Likewise.
	* include/parallel/balanced_quicksort.h: Likewise.
	* include/parallel/tags.h: Likewise.
	* include/parallel/set_operations.h: Likewise.
	* include/parallel/merge.h: Likewise.
	* include/parallel/unique_copy.h: Likewise.
	* include/parallel/multiway_mergesort.h: Likewise.
	* include/parallel/search.h: Likewise.
	* include/parallel/partition.h: Likewise.
	* include/parallel/partial_sum.h: Likewise.
	* include/parallel/find.h: Likewise.
	* include/parallel/queue.h: Likewise.
	* include/parallel/omp_loop.h: Likewise.
	* include/parallel/checkers.h: Likewise.
	* include/parallel/sort.h: Likewise.

From-SVN: r153966
2009-11-06 11:39:35 +00:00
Jonathan Wakely 21a15d9f83 re PR libstdc++/41949 (std::endl documentation contains bad link)
2009-11-06  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/41949
	* include/std/ostream: Adjust link.

From-SVN: r153961
2009-11-06 08:38:02 +00:00
Paolo Carlini 338311e5d7 multiway_merge.h: Simple formatting and uglification fixes.
2009-11-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/parallel/multiway_merge.h: Simple formatting and
	uglification fixes.
	* include/parallel/losertree.h: Likewise.
	* include/parallel/base.h: Likewise.
	* include/parallel/par_loop.h: Likewise.
	* include/parallel/omp_loop_static.h: Likewise.
	* include/parallel/multiway_mergesort.h: Likewise.
	* include/parallel/partial_sum.h: Likewise.
	* include/parallel/omp_loop.h: Likewise.

From-SVN: r153939
2009-11-05 14:06:13 +00:00
Paolo Carlini d87f43c358 multiway_merge.h: Simple formatting and uglification fixes.
2009-11-04  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/parallel/multiway_merge.h: Simple formatting and
	uglification fixes.
	* include/parallel/losertree.h: Likewise.

From-SVN: r153907
2009-11-04 18:48:21 +00:00
David Krauss 6e924e079b re PR libstdc++/41351 (std::rotate on RAI does not conform to ISO complexity requirement)
2009-11-03  David Krauss  <potswa@mac.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/41351
	* include/bits/stl_algo.h (__rotate(_RandomAccessIterator,
	_RandomAccessIterator, _RandomAccessIterator,
	random_access_iterator_tag)): Rewrite to use only std::swap in
	general and std::copy/std::copy_backward when safe.

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

From-SVN: r153860
2009-11-03 18:16:34 +00:00
Benjamin Kosnik c36abf0326 future: Use base class with nested types.
2009-11-02  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/future: Use base class with nested types.
	(__future_base): New.
	(__future_base::_Result_base): From _Future_result_base.
	(__future_base::_Result): From _Future_result.
	(__future_base::_Move_result): From _Move_future_result.
	(__future_base::_Ptr): From _Future_ptr.
	(__future_base::_State): From _Future_state.
	(__basic_future): From _Future_impl.
	* testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust line
	numbers.
	* testsuite/30_threads/packaged_task/cons/copy_neg.cc: Same.
	* testsuite/30_threads/shared_future/cons/assign_neg.cc: Same.
	* testsuite/30_threads/unique_future/cons/assign_neg.cc: Same.
	* testsuite/30_threads/unique_future/cons/copy_neg.cc: Same.
	* testsuite/30_threads/promise/cons/assign_neg.cc: Same.
	* testsuite/30_threads/promise/cons/copy_neg.cc: Same.

From-SVN: r153834
2009-11-03 00:47:48 +00:00
Paolo Carlini cc1e250414 chrono (struct __common_rep_type): New.
2009-10-31  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/chrono (struct __common_rep_type): New.
	(duration_cast(const duration<>&),
	duration<>::duration(const _Rep2&),
	duration<>::duration(const duration<>&),
	operator*(const duration<>&, const _Rep2&),
	operator*(const _Rep1&, const duration<>&),
	operator/(const duration<>&, const _Rep2&),
	time_point_cast(const time_point<>&)): Implement resolution of
	DR 1177 ([Ready] in Santa Cruz), change to not participate to
	overload resolution if the constraints are not met. 
	* testsuite/20_util/duration/cons/1_neg.cc: Adjust dg-errors.
	* testsuite/20_util/duration/cons/dr974.cc: Likewise.
	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
	dg-error line numbers.
	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.

From-SVN: r153787
2009-11-01 00:35:40 +00:00
Paolo Carlini a20c8540db random.h: Fix typo in static_assert text.
2009-10-30  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.h: Fix typo in static_assert text.

From-SVN: r153767
2009-10-30 21:31:23 +00:00
Paolo Carlini f6d08b433b re PR libstdc++/41759 ([C++0x] <random> static_assert phrasing should be positive)
2009-10-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/41759
	* include/bits/random.h: Tweak a bit the text of some static_asserts.

From-SVN: r153762
2009-10-30 17:39:18 +00:00
Paolo Carlini 297f34d719 type_traits (__is_convertible_simple): Remove.
2009-10-30  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/type_traits (__is_convertible_simple): Remove.
	(__is_convertible_helper): Adjust.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
	dg-error line numbers.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.

From-SVN: r153743
2009-10-30 13:12:08 +00:00
Paolo Carlini 6581b14bdf PR libstdc++/40925 (again)
2009-10-29  Paolo Carlini  <paolo.carlini@oracle.com>
  	    Douglas Gregor  <doug.gregor@gmail.com>

	PR libstdc++/40925 (again)
	* include/bits/stl_pair.h (pair<_T1, _T2>::pair(_U1&&, const _T2&),
	pair<_T1, _T2>::pair(const _T1&, _U2&&)): Add, to deal correctly
	with move-only types in the presence of "null pointers".
	* testsuite/20_util/pair/40925.cc: Extend.

Co-Authored-By: Douglas Gregor <doug.gregor@gmail.com>

From-SVN: r153733
2009-10-30 02:29:14 +00:00
Paolo Carlini 2d0269f683 type_traits (__is_int_or_cref): Remove.
2009-10-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/type_traits (__is_int_or_cref): Remove.
	(__is_convertible_helper): Fix per C++0x and simplify (the hack to
	suppress warnings isn't necessary anymore).
	* testsuite/20_util/is_convertible/requirements/typedefs.cc: New.
	* testsuite/20_util/is_convertible/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_convertible/value.cc: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
	dg-error line numbers.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.

From-SVN: r153728
2009-10-29 23:23:29 +00:00
Paolo Carlini d858307d7b [multiple changes]
2009-10-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/40925
	* include/bits/stl_pair.h (pair<_T1, _T2>::pair(_U1&&, _U2&&)):
	Use enable_if to remove it from the overload set when either _U1
	is not convertible to _T1 or _U2 is not convertible to _T2.
	(pair<>::pair(_U1&&, _Arg0&&, _Args&&...)): Remove.

2009-10-29  Douglas Gregor  <doug.gregor@gmail.com>

	PR libstdc++/40925
	* testsuite/20_util/pair/40925.cc: Add.

From-SVN: r153725
2009-10-29 19:26:04 +00:00
Paolo Carlini 735c52cd86 decimal: Minor formatting and uglification fixes.
2009-10-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/decimal/decimal: Minor formatting and uglification fixes.

From-SVN: r153702
2009-10-29 13:15:51 +00:00
Paolo Carlini dd6c7cdf81 decimal: Minor formatting and uglification fixes.
2009-10-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/decimal/decimal: Minor formatting and uglification fixes.
	* include/decimal/decimal.h: Likewise.

From-SVN: r153701
2009-10-29 13:07:21 +00:00
Paolo Carlini de5b9f12c5 stl_iterator_base_funcs.h: (next): Change template parameter name consistently with the resolution of DR...
2009-10-28  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_iterator_base_funcs.h: (next): Change
	template parameter name consistently with the resolution
	of DR 1011 ([Ready] in Santa Cruz).

From-SVN: r153654
2009-10-28 13:07:00 +00:00
Johannes Singler 15e2a6c05e re PR libstdc++/40852 ([parallel-mode] parallel sort run time increases ~10 fold when vector size gets over ~4*10^9)
2009-10-28  Johannes Singler  <singler@kit.edu>

        PR libstdc++/40852
        * include/parallel/multiseq_selection.h
        (multiseq_partition, multiseq_selection):  Avoid intermediate
        values exceeding the integer type range for very large inputs.

From-SVN: r153648
2009-10-28 10:04:03 +00:00
Paolo Carlini 9c67ec2204 chrono (duration<>::duration(const duration<>&)): Fix per the straightforward resolution of DR 974.
2009-10-26  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/chrono (duration<>::duration(const duration<>&)): Fix
	per the straightforward resolution of DR 974.
	* testsuite/20_util/duration/cons/dr974.cc: Add.

From-SVN: r153581
2009-10-27 01:18:10 +00:00
Jason Merrill 20f2653ef0 PR c++/38796, Core issue 906
PR c++/38796, Core issue 906
gcc/cp
	* cp-tree.h (DECL_DEFAULTED_OUTSIDE_CLASS_P): New.
	(DECL_DEFAULTED_IN_CLASS_P): New.
	* class.c (user_provided_p): Non-static.
	(check_methods): Use it.
	(check_bases_and_members): Check defaulted fns.
	(defaultable_fn_p): Move and rename to...
	* method.c (defaultable_fn_check): ...this.
	(defaulted_late_check): New.
	* pt.c (tsubst_decl): Call it.
	* decl2.c (grokfield): Adjust.
	* decl.c (cp_finish_decl): Adjust.
	(grok_special_member_properties): Use user_provided_p.
libstdc++-v3
	* include/std/future (~Future_result_base): Default outside class
	body.
	* include/std/system_error (error_category()): Likewise.
	* libsupc++/nested_exception.h (nested_exception): Remove
	exception specifications from defaulted methods.

From-SVN: r153565
2009-10-26 15:07:14 -04:00
Paolo Carlini 927dc7c69e re PR libstdc++/41773 (Many libstdc++ failures)
2009-10-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/41773
	Revert:
	2009-10-20  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/basic_string.h (_S_construct(const _CharT*, size_type,
	const _Alloc&)): New, declare.
	(_S_construct(_CharT*, _CharT*, const _Alloc&),
	_S_construct(const _CharT*, const _CharT*, const _Alloc&),
	_S_construct(iterator, iterator, const _Alloc&),
	_S_construct(const_iterator, const_iterator, const _Alloc&)): New,
	forward to the latter.
	* include/bits/basic_string.tcc (_S_construct(const _CharT*,
	size_type, const _Alloc&)): Define.
	(basic_string(const basic_string&, size_type, size_type),
	basic_string(const basic_string&, size_type, size_type,
	const _Alloc&), basic_string(const _CharT*, size_type,
	const _Alloc&), basic_string(const _CharT*, const _Alloc&),
	basic_string(initializer_list<>, const _Alloc&)): Call the latter.
	* config/abi/pre/gnu.ver: Remove recently added exports.
	* src/string-inst.cc: Remove instantiations.

From-SVN: r153040
2009-10-20 21:54:22 +00:00
Paolo Carlini b6a182f28e re PR libstdc++/41763 (valarray_array.h seems to overuse __restrict__)
2009-10-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/41763
	* include/bits/valarray_array.h (__valarray_default_construct,
	__valarray_fill_construct, __valarray_copy_construct, __valarray_sum
	__valarray_destroy_elements, __valarray_product): Do not qualify with
	__restrict__ pointers accessing data also accessed by other pointers.

From-SVN: r153039
2009-10-20 21:21:11 +00:00
Paolo Carlini 50e9ed7c6c basic_string.h (_S_construct(const _CharT*, size_type, const _Alloc&)): New, declare.
2009-10-20  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/basic_string.h (_S_construct(const _CharT*, size_type,
	const _Alloc&)): New, declare.
	(_S_construct(_CharT*, _CharT*, const _Alloc&),
	_S_construct(const _CharT*, const _CharT*, const _Alloc&),
	_S_construct(iterator, iterator, const _Alloc&),
	_S_construct(const_iterator, const_iterator, const _Alloc&)): New,
	forward to the latter.
	* include/bits/basic_string.tcc (_S_construct(const _CharT*,
	size_type, const _Alloc&)): Define.
	(basic_string(const basic_string&, size_type, size_type),
	basic_string(const basic_string&, size_type, size_type,
	const _Alloc&), basic_string(const _CharT*, size_type,
	const _Alloc&), basic_string(const _CharT*, const _Alloc&),
	basic_string(initializer_list<>, const _Alloc&)): Call the latter.
	* config/abi/pre/gnu.ver: Remove recently added exports.
	* src/string-inst.cc: Remove instantiations.

From-SVN: r153023
2009-10-20 16:24:18 +00:00
Benjamin Kosnik 02be8f4a8a stdatomic.h: Include cstdatomic if __cplusplus.
2009-10-16  Benjamin Kosnik  <bkoz@redhat.com>

	* include/c_compatibility/stdatomic.h: Include cstdatomic if
	__cplusplus.

From-SVN: r152918
2009-10-16 20:17:39 +00:00
Benjamin Kosnik 3808dfec58 re PR libstdc++/40654 ([C++0x] atomic.cc: 'd' is used uninitialized warning)
2009-10-15  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/40654
	PR libstdc++/40826
	* src/atomic.cc (atomic_flag_test_and_set_explicit): Add
	static_cast from base to derived.
	(atomic_flag_clear_explicit): Same.
	* include/bits/atomic_2.h (__atomic2::atomic_flag): Public derivation.
	Remove value type constructor.
	* include/bits/atomic_0.h (__atomic0::atomic_flag): Same.
	* include/std/future (_Future_state): Use ATOMIC_FLAG_INIT to
	initialized the atomic_flag member.

From-SVN: r152895
2009-10-16 07:47:33 +00:00
Paolo Carlini 5cab701369 basic_string.h (operator+=(initializer_list<>), [...]): Forward to the append overload taking a const CharT* pointer and a size...
2009-10-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/basic_string.h (operator+=(initializer_list<>),
	append(initializer_list<>)): Forward to the append overload taking
	a const CharT* pointer and a size, thus avoiding instantiating
	unnecessarily in the built library the overload taking a pair of
	iterators.
	(operator=(initializer_list<>), assign(initializer_list<>)): Likewise
	for assign.
	(insert(iterator, initializer_list<>): Likewise for insert.

From-SVN: r152794
2009-10-15 01:16:53 +00:00
Paolo Carlini 4299992823 c++config: Do not disable extern templates for string in plain parallel-mode and in...
2009-10-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/c++config: Do not disable extern templates for string
	in plain parallel-mode and in profile-mode; add comment explaining
	_GLIBCXX_EXTERN_TEMPLATE == -1.

From-SVN: r152789
2009-10-14 23:50:09 +00:00
Paolo Carlini a018595e87 for_each_selectors.h: Minor uglification and stylistic fixes.
2009-10-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/parallel/for_each_selectors.h: Minor uglification and
	stylistic fixes.

From-SVN: r152708
2009-10-13 14:57:28 +00:00
Edward Smith-Rowland 3525f49b5a Added <initializer_list> to precompiled/stdc++.h.
From-SVN: r152701
2009-10-13 11:26:06 +00:00
Paolo Carlini 77e3c51603 random.h (class linear_congruential_engine, [...]): Do not use simulated concept checks...
2009-10-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.h (class linear_congruential_engine,
	class mersenne_twister_engine, class subtract_with_carry_engine,
	class discard_block_engine, class independent_bits_engine,
	class shuffle_order_engine, class uniform_int_distribution,
	class binomial_distribution, class geometric_distribution,
	class negative_binomial_distribution, class poisson_distribution,
	class discrete_distribution): Do not use simulated concept checks,
	tidy startic_asserts on argument types and ranges.
	(class uniform_real_distribution, class normal_distribution,
	class lognormal_distribution, class gamma_distribution,
	class chi_squared_distribution, class cauchy_distribution,
	class fisher_f_distribution, class student_t_distribution,
	class exponential_distribution, class weibull_distribution,
	class extreme_value_distribution, class piecewise_linear_distribution,
	class piecewise_constant_distribution): Add static_assert on
	template argument type.
	* include/std/random: Do not include <bits/concept_check.h>.
	* testsuite/26_numerics/random/discard_block_engine/cons/base_move.cc:
	Fix.
	* testsuite/26_numerics/random/discard_block_engine/cons/seed1.cc:
	Likewise.
	* testsuite/26_numerics/random/discard_block_engine/cons/seed2.cc:
	Likewise.
	* testsuite/26_numerics/random/discard_block_engine/cons/base_copy.cc:
	Likewise.
	* testsuite/26_numerics/random/discard_block_engine/cons/default.cc:
	Likewise.
	* testsuite/26_numerics/random/discard_block_engine/cons/seed_seq.cc:
	Likewise.
	* testsuite/26_numerics/random/discard_block_engine/requirements/
	typedefs.cc: Likewise.
	* testsuite/26_numerics/random/discard_block_engine/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/discard_block_engine/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/linear_congruential_engine/
	requirements/non_uint_neg.cc: Tweak.

From-SVN: r152682
2009-10-12 19:11:31 +00:00
Paolo Carlini 6aa7cd49e8 numeric (__adjacent_difference_switch): Fix typo.
2009-10-09  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/parallel/numeric (__adjacent_difference_switch): Fix typo.
	* include/parallel/for_each_selectors.h
	(__adjacent_difference_selector): Likewise.

From-SVN: r152589
2009-10-09 14:41:15 +00:00
Paolo Carlini a020110e54 bitmap_allocator.h: Minor clean-ups.
2009-10-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/ext/bitmap_allocator.h: Minor clean-ups.

From-SVN: r152566
2009-10-08 16:45:58 +00:00
John Bytheway cadd2a9cb3 re PR libstdc++/41530 ([c++0x] Cannot move-construct std::tuple from a different type of std::tuple)
2009-10-05  John Bytheway  <jbytheway@gmail.com>

	PR libstdc++/41530
	* include/std/tuple (_Tuple_impl<>::_Tuple_impl(_Tuple_impl<>&&)):
	Fix to just move.
	* testsuite/20_util/tuple/cons/41530.cc: New.

From-SVN: r152461
2009-10-05 17:56:02 +00:00
Benjamin Kosnik 4cdc876153 [multiple changes]
2009-10-05  Benjamin Kosnik  <bkoz@redhat.com>
	    Edward Smith-Rowland  <3dw4rd@verizon.net>

	* include/decimal/decimal: Warn if decimal floating point types
	are not available.
	* acinclude.m4 (GLIBCXX_ENABLE_DECIMAL_FLOAT): New.
	* configure.ac: Use it.
	* configure: Regenerate.
	* config.h.in: Regenerate.

2009-10-05  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am: Remove stray line break.

	* include/decimal/decimal: Brief class doxygen markup.
	* libsupc++/exception: Whitespace cleanup.

	* testsuite/libstdc++-dg/conformance.exp: Add testsuite directory
	decimal.
	* scripts/create_testsuite_files (dlist): Same.

	* doc/xml/manual/using.xml: One column in table. Move after TR1.

	* testsuite/decimal/bad-cast.cc: Move to...
	* testsuite/decimal/cast_neg.cc: ...here.
	* testsuite/decimal/bad-mixed-mode.cc: Move to...
	* testsuite/decimal/mixed-mode_neg.cc: ...here.
	* testsuite/decimal/bad-operator.cc: Move to...
	* testsuite/decimal/operator_neg.cc: ...here.

	* doc/doxygen/user.cfg.in (INPUT): Add decimal/decimal.

2009-10-05  Janis Johnson  <janis187@us.ibm.com>

	* doc/Makefile.am: Process new file.
	* doc/xml/manual/intro.xml: Ditto.
	* doc/xml/manual/using.xml: Document new header.
	* doc/xml/manual/status_cxxdecimal.xml: New file.
	* include/Makefile.am: Process new headers.
	* include/decimal/decimal: New file.
	* include/decimal/decimal.h: New file.

2009-10-05  Janis Johnson  <janis187@us.ibm.com>

	* testsuite/decimal: New directory.
	* testsuite/decimal/bad-cast.cc: New test.
	* testsuite/decimal/bad-mixed-mode.cc: New test.
	* testsuite/decimal/bad-operator.cc: New test.
	* testsuite/decimal/binary-arith.cc: New test.
	* testsuite/decimal/comparison.cc: New test.
	* testsuite/decimal/compound-assignment.cc: New test.
	* testsuite/decimal/compound-assignment-memfunc.cc: New test.
	* testsuite/decimal/conversion-from-float.cc: New test.
	* testsuite/decimal/conversion-from-integral.cc: New test.
	* testsuite/decimal/conversion-to-generic-float.cc: New test.
	* testsuite/decimal/conversion-to-integral.cc: New test.
	* testsuite/decimal/ctor.cc: New test.
	* testsuite/decimal/incdec.cc: New test.
	* testsuite/decimal/incdec-memfunc.cc: New test.
	* testsuite/decimal/make-decimal.cc: New test.
	* testsuite/decimal/unary-arith.cc: New test.

From-SVN: r152457
2009-10-05 17:42:00 +00:00
Paolo Carlini fe03b3df84 [multiple changes]
2009-10-05  Paolo Carlini  <paolo.carlini@oracle.com>

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

2009-10-05  Chris Jefferson  <chris@bubblescope.net>

	* include/bits/stl_algo.h (__stable_partition_adaptive,
	__rotate_adaptive, __merge_adaptive, __merge_sort_loop):
	Extend to work with rvalue references in C++0x mode.
	* testsuite/25_algorithms/inplace_merge/moveable2.cc: New.
	* testsuite/25_algorithms/inplace_merge/moveable.cc: Likewise.
	* testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
	* testsuite/25_algorithms/stable_sort/moveable2.cc: Likewise.
	* testsuite/25_algorithms/stable_sort/moveable.cc: Likewise.

From-SVN: r152451
2009-10-05 14:11:11 +00:00
Silvius Rus 1218d701f7 merge branch profile-stdlib
From-SVN: r152431
2009-10-03 02:17:41 +00:00
Johannes Singler 63ffc48617 base.h: Take integer types from <tr1/cstdint>.
2009-10-02  Johannes Singler  <singler@ira.uka.de>

        * include/parallel/base.h: Take integer types from <tr1/cstdint>.
        * include/parallel/compatibility.h: Likewise.
        * include/parallel/multiseq_selection.h: Likewise.
        * include/parallel/random_shuffle.h: Likewise.
        * include/parallel/random_number.h: Likewise;
        use numeric_limits<>::digit instead of sizeof()*8.
        * include/parallel/types.h: Likewise.
        * doc/html/manual/bk01pt12ch31s03.html:
        Document dependency on stdint.h.

From-SVN: r152396
2009-10-02 07:47:48 +00:00
Paolo Carlini 300ea2831b random.tcc: Define static const data members.
2009-09-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.tcc: Define static const data members.
	* include/tr1/random.tcc: Likewise.
	* testsuite/26_numerics/random/subtract_with_carry_engine/
	requirements/constants.cc: New.
	* testsuite/26_numerics/random/mersenne_twister_engine/
	requirements/constants.cc: Likewise.
	* testsuite/26_numerics/random/linear_congruential_engine/
	requirements/constants.cc: Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/requirements/
	constants.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/subtract_with_carry/
	requirements/constants.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/
	subtract_with_carry_01/requirements/constants.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/discard_block/
	requirements/constants.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/linear_congruential/
	requirements/constants.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/mersenne_twister/
	requirements/constants.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/xor_combine/
	requirements/constants.cc: Likewise.

From-SVN: r152317
2009-09-30 00:50:24 +00:00
Johannes Singler b112ce96c0 for_each_selectors.h: Remove obsolete comment.
2009-09-28  Johannes Singler  <singler@ira.uka.de>

        * include/parallel/for_each_selectors.h:  Remove obsolete comment.

From-SVN: r152234
2009-09-28 12:11:28 +00:00
Johannes Singler 0e505d53d5 2009-09-25 Johannes Singler <singler@ira.uka.de>
* include/parallel/include/parallel/checkers.h 
        (is_sorted_failure, is_sorted_print_failures):  Remove (unused).
        (__is_sorted):  Remove default parameter for _Compare; remove 
        inappropriate printf.

From-SVN: r152162
2009-09-25 08:39:09 +00:00
Johannes Singler 3b06118a0a base.h: Comment on presence of min/max duplicates.
2009-09-25  Johannes Singler  <singler@ira.uka.de>

        * include/parallel/base.h:  Comment on presence of min/max duplicates.

From-SVN: r152161
2009-09-25 08:37:18 +00:00
Johannes Singler da8d2b6056 partition.h (__parallel_nth_element): Correct comment.
2009-09-25  Johannes Singler  <singler@ira.uka.de>

        * include/parallel/partition.h (__parallel_nth_element):
        Correct comment.

From-SVN: r152160
2009-09-25 08:35:15 +00:00
Johannes Singler 78605f0a68 algo.h: Uglify internal identifiers; correct line breaks.
2009-09-24  Johannes Singler  <singler@ira.uka.de>

        * include/parallel/algo.h: Uglify internal identifiers;
        correct line breaks.
        * include/parallel/for_each.h: Likewise.
        * include/parallel/numeric: Likewise.
        * include/parallel/omp_loop.h: Likewise.
        * include/parallel/omp_loop_static.h: Likewise.
        * include/parallel/par_loop.h: Likewise.
        * include/parallel/workstealing.h: Likewise.

From-SVN: r152113
2009-09-24 08:52:23 +00:00
Johannes Singler 2a2e7f9dc5 base.h (_EqualFromLess): Move _Compare template parameter to the end as of others.
2009-09-24  Johannes Singler  <singler@ira.uka.de>

        * include/parallel/base.h (_EqualFromLess):  Move _Compare template
        parameter to the end as of others.
        * include/parallel/algobase.h
        (__lexicographical_compare_switch): Likewise.

From-SVN: r152112
2009-09-24 07:40:37 +00:00
Johannes Singler 4459d22ed1 algobase.h: Uglify internal identifiers; correct line breaks.
2009-09-23  Johannes Singler  <singler@ira.uka.de>

        * include/parallel/algobase.h: Uglify internal identifiers;
        correct line breaks.
        * include/parallel/algo.h: Likewise.
        * include/parallel/base.h: Likewise.
        * include/parallel/equally_split.h: Likewise.
        * include/parallel/find.h: Likewise.
        * include/parallel/find_selectors.h: Likewise.
        * include/parallel/for_each_selectors.h: Likewise.
        * include/parallel/list_partition.h: Likewise.
        * include/parallel/losertree.h: Likewise.
        * include/parallel/merge.h: Likewise.
        * include/parallel/multiseq_selection.h: Likewise.
        * include/parallel/multiway_merge.h: Likewise.
        * include/parallel/multiway_mergesort.h: Likewise.
        * include/parallel/numeric: Likewise.
        * include/parallel/numericfwd.h: Likewise.
        * include/parallel/omp_loop.h: Likewise.
        * include/parallel/omp_loop_static.h: Likewise.
        * include/parallel/par_loop.h: Likewise.
        * include/parallel/partition.h: Likewise.
        * include/parallel/random_shuffle.h: Likewise.
        * include/parallel/search.h: Likewise.
        * include/parallel/sort.h: Likewise.
        * include/parallel/workstealing.h: Likewise.

From-SVN: r152061
2009-09-23 08:09:50 +00:00
Joseph Myers e10822c2dc vstring.h (to_wstring(long long), [...]): Disable for _GLIBCXX_HAVE_BROKEN_VSWPRINTF.
* include/ext/vstring.h (to_wstring(long long),
	to_wstring(unsigned long long), to_wstring(long double)): Disable
	for _GLIBCXX_HAVE_BROKEN_VSWPRINTF.

From-SVN: r151824
2009-09-18 00:53:28 +01:00
Johannes Singler 15ac3c72db algobase.h: Replace tabs by spaces; correct line breaks.
2009-09-17  Johannes Singler  <singler@ira.uka.de>

        * include/parallel/algobase.h: Replace tabs by spaces;
        correct line breaks.
        * include/parallel/algorithmfwd.h: Likewise.
        * include/parallel/balanced_quicksort.h: Likewise.
        * include/parallel/base.h: Likewise.
        * include/parallel/checkers.h: Likewise.
        * include/parallel/compatibility.h: Likewise.
        * include/parallel/equally_split.h: Likewise.
        * include/parallel/find.h: Likewise.
        * include/parallel/for_each.h: Likewise.
        * include/parallel/for_each_selectors.h: Likewise.
        * include/parallel/iterator.h: Likewise.
        * include/parallel/list_partition.h: Likewise.
        * include/parallel/losertree.h: Likewise.
        * include/parallel/merge.h: Likewise.
        * include/parallel/multiseq_selection.h: Likewise.
        * include/parallel/multiway_merge.h: Likewise.
        * include/parallel/multiway_mergesort.h: Likewise.
        * include/parallel/numeric: Likewise.
        * include/parallel/numericfwd.h: Likewise.
        * include/parallel/omp_loop.h: Likewise.
        * include/parallel/omp_loop_static.h: Likewise.
        * include/parallel/par_loop.h: Likewise.
        * include/parallel/partial_sum.h: Likewise.
        * include/parallel/partition.h: Likewise.
        * include/parallel/queue.h: Likewise.
        * include/parallel/quicksort.h: Likewise.
        * include/parallel/random_number.h: Likewise.
        * include/parallel/random_shuffle.h: Likewise.
        * include/parallel/search.h: Likewise.
        * include/parallel/set_operations.h: Likewise.
        * include/parallel/settings.h: Likewise.
        * include/parallel/sort.h: Likewise.
        * include/parallel/types.h: Likewise.
        * include/parallel/unique_copy.h: Likewise.
        * include/parallel/workstealing.h: Likewise.
        * include/parallel/algo.h: Likewise;
        shorten _ForwardIterator to _FIterator.
        * include/parallel/find_selectors.h: Likewise.

From-SVN: r151791
2009-09-17 08:42:39 +00:00
Johannes Singler 721641c415 base.h: Correct some comments accidentally changed during uglification.
2009-09-16  Johannes Singler  <singler@ira.uka.de>

        * include/parallel/base.h: Correct some comments accidentally changed
        during uglification.
        * include/parallel/find.h: Likewise.
        * include/parallel/find_selectors.h: Likewise.
        * include/parallel/multiway_merge.h: Likewise.
        * include/parallel/multiway_mergesort.h: Likewise.
        * include/parallel/partial_sum.h: Likewise.
        * include/parallel/partition.h: Likewise.
        * include/parallel/queue.h: Likewise.
        * include/parallel/random_shuffle.h: Likewise.
        * include/parallel/settings.h: Likewise.
        * include/parallel/sort.h: Likewise.
        * include/parallel/tags.h: Likewise.
        * include/parallel/workstealing.h: Likewise.

From-SVN: r151756
2009-09-16 14:53:58 +00:00
Johannes Singler 54384f7f0a base.h (_EqualFromLess): Correct uglification of member variables and method arguments.
2009-09-16  Johannes Singler  <singler@ira.uka.de>

        * include/parallel/base.h (_EqualFromLess):
        Correct uglification of member variables and method arguments.
        * include/parallel/balanced_quicksort.h (_QSBThreadLocal): Likewise.
        * include/parallel/find_selectors.h (__find_first_of_selector):
        Likewise.
        * include/parallel/iterator.h (_IteratorTriple): Likewise.
        * include/parallel/multiseq_selection.h
        (_Lexicographic, _LexicographicReverse): Likewise.
        * include/parallel/multiway_mergesort.h (_Piece, _PMWMSSortingData):
        Likewise.
        * include/parallel/random_number.h (_RandomNumber): Likewise.
        * include/parallel/random_shuffle.h (_DRandomShufflingGlobalData):
        Likewise.
        * include/parallel/set_operations.h (__symmetric_difference_func,
        __difference_func, __intersection_func, __union_func,
        parallel_set_union, parallel_set_intersection, parallel_set_difference,
        parallel_set_symmetric_difference): Likewise.
        * include/parallel/tags.h (parallel_tag): Likewise.
        * include/parallel/workstealing.h (_Job): Likewise.
        * include/parallel/multiway_merge.h
        (__multiway_merge_k_variant_sentinel_switch:operator())
        correct uglification of _*LoserTree*.
        * include/parallel/losertree.h (_*LoserTree*): Likewise; correct
        uglification of member variables and method arguments.
        * include/parallel/par_loop.h: Correct uglification of finish_iterator.
        * include/parallel/for_each_selectors.h: Likewise.
        * include/parallel/omp_loop.h: Likewise.
        * include/parallel/algo.h: Likewise; uglify c_rand_number.

From-SVN: r151754
2009-09-16 13:50:17 +00:00
Johannes Singler 11b9c936bf base.h (_PseudoSequenceIterator, [...]): Replace redundant _Self.
2009-09-16  Johannes Singler  <singler@ira.uka.de>

        * include/parallel/base.h (_PseudoSequenceIterator, _PseudoSequence):
        Replace redundant _Self.
        * include/parallel/iterator.h (_IteratorPair, _IteratorTriple):
        Replace redundant _Self.
        * include/parallel/algo.h: Correct accidental _Self in comments.
        * include/parallel/losertree.h: Likewise.
        * include/parallel/multiway_merge.h: Likewise.
        * include/parallel/random_shuffle.h: Likewise.

From-SVN: r151743
2009-09-16 11:02:15 +00:00
Johannes Singler 1acba85b37 algobase.h: Uglify internal identifiers.
2009-09-16  Johannes Singler  <singler@ira.uka.de>

        * include/parallel/algobase.h: Uglify internal identifiers.
        * include/parallel/algo.h: Likewise.
        * include/parallel/algorithmfwd.h: Likewise.
        * include/parallel/balanced_quicksort.h: Likewise.
        * include/parallel/base.h: Likewise.
        * include/parallel/checkers.h: Likewise.
        * include/parallel/compatibility.h: Likewise.
        * include/parallel/compiletime_settings.: Likewise.
        * include/parallel/equally_split.h: Likewise.
        * include/parallel/features.h: Likewise.
        * include/parallel/find.h: Likewise.
        * include/parallel/find_selectors.h: Likewise.
        * include/parallel/for_each.h: Likewise.
        * include/parallel/for_each_selectors.h: Likewise.
        * include/parallel/iterator.h: Likewise.
        * include/parallel/list_partition.h: Likewise.
        * include/parallel/losertree.h: Likewise.
        * include/parallel/merge.h: Likewise.
        * include/parallel/multiseq_selection.h: Likewise.
        * include/parallel/multiway_merge.h: Likewise.
        * include/parallel/multiway_mergesort.h: Likewise.
        * include/parallel/numeric: Likewise.
        * include/parallel/numericfwd.h: Likewise.
        * include/parallel/omp_loop.h: Likewise.
        * include/parallel/omp_loop_static.h: Likewise.
        * include/parallel/par_loop.h: Likewise.
        * include/parallel/partial_sum.h: Likewise.
        * include/parallel/partition.h: Likewise.
        * include/parallel/queue.h: Likewise.
        * include/parallel/quicksort.h: Likewise.
        * include/parallel/random_number.h: Likewise.
        * include/parallel/random_shuffle.h: Likewise.
        * include/parallel/search.h: Likewise.
        * include/parallel/set_operations.h: Likewise.
        * include/parallel/settings.h: Likewise.
        * include/parallel/sort.h: Likewise.
        * include/parallel/tags.h: Likewise.
        * include/parallel/types.h: Likewise.
        * include/parallel/unique_copy.h: Likewise.
        * include/parallel/workstealing.h: Likewise.

From-SVN: r151741
2009-09-16 09:47:25 +00:00
Johannes Singler 6aa8519d86 2009-09-11 Johannes Singler <singler@ira.uka.de>
* include/parallel/multiway_merge.h
        (multiway_merge_exact_splitting): Deallocate borders correctly.
        (parallel_multiway_merge): Remove unnecessarily complicated
        allocation, random access iterators are default-constructible;
        deallocate ne_seqs correctly.

From-SVN: r151640
2009-09-11 16:33:58 +00:00
Paolo Carlini fc52f99da8 re PR libstdc++/41316 ([C++0x] forward_list::sort violates strict aliasing rules)
2009-09-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/41316
	* include/bits/forward_list.h (_Fwd_list_node_base<>::_M_sort_after):
	Remove.
	(forward_list<>::sort(_Comp)): Only declare.
	(forward_list<>::sort()): Forward to the latter.
	* include/bits/forward_list.tcc (_Fwd_list_node_base<>::_M_sort_after):
	Remove definition.
	(forward_list<>::sort(_Comp)): Define.
	* testsuite/23_containers/forward_list/requirements/dr438/
	assign_neg.cc: Adjust dg-error line number.
	* testsuite/23_containers/forward_list/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_2_neg.cc: Likewise.

From-SVN: r151635
2009-09-11 13:47:36 +00:00
Paolo Carlini f7d601a5bd re PR libstdc++/41267 (vector<>::resize() from an empty vector calls memmove for 0 bytes (twice), wasting a lot of cpu time in a production PowerDNS)
2009-09-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/41267
	* include/bits/stl_algobase.h (__copy_move::__copy_m,
	__copy_move_backward::__copy_move_b): Don't call __builtin_memmove
	with a null third argument.

From-SVN: r151459
2009-09-06 15:41:38 +00:00
Benjamin Kosnik 880b527fd8 revert: compatibility.cc: Make C++0x safe, add in explicit casts to bool for stream sentry objects.
2009-09-04  Benjamin Kosnik  <bkoz@redhat.com>

	Revert.
	2009-08-06  Benjamin Kosnik  <bkoz@redhat.com>
	* src/compatibility.cc: Make C++0x safe, add in explicit casts to
	bool for stream sentry objects.
	* include/bits/istream.tcc: Same.
	* include/bits/ostream.tcc: Same.
	* include/bits/basic_string.tcc: Same.
	* include/bits/ostream_insert.h: Same.
	* src/istream.cc: Same.

From-SVN: r151445
2009-09-05 00:18:07 +00:00
Ralf Wildenhues 865dfe398b Fix 'make clean' to remove stamp-host file in libstdc++-v3/include.
libstdc++-v3/:
	PR libstdc++/41220
	* include/Makefile.am (CLEANFILES): Add stamp-host.
	* include/Makefile.in: Regenerate.

From-SVN: r151351
2009-09-02 22:03:32 +00:00
Paolo Carlini e123d1967f 2009-09-02 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/stl_uninitialized.h
	(__uninitialized_copy::uninitialized_copy): Just call (the now 
	forwarding) _Construct.

From-SVN: r151330
2009-09-02 14:49:58 +00:00
Paolo Carlini 6401164d19 stl_construct.h: Include <bits/move.h>.
2009-08-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_construct.h: Include <bits/move.h>.

From-SVN: r151208
2009-08-29 19:35:21 +00:00
Chris Jefferson 55dd844556 move.h (_GLIBCXX_FORWARD): Add.
2009-08-29  Chris Jefferson  <chris@bubblescope.net>

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

From-SVN: r151207
2009-08-29 19:27:05 +00:00
Benjamin Kosnik 439a0f5a2a basic_string.h (basic_string): Add cbegin(), cend(), crbegin(), crend() in C++0x mode.
2009-08-25  Benjamin Kosnik  <bkoz@redhat.com>

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

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

From-SVN: r151106
2009-08-25 22:29:08 +00:00
Chris Jefferson f9590eae5f stl_algo.h (__unguarded_partition_pivot, [...]): New.
2009-08-24  Chris Jefferson  <chris@bubblescope.net>

	* include/stl_algo.h (__unguarded_partition_pivot,
	__move_median_first): New.
	(__insertion_sort, __unguarded_insertion_sort): Adjust for move-only
	types.
	(__unguarded_linear_insert): Assume always inserting value at __last.
	(__unguarded_partition): Take pivot by reference.
	(__introsort_loop, __introselect) : Use __unguarded_partition_pivot.
	* testsuite/25_algorithms/nth_element/moveable.cc : Enable.

From-SVN: r151055
2009-08-24 14:07:34 +00:00
Ralf Wildenhues 5213506e24 Regenerate tree using Autoconf 2.64 and Automake 1.11.
config/:
	* override.m4 (_GCC_AUTOCONF_VERSION): Bump to 2.64.

:
	* configure: Regenerate.

intl/:
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* config.h.in: Regenerate.

libiberty/:
	* config.in: Regenerate.
	* configure: Regenerate.

boehm-gc/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* include/Makefile.in: Regenerate.
	* include/gc_config.h.in: Regenerate.

fixincludes/:
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* config.h.in: Regenerate.

gcc/:
	* aclocal.m4: Regenerate.
	* config.in: Regenerate.
	* configure: Regenerate.

libgcc/:
	* configure: Regenerate.

gnattools/:
	* configure: Regenerate.

libada/:
	* configure: Regenerate.

libcpp/:
	* aclocal.m4: Regenerate.
	* config.in: Regenerate.
	* configure: Regenerate.

libdecnumber/:
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* config.in: Regenerate.

libffi/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* fficonfig.h.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* man/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libgfortran/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* config.h.in: Regenerate.
	* configure: Regenerate.

libgomp/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libjava/classpath/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* doc/Makefile.in: Regenerate.
	* doc/api/Makefile.in: Regenerate.
	* examples/Makefile.in: Regenerate.
	* external/Makefile.in: Regenerate.
	* external/jsr166/Makefile.in: Regenerate.
	* external/relaxngDatatype/Makefile.in: Regenerate.
	* external/sax/Makefile.in: Regenerate.
	* external/w3c_dom/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* include/config.h.in: Regenerate.
	* lib/Makefile.in: Regenerate.
	* native/Makefile.in: Regenerate.
	* native/fdlibm/Makefile.in: Regenerate.
	* native/jawt/Makefile.in: Regenerate.
	* native/jni/Makefile.in: Regenerate.
	* native/jni/classpath/Makefile.in: Regenerate.
	* native/jni/gconf-peer/Makefile.in: Regenerate.
	* native/jni/gstreamer-peer/Makefile.in: Regenerate.
	* native/jni/gtk-peer/Makefile.in: Regenerate.
	* native/jni/java-io/Makefile.in: Regenerate.
	* native/jni/java-lang/Makefile.in: Regenerate.
	* native/jni/java-math/Makefile.in: Regenerate.
	* native/jni/java-net/Makefile.in: Regenerate.
	* native/jni/java-nio/Makefile.in: Regenerate.
	* native/jni/java-util/Makefile.in: Regenerate.
	* native/jni/midi-alsa/Makefile.in: Regenerate.
	* native/jni/midi-dssi/Makefile.in: Regenerate.
	* native/jni/native-lib/Makefile.in: Regenerate.
	* native/jni/qt-peer/Makefile.in: Regenerate.
	* native/jni/xmlj/Makefile.in: Regenerate.
	* native/plugin/Makefile.in: Regenerate.
	* resource/Makefile.in: Regenerate.
	* scripts/Makefile.in: Regenerate.
	* tools/Makefile.in: Regenerate.

libjava/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* gcj/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* include/config.h.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libjava/libltdl/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* config-h.in: Regenerate.
	* configure: Regenerate.

libmudflap/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libobjc/:
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* config.h.in: Regenerate.

libssp/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* config.h.in: Regenerate.
	* configure: Regenerate.

libstdc++-v3/:
	* Makefile.in: Regenerate.
	* acinclude.m4: Regenerate.
	* aclocal.m4: Regenerate.
	* config.h.in: Regenerate.
	* configure: 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.

zlib/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

From-SVN: r151014
2009-08-22 13:22:20 +00:00
Edward Smith-Rowland a15afcc6f2 gamma.tcc: Change include guard from _TR1_GAMMA_TCC to _GLIBCXX_TR1_GAMMA_TCC to match the...
2009-08-20  Edward Smith-Rowland  <3dw4rd@verizon.net>

	* include/tr1/gamma.tcc: Change include guard from _TR1_GAMMA_TCC
	to _GLIBCXX_TR1_GAMMA_TCC to match the rest of the headers in tr1.
	* include/tr1/exp_integral.tcc: Replace _TR1_GAMMA_TCC with
	__numeric_constants<_Tp>::__gamma_e().

From-SVN: r150958
2009-08-20 09:45:03 +00:00
Edward Smith-Rowland e192376912 re PR libstdc++/41061 (Compile of program using std random fails.)
2009-08-14  Edward Smith-Rowland  <3dw4rd@verizon.net>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/41061
	* include/bits/random.h (operator<<(std::basic_ostream<>&,
	const std::lognormal_distribution<>&), 
	operator>>(std::basic_istream<>&, std::lognormal_distribution<>&),
	operator<<(std::basic_ostream<>&, const std::gamma_distribution<>&),
	operator>>(std::basic_istream<>&, std::gamma_distribution<>&),
	operator<<(std::basic_ostream<>&,
	const std::chi_squared_distribution<>&),
	operator>>(std::basic_istream<>&, std::chi_squared_distribution<>&),
	operator<<(std::basic_ostream<>&,
	const std::fisher_f_distribution<>&),
	operator>>(std::basic_istream<>&, std::fisher_f_distribution<>&),
	operator<<(std::basic_ostream<>&,
	const std::student_t_distribution<>&),
	operator>>(std::basic_istream<>&, std::student_t_distribution<>&),
	operator<<(std::basic_ostream<>&,
	const std::negative_binomial_distribution<>&)): Declare friend.
	* testsuite/26_numerics/random/uniform_real_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/piecewise_constant_distribution/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/chi_squared_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/normal_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/uniform_int_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/poisson_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/bernoulli_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/discrete_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/weibull_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/negative_binomial_distribution/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/cauchy_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/gamma_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/fisher_f_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/exponential_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/lognormal_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/binomial_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/extreme_value_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/piecewise_linear_distribution/
	operators/serialize.cc
	* testsuite/26_numerics/random/student_t_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/geometric_distribution/operators/
	serialize.cc: Likewise.

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

From-SVN: r150783
2009-08-14 23:33:27 +00:00
Edward Smith-Rowland c105751c46 stl_tree.h: Make erase return iterator as per DR 130.
2009-08-14  Edward Smith-Rowland  <3dw4rd@verizon.net>

	* include/bits/stl_tree.h: Make erase return iterator as per DR 130.
	* include/bits/stl_set.h: Same.
	* include/bits/stl_multiset.h: Same.
	* include/bits/stl_map.h: Same.
	* include/bits/stl_multimap.h: Same.
	* doc/xml/manual/intro.xml: Document.
	* testsuite/23_containers/set/dr130.cc: New.
	* testsuite/23_containers/multiset/dr130.cc: New.
	* testsuite/23_containers/map/dr130.cc: New.
	* testsuite/23_containers/multimap/dr130.cc: New.

From-SVN: r150768
2009-08-14 17:54:44 +00:00
Benjamin Kosnik b4d6477637 pointer.h: Add pragma system_header, use _GLIBCXX_USE_LONG_LONG, macro cleanup.
2009-08-14  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/pointer.h: Add pragma system_header, use
	_GLIBCXX_USE_LONG_LONG, macro cleanup.

From-SVN: r150762
2009-08-14 16:51:01 +00:00
Benjamin Kosnik 12d74f0d0d extc++.h: Don't include TR1 if C++0x.
2009-08-11  Benjamin Kosnik  <bkoz@redhat.com>

	* include/precompiled/extc++.h: Don't include TR1 if C++0x.
	* include/precompiled/stdc++.h: Don't include cassert if
	_GLIBCXX_NO_ASSERT defined.
	* include/ext/cast.h (_GLIBCXX_BEGIN_NAMESPACE): Remove extra
	semi-colon.
	* include/ext/pointer.h (_GCC_CXX_POINTER_COMPARISON_OPERATION_SET):
	Same.

	* testsuite/17_intro/headers/all.cc: Move into dialect-specific
	directory.
	* testsuite/17_intro/headers/all_pedantic_errors.cc: Same.
	* testsuite/17_intro/headers/all_assert_neg.cc: Same.
	* testsuite/17_intro/headers/all_c++200x_compatibility.cc: Same.

	* testsuite/17_intro/headers/c++1998/all.cc: Use extc++.h include.
	* testsuite/17_intro/headers/c++1998/stdc++.cc: Converted all.cc,
	use stdc++.h include.
	* testsuite/17_intro/headers/c++1998/all_pedantic_errors.cc: Same.
	* testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc: Same.
	* testsuite/17_intro/headers/c++1998/all_c++200x_compatibility.cc: Same.
	* testsuite/17_intro/headers/c++1998/all_no_exceptions.cc: New.
	* testsuite/17_intro/headers/c++1998/all_multiple_inclusion.cc: To...
	* testsuite/17_intro/headers/c++1998/stdc++_multiple_inclusion.cc
	...this.
	* testsuite/17_intro/headers/c++200x/all.cc: To...
	* testsuite/17_intro/headers/c++200x/stdc++.cc: ..this.
	* testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: To...
	* testsuite/17_intro/headers/c++200x/stdc++_multiple_inclusion.cc:
	...this.
	* testsuite/17_intro/headers/c++200x/all_no_exceptions.cc: New.
	* testsuite/17_intro/headers/c++200x/all_pedantic_errors.cc: New.

From-SVN: r150672
2009-08-12 00:56:12 +00:00
Benjamin Kosnik 41ca42469f future: Move error handling bits outside macro guard.
2009-08-10  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/future: Move error handling bits outside macro guard.
	* src/future.cc: Adjust.

	* include/precompiled/stdc++.h: Add future.
	* doc/xml/manual/using.xml: Same.

From-SVN: r150642
2009-08-11 04:30:35 +00:00
Benjamin Kosnik 5302002658 functional: Doxygen markup.
2009-08-10  Benjamin Kosnik  <bkoz@redhat.com>

	* include/tr1_impl/functional: Doxygen markup.

	* doc/html/*: Regenerate.

From-SVN: r150640
2009-08-11 00:29:21 +00:00
Benjamin Kosnik 8d1b99e26a future: Fixes for -fno-exceptions.
2009-08-10  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/future: Fixes for -fno-exceptions.
	* include/bits/functexcept.h: Same.
	* libsupc++/exception_ptr.h: Same.
	* src/pool_allocator.cc: Same.
	* src/future.cc: Same.
	* src/functexcept.cc: Same.
	* config/abi/pre/gnu.ver: New exports.
	* testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust.
	* testsuite/30_threads/packaged_task/cons/copy_neg.cc: Same.
	* testsuite/30_threads/unique_future/cons/assign_neg.cc: Same.
	* testsuite/30_threads/unique_future/cons/copy_neg.cc: Same.
	* testsuite/30_threads/shared_future/cons/assign_neg.cc: Same.
	* testsuite/30_threads/promise/cons/assign_neg.cc: Same.
	* testsuite/30_threads/promise/cons/copy_neg.cc: Same.

	* testsuite/23_containers/deque/operators/1.cc: Separate in two...
	* testsuite/23_containers/deque/operators/2.cc: New.

From-SVN: r150633
2009-08-10 18:24:47 +00:00
Paolo Carlini ac517fcbcc hash.cc (hash<string>::operator()(string), hash<wstring>::operator()(wstring)): Do not decorate as throwing nothing.
2009-08-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* src/hash.cc (hash<string>::operator()(string),
	hash<wstring>::operator()(wstring)): Do not decorate as throwing
	nothing.
	* include/bits/functional_hash.h (hash<error_code>::
	operator()(error_code)): Likewise.

From-SVN: r150566
2009-08-07 10:13:44 +00:00
Benjamin Kosnik 21da6d0f10 compatibility.cc: Make C++0x safe, add in explicit casts to bool for stream sentry objects.
2009-08-06  Benjamin Kosnik  <bkoz@redhat.com>

	* src/compatibility.cc: Make C++0x safe, add in explicit casts to
        bool for stream sentry objects.
        * include/bits/istream.tcc: Same.
        * include/bits/ostream.tcc: Same.
        * include/bits/basic_string.tcc: Same.
	* include/bits/ostream_insert.h: Same.
        * src/istream.cc: Same.

From-SVN: r150539
2009-08-06 19:33:33 +00:00
Paolo Carlini 05168714db re PR libstdc++/15523 ([DR 408] Can't have vectors of vector::const_iterator)
2009-08-04  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/15523
	* include/debug/safe_iterator.h (_Safe_iterator<>::
	_Safe_iterator(const _Safe_iterator&), _Safe_iterator<>::
	operator=(const _Safe_iterator&)): Implement resolution of DR 408,
	do not error out when the source is a value-initialized iterator.
	* testsuite/23_containers/vector/15523.cc: New.
	* doc/xml/manual/intro.xml: Add an entry for DR 408.

From-SVN: r150455
2009-08-04 13:01:08 +00:00
Paolo Carlini 53a381dc16 istream (operator>>(basic_istream<>&&, _Tp&)): Minor cosmetic changes, inline.
2009-08-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/istream (operator>>(basic_istream<>&&, _Tp&)): Minor
	cosmetic changes, inline.
	* include/std/ostream (operator<<(basic_ostream<>&&, const _Tp&)):
	Likewise.
	* include/bits/move.h: Minor cosmetic changes.

From-SVN: r150387
2009-08-03 21:53:25 +00:00
Jason Merrill e7f1930f94 call.c (convert_class_to_reference): Binding an lvalue to an rvalue reference is bad.
* call.c (convert_class_to_reference): Binding an lvalue to an
	rvalue reference is bad.  If the user-defined conversion is bad,
	set bad_p before merging conversions.
	(maybe_handle_ref_bind): Don't push down bad_p.
	(reference_binding): Binding an lvalue to an rvalue reference is bad.
	(convert_like_real): Give a helpful error about binding lvalue
	to rvalue reference.
	(reference_related_p): No longer static.
	* typeck.c (build_typed_address): New.
	(build_static_cast_1): Add static_cast from lvalue to &&.
	* cp-tree.h: Adjust.

	* include/bits/move.h (forward): Implement as in N2835.
	(move): Implement as in N2831.
	* include/std/istream (rvalue stream operator>>): New.
	* include/std/ostream (rvalue stream operator<<): New.

Co-Authored-By: Douglas Gregor <doug.gregor@gmail.com>

From-SVN: r150327
2009-07-31 22:26:42 -04:00
Jason Merrill 4c65085391 forward_list.h (splice_after): Use forward.
* include/bits/forward_list.h (splice_after): Use forward.
	(merge): Likewise.
	* include/bits/stl_iterator.h (move_iterator::operator*): Use move.
	(move_iterator::operator[]): Use move.
	* include/bits/stl_list.h (insert): Use move.
	* include/std/thread (_Callable constructor): Use forward.
	* include/std/tuple: Don't specify explicit template args to move.

From-SVN: r150326
2009-07-31 22:26:32 -04:00
Paolo Carlini bd31ae23b2 PR libstdc++/40912 (partial)
2009-07-31  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/40912 (partial)
	* include/std/random: Disable the facility if <stdint.h> is not
	available.

From-SVN: r150312
2009-07-31 12:19:26 +00:00
Joseph Myers 2e0814c8d6 cwchar (swprintf, vswprintf): Do not use if _GLIBCXX_HAVE_BROKEN_VSWPRINTF.
* include/c_global/cwchar (swprintf, vswprintf): Do not use if
	_GLIBCXX_HAVE_BROKEN_VSWPRINTF.
	* testsuite/lib/libstdc++.exp (check_v3_target_swprintf): New.
	* testsuite/lib/dg-options.exp (dg-require-swprintf): New.
	* testsuite/21_strings/headers/cwchar/functions_std.cc,
	testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc,
	testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc:
	Use dg-require-swprintf.

From-SVN: r150063
2009-07-24 21:55:59 +01:00
Paolo Carlini 7cf8aefccf cmath (abs(_Tp)): Add.
2009-07-23  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/c_std/cmath (abs(_Tp)): Add.
	* include/c_global/cmath (abs(_Tp)): Likewise.
	* testsuite/26_numerics/headers/cmath/overloads.cc: Extend.

From-SVN: r150022
2009-07-23 18:38:22 +00:00
Paolo Carlini af4beb4b95 valarray (valarray<>::operator=(const valarray<>&), [...]): Implement resolution of DR 630, [Ready] in Frankfurt.
2009-07-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/valarray (valarray<>::operator=(const valarray<>&),
	valarray<>::operator=(initializer_list<>)): Implement resolution
	of DR 630, [Ready] in Frankfurt.
	* testsuite/26_numerics/valarray/dr630-1.cc: New.
	* testsuite/26_numerics/valarray/dr630-2.cc: Likewise.
	* doc/xml/manual/intro.xml: Add an entry for DR 630.

From-SVN: r149929
2009-07-22 12:19:58 +00:00
Paolo Carlini 513c5a5bd9 chrono (duration<>::operator%=, operator%): Add, per DR 934.
2009-07-21  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/chrono (duration<>::operator%=,  operator%):
	Add, per DR 934.
	* testsuite/20_util/duration/arithmetic/dr934-1.cc: New.
	* testsuite/20_util/duration/arithmetic/dr934-2.cc: Likewise.

	* include/std/chrono (operator/): Simplify implementation.

From-SVN: r149856
2009-07-21 14:48:47 +00:00
Paolo Carlini af90c8c9ae re PR libstdc++/40712 (locale(const locale&, const char*, locale::category) can create broken locale)
2009-07-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/40712
	* config/locale/gnu/numeric_members.cc (numpunct<>::
	_M_initialize_numpunct): Dynamically allocate _M_data->_M_grouping
	and copy the langinfo data into it.
	(numpunct<>::~numpunct): Free the allocated memory.
	* config/locale/gnu/monetary_members.cc (moneypunct<>::
	_M_initialize_moneypunct): Dynamically allocate _M_data->_M_grouping,
	_M_data->_M_positive_sign, _M_data->_M_negative_sign,
	_M_data->_M_curr_symbol.
	(moneypunct<>::~moneypunct): Free the allocated memory.
	* testsuite/22_locale/moneypunct/40712.cc: New.

	* include/bits/locale_facets.tcc (__numpunct_cache<>::_M_cache):
	Do not leak memory if new throws.
	* include/bits/locale_facets_nonio.tcc
	(__moneypunct_cache<>::_M_cache): Likewise.

From-SVN: r149782
2009-07-18 22:58:10 +00:00
Jason Merrill c32097d8b4 re PR libstdc++/37907 ([c++0x] support for std::is_standard_layout)
PR libstdc++/37907
	Support std::is_standard_layout and std::is_trivial traits,
	change POD to C++0x version (except for layout).
	* gcc/c-common.c (c_common_reswords): Add __is_standard_layout
	and __is_trivial.
	* gcc/c-common.h (enum rid): Add RID_IS_STD_LAYOUT and RID_IS_TRIVIAL.
	* gcc/cp/cp-tree.h (enum cp_trait_kind): Add CPTK_IS_STD_LAYOUT,
	CPTK_IS_TRIVIAL.
	(struct lang_type_class): Add non_std_layout.
	(CLASSTYPE_NON_STD_LAYOUT): New.
	* gcc/cp/class.c (check_bases): Set it.
	(check_field_decls): Likewise.
	(check_bases_and_members): Likewise.
	* gcc/cp/parser.c (cp_parser_primary_expression): Handle RID_IS_STD_LAYOUT,
	RID_IS_TRIVIAL.
	(cp_parser_trait_expr): Likewise.
	* gcc/cp/semantics.c (trait_expr_value): Handle CPTK_IS_STD_LAYOUT,
	CPTK_IS_TRIVIAL.
	(finish_trait_expr): Likewise.
	* gcc/cp/tree.c (scalarish_type_p, trivial_type_p, std_layout_type_p): New.
	(pod_type_p): Use them.
	* gcc/cp/typeck.c (build_class_member_access_expr): Check
	CLASSTYPE_NON_STD_LAYOUT rather than CLASSTYPE_NON_POD_P.
	* libstdc++-v3/include/std/type_traits: Add is_standard_layout, is_trivial.

From-SVN: r149721
2009-07-16 16:36:10 -04:00
Paolo Carlini 6f0398bb14 istream.tcc (basic_istream<>::operator>>(short&), [...]): Implement resolution of DR 696, [Ready] in Frankfurt.
2009-07-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/istream.tcc (basic_istream<>::operator>>(short&),
	basic_istream<>::operator>>(int&)): Implement resolution of DR 696,
	[Ready] in Frankfurt.
	* include/tr1_impl/regex (regex_traits<>::value): Adjust.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/dr696.cc:
	New.
	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/dr696.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
	Adjust.
	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/13.cc:
	Likewise.
	* doc/xml/manual/intro.xml: Add an entry for DR 696.

	* include/bits/istream.tcc: Minor clean-up to the initializers of the
	__err locals.
	* include/bits/ostream.tcc: Likewise.
	* src/compatibility.cc: Likewise.
	* src/istream.cc: Likewise.

From-SVN: r149704
2009-07-16 12:41:03 +00:00
Paolo Carlini 026ec377e9 re PR c++/36628 ([c++0x] incorrect decltype() handling of conditional operator)
2009-07-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/type_traits (common_type): Remove workaround for
	PR36628, now fixed.

From-SVN: r149537
2009-07-12 23:25:29 +00:00
Janis Johnson 23862bec3e re PR libstdc++/40691 (bug in logical not operator for valarray used with slice)
PR libstdc++/40691
	* include/bugs/valarray-after.h (_Expr::operator!): Fix return type.
	* testsuite/26_numerics/valarray/40691.cc: New test.

From-SVN: r149393
2009-07-08 22:26:50 +00:00
Paolo Carlini 462ac91e72 2009-06-29 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/random.tcc
	(linear_congruential_engine<>::seed(seed_seq&)): Use uint_least32_t
	as array type.

From-SVN: r149078
2009-06-30 01:25:52 +00:00
Paolo Carlini b94f4bef8b random.h (__mod(_Tp)): Use defaults.
2009-06-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.h (__mod(_Tp)): Use defaults.
	(struct _Mod): Adjust template parameters.
	(linear_congruential_engine<>::operator()()): Adjust.
	(typedef _UInt32Type): Remove.
	(mersenne_twister_engine<>::initialization_multiplier): Fix type.
	* include/bits/random.tcc (struct _Mod): Adjust template parameters.
	(linear_congruential_engine<>::seed(result_type)): Adjust __mod
	calls.
	(mersenne_twister_engine<>::seed(result_type)): Likewise.
	(mersenne_twister_engine<>::seed(seed_seq&)): Likewise.
	(subtract_with_carry_engine<>::seed(result_type)): Likewise.
	(subtract_with_carry_engine<>::seed(seed_seq&)): Likewise.
	(seed_seq::seed_seq(std::initializer_list<>)): Likewise.
	(seed_seq::seed_seq(_InputIterator, _InputIterator)): Likewise.
	(seed_seq::generate(_RandomAccessIterator, _RandomAccessIterator)):
	Likewise.

	* include/bits/random.tcc
	(mersenne_twister_engine<>::seed(result_type)): Fix i usage in the
	formula (i mod n).
	(mersenne_twister_engine<>::seed(seed_seq&)): Use uint_least32_t
	as array type.
	(subtract_with_carry_engine<>::seed(seed_seq&)): Likewise; fix array
	size.
	(subtract_with_carry_engine<>::seed(result_type)): Fix; also use
	uint_least32_t.

From-SVN: r149074
2009-06-30 00:43:21 +00:00
Jonathan Wakely c8ee2bfd79 future (shared_future): Adjust doxygen comment.
2009-06-24  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/future (shared_future): Adjust doxygen comment.

From-SVN: r148895
2009-06-24 08:13:17 +01:00
Jonathan Wakely 27f41cfea5 re PR libstdc++/40297 ([C++0x] debug mode vs atomics)
2009-06-24  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/40297
	* include/bits/atomic_0.h: Reverse debug assertions.
	* include/bits/atomic_2.h: Likewise.

From-SVN: r148893
2009-06-24 08:06:17 +01:00
Benjamin Kosnik 3259554a05 user.cfg.in (PREDEFINED): Add _GLIBCXX_ATOMIC_BUILTINS_*.
2009-06-23  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/doxygen/user.cfg.in (PREDEFINED): Add _GLIBCXX_ATOMIC_BUILTINS_*.
	(INPUT): Add future.
	* include/std/future: Adjust markup.
	* testsuite/30_threads/shared_future/cons/assign_neg.cc: Adjust
	line numbers.
	* testsuite/30_threads/unique_future/cons/assign_neg.cc: Same.
	* testsuite/30_threads/unique_future/cons/copy_neg.cc: Same.
	* testsuite/30_threads/promise/cons/assign_neg.cc: Same.
	* testsuite/30_threads/promise/cons/copy_neg.cc: Same.

From-SVN: r148883
2009-06-23 23:24:20 +00:00
Jonathan Wakely 2ea259393d shared_ptr.h: Do not swap rvalues.
2009-06-23  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/bits/shared_ptr.h: Do not swap rvalues.
	* testsuite/20_util/owner_less/cmp.cc: Add missing test variables.
	* testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise.
	* testsuite/20_util/shared_ptr/comparison/less.cc: Likewise.
	* testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise.
	* testsuite/20_util/tuple/swap.cc: Likewise.

From-SVN: r148880
2009-06-23 23:33:17 +01:00
Jonathan Wakely 79e2c7b01c macros.h: Replace @tbd with valid doxygen tag @todo.
2009-06-23  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/debug/macros.h: Replace @tbd with valid doxygen tag @todo.
	* include/std/ratio: Typo in comment.

From-SVN: r148861
2009-06-23 18:51:48 +01:00
Paolo Carlini 7309083f99 re PR libstdc++/40518 (data races when calling std::string::erase() on empty string)
2009-06-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/40518
	* include/bits/basic_string.h (basic_string<>::_Rep::
	_M_set_length_and_sharable): Do not write the empty rep.
	(basic_string<>::erase(iterator, iterator)): Likewise,
	move out of line...
	* include/bits/basic_string.tcc: ... here.

From-SVN: r148850
2009-06-23 12:36:43 +00:00
Jonathan Wakely c910ceff6a future: New.
2009-06-21  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/future: New.
	* include/Makefile.am: Add.
	* include/Makefile.in: Regenerate.
	* src/future.cc: New.
	* src/Makefile.am: Add.
	* src/Makefile.in: Regenerate.
	* config/abi/pre/gnu.ver: Add export.
	* testsuite/30_threads/headers/future/std_c++0x_neg.cc: New.
	* testsuite/30_threads/headers/future/types_std_c++0x.cc: New.
	* testsuite/30_threads/packaged_task/cons/1.cc: New.
	* testsuite/30_threads/packaged_task/cons/2.cc: New.
	* testsuite/30_threads/packaged_task/cons/assign_neg.cc: New.
	* testsuite/30_threads/packaged_task/cons/copy_neg.cc: New.
	* testsuite/30_threads/packaged_task/cons/move_assign.cc: New.
	* testsuite/30_threads/packaged_task/cons/move.cc: New.
	* testsuite/30_threads/packaged_task/members/boolconv.cc: New.
	* testsuite/30_threads/packaged_task/members/get_future.cc: New.
	* testsuite/30_threads/packaged_task/members/get_future2.cc: New.
	* testsuite/30_threads/packaged_task/members/invoke.cc: New.
	* testsuite/30_threads/packaged_task/members/invoke2.cc: New.
	* testsuite/30_threads/packaged_task/members/invoke3.cc: New.
	* testsuite/30_threads/packaged_task/members/invoke4.cc: New.
	* testsuite/30_threads/packaged_task/members/invoke5.cc: New.
	* testsuite/30_threads/packaged_task/members/reset.cc: New.
	* testsuite/30_threads/packaged_task/members/reset2.cc: New.
	* testsuite/30_threads/packaged_task/members/swap.cc: New.
	* testsuite/30_threads/packaged_task/requirements/
	explicit_instantiation.cc: New.
	* testsuite/30_threads/promise/cons/1.cc: New.
	* testsuite/30_threads/promise/cons/assign_neg.cc: New.
	* testsuite/30_threads/promise/cons/copy_neg.cc: New.
	* testsuite/30_threads/promise/cons/move_assign.cc: New.
	* testsuite/30_threads/promise/cons/move.cc: New.
	* testsuite/30_threads/promise/members/get_future.cc: New.
	* testsuite/30_threads/promise/members/get_future2.cc: New.
	* testsuite/30_threads/promise/members/set_exception.cc: New.
	* testsuite/30_threads/promise/members/set_exception2.cc: New.
	* testsuite/30_threads/promise/members/set_value.cc: New.
	* testsuite/30_threads/promise/members/set_value2.cc: New.
	* testsuite/30_threads/promise/members/set_value3.cc: New.
	* testsuite/30_threads/promise/members/swap.cc: New.
	* testsuite/30_threads/promise/requirements/
	explicit_instantiation.cc: New.
	* testsuite/30_threads/shared_future/cons/assign_neg.cc: New.
	* testsuite/30_threads/shared_future/cons/copy.cc: New.
	* testsuite/30_threads/shared_future/cons/default_neg.cc: New.
	* testsuite/30_threads/shared_future/cons/move.cc: New.
	* testsuite/30_threads/shared_future/members/get.cc: New.
	* testsuite/30_threads/shared_future/members/get2.cc: New.
	* testsuite/30_threads/shared_future/members/has_exception.cc: New.
	* testsuite/30_threads/shared_future/members/has_value.cc: New.
	* testsuite/30_threads/shared_future/members/is_ready.cc: New.
	* testsuite/30_threads/shared_future/members/wait.cc: New.
	* testsuite/30_threads/shared_future/members/wait_for.cc: New.
	* testsuite/30_threads/shared_future/members/wait_until.cc: New.
	* testsuite/30_threads/shared_future/requirements/
	explicit_instantiation.cc: New.
	* testsuite/30_threads/unique_future/cons/assign_neg.cc: New.
	* testsuite/30_threads/unique_future/cons/copy_neg.cc: New.
	* testsuite/30_threads/unique_future/cons/default_neg.cc: New.
	* testsuite/30_threads/unique_future/cons/move.cc: New.
	* testsuite/30_threads/unique_future/members/get.cc: New.
	* testsuite/30_threads/unique_future/members/get2.cc: New.
	* testsuite/30_threads/unique_future/members/has_exception.cc: New.
	* testsuite/30_threads/unique_future/members/has_value.cc: New.
	* testsuite/30_threads/unique_future/members/is_ready.cc: New.
	* testsuite/30_threads/unique_future/members/wait.cc: New.
	* testsuite/30_threads/unique_future/members/wait_for.cc: New.
	* testsuite/30_threads/unique_future/members/wait_until.cc: New.
	* testsuite/30_threads/unique_future/requirements/
	explicit_instantiation.cc: New.
	* testsuite/performance/30_threads/future/polling.cc: New.

From-SVN: r148765
2009-06-21 15:02:09 +01:00
Paolo Carlini 1a9e603e52 2009-06-20 Paolo Carlini <paolo.carlini@oracle.com>
* Revert last Change.

From-SVN: r148756
2009-06-21 00:57:56 +00:00
Paolo Carlini 2271f9c260 re PR libstdc++/40497 ([C++0x] troubles with std::next / std::prev declarations)
2009-06-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/40497
	* include/bits/stl_iterator_base_funcs.h (next, prev): Fix the
	signature per the current C++1x draft (N2857).
	* testsuite/24_iterators/operations/40497.cc: Add.

From-SVN: r148751
2009-06-20 22:27:04 +00:00
Paolo Carlini 9b88236b34 random.h (_Adaptor): Simplify for _DInputType always a floating point type.
2009-06-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.h (_Adaptor): Simplify for _DInputType always
	a floating point type.
	(uniform_int_distribution<>::uniform_int_distribution(_IntType,
	_IntType)): Fix second default argument.
	(uniform_int_distribution<>::_M_call): Remove.
	(uniform_int_distribution<>::operator()(_UniformRandomNumberGenerator&,
	const param_type&)): Only declare.
	* include/bits/random.tcc (uniform_int_distribution<>::_M_call(
	_UniformRandomNumberGenerator&, result_type, result_type, true_type):
	Remove.
	uniform_int_distribution<>::operator()(_UniformRandomNumberGenerator&,
	const param_type&): Define here.
	(geometric_distribution<>::operator()(_UniformRandomNumberGenerator&,
	const param_type&), discrete_distribution<>::operator()
	(_UniformRandomNumberGenerator&, const param_type&), 
	piecewise_constant_distribution<>::operator()
	(_UniformRandomNumberGenerator&, const param_type&),
	piecewise_linear_distribution<>::operator()
	(_UniformRandomNumberGenerator&, const param_type&)): Use double as
	the second template argument of _Adaptor.
	* testsuite/26_numerics/random/uniform_int_distribution/cons/
	default.cc: Adjust.

From-SVN: r148720
2009-06-19 17:49:31 +00:00
Paolo Carlini f8dd9e0de0 random.tcc (discrete_distribution<>::param_type:: param_type(size_t, double, double, _Func), [...]): Tidy.
2009-06-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.tcc (discrete_distribution<>::param_type::
      	param_type(size_t, double, double, _Func),
	discrete_distribution<>::operator()(_UniformRandomNumberGenerator&,
	const param_type&)): Tidy.
	(piecewise_constant_distribution<>::param_type::_M_initialize):
	Use reserve, fix.
	(piecewise_constant_distribution<>::param_type::
	param_type(initializer_list<>, _Func),
	piecewise_constant_distribution<>::param_type::
	param_type(size_t, _RealType, _RealType, _Func),
       	piecewise_linear_distribution<>::param_type::
	param_type(initializer_list<>, _Func),
       	piecewise_linear_distribution<>::param_type::
	param_type(size_t, _RealType, _RealType, _Func)): Use reserve, tidy.
	(piecewise_constant_distribution<>::param_type::
	param_type(_InputIteratorB, _InputIteratorB, _InputIteratorW),
	piecewise_constant_distribution<>::
	operator()(_UniformRandomNumberGenerator&, const param_type&),
      	piecewise_linear_distribution<>::
	operator()(_UniformRandomNumberGenerator&, const param_type&)): Fix.
	(operator>>(std::basic_istream<>&,
	piecewise_constant_distribution<>&),
	operator>>(std::basic_istream<>&, piecewise_linear_distribution<>&)):
	Use reserve.
	* include/bits/random.h: Minor cosmetic changes.

From-SVN: r148719
2009-06-19 17:17:14 +00:00
Jonathan Wakely cd3b0fafaa thread (~thread(), [...]): Call terminate if joinable.
2009-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/thread (~thread(), operator=(thread&&)): Call terminate
	if joinable.

From-SVN: r148552
2009-06-16 21:34:43 +01:00
Paolo Carlini f9b09dec19 random.tcc (negative_binomial_distribution<>::operator() (_UniformRandomNumberGenerator&, const param_type&): Tweak to use a class member gamma_distribution.
2009-06-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.tcc
	(negative_binomial_distribution<>::operator()
	(_UniformRandomNumberGenerator&, const param_type&): Tweak to use a
	class member gamma_distribution.
	(negative_binomial_distribution<>::operator()
	(_UniformRandomNumberGenerator&)): Implement out of line here.
	(operator<<(basic_ostream<>&, negative_binomial_distribution<>),
	operator>>(basic_ostream<>&, negative_binomial_distribution<>): Adjust.
	(student_t_distribution<>::operator()
	(_UniformRandomNumberGenerator&, const param_type&): Move inline,
	simplify.
	(operator<<(basic_ostream<>&, student_t_distribution<>),
	operator>>(basic_ostream<>&, student_t_distribution<>): Adjust.
	(chi_squared_distribution<>::operator()
	(_UniformRandomNumberGenerator&, const param_type&): Move inline,
	tweak to use a class member gamma_distribution.
	(operator<<(basic_ostream<>&, chi_squared_distribution<>),
	operator>>(basic_ostream<>&, chi_squared_distribution<>): Adjust.
	(fisher_f_distribution<>::operator() (_UniformRandomNumberGenerator&,
	const param_type&): Move inline, tweak to use class member
	gamma_distributions.
	(operator<<(basic_ostream<>&, fisher_f_distribution<>),
	operator>>(basic_ostream<>&, fisher_f_distribution<>): Adjust.
	* include/bits/random.h: Adjust, minor tweaks.

From-SVN: r148393
2009-06-11 18:32:30 +00:00
Benjamin Kosnik fd9380a6cd move.h: Doxygen group fixes.
2009-06-09  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/move.h: Doxygen group fixes.

From-SVN: r148337
2009-06-10 02:14:32 +00:00
Paolo Carlini b01630bb3d random.tcc (gamma_distribution<>::operator() (_UniformRandomNumberGenerator&, const param_type&): Redo, using the Marsaglia/Tsang algorithm.
2009-06-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.tcc (gamma_distribution<>::operator()
	(_UniformRandomNumberGenerator&, const param_type&): Redo, using
	the Marsaglia/Tsang algorithm.
	(gamma_distribution<>::param_type::_M_initialize): Adjust.
	(operator<<(basic_ostream<>&, gamma_distribution<>),
	operator>>(basic_ostream<>&, gamma_distribution<>): Likewise.

	* include/bits/random.tcc(student_t_distribution<>::_M_gaussian):
	Remove, just use normal_distribution.
	(operator<<(basic_ostream<>&, student_t_distribution<>),
	operator>>(basic_ostream<>&, student_t_distribution<>): Adjust.
	(linear_congruential_engine<>::operator()()): Move inline.
	(lognormal_distribution<>::operator()(_UniformRandomNumberGenerator&,
	const param_type&)): Move inline, just use normal_distribution.
	(operator<<(basic_ostream<>&, lognormal_distribution<>),
	operator>>(basic_ostream<>&, lognormal_distribution<>): Adjust.
	(weibull_distribution<>::operator()(_UniformRandomNumberGenerator&,
	const param_type&)): Move here, out of line.
	(piecewise_constant_distribution<>::param_type::param_type()): Move
	inline.
	* include/bits/random.h: Adjust, minor tweaks.

From-SVN: r148276
2009-06-08 14:38:48 +00:00
Benjamin Kosnik 5580c6e729 throw_allocator.h: Rework.
2009-06-04  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/throw_allocator.h: Rework.
	* include/ext/pb_ds/detail/debug_map_base.hpp: Adjust usage.
	* include/ext/pb_ds/detail/gp_hash_table_map_/resize_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_/ov_tree_map_.hpp: Same.
	* testsuite/23_containers/list/modifiers/insert/25288.cc: Same.
	* testsuite/util/regression/rand/priority_queue/
	container_rand_regression_test.tcc: Inline functions.
	* testsuite/util/regression/rand/assoc/
	container_rand_regression_test.tcc: Same.

From-SVN: r148204
2009-06-05 08:45:26 +00:00
Paolo Carlini a67b92c3d7 re PR libstdc++/40299 (Rope + C++0x mode = build error)
2009-06-03  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/40299
	* include/ext/memory: Fully qualify calls with __gnu_cxx.
	* testsuite/ext/rope/40299.cc: New.

From-SVN: r148081
2009-06-02 09:06:31 +00:00
Benjamin Kosnik 626e0599af re PR libstdc++/40273 ([C++0x] Invalid conversion to bool is reported)
2009-05-27  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/40273
	* include/tr1_impl/functional: Add explicit cast.
	* testsuite/20_util/function/requirements/
	explicit_instantiation.cc: New.
	* testsuite/20_util/function/null_pointer_comparisons.cc: New.

From-SVN: r147930
2009-05-27 20:32:30 +00:00
Benjamin Kosnik e4c29fbc9e re PR bootstrap/40221 (Powerpc bootstrap is broken in building libstdc++)
2009-05-21  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/40221
	* include/tr1_impl/functional: Add explicit cast.

From-SVN: r147794
2009-05-22 07:19:37 +00:00
Paolo Carlini e2792913bd re PR libstdc++/40094 (FAIL: ext/throw_allocator/deallocate_global.cc execution test)
2009-05-21  Paolo Carlini  <paolo.carlini@oracle.com>
	
	PR libstdc++/40094
	Revert:
	2009-05-07  Paolo Carlini  <paolo.carlini@oracle.com>
	* include/ext/throw_allocator.h (throw_allocator_base): Avoid
	out of line member functions definitions.
	(throw_allocator_base::_S_g, _S_map, _S_throw_prob, _S_label):
	Remove, use static locals instead.
	(throw_allocator_base::do_check_allocated, print_to_string): Declare.
	* src/throw_allocator.cc: New.
	* src/Makefile.am: Add.
	* config/abi/pre/gnu.ver: Add exports.
	* src/Makefile.in: Regenerate.

From-SVN: r147788
2009-05-22 01:28:50 +00:00
Benjamin Kosnik d29d4507b2 functional (function): Use explicit operator bool.
2009-05-20  Benjamin Kosnik  <bkoz@redhat.com>

	* include/tr1_impl/functional (function): Use explicit operator bool.
	* include/bits/shared_ptr.h (__shared_ptr): Same.
	* include/bits/unique_ptr.h (unique_ptr): Same.
	* include/std/mutex (unique_lock): Same.
	* include/std/system_error (error_code): Same.
	(error_condition): Same.
	* include/std/ostream (sentry): Same.
	* include/std/istream (sentry): Same.
	* testsuite/19_diagnostics/error_condition/operators/bool.cc: Adjust.
	* testsuite/19_diagnostics/error_condition/operators/bool_neg.cc: Same.
	* testsuite/19_diagnostics/error_code/operators/bool.cc: Same.
	* testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Same.
	* testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Same.
	* testsuite/20_util/unique_ptr/assign/assign_neg.cc: Same.
	* testsuite/20_util/shared_ptr/observers/bool_conv.cc: Same.

From-SVN: r147756
2009-05-21 01:12:00 +00:00
Paolo Carlini c8036448d1 re PR libstdc++/40184 (locale(const char* std_name) can create invalid facets for nonuniform locale)
2009-05-19  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/40184
	* include/bits/locale_classes.h (locale::facet::_S_lc_ctype_c_locale):
	Declare...
	* config/locale/gnu/c_locale.cc: ... and define.
	* config/locale/generic/c_locale.cc: Define.
	* src/localename.cc (locale::_Impl::_Impl(const char*, size_t)):
	Use it.
	* testsuite/22_locale/locale/cons/40184.cc: New.

From-SVN: r147714
2009-05-19 18:20:47 +00:00
Paolo Carlini cf0e6fff1d re PR c++/40192 (Unable to use std::vector with typedef'd array types)
2009-05-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/40192
	* include/bits/stl_construct.h (struct _Destroy_aux): Add.
	(_Destroy(_ForwardIterator, _ForwardIterator)): Use the latter.
	* testsuite/23_containers/vector/40192.cc: New.

From-SVN: r147680
2009-05-18 23:16:20 +00:00
Jonathan Wakely ff74fd1325 stl_pair.h (swap): Do not swap rvalues.
2009-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/bits/stl_pair.h (swap): Do not swap rvalues.
	* include/bits/stl_deque.h (swap): Likewise.
	* include/bits/stl_list.h (swap): Likewise.
	* include/bits/stl_vector.h (swap): Likewise.
	* include/bits/stl_bvector.h (swap): Likewise.
	* include/bits/stl_queue.h (swap): Likewise.
	* include/bits/stl_stack.h (swap): Likewise.
	* include/bits/stl_tree.h (swap): Likewise.
	* include/bits/stl_map.h (swap): Likewise.
	* include/bits/stl_multimap.h (swap): Likewise.
	* include/bits/stl_set.h (swap): Likewise.
	* include/bits/stl_multiset.h (swap): Likewise.
	* include/bits/forward_list.h (swap): Likewise.
	* include/bits/unique_ptr.h (swap): Likewise.
	* include/debug/deque (swap): Likewise.
	* include/debug/list (swap): Likewise.
	* include/debug/vector (swap): Likewise.
	* include/debug/map.h (swap): Likewise.
	* include/debug/multimap.h (swap): Likewise.
	* include/debug/set.h (swap): Likewise.
	* include/debug/multiset.h (swap): Likewise.
	* include/debug/unordered_map (swap): Likewise.
	* include/debug/unordered_set (swap): Likewise.
	* include/ext/vstring.h (swap): Likewise.
	* include/tr1_impl/unordered_map (swap): Likewise.
	* include/tr1_impl/hashtable (swap): Likewise.
	* include/tr1_impl/unordered_set (swap): Likewise.
	* include/std/tuple (swap): Likewise.
	* include/std/mutex (swap): Likewise.
	* include/std/thread (swap): Likewise.
	(operator<<): Only output to lvalue streams.
	* testsuite/20_util/shared_ptr/modifiers/swap_rvalue.cc: Remove.
	* testsuite/23_containers/headers/forward_list/synopsis.cc: Adjust.
	* testsuite/23_containers/deque/requirements/dr438/
	assign_neg.cc: Adjust line numbers.
	* 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/deque/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	assign_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/list/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	assign_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/vector/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/30_threads/thread/swap/1.cc: Swap with lvalue and also
	test non-member swap.
	* testsuite/30_threads/thread/swap/2.cc: Remove.

From-SVN: r147678
2009-05-18 23:15:56 +01:00
Jonathan Wakely 5c64575096 mutex: Move std::lock_error to ...
2009-05-13  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/mutex: Move std::lock_error to ...
	* src/compatibility.cc: Here.
	* src/mutex.cc: Likewise.
	* testsuite/30_threads/headers/mutex/types_std_c++0x.cc: Add checks
	for lock types and remove std::lock_error check.

From-SVN: r147609
2009-05-16 11:09:02 +01:00
Paolo Carlini 0f136367bc re PR libstdc++/40160 (-fno-rtti vs _GLIBCXX_DEBUG)
2009-05-15  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/40160
	* include/debug/formatter.h (_Parameter::_Parameter): Don't use
	typeid when __GXX_RTTI is undefined.
	* src/debug.cc (_Error_formatter::_Parameter::_M_print_field): Adjust
	for null _M_variant._M_iterator._M_type,
	_M_variant._M_iterator._M_seq_type, _M_variant._M_sequence._M_type.
	* testsuite/21_strings/basic_string/40160.cc: New.

From-SVN: r147599
2009-05-15 22:25:24 +00:00
Paolo Carlini 6855fe452e re PR libstdc++/40123 (Revision 147395 failed libstc++ tests)
2009-05-14  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/40123
	* random.tcc (independent_bits_engine<>::operator()()): Use
	result_type(1), not 1UL.

	* random.tcc (independent_bits_engine<>::operator()()): Use _M_b.max()
	and _M_b.min(), instead of this->max() and this->min().

	* random.h (_ShiftMin1): Remove, adjust everywhere.

	* random.tcc: Minor cosmetic changes.

From-SVN: r147538
2009-05-14 17:56:17 +00:00
Paolo Carlini e1a0296342 random.tcc (cauchy_distribution<>:: operator()(_UniformRandomNumberGenerator&, const param_type&)): Avoid M_PI, a glibc extension.
2009-05-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.tcc (cauchy_distribution<>::
	operator()(_UniformRandomNumberGenerator&, const param_type&)): 
	Avoid M_PI, a glibc extension.

From-SVN: r147521
2009-05-14 08:14:54 +00:00
Ben Elliston d68646978c Makefile.am (PCHFLAGS): Remove -Winvalid-pch.
* include/Makefile.am (PCHFLAGS): Remove -Winvalid-pch.
	* include/Makefile.in: Likewise.

From-SVN: r147459
2009-05-13 10:17:09 +10:00
Paolo Carlini 29e357fd7c throw_allocator.h: Remove redundante include.
2009-05-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/ext/throw_allocator.h: Remove redundante include.

From-SVN: r147265
2009-05-08 00:49:35 +00:00
Paolo Carlini 9fcf9c24a1 throw_allocator.h (throw_allocator_base): Avoid out of line member functions definitions.
2009-05-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/ext/throw_allocator.h (throw_allocator_base): Avoid
	out of line member functions definitions.
	(throw_allocator_base::_S_g, _S_map, _S_throw_prob, _S_label):
	Remove, use static locals instead.
	(throw_allocator_base::do_check_allocated, print_to_string): Declare.
	* src/throw_allocator.cc: New.
	* src/Makefile.am: Add.
	* config/abi/pre/gnu.ver: Add exports.
	* src/Makefile.in: Regenerate.

From-SVN: r147264
2009-05-08 00:39:28 +00:00
Johannes Singler c8ecfecfd4 re PR libstdc++/39546 (parallel mode doesn't support implicit string conversion)
2009-05-06  Johannes Singler  <singler@ira.uka.de>

        PR libstdc++/39546
        * include/parallel/algo.h (find_switch):
        Parametrize binder2nd with const T& instead of T.
        * testsuite/25_algorithms/find/39546.cc: new test case

From-SVN: r147169
2009-05-06 11:20:35 +00:00
Jonathan Wakely efdb734755 re PR libstdc++/39909 (non-TLS version of std::call_once causes terminate)
2009-05-05  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/39909
	* include/std/mutex (__get_once_functor_lock, __get_once_mutex,
	__set_once_functor_lock_ptr): Replace global lock object with local
	locks on global mutex.
	* src/mutex.cc (__get_once_functor_lock, __get_once_mutex,
	__set_once_functor_lock_ptr): Likewise, keeping old function to
	preserve ABI.
	(__once_proxy): Use pointer to local lock if set, global lock
	otherwise.
	* config/abi/pre/gnu.ver: Add new symbols to new ABI version.
	* testsuite/util/testsuite_abi.cc: Add GLIBCX_3.4.12 version.
	* testsuite/30_threads/call_once/39909.cc: New.

From-SVN: r147137
2009-05-05 22:32:38 +01:00
Jan Hubicka b91cc3b9dc settings.h (get): Mark const.
* include/parallel/settings.h (get): Mark const.
	* libsupc++/unwind-cxx.h (__cxa_call_terminate): Mark throw ().
	* libsupc++/eh_call.cc (__cxa_call_terminate): Mark throw ().
	* config/io/basic_file_stdio.cc (sys_open, is_open, fd, seekoff): Mark
	throw ().
	* config/io/basic_file_stdio.h (__basic_file, sys_open): Mark throw ().
	(is_open, fd): Mark pure and throw ().
	(seekoff): Mark throw ().

From-SVN: r147077
2009-05-03 16:51:50 +00:00
Jan Hubicka 25195e8264 functional_hash.h (explicit specializations of () operator): Mark pure.
* include/tr1_impl/functional_hash.h (explicit specializations of ()
	operator): Mark pure.

From-SVN: r147062
2009-05-02 13:22:49 +00:00
Paolo Carlini cca36d72b9 2009-04-26 Paolo Carlini <paolo.carlini@oracle.com>
Revert the last commit.

From-SVN: r146796
2009-04-26 10:12:08 +00:00
Jonathan Wakely afdb7762cb mutex (__get_once_functor_lock, [...]): Replace global lock object with local locks on global mutex.
2009-04-25  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/mutex (__get_once_functor_lock, __get_once_mutex):
	Replace global lock object with local locks on global mutex.
	* src/mutex.cc: Likewise.
	* config/abi/pre/gnu.ver: Adjust.
	* testsuite/30_threads/call_once/call_once2.cc: New.

From-SVN: r146785
2009-04-25 21:14:27 +01:00
Paolo Carlini bb81f9a082 re PR libstdc++/39880 (Specialisation is_error_code_enum<errc> should not exist)
2009-04-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/39880
	PR libstdc++/39881
	PR libstdc++/39882
	* include/std/system_error (is_error_code_enum<errc>): Remove.
	(error_condition<>::error_condition(_ErrorCodeEnum,)
	error_condition<>::operator=(_ErrorCodeEnum)): Use make_error_condition.
	(error_code<>::error_code(_ErrorCodeEnum,),
	error_code<>::operator=(_ErrorCodeEnum)): Use make_error_code.
	* testsuite/19_diagnostics/system_error/39880.cc: New.
	* testsuite/19_diagnostics/error_condition/modifiers/39881.cc:
	Likewise.
	* testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
	* testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
	* testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
	Adjust.
	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc:
	Likewise.
	* testsuite/19_diagnostics/error_code/cons/1.cc: Likewise.
	* testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise.
	* testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
	* testsuite/19_diagnostics/error_code/operators/not_equal.cc:
	Likewise.
	* testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Likewise.
	* testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
	* testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/2.cc: Likewise.

From-SVN: r146780
2009-04-25 19:00:52 +00:00
Jan Hubicka e762c6f4c6 array (at): Do not use builtin_expect.
* include/tr1_impl/array (at): Do not use builtin_expect.
	* include/ext/throw_allocator.h (allocate): Likewise.
	* include/ext/pool_allocator.h (allocate): Likweise.
	* include/ext/bitmap_allocator.h (allocate): Likewise.
	* include/ext/rc_string_base.h (_S_construct): Likewise.
	* include/ext/malloc_allocator.h (allocate): Likewise.
	* include/ext/mt_allocator.h (allocate): Likewise.
	* include/ext/sso_string_base.h (_M_construct): Likewise.
	* include/bits/basic_string.tcc (_S_construct): Likewise.

From-SVN: r146681
2009-04-24 09:35:19 +00:00
Jan Hubicka 1cae1c5fc0 cstdlib (abort, [...]): Mark noreturn throw ().
* include/c_std/cstdlib (abort, exit, _Exit): Mark noreturn throw ().
	(atexit, atoll, stroll, strtoull): Mark throw ()
	* include/c_std/cstdio (snprintf, vsnprintf, vscanf): Mark throw ().
	* include/c_std/cwchar (wcstold, wcstoll, wcstoull): Mark throw ().
	* include/c_global/cstdlib (abort, exit, _Exit): Mark noreturn throw ().
	(atexit, atoll, stroll, strtoull): Mark throw ()
	* include/c_global/cstdio (snprintf, vsnprintf, vscanf): Mark throw ().
	* include/c_wchar/cstdio (snprintf, vsnprintf, vscanf): Mark throw ().

From-SVN: r146604
2009-04-22 17:41:33 +00:00
Jan Hubicka 09f2a1e440 * include/ext/atomicity.h
(__exchange_and_add, __atomic_add): Mark throw ().
	* config/os/aix/atomicity.h
	* config/os/aix/atomicity.h
	* config/os/irix/atomicity.h
	* config/cpu/cris/atomicity.h
	* config/cpu/m68k/atomicity.h
	* config/cpu/hppa/atomicity.h
	* config/cpu/sparc/atomicity.h
	* config/cpu/i386/atomicity.h
	* config/cpu/i486/atomicity.h
	* config/cpu/sh/atomicity.h
	* config/cpu/generic/atomicity_mutex/atomicity.h
	* config/cpu/generic/atomicity_builtins/atomicity.h
	(__exchange_and_add, __atomic_add): Mark throw ().

From-SVN: r146576
2009-04-22 13:13:55 +00:00
Paolo Carlini ed2807f4cd re PR libstdc++/39835 (Bootstrap failure: libstdc++-v3/include/bits/random.h:3630: error: expected â,â or â...â before numeric constant)
2009-04-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/39835
	* include/bits/random.h: Avoid the badname __alpha (and, for
	consistency, __beta too).
	* include/bits/random.tcc: Likewise.

From-SVN: r146516
2009-04-21 11:42:51 +00:00
Jan Hubicka 9b074dc6c1 stdatomic.h (__atomic_flag_for_address): Use _GLIBCXX_NOTHROW.
* include/c_compatibility/stdatomic.h (__atomic_flag_for_address): Use
	_GLIBCXX_NOTHROW.

From-SVN: r146348
2009-04-19 13:16:34 +00:00
Jan Hubicka 9225b33903 stdatomic.h (atomic_flag_test_and_set_explicit, [...]): Use _GLIBCXX_NOTHROW.
* c_compatibility/stdatomic.h (atomic_flag_test_and_set_explicit,
	atomic_flag_clear_explicit, __atomic_flag_wait_explicit): Use
	_GLIBCXX_NOTHROW.
	* bits/c++config (_GLIBCXX_NOTHROW): New.

From-SVN: r146341
2009-04-19 09:36:10 +00:00
Jan Hubicka 5d51b87af4 pool_allocator.cc (_M_get_free_list, [...]): Mark throw ()
* src/pool_allocator.cc (_M_get_free_list, _M_get_mutex): Mark throw ()
	* src/mt_allocator.cc (_M_reclaim_block, _M_reclaim_block,
	_M_destroy_thread_key): Mark throw ()
	* debug.cc (_M_get_mutex, _M_attach_single, _M_detach_single,
	_M_singular, _M_can_compare _M_get_mutex, _M_message,
	_M_get_max_length): Mark throw ().
	* include/debug/formatter.h (_M_message, _M_format_word,
	_M_get_max_length): Mark throw ().
	* include/debug/safe_base.h (_M_get_mutex, _M_attach_single,
	_M_detach_single): Mark throw ().
	(_M_singular, _M_can_compare, _M_get_mutex): Mark pure and throw ().
	* include/ext/pool_allocator.h (_M_get_free_list): Mark const and
	throw ()
	(_M_get_mutex): Mark throw ().
	* include/ext/mt_allocator.h (_M_reclaim_block): Mark throw ();
	(_M_destroy_thread_key): Mark CONST and throw.
	* include/bits/stl_list.h (swap, transfer, reverse, hook, unhook): Mark
	throw ().

From-SVN: r146330
2009-04-18 22:02:19 +00:00
Jan Hubicka 50a681c4ee condition_variable.cc (condition_variable, [...]): Mark throw()
* src/condition_variable.cc (condition_variable,
	condition_variable_any constructors): Mark throw()
	* src/hash.cc (operator() for long double, string, and wstring): Mark
	throw ().
	* src/strstream.cc (strstreambuf constructors, freeze, str, pcount,
	_M_setup, rdbuf, str): Mark throw ().
	* src/chrono.cc (new): Mark throw ().
	* include/std/system_error (system_category, generic_category): Mark
	throw () and const.
	* include/std/chrono (now): Mark throw ().
	* include/std/condition_variable (condition_variable,
	~condition_variable, condition_variable_any,
	~condition_variable_any): Mark throw ().
	* include/std/mutex (mutex): Mark throw ().
	* include/bits/stl_list.h (swap, transfer, reverse, hook, unhook): Mark
	throw.
	* include/bits/functional_hash.h (operator()  on size_t): Mark pure and throw ().
	* include/bits/locale_facets.tcc (__verify_grouping): Mark pure.
	* include/bits/locale_classes.h (_S_initialize_once,
	_S_clone_c_locale): Mark throw ().
	(_S_get_c_name): Mark const and throw ().
	(_M_id, _M_compare, _M_transform, _M_compare, _M_transform): Mark throw ().
	* include/bits/locale_facets.h (__convert_to_v explicit instances):
	Mark throw ().
	(_M_convert_to_wmask, _M_initialize_ctype, _S_format_float): Mark throw ().
	* include/bits/ios_base.h (_M_dispose_callbacks, _M_init, imbue,
	ios_base): Mark throw ()
	* include/bits/locale_facets_nonio.h (_M_put): Mark throw.
	* include/backward/strstream (strstreambuf constructors): Mark throw ().
	(str, freeze, _M_setupf): Mark throw ().
	(pcount): Mark pure and throw ().
	(rdbuf): Mark const and throw ().

From-SVN: r146328
2009-04-18 21:19:18 +00:00
Paolo Carlini 2daad65eaf re PR libstdc++/39802 (std::num_get fails to parse negative zero input correctly)
2009-04-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/39802
	* include/bits/locale_facets.tcc (num_get<>::_M_extract_int
	(_InIter, _InIter, ios_base&, ios_base::iostate&, _ValueT&)):
	Always accept negative values, for unsigned types too.
	* testsuite/22_locale/num_get/get/char/39802.cc: New.
	* testsuite/22_locale/num_get/get/wchar_t/39802.cc: Likewise.

From-SVN: r146323
2009-04-18 19:28:40 +00:00
Jan Hubicka b8add5942c formater.h: Include bits/c++config.h.
* include/debug/formater.h: Include bits/c++config.h.
	(_M_error): Mark noreturn.
	* include/bits/c++config (_GLIBCXX_PURE, _GLIBCXX_CONST,
	_GLIBCXX_NORETURN): New.
	* include/bits/stl_tree.h (_Rb_tree_increment, _Rb_tree_increment,
	_Rb_tree_decrement, _Rb_tree_decrement, _Rb_tree_black_count): Mark pure.
	* include/c_compatibility/stdatomic.h (atomic_flag_test_and_set_explicit,
	atomic_flag_clear_explicit, __atomic_flag_wait_explicit,
	__atomic_flag_for_address): Mark by throw ().
	* src/atomic.cc (atomic_flag_test_and_set_explicit,
	atomic_flag_clear_explicit, __atomic_flag_wait_explicit,
	__atomic_flag_for_address): Mark by throw ().

From-SVN: r146317
2009-04-18 15:48:16 +00:00
Jan Hubicka 1cf1c842c5 tree.cc (_Rb_tree_increment, [...]): Mark nothrow; update uses of _Rb_tree_rotate_left, _Rb_tree_rotate_right.
* tree.cc (_Rb_tree_increment, _Rb_tree_decrement,
	_Rb_tree_rebalance_for_erase, _Rb_tree_black_count): Mark nothrow;
	update uses of _Rb_tree_rotate_left, _Rb_tree_rotate_right.
	(_Rb_tree_rotate_left, _Rb_tree_rotate_right): Make wrapper and break
	out body to ...
	(local_Rb_tree_rotate_left, local_Rb_tree_rotate_right): New static
	functions.
	* stl_tree.h (_Rb_tree_increment, _Rb_tree_decrement,
	_Rb_tree_insert_and_rebalance, _Rb_tree_rebalance_for_erase,
	_Rb_tree_black_count): Mark nothrow.

From-SVN: r146184
2009-04-16 13:01:17 +00:00
Paolo Carlini 9093359a7b c++config: Revert inadvertent change.
2009-04-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/c++config: Revert inadvertent change.

From-SVN: r146172
2009-04-16 11:48:38 +00:00
Paolo Carlini 42fb6c83dd forward_list.h: Remove default std::allocator<_Tp> from base classes.
2009-04-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.h: Remove default std::allocator<_Tp>
	from base classes.
	* testsuite/23_containers/forward_list/capacity/1.cc: Adjust.

From-SVN: r146171
2009-04-16 11:46:25 +00:00
Paolo Carlini 96a9203b1c PR libstdc++/39629 (final bits)
2009-04-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/39629 (final bits)
	* include/bits/random.h (subtract_with_carry_engine<>::_S_modulus):
	Remove, consistently use __detail::_Shift<_UIntType, __w>::__value.
	* include/bits/random.tcc (shuffle_order_engine<>::operator()()):
	Fix formula for __j.
	* include/bits/random.tcc (operator==(const normal_distribution<>&,
	const normal_distribution<>&): Remove.
	* include/bits/random.h (operator==(const uniform_int_distribution<>&,
	const uniform_int_distribution<>&), operator==(const
	uniform_real_distribution<>&, const uniform_real_distribution<>&),
	operator==(const normal_distribution<>&, const normal_distribution<>&), 
	operator==(const lognormal_distribution<>&,
	const lognormal_distribution<>&), operator==(const
	chi_squared_distribution<>&, const chi_squared_distribution<>&),
	operator==(const cauchy_distribution<>&, const cauchy_distribution<>&),
	operator==(const fisher_distribution<>&, const fisher_distribution<>&),
	operator==(const student_t_distribution<>&,
	const student_t_distribution<>&), operator==(const
	bernoulli_distribution<>&, const bernoulli_distribution<>&),
	operator==(const binomial_distribution<>&, const
	binomial_distribution<>&), operator==(const geometric_distribution<>&,
	const geometric_distribution<>&), operator==(const
	negative_binomial_distribution<>&, const 
	negative_binomial_distribution<>&), operator==(const
	poisson_distribution<>&, const poisson_distribution<>&),
	operator==(const exponential_distribution<>&,
	const exponential_distribution<>&), operator==(const
	gamma_distribution<>&, const gamma_distribution<>&), operator==(const
	weibull_distribution<>&, const weibull_distribution<>&),
	operator==(const extreme_value_distribution<>&,
	const extreme_value_distribution<>&), operator==(const
	discrete_distribution<>&, const discrete_distribution<>&),
	operator==(const piecewise_constant_distribution<>&,
	const piecewise_constant_distribution<>&), operator==(const
	piecewise_linear_distribution<>&, const
	piecewise_linear_distribution<>&)): Remove.
	* testsuite/26_numerics/random/uniform_real_distribution/operators/
	serialize.cc: Remove.
	* testsuite/26_numerics/random/piecewise_constant_distribution/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/chi_squared_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/normal_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/uniform_int_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/poisson_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/bernoulli_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/discrete_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/weibull_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/negative_binomial_distribution/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/cauchy_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/gamma_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/fisher_f_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/exponential_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/lognormal_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/binomial_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/extreme_value_distribution/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/piecewise_linear_distribution/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/student_t_distribution/operators/
	serialize.cc: Likewise.
	* testsuite/26_numerics/random/geometric_distribution/operators/
	serialize.cc: Likewise.

	* include/bits/random.h (linear_congruential_engine<>::seed(_Gen&,
	true_type), linear_congruential_engine<>::seed(_Gen&, false_type),
	mersenne_twister_engine<>::seed(_Gen&,
	true_type), mersenne_twister_engine<>::seed(_Gen&, false_type),
	subtract_with_carry_engine<>::seed(_Gen&,
	true_type), subtract_with_carry_engine<>::seed(_Gen&, false_type)):
	Remove, unused.
	* include/bits/random.tcc (linear_congruential_engine<>::
	seed(_Gen&, false_type): Likewise.

From-SVN: r145867
2009-04-09 23:37:08 +00:00
Jakub Jelinek 748086b7b2 Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.
From-SVN: r145841
2009-04-09 17:00:19 +02:00
Ian Lance Taylor 9767a048ab hashtable.h (erase): Correctly handle erasing a reference to an entry in the hash table.
* include/backward/hashtable.h (erase): Correctly handle erasing a
	reference to an entry in the hash table.
	* testsuite/backward/hash_map/25896.cc: New.
	* testsuite/backward/hash_set/25896.cc: New.

From-SVN: r145788
2009-04-08 23:58:31 +00:00
Benjamin Kosnik 04b7027180 Makefile.am (${pch1a_output}): Use gnu++0x flags instead of debug.
2009-04-06  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am (${pch1a_output}): Use gnu++0x flags instead
	of debug.
	* include/Makefile.in: Regenerate.
	* include/precompiled/stdc++.h: Add.

	* doc/xml/api.xml: Add gcc-4.4 link.
	* doc/html/api.html: Regenerate.

2009-04-06  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/random.h: Adjust doxygen markup.
	* doc/doxygen/user.cfg.in: Prefer C++0x to tr1 includes.

	* testsuite/26_numerics/random/piecewise_linear_distribution/
	operators/serialize.cc: Use typedefs.

From-SVN: r145645
2009-04-07 01:46:45 +00:00
Paolo Carlini 1ae3576fa4 random.tcc (linear_congruential_engine<>:: seed(seed_seq&)): Fix typo in last fix for __m == 0.
2009-04-06  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.tcc (linear_congruential_engine<>::
	seed(seed_seq&)): Fix typo in last fix for __m == 0.

From-SVN: r145605
2009-04-06 14:50:06 +00:00
Paolo Carlini 94986f6d35 random.h (operator==): Mark all inline.
2009-04-06  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.h (operator==): Mark all inline.
	(mersenne_twister_engine): Enable #if 0 checks.

	* include/bits/random.h: Formatting tweaks.

From-SVN: r145602
2009-04-06 13:31:12 +00:00
Paolo Carlini 9769c19080 random.tcc (piecewise_linear_distribution<>:: operator()(_UniformRandomNumberGenerator&, const param_type&)): Remove spurious closed parenthesis.
2009-04-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.tcc (piecewise_linear_distribution<>::
	operator()(_UniformRandomNumberGenerator&, const param_type&)):
	Remove spurious closed parenthesis.

From-SVN: r145575
2009-04-05 22:51:37 +00:00
Paolo Carlini 2fcf6ffb76 PR libstdc++/39644 (partial)
2009-04-05  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/39644 (partial)
	* include/bits/random.tcc (linear_congruential_engine<>::
	seed(seed_seq&), independent_bits_engine<>::operator(),
	generate_canonical(_UniformRandomNumberGenerator&)): Avoid log2l.

From-SVN: r145563
2009-04-05 16:56:16 +00:00
Paolo Carlini 42a733047e [multiple changes]
2009-04-05  Edward M. Smith-Rowland  <3dw4rd@verizon.net>

	* include/bits/random.h (struct _ShiftMin1): Fix small typo and
	thinko.
	* testsuite/26_numerics/random/mersenne_twister_engine/cons/
	default.cc: Enable.

2009-04-05  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/39629 (partial)
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	base_move.cc: Use uint_fast64_t instead of unsigned long.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	seed1.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	seed2.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	base_copy.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	default.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	seed_seq.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/
	requirements/typedefs.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/
	operators/equal.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/mt19937_64.cc: Use ull.

From-SVN: r145553
2009-04-04 23:09:02 +00:00
Paolo Carlini 95fe602ebe random: Remove, empty.
2009-04-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/tr1_impl/random: Remove, empty.
	* include/tr1_impl/random.tcc: Likewise.

	* include/std/random: Minor clean-ups, formatting fixes, adjust
	copyright years.
	* include/bits/random.tcc: Likewise.
	* include/bits/random.h: Likewise.
	* include/tr1/random: Likewise.
	* include/tr1/random.tcc: Likewise.
	* include/tr1/random.h: Likewise.

From-SVN: r145493
2009-04-03 10:01:47 +00:00
Benjamin Kosnik 8e79468d01 [multiple changes]
2009-04-02  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
	Change to mersenne_twister_engine, add same defaults as
	mersenne_twister_engine/cons/default.cc.
	* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Same.

	* include/bits/random.tcc (seed_seq::seed_seq): Uglify parameter
	to __il.
	* include/bits/random.h (mersenne_twister_engine): Qualify
	_ShiftMin1 with namespace __detail.
	(__detail::_ShiftMin1): Use __gnu_cxx::__numeric_traits::max until
	constexpr std::numeric_limits::max() can be used.
	(mersenne_twister_engine): Split apart static asserts into one
	assert per message. Temporarily disable the last three.

2009-04-02  Edward Smith-Rowland  <3dw4rd@verizon.net>

	* include/Makefile.am: Update to N2836. Modified for new random headers.
	* include/Makefile.in: Ditto.
	* include/tr1_impl/random: Moved to tr1/random.h
	* include/tr1_impl/random.tcc: Moved to tr1
	* include/tr1/random: Just point to moved tr1 random headers.
	* include/tr1/random.tcc: Moved from tr1_impl.
	* include/tr1/random.h: Moved from tr1_impl/random.
	* include/std/random: Modified to point to std random headers.
	* include/bits/random.tcc: New implementation of std random facilities.
	* include/bits/random.h: Ditto.
	* testsuite/26_numerics/headers/random/std_c++0x_neg.cc: Changed.
	* testsuite/26_numerics/random/linear_congruential_engine/cons/
	seed1.cc: New.
	* testsuite/26_numerics/random/linear_congruential_engine/cons/
	seed2.cc: New.
	* testsuite/26_numerics/random/linear_congruential_engine/cons/
	default.cc: New.
	* testsuite/26_numerics/random/linear_congruential_engine/requirements/
	non_uint_neg.cc: New.
	* testsuite/26_numerics/random/linear_congruential_engine/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/linear_congruential_engine/operators/
	equal.cc: New.
	* testsuite/26_numerics/random/linear_congruential_engine/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/mersenne_twister_engine/cons/
	seed1.cc: New.
	* testsuite/26_numerics/random/mersenne_twister_engine/cons/
	seed2.cc: New.
	* testsuite/26_numerics/random/mersenne_twister_engine/cons/
	default.cc: New.
	* testsuite/26_numerics/random/mersenne_twister_engine/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/mersenne_twister_engine/operators/
	equal.cc: New.
	* testsuite/26_numerics/random/mersenne_twister_engine/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/
	seed1.cc: New.
	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/
	seed2.cc: New.
	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/
	default.cc: New.
	* testsuite/26_numerics/random/subtract_with_carry_engine/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/subtract_with_carry_engine/operators/
	equal.cc: New.
	* testsuite/26_numerics/random/subtract_with_carry_engine/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/discard_block_engine/cons/
	base_move.cc: New.
	* testsuite/26_numerics/random/discard_block_engine/cons/
	seed1.cc: New.
	* testsuite/26_numerics/random/discard_block_engine/cons/
	seed2.cc: New.
	* testsuite/26_numerics/random/discard_block_engine/cons/
	base_copy.cc: New.
	* testsuite/26_numerics/random/discard_block_engine/cons/
	default.cc: New.
	* testsuite/26_numerics/random/discard_block_engine/cons/
	seed_seq.cc: New.
	* testsuite/26_numerics/random/discard_block_engine/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/discard_block_engine/operators/
	equal.cc: New.
	* testsuite/26_numerics/random/discard_block_engine/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	base_move.cc: New.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	seed1.cc: New.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	seed2.cc: New.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	base_copy.cc: New.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	default.cc: New.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	seed_seq.cc: New.
	* testsuite/26_numerics/random/independent_bits_engine/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/independent_bits_engine/operators/
	equal.cc: New.
	* testsuite/26_numerics/random/independent_bits_engine/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/
	base_move.cc: New.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/
	seed1.cc: New.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/
	seed2.cc: New.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/
	base_copy.cc: New.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/
	default.cc: New.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/
	seed_seq.cc: New.
	* testsuite/26_numerics/random/shuffle_order_engine/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/shuffle_order_engine/operators/
	equal.cc: New.
	* testsuite/26_numerics/random/shuffle_order_engine/operators/
	serialize.cc
	* testsuite/26_numerics/random/mt19937.cc: New.
	* testsuite/26_numerics/random/mt19937_64.cc: New.
	* testsuite/26_numerics/random/minstd_rand.cc: New.
	* testsuite/26_numerics/random/minstd_rand0.cc: New.
	* testsuite/26_numerics/random/ranlux24_base.cc: New.
	* testsuite/26_numerics/random/ranlux48_base.cc: New.
	* testsuite/26_numerics/random/ranlux24.cc: New.
	* testsuite/26_numerics/random/ranlux48.cc: New.
	* testsuite/26_numerics/random/knuth_b.cc: New.
	* testsuite/26_numerics/random/default_random_engine.cc: New.
	* testsuite/26_numerics/random/chi_squared_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/chi_squared_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/chi_squared_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/chi_squared_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/normal_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/normal_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/normal_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/normal_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/seed_seq/cons/range.cc: New.
	* testsuite/26_numerics/random/seed_seq/cons/default.cc: New.
	* testsuite/26_numerics/random/seed_seq/requirements/typedefs.cc: New.
	* testsuite/26_numerics/random/uniform_int_distribution/cons/
	parms_neg.cc: New.
	* testsuite/26_numerics/random/uniform_int_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/uniform_int_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/uniform_int_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/uniform_int_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/uniform_real_distribution/cons/
	parms_neg.cc: New.
	* testsuite/26_numerics/random/uniform_real_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/uniform_real_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/uniform_real_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/uniform_real_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/poisson_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/poisson_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/poisson_distribution/requirements/
	typedefs.cc
	* testsuite/26_numerics/random/poisson_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/bernoulli_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/bernoulli_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/bernoulli_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/bernoulli_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/discrete_distribution/cons/
	range.cc: New.
	* testsuite/26_numerics/random/discrete_distribution/cons/
	initlist.cc: New.
	* testsuite/26_numerics/random/discrete_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/discrete_distribution/cons/
	num_xbound_fun.cc: New.
	* testsuite/26_numerics/random/discrete_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/discrete_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/weibull_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/weibull_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/weibull_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/weibull_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/negative_binomial_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/negative_binomial_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/negative_binomial_distribution/
	requirements/typedefs.cc: New.
	* testsuite/26_numerics/random/negative_binomial_distribution/
	operators/serialize.cc: New.
	* testsuite/26_numerics/random/cauchy_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/cauchy_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/cauchy_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/cauchy_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/gamma_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/gamma_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/gamma_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/gamma_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/fisher_f_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/fisher_f_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/fisher_f_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/fisher_f_distribution/operators/
	serialize.cc: New.

	* testsuite/26_numerics/random/exponential_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/exponential_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/exponential_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/exponential_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/lognormal_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/lognormal_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/lognormal_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/lognormal_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/binomial_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/binomial_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/binomial_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/binomial_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/random_device/cons/
	token.cc: New.
	* testsuite/26_numerics/random/random_device/cons/
	default.cc: New.
	* testsuite/26_numerics/random/random_device/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/extreme_value_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/extreme_value_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/extreme_value_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/extreme_value_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/piecewise_linear_distribution/cons/
	range.cc: New.
	* testsuite/26_numerics/random/piecewise_linear_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/piecewise_linear_distribution/cons/
	num_xbound_fun.cc: New.
	* testsuite/26_numerics/random/piecewise_linear_distribution/cons/
	initlist_fun.cc: New.
	* testsuite/26_numerics/random/piecewise_linear_distribution/
	requirements/typedefs.cc: New.
	* testsuite/26_numerics/random/piecewise_linear_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/student_t_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/student_t_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/student_t_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/student_t_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/geometric_distribution/cons/
	parms.cc: New.
	* testsuite/26_numerics/random/geometric_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/geometric_distribution/requirements/
	typedefs.cc: New.
	* testsuite/26_numerics/random/geometric_distribution/operators/
	serialize.cc: New.
	* testsuite/26_numerics/random/piecewise_constant_distribution/cons/
	range.cc: New.
	* testsuite/26_numerics/random/piecewise_constant_distribution/cons/
	default.cc: New.
	* testsuite/26_numerics/random/piecewise_constant_distribution/cons/
	num_xbound_fun.cc: New.
	* testsuite/26_numerics/random/piecewise_constant_distribution/cons/
	initlist_fun.cc: New.
	* testsuite/26_numerics/random/piecewise_constant_distribution/
	requirements/typedefs.cc: New.
	* testsuite/26_numerics/random/piecewise_constant_distribution/
	operators/serialize.cc: New.

From-SVN: r145483
2009-04-02 23:45:56 +00:00
Dodji Seketeli d0940d5662 re PR c++/26693 (Access checks not performed for types in templates)
gcc/ChangeLog:
2009-04-02  Dodji Seketeli  <dodji@redhat.com>

    PR c++/26693
    * c-decl.c: (clone_underlying_type): Move this ...
    * c-common.c (set_underlying_type): ... here.
    Also, make sure the function properly sets TYPE_STUB_DECL() on
    the newly created typedef variant type.
    * c-common.h (is_typedef_decl, set_underlying_type): Declare ...
    * c-common.c (is_typedef_decl, set_underlying_type): ... new entry points.

gcc/cp/ChangeLog:
2009-04-02  Dodji Seketeli  <dodji@redhat.com>

    PR c++/26693
    * decl2.c (grokfield): when a typedef appears in a
    class, create the typedef variant type node for it.
    (save_template_attributes): Creating typedef variant type node
     here is now useless.
    * decl.c (grokdeclarator): If the typedef'ed struct/class was
    anonymous, set the proper type name to all its type variants.
    (xref_basetypes) : Fixup the variant types after setting
    TYPE_BINFO on REF.
    * name-lookup.c (pushdecl_maybe_friend): Reuse the
    set_underlying_type function to install typedef variant types.
    * cp-tree.h (MEMBER_TYPES_NEEDING_ACCESS_CHECK): New template accessor
    macro.
    (append_type_to_template_for_access_check): New entry points.
    * semantics.c (check_accessibility_of_qualified_id):
    When a typedef that is a member of a class appears in a template,
    add it to the template. It will be ...
    * class.c (finish_struct_bits): Split type variant fixup into ...
    (fixup_type_variants): A new entry point.
    * pt.c (instantiate_class_template, instantiate_template ): ... access
    checked at template instantiation time.
    (resolve_type_name_type): The type name should be the name of the
    main type variant.
    (retrieve_specialization): Specializations of template typedefs aren't
    to be looked up in DECL_TEMPLATE_INSTANTIATIONS (tmpl).
    (append_type_to_template_for_access_check): New entry point.
    (tsubst_decl): For typedefs, build the variant type from the correct
    original type.
    (get_class_bindings): Fix function comment.
    (perform_typedefs_access_check): New entry point.

gcc/testsuite/ChangeLog:
2009-04-02  Dodji Seketeli  <dodji@redhat.com>

    PR c++/26693
    * g++.dg/template/typedef11.C: New test.
    * g++.dg/template/typedef12.C: Likewise.
    * g++.dg/template/typedef13.C: Likewise.
    * g++.dg/template/typedef14.C: Likewise.
    * g++.dg/template/typedef15.C: Likewise.
    * g++.dg/template/typedef16.C: Likewise.
    * g++.dg/template/sfinae3.C: Compile this pedantically.
    The only errors expected should be the one saying the typedef is ill
    formed.
    * g++.old-deja/g++.pt/typename8.C: Likewise.
    * g++.dg/template/access11.C: Update this.

libstdc++-v3/ChangeLog:
2009-04-02  Dodji Seketeli  <dodji@redhat.com>

    * include/ext/bitmap_allocator.h: the typedefs should be made public
    if we want them to be accessible. This has been revealed by the patch
    that fixes PR c++/26693 in g++.

From-SVN: r145440
2009-04-02 11:24:19 +02:00
Jason Merrill 0d9c089222 re PR c++/37806 (CV-qualifiers on function typedef's are inconsistently accepted depending on typedef scope)
PR c++/37806
        * typeck.c (cp_apply_type_quals_to_decl): Don't apply any quals
        to a typedef.
        * tree.c (cp_build_qualified_type_real): Don't apply restrict to a
        function type.
        * decl.h (enum decl_context): Add TEMPLATE_TYPE_ARG.
        * decl.c (groktypename): Add is_template_arg parameter.
        (grokdeclarator): Allow function cv-quals on a template type arg.
        * parser.c (cp_parser_new_type_id, cp_parser_type_id): Add
        is_template_arg argument in calls to groktypename.
        * cp-tree.h: Adjust prototype.
        * error.c (dump_type_prefix, dump_type_suffix): Fix plain
        FUNCTION_TYPE printing.

        PR libstdc++/39310
        * include/tr1_impl/type_traits (is_function): Add partial
        specializations with function cv-quals.
        (__is_function_helper): Remove.
        (is_member_pointer): Don't define in terms of is_member_*_pointer.

From-SVN: r145365
2009-03-31 14:31:17 -04:00
Ian Lance Taylor 7db6438d78 hashtable.h (clear): Return quickly if the table is empty.
* include/backward/hashtable.h (clear): Return quickly if the
	table is empty.

From-SVN: r145318
2009-03-30 21:45:51 +00:00
Ian Lance Taylor 9027c95aba hashtable.h (_S_num_primes): Change to 29.
* include/backward/hashtable.h (_S_num_primes): Change to 29.
	(__stl_prime_list): Add 5 at the start of the list.

From-SVN: r145132
2009-03-27 22:01:15 +00:00
Paolo Carlini 13c4b87740 [multiple changes]
2009-03-25  Edward Smith-Rowland  <3dw4rd@verizon.net>

	* include/std/fstream (basic_filebuf<>::open(const std::string&,
	ios_base::openmode), basic_ifstream<>::basic_ifstream(const
	std::string&, ios_base::openmode), basic_ifstream<>::
	open(const std::string&, ios_base::openmode), basic_ofstream<>::
	basic_ofstream(const std::string&, ios_base::openmode),
	basic_ofstream<>::open(const std::string&, ios_base::openmode),
	basic_fstream<>::basic_fstream(const std::string&, ios_base::openmode),
	basic_fstream<>::open(const std::string&, ios_base::openmode)):
	Add in C++0x mode.
	* testsuite/27_io/basic_ofstream/open/char/2.cc: New.
	* testsuite/27_io/basic_ofstream/cons/char/2.cc: Likewise.
	* testsuite/27_io/basic_fstream/open/char/1.cc: Likewise.
	* testsuite/27_io/basic_fstream/cons/char/1.cc: Likewise.
	* testsuite/27_io/basic_ifstream/open/char/1.cc: Likewise.
	* testsuite/27_io/basic_ifstream/cons/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/open/char/5.cc: Likewise.

2009-03-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/27_io/basic_ofstream/cons/char/2.cc: Rename to...
	* testsuite/27_io/basic_ofstream/cons/char/1.cc: ... this.    
	* testsuite/27_io/basic_fstream/cons/3.cc: Rename to...
	* testsuite/27_io/basic_fstream/cons/1.cc: ... this.

From-SVN: r145078
2009-03-25 23:37:53 +00:00
Paolo Carlini 4ba8a4cb63 forward_list.h (_Fwd_list_node_base<>:: _M_transfer_after, [...]): Move out of line...
2009-03-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.h (_Fwd_list_node_base<>::
	_M_transfer_after, _M_reverse_after): Move out of line...
	* include/bits/forward_list.tcc: ... here.
	(forward_list<>::reverse): Move inline...
	* include/bits/forward_list.h: ... here; minor cosmetic changes.

From-SVN: r145069
2009-03-25 16:41:27 +00:00
Paolo Carlini 58366b08d7 type_traits (__add_lvalue_reference_helper, [...]): As an optimization, rewrite condition (avoid is_function).
2009-03-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/type_traits (__add_lvalue_reference_helper,
	__add_rvalue_reference_helper): As an optimization, rewrite
	condition (avoid is_function).

From-SVN: r144868
2009-03-15 00:56:31 +00:00
Jonathan Wakely 32fdf2f406 shared_ptr.h: Add include guards.
2009-03-11  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/bits/shared_ptr.h: Add include guards.
	* include/tr1/shared_ptr.h: Likewise.

From-SVN: r144778
2009-03-11 15:18:12 +00:00
Jonathan Wakely 5df9ac4b39 iostream: Fix doxygen link.
2009-03-11  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/iostream: Fix doxygen link.
	* include/bits/forward_list.h: Fix doxygen markup.
	* include/ext/vstring.h: Escape backslash in doxygen comment.
	* include/bits/basic_string.h: Likewise.

From-SVN: r144777
2009-03-11 15:16:21 +00:00
Paolo Carlini 23cdf8e8f6 complex (operator+(const complex<>&, const _Tp&), [...]): Do not assume real() returns a reference (against DR 387).
2009-03-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/complex (operator+(const complex<>&, const _Tp&),
	operator+(const _Tp&, const complex<>&),
	operator-(const complex<>&, const _Tp&),
	operator-(const _Tp&, const complex<>&)): Do not assume real()
	returns a reference (against DR 387).
	* testsuite/26_numerics/complex/dr387_2.cc: New.

From-SVN: r144770
2009-03-11 01:51:59 +00:00
Benjamin Kosnik 5b9daa7e60 user.cfg.in: Tweaks.
2009-02-20  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/doxygen/user.cfg.in: Tweaks.
	* doc/doxygen/doxygroups.cc: Prefer markup that can be elsewhere,
	be elsewhere.

	* include/tr1_impl/unordered_map: Just use most specialized
	container module.
	* include/tr1_impl/unordered_set: Same.
	* include/tr1_impl/array: Same.
	* include/bits/stl_list.h: Same.
	* include/bits/stl_map.h: Same.
	* include/bits/stl_queue.h: Same.
	* include/bits/stl_set.h: Same.
	* include/bits/stl_stack.h: Same.
	* include/bits/forward_list.h: Same.
	* include/bits/basic_string.h: Same.
	* include/bits/stl_multimap.h: Same.
	* include/bits/stl_vector.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/stl_multiset.h: Same.
	* include/bits/stl_bvector.h: Same.

	* include/backward/binders.h: Change binder module to binders.

	* include/std/complex: Add complex_numers module.
	* include/tr1_impl/complex: Same.

	* include/std/valarray: Add numeric_arrays module.
	* include/bits/gslice_array.h: Same.
	* include/bits/gslice.h: Same.
	* include/bits/mask_array.h: Same.
	* include/bits/slice_array.h: Same.
	* include/bits/indirect_array.h: Same.

	* include/bits/allocator.h: Add allocators module.
	* include/ext/throw_allocator.h
	* include/ext/pool_allocator.h
	* include/ext/bitmap_allocator.h
	* include/ext/new_allocator.h
	* include/ext/malloc_allocator.h
	* include/ext/array_allocator.h
	* include/ext/mt_allocator.h
	* include/ext/debug_allocator.h
	* include/ext/extptr_allocator.h

	* include/tr1_impl/functional: Move namespace markup here.
	* include/tr1_impl/regex: Same.

	* include/tr1_impl/type_traits: Add metaprogramming module.
	* include/std/type_traits: Same.

	* include/std/memory: Add memory module.

	* include/std/ratio: Add ratio module.

	* include/std/chrono: Move namespace markup here, add time module.

	* include/std/thread: Move namespace markup here, add concurrency
	module.
	* include/std/mutex: Use concurrency module.
	* include/std/condition_variable: Same.


	* include/bits/ios_base.h: Refine io module.
	* include/bits/basic_ios.h: Same.
	* include/std/fstream: Same.
	* include/std/istream: Same.
	* include/std/ostream: Same.
	* include/std/sstream: Same.

	* include/ext/vstring.h: Correct parameter markup.

	* include/bits/shared_ptr.h: Add pointer_abstractions module.
	* include/bits/unique_ptr.h: Same.

	* include/bits/algorithmfwd.h: Add mutating_algorithms,
        non_mutating_algorithms, sorting_algorithms. Adjust nesting.
	* include/bits/stl_heap.h: Add markup for new groupings.
	* include/bits/stl_algobase.h: Same.
	* include/bits/stl_algo.h: Same.

	* include/c_compatibility/stdatomic.h: Add atomics module.
	* include/c_global/cstdatomic: Same.

	* libsupc++/exception: Add exceptions module.
	* libsupc++/typeinfo: Same.
	* libsupc++/new: Same.
	* libsupc++/exception_ptr.h: Same.
	* include/std/system_error: Same.
	* include/std/stdexcept: Same.

	* libsupc++/cxxabi.h: Move doxygroups.cc markup here.
	* libsupc++/cxxabi-forced.h: Same.

	* testsuite/27_io/ios_base/cons/assign_neg.cc: Fix up line numbers.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
	* testsuite/30_threads/condition_variable_any/cons/assign_neg.cc: Same.
	* testsuite/30_threads/condition_variable_any/cons/copy_neg.cc: Same.
	* testsuite/30_threads/mutex/cons/assign_neg.cc: Same.
	* testsuite/30_threads/mutex/cons/copy_neg.cc: Same.
	* testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Same.
	* testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Same.
	* testsuite/30_threads/thread/cons/assign_neg.cc: Same.
	* testsuite/30_threads/thread/cons/copy_neg.cc: Same.
	* testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Same.
	* testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Same.
	* testsuite/30_threads/condition_variable/cons/assign_neg.cc: Same.
	* testsuite/30_threads/condition_variable/cons/copy_neg.cc: Same.
	* testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc: Same.
	* testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/20_util/duration/cons/1_neg.cc: Same.
	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Same.
	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same.
	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same.
	* testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Same.
	* testsuite/20_util/unique_ptr/assign/assign.cc: Same.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same.
	* testsuite/20_util/ratio/cons/cons_overflow.cc: Same.
	* testsuite/20_util/ratio/operations/ops_overflow.cc: Same.

From-SVN: r144343
2009-02-21 00:45:21 +00:00
Benjamin Kosnik aac2878e16 doxygroups.cc: Move algorithm groups into algorithmfwd.h.
2009-02-18  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/doxygen/doxygroups.cc: Move algorithm groups into algorithmfwd.h.
	* doc/doxygen/user.cfg.in: Update.
	* scripts/run_doxygen: Adjust for new group names.

	* include/tr1_impl/random: Update doxygen group markup.
	* include/tr1_impl/unordered_map: Same.
	* include/tr1_impl/unordered_set: Same.
	* include/tr1_impl/array: Same.
	* include/std/numeric: Same.
	* include/std/utility: Same.
	* include/std/bitset: Same.
	* include/std/iosfwd: Same.
	* include/bits/stl_list.h: Same.
	* include/bits/stl_map.h: Same.
	* include/bits/stl_algobase.h: Same.
	* include/bits/stl_queue.h: Same.
	* include/bits/stl_set.h: Same.
	* include/bits/stl_stack.h: Same.
	* include/bits/stl_iterator_base_types.h: Same.
	* include/bits/forward_list.h: Same.
	* include/bits/basic_string.h: Same.
	* include/bits/stl_multimap.h: Same.
	* include/bits/stl_vector.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/stl_multiset.h: Same.
	* include/bits/stl_algo.h: Same.
	* include/bits/stl_bvector.h: Same.
	* include/bits/algorithmfwd.h: Same.
	* include/bits/stl_function.h: Same.
	* include/tr1/cmath: Same.
	* include/backward/binders.h: Same.

From-SVN: r144290
2009-02-19 08:15:15 +00:00
Benjamin Kosnik 9b3003d590 system_error (system_category): To system_category().
2009-02-17  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/system_error (system_category): To system_category().
	(generic_category): To generic_category. DR 890.
	* src/system_error.cc: Define.
	* include/bits/functexcept.h: Only one __throw_system_error.
	* src/functexcept.cc: Same.
	* include/std/mutex: Fixup for changes above.
	* testsuite/19_diagnostics/error_condition/cons/1.cc: Same.
	* testsuite/19_diagnostics/error_code/cons/1.cc: Same.
	* testsuite/19_diagnostics/system_error/cons-1.cc: Same.
	* config/abi/pre/gnu.ver: Clean up exports.

From-SVN: r144259
2009-02-18 07:35:36 +00:00
Paolo Carlini bbcac3becb re PR libstdc++/39168 (Incorrect interpretation of CHAR_MAX inside grouping string in monetary and numeric facets.)
2009-02-15  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/39168
	* src/locale_facets.cc (__verify_grouping(const char*, size_t,
	const string&)): Also check that the value != CHAR_MAX.
	* include/bits/locale_facets.tcc (__numpunct_cache<>::
	_M_cache(const locale&), __add_grouping(_CharT*, _CharT,
	const char*, size_t, const _CharT*, const _CharT*)): Likewise.
	* include/bits/locale_facets_nonio.tcc (__moneypunct_cache<>::
	_M_cache(const locale&)): Likewise.
	* testsuite/22_locale/money_put/put/wchar_t/39168.cc: New.
	* testsuite/22_locale/money_put/put/char/39168.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/39168.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/39168.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/39168.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/39168.cc: Likewise.

From-SVN: r144190
2009-02-15 16:47:57 +00:00
Chris Fairles 626dda69bc thread (_Impl_base): Move _M_id out and into ...
2009-02-13  Chris Fairles  <cfairles@gcc.gnu.org>
	    Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/thread (_Impl_base): Move _M_id out and into ...
	(thread): ...here. Call _M_make_routine in body of constructors.
	Adjust data member usage to reflect changes.
	(_M_make_routine): From _M_make_shared_data.
	(_M_start_thread): Add __shared_base_type argument.
	* src/thread.cc: Fixups for above.
	* config/abi/pre/gnu.ver: Adjust exports.
	* testsuite/30_threads/thread/native_handle/typesizes.cc: Enable.
	* testsuite/30_threads/thread/cons/assign_neg.cc: Adjust line numbers.
	* testsuite/30_threads/thread/cons/copy_neg.cc: Same.


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

From-SVN: r144171
2009-02-13 23:08:50 +00:00
Benjamin Kosnik d5cf20212b all.h (compare_type_to_native_type_sizes): To...
2009-02-12  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/util/thread/all.h (compare_type_to_native_type_sizes): To...
	(compare_type_to_native_type): ...this, add alignment check.
	* testsuite/30_threads/condition_variable_any/native_handle/
	typesizes.cc: Modify as above.
	* testsuite/30_threads/mutex/native_handle/typesizes.cc: Same.
	* testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Same.
	* testsuite/30_threads/thread/native_handle/typesizes.cc: Same.
	* testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc: Same.
	* testsuite/30_threads/condition_variable/native_handle/
	typesizes.cc: Same.
	* testsuite/30_threads/recursive_timed_mutex/native_handle/
	typesizes.cc: Same.

	* testsuite/30_threads/thread/cons/1.cc: Add comments.
	* testsuite/30_threads/thread/cons/2.cc: Same.
	* testsuite/30_threads/thread/cons/3.cc: Same.
	* testsuite/30_threads/thread/cons/4.cc: Same.
	* testsuite/30_threads/thread/cons/5.cc: Same.
	* testsuite/30_threads/thread/cons/6.cc: Same.
	* testsuite/30_threads/thread/cons/7.cc: Same.
	* testsuite/30_threads/thread/cons/8.cc: Same.

	* testsuite/30_threads/thread/cons/9.cc: New.
	* testsuite/30_threads/thread/cons/moveable.cc: New.

	* src/condition_variable.cc: Clean up whitespace.
	* include/std/condition_variable: Same.

From-SVN: r144142
2009-02-13 00:14:42 +00:00
Benjamin Kosnik f7459b6c53 condition_variable (condition_variable): Remove _M_internal_mutex.
2009-02-09  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/condition_variable (condition_variable): Remove
	_M_internal_mutex. Add private __native_type typedef.
	* src/condition_variable.cc (condition_variable::notify_one):
	Remove _M_internal_mutex use. Use typedef.
	(condition_variable::notify_all): Same.
	* include/std/mutex (mutex): Add private __native_type typedef. Use it.
	(recursive_mutex): Same.
	(timed_mutex): Same.
	(recursive_timed_mutex): Same.
	(once_flag): Make __native_type typedef private.

	* include/std/thread (this_thread): Add minimal markup.

	* testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
	Adjust line numbers.
	* testsuite/30_threads/condition_variable_any/cons/copy_neg.cc: Same.
	* testsuite/30_threads/mutex/cons/assign_neg.cc: Same.
	* testsuite/30_threads/mutex/cons/copy_neg.cc: Same.
	* testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Same.
	* testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Same.
	* testsuite/30_threads/thread/cons/assign_neg.cc: Same.
	* testsuite/30_threads/thread/cons/copy_neg.cc: Same.
	* testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Same.
	* testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Same.
	* testsuite/30_threads/condition_variable/cons/assign_neg.cc: Same.
	* testsuite/30_threads/condition_variable/cons/copy_neg.cc: Same.
	* testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc: Same.
	* testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: Same.

	* testsuite/util/thread/all.h: Testsuite utilities for testing thread.
	* testsuite/30_threads/condition_variable_any/native_handle/
	typesizes.cc: New.
	* testsuite/30_threads/mutex/native_handle/typesizes.cc: Same.
	* testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Same.
	* testsuite/30_threads/thread/native_handle/typesizes.cc: Same.
	* testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc: Same.
	* testsuite/30_threads/condition_variable/native_handle/
	typesizes.cc: Same.
	* testsuite/30_threads/recursive_timed_mutex/native_handle/
	typesizes.cc: Same.

From-SVN: r144053
2009-02-10 08:29:57 +00:00
Chris Fairles 4a50cd932f thread (this_thread::get_id): Inline.
2009-02-08  Chris Fairles  <cfairles@gcc.gnu.org>

        * include/std/thread (this_thread::get_id): Inline.

From-SVN: r144029
2009-02-09 06:32:12 +00:00
Chris Fairles b47f0044ab thread (thread<>::thread(_Callable)): Explicitly use _Callable as template argument for _M_make_shared_data.
2009-02-08  Chris Fairles  <cfairles@gcc.gnu.org>

        * include/std/thread (thread<>::thread(_Callable)): Explicitly use
        _Callable as template argument for _M_make_shared_data.
        * testsuite/30_threads/thread/cons/6.cc: New.
        * testsuite/30_threads/thread/cons/7.cc: New.
        * testsuite/30_threads/thread/cons/8.cc: New.

From-SVN: r144023
2009-02-09 00:13:47 +00:00
Benjamin Kosnik d7afcd2b9b thread (thread::id): Move definition inside thread.
2009-02-06  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/thread (thread::id): Move definition inside thread.
	Use native_handle_type. Remove this_thread::get_id friend.
	Change __thread_data_ptr to __shared_base_ptr.
	(thread:🆔:id(native_handle_type): Make public. Still explicit.
	Use native_handle_type. Change _M_thread_id to _M_thread.
	(thread::__thread_data_base): Rename to _Impl_base. Use id, change
	_M_thread_handle to _M_id.
	(thread::__thread_data): Rename to _Impl.
	Fixup for renames.
	(thread::_M_make_thread_data): Return derived type.
	(thread::hardware_concurrency): Add definition for default case.
	(thread::get_id): Now can define inline.
	(thread): Change _M_thread_data to _M_data.
	(this_thread::get_id): Now can define inline.
	* src/thread.cc (__thread_proxy): Rename to
	execute_native_thread_routine.
	Fixup for other renames.
	* testsuite/30_threads/thread/cons/assign_neg.cc: New.
	* testsuite/30_threads/thread/cons/copy_neg.cc: New.
	* testsuite/30_threads/thread/algorithm: Move to..
	* testsuite/30_threads/thread/swap: ...this.
	* testsuite/30_threads/thread/member/hardware_concurrency.cc: Add.
	* testsuite/30_threads/thread/id/operators.cc: New.

From-SVN: r144007
2009-02-07 21:56:55 +00:00
Chris Fairles fe960d9257 tuple (_Head_base<>::_Head_base(_UHead&&)): Formatting.
2009-02-05  Chris Fairles  <cfairles@gcc.gnu.org>

        * include/std/tuple (_Head_base<>::_Head_base(_UHead&&)): Formatting.
        (_Head_base<>::__swap_impl): Rename to _M_swap_impl.
        (_Tuple_impl<>::__swap_impl): Likewise and make protected to avoid
        exposing it in public std::tuple interface.

From-SVN: r143979
2009-02-06 06:01:40 +00:00
Chris Fairles 8644ecf59d thread (__thread_data_base): Nest class in std::thread.
2009-02-05  Chris Fairles  <cfairles@gcc.gnu.org>
            Benjamin Kosnik  <bkoz@redhat.com>

        * include/std/thread (__thread_data_base): Nest class in std::thread.
        (__thread_data): Likewise.
        (__thread_data_ptr): Nest typedef in std::thread.
        * src/thread.cc (__thread_proxy): Qualify the above names.
        * config/abi/pre/gnu.ver: Remove unused exports.


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

From-SVN: r143969
2009-02-05 17:47:56 +00:00
Benjamin Kosnik 37d5c6baac unique_ptr.h: Remove private __this_type typedef.
2009-02-04  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/unique_ptr.h: Remove private __this_type typedef.
	* include/bits/stl_vector.h: Remove private vector_type typedef.
	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
	Fix line numbers.
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Same.
	* testsuite/20_util/unique_ptr/assign/assign.cc: Same.

From-SVN: r143949
2009-02-05 01:50:18 +00:00
Paolo Carlini bc2631e0c6 re PR libstdc++/25191 (exception_defines.h #defines try/catch)
2009-02-03  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/25191	
	* libsupc++/exception_defines.h: Depending on __EXCEPTIONS,
	deal consistently with __try and __catch too.
	* src/localename.cc: Replace try -> __try, catch -> __catch.
	* src/ios.cc: Likewise.
	* src/locale.cc: Likewise.
	* src/istream.cc: Likewise.
	* src/thread.cc: Likewise.
	* src/compatibility.cc: Likewise.
	* src/bitmap_allocator.cc: Likewise.
	* src/ios_init.cc: Likewise.
	* include/debug/deque: Likewise.
	* include/debug/list: Likewise.
	* include/tr1_impl/hashtable: Likewise.
	* include/std/bitset: Likewise.
	* include/ext/pb_ds/detail/resize_policy/
	hash_load_check_resize_trigger_imp.hpp: Likewise.
	* include/ext/pb_ds/detail/resize_policy/
	hash_standard_resize_policy_imp.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	resize_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	constructor_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/
	split_join_branch_bag.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	resize_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	constructor_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/binary_heap_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/binary_heap_/
	erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/binary_heap_/
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/debug_map_base.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/
	constructor_destructor_fn_imps.hpp: Likewise.
	* include/ext/slist: Likewise.
	* include/ext/memory: Likewise.
	* include/ext/rc_string_base.h: Likewise.
	* include/ext/ropeimpl.h: Likewise.
	* include/ext/vstring.tcc: Likewise.
	* include/ext/rope: Likewise.
	* include/ext/sso_string_base.h: Likewise.
	* include/bits/shared_ptr.h: Likewise.
	* include/bits/stl_list.h: Likewise.
	* include/bits/locale_classes.tcc: Likewise.
	* include/bits/locale_facets.tcc: Likewise.
	* include/bits/locale_classes.h: Likewise.
	* include/bits/forward_list.h: Likewise.
	* include/bits/stl_vector.h: Likewise.
	* include/bits/stl_deque.h: Likewise.
	* include/bits/istream.tcc: Likewise.
	* include/bits/stl_uninitialized.h: Likewise.
	* include/bits/ostream.tcc: Likewise.
	* include/bits/vector.tcc: Likewise.
	* include/bits/stl_tempbuf.h: Likewise.
	* include/bits/deque.tcc: Likewise.
	* include/bits/basic_string.tcc: Likewise.
	* include/bits/ostream_insert.h: Likewise.
	* include/bits/locale_facets_nonio.tcc: Likewise.
	* include/bits/stl_tree.h: Likewise.
	* include/bits/fstream.tcc: Likewise.
	* include/tr1/shared_ptr.h: Likewise.
	* include/tr1/hypergeometric.tcc: Likewise.
	* include/backward/hashtable.h: Likewise.
	* libsupc++/exception_ptr.h: Likewise.
	* libsupc++/eh_personality.cc: Likewise.
	* libsupc++/eh_call.cc: Likewise.
	* config/locale/gnu/monetary_members.cc: Likewise.
	* config/locale/gnu/time_members.h: Likewise.
	* config/locale/generic/time_members.h: Likewise.

From-SVN: r143913
2009-02-03 23:44:53 +00:00
Johannes Singler 22ec53ec66 algorithmfwd.h: Add parallelism default for many declarations.
2009-02-03  Johannes Singler  <singler@ira.uka.de>

        * include/parallel/algorithmfwd.h:
        Add parallelism default for many declarations.
        * include/parallel/numericfwd.h: Likewise.
        * include/parallel/iterator.h: Use iterator_traits as usual.
        * include/parallel/par_loop.h:
        Include equally_split.h.
        (for_each_template_random_access_ed):
        Avoid calling the Result default constructor.
        * include/parallel/numeric: Replace
        for_each_template_random_access by
        for_each_template_random_access_ed in numeric functions.

From-SVN: r143902
2009-02-03 17:49:36 +00:00
Ulrich Drepper 60822e0b57 cstring (memchr, [...]): Provide inlines only if __CORRECT_ISO_CPP_STRING_H_PROTO is not defined.
* include/c_std/cstring (memchr, strchr, strpbrk, strrchr, strstr):
	Provide inlines only if __CORRECT_ISO_CPP_STRING_H_PROTO is not
	defined.
	* include/c_std/cwchar (wcschr, wcspbrk, wcsrchr, wcsstr, wmemchr):
	Provide inlines only if __CORRECT_ISO_CPP_WCHAR_H_PROTO is not
	defined.
	* include/c_global/cstring (memchr, strchr, strpbrk, strrchr, strstr):
	Provide inlines only if __CORRECT_ISO_CPP_STRING_H_PROTO is not
	defined.
	* include/c_global/cwchar (wcschr, wcspbrk, wcsrchr, wcsstr, wmemchr):
	Provide inlines only if __CORRECT_ISO_CPP_WCHAR_H_PROTO is not
	defined.
	* testsuite/21_strings/c_strings/char_t/2.cc (test02): If first
	argument is const char *, assign result to const char * var, not
	char *.
	* testsuite/21_strings/c_strings/wchar_t/2.cc (test02): If first
	argument is const wchar_t *, assign result to const wchar_t * var, not
	wchar_t *.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r143773
2009-01-30 01:08:29 +01:00
Jonathan Wakely cbdab9c897 thread: Remove unused headers.
2009-01-29  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/thread: Remove unused headers.
	(__thread_data_base): Remove unused mutex and base.
	(thread::~thread): Only detach if joinable.
	(thread::joinable): Test if thread data ptr is empty.
	(thread::_M_thread_data_mutex): Remove.
	(thread::_M_get_thread_data): Remove.
	(thread::_M_make_thread_data): Remove overload, use make_shared.
	(thread:🆔:id): Make constructor explicit.
	* src/thread.cc (thread::join,thread::detach): Throw if not joinable.
	(thread::_M_start_thread): Break shared_ptr cycle on error.
	(__thread_proxy): Use shared_ptr swap instead of copy and reset.
	* testsuite/30_threads/thread/member/4.cc: New.
	* testsuite/30_threads/thread/member/5.cc: New.

From-SVN: r143772
2009-01-29 23:24:05 +00:00
Jonathan Wakely 78b580a99e thread (__thread_data_base, thread): Rename member functions to match coding style.
2009-01-22  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/thread (__thread_data_base, thread): Rename member
	functions to match coding style.
	(thread::thread,thread::operator=): Define move operations.
	* src/thread.cc (__thread_data_base, thread): Rename member functions.
	* config/abi/pre/gnu.ver: Adjust.

From-SVN: r143577
2009-01-22 22:33:02 +00:00
Dodji Seketeli 03c2a308f3 Reverted commit 143546 related to PR c++/26693
From-SVN: r143562
2009-01-22 08:15:41 +01:00
Dodji Seketeli d597b3ce68 re PR c++/26693 (Access checks not performed for types in templates)
gcc/ChangeLog:
2009-01-21  Dodji Seketeli  <dodji@redhat.com>

	PR c++/26693
	* c-decl.c: (clone_underlying_type): Move this  ...
	* c-common.c (set_underlying_type): ... here.
	Also, make sure the function  properly sets TYPE_STUB_DECL() on
	the newly created typedef variant type.
	(is_typedef_decl ): New entry point.
	* tree.h: Added a new member member_types_needing_access_check to
	struct tree_decl_non_common.
	(set_underlying_type): New entry point.
	(is_typedef_type): Likewise.

gcc/cp/ChangeLog/
2009-01-21  Dodji Seketeli  <dodji@redhat.com>

	PR c++/26693
	* decl2.c (grokfield): when a typedef appears in a
	class, create the typedef variant type node for it.
	(save_template_attributes): Creating typedef variant type node
	 here is now useless.
	* decl.c (grokdeclarator): If the typedef'ed struct/class was
	anonymous, set the proper type name to all its type variants.
	* name-lookup.c (pushdecl_maybe_friend): Reuse the
	set_underlying_type function to install typedef variant types.
	* cp-tree.h (MEMBER_TYPES_NEEDING_ACCESS_CHECK): New template accessor
	macro.
	(append_type_to_template_for_access_check): New entry points.
	* semantics.c (check_accessibility_of_qualified_id):
	When a typedef that is a member of a class appears in a template,
	add it to the template. It will be ...
	* pt.c (instantiate_class_template, instantiate_template ): ... access
	checked at template instantiation time.
	(tsubst): Handle the case of being called with NULL args.
	(resolve_type_name_type): The type name should be the name of the
	main type variant.
	(append_type_to_template_for_access_check): New entry point.

gcc/testsuite/ChangeLog
2009-01-21  Dodji Seketeli  <dodji@redhat.com>

	PR c++/26693
	* g++.dg/template/typedef11.C: New test.
	* g++.dg/template/typedef12.C: Likewise.
	* g++.dg/template/typedef13.C: Likewise.
	* g++.dg/template/typedef14.C: Likewise.
	* g++.dg/template/sfinae3.C: Compile this pedantically.
	The only errors expected should be the one saying the typedef is ill
	formed.
	* g++.old-deja/g++.pt/typename8.C: Likewise.
	* g++.dg/template/access11.C: Update this.

libstdc++-v3/ChangeLog:
2009-01-21  Dodji Seketeli  <dodji@redhat.com>

	* include/ext/bitmap_allocator.h: the typedefs should be made public
	if we want them to be accessible. This has been revealed by the patch
	that fixes PR c++/26693 in g++.

From-SVN: r143546
2009-01-21 17:14:49 +01:00
Jonathan Wakely 8b6ded8d4f thread (__thread_data_base::__run): Make non-const.
* include/std/thread (__thread_data_base::__run): Make non-const.
	* testsuite/30_threads/thread/cons/5.cc: New.

From-SVN: r143483
2009-01-18 12:38:10 +00:00
Benjamin Kosnik adc8a1e3e0 re PR libstdc++/32666 (FAIL: abi_check hppa)
2009-01-15  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/32666
	* config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.

2009-01-15  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/32666
	* Makefile.am (hosted_source): Remove libmath directory.
	* Makefile.in: Regenerate.
	* linkage.m4 (GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT): Remove.
	(AC_REPLACE_MATHFUNCS): Remove.
	(GLIBCXX_CHECK_MATH_SUPPORT): Remove copysign, copysignl checks as done
	in GLIBCXX_CHECK_C99_TR1.
	* acinclude.m4: Remove libmath, need_math.
	* crossconfig.m4: Remove use of HAVE_COPYSIGN, HAVE_COPYSIGNL,
	HAVE_COPYSIGNF, GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT, need_libmath.
	* configure.ac: Same.
	* configure: Regenerate.
	* fragment.am: Fix comment.
	* config.h.in: Regenerate.
	* src/Makefile.in: Regenerate.
	* src/Makefile.am: Remove libmath references.
	* doc/Makefile.in: Regenerate.
	* po/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* libsupc++/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

	* src/compatibility.cc: Also export long double versions of "C" math
	library if hppa-linux.
	* config/abi/pre/gnu.ver: Remove unused __signbit exports.
	* doc/xml/manual/appendix_contributing.xml: Remove libmath reference.

	* libmath: Remove.
	* libmath/signbit.c: Same.
	* libmath/stubs.c: Same.
	* libmath/Makefile.in: Same.
	* libmath/copysignf.c: Same.
	* libmath/mathconf.h: Same.
	* libmath/signbitf.c: Same.
	* libmath/Makefile.am: Same.
	* libmath/signbitl.c: Same.

From-SVN: r143406
2009-01-15 20:02:11 +00:00
Chris Fairles 959d14e166 acinclude.m4 ([GLIBCXX_ENABLE_CLOCK_GETTIME], [...]): Remove.
2009-01-15  Chris Fairles  <cfairles@gcc.gnu.org>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* acinclude.m4 ([GLIBCXX_ENABLE_CLOCK_GETTIME],
	[GLIBCXX_CHECK_NANOSLEEP]): Remove.
	([GLIBCXX_ENABLE_LIBSTDCXX_TIME]): Add.
	* configure.ac: Adjust.
	* doc/xml/manual/configure.xml: Update.
	* testsuite/lib/libstdc++.exp (check_v3_target_sched_yield): Add.
	* testsuite/lib/dg-options.exp (dg-require-sched-yield): Add.
	* testsuite/30_threads/thread/this_thread/2.cc: Use the latter.
	* configure: Regenerate.
	* config.h.in: Likewise.

	* src/thread.cc (thread::thread(), thread::~thread, thread::get_id,
	thread::joinable, thread::swap, this_thread::get_id,
	this_thread::yield): Define inline...
	* include/std/thread: ... here.
	* config/abi/pre/gnu.ver: Adjust.

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

From-SVN: r143397
2009-01-15 14:01:04 +00:00
Jonathan Wakely 06bbcf59db regex (basic_regex::basic_regex): Use range constructor for _M_pattern.
* include/tr1_impl/regex (basic_regex::basic_regex): Use range
	constructor for _M_pattern.
	* testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/
	string.cc: Test construction from different basic_string type.
	* testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/
	string.cc: Likewise.

From-SVN: r143275
2009-01-11 17:25:23 +00:00
Benjamin Kosnik 9982752346 re PR libstdc++/36801 (config/cpu/generic/atomicity_mutex/atomicity.h incorrectly relies on global constructor ordering)
2009-01-07  Benjamin Kosnik  <bkoz@redhat.com>
	    Jonathan Larmour  <jifl@eCosCentric.com>

	PR libstdc++/36801
	* config/cpu/generic/atomicity_mutex/atomicity.h (get_atomic_mutex):
	New.
	(__gnu_cxx::__exchange_and_add): Use it.
	* src/atomic.cc (get_atomic_mutex): New.
	* src/debug.cc (get_safe_base_mutex): New.
	* src/locale.cc (get_locale_cache_mutex): New.
	* src/mt_allocator.cc (get_freelist): New.
	(get_freelist_mutex): New.
	* src/pool_allocator.cc (get_palloc_mutex): New.
	* include/std/mutex (__once_functor_lock): To
	(__get_once_functor_lock): ...this.
	* src/mutex.cc (__once_mutex): Don't export, use
	(get_once_mutex): ...this.
	* config/abi/pre/gnu.ver: Adjust exports.

From-SVN: r143182
2009-01-08 03:14:24 +00:00
Paolo Carlini 8877b5a9bd re PR libstdc++/38466 (Document std::pair vs. std::swap)
2009-01-07  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/38466
	* include/bits/stl_pair.h: Document C++03 pair vs swap.

From-SVN: r143154
2009-01-07 13:00:48 +00:00
Jonathan Wakely 49ff5e8140 * include/tr1_impl/regex: Fix bad return statements and typos.
From-SVN: r143137
2009-01-06 22:00:25 +00:00
Benjamin Kosnik 78b5828f3d regex: Remove unimplemented function definitions.
2009-01-05  Benjamin Kosnik  <bkoz@redhat.com>

	* include/tr1_impl/regex: Remove unimplemented function definitions.
	* testsuite/28_regex/init-list.cc: Compile only.
	* testsuite/tr1/7_regular_expressions/regex/cons/char/
	c_string_extended.cc: Same.
	* testsuite/tr1/7_regular_expressions/basic_regex/assign/*: Same.
	* testsuite/tr1/7_regular_expressions/basic_regex/ctors/*: Same.

From-SVN: r143125
2009-01-06 17:41:02 +00:00
Richard Guenther 9c01326d9a re PR libstdc++/38720 (_Relative_pointer_impl invokes undefined behavior)
2009-01-04  Richard Guenther  <rguenther@suse.de>

	PR libstdc++/38720
	* include/ext/pointer.h (_Relative_pointer_impl): Use an unsigned
	integer type for storage, arithmetic and comparisons.
	* testsuite/ext/ext_pointer/1_neg.cc: Adjust line numbers.

From-SVN: r143058
2009-01-04 19:51:18 +00:00
Paolo Carlini fea0568fd3 re PR libstdc++/38719 (_Fwd_list_iterator::_M_next() returns reference to local memory)
2009-01-04  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/38719
	* include/bits/forward_list.h (_Fwd_list_iterator<>::_M_next,
	_Fwd_list_const_iterator::_M_next): Fix return type.

From-SVN: r143052
2009-01-04 13:55:25 +00:00
Paolo Carlini 6280bdbee3 2009-01-03 Paolo Carlini <paolo.carlini@oracle.com>
* Revert last commit, reopen and suspend libstdc++/38678.

From-SVN: r143038
2009-01-03 22:32:08 +00:00
Paolo Carlini 91a96b33a9 re PR libstdc++/38678 ([DR XXX] istream::read() calls streambuf::sgetn())
2009-01-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/38678
	* include/std/istream (basic_istream<>::_M_read): New.
	* include/bits/istream.tcc (basic_istream<>::_M_read): Define.
	(basic_istream<>::read, basic_istream<>::readsome): Use it.
	* include/std/ostream (basic_ostream<>::_M_write_): New.
	(basic_ostream<>::_M_write): Adjust.
	* include/bits/ostream.tcc (basic_ostream<>::_M_write_): Define.
	* testsuite/27_io/basic_istream/read/char/38678.cc: New.
	* testsuite/27_io/basic_istream/read/wchar_t/38678.cc: Likewise.
	* testsuite/27_io/basic_ostream/write/char/38678.cc: Likewise.
	* testsuite/27_io/basic_ostream/write/wchar_t/38678.cc: Likewise.

From-SVN: r142994
2009-01-01 10:08:31 +00:00
Jonathan Larmour f05d0fc148 concurrence.h: Fix __gthread_cond_t initialisation function macro name.
2008-12-22  Jonathan Larmour  <jifl@eCosCentric.com>

	* include/ext/concurrence.h: Fix __gthread_cond_t initialisation
	function macro name.

From-SVN: r142901
2008-12-23 03:10:35 +00:00
Paolo Carlini c947d638c6 re PR libstdc++/38596 (tr1_impl/functional incompatible with -fno-rtti)
2008-12-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/38596
	* include/tr1_impl/function (function<>::target,
	function<>::target_type): Provide only when __GXX_RTTI is defined.
	(_Function_base::_M_manager, _Ref_manager<>::_M_manager,
	_Function_handler<void(_ArgTypes...), _Member _Class::*>::_M_manager):
	Adjust.

From-SVN: r142862
2008-12-21 15:56:22 +00:00
Benjamin Kosnik d4e1b0727a cstdatomic: Remove assert include.
2008-12-15  Benjamin Kosnik  <bkoz@redhat.com>

	* include/c_global/cstdatomic: Remove assert include.
	* include/debug/debug.h: Consolidate __replacement_assert...
	* include/parallel/base.h: Consolidate __replacement_assert...
	* include/bits/c++config: ...here.
	* include/bits/atomic_0.h: Use it.
	* include/bits/atomic_2.h: Same.
	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust line numbers.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.

From-SVN: r142777
2008-12-16 01:28:46 +00:00
Benjamin Kosnik 1a6e675339 atomic.cc: Revert last change.
2008-12-13  Benjamin Kosnik  <bkoz@redhat.com>

	* src/atomic.cc: Revert last change.
	* include/bits/atomic_2.h: Move cassert include to...
	* include/c_global/cstdatomic: ...here.
	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust line numbers.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.

From-SVN: r142742
2008-12-13 20:01:57 +00:00
Benjamin Kosnik 50ce8d3d78 cstdatomic: Update to N2798.
2008-12-11  Benjamin Kosnik  <bkoz@redhat.com>
	    Richard Henderson  <rth@redhat.com>

	* include/c_global/cstdatomic: Update to N2798.
	(atomic): Remove explicit constructors as per DR 845.
	* include/bits/atomic_0.h: New. Switchable implementation.
	* include/bits/atomic_2.h: New. Lock-free implementation.
	* include/c_compatibility/stdatomic.h: Use foward headers.
	* include/bits/atomicfwd_cxx.h: New.
	* include/bits/atomicfwd_c.h: New.
	* src/atomic.cc: Adjust.
	* acinclude.m4 (GLIBCXX_CHECK_STANDARD_LAYOUT): Remove,
	unconditionally use default/deleted syntax.
	(GLIBCXX_ENABLE_ATOMIC_BUILTINS): Check for 2, 8.
	* include/Makefile.am (bits_headers): Add atomicfwd_c.h,
	atomicfwd_cxx.h, atomic_0.h, atomic_2.h.
	* include/Makefile.in: Regenerate.
	* configure: Regenerate.
	* config.h.in: Regenerate.
	* config/abi/pre/gnu.ver: Adjust exports.

	* testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc: Adjust.
	* testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc: Same.
	* testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc: Same.
	* testsuite/29_atomics/atomic_address/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic_address/cons/explicit_value.cc: Move to..
	* testsuite/29_atomics/atomic_address/cons/single_value.cc: ...this.
	* testsuite/29_atomics/atomic_address/cons/copy_neg.cc
	* testsuite/29_atomics/atomic_integral/cons/single_value.cc: New.
	* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: New.
	* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: New.
	* testsuite/29_atomics/atomic_integral/cons/default.cc: New.
	* testsuite/29_atomics/atomic_integral/cons/direct_list.cc: New.
	* testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New.
	* testsuite/29_atomics/atomic_integral/requirements/
	standard_layout.cc: New.
	* testsuite/29_atomics/atomic_integral/operators/
	integral_assignment.cc: New.
	* testsuite/29_atomics/atomic_integral/operators/increment_neg.cc: New.
	* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: New.
	* testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc: New.
	* testsuite/29_atomics/atomic_integral/operators/increment.cc: New.
	* testsuite/29_atomics/atomic_integral/operators/decrement.cc: New.
	* testsuite/29_atomics/atomic_integral/operators/bitwise.cc: New.
	* testsuite/29_atomics/atomic_integral/operators/
	integral_conversion.cc: New.
	* testsuite/29_atomics/atomic_flag/cons/assign_neg.cc: Adjust.
	* testsuite/29_atomics/atomic_flag/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic_flag/requirements/
	standard_layout.cc: Same.
	* testsuite/29_atomics/atomic_flag/
	atomic_global_fence_compatibility.cc: Kill.
	* testsuite/29_atomics/headers/cstdatomic/types_std_c++0x.cc: Adjust.
	* testsuite/29_atomics/headers/cstdatomic/functions_std_c++0x.cc: Same.
	* testsuite/29_atomics/headers/cstdatomic/macros.cc: Same.
	* testsuite/29_atomics/headers/stdatomic.h/macros.c: Same.
	* testsuite/29_atomics/headers/stdatomic.h/types.c: Same.
	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic/cons/explicit_value.cc: Move to...
	* testsuite/29_atomics/atomic/cons/single_value.cc: ...this.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc
	* testsuite/29_atomics/atomic/cons/direct_list.cc: New.
	* testsuite/29_atomics/atomic/cons/copy_list.cc: New.
	* testsuite/29_atomics/atomic/requirements/standard_layout.cc: New.
	* testsuite/29_atomics/atomic/requirements/base_classes.cc: New.
	* testsuite/29_atomics/atomic/operators/integral_assignment.cc: New.
	* testsuite/29_atomics/atomic/operators/integral_conversion.cc: New.
	* testsuite/util/testsuite_hooks.h (bitmask_operators): Move...
	* testsuite/util/testsuite_common_types.h: ...here.
	(atomic_integrals_no_bool): New.
	(atomic_integrals): New.
	(has_increment_operators, has_decrement_operators)
	(direct_list_initializable, single_value_constructible)
	(standard_layout, has_bitwise_operators, integral_convertable)
	(integral_assignable): Add.


Co-Authored-By: Richard Henderson <rth@redhat.com>

From-SVN: r142714
2008-12-12 17:10:16 +00:00
Paolo Carlini a5d137be06 [multiple changes]
2008-12-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/tr1_impl/cmath: Undef requof / remquol too; add using
	declarations.
	* acinclude.m4 [GLIBCXX_CHECK_C99_TR1]: Check remquof / remquol too.
	* testsuite/tr1/8_c_compatibility/cmath/functions.cc: Adjust.
	* configure: Regenerate.

2008-12-08  Edward Smith-Rowland  <3dw4rd@verizon.net>

	* include/bits/forward_list.h: Fixed spurious "forward_swap" in doxy.

From-SVN: r142548
2008-12-08 11:51:32 +00:00
Paolo Carlini 22493a73d5 re PR libstdc++/38421 (libstdc++-v3/include/tr1/ell_integral.tcc contains __ea identifier)
2008-12-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/38421
	* include/tr1/ell_integral.tcc: Avoid __ea, future SPU badname.
	* doc/xml/manual/appendix_contributing.xml: Add __ea to the list
	of badnames.

From-SVN: r142519
2008-12-06 10:25:24 +00:00
Tom Tromey b72b814f80 * include/tr1_impl/functional (_Mu): Fix typo.
From-SVN: r142507
2008-12-05 23:42:11 +00:00
Paolo Carlini 015daa3a7b re PR libstdc++/38399 (money_get<> read decimal point when frac_digits() <= 0)
2008-12-05  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/38399
	* include/bits/locale_facets_nonio.tcc (money_get<>::
	_M_extract(iter_type, iter_type, ios_base&, ios_base::iostate&,
	string&)): Fix, reject decimal point when frac_digits <= 0.
	* testsuite/22_locale/money_get/get/char/38399.cc: New.
	* testsuite/22_locale/money_get/get/wchar_t/38399.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/5.cc: Adjust.
	* testsuite/22_locale/money_get/get/wchar_t/5.cc: Likewise.

From-SVN: r142487
2008-12-05 18:23:39 +00:00
Benjamin Kosnik a40fff0edb re PR libstdc++/38080 (dead links in libstdc++ headers)
2008-12-01  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/38080
	* include/std/iostream: Correct URL.
	* include/std/streambuf: Same.
	* include/std/bitset: Same.
	* include/std/iosfwd: Same.
	* include/std/fstream: Same.
	* include/std/istream: Same.
	* include/std/ostream: Same.
	* include/std/sstream: Same.
	* include/bits/basic_ios.h: Same.
	* include/bits/stl_map.h: Same.
	* include/bits/stl_set.h: Same.
	* include/bits/stl_multimap.h: Same.
	* include/bits/ios_base.h: Same.
	* include/bits/stl_multiset.h: Same.
	* include/bits/char_traits.h: Same.
	* include/bits/stl_relops.h: Same.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Ditto.

From-SVN: r142344
2008-12-02 04:55:54 +00:00
Paolo Carlini c32f57c054 PR libstdc++/38244 (cont, debug bits)
2008-11-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/38244 (cont, debug bits)
	* include/debug/bitset (bitset<>::bitset(const char*, char, char)):
	Remove, do not implement DR 778.

From-SVN: r142153
2008-11-24 11:19:39 +00:00
Paolo Carlini 9daf8216f4 re PR libstdc++/38244 (bitset initialization from 0 rejected.)
2008-11-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/38244
	* include/std/bitset (bitset<>::bitset(const char*, char, char)):
	Remove, do not implement DR 778.
	* doc/xml/manual/intro.xml: Remove entry for DR 778.
	* testsuite/23_containers/bitset/cons/2.cc: Remove.
	* testsuite/23_containers/bitset/cons/dr396.cc: Tweak.
	* testsuite/23_containers/bitset/cons/38244.cc: Add.

From-SVN: r142152
2008-11-24 11:13:44 +00:00
Paolo Carlini d2f6b13b3b re PR libstdc++/38210 (num_put<>::do_put(void*) performs padding incorrectly when adjustfield==internal)
2008-11-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/38210
	* include/bits/locale_facets.tcc (num_put<>::do_put(iter_type,
	ios_base&, char_type, const void*)): Fix.
	* testsuite/22_locale/num_put/put/char/38210.cc: New.
	* testsuite/22_locale/num_put/put/wchar_t/38210.cc: Likewise.

From-SVN: r142085
2008-11-21 09:59:17 +00:00
Paolo Carlini 7391b59739 re PR libstdc++/38196 (num_put<>::do_put(bool) performs 'internal' padding incorrectly when boolalpha==true)
2008-11-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/38196
	* include/bits/locale_facets.tcc (num_put<>::do_put(iter_type,
	ios_base&, char_type, bool)): Fix.
	* testsuite/22_locale/num_put/put/char/38196.cc: New.
	* testsuite/22_locale/num_put/put/wchar_t/38196.cc: Likewise.

From-SVN: r142048
2008-11-20 16:00:17 +00:00
Paolo Carlini 43db6c722a cinttypes: Remove redundant pragma system_header.
2008-11-18  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/tr1_impl/cinttypes: Remove redundant pragma system_header.
	* include/tr1_impl/cfenv: Likewise.
	* include/tr1_impl/cstdint: Likewise.

From-SVN: r141968
2008-11-18 17:27:10 +00:00
Paolo Carlini ddbfe947b3 re PR libstdc++/38000 (System header files not found once -isystem /usr/include is used)
2008-11-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/38000
	* include/c_global/csignal: Do not use include_next.
	* include/c_global/cstdlib: Likewise.
	* include/c_global/cstdio: Likewise.
	* include/c_global/cstdarg: Likewise.
	* include/c_global/cctype: Likewise.
	* include/c_global/cerrno: Likewise.
	* include/c_global/cmath: Likewise.
	* include/c_global/clocale: Likewise.
	* include/c_global/climits: Likewise.
	* include/c_global/cassert: Likewise.
	* include/c_global/csetjmp: Likewise.
	* include/c_global/cwchar: Likewise.
	* include/c_global/cfloat: Likewise.
	* include/c_global/cstdbool: Likewise.
	* include/c_global/cstring: Likewise.
	* include/c_global/cstddef: Likewise.
	* include/c_global/cwctype: Likewise.
	* include/tr1/cstdbool: Likewise.
	* include/tr1_impl/cinttypes: Do not include <inttypes.h>.
	* include/c_global/cinttypes: Do it here.
	* include/tr1/cinttypes: Likewise.
	* include/tr1_impl/cfenv: Do not include <fenv.h>.
	* include/c_global/cfenv: Do it here.
	* include/tr1/cfenv: Likewise.
	* include/tr1_impl/cstdint: Do not include <stdint.h>.
	* include/c_global/cstdint: Do it here.
	* include/tr1/cstdint: Likewise.
	* include/c_compatibility/fenv.h: Include <tr1_impl/cfenv>.
	* include/c_compatibility/stdint.h: Include <tr1_impl/cstdint>.
	* include/c_compatibility/inttypes.h: Include <tr1_impl/cinttypes>.

	* include/c_compatibility/math.h: Minor tweak, add comment.

From-SVN: r141812
2008-11-13 00:06:55 +00:00
Paolo Carlini 085b55410d PR libstdc++/37986 (cont)
2008-11-12  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/37986 (cont)
	* include/tr1_impl/random (struct _Adaptor): Use only remove_reference
	on _Engine.
	(struct _Adaptor<_Engine*, _Distribution>): Add.
	* testsuite/tr1/5_numerical_facilities/random/variate_generator/
	37986.cc: Extend.

From-SVN: r141784
2008-11-12 09:59:27 +00:00
Paolo Carlini 285743c92b re PR libstdc++/37986 (std::tr1::variate_generator does not conform to TR1.)
2008-11-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/37986
	* include/tr1_impl/random (struct _Adaptor): Use remove_pointer
	and remove_reference on _Engine.
	* testsuite/tr1/5_numerical_facilities/random/variate_generator/
	37986.cc: New.

From-SVN: r141769
2008-11-11 14:31:48 +00:00
Bob Walters 1b32e4e506 forward_list.h: Support non-standard pointer types
2008-11-11  Bob Walters  <bob.s.walters@gmail.com>

	* include/bits/forward_list.h: Support non-standard pointer types
	(_Fwd_list_node_base): Add _Alloc template parameter.
	(_Fwd_list_node<>): Likewise.
	(_Fwd_list_iterator<>): Likewise.
	(_Fwd_list_const_iterator<>): Likewise.
	(_Fwd_list_node_base::_M_next, _M_transfer_after, _M_reverse_after): 
	Use _Alloc<_Tp>::pointer.
	(_Fwd_list_iterator<>::_M_node): Use _Node_base::_Pointer.
	(_Fwd_list_base<>::_M_get_node, _M_create_node, _M_create_node, 
	_M_insert_after, _M_put_node, _M_erase_after): Likewise.
	(_Fwd_list_const_iterator<>::_M_node): use _Node_base::_Const_pointer.
	(forward_list<>): Use __static_pointer_cast in place of static_cast,
	and __const_pointer_cast in place of const_cast.
	* include/bits/forward_list.tcc
	(_Fwd_list_node<>::_M_sort_after): Using _Pointer typedefs in place 
	of standard pointers, __static_pointer_cast in place of static_cast.
	(_Fwd_list_base<>::_Fwd_list_base, _M_insert_after, _M_erase_after):
	Likewise.
	(forward_list<>::_M_initialize_dispatch, _M_fill_initialize, 
	splice_after, remove, remove_if, merge): Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/modifiers/1.cc: New.
	* testsuite/23_containers/forward_list/ext_pointer/modifiers/2.cc: 
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/modifiers/3.cc: 
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/modifiers/4.cc: 
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/modifiers/5.cc: 
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/operations/1.cc: 
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/operations/2.cc: 
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/operations/3.cc: 
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/operations/4.cc: 
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/operations/5.cc: 
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/operations/6.cc: 
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/operations/7.cc: 
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/requirements/1.cc: 
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/requirements/
	explicit_instantiation/1.cc: Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/requirements/
	explicit_instantiation/3.cc: Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/1.cc: Likewise.

From-SVN: r141765
2008-11-11 12:16:57 +00:00
Paolo Carlini 8d8a4e9d3d extptr_allocator.h: Minor tweaks.
2008-11-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/ext/extptr_allocator.h: Minor tweaks.
	* include/ext/pointer.h: Likewise.
	* include/ext/cast.h: Likewise.

From-SVN: r141764
2008-11-11 12:15:59 +00:00
Paolo Carlini b5b3f66baa 2008-11-07 Paolo Carlini <paolo.carlini@oracle.com>
* Complete last commit.

From-SVN: r141677
2008-11-07 15:44:35 +00:00
Paolo Carlini 8d200e06a4 2008-11-07 Paolo Carlini <paolo.carlini@oracle.com>
* Complete last commit.

From-SVN: r141676
2008-11-07 15:44:20 +00:00
Paolo Carlini 9f4a439439 2008-11-07 Paolo Carlini <paolo.carlini@oracle.com>
* Complete last commit.

From-SVN: r141675
2008-11-07 15:43:57 +00:00
Bob Walters b74318f12b pointer.h: Add experimental support for non-standard pointer types in containers via the...
2008-11-07  Bob Walters  <bob.s.walters@gmail.com>

	* include/ext/pointer.h: Add experimental support for non-standard
	pointer types in containers via the allocator::pointer typedef.
	(Currently only supported/working with std::vector)
	* include/ext/cast.h: Add overload-able pointer casting functions
	for use in containers supporting non-standard pointer types.
	* include/ext/extptr_allocator.h: Add _ExtPtr_allocator.
	* include/Makefile.am: Update.
	* include/precompiled/extc++.h: Likewise.
	* include/Makefile.in: Regenerate.
	* testsuite/ext/ext_pointer/1.cc: New.
	* testsuite/ext/ext_pointer/1_neg.cc: Likewise.	
	* testsuite/23_containers/vector/ext_pointer/citerators.cc: New.
	* testsuite/23_containers/vector/ext_pointer/data_access.cc: Likewise.
	* testsuite/23_containers/vector/ext_pointer/resize.cc: Likewise.
	* testsuite/23_containers/vector/ext_pointer/types/1.cc: Likewise.
	* testsuite/23_containers/vector/ext_pointer/modifiers/element.cc:
	Likewise.
	* testsuite/23_containers/vector/ext_pointer/modifiers/erase.cc:
	Likewise.
	* testsuite/23_containers/vector/ext_pointer/modifiers/insert.cc:
	Likewise.
	* testsuite/23_containers/vector/ext_pointer/explicit_instantiation/
	1.cc: Likewise.
	* testsuite/23_containers/vector/ext_pointer/explicit_instantiation/
	3.cc: Likewise.

From-SVN: r141674
2008-11-07 15:26:25 +00:00
Jonathan Wakely 8e66def0a1 re PR libstdc++/38017 (30_threads/thread/cons/X.cc)
PR libstdc++/38017
	Revert:
	* include/tr1_impl/functional (result_of,reference_wrapper): Update
	to use C++0x features.
	* testsuite/20_util/function_objects/return_types/result_of.cc: New.
	* testsuite/20_util/function_objects/return_types/result_of_neg.cc:
	New.
	* testsuite/20_util/function_objects/return_types/result_of_ref.cc:
	New.
	* testsuite/20_util/reference_wrapper/24803.cc: Uncomment FIXMEs.

From-SVN: r141602
2008-11-05 09:36:35 +00:00
Jonathan Wakely a28a65ec25 re PR libstdc++/24803 ([c++0x] reference_wrapper and pointers to member functions)
PR libstdc++/24803
	PR libstdc++/37351
	* include/tr1_impl/functional (result_of,reference_wrapper): Update
	to use C++0x features.
	* testsuite/20_util/function_objects/return_types/result_of.cc: New.
	* testsuite/20_util/function_objects/return_types/result_of_neg.cc:
	New.
	* testsuite/20_util/function_objects/return_types/result_of_ref.cc:
	New.
	* testsuite/20_util/reference_wrapper/24803.cc: Uncomment FIXMEs.

From-SVN: r141596
2008-11-05 02:05:59 +00:00
Paolo Carlini 2a81fe20dd locale_facets.tcc (num_get<>::do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, bool&): Tidy.
2008-11-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
	iter_type, ios_base&, ios_base::iostate&, bool&): Tidy.
	* testsuite/22_locale/num_get/get/char/37958.cc: Extend.
	* testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.

From-SVN: r141546
2008-11-03 10:23:38 +00:00
Paolo Carlini 7ea6fdf55e PR libstdc++/37958 (cont again)
2008-11-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/37958 (cont again)
	* include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
	iter_type, ios_base&, ios_base::iostate&, bool&): Fix again.
	* testsuite/22_locale/num_get/get/char/37958.cc: Extend.
	* testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.

From-SVN: r141523
2008-11-01 22:09:43 +00:00
Paolo Carlini f18e0ca6dc locale_facets.tcc (num_get<>::do_get(, long&), [...]): Move inline...
2008-11-01  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/locale_facets.tcc (num_get<>::do_get(, long&),
	num_get<>::do_get(, unsigned short&),
	num_get<>::do_get(, unsigned int&),
	num_get<>::do_get(, unsigned long&),
	num_get<>::do_get(, long long&),
	num_get<>::do_get(, unsigned long long&),
	num_put<>::do_put(, long), num_put<>::do_put(, unsigned long),
	num_put<>::do_put(, long long),
	num_put<>::do_put(, unsigned long long)): Move inline...
	* include/bits/locale_facets.h: ... here.

From-SVN: r141520
2008-11-01 17:38:39 +00:00
Paolo Carlini fa4262a47a PR libstdc++/37958 (cont)
2008-11-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/37958 (cont)
	* include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
	iter_type, ios_base&, ios_base::iostate&, bool&): Fix again.

From-SVN: r141517
2008-11-01 16:17:42 +00:00
Jonathan Wakely 8dd5e93af6 shared_ptr.h: Update comparisons to match WP.
2008-11-01  Jonathan Wakely  <jwakely.gcc@gmail.com>

        * include/bits/shared_ptr.h: Update comparisons to match WP.
        (_Sp_counted_ptr): Make copy and assignment members deleted.
        (_Sp_counted_deleter): Remove private copy and assignment members.
        (__shared_count::_M_less,__weak_count::_M_less,operator<): Replace
        friend operator< with overloaded _M_less member functions to allow
        comparison with either shared_count or weak_count.
        (__shared_ptr::_M_less,__weak_ptr::_M_less): Replace with...
        (__shared_ptr::owner_before,__weak_ptr::owner_before): New overloads
        for ownership-based ordering.
        (operator<(__shared_ptr,__shared_ptr)): Compare stored pointers,
        make non-friend.
        (operator==(__shared_ptr,__shared_ptr)): Make non-friend.
        (operator!=(__shared_ptr,__shared_ptr)): Likewise.
        (less<__shared_ptr<>>,less<shared_ptr<>>,_Sp_less): Explicitly call
        pointer specialization.
        (__weak_ptr::operator<,weak_ptr::operator<=,weak_ptr::operator>,
        weak_ptr::operator>=): Remove operator< and delete all comparisons.
        (_Sp_owner_less,owner_less): Predicate for ownership-based ordering.
        (operator<(shared_ptr,shared_ptr): Overload for derived shared_ptr.
        (operator==(shared_ptr,shared_ptr): Likewise.
        (operator!=(shared_ptr,shared_ptr): Likewise.
        (swap(shared_ptr,shared_ptr)): Fix parameter types.
        (swap(weak_ptr,weak_ptr)): Add missing overload.
        * testsuite/20_util/owner_less/cmp.cc: New.
        * testsuite/20_util/shared_ptr/comparison/cmp.cc: Test other ops.
        * testsuite/20_util/shared_ptr/comparison/less.cc: New.
        * testsuite/20_util/shared_ptr/observers/owner_before.cc: New.
        * testsuite/20_util/weak_ptr/observers/owner_before.cc: New.
        * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: New.

From-SVN: r141512
2008-11-01 11:29:06 +00:00
Paolo Carlini 894e47e76e re PR libstdc++/37958 (num_get<>::do_get(bool) sets eofbit flag incorrectly when boolalpha == true)
2008-10-31  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/37958
	* include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
	iter_type, ios_base&, ios_base::iostate&, bool&): Fix.
	* testsuite/22_locale/num_get/get/char/37958.cc: New.
	* testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.

From-SVN: r141498
2008-10-31 16:47:48 +00:00
Paolo Carlini 8f0f2a1dfd re PR libstdc++/37919 ([c++0x] GCC 4.4 regression r141214 of gcc c++0x stl_pair.c causes a boost 1.36 compilation to fail)
2008-10-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/37919
	Revert:
	2008-10-18  Douglas Gregor  <doug.gregor@gmail.com>

	* include/bits/stl_pair.h (__may_be_null_pointer_init): New.
	(pair::pair): Eliminate the redundant pair(U1&&, U2&&) constructor.
	Add lvalue pair<U1, U2> constructor to handle non-const pair lvalues.
	Remove the old variadic constructor, and instead provide several
	variadic constructors that avoid failing when attempting to
	initialize a pointer from a null pointer constant.
	* testsuite/20_util/pair/moveable.cc (test3): Add new tests with
	initialization of pointers from the null pointer constant.

From-SVN: r141388
2008-10-27 16:50:23 +00:00
Paolo Carlini 83b83ae97a re PR libstdc++/37522 (Incorrect vswprintf prototype breaks __to_xstring)
2008-10-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/37522
	* config/os/mingw32/os_defines.h: Define _GLIBCXX_HAVE_BROKEN_VSWPRINTF
	* include/bits/basic_string.h: Guard string conversions with 
	!defined(_GLIBCXX_HAVE_BROKEN_VSWPRINTF) too.
	* testsuite/lib/libstdc++.exp (check_v3_target_string_conversions):
	New.
	* testsuite/lib/dg-options.exp (dg-require-string-conversions): New.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
	Use the latter.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/
	stoull.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/
	to_string.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
	Likewise.

From-SVN: r141382
2008-10-27 15:01:28 +00:00
Chris Fairles 92010a793b system_error (is_error_code_enum): Specialize for errc.
2008-10-22  Chris Fairles  <cfairles@gcc.gnu.org>

        * include/std/system_error (is_error_code_enum): Specialize for errc.
        (error_category::error_category): Defaulted and protected.
        (error_category::~error_category): New, virtual.
        (error_category::error_category(const error_category&),
        error_category::operator=(const error_category&)): Deleted.
        (get_system_category, get_posix_category): Remove (DR 890).
        (system_category): External linkage (DR 890).
        (posix_category): Remove.
        (generic_category): Add. External linkage (DR 890).
        (error_code::error_code<>(_ErrorCodeEnum)): Use generic_category.
        (error_code::clear, error_code::operator=<>(_ErrorCodeEnum)): Forward to
        error_code::assign, use generic_category.
        (error_condition::error_condition,
        error_condition::error_condition<>(_ErrorConditionEnum)): Use
        generic_category.
        (error_condition::clear,
        error_condition::operator=<>(_ErrorConditionEnum)): Forward to
        error_code::assign, use generic_category.
        (make_error_code, make_error_condition): Define in namespace std.
        * include/std/mutex (unique_lock<>::lock, unique_lock<>::try_lock,
        unique_lock<>::try_lock_until<>(duration),
        unique_lock<>::try_lock_for<>(duration)): Replace posix_error with errc.
        * src/system_error.cc (system_error_category, generic_error_category):
        New.
        (gnu_error_category): Remove.
        (get_system_category, get_posix_category): Remove (DR 890).
        (system_category, generic_category): Define.
        * src/functexcept.cc (__throw_system_error): Use generic_category.
        * config/abi/pre/gnu.ver: Export system_category and generic_category,
        remove get_system_category and get_generic_category (DR 890).
        * config/os/generic/error_constants.h (posix_errno): Rename to errc, use
        enum class type. Fix spelling.
        * config/os/mingw32/error_constants.h (posix_errno): Likewise.
        * testsuite/19_diagnostics/error_code/cons/1.cc: Use errc and
        generic_category.
        * testsuite/19_diagnostics/error_code/operators/bool.cc: Use errc.
        * testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
        * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Likewise.
        * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Update
        dg-error line numbers.
        * testsuite/19_diagnostics/error_condition/cons/1.cc: Use
        generic_category.
        * testsuite/19_diagnostics/error_condition/operators/bool.cc: Use errc.
        * testsuite/19_diagnostics/error_condition/operators/equal.cc: Likewise.
        * testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
        Likewise.
        * testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc: New.
        * testsuite/19_diagnostics/headers/system_error/types_std_c++0x.cc:
        Remove using tests since errc is not a namespace.
        * testsuite/19_diagnostics/system_error/cons-1.cc: Use errc.
        * testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
        * testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc:
        Likewise.
        * testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
        Likewise.
        * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.

From-SVN: r141297
2008-10-22 15:27:44 +00:00
Paolo Carlini d090f47ae0 2008-10-20 Paolo Carlini <paolo.carlini@oracle.com>
* include/tr1_impl/hashtable_policy.h (_Hash_node<>::_Hash_node<>
	(_Args&&...)): Add in C++0x mode.
	* include/tr1_impl/hashtable (_Hashtable<>::_M_allocate_node,
	_Hashtable<>::_M_deallocate_node): Use _M_get_Node_allocator in
	C++0x mode.

	* include/tr1_impl/hashtable (_Hashtable<>::max_size): Use
	Node_allocator for improved accuracy.
	* testsuite/tr1/6_containers/unordered_multimap/capacity/
	29134-multimap.cc: Adjust.
	* testsuite/tr1/6_containers/unordered_multimap/capacity/
	29134-map.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multimap/capacity/
	29134-multiset.cc: Adjust.
	* testsuite/tr1/6_containers/unordered_multimap/capacity/
	29134-set.cc: Likewise.

From-SVN: r141242
2008-10-20 16:43:28 +00:00
Paolo Carlini 25bbe9bc63 2008-10-19 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/stl_tree.h (_Rb_tree_node<>::_Rb_tree_node<>
	(_Args&&...)): Add in C++0x mode.
	(_Rb_tree<>::_M_create_node<>(_Args&&...)): Add in C++0x mode,
	use _M_get_Node_allocator.
	(_Rb_tree<>::_M_destroy_node(_Link_type): Use _M_get_Node_allocator
	in C++0x mode.
	* testsuite/23_containers/set/operators/1_neg.cc: Adjust dg-error
	line numbers.
	* testsuite/23_containers/map/operators/1_neg.cc: Likewise.

From-SVN: r141226
2008-10-19 14:49:38 +00:00
Douglas Gregor c393ec5a87 stl_pair.h (__may_be_null_pointer_init): New.
2008-10-18  Douglas Gregor  <doug.gregor@gmail.com>

	* include/bits/stl_pair.h (__may_be_null_pointer_init): New.
	(pair::pair): Eliminate the redundant pair(U1&&, U2&&) constructor.
	Add lvalue pair<U1, U2> constructor to handle non-const pair lvalues.
	Remove the old variadic constructor, and instead provide several
	variadic constructors that avoid failing when attempting to
	initialize a pointer from a null pointer constant.
	* testsuite/20_util/pair/moveable.cc (test3): Add new tests with
	initialization of pointers from the null pointer constant.

From-SVN: r141214
2008-10-18 23:02:17 +00:00
Paolo Carlini 27caad2e1e forward_list.tcc (forward_list<>:: _M_initialize_dispatch(_InputIterator, _InputIterator, __false_type)): Simplify.
2008-10-17  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.tcc (forward_list<>::
	_M_initialize_dispatch(_InputIterator, _InputIterator, __false_type)):
	Simplify.

From-SVN: r141192
2008-10-17 09:08:02 +00:00
Paolo Carlini 98b932e7c9 forward_list.h (forward_list<>:: forward_list(size_type)): Tweak, use _Base default constructor.
2008-10-17  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.h (forward_list<>::
	forward_list(size_type)): Tweak, use _Base default constructor.

From-SVN: r141191
2008-10-17 08:54:38 +00:00
Paolo Carlini d051e2e7e6 forward_list.h (forward_list<>::insert_after): Minor cosmetic changes.
2008-10-17  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.h (forward_list<>::insert_after): Minor
	cosmetic changes.

From-SVN: r141190
2008-10-17 08:37:02 +00:00
Edward Smith-Rowland e73d6fe828 forward_list.h: Factor list construction to dispatch routines.
2008-10-16  Edward Smith-Rowland  <3dw4rd@verizon.net>

	* include/bits/forward_list.h: Factor list construction to dispatch
	routines.
	* include/bits/forward_list.tcc: Likewise.
	* testsuite/23_containers/forward_list/modifiers/2.cc:

From-SVN: r141189
2008-10-17 08:08:03 +00:00
Paolo Carlini 919e5c5edf forward_list.tcc (operator==): Use auto.
2008-10-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.tcc (operator==): Use auto.

From-SVN: r141173
2008-10-16 14:04:28 +00:00
Paolo Carlini 2a7ee2f989 forward_list.h (_Fwd_list_base<>::_M_insert_after): Move out of line, tweak to return _Fwd_list_node_base*.
2008-10-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.h (_Fwd_list_base<>::_M_insert_after):
	Move out of line, tweak to return _Fwd_list_node_base*.
	(forward_list<>::insert_after(const_iterator, const _Tp&),
	forward_list<>::insert_after(const_iterator, _Tp&&)): Use it.
	* include/bits/forward_list.tcc (_Fwd_list_base<>::_M_insert_after):
	Define.

	* include/bits/forward_list.h (forward_list<>): Consistently qualify
	calls of base class functions with this->.
	* include/bits/forward_list.tcc (forward_list<>): Likewise.

	* include/bits/forward_list.h: Move some functions out of line...
	* include/bits/forward_list.tcc: ... here.

	* include/bits/forward_list.h (forward_list<>::resize(size_type)): Fix.

From-SVN: r141168
2008-10-16 10:23:00 +00:00
Paolo Carlini 6bb7603486 forward_list.h: Remove pointless const qualifiers in const_casts.
2008-10-15  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.h: Remove pointless const qualifiers in
	const_casts.
	* include/bits/forward_list.tcc: Likewise.

	* include/bits/forward_list.h (forward_list<>::pointer,
	const_pointer, reference, const_reference): Fix, use _Tp_alloc_type.
	* testsuite/23_containers/forward_list/requirements/
	explicit_instantiation/1.cc: New.
	* testsuite/23_containers/forward_list/requirements/
	explicit_instantiation/1.cc: Likewise.

From-SVN: r141153
2008-10-15 23:37:54 +00:00
Paolo Carlini 8f47a7f6d8 forward_list.h (forward_list<>::max_size): Use Node_allocator; minor cosmetic changes.
2008-10-15  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.h (forward_list<>::max_size): Use
	Node_allocator; minor cosmetic changes.
	* testsuite/23_containers/forward_list/capacity/1.cc: Adjust.

From-SVN: r141151
2008-10-15 22:08:09 +00:00
Edward Smith-Rowland 3a63c9cdfc forward_list: New.
2008-10-15  Edward Smith-Rowland  <3dw4rd@verizon.net>

	* include/std/forward_list: New.
	* include/bits/forward_list.h: Likewise.
	* include/bits/forward_list.tcc: Likewise.
	* include/precompiled/stdc++.h: Modified to include forward_list.
	* include/Makefile.am: Add forward_list, forward_list.h, and
	forward_list.tcc.
	* include/Makefile.in: Regenerate.
	* testsuite/23_containers/forward_list/modifiers/1.cc: New.
	* testsuite/23_containers/forward_list/modifiers/2.cc: Likewise.
	* testsuite/23_containers/forward_list/modifiers/3.cc: Likewise.
	* testsuite/23_containers/forward_list/modifiers/4.cc: Likewise.
	* testsuite/23_containers/forward_list/modifiers/5.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/1.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/2.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/3.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/4.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/5.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/6.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/7.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/8.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/9.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/1.cc: Likewise.
	* testsuite/23_containers/forward_list/operations/1.cc: Likewise.
	* testsuite/23_containers/forward_list/operations/2.cc: Likewise.
	* testsuite/23_containers/forward_list/operations/3.cc: Likewise.
	* testsuite/23_containers/forward_list/operations/4.cc: Likewise.
	* testsuite/23_containers/forward_list/operations/5.cc: Likewise.
	* testsuite/23_containers/forward_list/operations/6.cc: Likewise.
	* testsuite/23_containers/forward_list/operations/7.cc: Likewise.
	* testsuite/23_containers/forward_list/capacity/1.cc: Likewise.
	* testsuite/23_containers/forward_list/comparable.cc: Likewise.
	* testsuite/23_containers/forward_list/moveable.cc: Likewise.
	* testsuite/23_containers/headers/forward_list/synopsis.cc: Likewise.
	* testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: Update.
	* testsuite/17_intro/headers/c++200x/all: Likewise.

From-SVN: r141146
2008-10-15 16:48:13 +00:00
Paolo Carlini c841843f9e stl_list.h (_List_node<>::_List_node<>(_Args&&...)): Add in C++0x mode.
2008-10-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_list.h (_List_node<>::_List_node<>(_Args&&...)):
	Add in C++0x mode.
	(list<>::_M_create_node<>(_Args&&...)): Use _M_get_Node_allocator.
	(list<>::_M_erase(iterator): Likewise, in C++0x mode.
	* include/bits/list.tcc (_List_base<>::_M_clear): 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: r141113
2008-10-14 17:14:49 +00:00
Paolo Carlini 1fea874e7a stl_tree.h (_Rb_tree<>::max_size): Use Node_allocator for improved accuracy.
2008-10-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_tree.h (_Rb_tree<>::max_size): Use Node_allocator
	for improved accuracy.
	* include/bits/stl_list.h (list<>::max_size): Likewise.
	* testsuite/23_containers/multimap/capacity/29134.cc: Adjust.
	* testsuite/23_containers/set/capacity/29134.cc: Likewise.
	* testsuite/23_containers/multiset/capacity/29134.cc: Likewise.
	* testsuite/23_containers/list/capacity/29134.cc: Likewise.
	* testsuite/23_containers/map/capacity/29134.cc: Likewise.

From-SVN: r141110
2008-10-14 15:02:45 +00:00
Paolo Carlini 4661c8fd43 system_error (native_category): Remove.
2008-10-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/system_error (native_category): Remove.
	(posix_category): Add.
	(error_code::error_code(_ErrorCodeEnum, typename enable_if<>:type*):
	Fix _M_cat initialization.
	(error_code::operator=(_ErrorCodeEnum)): Assign _M_cat too.
	(error_condition::_M_cat, error_condtion::operator=
	(_ErrorConditionEnum)): Implement resolution of DR 804.
	(error_condition::error_condition(_ErrorConditionEnum, typename
	enable_if<>:type*): Fix.
	(error_condition::clear, error_condition::assign): Implement.
	(operator==, operator!=): Fix uglification of parameters.
	(make_error_code, make_error_condition): Define in namespace
	posix_error.
	(operator<<(basic_ostream<>&, const error_code&)): Define here.
	* include/std/ostream (operator<<(basic_ostream<>&,
	const error_code&)): Do not define here.
	* testsuite/19_diagnostics/error_condition/cons/1.cc: New.	
	* testsuite/19_diagnostics/error_condition/operators/bool.cc: Likewise.
	* testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
	Likewise.
	* testsuite/19_diagnostics/error_condition/operators/equal.cc:
	Likewise.
	* testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
	Likewise.
	* testsuite/19_diagnostics/error_code/cons/1.cc: Tweak.
	* testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Adjust
	dg-error line numbers.
	* testsuite/30_threads/unique_lock/locking/2.cc: Tweak.

	* testsuite/util/testsuite_error.h: Minor tweaks.
	* testsuite/util/testsuite_hooks.cc: Avoid uninitialized warning.

From-SVN: r141039
2008-10-10 12:39:01 +00:00
Bob Walters 08bf5bb38b stl_vector.h (_Vector_base<>::_Vector_impl::_M_start, [...]): Use _Tp_alloc_type::pointer.
2008-10-08  Bob Walters  <bob.s.walters@gmail.com>

	* include/bits/stl_vector.h (_Vector_base<>::_Vector_impl::_M_start,
	_M_finish, _M_end_of_storage, _Vector_base<>::_M_allocate,
	_M_deallocate): Use _Tp_alloc_type::pointer.

From-SVN: r140977
2008-10-08 15:04:44 +00:00
Paolo Carlini 5defb0f208 stl_iterator.h (operator-(const reverse_iterator<>&, const reverse_iterator<>&), [...]): Use the auto -> return type syntax, implement DR 685.
2008-10-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_iterator.h (operator-(const reverse_iterator<>&,
	const reverse_iterator<>&), operator-(const __normal_iterator<>&,
	const __normal_iterator<>&), operator-(const move_iterator<>&,
	const move_iterator<>&)): Use the auto -> return type syntax,
	implement DR 685.

From-SVN: r140937
2008-10-07 14:49:20 +00:00
Chris Fairles 3e93b27552 tuple (tuple<>::swap): Implement swap for tuple as per DR 522 [Ready].
2008-09-30  Chris Fairles  <cfairles@gcc.gnu.org>

        * include/std/tuple (tuple<>::swap): Implement swap for tuple as per
        DR 522 [Ready].
        * testsuite/20_util/tuple/swap.cc: New.

From-SVN: r140822
2008-10-01 22:04:02 +00:00
Paolo Carlini ced3cb9f72 PR libstdc++/30085 (again)
2008-09-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/30085 (again)
	* include/debug/unordered_map (unordered_map<>, unordered_multimap<>):
	Do not derive from _Safe_association, derive from _GLIBCXX_STD_D::
	unordered_map / unordered_multimap; add missing member functions.
	* include/debug/unordered_set (unordered_set<>, unordered_multiset<>):
	Likewise for _GLIBCXX_STD_D::unordered_set / unordered_multiset.
	* include/debug/safe_association.h: Remove.
	* include/Makefile.am: Adjust.
	* include/Makefile.in: Regenerate.
	* testsuite/23_containers/unordered_multimap/init-list.cc: Remove
	xfail.

From-SVN: r140786
2008-09-30 13:48:55 +00:00
Paolo Carlini 0d5f7a16eb unique_ptr.h (unique_ptr<_Tp[]>::template<typename U> void reset(U)): Add as deleted function, per DR 821 [Ready].
2008-09-28  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/unique_ptr.h (unique_ptr<_Tp[]>::template<typename U>
	void reset(U)): Add as deleted function, per DR 821 [Ready].
	* include/bits/unique_ptr.h: Prefer everywhere deleted to private
	member function declarations; minor formatting tweaks.
	* testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: New.
	* testsuite/20_util/unique_ptr/assign/assign.cc: Adjust DejaGNU
	directives.

From-SVN: r140737
2008-09-28 15:47:45 +00:00
Chris Fairles 57cb79efa4 mutex (try_lock): Implement generic try_lock.
2008-09-28  Chris Fairles <cfairles@gcc.gnu.org>

        * include/std/mutex (try_lock): Implement generic try_lock.
        * testsuite/30_threads/try_lock/1.cc: New.
        * testsuite/30_threads/try_lock/2.cc: Likewise.
        * testsuite/30_threads/try_lock/3.cc: Likewise.
        * testsuite/30_threads/mutex/cons/assign_neg.cc: Adjust line numbers.
        * testsuite/30_threads/mutex/cons/copy_neg.cc: Likewise.
        * testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
        * testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
        * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Likewise.
        * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
        * testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc:
        Likewise.
        * testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: Likewise.

From-SVN: r140729
2008-09-28 09:05:07 +00:00
Peter O'Gorman 25e5de9afd configure: Regenerate for new libtool.
* configure: Regenerate for new libtool.
        * aclocal.m4: Ditto.
        * Makefile.in: Ditto.
        * src/Makefile.in: Ditto.
        * doc/Makefile.in: Ditto.
        * po/Makefile.in: Ditto.
        * libmath/Makefile.in: Ditto.
        * include/Makefile.in: Ditto.
        * libsupc++/Makefile.in: Ditto.
        * testsuite/Makefile.in: Ditto.

Co-Authored-By: Steve Ellcey <sje@cup.hp.com>

From-SVN: r140702
2008-09-26 16:32:26 +00:00
Paolo Carlini 19a6a2ea61 bitset: Adjust comment to reflect DR 853.
2008-09-24  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/bitset: Adjust comment to reflect DR 853.
	* include/debug/bitset: Likewise.
	* doc/xml/manual/intro.xml: Add an entry for DR 853.

From-SVN: r140637
2008-09-24 17:49:21 +00:00
Paolo Carlini 47cd155763 Implement DR 396 [Ready].
2008-09-23  Paolo Carlini  <paolo.carlini@oracle.com>

	Implement DR 396 [Ready].
	* include/std/bitset (bitset<>::bitset(const std::basic_string<>&,
	size_t, size_t, _CharT, _CharT), bitset<>::bitset(const char*,
	char, char), bitset<>::to_string(_CharT, _CharT),
	bitset<>::_M_copy_from_string(const std::basic_string<>&, size_t,
	size_t, _CharT, _CharT), bitset<>::_M_copy_to_string
	(std::basic_string<>&, _CharT, _CharT), bitset<>::_M_copy_from_ptr(
	const _CharT*, size_t, size_t, size_t, _CharT, _CharT)): Add.
	(operator>>(std::basic_istream<>&, bitset<_Nb>&), operator<<(
	std::basic_ostream<>&, const bitset<_Nb>&)): Adjust.
	* include/debug/bitset (bitset<>::bitset(const std::basic_string<>&,
	size_t, size_t, _CharT, _CharT), bitset<>::bitset(const char*,
	char, char), bitset<>::to_string(_CharT, _CharT)): Add.
	* doc/xml/manual/intro.xml: Add an entry for DR 396.
	* testsuite/23_containers/bitset/cons/dr396.cc: Add.
	* testsuite/23_containers/bitset/to_string/dr396.cc: Likewise.

From-SVN: r140607
2008-09-23 18:14:24 +00:00
Chris Fairles 8839907955 chrono: If _GLIBCXX_USE_MONOTONIC_CLOCK is defined...
2008-09-23  Chris Fairles <cfairles@gcc.gnu.org>

        * include/std/chrono: If _GLIBCXX_USE_MONOTONIC_CLOCK is defined, don't
        typedef monotonic_clock to system_clock and instead declare new class.
        * src/chrono.cc: Conditionally define monotonic_clock::now().
        * include/std/condition_variable (wait_until): Throw exception if
        __gthread_cond_timedwait returns with error other than timed_out. Use
        system_clock as known clock type (__clock_t) and add overloads for known
        and unknown clocks. In the unknown case, sync to the known clock.
        Implement overload taking a predicate.
        (wait_for): Implement overload taking a predicate.
        * config/abi/pre/gnu.ver: Add exports for monotonic_clock.
        * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc: Modify
        line numbers.
        * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
        Likewise.
        * testsuite/30_threads/condition_variable/cons/assign_neg.cc: Likewise.
        * testsuite/30_threads/condition_variable/cons/copy_neg.cc: Likewise.
        * testsuite/30_threads/condition_variable/member/1.cc: New.
        * testsuite/30_threads/condition_variable/member/2.cc: Likewise.

From-SVN: r140603
2008-09-23 17:34:29 +00:00
Paolo Carlini 4a2095e271 locale_facets.tcc (__pad<>::_S_pad): Don't use const by value parameters.
2008-09-23  Paolo Carlini  <paolo.carlini@oracle.com>

 	* include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't use const
	by value parameters.
	* include/bits/locale_facets.h (__pad<>::_S_pad): Likewise.

From-SVN: r140584
2008-09-23 10:09:38 +00:00
Paolo Carlini 5ef46f9559 PR libstdc++/32422, DR 23 [Ready in R60]
2008-09-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/32422, DR 23 [Ready in R60]
	* config/locale/gnu/c_locale.cc (__convert_to_v(const char*, float&,
	ios_base::iostate&, const __c_locale&), __convert_to_v(const char*,
	double&, ios_base::iostate&, const __c_locale&), __convert_to_v(const
	char*, long double&, ios_base::iostate&, const __c_locale&)): Implement
	DR 23 and deal correctly with broken exponents.
	* config/locale/generic/c_locale.cc (__convert_to_v(const char*,
	float&, ios_base::iostate&, const __c_locale&), __convert_to_v(const
	char*, double&, ios_base::iostate&, const __c_locale&),
	__convert_to_v(const char*, long double&, ios_base::iostate&, const
	__c_locale&)): Likewise.
	* include/bits/locale_facets.tcc (num_get<>::_M_extract_int(_InIter,
	_InIter, ios_base&, ios_base::iostate&, _ValueT&)): Likewise.
	(num_get<>::_M_extract_float(_InIter, _InIter, ios_base&,
	ios_base::iostate&, string&): Change grouping check to set instead of
	OR failbit; do not check for eofbit here...
	(num_get<>::do_get(iter_type, iter_type, ios_base&,
	ios_base::iostate&, float&), num_get<>::do_get(iter_type, iter_type,
	ios_base&, ios_base::iostate&, double&), num_get<>::do_get(iter_type,
	iter_type, ios_base&, ios_base::iostate&, long double&),
	num_get<>::__do_get(iter_type, iter_type, ios_base&,
	ios_base::iostate&, double&)): ... do it here instead.
	(num_get<>::do_get(iter_type, iter_type, ios_base&,
	ios_base::iostate&, bool&)): Implement DR 23.
	(num_get<>::do_get(iter_type, iter_type, ios_base&,
	ios_base::iostate&, void*&)): Adjust.
	* doc/xml/manual/intro.xml: Add and entry for DR 23.
	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc:
	Adjust.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
	Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/16.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/22131.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/10.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/12.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/15.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/16.cc: Likewise.

From-SVN: r140574
2008-09-23 00:47:02 +00:00
Paolo Carlini aa4652fac0 stl_algo.h (minmax(initializer_list<>): Use make_pair, consistently with the other overload for initializer_list.
2008-09-21  Paolo Carlini  <paolo.carlini@oracle.com>

 	* include/bits/stl_algo.h (minmax(initializer_list<>): Use make_pair,
	consistently with the other overload for initializer_list.

From-SVN: r140524
2008-09-21 09:36:27 +00:00
Johannes Singler c38b84d8f1 re PR libstdc++/37470 (parallel/base.h log2 conflicts with math.h)
2008-09-19  Johannes Singler  <singler@ira.uka.de>

        PR libstdc++/37470
        * include/parallel/base.h: Rename log2 to __log2.
          (__log2) Avoid infinite loop for n <= 0, return 0.
        * include/parallel/losertree.h: Rename log2 to __log2.
        * include/parallel/multiseq_selection.h: Likewise.
        * include/parallel/random_shuffle.h: Likewise.

From-SVN: r140490
2008-09-19 11:37:16 +00:00
Paolo Carlini c78a2119d8 shared_ptr.h (__shared_count<>:: __shared_count(_Ptr, _Deleter), [...]): Qualify new with ::.
2008-09-18  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/shared_ptr.h (__shared_count<>::
	__shared_count(_Ptr, _Deleter), __shared_count<>::
	__shared_count(_Ptr, _Deleter, _Alloc), __shared_count<>::
	__shared_count(_Sp_make_shared_tag, _Tp*, _Alloc, _Args&&...)):
	Qualify new with ::.

From-SVN: r140469
2008-09-18 18:55:55 +00:00
Paolo Carlini 116a365bd4 re PR libstdc++/37547 ([c++0x] minmax with initializer_list gives incorrect results)
2008-09-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/37547
	* include/bits/stl_algo.h (min(initializer_list<>),
	min(initializer_list<>, Compare), max(initializer_list<>),
	max(initializer_list<>, Compare), minmax(initializer_list<>),
	minmax(initializer_list<>, Compare)): Fix return type.
	* include/bits/algorithmfwd.h: Adjust.
	* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
	* testsuite/25_algorithms/max/requirements/explicit_instantiation/3.cc:
        Likewise.
        * testsuite/25_algorithms/max/requirements/explicit_instantiation/
        pod2.cc: Likewise.
	* testsuite/25_algorithms/min/requirements/explicit_instantiation/3.cc:
        Likewise.
        * testsuite/25_algorithms/min/requirements/explicit_instantiation/
        pod2.cc: Likewise.
	* testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
	3.cc: Likewise.
        * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
        pod2.cc: Likewise.
	* testsuite/25_algorithms/max/37547.cc: New.
	* testsuite/25_algorithms/min/37547.cc: Likewise.
	* testsuite/25_algorithms/minmax/37547.cc: Likewise.

From-SVN: r140435
2008-09-17 22:58:38 +00:00
Paolo Carlini 1edd1a8317 [multiple changes]
2008-09-16  Chris Fairles  <chris.fairles@gmail.com>

        * testsuite/25_algorithms/min/requirements/explicit_instantiation/3.cc:
        New.
        * testsuite/25_algorithms/min/requirements/explicit_instantiation/
        pod2.cc: Likewise.
        * testsuite/25_algorithms/min/3.cc: Likewise.
        * testsuite/25_algorithms/min/4.cc: Likewise.
        * testsuite/25_algorithms/max/requirements/explicit_instantiation/3.cc:
        Likewise.
        * testsuite/25_algorithms/max/requirements/explicit_instantiation/
        pod2.cc: Likewise.
        * testsuite/25_algorithms/max/3.cc: Likewise.
        * testsuite/25_algorithms/max/4.cc: Likewise.
        * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
        3.cc: Likewise.
        * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
        pod2.cc: Likewise.
        * testsuite/25_algorithms/minmax/2.cc: Likewise.
        * testsuite/25_algorithms/minmax/3.cc: Likewise.

2008-09-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algo.h (min(initializer_list<>),
	min(initializer_list<>, Compare), max(initializer_list<>),
	max(initializer_list<>, Compare), minmax(initializer_list<>),
	minmax(initializer_list<>, Compare)): Add in C++0x mode.
	* include/bits/algorithmfwd.h: Add.
	* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.

From-SVN: r140404
2008-09-16 23:17:09 +00:00
Chris Fairles 46e113bf2b thread: New.
2008-09-12  Chris Fairles <chris.fairles@gmail.com>
	    Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/thread: New.
	* include/Makefile.am: Update.
	* include/Makefile.in: Regenerate.
	* src/thread.cc: New.
	* src/Makefile.am: Update.
	* src/Makefile.in: Regenerate.
	* acinclude.m4: Add check for nanosleep.
	* configure.ac: Call it.
	* configure: Regenerate.
	* config.h.in: Likewise.
	* config/abi/pre/gnu.ver: Add exports.
	* doc/doxygen/user.cfg.in: Add thread header.
	* testsuite/lib/libstdc++.exp (check_v3_target_nanosleep): Add.
	* testsuite/lib/dg-options.exp (dg-require-nanosleep): Add.
	* testsuite/30_threads/thread/cons/1.cc: New.
	* testsuite/30_threads/thread/cons/2.cc: Likewise.
	* testsuite/30_threads/thread/cons/3.cc: Likewise.
	* testsuite/30_threads/thread/cons/4.cc: Likewise.
	* testsuite/30_threads/thread/algorithm/1.cc: Likewise.
	* testsuite/30_threads/thread/algorithm/2.cc: Likewise.
	* testsuite/30_threads/thread/member/1.cc: Likewise.
	* testsuite/30_threads/thread/member/2.cc: Likewise.
	* testsuite/30_threads/thread/member/3.cc: Likewise.
	* testsuite/30_threads/thread/this_thread/1.cc: Likewise.
	* testsuite/30_threads/thread/this_thread/2.cc: Likewise.
	* testsuite/30_threads/thread/this_thread/3.cc: Likewise.
	* testsuite/30_threads/thread/this_thread/4.cc: Likewise.
	* testsuite/30_threads/headers/thread/types_std_c++0x.cc: Likewise.
	* testsuite/30_threads/headers/thread/std_c++0x_neg.cc: Likewise.
	* testsuite/17_intro/headers/c++200x/all.cc: Add thread.
	* testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: 
	Add thread, condition_variable and mutex.

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

From-SVN: r140332
2008-09-13 00:32:37 +00:00
Paolo Carlini 08376e28d4 ctype.cc (use_facet<ctype<char> >, [...]): Remove specializations.
2008-09-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* src/ctype.cc (use_facet<ctype<char> >, use_facet<ctype<wchar_t>):
	Remove specializations.
	* src/locale-inst.cc (use_facet<ctype<C> >): Instantiate.
	* include/bits/locale_facets.tcc (use_facet<ctype<char> >,
	use_facet<ctype<wchar_t>): Declare as extern template.
	* include/bits/locale_facets.h (use_facet<ctype<char> >,
	use_facet<ctype<wchar_t>): Do not declare as specializations.

From-SVN: r140251
2008-09-10 21:34:38 +00:00
Paolo Carlini 6c43852a18 re PR libstdc++/37455 (Code bloat for ostream.widen('\n'))
2008-09-10  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/37455
	* include/bits/locale_facets.h (ctype<char>::_M_narrow_init,
	ctype<char>::_M_widen_init): Don't define inline.
	* config/locale/darwin/ctype_members.cc: ... define here.
	* config/locale/gnu/ctype_members.cc: ... likewise.
	* config/locale/generic/ctype_members.cc: ... likewise.
	* config/abi/pre/gnu.ver: Export.

From-SVN: r140238
2008-09-10 16:48:47 +00:00
Paolo Carlini 802841eb8c cinttypes: Restore __STDC_FORMAT_MACRO after inclusion of <inttypes.h>.
2008-09-09  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/tr1_impl/cinttypes: Restore __STDC_FORMAT_MACRO after
	inclusion of <inttypes.h>.
	* include/tr1_impl/cstdint: Likewise for __STDC_LIMIT_MACROS and
	__STDC_CONSTANT_MACROS after <stdint.h>.
	* include/bits/postypes.h: Likewise.

From-SVN: r140174
2008-09-09 21:33:46 +00:00
Paolo Carlini a834e097ea acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Check wcstoimax and wcstoumax, define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1.
2008-09-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Check wcstoimax and
	wcstoumax, define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1.
	* include/tr1_impl/cinttypes: Use the latter.
	* testsuite/tr1/8_c_compatibility/cinttypes/functions.cc: Likewise.
	* configure: Regenerate.
	* config.h.in: Likewise.

From-SVN: r140089
2008-09-07 16:41:06 +00:00
Jonathan Wakely 640cbe76c7 re PR libstdc++/36962 ([C++0x] Add constructors / assignment operators from unique_ptr to shared_ptr)
PR libstdc++/36962
	* include/Makefile.am: Update headers.
	* include/Makefile.in: Regenerate.
	* include/std/memory: Update headers.
	* include/tr1/memory: Likewise.
	* include/tr1_impl/boost_shared_ptr.h: Remove, splitting into
	separate implementations for std and tr1.
	* include/bits/boost_sp_shared_count.h: Remove.
	* include/tr1/boost_sp_shared_count.h: Remove.
	* include/bits/shared_ptr.h: New. Combines boost_sp_shared_count.h
	and boost_shared_ptr.h into one file.
	(__shared_count,__shared_ptr,shared_ptr,swap): Add unique_ptr
	and rvalue-reference support as per current WP.
	* include/tr1/shared_ptr.h: New. Combines boost_sp_shared_count.h
	and boost_shared_ptr.h into one file.
	* testsuite/20_util/shared_ptr/cons/unique_ptr.cc: New.
	* testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: New.
	* testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref.cc: New.
	* testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: New.
	* testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: New.
	* testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc: New.
	* testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: New.
	* testsuite/20_util/shared_ptr/modifiers/swap_rvalue.cc: New.
	* testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue_neg.cc: Remove.

From-SVN: r140012
2008-09-04 23:33:10 +01:00
Chris Fairles d74eef3beb mutex (once_flag): Construct __gthread_once_t in a temporary variable before assigning to _M_once...
2008-09-04  Chris Fairles  <chris.fairles@gmail.com>

        * include/std/mutex (once_flag): Construct __gthread_once_t in a
	temporary variable before assigning to _M_once to avoid initialization
	errors.

From-SVN: r139986
2008-09-04 14:35:54 +00:00
Paolo Carlini 37383ef55e gnu.ver: Also export __once_functor_lock...
2008-09-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* config/abi/pre/gnu.ver: Also export __once_functor_lock; tighten
	GLIBCXX_3.4 exports (necessary in case of undef _GLIBCXX_HAVE_TLS).

	* Makefile.in: Regenerate.
	* src/Makefile.in: Likewise.
	* doc/Makefile.in: Likewise.
	* po/Makefile.in: Likewise.
	* libmath/Makefile.in: Likewise.
	* include/Makefile.in: Likewise.
	* libsupc++/Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.

From-SVN: r139968
2008-09-04 00:57:57 +00:00
Chris Fairles 7b800287b7 condition_variable: Use new deleted ctors.
2008-09-03  Chris Fairles  <chris.fairles@gmail.com>

        * include/std/condition_variable: Use new deleted ctors.
        * include/std/mutex: Likewise plus implement timed_mutex, 
	recursive_timed_mutex and call_once.
	* src/condition_variable.cc: Implement wait(). Use gthread types.
	Remove _GTHREADS_HAS_COND checks in favor of global
	_GLIBCXX_HAS_GTHREADS.
	* src/mutex.cc (call_once): Implementation using TLS with mutex
	fallback.
	* config/abi/pre/gnu.ver: Add exported symbols.
	* testsuite/lib/libstdc++.exp (check_v3_target_gthreads): New.
	* testsuite/lib/dg-options.exp (dg-require-gthreads): Likewise.
	* testsuite/30_threads/lock_guard/requirements/typedefs.cc: Use
	dg-require-gthreads and dg-require-cstdint.
	* testsuite/30_threads/lock_guard/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
	* testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
	* testsuite/30_threads/mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/mutex/requirements/typedefs.cc: Likewise.
	* testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
	Likewise.
        * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
        * testsuite/30_threads/recursive_mutex/requirements/typedefs.cc:
	Likewise.
        * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
        * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
        * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
        * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/unique_lock/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/30_threads/unique_lock/requirements/typedefs.cc: Likewise.
        * testsuite/30_threads/mutex/cons/assign_neg.cc: Also adjust dg-error
	lines for deleted members.
        * testsuite/30_threads/mutex/cons/copy_neg.cc: Likewise.
        * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Likewise.
        * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/call_once/once_flag.cc: New.
	* testsuite/30_threads/call_once/call_once1.cc: Likewise.
	* testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
	* testsuite/30_threads/condition_variable/cons/copy_neg.cc: Likewise
	* testsuite/30_threads/condition_variable/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
	* testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
	Likewise.
	* testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
	Likewise.
	* testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
	* testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
	* testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/timed_mutex/requirements/typedefs.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc: 
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc: 
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc: 
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc: 
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc: 
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/requirements/typedefs.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
	Likewise.
	* testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
	* testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/4.cc: Likewise.

From-SVN: r139943
2008-09-03 17:46:09 +00:00
Mark Mitchell a023046841 type_traits (__make_unsigned_selector<>): Consider enums of size smaller than short.
* include/std/type_traits (__make_unsigned_selector<>): Consider
	enums of size smaller than short.
	(__make_signed_selector<>): Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
	Adjust line numbers.
	* testsuite/20_util/make_usigned/requirements/typedefs_neg.cc:
	Adjust line numbers.
	* testsuite/20_util/make_signed/requirements/typedefs-2.cc:
	Ensure test_enum is the same size as short.
	* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
	Ensure test_enum is the same size as short.

From-SVN: r139875
2008-09-01 23:24:09 +00:00
Aaron W. LaFramboise d89f0ad622 configure.ac (RPATH_ENVVAR): Use PATH on Windows.
2008-08-31  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>

	<toplevel>
	* configure.ac (RPATH_ENVVAR): Use PATH on Windows.
	(GCC_SHLIB_SUBDIR): New.
	* Makefile.tpl (HOST_LIB_PATH_gcc): Use GCC_SHLIB_SUBDIR.
	* configure: Regenerate.
	* Makefile.in: Regenerate.

	<gcc>
	* mkmap-flat.awk: Add option pe_dll.
	* config/i386/t-cygming (SHLIB_LINK): Support building libgcc_s.
	* gcc/config/i386/t-cygwin (SHLIB_LC): Add.
	* gcc/config/i386/t-mingw32 (SHLIB_LC): Add.
	* config/i386/mingw32.h (SHARED_LIBGCC_UNDEFS_SPEC): New.
	(SUBTARGET_EXTRA_SPECS): Use SHARED_LIBGCC_UNDEFS_SPEC.
	(LINK_SPEC): Support libgcc_s.
	(LIBGCC_SPEC): Support libgcc_s.
	(LIBGCC_SONAME): New.

	<libstdc++-v3>
	* acinclude.m4 <enable_symvers>: Don't use symvers on Windows.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
	* src/Makefile.in: Regenerated.
	* doc/makefile.in: Regenerated.
	* po/Makefile.in: Regenerated.
	* libmath/Makefile.in: Regenerated.
	* include/Makefile.in: Regenerated.
	* libsupc++/Makefile.in: Regenerated.
	* testsuite/makefile.in: Regenerated.

From-SVN: r139837
2008-08-31 12:14:25 -06:00
Paolo Carlini eafb2f2d27 hashtable (_Hashtable<>): Add missing pointer and const_pointer typedefs.
2008-08-27  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/tr1_impl/hashtable (_Hashtable<>): Add missing pointer and
	const_pointer typedefs.
	* testsuite/tr1/6_containers/unordered_set/requirements/typedef.cc:
	Add.
	* testsuite/tr1/6_containers/unordered_map/requirements/typedef.cc:
	Likewise.
	* testsuite/tr1/6_containers/unordered_multiset/requirements/
	typedef.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multimap/requirements/
	typedef.cc: Likewise.
	* testsuite/23_containers/unordered_set/requirements/typedef.cc:
	Likewise.
	* testsuite/23_containers/unordered_map/requirements/typedef.cc:
	Likewise.
	* testsuite/23_containers/unordered_multiset/requirements/typedef.cc:
	Likewise.
	* testsuite/23_containers/unordered_multimap/requirements/typedef.cc:
	Likewise.

From-SVN: r139674
2008-08-27 19:27:11 +00:00
Paolo Carlini 2fb63453bd char_traits.h (char_traits<char16_t>:: assign(char_type*, size_t, char_type), [...]): For now, just open-code.
2008-08-20  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/char_traits.h (char_traits<char16_t>::
	assign(char_type*, size_t, char_type), char_traits<char32_t>::
	assign(char_type*, size_t, char_type)): For now, just open-code.

From-SVN: r139367
2008-08-21 01:06:45 +00:00
Paolo Carlini 5e44d591c8 PR libstdc++/33979 (partial)
2008-08-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/33979 (partial)
	* include/bits/postypes.h (u16streampos, u32streampos): Add.
	* include/bits/char_traits.h (char_traits<char16_t>,
	char_traits<char32_t>): Add.
	* include/bits/stringfwd.h (u16string, u32string): Add.
	* include/ext/vstring_fwd.h: Add typedefs for char16_t/char32_t.
	* testsuite/21_strings/char_traits/requirements/char32_t/typedefs.cc:
	New.
	* testsuite/21_strings/char_traits/requirements/
	explicit_instantiation/short/1.cc: Likewise.
	* testsuite/21_strings/char_traits/requirements/
	explicit_instantiation/char32_t/1.cc: Likewise.
	* testsuite/21_strings/char_traits/requirements/
	explicit_instantiation/wchar_t/1.cc: Likewise.
	* testsuite/21_strings/char_traits/requirements/
	explicit_instantiation/char16_t/1.cc: Likewise.
	* testsuite/21_strings/char_traits/requirements/
	explicit_instantiation/char/1.cc: Likewise.
	* testsuite/21_strings/char_traits/requirements/char16_t/typedefs.cc:
	Likewise.
	* testsuite/21_strings/basic_string/requirements/
	explicit_instantiation/char32_t/1.cc: Likewise.
	* testsuite/21_strings/basic_string/requirements/
	explicit_instantiation/wchar_t/1.cc: Likewise.
	* testsuite/21_strings/basic_string/requirements/
	explicit_instantiation/char16_t/1.cc: Likewise.
	* testsuite/21_strings/basic_string/requirements/
	explicit_instantiation/char/1.cc: Likewise.
	* testsuite/21_strings/headers/string/types_std_c++0x.cc: Likewise.
	* testsuite/ext/vstring/requirements/explicit_instantiation/
	char32_t/1.cc: Likewise.
	* testsuite/ext/vstring/requirements/explicit_instantiation/
	char16_t/1.cc: Likewise.

From-SVN: r139339
2008-08-20 19:29:54 +00:00
Paolo Carlini b7e2f896db re PR testsuite/37149 (27_io/basic_ostream/inserters_other/char/error_code.cc)
2008-08-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/37149
	* testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Include
	<cstdio>.
	* testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
	Likewise.
	* testsuite/27_io/objects/char/12048-1.cc: Likewise.
	* testsuite/27_io/objects/char/12048-3.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/12048-1.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/12048-3.cc: Likewise.
	* testsuite/ext/malloc_allocator/deallocate_global.cc: Likewise.
	* testsuite/ext/malloc_allocator/deallocate_local.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_global-2.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_global-4.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_local-2.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_local-4.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_local-6.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_local-8.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_local_thread-5.cc: Likewise.
	* testsuite/ext/mt_allocator/deallocate_local_thread-7.cc: Likewise.
	* testsuite/ext/new_allocator/deallocate_global.cc: Likewise.
	* testsuite/ext/new_allocator/deallocate_local.cc: Likewise.
	* testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise.
	* include/std/regex: Include <sstream>.
	* include/tr1/regex: Likewise.

From-SVN: r139206
2008-08-18 17:48:15 +00:00
Paolo Carlini bbbd5025a1 re PR libstdc++/37100 (/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4/bits/stl_pair.h:99: error 404)
2008-08-12  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/37100
	* include/bits/stl_pair.h: Fix documentation URL in comment.

From-SVN: r139040
2008-08-12 23:14:10 +00:00
Johannes Singler d0259b010b 2008-08-12 Johannes Singler <singler@ira.uka.de>
* include/paralle/losertree.h
        (LoserTreePointerBase<>::~LoserTreePointerBase):
        Replace delete by appropriate delete[].

From-SVN: r139026
2008-08-12 17:23:00 +00:00
Stephen M. Webb 3bcd44c051 Formatting fixes for include/tr1_impl/regex.
From-SVN: r138967
2008-08-11 21:06:00 +00:00