Commit Graph

54 Commits

Author SHA1 Message Date
Edward Smith-Rowland
b30ee71a40 Implement C++20 p1424 - 'constexpr' feature macro concerns...
2019-09-09  Edward Smith-Rowland  <3dw4rd@verizon.net>

	Implement C++20 p1424 - 'constexpr' feature macro concerns,
	Issue 3256 - Feature testing macro for constexpr algorithms,
	and Issue 3257 - Missing feature testing macro update from P0858.
	* include/std/version (__cpp_lib_constexpr_algorithms): Bump value.
	* include/bits/algorithmfwd.h: Ditto.
	* include/std/utility: Ditto.
	* testsuite/25_algorithms/constexpr_macro.cc: Ditto.
	* testsuite/25_algorithms/cpp_lib_constexpr.cc: New check for
	__cpp_lib_constexpr macro in <algorith>.
	* testsuite/20_util/exchange/constexpr.cc: Add check for
	__cpp_lib_constexpr macro in <utility>.
	* testsuite/25_algorithms/adjacent_find/constexpr.cc: Remove check for
	__cpp_lib_constexpr_algorithms.
	* testsuite/25_algorithms/all_of/constexpr.cc: Ditto.
	* testsuite/25_algorithms/any_of/constexpr.cc: Ditto.
	* testsuite/25_algorithms/binary_search/constexpr.cc: Ditto.
	* testsuite/25_algorithms/copy/constexpr.cc: Ditto.
	* testsuite/25_algorithms/copy_backward/constexpr.cc: Ditto.
	* testsuite/25_algorithms/copy_if/constexpr.cc: Ditto.
	* testsuite/25_algorithms/copy_n/constexpr.cc: Ditto.
	* testsuite/25_algorithms/count/constexpr.cc: Ditto.
	* testsuite/25_algorithms/count_if/constexpr.cc: Ditto.
	* testsuite/25_algorithms/equal/constexpr.cc: Ditto.
	* testsuite/25_algorithms/equal_range/constexpr.cc: Ditto.
	* testsuite/25_algorithms/fill/constexpr.cc: Ditto.
	* testsuite/25_algorithms/fill_n/constexpr.cc: Ditto.
	* testsuite/25_algorithms/find/constexpr.cc: Ditto.
	* testsuite/25_algorithms/find_end/constexpr.cc: Ditto.
	* testsuite/25_algorithms/find_first_of/constexpr.cc: Ditto.
	* testsuite/25_algorithms/find_if/constexpr.cc: Ditto.
	* testsuite/25_algorithms/find_if_not/constexpr.cc: Ditto.
	* testsuite/25_algorithms/for_each/constexpr.cc: Ditto.
	* testsuite/25_algorithms/generate/constexpr.cc: Ditto.
	* testsuite/25_algorithms/generate_n/constexpr.cc: Ditto.
	* testsuite/25_algorithms/is_heap/constexpr.cc: Ditto.
	* testsuite/25_algorithms/is_heap_until/constexpr.cc: Ditto.
	* testsuite/25_algorithms/is_partitioned/constexpr.cc: Ditto.
	* testsuite/25_algorithms/is_permutation/constexpr.cc: Ditto.
	* testsuite/25_algorithms/is_sorted/constexpr.cc: Ditto.
	* testsuite/25_algorithms/is_sorted_until/constexpr.cc: Ditto.
	* testsuite/25_algorithms/lexicographical_compare/constexpr.cc: Ditto.
	* testsuite/25_algorithms/lower_bound/constexpr.cc: Ditto.
	* testsuite/25_algorithms/merge/constexpr.cc: Ditto.
	* testsuite/25_algorithms/mismatch/constexpr.cc: Ditto.
	* testsuite/25_algorithms/none_of/constexpr.cc: Ditto.
	* testsuite/25_algorithms/partition_copy/constexpr.cc: Ditto.
	* testsuite/25_algorithms/partition_point/constexpr.cc: Ditto.
	* testsuite/25_algorithms/remove/constexpr.cc: Ditto.
	* testsuite/25_algorithms/remove_copy/constexpr.cc: Ditto.
	* testsuite/25_algorithms/remove_copy_if/constexpr.cc: Ditto.
	* testsuite/25_algorithms/remove_if/constexpr.cc: Ditto.
	* testsuite/25_algorithms/replace_copy/constexpr.cc: Ditto.
	* testsuite/25_algorithms/replace_copy_if/constexpr.cc: Ditto.
	* testsuite/25_algorithms/replace_if/constexpr.cc: Ditto.
	* testsuite/25_algorithms/reverse_copy/constexpr.cc: Ditto.
	* testsuite/25_algorithms/rotate_copy/constexpr.cc: Ditto.
	* testsuite/25_algorithms/search/constexpr.cc: Ditto.
	* testsuite/25_algorithms/search_n/constexpr.cc: Ditto.
	* testsuite/25_algorithms/set_difference/constexpr.cc: Ditto.
	* testsuite/25_algorithms/set_intersection/constexpr.cc: Ditto.
	* testsuite/25_algorithms/set_symmetric_difference/constexpr.cc: Ditto.
	* testsuite/25_algorithms/set_union/constexpr.cc: Ditto.
	* testsuite/25_algorithms/transform/constexpr.cc: Ditto.
	* testsuite/25_algorithms/unique/constexpr.cc: Ditto.
	* testsuite/25_algorithms/unique_copy/constexpr.cc: Ditto.
	* testsuite/25_algorithms/upper_bound/constexpr.cc: Ditto.

From-SVN: r275560
2019-09-10 03:38:58 +00:00
Edward Smith-Rowland
7a91c71099 Implement C++20 p0879 - Constexpr for swap and swap related functions.
2019-08-14  Edward Smith-Rowland  <3dw4rd@verizon.net>

	Implement C++20 p0879 - Constexpr for swap and swap related functions.
	* include/std/version (__cpp_lib_constexpr_swap_algorithms): New macro.
	* include/bits/algorithmfwd.h (__cpp_lib_constexpr_swap_algorithms):
	New macro.
	(iter_swap, make_heap, next_permutation, partial_sort_copy, pop_heap)
	(prev_permutation, push_heap, reverse, rotate, sort_heap, swap)
	(swap_ranges, nth_element, partial_sort, sort): Add constexpr.
	* include/bits/move.h (swap): Add constexpr.
	* include/bits/stl_algo.h (__move_median_to_first, __reverse, reverse)
	(__gcd, __rotate, rotate, __partition, __heap_select)
	(__partial_sort_copy, partial_sort_copy, __unguarded_partition)
	(__unguarded_partition_pivot, __partial_sort, __introsort_loop, __sort)
	(__introselect, __chunk_insertion_sort, next_permutation)
	(prev_permutation, partition, partial_sort, nth_element, sort)
	(__iter_swap::iter_swap, iter_swap, swap_ranges): Add constexpr.
	* include/bits/stl_algobase.h (__iter_swap::iter_swap, iter_swap)
	(swap_ranges): Add constexpr.
	* include/bits/stl_heap.h (__push_heap, push_heap, __adjust_heap,
	__pop_heap, pop_heap, __make_heap, make_heap, __sort_heap, sort_heap):
	Add constexpr.
	* include/std/type_traits (swap): Add constexpr.
	* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Add constexpr.
	* testsuite/25_algorithms/iter_swap/constexpr.cc: New test.
	* testsuite/25_algorithms/make_heap/constexpr.cc: New test.
	* testsuite/25_algorithms/next_permutation/constexpr.cc: New test.
	* testsuite/25_algorithms/nth_element/constexpr.cc: New test.
	* testsuite/25_algorithms/partial_sort/constexpr.cc: New test.
	* testsuite/25_algorithms/partial_sort_copy/constexpr.cc: New test.
	* testsuite/25_algorithms/partition/constexpr.cc: New test.
	* testsuite/25_algorithms/pop_heap/constexpr.cc: New test.
	* testsuite/25_algorithms/prev_permutation/constexpr.cc: New test.
	* testsuite/25_algorithms/push_heap/constexpr.cc: New test.
	* testsuite/25_algorithms/reverse/constexpr.cc: New test.
	* testsuite/25_algorithms/rotate/constexpr.cc: New test.
	* testsuite/25_algorithms/sort/constexpr.cc: New test.
	* testsuite/25_algorithms/sort_heap/constexpr.cc: New test.
	* testsuite/25_algorithms/swap/constexpr.cc: New test.
	* testsuite/25_algorithms/swap_ranges/constexpr.cc: New test.

From-SVN: r274488
2019-08-14 17:54:15 +00:00
Edward Smith-Rowland
3a66e68ad9 Implement C++20 p0202 - Add Constexpr Modifiers to Functions in <algorithm> and <utility> Headers.
2019-08-01  Edward Smith-Rowland  <3dw4rd@verizon.net>

	Implement C++20 p0202 - Add Constexpr Modifiers to Functions
	in <algorithm> and <utility> Headers.
	Implement C++20 p1023 - constexpr comparison operators for std::array.
	* include/bits/algorithmfwd.h (all_of, any_of, binary_search, copy,
	copy_backward, copy_if, copy_n, equal_range, fill, find_end,
	find_if_not, includes, is_heap, is_heap_until, is_partitioned,
	is_permutation, is_sorted, is_sorted_until, iter_swap, lower_bound,
	none_of, partition_copy, partition_point, remove, remove_if,
	remove_copy, remove_copy_if, replace_copy, replace_copy_if,
	reverse_copy, rotate_copy, uunique, upper_bound, adjacent_find, count,
	count_if, equal, find, find_first_of, find_if, for_each, generate,
	generate_n, lexicographical_compare, merge, mismatch, replace,
	replace_if, search, search_n, set_difference, set_intersection,
	set_symmetric_difference, set_union, transform, unique_copy):
	Mark constexpr.
	* include/bits/cpp_type_traits.h (__miter_base): Mark constexpr.
	* include/bits/predefined_ops.h (_Iter_less_val::operator(),
	_Val_less_iter::operator(), _Iter_equal_to_iter::operator(),
	_Iter_equal_to_val::operator(), _Iter_equals_val::operator()):
	 Use const ref instead of ref arg;
	(_Iter_less_val, __iter_less_val, _Val_less_iter, __val_less_iter,
	__iter_equal_to_iter, __iter_equal_to_val, __iter_comp_val,
	_Iter_comp_val, _Val_comp_iter, __val_comp_iter, __iter_equals_val,
	_Iter_equals_iter, __iter_comp_iter, _Iter_pred, __pred_iter,
	_Iter_comp_to_val, __iter_comp_val, _Iter_comp_to_iter,
	__iter_comp_iter): Mark constexpr.
	* include/bits/stl_algo.h (__find_if, __find_if_not, __find_if_not_n,
	__search, __search_n_aux, __search_n, __find_end, find_end, all_of,
	none_of, any_of, find_if_not, is_partitioned, partition_point,
	__remove_copy_if, remove_copy, remove_copy_if, copy_if, __copy_n,
	copy_n, partition_copy, __remove_if, remove, remove_if, __adjacent_find,
	__unique, unique, __unique_copy, reverse_copy, rotate_copy,
	__unguarded_linear_insert, __insertion_sort, __unguarded_insertion_sort,
	__final_insertion_sort, lower_bound, __upper_bound, upper_bound,
	__equal_range, equal_range, binary_search, __includes, includes,
	__next_permutation, __prev_permutation, __replace_copy_if, replace_copy,
	replace_copy_if, __count_if, is_sorted, __is_sorted_until,
	is_sorted_until, __is_permutation, is_permutation, for_each, find,
	find_if, find_first_of, adjacent_find, count, count_if, search,
	search_n, transform, replace, replace_if, generate, generate_n,
	unique_copy, __merge, merge, __set_union, set_union, __set_intersection,
	set_intersection, __set_difference, set_difference,
	__set_symmetric_difference, set_symmetric_difference):  Mark constexpr.
	* include/bits/stl_algobase.h (__memmove, __memcmp): New maybe constexpr
	wrappers around __builtin_memmove and __builtin_memcmp
	respectively;
	(__niter_base, __niter_wrap, __copy_m, __copy_move_a, __copy_move_a2,
	copy, move, __copy_move_b, __copy_move_backward_a,
	__copy_move_backward_a2, copy_backward, move_backward, __fill_a, fill,
	__fill_n_a, fill_n, equal, __lc_rai::__newlast1, __lc_rai::__cnd2,
	__lexicographical_compare_impl, __lexicographical_compare,
	__lexicographical_compare<true>::__lc, __lexicographical_compare_aux,
	__lower_bound, lower_bound, equal, __equal4, lexicographical_compare,
	__mismatch, mismatch, __is_heap_until, __is_heap, is_heap_until,
	is_heap): Mark constexpr.
	* include/bits/stl_heap.h (__is_heap_until, __is_heap, is_heap_until,
	is_heap): Mark constexpr.
	* include/bits/stl_iterator.h (__niter_base, __miter_base): Mark constexpr.
	* include/std/array: Make comparison ops constexpr.
	* include/std/utility: Make exchange constexpr.
	* include/std/version (__cpp_lib_constexpr_algorithms): New macro.
	* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
	* testsuite/23_containers/array/tuple_interface/
	tuple_element_neg.cc: Adjust.
	* testsuite/20_util/exchange/constexpr.cc: New.
	* testsuite/23_containers/array/comparison_operators/constexpr.cc: New.
	* testsuite/25_algorithms/constexpr_macro.cc: New.
	* testsuite/25_algorithms/adjacent_find/constexpr.cc: New.
	* testsuite/25_algorithms/all_of/constexpr.cc: New.
	* testsuite/25_algorithms/any_of/constexpr.cc: New.
	* testsuite/25_algorithms/binary_search/constexpr.cc: New.
	* testsuite/25_algorithms/copy/constexpr.cc: New.
	* testsuite/25_algorithms/copy_backward/constexpr.cc: New.
	* testsuite/25_algorithms/copy_if/constexpr.cc: New.
	* testsuite/25_algorithms/copy_n/constexpr.cc: New.
	* testsuite/25_algorithms/count/constexpr.cc: New.
	* testsuite/25_algorithms/count_if/constexpr.cc: New.
	* testsuite/25_algorithms/equal/constexpr.cc: New.
	* testsuite/25_algorithms/equal_range/constexpr.cc: New.
	* testsuite/25_algorithms/fill/constexpr.cc: New.
	* testsuite/25_algorithms/fill_n/constexpr.cc: New.
	* testsuite/25_algorithms/find/constexpr.cc: New.
	* testsuite/25_algorithms/find_end/constexpr.cc: New.
	* testsuite/25_algorithms/find_first_of/constexpr.cc: New.
	* testsuite/25_algorithms/find_if/constexpr.cc: New.
	* testsuite/25_algorithms/find_if_not/constexpr.cc: New.
	* testsuite/25_algorithms/for_each/constexpr.cc: New.
	* testsuite/25_algorithms/generate/constexpr.cc: New.
	* testsuite/25_algorithms/generate_n/constexpr.cc: New.
	* testsuite/25_algorithms/is_heap/constexpr.cc: New.
	* testsuite/25_algorithms/is_heap_until/constexpr.cc: New.
	* testsuite/25_algorithms/is_partitioned/constexpr.cc: New.
	* testsuite/25_algorithms/is_permutation/constexpr.cc: New.
	* testsuite/25_algorithms/is_sorted/constexpr.cc: New.
	* testsuite/25_algorithms/is_sorted_until/constexpr.cc: New.
	* testsuite/25_algorithms/lexicographical_compare/constexpr.cc: New.
	* testsuite/25_algorithms/lower_bound/constexpr.cc: New.
	* testsuite/25_algorithms/merge/constexpr.cc: New.
	* testsuite/25_algorithms/mismatch/constexpr.cc: New.
	* testsuite/25_algorithms/none_of/constexpr.cc: New.
	* testsuite/25_algorithms/partition_copy/constexpr.cc: New.
	* testsuite/25_algorithms/partition_point/constexpr.cc: New.
	* testsuite/25_algorithms/remove/constexpr.cc: New.
	* testsuite/25_algorithms/remove_copy/constexpr.cc: New.
	* testsuite/25_algorithms/remove_copy_if/constexpr.cc: New.
	* testsuite/25_algorithms/remove_if/constexpr.cc: New.
	* testsuite/25_algorithms/replace_copy/constexpr.cc: New.
	* testsuite/25_algorithms/replace_copy_if/constexpr.cc: New.
	* testsuite/25_algorithms/replace_if/constexpr.cc: New.
	* testsuite/25_algorithms/reverse_copy/constexpr.cc: New.
	* testsuite/25_algorithms/rotate_copy/constexpr.cc: New.
	* testsuite/25_algorithms/search/constexpr.cc: New.
	* testsuite/25_algorithms/search_n/constexpr.cc: New.
	* testsuite/25_algorithms/set_difference/constexpr.cc: New.
	* testsuite/25_algorithms/set_intersection/constexpr.cc: New.
	* testsuite/25_algorithms/set_symmetric_difference/constexpr.cc: New.
	* testsuite/25_algorithms/set_union/constexpr.cc: New.
	* testsuite/25_algorithms/transform/constexpr.cc: New.
	* testsuite/25_algorithms/unique/constexpr.cc: New.
	* testsuite/25_algorithms/unique_copy/constexpr.cc: New.
	* testsuite/25_algorithms/upper_bound/constexpr.cc: New.

From-SVN: r273975
2019-08-01 15:25:42 +00:00
Jonathan Wakely
ed920373a5 Implement new serial algorithms from Parallelism TS (P0024R2)
These new (non-parallel) algorithms were added to C++17 along with the
parallel algorithms, but were missing from libstdc++.

	* include/bits/algorithmfwd.h: Change title of doc group.
	* include/bits/stl_algo.h (for_each_n): Add new C++17 algorithm from
	P0024R2.
	* include/bits/stl_numeric.h: Define doc group and add algos to it.
	* include/std/numeric (__is_random_access_iter): New internal trait.
	(reduce, transform_reduce, exclusive_scan, inclusive_scan)
	(transform_exclusive_scan, transform_inclusive_scan): Likewise.
	* testsuite/25_algorithms/for_each/for_each_n.cc: New test.
	* testsuite/26_numerics/exclusive_scan/1.cc: New test.
	* testsuite/26_numerics/inclusive_scan/1.cc: New test.
	* testsuite/26_numerics/reduce/1.cc: New test.
	* testsuite/26_numerics/transform_exclusive_scan/1.cc: New test.
	* testsuite/26_numerics/transform_inclusive_scan/1.cc: New test.
	* testsuite/26_numerics/transform_reduce/1.cc: New test.
	* testsuite/util/testsuite_iterators.h (test_container::size()): New
	member function.

From-SVN: r272459
2019-06-19 00:01:16 +01:00
Jakub Jelinek
a554497024 Update copyright years.
From-SVN: r267494
2019-01-01 13:31:55 +01:00
Jakub Jelinek
85ec4feb11 Update copyright years.
From-SVN: r256169
2018-01-03 11:03:58 +01:00
François Dumont
4a15d84228 re PR libstdc++/81064 (Inline namespace regression)
2017-07-23  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/81064
	* include/bits/algorithmfwd.h: Reorganize versioned namespace.
	* include/bits/basic_string.h: Likewise.
	* include/bits/c++config: Likewise.
	* include/bits/deque.tcc: Likewise.
	* include/bits/forward_list.h: Likewise.
	* include/bits/forward_list.tcc: Likewise.
	* include/bits/hashtable_policy.h: Likewise.
	* include/bits/list.tcc: Likewise.
	* include/bits/move.h: Likewise.
	* include/bits/quoted_string.h: Likewise.
	* include/bits/random.h: Likewise.
	* include/bits/random.tcc: Likewise.
	* include/bits/regex.h: Likewise.
	* include/bits/regex.tcc: Likewise.
	* include/bits/regex_automaton.h: Likewise.
	* include/bits/regex_automaton.tcc: Likewise.
	* include/bits/regex_compiler.h: Likewise.
	* include/bits/regex_compiler.tcc: Likewise.
	* include/bits/regex_constants.h: Likewise.
	* include/bits/regex_error.h: Likewise.
	* include/bits/regex_executor.h: Likewise.
	* include/bits/regex_executor.tcc: Likewise.
	* include/bits/regex_scanner.h: Likewise.
	* include/bits/regex_scanner.tcc: Likewise.
	* include/bits/specfun.h: Likewise.
	* include/bits/stl_algo.h: Likewise.
	* include/bits/stl_algobase.h: Likewise.
	* include/bits/stl_bvector.h: Likewise.
	* include/bits/stl_deque.h: Likewise.
	* include/bits/stl_iterator.h: Likewise.
	* include/bits/stl_iterator_base_funcs.h: Likewise.
	* include/bits/stl_list.h: Likewise.
	* include/bits/stl_map.h: Likewise.
	* include/bits/stl_multimap.h: Likewise.
	* include/bits/stl_multiset.h: Likewise.
	* include/bits/stl_relops.h: Likewise.
	* include/bits/stl_set.h: Likewise.
	* include/bits/stl_vector.h: Likewise.
	* include/bits/uniform_int_dist.h: Likewise.
	* include/bits/unordered_map.h: Likewise.
	* include/bits/unordered_set.h: Likewise.
	* include/bits/vector.tcc: Likewise.
	* include/c_global/cmath: Likewise.
	* include/c_std/cmath: Likewise.
	* include/decimal/decimal: Likewise.
	* include/decimal/decimal.h: Likewise.
	* include/experimental/algorithm: Likewise.
	* include/experimental/any: Likewise.
	* include/experimental/array: Likewise.
	* include/experimental/bits/erase_if.h: Likewise.
	* include/experimental/bits/fs_dir.h: Likewise.
	* include/experimental/bits/fs_fwd.h: Likewise.
	* include/experimental/bits/fs_ops.h: Likewise.
	* include/experimental/bits/fs_path.h: Likewise.
	* include/experimental/bits/lfts_config.h: Likewise.
	* include/experimental/bits/shared_ptr.h: Likewise.
	* include/experimental/bits/string_view.tcc: Likewise.
	* include/experimental/chrono: Likewise.
	* include/experimental/deque: Likewise.
	* include/experimental/filesystem: Likewise.
	* include/experimental/forward_list: Likewise.
	* include/experimental/functional: Likewise.
	* include/experimental/iterator: Likewise.
	* include/experimental/list: Likewise.
	* include/experimental/map: Likewise.
	* include/experimental/memory: Likewise.
	* include/experimental/memory_resource: Likewise.
	* include/experimental/numeric: Likewise.
	* include/experimental/optional: Likewise.
	* include/experimental/propagate_const: Likewise.
	* include/experimental/random: Likewise.
	* include/experimental/ratio: Likewise.
	* include/experimental/regex: Likewise.
	* include/experimental/set: Likewise.
	* include/experimental/source_location: Likewise.
	* include/experimental/string: Likewise.
	* include/experimental/string_view: Likewise.
	* include/experimental/system_error: Likewise.
	* include/experimental/tuple: Likewise.
	* include/experimental/type_traits: Likewise.
	* include/experimental/unordered_map: Likewise.
	* include/experimental/unordered_set: Likewise.
	* include/experimental/utility: Likewise.
	* include/experimental/vector: Likewise.
	* include/ext/bitmap_allocator.h: Likewise.
	* include/ext/codecvt_specializations.h: Likewise.
	* include/ext/rope: Likewise.
	* include/ext/typelist.h: Likewise.
	* include/std/chrono: Likewise.
	* include/std/complex: Likewise.
	* include/std/functional: Likewise.
	* include/std/numeric: Likewise.
	* include/std/string_view: Likewise.
	* include/std/thread: Likewise.
	* include/std/variant: Likewise.
	* include/tr1/array: Likewise.
	* include/tr1/bessel_function.tcc: Likewise.
	* include/tr1/beta_function.tcc: Likewise.
	* include/tr1/cmath: Likewise.
	* include/tr1/complex: Likewise.
	* include/tr1/ell_integral.tcc: Likewise.
	* include/tr1/exp_integral.tcc: Likewise.
	* include/tr1/functional: Likewise.
	* include/tr1/functional_hash.h: Likewise.
	* include/tr1/gamma.tcc: Likewise.
	* include/tr1/hashtable.h: Likewise.
	* include/tr1/hashtable_policy.h: Likewise.
	* include/tr1/hypergeometric.tcc: Likewise.
	* include/tr1/legendre_function.tcc: Likewise.
	* include/tr1/modified_bessel_func.tcc: Likewise.
	* include/tr1/poly_hermite.tcc: Likewise.
	* include/tr1/poly_laguerre.tcc: Likewise.
	* include/tr1/random.h: Likewise.
	* include/tr1/random.tcc: Likewise.
	* include/tr1/regex: Likewise.
	* include/tr1/riemann_zeta.tcc: Likewise.
	* include/tr1/shared_ptr.h: Likewise.
	* include/tr1/special_function_util.h: Likewise.
	* include/tr1/tuple: Likewise.
	* include/tr1/type_traits: Likewise.
	* include/tr1/unordered_map.h: Likewise.
	* include/tr1/unordered_set.h: Likewise.
	* include/tr1/utility: Likewise.
	* include/tr2/bool_set: Likewise.
	* include/tr2/bool_set.tcc: Likewise.
	* include/tr2/dynamic_bitset: Likewise.
	* include/tr2/dynamic_bitset.tcc: Likewise.
	* include/tr2/ratio: Likewise.
	* include/tr2/type_traits: Likewise.
	* src/c++11/chrono.cc: Likewise.
	* src/c++11/compatibility-c++0x.cc: Likewise.
	* src/c++11/compatibility-chrono.cc: Likewise.
	* src/c++11/cxx11-shim_facets.cc: Likewise.
	* src/c++11/hashtable_c++0x.cc: Likewise.
	* src/c++11/placeholders.cc: Likewise.
	* src/c++11/thread.cc: Likewise.
	* src/c++98/bitmap_allocator.cc: Likewise.
	* src/c++98/hashtable_tr1.cc: Likewise.
	* src/c++98/list.cc: Likewise.
	* src/shared/hashtable-aux.cc: Likewise.
	* testsuite/20_util/duration/literals/range.cc: Adapt line number.
	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
	* testsuite/20_util/forward/c_neg.cc: Likewise.
	* testsuite/20_util/forward/f_neg.cc: Likewise.
	* testsuite/26_numerics/gcd/gcd_neg.cc: Likewise.
	* testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
	* testsuite/26_numerics/random/pr60037-neg.cc: Likewise.
	* python/libstdcxx/v6/printers.py: Adapt.

From-SVN: r250458
2017-07-23 08:41:35 +00:00
Jakub Jelinek
cbe34bb5ed Update copyright years.
From-SVN: r243994
2017-01-01 13:07:43 +01:00
Aditya Kumar
9a38acdfdc Remove trailing whitespace in C++ headers
2016-08-24  Aditya Kumar  <hiraditya@msn.com>

	* include/bits/algorithmfwd.h: Remove trailing whitespace.
	* include/bits/shared_ptr_base.h: Likewise.

From-SVN: r239731
2016-08-24 09:03:01 +01:00
Jonathan Wakely
4f5f9962c8 Replace references to C++0x with C++11 in comments
* include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
	* include/bits/move.h: Likewise.
	* include/bits/postypes.h: Likewise.
	* include/debug/bitset: Likewise.
	* include/ext/pb_ds/detail/type_utils.hpp: Likewise.
	* include/ext/string_conversions.h: Change C++0x to __cxx11 in
	comment.
	* testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
	* testsuite/util/thread/all.h: Likewise.

From-SVN: r238402
2016-07-15 21:23:08 +01:00
Edward Smith-Rowland
4db1cb44be Implement C++17 P0025 clamp.
2016-07-15  Edward Smith-Rowland  <3dw4rd@verizon.net>

	Implement C++17 P0025 clamp.
	* include/bits/algorithmfwd.h: Declare clamp overloads.
	* include/bits/stl_algo.h: Implement clamp.  Feature __cpp_lib_clamp.
	* testsuite/25_algorithms/clamp/1.cc: New test.
	* testsuite/25_algorithms/clamp/2.cc: New test.
	* testsuite/25_algorithms/clamp/constexpr.cc: New test.
	* testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
	1.cc: New test.
	* testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
	pod.cc: New test.

From-SVN: r238383
2016-07-15 17:16:32 +00:00
Jakub Jelinek
818ab71a41 Update copyright years.
From-SVN: r232055
2016-01-04 15:30:50 +01:00
Ville Voutilainen
ddb63209a8 Add __is_nothrow_swappable and take it into use.
2015-06-04  Ville Voutilainen  <ville.voutilainen@gmail.com>

	Add __is_nothrow_swappable and take it into use.
	* include/bits/algorithmfwd.h (swap): Only declare for C++98 mode.
	* include/bits/move.h (swap): Add constraints in C++11 and later.
	* include/bits/stl_pair.h (swap): Use __is_nothrow_swappable
	for the free swap function for pair.
	* include/bits/stl_queue.h (swap): Use __is_nothrow_swappable
	for the free swap functions for queue and priority_queue.
	* include/bits/stl_stack.h (swap): Use __is_nothrow_swappable
	for the free swap function for stack.
	* include/debug/array (swap): Use __is_nothrow_swappable
	for the free swap function for array.
	* include/profile/array (swap): Likewise.
	* include/std/array (swap): Likewise.
	* include/std/tuple (_Tuple_impl::_M_swap): Use __is_nothrow_swappable.
	* include/std/type_traits (__is_swappable_impl::__is_swappable,
	__is_nothrow_swappable_impl, __is_nothrow_swappable): New.
	* testsuite/20_util/is_nothrow_swappable/requirements/
	explicit_instantiation.cc: New.
	* testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
	New.
	* testsuite/20_util/is_nothrow_swappable/value.cc: New.

From-SVN: r224153
2015-06-05 15:44:26 +01:00
Jonathan Wakely
87839f22d2 re PR libstdc++/58357 (In C++11 std::rotate(first, middle, last) now should return a forward iterator to first + (last - middle).)
PR libstdc++/58357
	* include/bits/algorithmfwd.h (rotate): Move to inline namespace _V2.
	* include/bits/stl_algo.h (__rotate, rotate): Likewise.

From-SVN: r220823
2015-02-19 20:57:40 +00:00
Jonathan Wakely
1d0a12dc55 DR 488 PR libstdc++/58357
DR 488
	PR libstdc++/58357
	* include/bits/algorithmfwd.h (rotate): Return an iterator.
	* include/bits/stl_algo.h (rotate, __rotate): Likewise.
	* testsuite/25_algorithms/rotate/dr488.cc: New.
	* testsuite/25_algorithms/rotate/check_type.cc: Adjust function type.
	* testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
	2.cc: Likewise.
	* testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
	pod.cc: Likewise.

From-SVN: r219793
2015-01-17 03:15:52 +00:00
Jakub Jelinek
5624e564d2 Update copyright years.
From-SVN: r219188
2015-01-05 13:33:28 +01:00
Ville Voutilainen
8dff34fe8e re PR libstdc++/60271 ([DR2369] [C++1y] std::max(initializer_list<T>) cannot use std::max_element)
2014-12-22  Ville Voutilainen  <ville.voutilainen@gmail.com>

	PR libstdc++/60271
	C++14 constexpr min, max, minmax, min_element, max_element
	and minmax_element. Also constexpr for 20.9.5-20.9.9,
	aka various library functors.
	* include/bits/c++config: Add _GLIBCXX14_CONSTEXPR.
	* include/bits/algorithmfwd.h (min, max, minmax, min_element,
	max_element): Use it.
	* include/bits/predefined_ops.h (_Iter_less_iter, __iter_less_iter,
	_Iter_comp_iter, __iter_comp_iter): Likewise.
	* include/bits/stl_algo.h (minmax, __minmax_element, minmax_element,
	min, max, __min_element, min_element, __max_element, max_element)
	Likewise.
	* include/bits/stl_algobase.h (min, max): Likewise.
	* include/bits/stl_function.h (plus, minus, multiplies, divides,
	modulus, negate, equal_to, not_equal_to, greater, less, greater_equal,
	less_equal, logical_and, logical_or, logical_not, bit_and, bit_or,
	bit_xor, bit_not, unary_negate, not1, binary_negate, not2): Likewise.
	* testsuite/20_util/function_objects/constexpr.cc: New.
	* testsuite/25_algorithms/max/constexpr.cc: Likewise.
	* testsuite/25_algorithms/max_element/constexpr.cc: Likewise.
	* testsuite/25_algorithms/min/constexpr.cc: Likewise.
	* testsuite/25_algorithms/min_element/constexpr.cc: Likewise.
	* testsuite/25_algorithms/minmax/constexpr.cc: Likewise.
	* testsuite/25_algorithms/minmax_element/constexpr.cc: Likewise.
	* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error.

From-SVN: r219015
2014-12-22 16:00:16 +00:00
Richard Sandiford
aa118a03c4 Update copyright years in libstdc++-v3/
From-SVN: r206301
2014-01-02 22:30:10 +00:00
Benjamin Kosnik
cd1e666505 memoryfwd.h: New.
* include/bits/memoryfwd.h: New. Centralize forward declarations.
	* include/bits/algorithmfwd.h: Consistent comments.
	* include/bits/localefwd.h: Same.
	* include/ext/vstring_fwd.h: Same.
	* include/parallel/algorithmfwd.h: Same.
	* include/parallel/numericfwd.h: Same.
	* include/std/iosfwd: Same.

	* include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator
	forward decl.
	* include/ext/alloc_traits.h: Remove allocator forward decl.
	* include/bits/stl_construct.h: Same.
	* include/bits/stringfwd.h: Include memoryfwd.h, remove allocator
	forward decl. Consistent comments.

	* doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO.

	* include/Makefile.am (bits_headers): Add memoryfwd.h.
	* include/Makefile.in: Regenerate.
	* configure: Same.

e enter the commit message for your changes. Lines starting

From-SVN: r196559
2013-03-08 21:39:24 +00:00
Richard Sandiford
405feeb871 Update copyright in libstdc++-v3.
From-SVN: r195701
2013-02-03 17:54:05 +00:00
Jason Merrill
734f50238f * many: Replace uses of __GXX_EXPERIMENTAL_CXX0X__ with __cplusplus.
From-SVN: r193392
2012-11-10 12:27:22 -05:00
Jason Merrill
a7d5d7e221 Makefile.am (install-freestanding-headers): Install c++0x_warning.h.
* include/Makefile.am (install-freestanding-headers): Install
	c++0x_warning.h.
	* libsupc++/initializer_list: Include it.

From-SVN: r180727
2011-11-01 00:02:45 -04:00
Paolo Carlini
75f5cbb17b move.h (swap(_Tp(&)[_Nm], _Tp(&)[_Nm])): Remove workaround for c++/49045.
2011-08-28  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/move.h (swap(_Tp(&)[_Nm], _Tp(&)[_Nm])): Remove
	workaround for c++/49045.
	* include/bits/algorithmfwd.h: Likewise.

From-SVN: r178147
2011-08-28 21:05:48 +00:00
Daniel Krugler
ccb4f5a707 move.h (__is_nothrow_swappable): Add.
2011-06-22  Daniel Krugler  <daniel.kruegler@googlemail.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/move.h (__is_nothrow_swappable): Add.
	(swap(_Tp(&)[_Nm], _Tp(&)[_Nm])): Use noexcept.
	* include/bits/algorithmfwd.h: Adjust.
	* testsuite/25_algorithms/swap/noexcept.cc: New.


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

From-SVN: r175277
2011-06-21 23:01:03 +00:00
Paolo Carlini
6f59ea252b hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)): Use std::move on the allocator, use noexcept.
2011-06-01  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)):
	Use std::move on the allocator, use noexcept.
	(_Hashtable<>::~_Hashtable): Use noexcept.
	* include/bits/stl_list.h: Likewise.
	* include/bits/forward_list.h: Likewise.
	* include/bits/stl_vector.h: Likewise.
	* include/bits/stl_bvector.h: Likewise.
	* include/bits/stl_map.h (map<>::map(map&&)): Use noexcept. 
	* include/bits/stl_set.h: Likewise.
	* include/bits/stl_multimap.h: Likewise.
	* include/bits/stl_multiset.h: Likewise.
	* include/bits/stl_tree.h (_Rb_tree<>::_Rb_tree(_Rb_tree&&)): Use
	std::move on the allocator.
	(_Rb_tree<>::~_Rb_tree): Use noexcept.
	* include/bits/stl_deque.h: Likewise.
	* include/bits/basic_string.h (basic_string<>::~basic_string): Use
	noexcept.
	* include/ext/vstring.h (__versa_string<>::~__versa_string): Likewise.
	* include/debug/set.h: Adjust.
	* include/debug/unordered_map: Likewise.
	* include/debug/multiset.h: Likewise.
	* include/debug/forward_list: Likewise.
	* include/debug/vector: Likewise.
	* include/debug/unordered_set: Likewise.
	* include/debug/deque: Likewise.
	* include/debug/map.h: Likewise.
	* include/debug/string: Likewise.
	* include/debug/list: Likewise.
	* include/debug/multimap.h: Likewise.
	* include/profile/set.h: Likewise.
	* include/profile/unordered_map: Likewise.
	* include/profile/multiset.h: Likewise.
	* include/profile/forward_list: 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.
	* testsuite/21_strings/basic_string/cons/wchar_t/
	noexcept_move_construct.cc: New.
	* testsuite/21_strings/basic_string/cons/char/
	noexcept_move_construct.cc: Likewise.
	* testsuite/ext/vstring/cons/noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/unordered_map/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/multimap/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/set/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/unordered_set/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/vector/bool/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/vector/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/multiset/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/list/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/map/cons/noexcept_move_construct.cc
	* 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.
	* testsuite/23_containers/vector/requirements/dr438/
	assign_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* 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.

	* include/bits/move.h (swap): Use __and_ in the noexcept.
	* include/bits/algorithmfwd.h: Adjust.

From-SVN: r174525
2011-06-01 14:16:19 +00:00
Paolo Carlini
173f26ae56 tuple (tuple<>::operator=(tuple&&)): Specify as noexcept.
2011-05-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/tuple (tuple<>::operator=(tuple&&)): Specify as
        noexcept.
	(__get_helper): Likewise.
	(_Head_base<>::_M_head, _Tuple_impl<>::_M_head, _M_tail): Likewise.
	* include/bits/move.h (swap): Likewise.
	* include/bits/algorithmfwd.h (swap): Adjust.
	* include/bits/stl_pair.h (pair<>::operator=(pair&&)): Spec noexcept.
	* testsuite/util/testsuite_allocator.h (uneq_allocator): In C++0x
	mode, prefer delete to access control to make the type not copy
	assignable.
	* testsuite/util/testsuite_tr1.h: Add test classes.
	* testsuite/20_util/tuple/noexcept_swap.cc: New.
	* testsuite/20_util/tuple/noexcept_move_assign.cc: Likewise.
	* testsuite/25_algorithms/reverse/moveable.cc: Likewise, prefer
	delete to access control.
	* testsuite/25_algorithms/swap_ranges/moveable.cc: Likewise.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning
	line numbers.

From-SVN: r173917
2011-05-19 17:20:22 +00:00
Benjamin Kosnik
12ffa22844 PR libstdc++/36104 part four
2011-01-30  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/36104 part four
	* include/bits/c++config (_GLIBCXX_STD): Remove.
	(_GLIBCXX_STD_D, _GLIBCXX_PR): Now _GLIBCXX_STD_C.
	(_GLIBCXX_P): Now _GLIBCXX_STD_A.
	(_GLIBCXX_NAMESPACE_DEBUG, _GLIBCXX_NAMESPACE_PARALLEL,
	 _GLIBCXX_NAMESPACE_PROFILE, _GLIBCXX_NAMESPACE_VERSION): Remove.
	(_GLIBCXX_INLINE_DEBUG, _GLIBCXX_INLINE_PARALLEL,
	 _GLIBCXX_INLINE_PROFILE): Remove.
	(_GLIBCXX_BEGIN_NAMESPACE(X)): Remove.
	(_GLIBCXX_END_NAMESPACE): Remove.
	(_GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y)): Remove.
	(_GLIBCXX_END_NESTED_NAMESPACE): Remove.
	(_GLIBCXX_BEGIN_NAMESPACE_ALGO): Add.
	(_GLIBCXX_END_NAMESPACE_ALGO): Add.
	(_GLIBCXX_BEGIN_NAMESPACE_CONTAINER): Add.
	(_GLIBCXX_END_NAMESPACE_CONTAINER): Add.
	(_GLIBCXX_BEGIN_NAMESPACE_VERSION): Add.
	(_GLIBCXX_END_NAMESPACE_VERSION): Add.
	(_GLIBCXX_BEGIN_LDBL_NAMESPACE): To _GLIBCXX_BEGIN_NAMESPACE_LDBL.
	(_GLIBCXX_END_LDBL_NAMESPACE): To _GLIBCXX_END_NAMESPACE_LDBL.
	(_GLIBCXX_VISIBILITY_ATTR): Revert to _GLIBCXX_VISIBILITY.
	* include/*: Use new macros for namespace scope.
	* config/*: Same.
	* src/*: Same.

	* src/Makefile.am (sources): Remove debug_list.cc, add
	compatibility-debug_list-2.cc.
	(parallel_sources): Remove parallel_list.cc, add
	compatibility-parallel_list-2.cc.
	(compatibility-parallel_list-2.[o,lo]): New rule.
	* src/Makefile.in: Regenerate.
	* src/debug_list.cc: Remove.
	* src/parallel_list.cc: Remove.
	* src/compatibility-list-2.cc: New.
	* src/compatibility-debug_list-2.cc: New.
	* src/compatibility-parallel_list-2.cc: New.

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

	* testsuite/20_util/auto_ptr/assign_neg.cc: Adjust line numbers, macros.
	* testsuite/20_util/declval/requirements/1_neg.cc: Same.
	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Same.
	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same.
	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same.
	* testsuite/20_util/forward/c_neg.cc: Same.
	* testsuite/20_util/forward/f_neg.cc: Same.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same.
	* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Same.
	* testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Same.
	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Same.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/forward_list/capacity/1.cc: Same.
	* testsuite/23_containers/forward_list/requirements/dr438/
	assign_neg.cc: Same.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/forward_list/requirements/dr438/
	insert_neg.cc: Same.
	* testsuite/23_containers/list/capacity/29134.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/vector/bool/capacity/29134.cc: Same.
	* testsuite/23_containers/vector/bool/modifiers/insert/31370.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same.
	* testsuite/25_algorithms/sort/35588.cc: Same.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Same.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
	* testsuite/ext/profile/mutex_extensions_neg.cc: Same.
	* testsuite/ext/profile/profiler_algos.cc: Same.
	* testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Same.
	* testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Same.
	* testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Same.
	* testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Same.
	* testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same.

From-SVN: r169421
2011-01-30 22:39:36 +00:00
Benjamin Kosnik
7c3e9502c3 re PR libstdc++/36104 (gnu-versioned-namespace is broken)
2011-01-14  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/36104
	* include/Makefile.am (bits_sup_headers, stamp-bits-sup): New.
	* include/Makefile.in: Regenerate.
	* libsupc++/Makefile.am (std_HEADERS, bits_HEADERS): New.
	(install-stdHEADERS, install-bitsHEADERS): New.
	* libsupc++/Makefile.in: Regenerate.

	* include/bits/c++config: Update for inline namespaces.
	* libsupc++/cxxabi-forced.h: To...
	* libsupc++/cxxabi_forced.h: ...this.
	* libsupc++/hash_bytes.h: Separate file.
	* libsupc++/typeinfo: Use it.
	* libsupc++/exception: Adjust for bits subdirectory.
	* libsupc++/eh_aux_runtime.cc: Same.
	* libsupc++/eh_ptr.cc: Same.
	* libsupc++/new_op.cc: Same.
	* libsupc++/exception_defines.h: Same.
	* libsupc++/nested_exception.h: Same.
	* libsupc++/eh_terminate.cc: Same.
	* libsupc++/vec.cc: Same.
	* libsupc++/vterminate.cc: Same.
	* libsupc++/exception_ptr.h: Same.
	* libsupc++/eh_personality.cc: Same.
	* libsupc++/eh_call.cc: Same.
	* libsupc++/new_opnt.cc: Same.
	* libsupc++/hash_bytes.cc: Same.
	* config/cpu/arm/cxxabi_tweaks.h: Same.
	* config/cpu/generic/cxxabi_tweaks.h: Same.
	* libsupc++/cxxabi.h: Same. Consolidate _GLIBCXX_NOTHROW defines.
	* include/std/bitset: Same.
	* include/ext/vstring.tcc: Same.
	* include/bits/hashtable.h: Same.
	* include/bits/functional_hash.h: Same.
	* include/bits/hashtable_policy.h: Same.
	* include/bits/basic_string.h: Same.
	* include/bits/istream.tcc: Same.
	* include/bits/ostream.tcc: Same.
	* include/bits/algorithmfwd.h: Same.
	* include/bits/basic_string.tcc: Same.
	* include/bits/ostream_insert.h: Same.
	* include/bits/fstream.tcc: Same.
	* include/bits/functexcept.h: Same.

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

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

From-SVN: r168831
2011-01-15 00:27:10 +00:00
Paolo Carlini
632469d01e [multiple changes]
2011-01-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/25_algorithms/is_permutation/check_type.cc: New.
	* testsuite/25_algorithms/is_permutation/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/25_algorithms/is_permutation/requirements/
	explicit_instantiation/pod.cc: Likewise.
	* testsuite/25_algorithms/is_permutation/1.cc: Likewise.

2011-01-13  John Lakos  <jlakos@bloomberg.net>
	    Pablo Halpern  <phalpern@halpernwightsoftware.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algo.h (is_permutation): Add, per N3068.
	* include/bits/algorithmfwd.h: Add.

From-SVN: r168773
2011-01-14 01:21:51 +00:00
Benjamin Kosnik
f910786b98 *: Use headername alias to associate private includes to public includes.
2010-11-18  Benjamin Kosnik  <bkoz@redhat.com>

	* config/*/*: Use headername alias to associate private includes
	to public includes.
	* include/*/*: Same.

	* scripts/run_doxygen: Update for doxygen 1.7.2.
	* doc/doxygen/user.cfg.in: Same.
	* doc/doxygen/TODO: Remove.

	* testsuite/*/std_c++0x_neg.cc: Adjust line number.

From-SVN: r168046
2010-12-19 09:21:16 +00:00
Paolo Carlini
633e8e192b stl_algo.h (shuffle): Change signature consistently with random_shuffle (US 121).
2010-08-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algo.h (shuffle): Change signature consistently
	with random_shuffle (US 121).
	* 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: r163102
2010-08-11 17:10:04 +00:00
Benjamin Kosnik
5ab3a5af25 stl_heap.h: Update markup.
2010-07-08  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/stl_heap.h: Update markup.
	* include/bits/move.h: Same.
	* include/bits/algorithmfwd.h: Same.
	* include/bits/regex.h: Same.
	* include/bits/random.h: Same.
	* doc/doxygen/doxygroups.cc: Same.
	* doc/doxygen/user.cfg.in: Remove include/tr1_impl/regex from
	input file list.
	* doc/Makefile.am (doc-pdf-doxygen): Add comment, put generated
	pdf in location consistent with docbook pdf generation.
	* doc/Makefile.in: Regenerate.

From-SVN: r161970
2010-07-08 17:48:12 +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
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
Jakub Jelinek
748086b7b2 Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.
From-SVN: r145841
2009-04-09 17:00:19 +02:00
Benjamin Kosnik
5b9daa7e60 user.cfg.in: Tweaks.
2009-02-20  Benjamin Kosnik  <bkoz@redhat.com>

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

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

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

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

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

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

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

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

	* include/std/memory: Add memory module.

	* include/std/ratio: Add ratio module.

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

From-SVN: r140404
2008-09-16 23:17:09 +00:00
Paolo Carlini
b03717765d stl_algo.h (copy_n): Add in C++0x mode.
2008-06-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algo.h (copy_n): Add in C++0x mode.
	* include/bits/algorithmfwd.h: Add.
	* include/bits/stl_uninitialized.h (uninitialized_copy_n): Add
	in C++0x mode.
	* testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
	move_iterators/1.cc: New
	* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Update.
	* testsuite/25_algorithms/copy_n/1.cc: New.
	* testsuite/25_algorithms/copy_n/2.cc: Likewise.
	* testsuite/25_algorithms/copy_n/3.cc: Likewise.
	* testsuite/25_algorithms/copy_n/4.cc: Likewise.
	* testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise.
	* testsuite/25_algorithms/copy_n/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/25_algorithms/partition_point/requirements/
	explicit_instantiation/pod.cc: Likewise.

From-SVN: r137251
2008-06-29 11:08:26 +00:00
Paolo Carlini
d9be9bb3c6 stl_algo.h (partition_point): Add in C++0x mode.
2008-06-28  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algo.h (partition_point): Add in C++0x mode.
	* include/bits/algorithmfwd.h: Add.
	* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Update.
	* testsuite/25_algorithms/partition_point/1.cc: New.
	* testsuite/25_algorithms/partition_point/check_type.cc: Likewise.
	* testsuite/25_algorithms/partition_point/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/25_algorithms/partition_point/requirements/
	explicit_instantiation/pod.cc: Likewise.

From-SVN: r137237
2008-06-28 22:39:59 +00:00
Paolo Carlini
04dbd89190 stl_algo.h (is_partitioned): Add in C++0x mode.
2008-06-27  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algo.h (is_partitioned): Add in C++0x mode.
	* include/bits/algorithmfwd.h: Add.
	* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Update.
	* testsuite/25_algorithms/is_partitioned/1.cc: New.
	* testsuite/25_algorithms/is_partitioned/check_type.cc: Likewise.
	* testsuite/25_algorithms/is_partitioned/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/25_algorithms/is_partitioned/requirements/
	explicit_instantiation/pod.cc: Likewise.

From-SVN: r137196
2008-06-27 17:42:18 +00:00
Paolo Carlini
688a7a07d7 stl_algo.h (partition_copy): Add in C++0x mode.
2008-06-26  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algo.h (partition_copy): Add in C++0x mode.
	* include/bits/algorithmfwd.h: Add.
	* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Update.
	* testsuite/25_algorithms/partition_copy/1.cc: New.
	* testsuite/25_algorithms/partition_copy/check_type.cc: Likewise.
	* testsuite/25_algorithms/partition_copy/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/25_algorithms/partition_copy/requirements/
	explicit_instantiation/pod.cc: Likewise.

From-SVN: r137152
2008-06-26 17:55:23 +00:00
Paolo Carlini
76cc1b7060 stl_algo.h (__find_if_not, [...]): Add in C++0x, per N2666.
2008-06-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algo.h (__find_if_not, find_if_not, all_of,
	any_of, none_of): Add in C++0x, per N2666.
	* include/bits/algorithmfwd.h: Update.
	* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
	* testsuite/25_algorithms/all_of/check_type.cc: New.
	* testsuite/25_algorithms/all_of/1.cc: Likewise.
	* testsuite/25_algorithms/all_of/requirements/explicit_instantiation/
	2.cc: Likewise.
	* testsuite/25_algorithms/all_of/requirements/explicit_instantiation/
	pod.cc: Likewise.
	* testsuite/25_algorithms/any_of/check_type.cc: Likewise.
	* testsuite/25_algorithms/any_of/1.cc: Likewise.
	* testsuite/25_algorithms/any_of/requirements/explicit_instantiation/
	2.cc: Likewise.
	* testsuite/25_algorithms/any_of/requirements/explicit_instantiation/
	pod.cc: Likewise.
	* testsuite/25_algorithms/none_of/check_type.cc: Likewise.
	* testsuite/25_algorithms/none_of/1.cc: Likewise.
	* testsuite/25_algorithms/none_of/requirements/explicit_instantiation/
	2.cc: Likewise.
	* testsuite/25_algorithms/none_of/requirements/explicit_instantiation/
	pod.cc: Likewise.
	* testsuite/25_algorithms/find_if_not/check_type.cc: Likewise.
	* testsuite/25_algorithms/find_if_not/1.cc: Likewise.
	* testsuite/25_algorithms/find_if_not/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/25_algorithms/find_if_not/requirements/
	explicit_instantiation/pod.cc: Likewise.
	* testsuite/25_algorithms/copy_if/check_type.cc: Likewise.
	* testsuite/25_algorithms/remove_copy_if/check_type.cc: Likewise.
	* testsuite/25_algorithms/find_if/1.cc: Minor tweaks.

From-SVN: r137118
2008-06-25 16:39:15 +00:00
Paolo Carlini
caa8b3c687 move.h (swap(_Tp (&)[_Nm], _Tp (&)[_Nm])): Add, per DR 809.
2008-06-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/move.h (swap(_Tp (&)[_Nm], _Tp (&)[_Nm])): Add,
	per DR 809.
	* include/bits/algorithmfwd.h: Add.
	* doc/xml/manual/intro.xml: Add an entry for DR 809.
	* testsuite/25_algorithms/swap/dr809.cc: New.

	* testsuite/25_algorithms/swap/requirements/explicit_instantiation/
	2.cc: Remove stray empty line.

From-SVN: r137012
2008-06-22 13:57:06 +00:00
Ralf Wildenhues
28dac70a08 auto_ptr.h: Fix comment typos.
2008-01-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
    
	* include/backward/auto_ptr.h: Fix comment typos.
	* include/bits/algorithmfwd.h: Likewise.
	* include/bits/basic_ios.h: Likewise.
	* include/bits/c++config: Likewise.
	* include/bits/char_traits.h: Likewise.
	* include/bits/codecvt.h: Likewise.
	* include/bits/gslice.h: Likewise.
	* include/bits/ios_base.h: Likewise.
	* include/bits/locale_facets.h: Likewise.
	* include/bits/locale_facets_nonio.tcc: Likewise.
	* include/bits/postypes.h: Likewise.
	* include/bits/sstream.tcc: Likewise.
	* include/bits/stl_algo.h: Likewise.
	* include/bits/stl_deque.h: Likewise.
	* include/bits/stl_iterator.h: Likewise.
	* include/bits/stl_iterator_base_types.h Likewise.
	* include/bits/stl_list.h: Likewise.
	* include/bits/stl_map.h: Likewise.
	* include/bits/stl_multimap.h: Likewise.
	* include/bits/stl_multiset.h: Likewise.
	* include/bits/stl_set.h: Likewise.
	* include/bits/stl_vector.h: Likewise.
	* include/bits/valarray_array.h: Likewise.
	* include/debug/safe_base.h: Likewise.
	* include/ext/bitmap_allocator.h: Likewise.
	* include/ext/codecvt_specializations.h Likewise.
	* include/ext/mt_allocator.h: Likewise.
	* include/ext/rc_string_base.h: Likewise.
	* include/ext/rope: Likewise.
	* include/parallel/checkers.h: Likewise.
	* include/parallel/find.h: Likewise.
	* include/parallel/multiseq_selection.h: Likewise.
	* include/parallel/partition.h: Likewise.
	* include/parallel/settings.h: Likewise.
	* include/std/bitset: Likewise.
	* include/std/complex: Likewise.
	* include/std/fstream: Likewise.
	* include/std/istream: Likewise.
	* include/std/limits: Likewise.
	* include/std/ostream: Likewise.
	* include/std/stdexcept: Likewise.
	* include/std/streambuf: Likewise.
	* include/tr1/bessel_function.tcc: Likewise.
	* include/tr1/cmath: Likewise.
	* include/tr1/ell_integral.tcc: Likewise.
	* include/tr1/hypergeometric.tcc: Likewise.
	* include/tr1/legendre_function.tcc: Likewise.
	* include/tr1_impl/random: Likewise.
	* include/tr1_impl/regex: Likewise.

From-SVN: r131982
2008-01-31 18:44:55 +00:00
Paolo Carlini
4f39bf5c6b re PR libstdc++/34105 (Confusing error message with missing #include <algorithm>)
2007-11-15  Paolo Carlini  <pcarlini@suse.de>

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

From-SVN: r130207
2007-11-15 19:05:17 +00:00
Paolo Carlini
f6547b6818 stl_algo.h (minmax, [...]): Add.
2007-11-02  Paolo Carlini  <pcarlini@suse.de>

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

From-SVN: r129853
2007-11-02 15:55:32 +00:00
Paolo Carlini
4b7ed13a8f stl_algo.h (is_sorted, [...]): Add.
2007-10-14  Paolo Carlini  <pcarlini@suse.de>

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

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

From-SVN: r129303
2007-10-14 21:17:23 +00:00