diff options
author | Paolo Carlini <pcarlini@suse.de> | 2007-01-28 18:40:42 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2007-01-28 18:40:42 +0000 |
commit | 226a2e08e50f39f910b847f04fb16ab2cac6d5e1 (patch) | |
tree | df114705c63752201601d1f2f2f22989ed2ffe17 | |
parent | 5cf10afb0b7887fdd9e0c187be8a39fb65aa2f38 (diff) | |
download | gcc-226a2e08e50f39f910b847f04fb16ab2cac6d5e1.zip gcc-226a2e08e50f39f910b847f04fb16ab2cac6d5e1.tar.gz gcc-226a2e08e50f39f910b847f04fb16ab2cac6d5e1.tar.bz2 |
locale_facets.tcc (num_get<>::do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, bool&), [...]): -Wconversion and -Woverflow fixes.
2007-01-28 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
iter_type, ios_base&, ios_base::iostate&, bool&),
num_put<>::_M_insert_int(_OutIter, ios_base&, _CharT, _ValueT)):
-Wconversion and -Woverflow fixes.
* include/bits/istream.tcc (operator>>(int&), operator>>(short&)):
Likewise.
* include/std/valarray (valarray<>::shift, cshift): Likewise.
From-SVN: r121264
-rw-r--r-- | libstdc++-v3/ChangeLog | 10 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/istream.tcc | 7 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/locale_facets.tcc | 10 | ||||
-rw-r--r-- | libstdc++-v3/include/std/valarray | 12 |
4 files changed, 26 insertions, 13 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 9761686..59e1871 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,13 @@ +2007-01-28 Paolo Carlini <pcarlini@suse.de> + + * include/bits/locale_facets.tcc (num_get<>::do_get(iter_type, + iter_type, ios_base&, ios_base::iostate&, bool&), + num_put<>::_M_insert_int(_OutIter, ios_base&, _CharT, _ValueT)): + -Wconversion and -Woverflow fixes. + * include/bits/istream.tcc (operator>>(int&), operator>>(short&)): + Likewise. + * include/std/valarray (valarray<>::shift, cshift): Likewise. + 2007-01-26 Paolo Carlini <pcarlini@suse.de> PR libstdc++/30586 diff --git a/libstdc++-v3/include/bits/istream.tcc b/libstdc++-v3/include/bits/istream.tcc index 38caddc..c6a8846 100644 --- a/libstdc++-v3/include/bits/istream.tcc +++ b/libstdc++-v3/include/bits/istream.tcc @@ -1,6 +1,7 @@ // istream classes -*- C++ -*- -// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, +// 2006, 2007 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -121,7 +122,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) { if (numeric_limits<short>::min() <= __l && __l <= numeric_limits<short>::max()) - __n = __l; + __n = short(__l); else this->setstate(ios_base::failbit); } @@ -141,7 +142,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) { if (numeric_limits<int>::min() <= __l && __l <= numeric_limits<int>::max()) - __n = __l; + __n = int(__l); else this->setstate(ios_base::failbit); } diff --git a/libstdc++-v3/include/bits/locale_facets.tcc b/libstdc++-v3/include/bits/locale_facets.tcc index 1eba5ae..80c0cc2 100644 --- a/libstdc++-v3/include/bits/locale_facets.tcc +++ b/libstdc++-v3/include/bits/locale_facets.tcc @@ -725,7 +725,7 @@ _GLIBCXX_BEGIN_LDBL_NAMESPACE long __l = -1; __beg = _M_extract_int(__beg, __end, __io, __err, __l); if (__l == 0 || __l == 1) - __v = __l; + __v = bool(__l); else __err |= ios_base::failbit; } @@ -764,9 +764,9 @@ _GLIBCXX_BEGIN_LDBL_NAMESPACE __testeof = true; } if (__testf && __n == __lc->_M_falsename_size) - __v = 0; + __v = false; else if (__testt && __n == __lc->_M_truename_size) - __v = 1; + __v = true; else __err |= ios_base::failbit; @@ -994,7 +994,9 @@ _GLIBCXX_BEGIN_LDBL_NAMESPACE const ios_base::fmtflags __basefield = __flags & ios_base::basefield; const bool __dec = (__basefield != ios_base::oct && __basefield != ios_base::hex); - const __unsigned_type __u = (__v > 0 || !__dec) ? __v : -__v; + const __unsigned_type __u = ((__v > 0 || !__dec) + ? __unsigned_type(__v) + : -__unsigned_type(__v)); int __len = __int_to_char(__cs + __ilen, __u, __lit, __flags, __dec); __cs += __ilen - __len; diff --git a/libstdc++-v3/include/std/valarray b/libstdc++-v3/include/std/valarray index 87f30ec..50528bf 100644 --- a/libstdc++-v3/include/std/valarray +++ b/libstdc++-v3/include/std/valarray @@ -796,7 +796,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) else if (__n > 0) // shift left { if (size_t(__n) > _M_size) - __n = _M_size; + __n = int(_M_size); std::__valarray_copy_construct(_M_data + __n, _M_data + _M_size, __tmp_M_data); @@ -805,8 +805,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } else // shift right { - if (size_t(-__n) > _M_size) - __n = -_M_size; + if (-size_t(__n) > _M_size) + __n = -int(_M_size); std::__valarray_copy_construct(_M_data, _M_data + _M_size + __n, __tmp_M_data - __n); @@ -837,7 +837,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) else if (__n > 0) // cshift left { if (size_t(__n) > _M_size) - __n = __n % _M_size; + __n = int(__n % _M_size); std::__valarray_copy_construct(_M_data, _M_data + __n, __tmp_M_data + _M_size - __n); @@ -846,8 +846,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) } else // cshift right { - if (size_t(-__n) > _M_size) - __n = -(size_t(-__n) % _M_size); + if (-size_t(__n) > _M_size) + __n = -int(-size_t(__n) % _M_size); std::__valarray_copy_construct(_M_data + _M_size + __n, _M_data + _M_size, __tmp_M_data); |