gcc/libstdc++-v3/testsuite/25_algorithms
François Dumont 815eb852a2 libstdc++: Fix _GLIBCXX_DEBUG mode constexpr compatibility
The __glibcxx_check_can_[increment|decrement]_range macros are using the
_GLIBCXX_DEBUG_VERIFY_COND_AT macro which is not constexpr compliant and will produce nasty
diagnostics rather than the std::__failed_assertion dedicated to constexpr. Replace it with
correct _GLIBCXX_DEBUG_VERIFY_AT_F.

libstdc++-v3/ChangeLog:

	* include/debug/macros.h (__glibcxx_check_can_increment_range): Replace
	_GLIBCXX_DEBUG_VERIFY_COND_AT usage with _GLIBCXX_DEBUG_VERIFY_AT_F.
	(__glibcxx_check_can_decrement_range): Likewise.
	* testsuite/25_algorithms/copy_backward/constexpr.cc (test03): New.
	* testsuite/25_algorithms/copy/debug/constexpr_neg.cc: New test.
	* testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc: New test.
	* testsuite/25_algorithms/equal/constexpr_neg.cc: New test.
	* testsuite/25_algorithms/equal/debug/constexpr_neg.cc: New test.
2020-12-12 18:07:45 +01:00
..
adjacent_find libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
advance/istreambuf_iterators Update copyright years. 2020-01-01 12:51:42 +01:00
all_of libstdc++: Improve tests for constexpr algorithms 2020-10-29 14:47:18 +00:00
any_of libstdc++: Improve tests for constexpr algorithms 2020-10-29 14:47:18 +00:00
binary_search libstdc++: Improve tests for constexpr algorithms 2020-10-29 14:47:18 +00:00
clamp libstdc++: Ensure c++NN effective target present in all C++17 tests 2020-07-31 19:58:02 +01:00
copy libstdc++: Fix _GLIBCXX_DEBUG mode constexpr compatibility 2020-12-12 18:07:45 +01:00
copy_backward libstdc++: Fix _GLIBCXX_DEBUG mode constexpr compatibility 2020-12-12 18:07:45 +01:00
copy_if libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
copy_n libstdc++: Specialize copy/copy_n for istreambuf_iterator and deque iterators 2020-06-04 22:27:47 +02:00
count libstdc++: Improve tests for constexpr algorithms 2020-10-29 14:47:18 +00:00
count_if libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
equal libstdc++: Fix _GLIBCXX_DEBUG mode constexpr compatibility 2020-12-12 18:07:45 +01:00
equal_range libstdc++: Improve tests for constexpr algorithms 2020-10-29 14:47:18 +00:00
fill libstdc++: Improve tests for constexpr algorithms 2020-10-29 14:47:18 +00:00
fill_n libstdc++: Make byte-sized std::fill_n a constant expression (PR 94933) 2020-05-03 13:33:15 +01:00
find libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
find_end libstdc++: Improve tests for constexpr algorithms 2020-10-29 14:47:18 +00:00
find_first_of libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
find_if libstdc++: Improve tests for constexpr algorithms 2020-10-29 14:47:18 +00:00
find_if_not libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
for_each libstdc++: Mark some more algorithms constexpr for C++20 2020-09-21 20:48:17 -04:00
generate libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
generate_n c++: Implement -Wvexing-parse [PR25814] 2020-11-05 15:55:14 -05:00
headers Update copyright years. 2020-01-01 12:51:42 +01:00
heap libstdc++: Avoid warnings in tests 2020-10-29 22:47:21 +00:00
includes libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
inplace_merge libstdc++: Limit memory allocation in stable_sort/inplace_merge (PR 83938) 2020-11-20 22:25:04 +01:00
is_heap Update copyright years. 2020-01-01 12:51:42 +01:00
is_heap_until Update copyright years. 2020-01-01 12:51:42 +01:00
is_partitioned libstdc++: Improve tests for constexpr algorithms 2020-10-29 14:47:18 +00:00
is_permutation libstdc++: Improve tests for constexpr algorithms 2020-10-29 14:47:18 +00:00
is_sorted libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
is_sorted_until libstdc++: Improve tests for constexpr algorithms 2020-10-29 14:47:18 +00:00
iter_swap Update copyright years. 2020-01-01 12:51:42 +01:00
lexicographical_compare libstdc++: Improve tests for constexpr algorithms 2020-10-29 14:47:18 +00:00
lexicographical_compare_three_way Update copyright years. 2020-01-01 12:51:42 +01:00
lower_bound libstdc++: Make _GLIBCXX_DEBUG checks constexpr compatible 2020-11-09 21:11:13 +01:00
make_heap Update copyright years. 2020-01-01 12:51:42 +01:00
max libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
max_element libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
merge libstdc++: Improve tests for constexpr algorithms 2020-10-29 14:47:18 +00:00
min libstdc++: Make _GLIBCXX_CONCEPT_CHECKS more constexpr-friendly 2020-02-27 10:52:28 +00:00
min_element libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
minmax libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
minmax_element libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
mismatch libstdc++: Improve tests for constexpr algorithms 2020-10-29 14:47:18 +00:00
move libstdc++: Fix some ranges algos optimizations [PR95578] 2020-06-10 17:37:53 -04:00
move_backward libstdc++: Fix some ranges algos optimizations [PR95578] 2020-06-10 17:37:53 -04:00
next_permutation libstdc++: P2106R0 Alternative wording for GB315 and GB316 2020-02-18 11:06:50 -05:00
none_of libstdc++: Improve tests for constexpr algorithms 2020-10-29 14:47:18 +00:00
nth_element libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
partial_sort libstdc++: -D_GLIBCXX_DEBUG fixes in the constrained algos tests 2020-02-27 12:47:17 -05:00
partial_sort_copy libstdc++: -D_GLIBCXX_DEBUG fixes in the constrained algos tests 2020-02-27 12:47:17 -05:00
partition libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
partition_copy libstdc++: Improve tests for constexpr algorithms 2020-10-29 14:47:18 +00:00
partition_point libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
pop_heap Update copyright years. 2020-01-01 12:51:42 +01:00
prev_permutation libstdc++: P2106R0 Alternative wording for GB315 and GB316 2020-02-18 11:06:50 -05:00
pstl libstdc++: Set dg-timeout-factor for more slow tests 2020-11-30 14:39:54 +00:00
push_heap Update copyright years. 2020-01-01 12:51:42 +01:00
random_shuffle Update copyright years. 2020-01-01 12:51:42 +01:00
remove libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
remove_copy libstdc++: Improve tests for constexpr algorithms 2020-10-29 14:47:18 +00:00
remove_copy_if libstdc++: Improve tests for constexpr algorithms 2020-10-29 14:47:18 +00:00
remove_if libstdc++: Improve tests for constexpr algorithms 2020-10-29 14:47:18 +00:00
replace libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
replace_copy libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
replace_copy_if libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
replace_if libstdc++: Improve tests for constexpr algorithms 2020-10-29 14:47:18 +00:00
reverse libstdc++: Improve tests for constexpr algorithms 2020-10-29 14:47:18 +00:00
reverse_copy libstdc++: Improve tests for constexpr algorithms 2020-10-29 14:47:18 +00:00
rotate libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
rotate_copy libstdc++: Improve tests for constexpr algorithms 2020-10-29 14:47:18 +00:00
sample libstdc++: Avoid warnings in tests 2020-10-29 22:47:21 +00:00
search libstdc++: Avoid warnings in tests 2020-10-29 22:47:21 +00:00
search_n libstdc++: Fix ranges::search_n for random access iterators [PR97828] 2020-11-17 10:28:20 -05:00
set_difference libstdc++: Improve tests for constexpr algorithms 2020-10-29 14:47:18 +00:00
set_intersection libstdc++: Improve tests for constexpr algorithms 2020-10-29 14:47:18 +00:00
set_symmetric_difference libstdc++: Improve tests for constexpr algorithms 2020-10-29 14:47:18 +00:00
set_union libstdc++: Improve tests for constexpr algorithms 2020-10-29 14:47:18 +00:00
shift_left libstdc++: P0769R2 Add shift to <algorithm> 2020-02-24 10:08:57 -05:00
shift_right libstdc++: P0769R2 Add shift to <algorithm> 2020-02-24 10:08:57 -05:00
shuffle libstdc++: -D_GLIBCXX_DEBUG fixes in the constrained algos tests 2020-02-27 12:47:17 -05:00
sort libstdc++: -D_GLIBCXX_DEBUG fixes in the constrained algos tests 2020-02-27 12:47:17 -05:00
sort_heap Update copyright years. 2020-01-01 12:51:42 +01:00
stable_partition libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
stable_sort libstdc++: -D_GLIBCXX_DEBUG fixes in the constrained algos tests 2020-02-27 12:47:17 -05:00
swap Update copyright years. 2020-01-01 12:51:42 +01:00
swap_ranges libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
transform libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
unique libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
unique_copy libstdc++: Improve tests for constexpr algorithms 2020-10-29 14:47:18 +00:00
upper_bound libstdc++: Make _GLIBCXX_DEBUG checks constexpr compatible 2020-11-09 21:11:13 +01:00
constexpr_macro.cc Update copyright years. 2020-01-01 12:51:42 +01:00
cpp_lib_constexpr.cc Update copyright years. 2020-01-01 12:51:42 +01:00