locale_facets.tcc (num_get<>::do_get(iter_type, iter_type, ios_base&, ios_base::iosta...
authorPaolo Carlini <pcarlini@suse.de>
Sun, 28 Jan 2007 18:40:42 +0000 (18:40 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Sun, 28 Jan 2007 18:40:42 +0000 (18:40 +0000)
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

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/istream.tcc
libstdc++-v3/include/bits/locale_facets.tcc
libstdc++-v3/include/std/valarray

index 97616867d985b644266fe9fd4ff3f3df3269647f..59e187127813992ecd38e19c6c97af2b219d66e8 100644 (file)
@@ -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
index 38caddc4de26dd3d1c890464e633c27ddb38990b..c6a884650ddd84c49491862ac977e51869f364c7 100644 (file)
@@ -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);
        }
index 1eba5ae00779831bde39483f3d3b8f23588d3563..80c0cc2060233d5d2244fd26ec4f7c85f8e02dc3 100644 (file)
@@ -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;
 
index 87f30ec4e028abc76fc024aaee485248f0f2eabb..50528bfa7fd2a1641b58d9b73e2edc7cd0127b61 100644 (file)
@@ -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);