Commit Graph

2259 Commits

Author SHA1 Message Date
Paolo Carlini
1aa1114b63 tuple: Use noexcept where appropriate.
2011-05-17  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/tuple: Use noexcept where appropriate.
	(tuple<>::swap): Rework implementation.
	(_Head_base<>::_M_swap_impl): Remove.
	(get(std::tuple<>&&)): Add.
	* testsuite/20_util/tuple/element_access/get2.cc: New.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error
	line number.

From-SVN: r173838
2011-05-18 00:12:58 +00:00
Paolo Carlini
18eeaec47b utility (get(std::pair<>&&)): Add.
2011-05-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/utility (get(std::pair<>&&)): Add.
	* include/bits/stl_pair.h (pair::swap(pair&),
	swap(pair<>&, pair<>&)): Use noexcept.
	* include/bits/random.h (discard_block_engine<>::base,
	independent_bits_engine<>::base, shuffle_order_engine<>::base,
	random_device::entropy): Use noexcept.
	* include/std/array: Use noexcept where appropriate.
	(get(array<>&&)): Add.
	* testsuite/23_containers/array/requirements/get.cc: New.
	* testsuite/20_util/pair/get.cc: Likewise.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Tweak dg-error
	line number.

From-SVN: r173798
2011-05-16 18:09:17 +00:00
Paolo Carlini
4d4cf1444d c++config (_GLIBCXX_NOEXCEPT, [...]): Add.
2011-05-15  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/c++config (_GLIBCXX_NOEXCEPT, _GLIBCXX_USE_NOEXCEPT):
	Add.
	* include/std/limits: Use the latter everywhere.
	(numeric_limits<char16_t>, numeric_limits<char32_t>): Simplify
	macro usages, the specializations exist only in C++0x mode.
	* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error
	line number.

From-SVN: r173774
2011-05-15 18:21:03 +00:00
Paolo Carlini
cddebdb7a8 overloads_c++0x_neg.cc: Use dg-require-cmath.
2011-05-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/26_numerics/headers/cmath/overloads_c++0x_neg.cc: Use
	dg-require-cmath.
	* testsuite/tr1/8_c_compatibility/cmath/overloads_neg.cc: Likewise.

From-SVN: r173684
2011-05-11 22:36:18 +00:00
Paolo Carlini
b04fa73811 re PR libstdc++/48933 (Infinite recursion in tr1/cmath functions with complex parameters)
2011-05-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/48933
	* include/c_global/cmath (acosh, asinh, atanh, cbrt, copysign,
	erf, erfc, exp2, expm1, fdim, fma, fmax, hypot, ilogb, lgamma,
	llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
	nextafter, nexttoward, remainder, remquo, rint, round, scalbln,
	scalbn, tgamma, trunc): Use __enable_if on the return type.
	* include/tr1/cmath: Likewise.
	* testsuite/26_numerics/headers/cmath/overloads_c++0x_neg.cc: New.
	* testsuite/tr1/8_c_compatibility/cmath/overloads_neg.cc: Likewise.

From-SVN: r173574
2011-05-09 15:38:21 +00:00
Paolo Carlini
54cc9874fd named_equivalence.cc: Fix.
2011-05-06  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/22_locale/messages_byname/named_equivalence.cc: Fix.

From-SVN: r173494
2011-05-06 15:55:39 +00:00
Marc Glisse
91e4938b8c PR libstdc++/47913 (again)
2011-05-04  Marc Glisse  <marc.glisse@normalesup.org>

	PR libstdc++/47913 (again)
	* include/std/ratio (ratio_add, ratio_less): Rewrite.
	* testsuite/20_util/ratio/operations/47913.cc: Extend.
	* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust dg-error
	line numbers.
	* testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.

From-SVN: r173400
2011-05-04 23:23:54 +00:00
Paolo Carlini
8a3cabe30f re PR libstdc++/48848 ([C++0x] std::valarray<T> functions missing)
2011-05-03  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/48848
	* include/std/valarray (valarray<>::valarray(valarray&&),
	valarray<>::operator=(valarray&&), valarray<>::swap): Add.
	* doc/xml/manual/status_cxx200x.xml: Update.
	* testsuite/26_numerics/valarray/moveable.cc: New.
	* testsuite/26_numerics/valarray/swap.cc: Likewise.

From-SVN: r173344
2011-05-03 22:25:24 +00:00
Paolo Carlini
0ecca7a6a6 re PR libstdc++/48750 (for_each_template_random_access_ed has unbalanced new/delete[])
2011-05-03  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/48750
	* include/parallel/multiway_merge.h: Run _ValueType destructors.
	* include/parallel/multiway_mergesort.h: Likewise.
	* include/parallel/quicksort.h: Likewise.
	* include/parallel/random_shuffle.h: Likewise.
	* include/parallel/partial_sum.h: Likewise.
	* include/parallel/losertree.h: Run destructors; minor tweaks.
	* include/parallel/par_loop.h: Run destructors, fix memory
	allocations and deallocations.
	* testsuite/26_numerics/accumulate/48750.cc: New.

	* testsuite/ext/profile/mutex_extensions_neg.cc: Do not run in
	parallel-mode to avoid spurious multiple errors.

From-SVN: r173309
2011-05-03 14:20:45 +00:00
Jonathan Wakely
0f88da8d14 functional (bind): Remove from overload set when first argument type might be a socket file descriptor.
2011-05-03  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/functional (bind): Remove from overload set when first
	argument type might be a socket file descriptor.
	* testsuite/20_util/bind/socket.cc: New.

From-SVN: r173279
2011-05-03 01:03:38 +01:00
Paolo Carlini
2c7a09d774 [multiple changes]
2011-04-30  Daniel Krugler  <daniel.kruegler@googlemail.com>

	* include/std/type_traits (__is_default_constructible_atom,
	__is_default_constructible_safe<, true>,
	__is_direct_constructible_new_safe,
	__is_base_to_derived_ref<,, true>, __is_lvalue_to_rvalue_ref<,, true>,
	__is_direct_constructible_ref_cast, __is_direct_constructible,
	__is_nary_constructible): Simplify; add comments throughout.

2011-04-30  Paolo Carlini  <paolo.carlini@oracle.com>

	* 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: r173222
2011-04-30 19:40:06 +00:00
Paolo Carlini
9f1163b171 re PR libstdc++/48760 (std::complex constructor buggy in the face of NaN's)
2011-04-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/48760
	* include/std/complex (complex<float>::complex(float, float),
	complex<double>::complex(double, double),
	complex<long double>::complex(long double, long double)): Use
	list-initialization in C++0x mode, initialize in the body in
	C++03 mode.
	* testsuite/26_numerics/complex/cons/48760.cc: New.
	* testsuite/26_numerics/complex/cons/48760_c++0x.cc: Likewise.

2011-04-28  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/bitset (_Base_bitset(unsigned long long)): Minor
	tweak, remove redundant round braces.

From-SVN: r173065
2011-04-28 10:52:17 +00:00
Paolo Carlini
1f428429c4 move.h (move_if_noexcept): Add.
2011-04-27  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/move.h (move_if_noexcept): Add.
	* testsuite/20_util/move_if_noexcept/requirements/
	explicit_instantiation.cc: New.
	* testsuite/20_util/move_if_noexcept/1.cc: Likewise.

From-SVN: r173044
2011-04-27 18:37:32 +00:00
Paolo Carlini
a47407f631 type_traits (struct underlying_type): Add.
2011-04-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/type_traits (struct underlying_type): Add.
	* testsuite/20_util/underlying_type/requirements/typedefs-1.cc: New.
	* testsuite/20_util/underlying_type/requirements/typedefs-2.cc:
	Likewise.
	* testsuite/20_util/underlying_type/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
	line number.

From-SVN: r172944
2011-04-25 23:04:16 +00:00
François Dumont
0cfbd28838 libstdc++.exp (check_v3_target_time): Discard unused compilation result thanks to /dev/null.
2011-04-22  François Dumont  <francois.cppdevs@free.fr>

        * testsuite/lib/libstdc++.exp (check_v3_target_time): Discard
        unused compilation result thanks to /dev/null.
        * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode
        check_v3_target_profile_mode check_v3_target_normal_mode
        check_v3_target_cstdint check_v3_target_cmath
        check_v3_target_atomic_builtins check_v3_target_gthreads
        check_v3_target_nanosleep check_v3_target_sched_yield
        check_v3_target_string_conversions check_v3_target_swprintf
        check_v3_target_binary_io): Use simple preprocessing rather than
        compilation. Discard unused preprocessing result thanks to /dev/null.

From-SVN: r172872
2011-04-22 19:34:38 +00:00
Jonathan Wakely
be7f782278 re PR libstdc++/48521 ([C++0x] std::result_of doesn't work with pointer to member)
2011-04-19  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/48521
	* include/std/type_traits (result_of): Handle pointer to member.
	* include/std/functional (__invoke): Likewise.
	(_Function_to_function_pointer): Remove.
	(_Reference_wrapper_base): Provide nested types independent of
	unary_function and binary_function.
	(reference_wrapper::operator()): DR 2017.
	(ref(const A&&), cref(const A&&): Define as deleted.
	* include/std/future (async): Simplify SFINAE and use result_of to
	support pointer to member.
	* testsuite/20_util/reference_wrapper/invoke.cc: Test pointer to 
	member.
	* testsuite/20_util/reference_wrapper/24803.cc: Likewise.
	* testsuite/20_util/reference_wrapper/typedefs.cc: Test for types
	instead of derivation from unary_function and binary_function.
	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
	* testsuite/20_util/reference_wrapper/invoke-2.cc: New.
	* testsuite/20_util/reference_wrapper/ref_neg.c: New.
	* testsuite/20_util/reference_wrapper/typedefs-3.c: New.

From-SVN: r172709
2011-04-19 14:26:08 +01:00
Hans-Peter Nilsson
61bd5ad845 re PR testsuite/48675 (20_util/hash/chi2_quality.cc timeout)
PR testsuite/48675
	* testsuite/20_util/hash/chi2_quality.cc (test_document_words): Stub
	this part if SAMPLES < 100000.

From-SVN: r172692
2011-04-19 03:59:16 +00:00
Paolo Carlini
65cee9bdb7 type_traits (is_nothrow_default_constructible, [...]): Add.
2011-04-18  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/type_traits (is_nothrow_default_constructible,
	is_nothrow_copy_constructible, is_nothrow_move_constructible,
	is_copy_constructible, is_move_constructible): Add.
	(has_nothrow_default_constructor, has_nothrow_copy_constructor):
	Remove.
	(is_nothrow_constructible): Adjust.

	* testsuite/util/testsuite_tr1.h (ThrowDefaultClass,
	ThrowCopyConsClass, ThrowMoveConsClass, NoexceptDefaultClass,
	ExceptDefaultClass, NoexceptCopyConsClass, ExceptCopyConsClass,
	NoexceptMoveConsClass, ExceptMoveConsClass): Add in C++0x mode.

	* testsuite/20_util/has_nothrow_default_constructor: Remove.
	* testsuite/20_util/has_nothrow_copy_constructor: Likewise.

	* testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise.
	* testsuite/20_util/is_nothrow_move_constructible/requirements/
	typedefs.cc: Likewise.
	* testsuite/20_util/is_nothrow_move_constructible/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise.
	* testsuite/20_util/is_nothrow_copy_constructible/requirements/
	typedefs.cc: Likewise.
	* testsuite/20_util/is_nothrow_copy_constructible/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_nothrow_default_constructible/value.cc:
	Likewise.
	* testsuite/20_util/is_nothrow_default_constructible/requirements/
	typedefs.cc: Likewise.
	* testsuite/20_util/is_nothrow_default_constructible/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_move_constructible/value.cc: Likewise.
	* testsuite/20_util/is_move_constructible/requirements/typedefs.cc:
	Likewise.
	* testsuite/20_util/is_move_constructible/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_copy_constructible/value.cc: Likewise.
	* testsuite/20_util/is_copy_constructible/requirements/typedefs.cc:
	Likewise.
	* testsuite/20_util/is_copy_constructible/requirements/
	explicit_instantiation.cc: Likewise.

	* testsuite/20_util/is_default_constructible/value.cc: Add tests.
	* testsuite/20_util/is_nothrow_constructible/value.cc: Likewise.

	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
	Adjust dg-error line numbers.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.

From-SVN: r172684
2011-04-19 00:10:53 +00:00
Paolo Carlini
dc98549948 moveable.cc: Actually run it in parallel-mode for check-parallel.
2011-04-17  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/25_algorithms/partition/moveable.cc: Actually run
	it in parallel-mode for check-parallel.

From-SVN: r172625
2011-04-17 23:15:28 +00:00
Daniel Krugler
da8111a024 PR libstdc++/48635 (again)
2011-04-17  Daniel Krugler  <daniel.kruegler@googlemail.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/48635 (again)
	* include/bits/unique_ptr.h (unique_ptr<>::unique_ptr(unique_ptr<>&&),
	unique_ptr<_Tp[]>::unique_ptr(unique_ptr<>&&),
	unique_ptr<>::operator=(unique_ptr<>&&),
	unique_ptr<_Tp[]>::operator=(unique_ptr<>&&)): Use forward<_Ep>, not
	forward<_Dp>, to forward the deleter.
	* testsuite/20_util/unique_ptr/assign/48635_neg.cc: New.

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

From-SVN: r172619
2011-04-17 21:46:11 +00:00
Daniel Krugler
d4610485cc re PR libstdc++/48631 ([C++0x] default_delete<T[]> accepts pointer conversions in function call operator)
2011-04-15  Daniel Krugler  <daniel.kruegler@googlemail.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/48631
	* include/bits/unique_ptr.h (default_delete<_Tp[]>): Add deleted
	function call operator.
	* testsuite/20_util/default_delete/48631_neg.cc: New.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error
	line numbers.

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

From-SVN: r172534
2011-04-16 02:02:29 +00:00
Daniel Krugler
2705a8d66e re PR libstdc++/48635 ([C++0x] unique_ptr<T, D&> moves the deleter instead of copying it)
2011-04-15  Daniel Krugler  <daniel.kruegler@googlemail.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/48635
	* include/bits/unique_ptr.h (unique_ptr<>::operator=(unique_ptr&&),
	unique_ptr<>::operator=(unique_ptr<>&&),
	unique_ptr<_Tp[],>::operator=(unique_ptr&&),
	unique_ptr<_Tp[],>::operator=(unique_ptr<>&&)): Forward the deleter
	instead of moving it.
	* testsuite/20_util/unique_ptr/assign/48635.cc: New.

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

From-SVN: r172532
2011-04-16 00:55:43 +00:00
Paolo Carlini
123c516a9e [multiple changes]
2011-04-13  Daniel Krugler  <daniel.kruegler@googlemail.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/48526
	* include/std/type_traits (struct is_constructible): Re-implement,
	according to n3290.
	(struct is_default_constructible): Add.
	(struct is_destructible): Likewise.
	(struct __and_, __or_, __not_): Add and use throughout; reorder some
	facilities, other minor tweaks.
	* testsuite/util/testsuite_tr1.h: Add test types.
	* testsuite/20_util/is_constructible/value-2.cc: New.
	* testsuite/20_util/is_default_constructible/value.cc: Likewise.
	* testsuite/20_util/is_default_constructible/requirements/typedefs.cc:
	Likewise.
	* testsuite/20_util/is_default_constructible/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_destructible/value.cc: Likewise.
	* testsuite/20_util/is_destructible/requirements/typedefs.cc:
	Likewise.
	* testsuite/20_util/is_destructible/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
	dg-error line numbers.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
	* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.

2011-04-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/20_util/is_function/value.cc: Add, adapted from the tr
	testsuite. 
	* testsuite/20_util/is_function/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_function/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_function/24808.cc: Likewise.
	* testsuite/20_util/is_function/35637.cc: Likewise.
	* testsuite/20_util/is_object/value.cc: Likewise.
	* testsuite/20_util/is_object/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_object/requirements/explicit_instantiation.cc:
	: Likewise.
	* testsuite/20_util/is_object/24808.cc: Likewise.
	* testsuite/20_util/is_compound/value.cc: Likewise.
	* testsuite/20_util/is_compound/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_compound/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_member_object_pointer/value.cc: Likewise.
	* testsuite/20_util/is_member_object_pointer/requirements/
	typedefs.cc: Likewise.
	* testsuite/20_util/is_member_object_pointer/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_fundamental/value.cc: Likewise.
	* testsuite/20_util/is_fundamental/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_fundamental/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_member_pointer/value.cc: Likewise.
	* testsuite/20_util/is_member_pointer/requirements/typedefs.cc: 
	Likewise.
	* testsuite/20_util/is_member_pointer/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_member_function_pointer/value.cc: Likewise.
	* testsuite/20_util/is_member_function_pointer/
	requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_member_function_pointer/requirements/
	explicit_instantiation.cc: Likewise.

	* testsuite/20_util/is_convertible/value.cc: Minor tweak, adjust
	Copyright years.

From-SVN: r172401
2011-04-13 22:52:45 +00:00
Takaya Saito
78a869ec74 re PR libstdc++/48476 ([C++0x] conversion between std::tuple which have reference member is rejected)
2011-04-12  Takaya Saito  <gintensubaru@gmail.com>

	PR libstdc++/48476
	* include/std/tuple (_Tuple_impl<>::_Tuple_impl(_Tuple_impl<>&&),
	_Tuple_impl<>::operator=(_Tuple_impl&&), _Tuple_impl<>::operator=
	(_Tuple_impl<>&&), tuple_cat): Use std::forward where appropriate.
	* testsuite/20_util/tuple/cons/48476.cc: New.
	* testsuite/20_util/tuple/48476.cc: Likewise.
	* testsuite/20_util/tuple/creation_functions/48476.cc: Likewise.

From-SVN: r172309
2011-04-12 10:31:33 +00:00
Paolo Carlini
237526dd7d re PR libstdc++/48566 (libstdc++-v3 testsuite failures due to missing includes)
2011-04-12  Allan McRae  <allan@archlinux.org>

	PR libstdc++/48566
	* testsuite/tr1/6_containers/unordered_map/requirements/
	iterator_null_neg.cc: Include <cstddef>.
	* testsuite/tr1/6_containers/unordered_set/requirements/
	iterator_null_neg.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc: Include
	<cstring>.
	* testsuite/util/testsuite_common_types.h: Include <limits>.
	* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc:
	Adjust dg-error line numbers.
	* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
	* testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
	Likewise.
	* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
	Likewise.
	* testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc:
	Likewise.
	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Likewise.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.

From-SVN: r172303
2011-04-12 09:05:30 +00:00
Jason Merrill
b24290fb5b PR c++/48457, Core 1238
PR c++/48457, Core 1238
	* call.c (reference_binding): Allow rvalue reference to bind to
	function lvalue.
	* tree.c (lvalue_kind): Functions are always lvalues.

From-SVN: r172282
2011-04-11 18:00:06 -04:00
Paolo Carlini
061217e948 moveable.cc: Actually run it in parallel-mode for check-parallel.
2011-04-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/25_algorithms/inplace_merge/moveable.cc: Actually run
	it in parallel-mode for check-parallel.
	* testsuite/25_algorithms/rotate/moveable.cc: Likewise.
	* testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
	* testsuite/25_algorithms/remove/moveable.cc: Likewise.
	* testsuite/25_algorithms/sort_heap/check_compare_by_value.cc:
	Likewise.
	* testsuite/25_algorithms/unique/moveable.cc: Likewise.
	* testsuite/25_algorithms/remove_if/moveable.cc: Likewise.
	* testsuite/25_algorithms/heap/moveable.cc: Likewise.

	* testsuite/25_algorithms/next_permutation/moveable.cc: Only skip
	the tests based on std::lexicographical_compare for check-parallel.
	* testsuite/25_algorithms/prev_permutation/moveable.cc: Likewise.

From-SVN: r172269
2011-04-11 17:50:39 +00:00
Jonathan Wakely
3e49fb0379 re PR libstdc++/48541 (std::function(std::_Function_base) should use std::addressof)
2011-04-10  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/48541
	* include/std/functional (_Base_manager::_M_get_pointer): Use
	addressof.
	* testsuite/20_util/function/48541.cc: New.

From-SVN: r172244
2011-04-10 17:35:58 +01:00
Jonathan Wakely
07703a3785 re PR libstdc++/48465 (undefined reference to std::basic_string::_S_compare(unsigned long, unsigned long))
2011-04-10  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/48465
	* configure.ac (libtool_VERSION): Bump library version to 6:16:0.
	* configure: Regenerate.
	* config/abi/pre/gnu.ver (GLIBCXX_3.4.16): Export missing symbols.
	* testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.16.

From-SVN: r172241
2011-04-10 17:20:42 +01:00
Jeffrey Yasskin
7c16382a3a In C++0x mode, import iota and is_sorted from namespace std into namespace __gnu_cxx to avoid ambiguous call errors.
In C++0x mode, import iota and is_sorted from namespace std into
namespace __gnu_cxx to avoid ambiguous call errors.  copy_n would be a
good candidate for this too, except it was standardized with a
different return type.

Tested:
  `make -k check-c++` on x86_64-unknown-linux-gnu.

libstdc++-v3/ChangeLog:

2011-04-06  Jeffrey Yasskin  <jyasskin@google.com>

        * include/ext/algorithm (is_sorted): In C++0x mode import from
        namespace std.
        * include/ext/numeric (iota): In C++0x mode import from
        namespace std.
        * testsuite/ext/is_sorted/cxx0x.cc: New.
        * testsuite/ext/iota/cxx0x.cc: New.

From-SVN: r172073
2011-04-07 04:11:12 +00:00
Jonathan Wakely
0569d07d16 re PR libstdc++/48398 ([C++0x] std::unique_ptr<T, D> is broken when D::pointer is not T*)
2011-04-02  Jonathan Wakely  <redi@gcc.gnu.org>

	PR libstdc++/48398
	* include/bits/unique_ptr.h (__tuple_type): Store pointer type.
	* testsuite/20_util/unique_ptr/modifiers/48398.cc: New.
	* testsuite/20_util/unique_ptr/requirements/pointer_type.cc: Remove
	unused parameter name.

From-SVN: r171894
2011-04-02 20:32:15 +01:00
Jonathan Wakely
e3e08a1db5 future (future::share): Add.
2011-03-25  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/future (future::share): Add.
	(packaged_task::result_type): Remove as per LWG 2030.
	(packaged_task::packaged_task): Remove redundant constructors, as per
	LWG 1514.
	* testsuite/30_threads/future/members/share.cc: New.
	* testsuite/30_threads/packaged_task/requirements/typedefs.cc: Remove.

From-SVN: r171531
2011-03-25 23:16:09 +00:00
Jonathan Wakely
4be2a08168 default.cc: Do not call members which require a fully established result state.
2011-03-25  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* testsuite/28_regex/match_results/ctors/char/default.cc: Do not call
	members which require a fully established result state.
	* testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise.

From-SVN: r171530
2011-03-25 22:50:47 +00:00
Paolo Carlini
113b21bdaf random.h (negative_binomial_distribution<>:: negative_binomial_distribution(_IntType, double), [...]): Fix construction of _M_gd.
2011-03-24  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.h (negative_binomial_distribution<>::
	negative_binomial_distribution(_IntType, double),
	negative_binomial_distribution<>::
	negative_binomial_distribution(const param_type&)): Fix
	construction of _M_gd.
	* include/bits/random.tcc (negative_binomial_distribution<>::
	operator()): Fix computation, per Leger's algorithm.
	* testsuite/util/testsuite_random.h (discrete_pdf,
	negative_binomial_pdf, poisson_pdf, uniform_int_pdf): New.
	(binomial_pdf): Swap last two parameters.
	* testsuite/26_numerics/random/discrete_distribution/
	operators/values.cc: New.
	* testsuite/26_numerics/random/negative_binomial_distribution/
	operators/values.cc: Likewise.
	* testsuite/26_numerics/random/poisson_distribution/
	operators/values.cc: Likewise.
	* testsuite/26_numerics/random/uniform_int_distribution/
	operators/values.cc: Likewise.
	* testsuite/26_numerics/random/binomial_distribution/
	operators/values.cc: Adjust.

From-SVN: r171411
2011-03-24 16:49:19 +00:00
Paolo Carlini
cf4a36dfe1 moveable2.cc: Tweak Copyright years.
2011-03-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/21_strings/basic_string/cons/char/moveable2.cc: Tweak
	Copyright years.
	* testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc:
	Likewise.

From-SVN: r171401
2011-03-24 15:57:57 +00:00
Paolo Carlini
355e71b9df shared_ptr.h (operator>, [...]): Add, per DR 1401.
2011-03-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/shared_ptr.h (operator>, operator<=, operator>=): Add,
	per DR 1401.
	(operator==, operator!=, operator<): Fix per the letter of DR 1401.
	* include/bits/shared_ptr_base.h: Likewise for __shared_ptr.
	* include/bits/unique_ptr.h (operator==, operator!=, operator<,
	operator<=, operator>, operator>=): Fix per the letter of DR 1401.
	* testsuite/20_util/shared_ptr/comparison/dr1401.cc: New.
	* testsuite/20_util/unique_ptr/comparison/dr1401.cc: Likewise.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust.

From-SVN: r171293
2011-03-22 15:15:03 +00:00
Jakub Jelinek
043747b3b2 gnu.ver (GLIBCXX_3.4.15): Export _ZNSsC2EOSs and _ZNSbIwSt11char_traitsIwESaIwEEC2EOS2_.
* config/abi/pre/gnu.ver (GLIBCXX_3.4.15): Export _ZNSsC2EOSs
	and _ZNSbIwSt11char_traitsIwESaIwEEC2EOS2_.
	* config/abi/post/solaris2.8/baseline_symbols.txt: Regenerated.
	* config/abi/post/solaris2.8/sparcv9/baseline_symbols.txt: Likewise.
	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
	* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
	Likewise.
	* config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
	* config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
	* config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
	* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
	* testsuite/21_strings/basic_string/cons/char/moveable2.cc: New test.
	* testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc: New
	test.

From-SVN: r171291
2011-03-22 16:05:23 +01:00
Jack Howarth
5513ecd55e prune.exp (prune_gcc_output): Prune "could not create compact unwind for" warnings.
gcc:
2011-03-21  Jack Howarth  <howarth@bromo.med.uc.edu>

	* lib/prune.exp (prune_gcc_output): Prune "could not create
	compact unwind for" warnings.

libstdc++:
2011-03-21  Jack Howarth  <howarth@bromo.med.uc.edu>

	* testsuite/lib/prune.exp (libstdc++-dg-prune): Prune "could not
	create compact unwind for" warnings.

From-SVN: r171263
2011-03-21 19:13:05 +00:00
Jakub Jelinek
c75bd36be4 testsuite_abi.cc (check_version): Set incompatible even when adding symbols to CXXABI_1.3...
* testsuite/util/testsuite_abi.cc (check_version): Set incompatible
	even when adding symbols to CXXABI_1.3, GLIBCXX_LDBL_3.4 and
	CXXABI_LDBL_1.3 versions.

From-SVN: r171257
2011-03-21 20:00:52 +01:00
Rainer Orth
5045335ee8 14220.cc: Don't xfail on sparc*-sun-solaris2.10 && lp64.
* testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail on
	sparc*-sun-solaris2.10 && lp64.

From-SVN: r171231
2011-03-21 13:38:19 +00:00
Paolo Carlini
67bd9a32cf libstdc++.exp (check_v3_target_c99_math): Rename to check_v3_target_cmath.
2011-03-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/lib/libstdc++.exp (check_v3_target_c99_math): Rename
	to check_v3_target_cmath.
	* testsuite/lib/dg-options.exp (dg-require-c99_math): Rename
	to dg-require-cmath.
	* testsuite/26_numerics/random/binomial_distribution/
	operators/values.cc: Adjust.

From-SVN: r171184
2011-03-19 19:49:16 +00:00
Diego Novillo
ef8623b378 mixed-mode-arith_neg.cc: Rename from mixed-mode_neg.cc
* mixed-mode-arith_neg.cc: Rename from mixed-mode_neg.cc
	* mixed-mode-cmp_neg.cc: Factor out of mixed-mode-arith_neg.cc

From-SVN: r171161
2011-03-18 15:54:32 -04:00
Paolo Carlini
294eab8c10 testsuite_random.h: New.
2011-03-18  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/util/testsuite_random.h: New.
	* testsuite/lib/libstdc++.exp (check_v3_target_c99_math,
	dg-require-c99_math): Add.
	* testsuite/26_numerics/random/bernoulli_distribution/
	operators/values.cc: New.
	* testsuite/26_numerics/random/binomial_distribution/
	operators/values.cc: Likewise.
	* testsuite/26_numerics/random/geometric_distribution/
	operators/values.cc: Likewise.

From-SVN: r171133
2011-03-18 11:48:29 +00:00
Benjamin Kosnik
4db6d7d79d gnu.ver: Add base destructors for stdexcept classes.
2011-03-16  Benjamin Kosnik  <bkoz@redhat.com>

	* config/abi/pre/gnu.ver: Add base destructors for stdexcept classes.
	* testsuite/19_diagnostics/stdexcept.cc: New.

From-SVN: r171049
2011-03-16 16:05:45 +00:00
Benjamin Kosnik
e95992339f Makefile.am: Add functional.cc, shared_ptr.cc.
2011-03-14  Benjamin Kosnik  <bkoz@redhat.com>

	* src/Makefile.am: Add functional.cc, shared_ptr.cc.
	* src/Makefile.in: Regenerate.
	* libsupc++/Makefile.am: Add nested_exception.cc.
	* libsupc++/Makefile.in: Regenerate.
	* src/system_error.cc: Add ctor and dtor definitions for error_category.
	* src/functional.cc: New. Add dtor definition for bad_function_call.
	* src/stdexcept.cc: Add dtor definitions for domain_error,
	invalid_argument, length_error, out_of_range, range_error,
	overflow_error, underflow_error.
	* src/future.cc: Add dtor definition for __future_base::_Result_base.
	* src/shared_ptr.cc: New. Add dtor definition for bad_weak_ptr.
	* src/thread.cc: Add dtor for thread::_Impl_base.
	* include/std/system_error: Adjust.
	* include/std/stdexcept: Same.
	* include/std/future: Same.
	* include/std/functional: Same.
	* include/std/thread: Same.
	* include/bits/shared_ptr_base.h: Same.
	* libsupc++/nested_exception.cc: New. Add dtor for nested_exception.
	* libsupc++/nested_exception.h: Adjust.
	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Same.
	* config/abi/pre/gnu.ver: Add new exports.

	* include/bits/regex_compiler.h: Nest namespace versioning.
	* include/bits/regex_grep_matcher.tcc: Same.
	* include/bits/regex_grep_matcher.h: Same.
	* include/bits/regex_cursor.h: Same.
	* include/bits/regex_nfa.h: Same.
	* include/bits/regex_nfa.tcc: Same.

From-SVN: r170975
2011-03-15 00:24:08 +00:00
Paolo Carlini
60c5236ed1 [multiple changes]
2011-03-09  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/util/testsuite_rvalref.h: Minor tweaks.

2011-03-09  Jonathan Wakely  <redi@gcc.gnu.org>
	    Chris Jefferson  <chris@bubblescope.net>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/util/testsuite_rvalref.h (rvalstruct_compare_by_value):
	New.
	* testsuite/25_algorithms/sort_heap/check_compare_by_value.cc:
	Likewise.
	* testsuite/25_algorithms/partial_sort/check_compare_by_value:
	Likewise.
	* testsuite/25_algorithms/stable_sort/check_compare_by_value.cc:
	Likewise.
	* testsuite/25_algorithms/sort/check_compare_by_value: Likewise.

2011-03-09  Chris Jefferson  <chris@bubblescope.net>

	PR libstdc++/48038
	* include/bits/stl_algo.h (__merge_backward): Rename to
	__move_merge_backward and change to always move rather than copy.
	(__move_merge): New function similar to std::merge except values
	are moved instead of copied.
	(__merge_adaptive, __merge_sort_loop): Change from using std::merge
	and __merge_backward to __move_merge and __move_merge_backward.

From-SVN: r170827
2011-03-09 18:30:11 +00:00
Jason Merrill
93dd46fb79 re PR c++/48003 (Regression in Template Constants from 4.5.2)
PR c++/48003
	* pt.c (convert_nontype_argument): Fix -fpermissive allowing
	integer overflow.
	* semantics.c (potential_constant_expression_1): Check TREE_OVERFLOW.

From-SVN: r170771
2011-03-08 00:28:13 -05:00
Benjamin Kosnik
b329dd10a9 re PR libstdc++/47145 (configure test for docbook-xsl-ns stylesheets uses hardcoded path)
2011-03-07  Benjamin Kosnik  <bkoz@redhat.com>
            Matthias Klose  <doko@ubuntu.com>
	    Jonathan Wakely  <redi@gcc.gnu.org>

	PR libstdc++/47145
	* acinclude.m4 (GLIBCXX_CONFIGURE_DOCBOOK): Define.
	* configure.ac: Use it.
	* doc/Makefile.am (XSL_STYLE_DIR): Set at configure time.
	* configure: Regenerate.
	* doc/Makefile.in: Regenerate.


Co-Authored-By: Jonathan Wakely <redi@gcc.gnu.org>
Co-Authored-By: Matthias Klose <doko@ubuntu.com>

From-SVN: r170763
2011-03-08 00:04:05 +00:00
Benjamin Kosnik
ed4f96af59 Makefile.am (inst_sources): Make source instantion files conditional.
2011-03-04  Benjamin Kosnik  <bkoz@chula>

	* src/Makefile.am (inst_sources): Make source instantion files
	conditional.
	(XTEMPLATE_FLAGS): Make -fno-implicit-templates conditional.
	* src/Makefile.in: Regenerate.
	* src/valarray-inst.cc: Move to..
	* src/valarray.cc: ...this.
	* acinclude.m4 (GLIBCXX_ENABLE_EXTERN_TEMPLATE]): Define.
	* configure.ac (GLIBCXX_ENABLE_EXTERN_TEMPLATE): Use it.
	* configure: Regenerate.
	* include/Makefile.am (stamp-extern-template): Add.
	* include/Makefile.in: Regenerate.

	* doc/xml/manual/configure.xml: Document --enable-extern-template.

	* include/bits/locale_classes.tcc: Adjust comment.
	* include/bits/locale_facets.tcc: Same.
	* include/bits/basic_ios.tcc: Same.
	* include/bits/istream.tcc: Same.
	* include/bits/codecvt.h: Same.
	* include/bits/ostream.tcc: Same.
	* include/bits/sstream.tcc: Same.
	* include/bits/c++config: Same.
	* include/bits/basic_string.tcc: Same.
	* include/bits/ostream_insert.h: Same.
	* include/bits/locale_facets_nonio.tcc: Same.
	* include/bits/streambuf.tcc: Same.
	* include/bits/allocator.h: Same.
	* include/bits/fstream.tcc: Same.

	* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line numbers.

From-SVN: r170686
2011-03-04 21:51:56 +00:00
Benjamin Kosnik
f63f8a3c19 Makefile.am: Make clean fixups.
2011-03-02  Benjamin Kosnik  <bkoz@redhat.com>

        * testsuite/Makefile.am: Make clean fixups.
        * testsuite/Makefile.in: Regenerate.

From-SVN: r170626
2011-03-02 23:32:56 +00:00