aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Carlini <pcarlini@suse.de>2004-11-14 22:54:24 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2004-11-14 22:54:24 +0000
commit509228203e929a5aa3205aaa838700235187dc1d (patch)
tree017aff8b3decdd408526fadcb46cca5aab1c0154
parentfceb80bf943035f22495b9970aefe4a375df457f (diff)
downloadgcc-509228203e929a5aa3205aaa838700235187dc1d.zip
gcc-509228203e929a5aa3205aaa838700235187dc1d.tar.gz
gcc-509228203e929a5aa3205aaa838700235187dc1d.tar.bz2
streambuf_iterator.h (istreambuf_iterator::_M_get): Slightly tweak for clarity (also leads to measurably better code).
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
-rw-r--r--libstdc++-v3/ChangeLog5
-rw-r--r--libstdc++-v3/include/bits/streambuf_iterator.h7
2 files changed, 9 insertions, 3 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index ff93b2d..fd553a1 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -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
diff --git a/libstdc++-v3/include/bits/streambuf_iterator.h b/libstdc++-v3/include/bits/streambuf_iterator.h
index f378862..3e3daf6 100644
--- a/libstdc++-v3/include/bits/streambuf_iterator.h
+++ b/libstdc++-v3/include/bits/streambuf_iterator.h
@@ -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;
}