mirror of
https://gcc.gnu.org/git/gcc.git
synced 2025-01-26 14:24:18 +08:00
97d5766531
2019-09-28 François Dumont <fdumont@gcc.gnu.org> * include/bits/stl_algo.h (merge): Fix documentation. * include/debug/functions.h (__check_sorted_aux): Add C++20 constexpr. (__check_sorted): Likewise and remove nested irreflexive check. (__check_sorted_set_aux, __check_sorted_set): Add C++20 constexpr. (__check_partitioned_lower, __check_partitioned_upper): Likewise. (_Irreflexive_checker::_S_is_valid): Likewise. (__is_irreflexive, __is_irreflexive_pred): Likewise. * include/debug/helper_functions.h (__get_distance): Add constexpr. (__valid_range_aux): Add C++20 constexpr. (__valid_range(_Iter, _Iter, _Distance_traits<_Iter>::__type&)): Likewise and add std::is_constant_evaluated check. (__valid_range_aux(_Iter, _Iter, std::input_iterator_tag)): New. (__valid_range_aux(_Iter, _Iter, std::random_accss_iterator_tag)): New. (__valid_range_aux(_Integral, _Integral, std::__true_type)): New, use latter. (__valid_range(_Iter, _Iter)): Adapt to use latter, add constexpr and __builtin_is_contant_evaludated check.. (__can_advance, __base): Add constexpr. * include/debug/macros.h [_GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED] (_GLIBCXX_DEBUG_VERIFY_COND_AT): New. (__glibcxx_check_sorted): Use __glibcxx_check_irreflexive. (__glibcxx_check_sorted_pred): Use __glibcxx_check_irreflexive_pred. * testsuite/25_algorithms/binary_search/constexpr.cc: Use irreflexive std::less. * testsuite/25_algorithms/is_sorted/constexpr.cc: Likewise. * testsuite/25_algorithms/merge/constexpr.cc: Fix order in camm. Fix lambda to be irreflexive. From-SVN: r276260 |
||
---|---|---|
.. | ||
array | ||
assertions.h | ||
bitset | ||
debug.h | ||
deque | ||
formatter.h | ||
forward_list | ||
functions.h | ||
helper_functions.h | ||
list | ||
macros.h | ||
map | ||
map.h | ||
multimap.h | ||
multiset.h | ||
safe_base.h | ||
safe_container.h | ||
safe_iterator.h | ||
safe_iterator.tcc | ||
safe_local_iterator.h | ||
safe_local_iterator.tcc | ||
safe_sequence.h | ||
safe_sequence.tcc | ||
safe_unordered_base.h | ||
safe_unordered_container.h | ||
safe_unordered_container.tcc | ||
set | ||
set.h | ||
stl_iterator.h | ||
string | ||
unordered_map | ||
unordered_set | ||
vector |