list.tcc (operator=): Avoid iterator postincrement.
authorPaolo Carlini <pcarlini@suse.de>
Thu, 7 Oct 2004 22:44:30 +0000 (22:44 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Thu, 7 Oct 2004 22:44:30 +0000 (22:44 +0000)
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

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/list.tcc
libstdc++-v3/include/bits/stl_tree.h

index daae169960ef98551327ca0ab223ecbcc3443d60..6f7891214d42f2c149f90e1709815a7f9ffb0a33 100644 (file)
@@ -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.
index 851c4ad70ccf42f31f0843773c33f44f10c95ae0..59f9d1ad703ec0a6ce837b3f40f100698df5aa09 100644 (file)
@@ -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
index 5e21ccdbb427d7cee5eaa82e30d5ef3bbbe0f25c..0b47dd2de73b7fc6d1040a875cd70244e2922fc3 100644 (file)
@@ -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,