aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScott Snyder <snyder@fnal.gov>2003-02-11 19:53:51 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2003-02-11 19:53:51 +0000
commit74db146134cce4b8e24d2df76b15d26fc4b6b3c3 (patch)
treeb6f47393151ef17f5c50ab270fbbb01a67008f1f
parent6f0d35660b01a3b08ed8899c37fca11c20464a22 (diff)
downloadgcc-74db146134cce4b8e24d2df76b15d26fc4b6b3c3.zip
gcc-74db146134cce4b8e24d2df76b15d26fc4b6b3c3.tar.gz
gcc-74db146134cce4b8e24d2df76b15d26fc4b6b3c3.tar.bz2
re PR libstdc++/9659 (3.3/3.4 seekoff overload problem with optimization)
2003-02-11 Scott Snyder <snyder@fnal.gov> PR libstdc++/9659 * include/bits/fstream.tcc (seekoff): Avoid operator+ for pos_type. From-SVN: r62712
-rw-r--r--libstdc++-v3/ChangeLog6
-rw-r--r--libstdc++-v3/include/bits/fstream.tcc9
2 files changed, 12 insertions, 3 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index e02707b..721b0f2 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,9 @@
+2003-02-11 Scott Snyder <snyder@fnal.gov>
+
+ PR libstdc++/9659
+ * include/bits/fstream.tcc (seekoff): Avoid operator+
+ for pos_type.
+
2003-02-11 Paolo Carlini <pcarlini@unitus.it>
PR libstdc++/9320
diff --git a/libstdc++-v3/include/bits/fstream.tcc b/libstdc++-v3/include/bits/fstream.tcc
index abc7310..8f15604 100644
--- a/libstdc++-v3/include/bits/fstream.tcc
+++ b/libstdc++-v3/include/bits/fstream.tcc
@@ -456,9 +456,12 @@ namespace std
pos_type __tmp =
_M_file.seekoff(__off, ios_base::cur, __mode);
if (__tmp >= 0)
- // Seek successful.
- __ret = __tmp +
- std::max(this->_M_out_cur, this->_M_in_cur) - _M_filepos;
+ {
+ // Seek successful.
+ __ret = __tmp;
+ __ret +=
+ std::max(this->_M_out_cur, this->_M_in_cur) - _M_filepos;
+ }
}
}
_M_last_overflowed = false;