gcc/libstdc++-v3/testsuite/25_algorithms
Patrick Palka 813ad9c4dd libstdc++: Fix division by zero in std::sample
This fixes a division by zero in the selection-sampling std::__sample
overload when the input range is empty (and hence __unsampled_sz is 0).

libstdc++-v3/ChangeLog:

	* include/bits/stl_algo.h (__sample): Exit early when the
	input range is empty.
	* testsuite/25_algorithms/sample/3.cc: New test.
2020-09-21 20:48:23 -04:00
..
adjacent_find libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
advance/istreambuf_iterators
all_of libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
any_of libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
binary_search libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05: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 some ranges algos optimizations [PR95578] 2020-06-10 17:37:53 -04:00
copy_backward libstdc++: Fix some ranges algos optimizations [PR95578] 2020-06-10 17:37:53 -04: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++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
count_if libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
equal libstdc++: Fix some ranges algos optimizations [PR95578] 2020-06-10 17:37:53 -04:00
equal_range libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
fill libstdc++ std::fill overload for std::vector<bool>::iterator 2020-05-06 23:28:22 +02: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++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
find_first_of libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
find_if libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05: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 libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
headers
heap libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
includes libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
inplace_merge libstdc++: -D_GLIBCXX_DEBUG fixes in the constrained algos tests 2020-02-27 12:47:17 -05:00
is_heap
is_heap_until
is_partitioned libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
is_permutation libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
is_sorted libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
is_sorted_until libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
iter_swap
lexicographical_compare libstdc++: Fix some ranges algos optimizations [PR95578] 2020-06-10 17:37:53 -04:00
lexicographical_compare_three_way
lower_bound libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
make_heap
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++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05: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++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05: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++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05: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++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
partition_point libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
pop_heap
prev_permutation libstdc++: P2106R0 Alternative wording for GB315 and GB316 2020-02-18 11:06:50 -05:00
pstl libstdc++: Skip PSTL tests when installed TBB is too old [PR 96718] 2020-08-21 12:01:05 +01:00
push_heap
random_shuffle
remove libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
remove_copy libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
remove_copy_if libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
remove_if libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05: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++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
reverse libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
reverse_copy libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
rotate libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
rotate_copy libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
sample libstdc++: Fix division by zero in std::sample 2020-09-21 20:48:23 -04:00
search libstdc++: Mark some more algorithms constexpr for C++20 2020-09-21 20:48:17 -04:00
search_n libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
set_difference libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
set_intersection libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
set_symmetric_difference libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
set_union libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05: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
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
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++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
upper_bound libstdc++: Implement C++20 constrained algorithms 2020-02-06 20:08:34 -05:00
constexpr_macro.cc
cpp_lib_constexpr.cc