diff options
author | Paolo Carlini <pcarlini@suse.de> | 2004-10-07 22:44:30 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2004-10-07 22:44:30 +0000 |
commit | 4681bebd90512613428f30b0ec9577025b55332b (patch) | |
tree | 8770b92a416d48ccbf993cff61f603f46a705a44 | |
parent | d7d086f0864a2564fef32a819e5381d880310d5e (diff) | |
download | gcc-4681bebd90512613428f30b0ec9577025b55332b.zip gcc-4681bebd90512613428f30b0ec9577025b55332b.tar.gz gcc-4681bebd90512613428f30b0ec9577025b55332b.tar.bz2 |
list.tcc (operator=): Avoid iterator postincrement.
2004-10-07 Paolo Carlini <pcarlini@suse.de>
* include/bits/list.tcc (operator=): Avoid iterator postincrement.
* include/bits/stl_tree.h (erase(iterator, iterator)): Likewise.
From-SVN: r88715
-rw-r--r-- | libstdc++-v3/ChangeLog | 5 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/list.tcc | 5 | ||||
-rw-r--r-- | 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 daae169..6f78912 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +2004-10-07 Paolo Carlini <pcarlini@suse.de> + + * include/bits/list.tcc (operator=): Avoid iterator postincrement. + * include/bits/stl_tree.h (erase(iterator, iterator)): Likewise. + 2004-10-07 Benjamin Kosnik <bkoz@redhat.com> * include/tr1: New. diff --git a/libstdc++-v3/include/bits/list.tcc b/libstdc++-v3/include/bits/list.tcc index 851c4ad..59f9d1a 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 5e21ccd..0b47dd2 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<typename _Key, typename _Val, typename _KeyOfValue, |