]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
streambuf_iterator.h (istreambuf_iterator::_M_get): Slightly tweak for clarity (also...
authorPaolo Carlini <pcarlini@suse.de>
Sun, 14 Nov 2004 22:54:24 +0000 (22:54 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Sun, 14 Nov 2004 22:54:24 +0000 (22:54 +0000)
2004-11-14  Paolo Carlini  <pcarlini@suse.de>

* include/bits/streambuf_iterator.h (istreambuf_iterator::_M_get):
Slightly tweak for clarity (also leads to measurably better code).

From-SVN: r90636

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/streambuf_iterator.h

index ff93b2df6a9b64fcd76c6b62d7a440fd5e853c98..fd553a136d0769782700c669d95b6b7c344aef28 100644 (file)
@@ -1,3 +1,8 @@
+2004-11-14  Paolo Carlini  <pcarlini@suse.de>
+
+       * include/bits/streambuf_iterator.h (istreambuf_iterator::_M_get):
+       Slightly tweak for clarity (also leads to measurably better code).
+
 2004-11-12  Andrew Pinski  <pinskia@physics.uc.edu>
 
        PR other/14264
index f378862ed14cdbd0392687658311ac15b0534c5f..3e3daf62ff6d722bbb2c93a3d7d835f6d4b35a2f 100644 (file)
@@ -157,10 +157,11 @@ namespace std
        int_type __ret = __eof;
        if (_M_sbuf)
          {
-           if (!traits_type::eq_int_type(_M_c, __eof)
-               || !traits_type::eq_int_type((_M_c = _M_sbuf->sgetc()),
-                                            __eof))
+           if (!traits_type::eq_int_type(_M_c, __eof))
              __ret = _M_c;
+           else if (!traits_type::eq_int_type((__ret = _M_sbuf->sgetc()),
+                                              __eof))
+             _M_c = __ret;
            else
              _M_sbuf = 0;
          }