21 commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
![]() |
a945c346f5 | Update copyright years. | ||
![]() |
7dbb691309 |
libstdc++: Remove dg-options "-std=gnu++2a" from constrained algo tests
The testsuite will automatically select C++20 for these tests now, and removing the hardcoded -std option allows them to be tested for C++23 and C++26 as well. libstdc++-v3/ChangeLog: * testsuite/20_util/function_objects/range.cmp/equal_to.cc: Remove dg-options. * testsuite/20_util/function_objects/range.cmp/greater.cc: Likewise. * testsuite/20_util/function_objects/range.cmp/greater_equal.cc: Likewise. * testsuite/20_util/function_objects/range.cmp/less.cc: Likewise. * testsuite/20_util/function_objects/range.cmp/less_equal.cc: Likewise. * testsuite/20_util/function_objects/range.cmp/lwg3530.cc: Likewise. * testsuite/20_util/function_objects/range.cmp/not_equal_to.cc: Likewise. * testsuite/20_util/specialized_algorithms/construct_at/1.cc: Likewise. * testsuite/20_util/specialized_algorithms/construct_at/92878_92947.cc: Likewise. * testsuite/20_util/specialized_algorithms/construct_at/95788.cc: Likewise. * testsuite/20_util/specialized_algorithms/destroy/constrained.cc: Likewise. * testsuite/20_util/specialized_algorithms/uninitialized_copy/constrained.cc: Likewise. * testsuite/20_util/specialized_algorithms/uninitialized_default_construct/constrained.cc: Likewise. * testsuite/20_util/specialized_algorithms/uninitialized_fill/94017.cc: Likewise. * testsuite/20_util/specialized_algorithms/uninitialized_fill/constrained.cc: Likewise. * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/94017.cc: Likewise. * testsuite/20_util/specialized_algorithms/uninitialized_move/constrained.cc: Likewise. * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/constrained.cc: Likewise. * testsuite/25_algorithms/adjacent_find/constexpr.cc: Likewise. * testsuite/25_algorithms/adjacent_find/constrained.cc: Likewise. * testsuite/25_algorithms/all_of/constexpr.cc: Likewise. * testsuite/25_algorithms/all_of/constrained.cc: Likewise. * testsuite/25_algorithms/any_of/constexpr.cc: Likewise. * testsuite/25_algorithms/any_of/constrained.cc: Likewise. * testsuite/25_algorithms/binary_search/constexpr.cc: Likewise. * testsuite/25_algorithms/binary_search/constrained.cc: Likewise. * testsuite/25_algorithms/clamp/constrained.cc: Likewise. * testsuite/25_algorithms/constexpr_macro.cc: Likewise. * testsuite/25_algorithms/copy/95578.cc: Likewise. * testsuite/25_algorithms/copy/constexpr.cc: Likewise. * testsuite/25_algorithms/copy/constrained.cc: Likewise. * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Likewise. * testsuite/25_algorithms/copy_backward/95578.cc: Likewise. * testsuite/25_algorithms/copy_backward/constexpr.cc: Likewise. * testsuite/25_algorithms/copy_backward/constrained.cc: Likewise. * testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc: Likewise. * testsuite/25_algorithms/copy_if/constexpr.cc: Likewise. * testsuite/25_algorithms/copy_if/constrained.cc: Likewise. * testsuite/25_algorithms/copy_n/constexpr.cc: Likewise. * testsuite/25_algorithms/copy_n/constrained.cc: Likewise. * testsuite/25_algorithms/count/constexpr.cc: Likewise. * testsuite/25_algorithms/count/constrained.cc: Likewise. * testsuite/25_algorithms/count_if/constexpr.cc: Likewise. * testsuite/25_algorithms/count_if/constrained.cc: Likewise. * testsuite/25_algorithms/cpp_lib_constexpr.cc: Likewise. * testsuite/25_algorithms/equal/95578.cc: Likewise. * testsuite/25_algorithms/equal/constexpr.cc: Likewise. * testsuite/25_algorithms/equal/constexpr_neg.cc: Likewise. * testsuite/25_algorithms/equal/constrained.cc: Likewise. * testsuite/25_algorithms/equal/debug/constexpr_neg.cc: Likewise. * testsuite/25_algorithms/equal_range/constexpr.cc: Likewise. * testsuite/25_algorithms/equal_range/constrained.cc: Likewise. * testsuite/25_algorithms/fill/94017.cc: Likewise. * testsuite/25_algorithms/fill/constexpr.cc: Likewise. * testsuite/25_algorithms/fill/constrained.cc: Likewise. * testsuite/25_algorithms/fill_n/94017.cc: Likewise. * testsuite/25_algorithms/fill_n/constexpr.cc: Likewise. * testsuite/25_algorithms/fill_n/constrained.cc: Likewise. * testsuite/25_algorithms/find/constexpr.cc: Likewise. * testsuite/25_algorithms/find/constrained.cc: Likewise. * testsuite/25_algorithms/find_end/constexpr.cc: Likewise. * testsuite/25_algorithms/find_end/constrained.cc: Likewise. * testsuite/25_algorithms/find_first_of/constexpr.cc: Likewise. * testsuite/25_algorithms/find_first_of/constrained.cc: Likewise. * testsuite/25_algorithms/find_if/constexpr.cc: Likewise. * testsuite/25_algorithms/find_if/constrained.cc: Likewise. * testsuite/25_algorithms/find_if_not/constexpr.cc: Likewise. * testsuite/25_algorithms/find_if_not/constrained.cc: Likewise. * testsuite/25_algorithms/for_each/constexpr.cc: Likewise. * testsuite/25_algorithms/for_each/constrained.cc: Likewise. * testsuite/25_algorithms/generate/constexpr.cc: Likewise. * testsuite/25_algorithms/generate/constrained.cc: Likewise. * testsuite/25_algorithms/generate_n/constexpr.cc: Likewise. * testsuite/25_algorithms/generate_n/constrained.cc: Likewise. * testsuite/25_algorithms/heap/constrained.cc: Likewise. * testsuite/25_algorithms/includes/constrained.cc: Likewise. * testsuite/25_algorithms/inplace_merge/constrained.cc: Likewise. * testsuite/25_algorithms/is_heap/constexpr.cc: Likewise. * testsuite/25_algorithms/is_heap_until/constexpr.cc: Likewise. * testsuite/25_algorithms/is_partitioned/constexpr.cc: Likewise. * testsuite/25_algorithms/is_partitioned/constrained.cc: Likewise. * testsuite/25_algorithms/is_permutation/constexpr.cc: Likewise. * testsuite/25_algorithms/is_permutation/constrained.cc: Likewise. * testsuite/25_algorithms/is_sorted/constexpr.cc: Likewise. * testsuite/25_algorithms/is_sorted/constrained.cc: Likewise. * testsuite/25_algorithms/is_sorted_until/constexpr.cc: Likewise. * testsuite/25_algorithms/is_sorted_until/constrained.cc: Likewise. * testsuite/25_algorithms/iter_swap/constexpr.cc: Likewise. * testsuite/25_algorithms/lexicographical_compare/93972.cc: Likewise. * testsuite/25_algorithms/lexicographical_compare/95578.cc: Likewise. * testsuite/25_algorithms/lexicographical_compare/constexpr.cc: Likewise. * testsuite/25_algorithms/lexicographical_compare/constrained.cc: Likewise. * testsuite/25_algorithms/lexicographical_compare_three_way/1.cc: Likewise. * testsuite/25_algorithms/lexicographical_compare_three_way/constexpr.cc: Likewise. * testsuite/25_algorithms/lower_bound/constexpr.cc: Likewise. * testsuite/25_algorithms/lower_bound/constrained.cc: Likewise. * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_neg.cc: Likewise. * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_pred_neg.cc: Likewise. * testsuite/25_algorithms/lower_bound/debug/constexpr_valid_range_neg.cc: Likewise. * testsuite/25_algorithms/make_heap/constexpr.cc: Likewise. * testsuite/25_algorithms/max/constrained.cc: Likewise. * testsuite/25_algorithms/max_element/constrained.cc: Likewise. * testsuite/25_algorithms/merge/constexpr.cc: Likewise. * testsuite/25_algorithms/merge/constrained.cc: Likewise. * testsuite/25_algorithms/min/constrained.cc: Likewise. * testsuite/25_algorithms/min_element/constrained.cc: Likewise. * testsuite/25_algorithms/minmax/constrained.cc: Likewise. * testsuite/25_algorithms/minmax_element/constrained.cc: Likewise. * testsuite/25_algorithms/mismatch/constexpr.cc: Likewise. * testsuite/25_algorithms/mismatch/constrained.cc: Likewise. * testsuite/25_algorithms/move/93872.cc: Likewise. * testsuite/25_algorithms/move/95578.cc: Likewise. * testsuite/25_algorithms/move/constexpr.cc: Likewise. * testsuite/25_algorithms/move/constrained.cc: Likewise. * testsuite/25_algorithms/move_backward/93872.cc: Likewise. * testsuite/25_algorithms/move_backward/95578.cc: Likewise. * testsuite/25_algorithms/move_backward/constrained.cc: Likewise. * testsuite/25_algorithms/next_permutation/constexpr.cc: Likewise. * testsuite/25_algorithms/next_permutation/constrained.cc: Likewise. * testsuite/25_algorithms/none_of/constexpr.cc: Likewise. * testsuite/25_algorithms/none_of/constrained.cc: Likewise. * testsuite/25_algorithms/nth_element/constexpr.cc: Likewise. * testsuite/25_algorithms/nth_element/constrained.cc: Likewise. * testsuite/25_algorithms/partial_sort/constexpr.cc: Likewise. * testsuite/25_algorithms/partial_sort/constrained.cc: Likewise. * testsuite/25_algorithms/partial_sort_copy/constexpr.cc: Likewise. * testsuite/25_algorithms/partial_sort_copy/constrained.cc: Likewise. * testsuite/25_algorithms/partition/constexpr.cc: Likewise. * testsuite/25_algorithms/partition/constrained.cc: Likewise. * testsuite/25_algorithms/partition_copy/constexpr.cc: Likewise. * testsuite/25_algorithms/partition_copy/constrained.cc: Likewise. * testsuite/25_algorithms/partition_point/constexpr.cc: Likewise. * testsuite/25_algorithms/partition_point/constrained.cc: Likewise. * testsuite/25_algorithms/pop_heap/constexpr.cc: Likewise. * testsuite/25_algorithms/prev_permutation/constexpr.cc: Likewise. * testsuite/25_algorithms/prev_permutation/constrained.cc: Likewise. * testsuite/25_algorithms/push_heap/constexpr.cc: Likewise. * testsuite/25_algorithms/remove/constexpr.cc: Likewise. * testsuite/25_algorithms/remove/constrained.cc: Likewise. * testsuite/25_algorithms/remove_copy/constexpr.cc: Likewise. * testsuite/25_algorithms/remove_copy/constrained.cc: Likewise. * testsuite/25_algorithms/remove_copy_if/constexpr.cc: Likewise. * testsuite/25_algorithms/remove_copy_if/constrained.cc: Likewise. * testsuite/25_algorithms/remove_if/constexpr.cc: Likewise. * testsuite/25_algorithms/remove_if/constrained.cc: Likewise. * testsuite/25_algorithms/replace/constrained.cc: Likewise. * testsuite/25_algorithms/replace_copy/constexpr.cc: Likewise. * testsuite/25_algorithms/replace_copy/constrained.cc: Likewise. * testsuite/25_algorithms/replace_copy_if/constexpr.cc: Likewise. * testsuite/25_algorithms/replace_copy_if/constrained.cc: Likewise. * testsuite/25_algorithms/replace_if/constexpr.cc: Likewise. * testsuite/25_algorithms/replace_if/constrained.cc: Likewise. * testsuite/25_algorithms/reverse/constexpr.cc: Likewise. * testsuite/25_algorithms/reverse/constrained.cc: Likewise. * testsuite/25_algorithms/reverse_copy/constexpr.cc: Likewise. * testsuite/25_algorithms/reverse_copy/constrained.cc: Likewise. * testsuite/25_algorithms/rotate/constexpr.cc: Likewise. * testsuite/25_algorithms/rotate/constrained.cc: Likewise. * testsuite/25_algorithms/rotate_copy/constexpr.cc: Likewise. * testsuite/25_algorithms/rotate_copy/constrained.cc: Likewise. * testsuite/25_algorithms/sample/constrained.cc: Likewise. * testsuite/25_algorithms/search/constexpr.cc: Likewise. * testsuite/25_algorithms/search/constrained.cc: Likewise. * testsuite/25_algorithms/search_n/97828.cc: Likewise. * testsuite/25_algorithms/search_n/constexpr.cc: Likewise. * testsuite/25_algorithms/search_n/constrained.cc: Likewise. * testsuite/25_algorithms/set_difference/constexpr.cc: Likewise. * testsuite/25_algorithms/set_difference/constrained.cc: Likewise. * testsuite/25_algorithms/set_intersection/constexpr.cc: Likewise. * testsuite/25_algorithms/set_intersection/constrained.cc: Likewise. * testsuite/25_algorithms/set_symmetric_difference/constexpr.cc: Likewise. * testsuite/25_algorithms/set_symmetric_difference/constrained.cc: Likewise. * testsuite/25_algorithms/set_union/constexpr.cc: Likewise. * testsuite/25_algorithms/set_union/constrained.cc: Likewise. * testsuite/25_algorithms/shift_left/1.cc: Likewise. * testsuite/25_algorithms/shift_right/1.cc: Likewise. * testsuite/25_algorithms/shuffle/constrained.cc: Likewise. * testsuite/25_algorithms/sort/constexpr.cc: Likewise. * testsuite/25_algorithms/sort/constrained.cc: Likewise. * testsuite/25_algorithms/sort_heap/constexpr.cc: Likewise. * testsuite/25_algorithms/stable_partition/constrained.cc: Likewise. * testsuite/25_algorithms/stable_sort/constrained.cc: Likewise. * testsuite/25_algorithms/swap/constexpr.cc: Likewise. * testsuite/25_algorithms/swap_ranges/constexpr.cc: Likewise. * testsuite/25_algorithms/swap_ranges/constrained.cc: Likewise. * testsuite/25_algorithms/transform/constexpr.cc: Likewise. * testsuite/25_algorithms/transform/constrained.cc: Likewise. * testsuite/25_algorithms/unique/constexpr.cc: Likewise. * testsuite/25_algorithms/unique/constrained.cc: Likewise. * testsuite/25_algorithms/unique_copy/constexpr.cc: Likewise. * testsuite/25_algorithms/unique_copy/constrained.cc: Likewise. * testsuite/25_algorithms/upper_bound/constexpr.cc: Likewise. * testsuite/25_algorithms/upper_bound/constrained.cc: Likewise. * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_neg.cc: Likewise. * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_pred_neg.cc: Likewise. * testsuite/25_algorithms/upper_bound/debug/constexpr_valid_range_neg.cc: Likewise. |
||
![]() |
83ffe9cde7 | Update copyright years. | ||
![]() |
ac73c944ea |
libstdc++: Reduce header dependencies from PSTL headers [PR92546]
This avoids including the whole of <functional> in <algorithm>, as the <pstl/glue_algorithm_defs.h> header only actually needs std::pair. This also avoids including <iterator> in <pstl/utils.h>, which only needs <type_traits>, std::bad_alloc, and std::terminate (which can be repalced with std::__terminate). This matters less, because <pstl/utils.h> is only included by the <pstl/*_impl.h> headers and they all use <iterator> anyway, and are only included by <execution>. libstdc++-v3/ChangeLog: PR libstdc++/92546 * include/pstl/glue_algorithm_defs.h: Replace <functional> with <bits/stl_pair.h>. * include/pstl/utils.h: Replace <iterator> with <type_traits>. (__pstl::__internal::__except_handler): Use std::__terminate instead of std::terminate. * src/c++17/fs_path.cc: Include <array>. * testsuite/25_algorithms/adjacent_find/constexpr.cc: Include <functional>. * testsuite/25_algorithms/binary_search/constexpr.cc: Likewise. * testsuite/25_algorithms/clamp/constrained.cc: Likewise. * testsuite/25_algorithms/equal/constrained.cc: Likewise. * testsuite/25_algorithms/for_each/constrained.cc: Likewise. * testsuite/25_algorithms/includes/constrained.cc: Likewise. * testsuite/25_algorithms/is_heap/constexpr.cc: Likewise. * testsuite/25_algorithms/is_heap_until/constexpr.cc: Likewise. * testsuite/25_algorithms/is_permutation/constrained.cc: Include <iterator>. * testsuite/25_algorithms/is_sorted/constexpr.cc: Include <functional>. * testsuite/25_algorithms/is_sorted_until/constexpr.cc: Likewise. * testsuite/25_algorithms/lexicographical_compare/constexpr.cc: Likewise. * testsuite/25_algorithms/lexicographical_compare/constrained.cc: Likewise. * testsuite/25_algorithms/lexicographical_compare_three_way/1.cc: Include <array>. * testsuite/25_algorithms/lower_bound/constexpr.cc: Include <functional>. * testsuite/25_algorithms/max/constrained.cc: Likewise. * testsuite/25_algorithms/max_element/constrained.cc: Likewise. * testsuite/25_algorithms/min/constrained.cc: Likewise. * testsuite/25_algorithms/min_element/constrained.cc: Likewise. * testsuite/25_algorithms/minmax_element/constrained.cc: Likewise. * testsuite/25_algorithms/mismatch/constexpr.cc: Likewise. * testsuite/25_algorithms/move/93872.cc: Likewise. * testsuite/25_algorithms/move_backward/93872.cc: Include <iterator>. * testsuite/25_algorithms/nth_element/constexpr.cc: Include <functional>. * testsuite/25_algorithms/partial_sort/constexpr.cc: Likewise. * testsuite/25_algorithms/partial_sort_copy/constexpr.cc: Likewise. * testsuite/25_algorithms/search/constexpr.cc: Likewise. * testsuite/25_algorithms/search_n/constrained.cc: Likewise. * testsuite/25_algorithms/set_difference/constexpr.cc: Likewise. * testsuite/25_algorithms/set_difference/constrained.cc: Likewise. * testsuite/25_algorithms/set_intersection/constexpr.cc: Likewise. * testsuite/25_algorithms/set_intersection/constrained.cc: Likewise. * testsuite/25_algorithms/set_symmetric_difference/constexpr.cc: Likewise. * testsuite/25_algorithms/set_union/constexpr.cc: Likewise. * testsuite/25_algorithms/set_union/constrained.cc: Likewise. * testsuite/25_algorithms/sort/constexpr.cc: Likewise. * testsuite/25_algorithms/sort_heap/constexpr.cc: Likewise. * testsuite/25_algorithms/transform/constrained.cc: Likewise. * testsuite/25_algorithms/unique/constexpr.cc: Likewise. * testsuite/25_algorithms/unique/constrained.cc: Likewise. * testsuite/25_algorithms/unique_copy/constexpr.cc: Likewise. * testsuite/25_algorithms/upper_bound/constexpr.cc: Likewise. * testsuite/std/ranges/adaptors/elements.cc: Include <vector>. * testsuite/std/ranges/adaptors/lazy_split.cc: Likewise. * testsuite/std/ranges/adaptors/split.cc: Likewise. |
||
![]() |
de196e5dd8 |
libstdc++: Add attribute to features deprecated in C++17 [PR91260]
There are a lot of things in the C++ standard library which were deprecated in C++11, and more in C++17. Some of them were removed after deprecation and are no longer present in the standard at all. We have not removed these from libstdc++ because keeping them as non-standard extensions is conforming, and avoids gratuitously breaking user code, and in some cases we need to keep using them to avoid ABI changes. But we should at least give a warning for using them. That has not been done previously because of the library's own uses of them (e.g. the std::iterator class template used as a base class). This adds deprecated attributes to the relevant components, and then goes through the whole library to add diagnostic pragmas where needed to suppress warnings about our internal uses of them. The tests are updated to either expect the additional warnings, or to suppress them where we aren't interested in them. libstdc++-v3/ChangeLog: PR libstdc++/91260 PR libstdc++/91383 PR libstdc++/95065 * include/backward/binders.h (bind1st, bind2nd): Add deprecated attribute. * include/bits/refwrap.h (_Maybe_unary_or_binary_function): Disable deprecated warnings for base classes. (_Reference_wrapper_base): Likewise. * include/bits/shared_ptr_base.h (_Sp_owner_less): Likewise. * include/bits/stl_bvector.h (_Bit_iterator_base): Likewise. * include/bits/stl_function.h (unary_function, binary_function): Add deprecated attribute. (unary_negate, not1, binary_negate, not2, ptr_fun) (pointer_to_unary_function, pointer_to_binary_function) (mem_fun_t, const_mem_fun_t, mem_fun_ref_t, const_mem_fun_ref_t) (mem_fun1_t, const_mem_fun1_t, mem_fun_ref1_t) (const_mem_fun1_ref_t, mem_fun, mem_fun_ref): Add deprecated attributes. * include/bits/stl_iterator.h: Disable deprecated warnings for std::iterator base classes. * include/bits/stl_iterator_base_types.h (iterator): Add deprecated attribute. * include/bits/stl_map.h (map::value_compare): Disable deprecated warnings for base class. * include/bits/stl_multimap.h (multimap::value_compare): Likewise. * include/bits/stl_raw_storage_iter.h (raw_storage_iterator): Add deprecated attribute. * include/bits/stl_tempbuf.h (get_temporary_buffer): Likewise. * include/bits/stream_iterator.h: Disable deprecated warnings. * include/bits/streambuf_iterator.h: Likewise. * include/ext/bitmap_allocator.h: Remove unary_function base classes. * include/ext/functional: Disable deprecated warnings. * include/ext/rope: Likewise. * include/ext/throw_allocator.h: Likewise. * include/std/type_traits (result_of): Add deprecated attribute. * include/tr1/functional: Disable deprecated warnings. * include/tr1/functional_hash.h: Likewise. * testsuite/20_util/function_objects/binders/1.cc: Add -Wno-disable-deprecations. * testsuite/20_util/function_objects/binders/3113.cc: Likewise. * testsuite/20_util/function_objects/constexpr.cc: Add dg-warning. * testsuite/20_util/raw_storage_iterator/base.cc: Likewise. * testsuite/20_util/raw_storage_iterator/dr2127.cc: Likewise. * testsuite/20_util/raw_storage_iterator/requirements/base_classes.cc: Likewise. * testsuite/20_util/raw_storage_iterator/requirements/explicit_instantiation/1.cc: Likewise. * testsuite/20_util/raw_storage_iterator/requirements/typedefs.cc: Likewise. * testsuite/20_util/reference_wrapper/24803.cc: Likewise. * testsuite/20_util/reference_wrapper/typedefs.cc: Enable for C++20 and check for absence of nested types. * testsuite/20_util/shared_ptr/comparison/less.cc: Remove std::binary_function base class. * testsuite/20_util/temporary_buffer.cc: Add dg-warning. * testsuite/21_strings/basic_string/cons/char/69092.cc: Remove std::iterator base class. * testsuite/24_iterators/back_insert_iterator/requirements/base_classes.cc: Likewise. * testsuite/24_iterators/front_insert_iterator/requirements/base_classes.cc: Likewise. * testsuite/24_iterators/insert_iterator/requirements/base_classes.cc: Likewise. * testsuite/24_iterators/istream_iterator/requirements/base_classes.cc: Likewise. * testsuite/24_iterators/istreambuf_iterator/92285.cc: Likewise. * testsuite/24_iterators/istreambuf_iterator/requirements/base_classes.cc: Likewise. * testsuite/24_iterators/ostream_iterator/requirements/base_classes.cc: Likewise. * testsuite/24_iterators/ostreambuf_iterator/requirements/base_classes.cc: Likewise. * testsuite/24_iterators/reverse_iterator/requirements/base_classes.cc: Likewise. * testsuite/25_algorithms/copy/34595.cc: Likewise. * testsuite/25_algorithms/minmax/3.cc: Remove std::binary_function base class. * testsuite/25_algorithms/all_of/requirements/explicit_instantiation/2.cc: Disable deprecated warnings. * testsuite/25_algorithms/all_of/requirements/explicit_instantiation/pod.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/copy_if/requirements/explicit_instantiation/2.cc: Likewise. * testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/pod.cc: Likewise. * testsuite/25_algorithms/count_if/requirements/explicit_instantiation/2.cc: Likewise. * testsuite/25_algorithms/count_if/requirements/explicit_instantiation/pod.cc: Likewise. * testsuite/25_algorithms/find_end/requirements/explicit_instantiation/2.cc: Likewise. * testsuite/25_algorithms/find_end/requirements/explicit_instantiation/pod.cc: Likewise. * testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/2.cc: Likewise. * testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/pod.cc: Likewise. * testsuite/25_algorithms/find_if/requirements/explicit_instantiation/2.cc: Likewise. * testsuite/25_algorithms/find_if/requirements/explicit_instantiation/pod.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/for_each/requirements/explicit_instantiation/2.cc: Likewise. * testsuite/25_algorithms/for_each/requirements/explicit_instantiation/pod.cc: Likewise. * testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/2.cc: Likewise. * testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/pod.cc: Likewise. * 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/none_of/requirements/explicit_instantiation/2.cc: Likewise. * testsuite/25_algorithms/none_of/requirements/explicit_instantiation/pod.cc: Likewise. * testsuite/25_algorithms/partition/requirements/explicit_instantiation/2.cc: Likewise. * testsuite/25_algorithms/partition/requirements/explicit_instantiation/pod.cc: Likewise. * testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/2.cc: Likewise. * testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/pod.cc: Likewise. * testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/2.cc: Likewise. * testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/pod.cc: Likewise. * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc: Likewise. * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/pod.cc: Likewise. * testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/2.cc: Likewise. * testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/pod.cc: Likewise. * testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/2.cc: Likewise. * testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/pod.cc: Likewise. * testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/2.cc: Likewise. * testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/pod.cc: Likewise. * testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/2.cc: Likewise. * testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/pod.cc: Likewise. * testsuite/25_algorithms/search/requirements/explicit_instantiation/2.cc: Likewise. * testsuite/25_algorithms/search/requirements/explicit_instantiation/pod.cc: Likewise. * testsuite/25_algorithms/search_n/requirements/explicit_instantiation/2.cc: Likewise. * testsuite/25_algorithms/search_n/requirements/explicit_instantiation/pod.cc: Likewise. * testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/2.cc: Likewise. * testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/pod.cc: Likewise. * testsuite/25_algorithms/transform/requirements/explicit_instantiation/2.cc: Likewise. * testsuite/25_algorithms/transform/requirements/explicit_instantiation/pod.cc: Likewise. * testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: Add dg-warning. * testsuite/ext/pb_ds/example/priority_queue_erase_if.cc: Likewise. * testsuite/ext/pb_ds/example/priority_queue_split_join.cc: Likewise. * testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc: Disable deprecated warnings. * testsuite/tr1/6_containers/hash/requirements/base_classes.cc: Likewise. * testsuite/util/regression/trait/erase_if_fn.hpp: Remove std::unary_function base classes. * testsuite/util/testsuite_iterators.h (output_iterator_wrapper): Remove std::iterator base classes. |
||
![]() |
7adcbafe45 | Update copyright years. | ||
![]() |
99dee82307 | Update copyright years. | ||
![]() |
bc4646410a |
libstdc++: Implement C++20 constrained algorithms
This patch implements the C++20 ranges overloads for the algorithms in [algorithms]. Most of the algorithms were reimplemented, with each of their implementations very closely following the existing implementation in bits/stl_algo.h and bits/stl_algobase.h. The reason for reimplementing most of the algorithms instead of forwarding to their STL-style overload is because forwarding cannot be conformantly and efficiently performed for algorithms that operate on non-random-access iterators. But algorithms that operate on random access iterators can safely and efficiently be forwarded to the STL-style implementation, and this patch does so for push_heap, pop_heap, make_heap, sort_heap, sort, stable_sort, nth_element, inplace_merge and stable_partition. What's missing from this patch is debug-iterator and container specializations that are present for some of the STL-style algorithms that need to be ported over to the ranges algos. I marked them missing at TODO comments. There are also some other minor outstanding TODOs. The code that could use the most thorough review is ranges::__copy_or_move, ranges::__copy_or_move_backward, ranges::__equal and ranges::__lexicographical_compare. In the tests, I tried to test the interface of each new overload, as well as the correctness of the new implementation. libstdc++-v3/ChangeLog: Implement C++20 constrained algorithms * include/Makefile.am: Add new header. * include/Makefile.in: Regenerate. * include/std/algorithm: Include <bits/ranges_algo.h>. * include/bits/ranges_algo.h: New file. * testsuite/25_algorithms/adjacent_find/constrained.cc: New test. * testsuite/25_algorithms/all_of/constrained.cc: New test. * testsuite/25_algorithms/any_of/constrained.cc: New test. * testsuite/25_algorithms/binary_search/constrained.cc: New test. * testsuite/25_algorithms/copy/constrained.cc: New test. * testsuite/25_algorithms/copy_backward/constrained.cc: New test. * testsuite/25_algorithms/copy_if/constrained.cc: New test. * testsuite/25_algorithms/copy_n/constrained.cc: New test. * testsuite/25_algorithms/count/constrained.cc: New test. * testsuite/25_algorithms/count_if/constrained.cc: New test. * testsuite/25_algorithms/equal/constrained.cc: New test. * testsuite/25_algorithms/equal_range/constrained.cc: New test. * testsuite/25_algorithms/fill/constrained.cc: New test. * testsuite/25_algorithms/fill_n/constrained.cc: New test. * testsuite/25_algorithms/find/constrained.cc: New test. * testsuite/25_algorithms/find_end/constrained.cc: New test. * testsuite/25_algorithms/find_first_of/constrained.cc: New test. * testsuite/25_algorithms/find_if/constrained.cc: New test. * testsuite/25_algorithms/find_if_not/constrained.cc: New test. * testsuite/25_algorithms/for_each/constrained.cc: New test. * testsuite/25_algorithms/generate/constrained.cc: New test. * testsuite/25_algorithms/generate_n/constrained.cc: New test. * testsuite/25_algorithms/heap/constrained.cc: New test. * testsuite/25_algorithms/includes/constrained.cc: New test. * testsuite/25_algorithms/inplace_merge/constrained.cc: New test. * testsuite/25_algorithms/is_partitioned/constrained.cc: New test. * testsuite/25_algorithms/is_permutation/constrained.cc: New test. * testsuite/25_algorithms/is_sorted/constrained.cc: New test. * testsuite/25_algorithms/is_sorted_until/constrained.cc: New test. * testsuite/25_algorithms/lexicographical_compare/constrained.cc: New test. * testsuite/25_algorithms/lower_bound/constrained.cc: New test. * testsuite/25_algorithms/max/constrained.cc: New test. * testsuite/25_algorithms/max_element/constrained.cc: New test. * testsuite/25_algorithms/merge/constrained.cc: New test. * testsuite/25_algorithms/min/constrained.cc: New test. * testsuite/25_algorithms/min_element/constrained.cc: New test. * testsuite/25_algorithms/minmax/constrained.cc: New test. * testsuite/25_algorithms/minmax_element/constrained.cc: New test. * testsuite/25_algorithms/mismatch/constrained.cc: New test. * testsuite/25_algorithms/move/constrained.cc: New test. * testsuite/25_algorithms/move_backward/constrained.cc: New test. * testsuite/25_algorithms/next_permutation/constrained.cc: New test. * testsuite/25_algorithms/none_of/constrained.cc: New test. * testsuite/25_algorithms/nth_element/constrained.cc: New test. * testsuite/25_algorithms/partial_sort/constrained.cc: New test. * testsuite/25_algorithms/partial_sort_copy/constrained.cc: New test. * testsuite/25_algorithms/partition/constrained.cc: New test. * testsuite/25_algorithms/partition_copy/constrained.cc: New test. * testsuite/25_algorithms/partition_point/constrained.cc: New test. * testsuite/25_algorithms/prev_permutation/constrained.cc: New test. * testsuite/25_algorithms/remove/constrained.cc: New test. * testsuite/25_algorithms/remove_copy/constrained.cc: New test. * testsuite/25_algorithms/remove_copy_if/constrained.cc: New test. * testsuite/25_algorithms/remove_if/constrained.cc: New test. * testsuite/25_algorithms/replace/constrained.cc: New test. * testsuite/25_algorithms/replace_copy/constrained.cc: New test. * testsuite/25_algorithms/replace_copy_if/constrained.cc: New test. * testsuite/25_algorithms/replace_if/constrained.cc: New test. * testsuite/25_algorithms/reverse/constrained.cc: New test. * testsuite/25_algorithms/reverse_copy/constrained.cc: New test. * testsuite/25_algorithms/rotate/constrained.cc: New test. * testsuite/25_algorithms/rotate_copy/constrained.cc: New test. * testsuite/25_algorithms/search/constrained.cc: New test. * testsuite/25_algorithms/search_n/constrained.cc: New test. * testsuite/25_algorithms/set_difference/constrained.cc: New test. * testsuite/25_algorithms/set_intersection/constrained.cc: New test. * testsuite/25_algorithms/set_symmetric_difference/constrained.cc: New test. * testsuite/25_algorithms/set_union/constrained.cc: New test. * testsuite/25_algorithms/shuffle/constrained.cc: New test. * testsuite/25_algorithms/sort/constrained.cc: New test. * testsuite/25_algorithms/stable_partition/constrained.cc: New test. * testsuite/25_algorithms/stable_sort/constrained.cc: New test. * testsuite/25_algorithms/swap_ranges/constrained.cc: New test. * testsuite/25_algorithms/transform/constrained.cc: New test. * testsuite/25_algorithms/unique/constrained.cc: New test. * testsuite/25_algorithms/unique_copy/constrained.cc: New test. * testsuite/25_algorithms/upper_bound/constrained.cc: New test. |
||
![]() |
8d9254fc8a |
Update copyright years.
From-SVN: r279813 |
||
![]() |
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 |
||
![]() |
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 |
||
![]() |
a554497024 |
Update copyright years.
From-SVN: r267494 |
||
![]() |
85ec4feb11 |
Update copyright years.
From-SVN: r256169 |
||
![]() |
cbe34bb5ed |
Update copyright years.
From-SVN: r243994 |
||
![]() |
818ab71a41 |
Update copyright years.
From-SVN: r232055 |
||
![]() |
5624e564d2 |
Update copyright years.
From-SVN: r219188 |
||
![]() |
aa118a03c4 |
Update copyright years in libstdc++-v3/
From-SVN: r206301 |
||
![]() |
405feeb871 |
Update copyright in libstdc++-v3.
From-SVN: r195701 |
||
![]() |
748086b7b2 |
Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.
From-SVN: r145841 |
||
![]() |
6116ca65dd |
Fixes for --disable-libstdcxx-pch.
2007-10-05 Benjamin Kosnik <bkoz@redhat.com> Fixes for --disable-libstdcxx-pch. * include/ext/rc_string_base.h: Include stl_iterator_base_funcs.h. * include/ext/vstring_util.h: Include stl_iterator.h and numeric_traits.h. * include/tr1/functional: Include new. * testsuite/util/testsuite_api.h: Include exception. * testsuite/lib/libstdc++.exp (libstdc++_init): Set PCH_CXXFLAGS via cxxpchflags. * testsuite/25_algorithms/binary_search/requirements/ explicit_instantiation/2.cc: Same.: Fix includes. * testsuite/25_algorithms/count_if/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/equal_range/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/find_end/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/find_first_of/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/find_if/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/for_each/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/includes/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/inplace_merge/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/lexicographical_compare/ requirements/explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/lower_bound/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/make_heap/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/max_element/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/max/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/merge/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/min_element/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/min/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/next_permutation/ requirements/explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/nth_element/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/partial_sort_copy/ requirements/explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/partial_sort/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/partition/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/pop_heap/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/prev_permutation/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/push_heap/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/random_shuffle/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/remove_copy_if/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/remove_if/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/replace_copy_if/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/replace_if/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/search_n/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/search/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/set_difference/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/set_intersection/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/set_symmetric_difference/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/set_union/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/sort_heap/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/sort/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/stable_partition/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/stable_sort/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/transform/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/unique_copy/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/unique/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/upper_bound/requirements/ explicit_instantiation/2.cc: Same. * testsuite/25_algorithms/remove/requirements/ explicit_instantiation/pod.cc: Provide a hint to the compiler. From-SVN: r129049 |
||
![]() |
4f99f3d0e5 |
stl_algo.h: Add return type information to comments.
2007-09-26 Benjamin Kosnik <bkoz@redhat.com> * include/bits/stl_algo.h: Add return type information to comments. * include/bits/algorithmfwd.h: Formatting. * testsuite/util/testsuite_hooks.h (NonDefaultConstructible): Move.. * testsuite/util/testsuite_api.h: ...here. Add necessary operators for use in testing chapters 25 and 26. * testsuite/util/testsuite_character.h: Same. * testsuite/25_algorithms/*/requirements/explicit_instantiation/ 2.cc, pod.cc: New. * testsuite/26_numerics/accumulate, adjacent_difference, inner_product, partial_sum/requirements/explicit_instantiation/2.cc, pod.cc: New. * testsuite/26_numerics/numeric_arrays/*: Move contents into testsuite/26_numerics. * testsuite/26_numerics/numeric_operations: Same. * testsuite/23_containers/*/requirements/explicit_instantiation/2.cc: Adjust includes from testsuite_eh.h to testsuite_api.h. Co-Authored-By: Chalathip Thumkanon <chalathip@gmail.com> From-SVN: r128822 |