From 74db146134cce4b8e24d2df76b15d26fc4b6b3c3 Mon Sep 17 00:00:00 2001 From: Scott Snyder Date: Tue, 11 Feb 2003 19:53:51 +0000 Subject: [PATCH] re PR libstdc++/9659 (3.3/3.4 seekoff overload problem with optimization) 2003-02-11 Scott Snyder PR libstdc++/9659 * include/bits/fstream.tcc (seekoff): Avoid operator+ for pos_type. From-SVN: r62712 --- libstdc++-v3/ChangeLog | 6 ++++++ libstdc++-v3/include/bits/fstream.tcc | 9 ++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index e02707b2a42..721b0f267b6 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2003-02-11 Scott Snyder + + PR libstdc++/9659 + * include/bits/fstream.tcc (seekoff): Avoid operator+ + for pos_type. + 2003-02-11 Paolo Carlini PR libstdc++/9320 diff --git a/libstdc++-v3/include/bits/fstream.tcc b/libstdc++-v3/include/bits/fstream.tcc index abc7310e32d..8f156040fe0 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;