From 4681bebd90512613428f30b0ec9577025b55332b Mon Sep 17 00:00:00 2001 From: Paolo Carlini Date: Thu, 7 Oct 2004 22:44:30 +0000 Subject: [PATCH] list.tcc (operator=): Avoid iterator postincrement. 2004-10-07 Paolo Carlini * include/bits/list.tcc (operator=): Avoid iterator postincrement. * include/bits/stl_tree.h (erase(iterator, iterator)): Likewise. From-SVN: r88715 --- libstdc++-v3/ChangeLog | 5 +++++ libstdc++-v3/include/bits/list.tcc | 5 +++-- libstdc++-v3/include/bits/stl_tree.h | 3 ++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index daae169960e..6f7891214d4 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +2004-10-07 Paolo Carlini + + * include/bits/list.tcc (operator=): Avoid iterator postincrement. + * include/bits/stl_tree.h (erase(iterator, iterator)): Likewise. + 2004-10-07 Benjamin Kosnik * include/tr1: New. diff --git a/libstdc++-v3/include/bits/list.tcc b/libstdc++-v3/include/bits/list.tcc index 851c4ad70cc..59f9d1ad703 100644 --- a/libstdc++-v3/include/bits/list.tcc +++ b/libstdc++-v3/include/bits/list.tcc @@ -125,8 +125,9 @@ namespace _GLIBCXX_STD iterator __last1 = end(); const_iterator __first2 = __x.begin(); const_iterator __last2 = __x.end(); - while (__first1 != __last1 && __first2 != __last2) - *__first1++ = *__first2++; + for (; __first1 != __last1 && __first2 != __last2; + ++__first1, ++__first2) + *__first1 = *__first2; if (__first2 == __last2) erase(__first1, __last1); else diff --git a/libstdc++-v3/include/bits/stl_tree.h b/libstdc++-v3/include/bits/stl_tree.h index 5e21ccdbb42..0b47dd2de73 100644 --- a/libstdc++-v3/include/bits/stl_tree.h +++ b/libstdc++-v3/include/bits/stl_tree.h @@ -1087,7 +1087,8 @@ namespace std if (__first == begin() && __last == end()) clear(); else - while (__first != __last) erase(__first++); + for (; __first != __last; ++__first) + erase(__first); } template