Implement C++20 p1424 - 'constexpr' feature macro concerns...
authorEdward Smith-Rowland <3dw4rd@verizon.net>
Tue, 10 Sep 2019 03:38:58 +0000 (03:38 +0000)
committerEdward Smith-Rowland <emsr@gcc.gnu.org>
Tue, 10 Sep 2019 03:38:58 +0000 (03:38 +0000)
commitb30ee71a406f6d14265cf5b92b0c650d1d9b5696
tree0ad01042409e098cf0b19ff0d3484ff402361c11
parentc96fc0812393c3e2744232c1f6e248776628397f
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
79 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/algorithmfwd.h
libstdc++-v3/include/bits/stl_iterator.h
libstdc++-v3/include/std/string_view
libstdc++-v3/include/std/utility
libstdc++-v3/include/std/version
libstdc++-v3/testsuite/20_util/exchange/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/adjacent_find/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/all_of/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/any_of/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/binary_search/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/constexpr_macro.cc
libstdc++-v3/testsuite/25_algorithms/copy/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/copy_backward/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/copy_if/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/copy_n/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/count/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/count_if/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/cpp_lib_constexpr.cc [new file with mode: 0644]
libstdc++-v3/testsuite/25_algorithms/equal/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/equal_range/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/fill/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/fill_n/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/find/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/find_end/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/find_first_of/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/find_if/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/find_if_not/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/for_each/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/generate/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/generate_n/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/is_heap/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/is_heap_until/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/is_partitioned/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/is_permutation/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/is_sorted/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/is_sorted_until/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/iter_swap/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/lower_bound/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/make_heap/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/merge/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/mismatch/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/next_permutation/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/none_of/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/nth_element/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/partial_sort/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/partition/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/partition_copy/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/partition_point/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/pop_heap/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/prev_permutation/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/push_heap/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/remove/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/remove_copy/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/remove_copy_if/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/remove_if/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/replace_copy/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/replace_copy_if/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/replace_if/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/reverse/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/reverse_copy/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/rotate/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/rotate_copy/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/search/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/search_n/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/set_difference/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/set_intersection/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/set_symmetric_difference/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/set_union/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/sort/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/sort_heap/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/swap/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/swap_ranges/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/transform/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/unique/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/unique_copy/constexpr.cc
libstdc++-v3/testsuite/25_algorithms/upper_bound/constexpr.cc