aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Carlini <pcarlini@unitus.it>2003-04-20 15:54:45 +0200
committerPaolo Carlini <paolo@gcc.gnu.org>2003-04-20 13:54:45 +0000
commit5e77a357679635fe15bd3c4e4c904c6f40f81a13 (patch)
treeb2849bcde361bd07d9dbc9f5ee4ba543a1c85d15
parent1052bb09b809f7fb7d14a417b3a9d2316a57db42 (diff)
downloadgcc-5e77a357679635fe15bd3c4e4c904c6f40f81a13.zip
gcc-5e77a357679635fe15bd3c4e4c904c6f40f81a13.tar.gz
gcc-5e77a357679635fe15bd3c4e4c904c6f40f81a13.tar.bz2
sstream.tcc (pbackfail): Remove redundant NULL pointer check from test involving _M_in_*.
2003-04-20 Paolo Carlini <pcarlini@unitus.it> * include/bits/sstream.tcc (pbackfail): Remove redundant NULL pointer check from test involving _M_in_*. (overflow, seekoff, seekpos): Const qualify bool variables. * include/std/std_sstream.h (underflow): Remove redundant NULL pointer check from test involving _M_in_*. (_M_really_sync): Const qualify bool variables. * src/fstream.cc (_M_underflow_common): Remove redundant NULL pointer check from test involving _M_in_*, const qualify bool variables. * include/std/std_streambuf.h (sgetc): Remove redundant variable. From-SVN: r65853
-rw-r--r--libstdc++-v3/ChangeLog15
-rw-r--r--libstdc++-v3/include/bits/sstream.tcc18
-rw-r--r--libstdc++-v3/include/std/std_sstream.h6
-rw-r--r--libstdc++-v3/include/std/std_streambuf.h6
-rw-r--r--libstdc++-v3/src/fstream.cc24
5 files changed, 42 insertions, 27 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 0837473..6f46b91 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,18 @@
+2003-04-20 Paolo Carlini <pcarlini@unitus.it>
+
+ * include/bits/sstream.tcc (pbackfail): Remove redundant
+ NULL pointer check from test involving _M_in_*.
+ (overflow, seekoff, seekpos): Const qualify bool variables.
+ * include/std/std_sstream.h (underflow): Remove redundant
+ NULL pointer check from test involving _M_in_*.
+ (_M_really_sync): Const qualify bool variables.
+ * src/fstream.cc (_M_underflow_common): Remove redundant
+ NULL pointer check from test involving _M_in_*, const qualify
+ bool variables.
+
+ * include/std/std_streambuf.h (sgetc): Remove redundant
+ variable.
+
2003-04-18 Paolo Carlini <pcarlini@unitus.it>
According to 5.9 para 2 (second bullet) for pointers p, q
diff --git a/libstdc++-v3/include/bits/sstream.tcc b/libstdc++-v3/include/bits/sstream.tcc
index ab3298c..9160b5a 100644
--- a/libstdc++-v3/include/bits/sstream.tcc
+++ b/libstdc++-v3/include/bits/sstream.tcc
@@ -47,8 +47,9 @@ namespace std
pbackfail(int_type __c)
{
int_type __ret = traits_type::eof();
- bool __testeof = traits_type::eq_int_type(__c, traits_type::eof());
- bool __testpos = this->_M_in_cur && this->_M_in_beg < this->_M_in_cur;
+ const bool __testeof =
+ traits_type::eq_int_type(__c, traits_type::eof());
+ const bool __testpos = this->_M_in_beg < this->_M_in_cur;
// Try to put back __c into input sequence in one of three ways.
// Order these tests done in is unspecified by the standard.
@@ -80,11 +81,12 @@ namespace std
basic_stringbuf<_CharT, _Traits, _Alloc>::
overflow(int_type __c)
{
- bool __testout = this->_M_mode & ios_base::out;
+ const bool __testout = this->_M_mode & ios_base::out;
if (__builtin_expect(!__testout, false))
return traits_type::eof();
- bool __testeof = traits_type::eq_int_type(__c, traits_type::eof());
+ const bool __testeof =
+ traits_type::eq_int_type(__c, traits_type::eof());
if (__builtin_expect(__testeof, false))
return traits_type::not_eof(__c);
@@ -94,7 +96,7 @@ namespace std
// suit particular needs.
__size_type __len = std::max(__size_type(_M_string.capacity() + 1),
__size_type(512));
- bool __testput = this->_M_out_cur < this->_M_out_end;
+ const bool __testput = this->_M_out_cur < this->_M_out_end;
if (__builtin_expect(!__testput && __len > _M_string.max_size(), false))
return traits_type::eof();
@@ -123,7 +125,7 @@ namespace std
pos_type __ret = pos_type(off_type(-1));
bool __testin = (ios_base::in & this->_M_mode & __mode) != 0;
bool __testout = (ios_base::out & this->_M_mode & __mode) != 0;
- bool __testboth = __testin && __testout && __way != ios_base::cur;
+ const bool __testboth = __testin && __testout && __way != ios_base::cur;
__testin &= !(__mode & ios_base::out);
__testout &= !(__mode & ios_base::in);
@@ -189,8 +191,8 @@ namespace std
off_type __pos = __sp; // Use streamoff operator to do conversion.
char_type* __beg = NULL;
char_type* __end = NULL;
- bool __testin = (ios_base::in & this->_M_mode & __mode) != 0;
- bool __testout = (ios_base::out & this->_M_mode & __mode) != 0;
+ const bool __testin = (ios_base::in & this->_M_mode & __mode) != 0;
+ const bool __testout = (ios_base::out & this->_M_mode & __mode) != 0;
// NB: Ordered.
bool __testposi = false;
diff --git a/libstdc++-v3/include/std/std_sstream.h b/libstdc++-v3/include/std/std_sstream.h
index 635e8ed..48b81cd 100644
--- a/libstdc++-v3/include/std/std_sstream.h
+++ b/libstdc++-v3/include/std/std_sstream.h
@@ -190,7 +190,7 @@ namespace std
virtual int_type
underflow()
{
- if (this->_M_in_cur && this->_M_in_cur < this->_M_in_end)
+ if (this->_M_in_cur < this->_M_in_end)
return traits_type::to_int_type(*gptr());
else
return traits_type::eof();
@@ -260,8 +260,8 @@ namespace std
virtual void
_M_really_sync(char_type* __base, __size_type __i, __size_type __o)
{
- bool __testin = this->_M_mode & ios_base::in;
- bool __testout = this->_M_mode & ios_base::out;
+ const bool __testin = this->_M_mode & ios_base::in;
+ const bool __testout = this->_M_mode & ios_base::out;
__size_type __len = _M_string.size();
this->_M_buf = __base;
diff --git a/libstdc++-v3/include/std/std_streambuf.h b/libstdc++-v3/include/std/std_streambuf.h
index b180c87..658b02f4 100644
--- a/libstdc++-v3/include/std/std_streambuf.h
+++ b/libstdc++-v3/include/std/std_streambuf.h
@@ -452,12 +452,10 @@ namespace std
int_type
sgetc()
{
- int_type __ret;
if (_M_in_cur < _M_in_end)
- __ret = traits_type::to_int_type(*(this->gptr()));
+ return traits_type::to_int_type(*(this->gptr()));
else
- __ret = this->underflow();
- return __ret;
+ return this->underflow();
}
/**
diff --git a/libstdc++-v3/src/fstream.cc b/libstdc++-v3/src/fstream.cc
index 0f9b2ab..e79659d 100644
--- a/libstdc++-v3/src/fstream.cc
+++ b/libstdc++-v3/src/fstream.cc
@@ -41,10 +41,10 @@ namespace std
basic_filebuf<char>::_M_underflow_common(bool __bump)
{
int_type __ret = traits_type::eof();
- bool __testin = _M_mode & ios_base::in;
- bool __testout = _M_mode & ios_base::out;
+ const bool __testin = _M_mode & ios_base::in;
+ const bool __testout = _M_mode & ios_base::out;
// Sync with stdio.
- bool __sync = _M_buf_size <= 1;
+ const bool __sync = _M_buf_size <= 1;
if (__testin)
{
@@ -54,7 +54,7 @@ namespace std
if (_M_pback_init)
_M_pback_destroy();
- if (_M_in_cur && _M_in_cur < _M_in_end)
+ if (_M_in_cur < _M_in_end)
{
__ret = traits_type::to_int_type(*_M_in_cur);
if (__bump)
@@ -64,8 +64,8 @@ namespace std
// Sync internal and external buffers.
// NB: __testget -> __testput as _M_buf_unified here.
- bool __testget = _M_in_cur && _M_in_beg < _M_in_cur;
- bool __testinit = _M_is_indeterminate();
+ const bool __testget = _M_in_beg < _M_in_cur;
+ const bool __testinit = _M_is_indeterminate();
if (__testget)
{
if (__testout)
@@ -123,10 +123,10 @@ namespace std
basic_filebuf<wchar_t>::_M_underflow_common(bool __bump)
{
int_type __ret = traits_type::eof();
- bool __testin = _M_mode & ios_base::in;
- bool __testout = _M_mode & ios_base::out;
+ const bool __testin = _M_mode & ios_base::in;
+ const bool __testout = _M_mode & ios_base::out;
// Sync with stdio.
- bool __sync = _M_buf_size <= 1;
+ const bool __sync = _M_buf_size <= 1;
if (__testin)
{
@@ -136,7 +136,7 @@ namespace std
if (_M_pback_init)
_M_pback_destroy();
- if (_M_in_cur && _M_in_cur < _M_in_end)
+ if (_M_in_cur < _M_in_end)
{
__ret = traits_type::to_int_type(*_M_in_cur);
if (__bump)
@@ -146,8 +146,8 @@ namespace std
// Sync internal and external buffers.
// NB: __testget -> __testput as _M_buf_unified here.
- bool __testget = _M_in_cur && _M_in_beg < _M_in_cur;
- bool __testinit = _M_is_indeterminate();
+ const bool __testget = _M_in_beg < _M_in_cur;
+ const bool __testinit = _M_is_indeterminate();
if (__testget)
{
if (__testout)