mirror of
https://github.com/gcc-mirror/gcc.git
synced 2026-05-06 23:25:24 +02:00
Starting with C++11 we leverage on template parameter requirement to prevent instantiation of methods taking iterators with invalid types. So the _GLIBCXX_DEBUG mode do not need to check for potential ambiguity between integer type and iterator type anymore. libstdc++-v3/ChangeLog: * include/debug/functions.h [__cplusplus >= 201103L] (__foreign_iterator_aux): Remove. (__foreign_iterator): Adapt to use __foreign_iterator_aux2. * include/debug/helper_functions.h [__cplusplus >= 201103L]: Remove include bits/cpp_type_traits.h. (_Distance_traits<_Integral, std::__true_type>): Remove. (__valid_range_aux(_Integral, _Integral, std::__true_type)): Remove. (__valid_range_aux(_Iterator, _Iterator, std::__false_type)): Remove. (__valid_range_aux(_Integral, _Integral, _Distance_traits<_Integral>::__type&, std::__true_type)): Remove. (__valid_range_aux(_Iterator, _Iterator, _Distance_traits<_Iterator>::__type&, std::__false_type)): Remove. (__valid_range(_Iterator, _Iterator)): Adapt. (__valid_range(_Iterator, _Iterator, _Distance_traits<_Iterator>::__type&)): Adapt. Reviewed-by: Jonathan Wakely <jwakely@redhat.com>