Commit Graph

5070 Commits

Author SHA1 Message Date
Paolo Carlini e0e3300cb1 value.cc: New.
2010-03-23  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/20_util/is_trivial/value.cc: New.
	* testsuite/20_util/is_standard_layout/value.cc: Likewise.
	* testsuite/20_util/is_pod/value.cc: Extend.

From-SVN: r157671
2010-03-23 15:03:50 +00:00
Paolo Carlini 7c8420560b stl_algobase.h (lower_bound(_ForwardIterator, _ForwardIterator, const _Tp&, _Compare)): Move...
2010-03-23  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algobase.h (lower_bound(_ForwardIterator,
	_ForwardIterator, const _Tp&, _Compare)): Move...
	* include/bits/stl_algo.h: ... here.

From-SVN: r157668
2010-03-23 14:32:35 +00:00
Johannes Singler 0e50f3350e numeric (inner_product, [...]): Precede subsequent call with _GLIBCXX_STD_P:: to avoid ambiguity between...
2010-03-22  Johannes Singler  <singler@kit.edu>

        * include/parallel/numeric (inner_product, partial_sum):
        Precede subsequent call with _GLIBCXX_STD_P:: to avoid ambiguity
        between __gnu_parallel:: and std::
        * include/parallel/algobase.h (equal): Likewise.
        * include/parallel/algo.h (find_first_of, search_n, merge, nth_element,
        partial_sort, max_element, min_element): Likewise.
        * include/parallel/partial_sum.h (__parallel_partial_sum_linear):
        Qualify accumulate call with __gnu_parallel::.

From-SVN: r157643
2010-03-22 17:06:50 +00:00
Paolo Carlini 57fd5f9525 base.h (_PseudoSequence): Do not forward declare.
2010-03-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/parallel/base.h (_PseudoSequence): Do not forward declare.
	(_VoidFunctor): Remove, unused.
	(__median_of_three_iterators): Take __comp by value.
	(_PseudoSequenceIterator<>::operator++(int)): Do not const qualify
	the return type.
	(_PseudoSequenceIterator<>::operator!=): Fix return type to bool.

From-SVN: r157628
2010-03-22 13:55:11 +00:00
Paolo Carlini 2305a1e82e base.h (_Less): Use std::less.
2010-03-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/parallel/base.h (_Less): Use std::less.
	(_Plus): Likewise use std::plus.
	(_Multiplies): Likewise use std::multiplies.
	* include/parallel/numeric: Adjust.

From-SVN: r157622
2010-03-22 12:18:46 +00:00
Paolo Carlini 0c56371567 freestanding.cc: Avoid -Wall warnings.
2010-03-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/17_intro/freestanding.cc: Avoid -Wall warnings.

From-SVN: r157572
2010-03-19 14:19:23 +00:00
Rodolfo Lima 28de604e8c shared_ptr.h (shared_ptr(unique_ptr&&), [...]): Remove explicit specifier (as per DR 925).
2010-03-19  Rodolfo Lima  <rodolfo@rodsoft.org>

	* include/bits/shared_ptr.h (shared_ptr(unique_ptr&&),
	shared_ptr(auto_ptr&&)): Remove explicit specifier (as per DR 925).
	* include/bits/shared_ptr_base.h: Likewise.
	* testsuite/20_util/shared_ptr/creation/dr925.cc: New.

From-SVN: r157570
2010-03-19 13:32:05 +00:00
Paolo Carlini afcd05a759 random.tcc: Minor formatting changes.
2010-03-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.tcc: Minor formatting changes.

2010-03-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algo.h (shuffle): Fix typo in signature.
	* include/bits/algorithmfwd.h: Adjust.
	* testsuite/25_algorithms/shuffle/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/25_algorithms/shuffle/requirements/
	explicit_instantiation/pod.cc: Likewise.

From-SVN: r157565
2010-03-19 11:10:08 +00:00
Paolo Carlini 247d807571 stl_algo.h (shuffle): Add, per D3056.
2010-03-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algo.h (shuffle): Add, per D3056.
	(random_shuffle): Fix signature in C++0x mode.
	(lower_bound, __lg): Move...
	* include/bits/stl_algobase.h: ... here.
	* include/bits/algorithmfwd.h: Adjust.
	* include/parallel/algorithmfwd.h: Likewise.
	* include/parallel/algo.h: Likewise.
	* include/bits/hashtable_policy.h (__lower_bound): Remove,
	adjust callers.
	* include/tr1/hashtable_policy.h (__lower_bound): Likewise.
	* include/bits/random.tcc (__detail::__transform): Add,
	adjust std::transform callers; don't include <algorithm>.
	* testsuite/25_algorithms/shuffle/1.cc: Add.
	* testsuite/25_algorithms/shuffle/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/25_algorithms/shuffle/requirements/
	explicit_instantiation/pod.cc: Likewise.

	* include/bits/random.h: Add comments.

From-SVN: r157564
2010-03-19 10:36:57 +00:00
Jonathan Wakely 2b72aa266a debug_mode.xml: Correct debug headers.
2010-03-17  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* doc/xml/manual/debug_mode.xml: Correct debug headers.

From-SVN: r157506
2010-03-17 00:36:05 +00:00
Jonathan Wakely fbcedacca6 re PR libstdc++/43397 (std::function can't forward rvalue reference for pointer to member function)
2010-03-17  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/43397
	* include/std/functional (_Mem_fn): Use perfect forwarding.
	* testsuite/20_util/function/43397.cc: New.

From-SVN: r157504
2010-03-17 00:22:56 +00:00
Paolo Carlini 7ebb824234 re PR libstdc++/43394 (Spurious warnings while building parallel_list.cc on x86_64 -m32)
2010-03-16  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/43394
	* include/parallel/compatibility.h: Add __k8 and __core2 among the
	i386 targets supporting atomic operations.

From-SVN: r157498
2010-03-16 23:01:28 +00:00
Paolo Carlini 5ecfce5c58 hash_map: Use consistently the _BACKWARD_* prefix for the include guard.
2010-03-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/backward/hash_map: Use consistently the _BACKWARD_*
	prefix for the include guard.
	* include/backward/hash_fun.h: Likewise.
	* include/backward/hashtable.h: Likewise.
	* include/backward/auto_ptr.h: Likewise.
	* include/backward/strstream: Likewise.
	* include/backward/binders.h: Likewise.
	* include/backward/hash_set: Likewise.

From-SVN: r157497
2010-03-16 22:34:53 +00:00
Paolo Carlini fc05e1ba76 random.h (operator==(const uniform_int_distribution<>&, const uniform_int_distribution<>&), [...]): Add, likewise for operator!=.
2010-03-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.h (operator==(const uniform_int_distribution<>&,
	const uniform_int_distribution<>&), operator==(const
	uniform_real_distribution<>&, const uniform_real_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<>&)): Add, likewise for operator!=.
	(operator!=(const independent_bits_engine<>&, const
	independent_bits_engine<>&), operator!=(const
	subtract_with_carry_engine<>&, const subtract_with_carry_engine<>&),
	operator!=(const discard_block_engine<>&, const
	discard_block_engine<>&), operator!=(const mersenne_twister_engine<>&,
	const mersenne_twister_engine<>&), operator!=(const
	linear_congruential_engine<>&, const linear_congruential_engine<>&),
	operator!=(const shuffle_order_engine<>&, const
	shuffle_order_engine<>&): Add.
	* include/bits/random.tcc (operator==(const normal_distribution<>&,
	const normal_distribution<>&)): Add.
	* testsuite/26_numerics/random/uniform_real_distribution/operators/
	inequal.cc: New.
	* testsuite/26_numerics/random/uniform_real_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/piecewise_constant_distribution/
	operators/inequal.cc: Likewise.
	* testsuite/26_numerics/random/piecewise_constant_distribution/
	operators/equal.cc: Likewise.
	* testsuite/26_numerics/random/chi_squared_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/chi_squared_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/normal_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/normal_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/uniform_int_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/uniform_int_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/poisson_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/poisson_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/bernoulli_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/bernoulli_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/discrete_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/discrete_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/weibull_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/weibull_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/subtract_with_carry_engine/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/discard_block_engine/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/cauchy_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/cauchy_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/negative_binomial_distribution/
	operators/inequal.cc: Likewise.
	* testsuite/26_numerics/random/negative_binomial_distribution/
	operators/equal.cc: Likewise.
	* testsuite/26_numerics/random/gamma_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/gamma_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/mersenne_twister_engine/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/fisher_f_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/fisher_f_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/exponential_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/exponential_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/binomial_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/binomial_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/lognormal_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/lognormal_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/extreme_value_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/extreme_value_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/piecewise_linear_distribution/
	operators/inequal.cc: Likewise.
	* testsuite/26_numerics/random/piecewise_linear_distribution/
	operators/equal.cc: Likewise.
	* testsuite/26_numerics/random/student_t_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/student_t_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/linear_congruential_engine/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/geometric_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/geometric_distribution/operators/
	equal.cc: Likewise.

From-SVN: r157489
2010-03-16 16:14:00 +00:00
Paolo Carlini 1692089663 forward_list.tcc (_Fwd_list_node_base:: _M_transfer_after): Return _Fwd_list_node_base*.
2010-03-15  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.tcc (_Fwd_list_node_base::
	_M_transfer_after): Return _Fwd_list_node_base*.
	(forward_list<>::_M_splice_after): Add.
	(forward_list<>::insert_after(const_iterator, size_type, const _Tp&),
	insert_after(const_iterator, _InputIterator, _InputIterator),
	insert_after(const_iterator, initializer_list<>)): Use the above,
	implement DR 1278 ([Ready] in Pittsburgh).
	* include/bits/forward_list.h (insert_after(const_iterator,
	size_type, const _Tp&), insert_after(const_iterator, _InputIterator,
	_InputIterator), insert_after(const_iterator, initializer_list<>)):
	Only declare.
	* testsuite/23_containers/forward_list/modifiers/2.cc: Adjust.
	* testsuite/23_containers/forward_list/requirements/dr438/
	assign_neg.cc: Adjust dg-error line number.
	* testsuite/23_containers/forward_list/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_2_neg.cc: Likewise.

From-SVN: r157471
2010-03-16 01:32:53 +00:00
Paolo Carlini eb3934d834 2010-03-15 Paolo Carlini <paolo.carlini@oracle.com>
* Complete last ChangeLog entry.

From-SVN: r157464
2010-03-15 17:06:59 +00:00
Paolo Carlini 97ffcedf40 revert: forward_list.h: Support non-standard pointer types
2010-03-15  Paolo Carlini  <paolo.carlini@oracle.com>

	Revert:
	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: r157462
2010-03-15 17:02:16 +00:00
Paolo Carlini e962c1b0f4 array (swap(array<>&, array<>&)): Use member swap.
2010-03-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/tr1_impl/array (swap(array<>&, array<>&)): Use member swap.
	
	* include/bits/stl_algo.h: Improve comment.

From-SVN: r157421
2010-03-13 12:47:09 +00:00
Benjamin Kosnik 60f8b2e2ff run_doxygen: Adjust.
2010-03-12  Benjamin Kosnik  <bkoz@redhat.com>

	* scripts/run_doxygen: Adjust.
	* doc/doxygen/user.cfg.in: Adjust latex, xml prefs.
	* doc/xml/api.xml: Update.
	* doc/Makefile.am: Re-do stamp rules.
	* doc/Makefile.in: Regenerate.

From-SVN: r157409
2010-03-12 17:35:19 +00:00
Paolo Carlini 9155c0e3df hashtable_policy.h (_Rehash_base<_Prime_rehash_policy, [...]): Add, per DR 1189.
2010-03-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/hashtable_policy.h (_Rehash_base<_Prime_rehash_policy,
	_Hashtable>::reserve): Add, per DR 1189.
	* include/bits/hashtable.h (_Hashtable<>::size_type,
	_Hashtable<>::difference_type): Do not typedef from _Allocator.
	* testsuite/23_containers/unordered_map/dr1189.cc: New.
	* testsuite/23_containers/unordered_set/dr1189.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/dr1189.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/dr1189.cc: Likewise.

From-SVN: r157373
2010-03-10 23:49:28 +00:00
Paolo Carlini d723ced225 revert: PR libstdc++/41975, DR 579
2010-03-08  Paolo Carlini  <paolo.carlini@oracle.com>

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

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

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

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

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

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

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

From-SVN: r157239
2010-03-05 01:51:56 +00:00
Benjamin Kosnik 0f752f4435 Makefile.am: Re-organize xml sources.
2010-03-03  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/Makefile.am: Re-organize xml sources.
	(doc-latex-doxygen): New.
	(doc-pdf-doxygen): New.
	(stamp-xml-doxygen, stamp-latex-doxygen): New.
	* doc/Makefile.in: Regenerate.
	* doc/doxygen/user.cfg.in: Add support here.
	* doc/xml/manual/appendix_contributing.xml: Add specifics.

	* doc/xml/manual/concurrency.xml: New.
	* doc/xml/manual/atomics.xml: New.
	* doc/xml/manual/spine.xml: Adjust.
	* doc/xml/manual/diagnostics.xml: Adjust.

From-SVN: r157214
2010-03-04 02:55:08 +00:00
Paolo Carlini 2ba34efc55 unique_ptr.h (unique_ptr<>::get_deleter): Simplify return type.
2010-03-03  Paolo Carlini  <paolo.carlini@oracle.com>
	    Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/bits/unique_ptr.h (unique_ptr<>::get_deleter): Simplify
	return type.
	* testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Adjust
	dg-error line number.
	* testsuite/20_util/unique_ptr/assign/assign_neg.cc: Likewise.

Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>

From-SVN: r157193
2010-03-03 11:06:59 +00:00
Paolo Carlini 95addb1b84 bitset (hash): Minor tweaks.
2010-03-02  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/debug/bitset (hash): Minor tweaks.
	* include/debug/vector (hash): Likewise.
	* include/profile/bitset (hash): Likewise.
	* include/profile/vector (hash): Likewise.

From-SVN: r157186
2010-03-03 02:01:56 +00:00
Paolo Carlini 055f6a476c functional_hash.h (_Fnv_hash_base<>::hash): Change to template.
2010-03-02  Paolo Carlini  <paolo.carlini@oracle.com>  

	* include/bits/functional_hash.h (_Fnv_hash_base<>::hash): Change
	to template.
	* include/tr1/functional_hash.h (_Fnv_hash_base<>::hash): Likewise.
	* include/bits/vector.tcc (hash): Adjust.
	* include/bits/basic_string.h (hash): Likewise.
	* include/std/bitset (hash): Likewise.
	* src/hash-string-aux.cc (hash): Likewise.

From-SVN: r157185
2010-03-03 01:23:07 +00:00
Jonathan Wakely ac4983563d mutex (lock_guard::lock_guard): Do not lock mutex when adopt_lock_t constructor is used.
2010-03-02  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/mutex (lock_guard::lock_guard): Do not lock mutex when
	adopt_lock_t constructor is used.
	* testsuite/30_threads/lock_guard/cons/1.cc: New.

From-SVN: r157180
2010-03-02 23:00:21 +00:00
Paolo Carlini 63ad150294 stl_bvector.h (hash<vector<bool, [...]): Move definition...
2010-03-02  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_bvector.h (hash<vector<bool, _Alloc>>::
	operator()(const vector<bool, _Alloc>&)): Move definition...
	* include/bits/vector.tcc: ... here.

From-SVN: r157179
2010-03-02 21:49:12 +00:00
Rainer Orth d903b2a134 Makefile.am (check-DEJAGNU): Include de* in normal0 dirs.
* testsuite/Makefile.am (check-DEJAGNU): Include de* in normal0
	dirs.
	* testsuite/Makefile.in: Regenerate.

From-SVN: r157177
2010-03-02 21:46:23 +00:00
Paolo Carlini 4cd533a7c7 stl_bvector.h (hash<vector<bool, _Alloc>>): Add.
2010-03-02  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_bvector.h (hash<vector<bool, _Alloc>>): Add.
	* include/debug/vector (hash<__debug::vector<bool, _Alloc>>):
	Likewise.
	* include/profile/vector (hash<__profile::vector<bool, _Alloc>>):
	Likewise.
	* testsuite/23_containers/vector/bool/hash/1.cc: New.

	* include/std/bitset (hash<bitset<_Nb>>): Small tweaks.
	(hash<bitset<0>>): Add.
	* include/debug/bitset (hash<__debug::bitset<_Nb>>): Forward to
	hash<bitset<_Nb>>.
	* include/profile/bitset (hash<__profile::bitset<_Nb>>): Likewise.
	* testsuite/23_containers/bitset/hash/1.cc: Improve.

From-SVN: r157176
2010-03-02 21:11:19 +00:00
Jonathan Wakely 38f86abadf re PR libstdc++/43230 (Revision 157158 failed 30_threads/promise/members/set_value3.cc)
2010-03-02  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/43230
	* testsuite/30_threads/promise/members/set_value3.cc
	(tester::~tester): Remove.

From-SVN: r157166
2010-03-02 15:36:00 +00:00
Paolo Carlini ec7058d64d bitset (_Base_bitset<>::_M_getdata()): Add.
2010-03-02  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/bitset (_Base_bitset<>::_M_getdata()): Add.
	(hash<_GLIBCXX_STD_D::bitset<_Nb>>): Add, use the latter.
	* include/debug/bitset (hash<std::__debug::bitset<_Nb>>): Add.
	* include/profile/bitset (hash<std::__profile::bitset<_Nb>>): Likewise.
	* testsuite/23_containers/bitset/hash/1.cc: New.

From-SVN: r157165
2010-03-02 14:08:52 +00:00
Jonathan Wakely 3e2e197673 re PR libstdc++/43183 (std::unique_ptr::reset() does not conform to N3035.)
2010-03-02  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/43183
	* include/bits/unique_ptr.h (reset): Fix as per working paper.
	(operator*, operator->, operator[], operator bool, release): Use
	pointer's null value instead of 0.
	* testsuite/20_util/unique_ptr/assign/assign_neg.cc: Adjust.
	* testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Adjust.
	* testsuite/20_util/unique_ptr/modifiers/43183.cc: New.

From-SVN: r157158
2010-03-02 00:40:28 +00:00
Paolo Carlini 604b384dd4 iomanip (get_money, put_money): Add in C++0x mode; tidy.
2010-03-01  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/iomanip (get_money, put_money): Add in C++0x mode; tidy.
	* testsuite/27_io/manipulators/extended/get_money/char/1.cc: New.
	* testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc:
	Likewise.
	* testsuite/27_io/manipulators/extended/put_money/char/1.cc: Likewise.
	* testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc:
	Likewise.

From-SVN: r157153
2010-03-01 19:12:39 +00:00
Benjamin Kosnik 44de0937ab atomicfwd_cxx.h: Add typedefs to group.
2010-03-01  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/atomicfwd_cxx.h: Add typedefs to group.

From-SVN: r157152
2010-03-01 19:04:23 +00:00
Rainer Orth 8927b7c026 re PR other/32499 (libstdc++ testsuite fails on platforms without ranlib)
libstdc++-v3:
	PR libstdc++/32499
	* testsuite/Makefile.am (check-DEJAGNU
	$(check_DEJAGNU_normal_targets)): Export AR, RANLIB.
	* testsuite/Makefile.in: Regenerate.

	toplevel:
	PR libstdc++/32499
	* configure.ac (RANLIB): Default to true.
	(STRIP): Likewise.
	(RANLIB_FOR_TARGET): Remove superfluous : argument.
	* configure: Regenerate.

From-SVN: r157144
2010-03-01 13:58:48 +00:00
Gerald Pfeifer aad16db913 references.html: Adjust link to SGI's STL site.
* doc/html/ext/pb_ds/references.html: Adjust link to SGI's STL
	site.

From-SVN: r157122
2010-02-28 12:57:16 +00:00
Paolo Carlini bea9840ef1 hash-long-double-aux.cc (hash<long double>:: operator()(long double)): Hash both -0 and +0 to 0.
2010-02-28  Paolo Carlini  <paolo.carlini@oracle.com>

       * src/hash-long-double-aux.cc (hash<long double>::
       operator()(long double)): Hash both -0 and +0 to 0.

From-SVN: r157120
2010-02-28 10:37:04 +00:00
Ed Smith-Rowland 7703dc47e1 random.tcc (operator<<): Use max_digits10.
2010-02-25  Ed Smith-Rowland  <3dw4rd@verizon.net>

	* include/bits/random.tcc (operator<<): Use max_digits10.

From-SVN: r157068
2010-02-25 17:34:30 +00:00
Ed Smith-Rowland 018afad39f limits (__numeric_limits_base::max_digits10, [...]): Add.
2010-02-25  Ed Smith-Rowland  <3dw4rd@verizon.net>

	* include/std/limits (__numeric_limits_base::max_digits10,
	numeric_limits<>::max_digits10, numeric_limits<>::lowest): Add.
	* src/limits.cc: Define max_digits10.
	* config/abi/pre/gnu.ver: Adjust.
	* testsuite/18_support/numeric_limits/dr559.cc: Test max_digits10
	and lowest too.
	* testsuite/18_support/numeric_limits/lowest.cc: New.
	* testsuite/18_support/numeric_limits/max_digits10.cc: New.

From-SVN: r157067
2010-02-25 17:13:04 +00:00
Paolo Carlini 640f8e6548 functional_hash.h (__hash_combine): Remove.
2010-02-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/functional_hash.h (__hash_combine): Remove.
	(_Fnv_hash_base<>::hash(const char*, size_t)): Add defaulted
	hash parameter.
	(_Fnv_hash::__hash_combine(const _Tp&, size_t)): Add.
	* include/std/system_error (hash<system_error>): Adjust.
	* src/compatibility-c++0x.cc (hash<system_error>): Likewise.

From-SVN: r157065
2010-02-25 13:32:52 +00:00
Benjamin Kosnik 03a32789f4 faq.xml: Adjust structure for pdf index.
2010-02-24  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/xml/faq.xml: Adjust structure for pdf index.
	* doc/xml/manual/mt_allocator.xml: Same.
	* doc/xml/manual/allocator.xml: Same.
	* doc/xml/manual/ctype.xml: Same.
	* doc/xml/manual/numerics.xml: Same.
	* doc/xml/manual/codecvt.xml: Same.
	* doc/xml/manual/intro.xml: Same.
	* doc/xml/manual/shared_ptr.xml: Same.
	* doc/xml/manual/status_cxxtr1.xml: Same.
	* doc/xml/manual/auto_ptr.xml: Same.
	* doc/xml/manual/internals.xml: Same.
	* doc/xml/manual/status_cxx1998.xml: Same.
	* doc/xml/manual/parallel_mode.xml: Same.
	* doc/xml/manual/profile_mode.xml: Same.
	* doc/xml/manual/containers.xml: Same.
	* doc/xml/manual/io.xml: Same.
	* doc/xml/manual/concurrency_extensions.xml: Same.
	* doc/xml/manual/appendix_porting.xml: Same.
	* doc/xml/manual/utilities.xml: Same.
	* doc/xml/manual/support.xml: Same.
	* doc/xml/manual/bitmap_allocator.xml: Same.
	* doc/xml/manual/configure.xml: Same.
	* doc/xml/manual/build_hacking.xml: Same.
	* doc/xml/manual/evolution.xml: Same.
	* doc/xml/manual/using.xml: Same.
	* doc/xml/manual/debug.xml: Same.
	* doc/xml/manual/localization.xml: Same.
	* doc/xml/manual/strings.xml: Same.
	* doc/xml/manual/debug_mode.xml: Same.
	* doc/xml/manual/locale.xml: Same.
	* doc/xml/manual/extensions.xml: Same.
	* doc/xml/manual/appendix_contributing.xml: Same.
	* doc/xml/manual/prerequisites.xml: Same.
	* doc/xml/manual/messages.xml: Same.
	* doc/xml/manual/diagnostics.xml: Same.
	* doc/xml/manual/algorithms.xml: Same.
	* doc/xml/manual/appendix_free.xml: Same.
	* doc/xml/manual/iterators.xml: Same.
	* doc/xml/manual/spine.xml: Same.
	* doc/xml/manual/status_cxxtr24733.xml: Same.
	* doc/xml/manual/status_cxx200x.xml: Same.
	* doc/Makefile.am: Refactor.
	* doc/Makefile.in: Regenerate.

	* include/bits/c++0x_warning.h: Tweak doxygen file markup.

From-SVN: r157059
2010-02-25 01:22:57 +00:00
Rainer Orth 241b534ec9 deallocate_global.cc: Require __cxa_atexit.
* testsuite/ext/new_allocator/deallocate_global.cc: Require
	__cxa_atexit.
	* testsuite/ext/throw_allocator/deallocate_global.cc: Likewise.

From-SVN: r157046
2010-02-24 15:31:22 +00:00
Benjamin Kosnik d8a06a8231 concurrency.xml: Move...
2010-02-23  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/xml/manual/concurrency.xml: Move...
	* doc/xml/manual/concurrency_extensions.xml: ...here.
	* doc/xml/manual/extensions.xml: Adjust.
	* doc/Makefile.am: Adjust.
	* doc/Makefile.in: Regenerate.

From-SVN: r157027
2010-02-24 01:46:03 +00:00
Benjamin Kosnik 037181bc87 random.h: Doxygen group markup fixes.
2010-02-23  Benjamin Kosnik  <bkoz@redhat.com>

        * include/bits/random.h: Doxygen group markup fixes.

From-SVN: r157023
2010-02-23 23:53:17 +00:00
Paolo Carlini 5c8db18ac6 functional_hash.h (struct _Fnv_hash): Rename to _Fnv_hash_base.
2010-02-23  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/functional_hash.h (struct _Fnv_hash): Rename
	to _Fnv_hash_base.
	(struct _Fnv_hash): Add, derives from the latter.
	(__hash_combine): Add.
	(hash<float>::operator()(float), hash<double>::operator()(double)):
	Adjust.
	* include/bits/basic_string.h (hash<string>, hash<wstring>,
	hash<u16string>, hash<u32string>): Adjust.
	* src/hash-string-aux.cc: Adjust.
	* src/compatibility-c++0x.cc (hash<error_code>): Use __hash_combine.
	* include/std/system_error (hash<error_code>): Likewise.
	* include/std/thread (struct hash<thread::id>): Add.
	* include/tr1/functional_hash.h : Rename to _Fnv_hash_base.
	(struct _Fnv_hash): Add, derives from the latter.
	(hash<float>::operator()(float), hash<double>::operator()(double)):
	Adjust.
	* testsuite/30_threads/thread/id/hash.cc: New.
	* testsuite/30_threads/thread/cons/assign_neg.cc: Adjust dg-error
	line number.
	* testsuite/30_threads/thread/cons/copy_neg.cc: Likewise.

From-SVN: r157005
2010-02-23 15:23:37 +00:00
Janis Johnson 5b557fc6e4 * src/compatibility-ldbl.cc: Include new hash-long-double-aux.cc.
From-SVN: r156982
2010-02-22 23:51:07 +00:00
Paolo Carlini 9dd17e69b7 hash-aux.cc: Rename to...
2010-02-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* src/hash-aux.cc: Rename to...
	* src/hash-string-aux.cc: ... this.
	* src/hash-long-double-aux.cc: New.
	* src/hash_c++0x.cc: Adjust.
	* src/hash_tr1.cc: Likewise.
	* src/compatibility-c++0x.cc: Likewise.

From-SVN: r156981
2010-02-22 22:54:49 +00:00
Benjamin Kosnik 09d6794b5e class.txml: Adjust biblio markup.
2010-02-22  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/xml/class.txml: Adjust biblio markup.
	* doc/xml/manual/allocator.xml: Same.
	* doc/xml/manual/ctype.xml: Same.
	* doc/xml/manual/codecvt.xml: Same.
	* doc/xml/manual/backwards_compatibility.xml: Same.
	* doc/xml/manual/abi.xml: Same.
	* doc/xml/manual/shared_ptr.xml: Same.
	* doc/xml/manual/profile_mode.xml: Same.
	* doc/xml/manual/using_exceptions.xml: Same.
	* doc/xml/manual/locale.xml: Same.
	* doc/xml/manual/appendix_contributing.xml: Same.
	* doc/xml/manual/messages.xml: Same.
	* doc/Makefile.am (DBLATEX_FLAGS): Adjust.
	* doc/Makefile.in: Regenerate.

From-SVN: r156980
2010-02-22 22:52:11 +00:00
François Dumont e2553a4c5e profile_mode.xml: Minor updates and fixes.
2010-02-22  François Dumont  <francois.cppdevs@free.fr>

       * doc/xml/manual/profile_mode.xml: Minor updates and fixes.
       * doc/xml/manual/debug_mode.xml: Likewise.
       * doc/xml/manual/test.xml: Likewise.

From-SVN: r156975
2010-02-22 21:21:17 +00:00
Paolo Carlini 26504a0f8c complex (arg): Use std::signbit only when available.
2010-02-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/tr1_impl/complex (arg): Use std::signbit only when
	available.

From-SVN: r156972
2010-02-22 18:41:55 +00:00
Paolo Carlini 15d81a3c31 functional_hash.h (hash<string>, [...]): Move, per DR 1182 to...
2010-02-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/functional_hash.h (hash<string>, hash<wstring>,
	hash<u16string>, hash<u32string>, hash<error_code>): Move, per
	DR 1182 to...
	* include/bits/basic_string.h: ... here.
	* include/std/system_error: ... and here, respectively.
	* src/hash-aux.cc (hash<long double>::operator()(long double)):
	Move definition...
	* src/hash_c++0x.cc: ... here, new file.
	* src/hash_tr1.cc: ... and here, tweak includes.
	* src/compatibility-c++0x.cc (hash, _Fnv_hash): Remove.
	* src/Makefile.am: Adjust.
	* src/Makefile.in: Regenerate.
	* include/std/functional: Include <bits/functexcept.h>.
	* include/std/unordered_set: Remove redundant include.
	* include/std/unordered_map: Likewise.
	* include/tr1/functional_hash.h: Remove spurious trailing semicolon.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Remove
	dg-excess.

From-SVN: r156971
2010-02-22 18:07:07 +00:00
Paolo Carlini 681f05d4f0 complex (proj): Change return type per DR 1137.
2010-02-21  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/complex (proj): Change return type per DR 1137.
	(conj): Copy from tr1_impl, likewise adjust return type.
	* include/tr1_impl/complex (conj): Remove.
	* include/tr1/complex (conj): Add both overloads.
	* testsuite/26_numerics/complex/dr781.cc: Rename to...
	* testsuite/26_numerics/complex/dr781_dr1137.cc: ... this, and extend.

	* include/tr1_impl/complex (arg): Optimize.

From-SVN: r156940
2010-02-21 19:55:17 +00:00
Paolo Carlini c76dc9b0e6 typedefs.cc: New.
2010-02-21  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/20_util/is_trivial/requirements/typedefs.cc: New.
	* testsuite/20_util/is_trivial/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_pod/value.cc: Likewise.
	* testsuite/20_util/is_pod/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_pod/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_standard_layout/requiremenents/
	typedefs.cc: Likewise.
	* testsuite/20_util/is_standard_layout/requiremenents/
	explicit_instantiation.cc: Likewise.

From-SVN: r156934
2010-02-21 11:06:42 +00:00
Manuel López-Ibáñez 17251338de re PR c++/35669 (NULL (__null) not considered different from 0 with C++)
2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c++/35669
	* c.opt (Wconversion-null): New option.
	* doc/invoke.texi (Wconversion-null): Document.

cp/
	* call.c (conversion_null_warnings): Replace -Wconversion with
	-Wconversion-null.
	* cvt.c (build_expr_type_conversion): Likewise.

testsuite/
	* g++.dg/warn/Wconversion2.C: Replace -Wconversion with
	-Wconversion-null.
	* g++.dg/warn/Wconversion-null.C: New test.
	* g++.old-deja/g++.other/null1.C: Move to...
	* g++.dg/warn/Wconversion-null-2.C: ... here. Remove -Wconversion.

libstdc++-v3/	
	* testsuite/18_support/headers/cstddef/macros.cc: Add
	-Wno-conversion-null.

From-SVN: r156928
2010-02-20 21:32:06 +00:00
Paolo Carlini cf9280bf7e array (array): Add pointer and const_pointer typedefs in C++0x mode, per DR 1306.
2010-02-19  Paolo Carlini  <paolo.carlini@oracle.com>

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

From-SVN: r156906
2010-02-19 18:55:40 +00:00
Paolo Carlini 488d283713 stl_algo.h (for_each): Implement resolution of DR 1110.
2010-02-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algo.h (for_each): Implement resolution of DR 1110.
	* testsuite/25_algorithms/for_each/1.cc: New.

From-SVN: r156900
2010-02-19 17:38:18 +00:00
Paolo Carlini 415ed61204 shared_ptr_base.h (__weak_ptr): Remove deleted comparison operators, per DR 1256.
2010-02-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/shared_ptr_base.h (__weak_ptr): Remove deleted
	comparison operators, per DR 1256.
	* include/bits/shared_ptr.h (weak_ptr): Likewise.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust.

From-SVN: r156891
2010-02-19 10:42:47 +00:00
Benjamin Kosnik 40e053e3b8 run_doxygen: Add shortnames option.
2010-02-18  Benjamin Kosnik  <bkoz@redhat.com>

	* scripts/run_doxygen: Add shortnames option.
	* doc/Makefile.am (doc-man-doxygen): Use it.
	(doc-html-doxygen): Use it.
	(doc-xml-doxygen): Use it, but default to NO.
	(doc-pdf-dblatex): Add.
	* doc/Makefile.in: Regenerate.
	* doc/doxygen/user.cfg.in: Update filelist.
	* include/bits/locale_facets.h: Fix markup warning.

From-SVN: r156887
2010-02-19 03:30:46 +00:00
Benjamin Kosnik bb7dcd0ef3 using.xml: Update.
2010-02-18  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/xml/manual/using.xml: Update.
	* doc/xml/manual/status_cxx1998.xml: Same.
	* doc/xml/manual/status_cxx200x.xml: Add link.
	* doc/html/*: Regenerate.

	* testsuite/17_intro/freestanding.cc: Add.

From-SVN: r156871
2010-02-18 18:52:12 +00:00
Paolo Carlini 584fd146d2 typeinfo: Add system_header pragma.
2010-02-18  Paolo Carlini  <paolo.carlini@oracle.com>

	* libsupc++/typeinfo: Add system_header pragma.
	* libsupc++/exception: Likewise.
	* libsupc++/cxxabi-forced.h: Likewise.
	* libsupc++/new: Likewise.
	* libsupc++/cxxabi.h: Likewise.
	* libsupc++/initializer_list: Likewise.

From-SVN: r156869
2010-02-18 17:58:53 +00:00
Paolo Carlini 2f95713bd9 nested_exception.h: Fix <bits/c++0x_warning.h> include.
2010-02-18  Paolo Carlini  <paolo.carlini@oracle.com>

	* libsupc++/nested_exception.h: Fix <bits/c++0x_warning.h> include.

From-SVN: r156867
2010-02-18 17:20:16 +00:00
Benjamin Kosnik af14c87be9 appendix_contributing.xml: Update markup rules for quoting and functions.
2010-02-17  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/xml/manual/appendix_contributing.xml: Update markup rules
	for quoting and functions.

From-SVN: r156838
2010-02-17 22:31:19 +00:00
Chris Jefferson 2a5f4935e8 locale_facets.h (__convert_to_v): Add empty exception-specification.
2010-02-17  Chris Jefferson  <chris@bubblescope.net>

	* include/bits/locale_facets.h (__convert_to_v): Add empty
	exception-specification.

From-SVN: r156837
2010-02-17 21:09:10 +00:00
Paolo Carlini ce4674f2a6 limits: Implement resolution of DR 559 (CD1) in C++0x mode.
2010-02-17  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/limits: Implement resolution of DR 559 (CD1) in
	C++0x mode.
	* testsuite/18_support/numeric_limits/dr559.cc: New.

From-SVN: r156830
2010-02-17 12:18:54 +00:00
Benjamin Kosnik 32ade5590e ios_locale.cc: Fixes for -pedantic.
2010-02-16  Benjamin Kosnik  <bkoz@redhat.com>

	* src/ios_locale.cc: Fixes for -pedantic.
	* src/system_error.cc: Same.
	* src/locale.cc: Same.
	* src/list.cc: Same.
	* src/locale_facets.cc: Same.
	* src/locale_init.cc: Same.
	* src/ios.cc: Same.
	* config/locale/darwin/ctype_members.cc: Same.
	* config/locale/gnu/collate_members.cc: Same.
	* config/locale/gnu/ctype_members.cc: Same.
	* config/locale/gnu/c_locale.cc: Same.
	* config/locale/gnu/monetary_members.cc: Same.
	* config/locale/gnu/time_members.cc: Same.
	* config/locale/ieee_1003.1-2001/c_locale.cc: Same.
	* config/locale/generic/collate_members.cc: Same.
	* config/locale/generic/ctype_members.cc: Same.
	* config/locale/generic/c_locale.cc: Same.
	* config/locale/generic/monetary_members.cc: Same.
	* config/locale/generic/time_members.cc: Same.
	* config/io/basic_file_stdio.cc: Same.

	* libsupc++/pbase_type_info.cc: Fixes for -fno-rtti.
	* libsupc++/pointer_type_info.cc: Same.
	* libsupc++/eh_personality.cc: Same.

	* include/std/system_error: Throw spacing.
	* include/bits/locale_classes.h: Same.
	* include/bits/locale_facets.h: Same.
	* include/bits/ios_base.h: Same.

	* testsuite/17_intro/headers/c++200x/all_no_rtti.cc: New.
	* testsuite/17_intro/headers/c++1998/all_no_rtti.cc: New

From-SVN: r156822
2010-02-17 05:43:24 +00:00
Paolo Carlini 05eeebfe49 random.h (linear_congruential_engine(_Sseq&), [...]): Do not enable for the type itself.
2010-02-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.h (linear_congruential_engine(_Sseq&),
	mersenne_twister_engine(_Sseq&), subtract_with_carry_engine(_Sseq&)):
	Do not enable for the type itself.
	(discard_block_engine(_Sseq&), independent_bits_engine(_Sseq&),
	shuffle_order_engine(_Sseq&)): Do not enable for the type itself too.
	(linear_congruential_engine<>::seed(_Sseq&),
	mersenne_twister_engine<>::seed(_Sseq&),
	subtract_with_carry_engine<>::seed(_Sseq&)): Use enable_if on the
	return type.
	(discard_block_engine<>::seed(_Sseq&),
	independent_bits_engine<>::seed(_Sseq&),
	shuffle_order_engine<>::seed(_Sseq&)): Do not use enable_if.
	* include/bits/random.tcc: Adjust definitions.
	* testsuite/26_numerics/random/independent_bits_engine/cons/copy.cc:
	New.
	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/
	copy.cc: Likewise.
	* testsuite/26_numerics/random/discard_block_engine/cons/
	copy.cc: Likewise.
	* testsuite/26_numerics/random/mersenne_twister_engine/cons/
	copy.cc: Likewise.
	* testsuite/26_numerics/random/linear_congruential_engine/cons/
	copy.cc: Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/
	copy.cc: Likewise.

	* testsuite/26_numerics/random/independent_bits_engine/cons/
	base_move.cc: Minor tweaks.
	* 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/subtract_with_carry_engine/cons/
	seed1.cc: Likewise.
	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/
	seed2.cc: Likewise.
	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/
	default.cc: Likewise.
	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/
	seed_seq.cc: Likewise.
	* testsuite/26_numerics/random/discard_block_engine/cons/base_move.cc:
	Likewise.
	* 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/mersenne_twister_engine/cons/seed1.cc:
	Likewise.
	* testsuite/26_numerics/random/mersenne_twister_engine/cons/seed2.cc:
	Likewise.
	* testsuite/26_numerics/random/mersenne_twister_engine/cons/
	default.cc: Likewise.
	* testsuite/26_numerics/random/mersenne_twister_engine/cons/
	seed_seq.cc: Likewise.
	* testsuite/26_numerics/random/linear_congruential_engine/cons/
	seed1.cc: Likewise.
	* testsuite/26_numerics/random/linear_congruential_engine/cons/
	seed2.cc: Likewise.
	* testsuite/26_numerics/random/linear_congruential_engine/cons/
	seed_seq.cc: Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/base_move.cc:
	Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/seed1.cc:
	Likewise.
 	* testsuite/26_numerics/random/shuffle_order_engine/cons/seed2.cc:
	Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/base_copy.cc:
	Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/default.cc:
	Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/seed_seq.cc:
	Likewise.

From-SVN: r156815
2010-02-16 19:19:55 +00:00
Paolo Carlini d779a59199 unique_ptr.h: (unique_ptr<>:: unique_ptr(const unique_ptr<_Up...
2010-02-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/unique_ptr.h: (unique_ptr<>::
	unique_ptr(const unique_ptr<_Up, _Up_Deleter>&),
	operator=(const unique_ptr<_Up, _Up_Deleter>&)): Remove, redundant,
	per DR 1303.
	* include/bits/shared_ptr.h (shared_ptr<>::
	shared_ptr(const unique_ptr<_Up, _Up_Deleter>&),
	operator=(const unique_ptr<_Up, _Up_Deleter>&)): Likewise.
	* include/bits/shared_ptr_base.h (__shared_ptr<>::
	__shared_ptr(const unique_ptr<_Up, _Up_Deleter>&),
	operator=(const unique_ptr<_Up, _Up_Deleter>&)): Likewise.
	* testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Adjust.
	* testsuite/20_util/unique_ptr/assign/assign_neg.cc: Likewise.
	* testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise.
	* testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc:
	Likewise.

From-SVN: r156807
2010-02-16 16:01:23 +00:00
Paolo Carlini 961e1fdc40 median.cc: Adjust.
2010-02-15  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/ext/median.cc: Adjust.

From-SVN: r156780
2010-02-15 17:35:11 +00:00
Paolo Carlini d5c5922408 stl_algo.h (__median): Move...
2010-02-15  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algo.h (__median): Move...
	* include/ext/algorithm: ... here, being an SGI extension.

From-SVN: r156776
2010-02-15 16:55:20 +00:00
Jonathan Wakely 73c5c5bbb3 PR libstdc++/42819, DR 1315
2010-02-12  Jonathan Wakely  <jwakely.gcc@gmail.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/42819, DR 1315
	* include/std/future (async): Use std::result_of for the template
	argument of the std::future return type; adjust everywhere.
	* testsuite/30_threads/async/42819.cc: New.
	* testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust
	dg-error line number.
	* testsuite/30_threads/packaged_task/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/future/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/future/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/promise/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/promise/cons/assign_neg.cc: Likewise.

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

From-SVN: r156742
2010-02-12 22:31:15 +00:00
Paolo Carlini f7e657cc3a gnu.ver: Revert last changes.
2010-02-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* config/abi/pre/gnu.ver: Revert last changes.

From-SVN: r156727
2010-02-11 23:49:20 +00:00
Jason Merrill 4094aee8bf thread (~_Impl_base): Declare inline.
* include/std/thread (~_Impl_base): Declare inline.
	* libsupc++/nested_exception.h (~nested_exception): Likewise.

From-SVN: r156707
2010-02-11 14:00:13 -05:00
Paolo Carlini 932b650839 PR libstdc++/41975, DR 579
2010-02-11  Paolo Carlini  <paolo.carlini@oracle.com>

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

From-SVN: r156705
2010-02-11 18:11:01 +00:00
Paolo Carlini 13b7990c1a gnu.ver: Avoid exporting inadvertently std::nested_exception symbols at GLIBCXX_3.4.
2010-02-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* config/abi/pre/gnu.ver: Avoid exporting inadvertently
	std::nested_exception symbols at GLIBCXX_3.4.

From-SVN: r156698
2010-02-11 14:59:46 +00:00
Jason Merrill f1c3cf3c93 PR c++/42983, core issue 906
PR c++/42983, core issue 906
	* method.c (defaultable_fn_check): Check virtualness.
	* include/std/thread (~_Impl_base): Move default out of line.
	* libsupc++/nested_exception.h (~nested_exception): Likewise.

From-SVN: r156672
2010-02-10 16:48:35 -05:00
Paolo Carlini ab65a4c7bd hashtable.h: Fold in include/tr1_impl/hashtable.h contents.
2010-02-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/tr1/hashtable.h: Fold in include/tr1_impl/hashtable.h
	contents.
	* include/tr1_impl/hashtable.h: Remove.
	* include/tr1_impl/hashtable_policy.h: Move and rename...
	* include/tr1/hashtable_policy.h: ... here.
	* include/tr1_impl/unordered_map: Move and rename...
	* include/tr1/unordered_map.h: ... here.
	* include/tr1_impl/unordered_set: Move and rename...
	* include/tr1/unordered_set.h: ... here.
	* include/tr1_impl/unordered_map: Move and rename...
	* include/tr1/unordered_map.h: ... here.
	* include/tr1/unordered_map: Adjust.
	* include/tr1/unordered_set: Likewise.
	* include/Makefile.am: Adjust.
	* include/Makefile.in: Regenerate.

	* include/std/c++0x_warning.h: Move...
	* include/bits/c++0x_warning.h: ... here.
	* include/debug/unordered_map: Adjust.
	* include/debug/unordered_set: Likewise.
	* include/std/tuple: Likewise.
	* include/std/system_error: Likewise.
	* include/std/forward_list: Likewise.
	* include/std/thread: Likewise.
	* include/std/type_traits: Likewise.
	* include/std/future: Likewise.
	* include/std/regex: Likewise.
	* include/std/atomic: Likewise.
	* include/std/ratio: Likewise.
	* include/std/random: Likewise.
	* include/std/unordered_map: Likewise.
	* include/std/chrono: Likewise.: Likewise.
	* include/std/condition_variable: Likewise.
	* include/std/mutex: Likewise.
	* include/std/unordered_set: Likewise.
	* include/std/array: Likewise.
	* include/profile/unordered_map: Likewise.
	* include/profile/unordered_set: Likewise.
	* include/c_global/cinttypes: Likewise.
	* include/c_global/ctgmath: Likewise.
	* include/c_global/cfenv: Likewise.
	* include/c_global/cstdint: Likewise.
	* include/c_global/cstdbool: Likewise.
	* include/c_global/ccomplex: Likewise.

	* include/bits/shared_ptr.h: Do not include <bits/c++0x_warning.h>
	at all, the file is not meant to be included by the users.
	* include/bits/functional_hash.h: Likewise.
	* include/bits/unique_ptr.h: Likewise.
	* include/bits/forward_list.h: Likewise.

	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-*
	line numbers.
	* testsuite/29_atomics/atomic/cons/copy_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/20_util/unique_ptr/modifiers/reset_neg.cc: Likewise.
	* testsuite/20_util/unique_ptr/assign/assign_neg.cc: Likewise.

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

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

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

From-SVN: r156661
2010-02-10 16:09:42 +00:00
Benjamin Kosnik 0eb95b0d69 streambuf: Adjust doxygen group markup.
2010-02-09  Benjamin Kosnik  <bkoz@redhat.com>

        * include/std/streambuf: Adjust doxygen group markup.
        * include/std/functional: Same.
        * include/ext/vstring.h: Same.
        * include/ext/pb_ds/assoc_container.hpp: Same.
        * include/ext/stdio_filebuf.h: Same.
        * include/ext/stdio_sync_filebuf.h: Same.
        * include/bits/localefwd.h: Same.
        * include/bits/functional_hash.h: Same.
        * include/bits/locale_classes.h: Same.
        * include/bits/locale_facets.h: Same.
        * include/bits/ios_base.h: Same.
        * include/bits/codecvt.h: Same.
        * include/bits/locale_facets_nonio.h: Same.

        * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
        * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.

From-SVN: r156644
2010-02-10 05:45:24 +00:00
Benjamin Kosnik 6cc5a79001 [multiple changes]
2010-02-08  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/42460
	* include/tr1_impl/regex: Fix quoting issues in doxygen markup.
	* include/bits/random.h: Fix multi-line doxygen function markup.

2010-02-08  Matthias Klose  <doko@debian.org>

	PR libstdc++/42460
	* include/std/istream: Fix '\' quoting in doxygen markup.

From-SVN: r156617
2010-02-09 04:49:49 +00:00
Ed Smith-Rowland 83c290e2d4 random.tcc (uniform_int_distribution<>:: operator()(_UniformRandomNumberGenerator&, const param_type&)): Use make_unsigned instead of __add_unsigned and conditional instead of...
2010-02-08  Ed Smith-Rowland  <3dw4rd@verizon.net>

	* include/bits/random.tcc (uniform_int_distribution<>::
	operator()(_UniformRandomNumberGenerator&, const param_type&)):
	Use make_unsigned instead of __add_unsigned and conditional
	instead of __conditional_type.
	* include/std/random: Do not include <ext/type_traits.h> and
	<ext/numeric_traits.h>.

From-SVN: r156608
2010-02-08 17:42:12 +00:00
Paolo Carlini 240c7f7f57 re PR libstdc++/16896 (Use of non-reserved names in stl_list.h)
2010-02-07  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/16896
	* include/bits/stl_list.h (_List_node_base::transfer): Rename
	to _M_transfer.
	(_List_node_base::reverse): Rename to _M_reverse.
	(_List_node_base::hook): Rename to _M_hook.
	(_List_node_base::unhook): Rename to _M_unhook; adjust callers.
	* include/bits/list.tcc: Adjust callers.
	* src/list.cc: Adjust.
	* src/compatibility.cc: Likewise.
	* src/compatibility-list.cc: New.
	* src/compatibility-debug_list.cc: Likewise.
	* src/compatibility-parallel_list.cc: Likewise.
	* src/Makefile.am: Add.
	* src/Makefile.in: Regenerate.
	* config/abi/pre/gnu.ver: Export _M_* symbols.

	* src/hash.cc: Rename to hash-aux.cc.
	* src/compatibility-ldbl.cc: Adjust.
	* src/compatibility-c++0x.cc: Likewise.
	* src/hash_tr1.cc: Likewise.

	* src/hashtable.cc: Rename to hashtable-aux.cc.
	* src/hashtable_c++0x.cc: Adjust.
	* src/hashtable_tr1.cc: Likewise.

	* src/limits_c++0x.cc: Fold...
	* src/limits.cc... here.

From-SVN: r156578
2010-02-07 18:36:48 +00:00
Paolo Carlini f41e0f1046 stl_pair.h (pair<>::pair(_U1&&, const _T2&), [...]): Revert to std::is_convertible, basing on DR 811.
2010-02-07  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&&)):
	Revert to std::is_convertible, basing on DR 811.

From-SVN: r156570
2010-02-07 10:29:04 +00:00
Paolo Carlini 75a631c5c9 re PR libstdc++/42989 (operator= for rvalue reference for wstring disappears in libstdc++.so.6.0.14)
2010-02-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/42989
	* config/abi/pre/gnu.ver: Fix wstring move assignment operator typo.

From-SVN: r156556
2010-02-06 21:30:52 +00:00
Paolo Carlini 54f3822595 re PR libstdc++/27340 (valarray uses __cos which may conflict with libm functions)
2010-02-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/27340
	* include/bits/valarray_before.h: Uglify the structs wrapping
	cmath functions differently, eg, _Cos instead of __cos.
	* include/bits/valarray_after.h: Adjust.

From-SVN: r156555
2010-02-06 20:41:09 +00:00
Paolo Carlini 4e4d27aae5 future (swap(packaged_task<>&, packaged_task<>&)): Fix typo in last commit.
2010-02-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/future (swap(packaged_task<>&, packaged_task<>&)): Fix
	typo in last commit.

From-SVN: r156525
2010-02-05 17:25:12 +00:00
Paolo Carlini 1950140626 future (swap(packaged_task<>&, packaged_task<>&), [...]): Add; minor formatting fixes.
2010-02-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/future (swap(packaged_task<>&, packaged_task<>&),
	swap(promise<>&, promise<>&)): Add; minor formatting fixes.
	* testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust
	dg-error line number.
	* 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.

From-SVN: r156522
2010-02-05 17:19:10 +00:00
Paolo Carlini 6989b63f39 stl_algobase.h (struct __iter_base): Rename to _Iter_base; add iterator_type typedef.
2010-02-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algobase.h (struct __iter_base): Rename to
	_Iter_base; add iterator_type typedef.
	(struct __miter_base): Rename to _Miter_base.
	(struct __niter_base): Rename to _Niter_base.
	(__miter_base, __niter_base): Add, use the latter; adjust everywhere.

From-SVN: r156515
2010-02-05 10:55:54 +00:00
Benjamin Kosnik 2a60a9f652 re PR libstdc++/42460 (man page errors for generated libstdc++ man pages)
2010-02-04  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/42460
	* doc/doxygen/user.cfg.in: Update file list.
	* include/debug/safe_sequence.h: Doxygen markup fixes for '' and "".
	* include/debug/safe_base.h: Same.
	* include/debug/macros.h: Same.
	* include/tr1_impl/regex: Same.
	* include/std/iostream: Same.
	* include/std/streambuf: Same.
	* include/std/bitset: Same.
	* include/std/iosfwd: Same.
	* include/std/limits: Same.
	* include/std/fstream: Same.
	* include/std/istream: Same.
	* include/std/ostream: Same.
	* include/std/sstream: Same.
	* include/parallel/multiway_merge.h: Same.
	* include/parallel/for_each.h: Same.
	* include/parallel/workstealing.h: Same.
	* include/parallel/omp_loop_static.h: Same.
	* include/parallel/omp_loop.h: Same.
	* include/c_std/csignal: Same.
	* include/c_std/cstdlib: Same.
	* include/c_std/cstdio: Same.
	* include/c_std/cstdarg: Same.
	* include/c_std/cctype: Same.
	* include/c_std/cerrno: Same.
	* include/c_std/cmath: Same.
	* include/c_std/ciso646: Same.
	* include/c_std/ctime: Same.
	* include/c_std/clocale: Same.
	* include/c_std/climits: Same.
	* include/c_std/cassert: Same.
	* include/c_std/csetjmp: Same.
	* include/c_std/cwchar: Same.
	* include/c_std/cfloat: Same.
	* include/c_std/cstring: Same.
	* include/c_std/cstddef: Same.
	* include/c_std/cwctype: Same.
	* include/profile/iterator_tracker.h: Same.
	* include/profile/impl/profiler_trace.h: Same.
	* include/ext/vstring.h: Same.
	* include/ext/algorithm: Same.
	* include/ext/pb_ds/detail/pat_trie_/pat_trie_.h.pp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.h.pp: Same.
	* include/ext/pb_ds/detail/type_utils.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp: Same
	* include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp: Same.
	* include/ext/rc_string_base.h: Same.
	* include/ext/stdio_sync_filebuf.h: Same.
	* include/ext/functional: Same.
	* include/ext/mt_allocator.h: Same.
	* include/bits/basic_ios.h: Same.
	* include/bits/stl_map.h: Same.
	* include/bits/stl_algobase.h: Same.
	* include/bits/stl_queue.h: Same.
	* include/bits/locale_classes.h: Same.
	* include/bits/stl_set.h: Same.
	* include/bits/locale_facets.h: Same.
	* include/bits/stl_stack.h: Same.
	* include/bits/stl_iterator_base_types.h: Same.
	* include/bits/basic_string.h: Same.
	* include/bits/stl_multimap.h: Same.
	* include/bits/ios_base.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/stl_multiset.h: Same.
	* include/bits/stl_iterator_base_funcs.h: Same.
	* include/bits/char_traits.h: Same.
	* include/bits/stl_algo.h: Same.
	* include/bits/stl_iterator.h: Same.
	* include/bits/stl_tempbuf.h: Same.
	* include/bits/random.tcc: Same.
	* include/bits/stl_function.h: Same.
	* include/bits/cpp_type_traits.h: Same.
	* include/bits/random.h: Same.
	* include/bits/allocator.h: Same.
	* include/bits/locale_facets_nonio.h: Same.
	* include/c_global/csignal: Same.
	* 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/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/tr1/hypergeometric.tcc: Same.
	* include/tr1/random.tcc: Same.
	* include/tr1/functional: Same.
	* include/tr1/random.h: Same.
	* include/backward/auto_ptr.h: Same.
	* include/backward/binders.h: Same.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
	Adjust line numbers.
	* 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.

From-SVN: r156502
2010-02-04 18:20:34 +00:00
Jonathan Wakely b7200e3fbe condition_variable (condition_variable_any): Provide definitions for all members.
2010-02-03  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/condition_variable (condition_variable_any): Provide
	definitions for all members.
	* src/condition_variable.cc (condition_variable_any): Adjust
	definitions.
	* config/abi/pre/gnu.ver: Adjust exports for condition_variable_any.
	* testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
	Adjust dg-error line number.
	* testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
	Likewise.
	* testsuite/30_threads/condition_variable_any/members/1.cc: New.
	* testsuite/30_threads/condition_variable_any/members/2.cc: New.
	* testsuite/30_threads/condition_variable_any/requirements/
	standard_layout.cc: Remove.
	* testsuite/30_threads/condition_variable_any/native_handle/
	typesizes.cc: Remove.

From-SVN: r156479
2010-02-03 20:16:22 +00:00
Paolo Carlini 23f8e984b7 vstring.h (__versa_string::shrink_to_fit): Fix for -fno-exceptions.
2010-02-02  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/ext/vstring.h (__versa_string::shrink_to_fit): Fix
	for -fno-exceptions.

From-SVN: r156460
2010-02-03 00:38:52 +00:00
Benjamin Kosnik 036c0f63e1 allocator.h: Fix for -fno-exceptions.
2010-02-02  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/allocator.h: Fix for -fno-exceptions.
	* include/bits/basic_string.h (basic_string::shrink_to_fit): Same.

From-SVN: r156459
2010-02-03 00:20:05 +00:00
Paolo Carlini 80ec737fd0 2010-02-02 Paolo Carlini <paolo.carlini@oracle.com>
Adjust date of the last ChangeLog entry.

From-SVN: r156452
2010-02-02 15:04:01 +00:00
Paolo Carlini 823268870f unique_future: Rename to /future.
2010-02-01  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/30_threads/unique_future: Rename to /future.

From-SVN: r156451
2010-02-02 14:59:53 +00:00
Paolo Carlini 15ecdcc6fc re PR libstdc++/42408 (Missing templatized seed())
2010-02-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/42408
	* include/bits/random.h (linear_congruential_engine<>::
	linear_congruential_engine(seed_seq&),
	linear_congruential_engine<>::seed(seed_seq&),
	mersenne_twister<>::mersenne_twister(seed_seq&),
	mersenne_twister<>::seed(seed_seq&),
	subtract_with_carry_engine<>::subtract_with_carry_engine(seed_seq&),
	subtract_with_carry_engine<>::seed(seed_seq&),
	discard_block_engine<>::discard_block_engine(seed_seq&),
	discard_block_engine<>::seed(seed_seq&),
	independent_bits_engine<>::independent_bits_engine(seed_seq&),
	independent_bits_engine<>::seed(seed_seq&),
	shuffle_order_engine<>::shuffle_order_engine(seed_seq&),
	shuffle_order_engine<>::seed(seed_seq&)): Templatize.
	* include/bits/random.tcc: Adjust.
	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/
	seed_seq.cc: New.
	* testsuite/26_numerics/random/mersenne_twister_engine/cons/
	seed_seq.cc: Likewise.
	* testsuite/26_numerics/random/linear_congruential_engine/
	cons/seed_seq.cc: Likewise.

From-SVN: r156430
2010-02-01 19:45:23 +00:00
Paolo Carlini 1e3ca17d52 forward_list.h (forward_list<>::resize(size_type), [...]): Only declare.
2010-02-01  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.h (forward_list<>::resize(size_type),
	forward_list(size_type)): Only declare.
	* include/bits/forward_list.tcc (forward_list<>::resize(size_type),
	forward_list(size_type)): Define, don't assume CopyConstructible.
	* testsuite/23_containers/forward_list/cons/10.cc: New.
	* testsuite/23_containers/forward_list/modifiers/6.cc: Likewis.
	* testsuite/23_containers/forward_list/requirements/dr438/
	assign_neg.cc: Adjust dg-error line numbers.
	* testsuite/23_containers/forward_list/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_2_neg.cc: Likewise.

	* include/bits/forward_list.h: Use _M_get_Node_allocator throughout.

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

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

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

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

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

From-SVN: r156419
2010-01-31 22:52:25 +00:00
Paolo Carlini 6e4a660f12 revert: condition_variable (condition_variable_any:: wait<>(_Lock&)): Provide definition.
2010-01-31  Paolo Carlini  <paolo.carlini@oracle.com>

	Revert last changes. Also revert, among the previous changes:
	* include/std/condition_variable (condition_variable_any::
	wait<>(_Lock&)): Provide definition.

From-SVN: r156403
2010-01-31 16:54:49 +00:00
Paolo Carlini 023cee968b condition_variable (condition_variable_any:: __wait_until_impl): Add.
2010-01-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/condition_variable (condition_variable_any::
	__wait_until_impl): Add.
	(condition_variable_any::wait_until): Provide definitions.
	* testsuite/30_threads/condition_variable_any/members/2.cc: New.
	* testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
	Adjust dg-error line number.
	* testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
	Likewise.

	* testsuite/30_threads/condition_variable/members/1.cc: Minor
	stylistic changes.
	* testsuite/30_threads/condition_variable/members/1.cc: Likewise.

From-SVN: r156367
2010-01-29 22:46:31 +00:00
Paolo Carlini cdf5f5a34d condition_variable (enum class cv_status): Add and use it throughout, per N3000.
2010-01-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/condition_variable (enum class cv_status): Add and
	use it throughout, per N3000.
	(condition_variable_any::wait<>(_Lock&), wait<>(_Lock&, _Predicate),
	wait_until<>(_Lock&, const chrono::time_point<>&, _Predicate)):
	Provide definitions.
	* src/condition_variable.cc (condition_variable_any::notify_one,
	condition_variable_any::notify_all): Likewise.
	* config/abi/pre/gnu.ver: Export.
	* testsuite/30_threads/condition_variable_any/requirements/
	typedefs.cc: New.
	* testsuite/30_threads/condition_variable_any/requirements/
	standard_layout.cc: Likewise.
	* testsuite/30_threads/condition_variable/members/1.cc: Adjust.
	* testsuite/30_threads/condition_variable/members/2.cc: Likewise.
	* testsuite/30_threads/condition_variable/cons/assign_neg.cc: Adjust
	dg-error line numbers.
	* testsuite/30_threads/condition_variable/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
	Likewise.
	* testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
	Likewise.

From-SVN: r156358
2010-01-29 16:59:55 +00:00
François Dumont a2fe92030c stl_algobase.h (struct __iter_base): Add.
2010-01-28  François Dumont  <francois.cppdevs@free.fr>

	* include/bits/stl_algobase.h (struct __iter_base): Add.
	(__niter_base, __miter_base): Adjust, use the latter.

From-SVN: r156335
2010-01-28 22:29:52 +00:00
Paolo Carlini 8c0b91b4ce 21674.cc: Extend xfail to all systems.
2010-01-28  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/21_strings/basic_string/element_access/char/21674.cc:
	Extend xfail to all systems.
	* testsuite/21_strings/basic_string/element_access/wchar_T/21674.cc:
	Likewise.
	* testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
	Extend xfail to darwin10 systems.

From-SVN: r156326
2010-01-28 17:01:53 +00:00
Benjamin Kosnik 91c54466c7 re PR c++/42346 (darwin instantiation vs. optimization oddity)
2010-01-27  Benjamin Kosnik  <bkoz@redhat.com>

	PR c++/42346
	* testsuite/23_containers/unordered_map/requirements/exception/: Remove
	-O1 workaround.
	* testsuite/23_containers/multimap/requirements/exception/: Same.
	* testsuite/23_containers/map/requirements/exception: Same.

From-SVN: r156303
2010-01-27 20:12:41 +00:00
Richard Guenther 77597d3907 re PR libstdc++/42832 (Revisit std::function for aliasing issues and efficiency)
2010-01-27  Richard Guenther  <rguenther@suse.de>

	PR libstdc++/42832
	* include/std/functional (function<>::swap): Perform bytewise
	swap of _M_functor.
	* include/tr1/functional (function<>::swap): Likewise.

From-SVN: r156290
2010-01-27 15:49:00 +00:00
Paolo Carlini 677b1f5131 2010-01-27 Paolo Carlini <paolo.carlini@oracle.com>
* Fix ChangeLog typos.

From-SVN: r156277
2010-01-27 11:28:57 +00:00
Andreas Krebbel b4b04ed67d gnu.ver: Avoid time_get pattern conflicts.
2010-01-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/abi/pre/gnu.ver: Avoid time_get pattern conflicts.

From-SVN: r156275
2010-01-27 09:15:19 +00:00
François Dumont 8d3f5a93c3 allocator.xml: Minor updates and fixes.
2010-01-26  François Dumont  <francois.cppdevs@free.fr>

	* doc/xml/manual/allocator.xml: Minor updates and fixes.
	* doc/xml/manual/containers.xml: Likewise.
	* doc/xml/manual/using.xml: Likewise.
	* doc/xml/manual/locale.xml: Likewise.
	* doc/xml/manual/appendix_contributing.xml: Likewise.

From-SVN: r156258
2010-01-26 19:05:43 +00:00
Daniel Frey 2b054f631a functional: Use enable_if instead of __enable_if throughout, do not include ext/type_traits.h.
2010-01-26  Daniel Frey  <d.frey@gmx.de>

	* include/std/functional: Use enable_if instead of __enable_if
	throughout, do not include ext/type_traits.h.
	(is_placeholder, is_bind_expression): Use integral_constant.

From-SVN: r156246
2010-01-26 13:33:06 +00:00
Paolo Carlini 024615bfed testsuite_common_types.h (has_bitwise_operators): Avoid -Wall warnings.
2010-01-25  Paolo Carlini  <paolo.carlini@oracle.com>

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

From-SVN: r156221
2010-01-25 23:25:48 +00:00
Paolo Carlini 315a716efb 6.cc: Use an int as loop variable, to avoid -Wall warnings.
2010-01-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/22_locale/time_get/get_monthname/char/6.cc: Use an int
	as loop variable, to avoid -Wall warnings.
	* testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/char/6.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.

	* testsuite/20_util/reference_wrapper/24803.cc: Remove unused vars.
	* testsuite/20_util/reference_wrapper/invoke.cc: Likewise.

From-SVN: r156219
2010-01-25 18:02:41 +00:00
Daniel Frey 0d9709e1bf functional (_Index_tuple, [...]): Simplify and speed-up.
2010-01-22  Daniel Frey  <d.frey@gmx.de>

	* include/std/functional (_Index_tuple, _Build_index_tuple):
	Simplify and speed-up.

From-SVN: r156178
2010-01-22 20:50:15 +00:00
Joern Rennecke aae29963cf PR libstdc++/36101, PR libstdc++/42813
PR libstdc++/36101, PR libstdc++/42813
[toplevel]:
	* configure.ac (target_configdirs): Substitute.
	* Makefile.def: Bootstrap target module libgomp.
	Add dependency of all-target-libstdc++-v3 on configure-target-libgomp.
	* Makefile.tpl (TARGET_CONFIGDIRS): New makefile variable.
	(BASE_TARGET_EXPORTS): Export TARGET_CONFIGDIRS.
	* configure, Makefile.in: Regenerate.
libstdc++-v3:
	* acinclude.m4: (enable_parallel): Test ${TARGET_CONFIGDIRS} instead of
	loking for omp.h .
	* configure: Regenerate.

From-SVN: r156172
2010-01-22 13:35:38 +00:00
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
Janis Johnson bd9b2e5379 re PR libstdc++/21769 (per-file control over PCH inclusion)
2010-01-20  Janis Johnson  <janis187@us.ibm.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/21769
	* testsuite/lib/dg-options.exp (add_options_for_no_pch): Add.
	* testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
	Use it.


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

From-SVN: r156075
2010-01-20 11:57:44 +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
Ralf Wildenhues a6918ffd39 Fix PR 35942: remove -lstdc++ from libtool postdeps for CXX.
libstdc++-v3/:
	PR libstdc++/35942
	* configure.ac: Remove -lstdc++ from libtool's postdeps_CXX.
	* configure: Regenerate.

From-SVN: r155965
2010-01-16 14:46:57 +00:00
Phil Muldoon 852e2c40de printers.py (StdStringPrinter.__init__): Remove encoding argument.
2010-01-15  Phil Muldoon  <pmuldoon@redhat.com>

	* python/libstdcxx/v6/printers.py (StdStringPrinter.__init__):
	Remove encoding argument.
	(StdStringPrinter.to_string): Do not compute or pass encoding.
	Use lazy_string over string function.


--this line, and those below, will be ignored--

M    libstdc++-v3/python/libstdcxx/v6/printers.py
M    libstdc++-v3/ChangeLog

From-SVN: r155951
2010-01-15 23:36:58 +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
Paolo Carlini da9debb8d6 Makefile.am (check-debug): Add.
2010-01-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/Makefile.am (check-debug): Add.
	* testsuite/Makefile.in: Regenerate.
	* config.h.in: Likewise.

From-SVN: r155854
2010-01-13 11:07:44 +00:00
Paolo Carlini 932f6f4a2c using_namespace_std_tr1_neg.cc: Do not run in parallel-mode.
2010-01-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/17_intro/using_namespace_std_tr1_neg.cc: Do not run
	in parallel-mode.
	* testsuite/25_algorithms/inplace_merge/moveable.cc: Likewiwse.
	* testsuite/25_algorithms/rotate/moveable.cc: Likewiwse.
	* testsuite/25_algorithms/stable_partition/moveable.cc: Likewiwse.
	* testsuite/25_algorithms/remove/moveable.c: Likewiwse.
	* testsuite/25_algorithms/random_shuffle/moveable.cc: Likewiwse.
	* testsuite/25_algorithms/nth_element/moveable.cc: Likewiwse.
	* testsuite/25_algorithms/partial_sort/moveable.cc: Likewiwse.
	* testsuite/25_algorithms/next_permutation/moveable.cc: Likewiwse.
	* testsuite/25_algorithms/partition/moveable.cc: Likewiwse.
	* testsuite/25_algorithms/stable_sort/moveable.cc: Likewiwse.
	* testsuite/25_algorithms/stable_sort/moveable2.cc: Likewiwse.
	* testsuite/25_algorithms/sort/moveable.cc: Likewiwse.
	* testsuite/25_algorithms/prev_permutation/moveable.cc: Likewiwse.
	* testsuite/25_algorithms/unique/moveable.cc: Likewiwse.
	* testsuite/25_algorithms/remove_if/moveable.cc: Likewiwse.
	* testsuite/25_algorithms/heap/moveable.cc: Likewiwse.

	* testsuite/25_algorithms/search_n/iterator.cc: Reduce iteration #
	in parallel-mode.

From-SVN: r155841
2010-01-12 17:16:25 +00:00
Hans-Peter Nilsson b1a54dd052 all.cc: Pass -D_GLIBCXX_PROFILE_NO_THREADS for non-tls_native targets.
* testsuite/ext/profile/all.cc: Pass -D_GLIBCXX_PROFILE_NO_THREADS
	for non-tls_native targets.

From-SVN: r155829
2010-01-12 05:24:12 +00:00
Benjamin Kosnik 220fceaaa4 run_doxygen: Correct nested scope on the man pages.
2010-01-12  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: r155828
2010-01-12 01:37:39 +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 baa828a01d 2010-01-10 Paolo Carlini <paolo.carlini@oracle.com>
Adjust last ChangeLog entry.

From-SVN: r155789
2010-01-10 13:43:40 +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
H.J. Lu 9b2adcdbc1 Return dgs.alc on success
libiberty/

2010-01-09  Ian Lance Taylor  <iant@google.com>

	PR other/42230
	* cp-demangle.c (d_demangle): Return dgs.alc on success.

libstdc++-v3/

2010-01-09  H.J. Lu  <hongjiu.lu@intel.com>

	PR other/42230
	* testsuite/abi/pr42230.cc: New.

From-SVN: r155785
2010-01-09 16:24:52 -08: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
Benjamin Kosnik f52ac76fa9 evolution.xml: Fix typos, update.
2010-01-07  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/xml/manual/evolution.xml: Fix typos, update.

From-SVN: r155704
2010-01-07 19:07:53 +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
Benjamin Kosnik 41bcd5a9fd re PR libstdc++/42491 (performance/30_threads/future/polling.cc fails at compile time)
2010-01-06  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/42491
	* scripts/check_performance (CXX): Add -std=gnu++0x.
	* testsuite/performance/30_threads/future/polling.cc: Mark up as
	using threads.

From-SVN: r155681
2010-01-06 22:55:52 +00:00
Paolo Carlini 48565aaf48 38081-2.cc: Add dg-require-namedlocale.
2010-01-06  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/22_locale/time_get/get_weekday/char/38081-2.cc:
	Add dg-require-namedlocale.

From-SVN: r155672
2010-01-06 11:39:18 +00:00
Benjamin Kosnik 4396e06315 evolution.xml: Update for 4.4 and 4.5 releases.
2010-01-05  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/xml/manual/evolution.xml: Update for 4.4 and 4.5 releases.
	* doc/html: Regenerate.

From-SVN: r155661
2010-01-05 20:51:05 +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
Rainer Orth b9497ab5ed stdint.m4 (GCC_HEADER_STDINT): Don't typedef uint8_t etc.
config:
	* stdint.m4 (GCC_HEADER_STDINT): Don't typedef uint8_t etc. if
	corresponding macros already exist.

	libdecnumber:
	* configure: Regenerate.

	libgfortran:
	* configure: Regenerate.

	libgomp:
	* configure: Regenerate.

	libstdc++-v3:
	* configure: Regenerate.

From-SVN: r155648
2010-01-05 14:02:37 +00:00
Paolo Carlini 4ebf9c3763 6.cc: New.
2010-01-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/22_locale/time_get/get_monthname/char/6.cc: New.
	* testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/char/6.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc: Likewise.

From-SVN: r155644
2010-01-05 11:44:43 +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
H.J. Lu 0bdf1263df Move 2009 ChangeLog to ChangeLog-2009.
From-SVN: r155556
2010-01-01 09:08:32 -08:00
Paolo Carlini 6ab94513d5 2010-01-01 Paolo Carlini <paolo.carlini@oracle.com>
Revert last change, reinstantiate basic_string and vstring tests.

From-SVN: r155547
2010-01-01 11:27:50 +00:00
Paolo Carlini c2744d090c propagation_consistent.cc: Remove, cannot instantiate basic_string for non-PODs (21/1).
2010-01-01  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/21_strings/basic_string/requirements/exception/
	propagation_consistent.cc: Remove, cannot instantiate basic_string
	for non-PODs (21/1).
	* testsuite/21_strings/basic_string/requirements/exception/
	basic.cc: Likewise.
	* testsuite/21_strings/basic_string/requirements/exception/
	generation_prohibited.cc: Likewise.
	* testsuite/ext/vstring/requirements/exception/
	propagation_consistent.cc: Likewise.
	* testsuite/ext/vstring/requirements/exception/basic.cc:
	Likewise.
	* testsuite/ext/vstring/requirements/exception/
	generation_prohibited.cc: Likewise.

From-SVN: r155546
2010-01-01 10:20:53 +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
Benjamin Kosnik c448a85e09 intro.xml: Order TR's at the end of status.
2009-12-31  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/xml/manual/intro.xml: Order TR's at the end of status.
	* doc/xml/manual/abi.xml: Update.
	* doc/xml/manual/evolution.xml: Put in stubs.

From-SVN: r155544
2010-01-01 00:30:45 +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 a1ebe9ac3e 5.cc: Move...
2009-12-23  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/25_algorithms/copy/5.cc: Move...
	* testsuite/25_algorithms/copy/deque_iterators/1.cc: ... here.
	* testsuite/25_algorithms/move/2.cc: Move...
	* testsuite/25_algorithms/move/deque_iterators/1.cc: ... here.

From-SVN: r155433
2009-12-23 18:45:41 +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
Iain Sandoe 1d32a77299 re PR target/41605 (Static linking of libgcc/libgfortran/libstdc++ can cause inconsistent symbol resolution.)
2009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>

gcc/
	PR target/41605
	* lib/g++.exp: Provide -B options to allow for link spec %s
	substitutions for static libraries.

libstdc++-v3/
	PR target/41605
	* testsuite/libstdc++-abi/abi.exp: Provide -B options to allow for
	link spec %s substitutions for static libraries.
	* testsuite/lib/libstdc++.exp: Ditto

libgomp/
	PR target/41605
	* testsuite/lib/libgomp.exp: Provide -B options to allow for
	link spec %s substitutions for static libraries.

From-SVN: r155408
2009-12-22 22:11:27 +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 ac2e5c890a re PR libstdc++/42456 (Revision 155377 failed some C++ atomic tests)
2009-12-21  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/42456
	* src/atomic.cc: Move _GLIBCXX_ASM_SYMVER define within guard.
	* config/abi/pre/gnu.ver: Add non-volatile exports.

From-SVN: r155393
2009-12-22 08:23:08 +00:00
Benjamin Kosnik 8d079e67d8 run_doxygen: Update nested namespace exceptions.
2009-12-21  Benjamin Kosnik  <bkoz@redhat.com>

	* scripts/run_doxygen: Update nested namespace exceptions.

From-SVN: r155380
2009-12-21 21:26:45 +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
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
Dave Korn ce7611f2f8 re PR target/42377 (libstdc++.dll.a misses a definition of std::string::reserve)
PR target/42377
	* config/abi/pre/gnu.ver: Adjust mangled function signatures to permit
	LLP64 sizetypes throughout.

From-SVN: r155318
2009-12-17 15:25:36 +00:00
Paolo Carlini 45ed58a81f re PR libstdc++/42198 ([C++0x] Using std::thread without -pthread causes immediate crash)
2009-12-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/42198
	* src/thread.cc (thread::_M_start_thread): Throw system_error
	immediately if the thread system is inactive.

From-SVN: r155308
2009-12-17 11:09:05 +00:00
Benjamin Kosnik 5317914406 PR libstdc++/21772 part 2
2009-12-16  Benjamin Kosnik  <bkoz@redhat.com>

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

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

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

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

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

From-SVN: r155283
2009-12-16 05:16:46 +00:00
Paolo Carlini 832fb657d6 2009-12-15 Paolo Carlini <paolo.carlini@oracle.com>
* Fix typo in last ChangeLog entry.

From-SVN: r155272
2009-12-15 21:01:00 +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 9f81eaccf9 re PR c++/42379 (Revision 155245 failed 1_neg.cc)
2009-12-15  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/42379
	* testsuite/23_containers/set/operators/1_neg.cc: Fix dg-error strings.
	* testsuite/23_containers/map/operators/1_neg.cc: Likewise.

From-SVN: r155258
2009-12-15 16:11:32 +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
Ralf Wildenhues a5d28a1224 Remove code to un-precious-ize CC, CXX in libjava and v3.
libjava/:
	* configure.ac: Remove code to un-precious-ize CC, CXX,
	CXXFLAGS, CFLAGS, LDFLAGS.
	* configure: Regenerate.

libstdc++-v3/:
	* configure.ac: Remove code to un-precious-ize CC, CXX,
	CXXFLAGS, CFLAGS, LDFLAGS.
	* configure: Regenerate.

From-SVN: r155240
2009-12-14 21:44:48 +00:00
Paolo Carlini e49fd61b53 explicit_instantiation/1_c++0x.cc: New.
2009-12-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/23_containers/queue/requirements/
	explicit_instantiation/1_c++0x.cc: New.
	* testsuite/23_containers/priority_queue/requirements/
	explicit_instantiation/1_c++0x.cc: Likewise.
	* testsuite/23_containers/multimap/requirements/
	explicit_instantiation/1_c++0x.cc: Likewise.
	* testsuite/23_containers/bitset/requirements/
	explicit_instantiation/1_c++0x.cc: Likewise.
	* testsuite/23_containers/set/requirements/
	explicit_instantiation/1_c++0x.cc: Likewise.
	* testsuite/23_containers/vector/requirements/
	explicit_instantiation/1_c++0x.cc: Likewise.
	* testsuite/23_containers/deque/requirements/
	explicit_instantiation/1_c++0x.cc: Likewise.
	* testsuite/23_containers/stack/requirements/
	explicit_instantiation/1_c++0x.cc: Likewise.
	* testsuite/23_containers/multiset/requirements/
	explicit_instantiation/1_c++0x.cc: Likewise.
	* testsuite/23_containers/list/requirements/
	explicit_instantiation/1_c++0x.cc: Likewise.
	* testsuite/23_containers/map/requirements/
	explicit_instantiation/1_c++0x.cc: Likewise.

From-SVN: r155215
2009-12-14 15:01:23 +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 2cd9cdcc6d re PR libstdc++/40133 (exception propagation support not enabled in libstdc++ 4.4 on {armeabi,hppa}-linux)
2009-12-11  Paolo Carlini  <paolo.carlini@oracle.com>
            Matthias Klose  <doko@ubuntu.com>

        PR libstdc++/40133
        * acinclude.m4 ([GLIBCXX_ENABLE_ATOMIC_BUILTINS]): On *-*-linux*,
        *-*-uclinux*, *-*-kfreebsd*-gnu | *-*-gnu* targets do link tests when
        possible.
        * configure: Regenerate.

Co-Authored-By: Matthias Klose <doko@ubuntu.com>

From-SVN: r155200
2009-12-13 23:45:12 +00:00
Paolo Carlini 4fa287ffd2 numeric: Trivial formatting changes.
2009-12-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/parallel/numeric: Trivial formatting changes.

From-SVN: r155181
2009-12-11 22:06:26 +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 f9679d8ae7 lwg-active.html: Update to Revision R68.
2009-12-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* doc/html/ext/lwg-active.html: Update to Revision R68.
	* doc/html/ext/lwg-closed.html: Likewise.
	* doc/html/ext/lwg-defects.html: Likewise.
	* doc/xml/manual/intro.xml: Update status of issues 431, 630, and 696.

From-SVN: r155170
2009-12-11 17:23:09 +00:00
Jakub Jelinek b66887e4d0 re PR c++/42317 (Issues with comdat virtual dtors)
PR c++/42317
	* cgraph.h (struct cgraph_node): Add same_comdat_group field.
	* cgraph.c (cgraph_remove_node): Unchain node from same_comdat_group
	circular list.
	(cgraph_node_can_be_local_p): Return false for DECL_COMDAT with
	node->same_comdat_group.
	* ipa.c (cgraph_remove_unreachable_nodes): For any reachable node
	mark all its same_comdat_group nodes as also reachable.
	(cgraph_externally_visible_p): Return true even if any of
	same_comdat_group nodes has address taken.
	* lto-cgraph.c (lto_output_node): Stream out same_comdat_group.
	(output_cgraph): Ensure other same_comdat_group nodes are also
	included.
	(input_node): Stream in same_comdat_group.
	(input_cgraph_1): Fix up same_comdat_group fields from references
	to pointers.
	* cgraphunit.c (cgraph_analyze_functions): Mark all other
	same_comdat_group nodes as reachable.
	(cgraph_mark_functions_to_output): For each node->process process
	also other same_comdat_group nodes.
	* ipa-inline.c (cgraph_clone_inlined_nodes): Don't reuse nodes
	with same_comdat_group non-NULL.
	(cgraph_mark_inline_edge): Likewise.

	* decl2.c (cp_write_global_declarations): Clear DECL_EXTERNAL
	also on all other functions in the same comdat group.
	* optimize.c (maybe_clone_body): Also optimize virtual implicit
	dtors.  For virtual comdat dtors tell cgraph that base and deleting
	dtor are in the same comdat group.

	* config/abi/pre/gnu.ver: Don't export certain base dtors that
	weren't previously exported.

	* g++.dg/opt/dtor2.C: New test.
	* g++.dg/opt/dtor2.h: New file.
	* g++.dg/opt/dtor2-aux.cc: New file.

From-SVN: r155143
2009-12-10 22:58:49 +01: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