diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 8a15c8c54592..a03f1afe033e 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2011-10-01 François Dumont + + * include/debug/vector (vector<>::erase(iterator, iterator): Check + iterators equality using normal iterators. + * include/debug/deque (deque<>::erase(iterator, iterator): Likewise. + 2011-09-29 Paolo Carlini * include/bits/hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)): diff --git a/libstdc++-v3/include/debug/deque b/libstdc++-v3/include/debug/deque index 2bce99281d69..07b332b01911 100644 --- a/libstdc++-v3/include/debug/deque +++ b/libstdc++-v3/include/debug/deque @@ -465,7 +465,7 @@ namespace __debug // 151. can't currently clear() empty container __glibcxx_check_erase_range(__first, __last); - if (__first == __last) + if (__first.base() == __last.base()) return __first; else if (__first.base() == _Base::begin() || __last.base() == _Base::end()) diff --git a/libstdc++-v3/include/debug/vector b/libstdc++-v3/include/debug/vector index 865c27564549..0f252a059dc0 100644 --- a/libstdc++-v3/include/debug/vector +++ b/libstdc++-v3/include/debug/vector @@ -499,7 +499,7 @@ namespace __debug // 151. can't currently clear() empty container __glibcxx_check_erase_range(__first, __last); - if (__first != __last) + if (__first.base() != __last.base()) { difference_type __offset = __first.base() - _Base::begin(); _Base_iterator __res = _Base::erase(__first.base(),