]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
c_locale.cc: Add back <cmath> and <cstdlib>.
authorPaolo Carlini <pcarlini@suse.de>
Wed, 29 Oct 2003 13:34:04 +0000 (13:34 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Wed, 29 Oct 2003 13:34:04 +0000 (13:34 +0000)
2003-10-29  Paolo Carlini  <pcarlini@suse.de>

* config/locale/generic/c_locale.cc: Add back <cmath>
and <cstdlib>.

* include/bits/locale_facets.tcc
(num_get::_M_extract_float): Clean up.

From-SVN: r73036

libstdc++-v3/ChangeLog
libstdc++-v3/config/locale/generic/c_locale.cc
libstdc++-v3/include/bits/locale_facets.tcc

index 264136df7e4a53ac4d9316f651439027482ac214..e68a725033674318b319a735d268bf5738439202 100644 (file)
@@ -1,3 +1,11 @@
+2003-10-29  Paolo Carlini  <pcarlini@suse.de>
+
+       * config/locale/generic/c_locale.cc: Add back <cmath> and
+       <cstdlib>.
+
+       * include/bits/locale_facets.tcc (num_get::_M_extract_float):
+       Clean up.
+
 2003-10-29  Paolo Carlini  <pcarlini@suse.de>
 
        * include/bits/locale_facets.tcc (time_put::put): Absolutely
index 4697357c561ebe655b134f647400c7053890cf66..d0f81b8b4e3f2bf8d21e26975cef99cc125c5375 100644 (file)
@@ -34,6 +34,8 @@
 // Written by Benjamin Kosnik <bkoz@redhat.com>
 
 #include <cerrno>  // For errno
+#include <cmath>  // For isinf, finite, finitef, fabs
+#include <cstdlib>  // For strof, strtold
 #include <locale>
 
 #ifdef _GLIBCXX_HAVE_IEEEFP_H
index 681a4c3870e3f9e561e9c33291d8941796ae2f4c..fae6988b03ce7ae781d3bd9cb1ef0530e8285a8d 100644 (file)
@@ -169,7 +169,7 @@ namespace std
       string __found_grouping;
       int __sep_pos = 0;
       bool __e;
-      while (__beg != __end)
+      for (; __beg != __end; ++__beg)
         {
          // Only look in digits.
          const char_type __c = *__beg;
@@ -182,7 +182,6 @@ namespace std
              __xtrc += _S_atoms_in[__p - __lit];
              __found_mantissa = true;
              ++__sep_pos;
-             ++__beg;
            }
           else if (__traits_type::eq(__c, __lc->_M_thousands_sep) 
                   && __lc->_M_use_grouping && !__found_dec)
@@ -193,7 +192,6 @@ namespace std
                 {
                   __found_grouping += static_cast<char>(__sep_pos);
                   __sep_pos = 0;
-                 ++__beg;
                 }
               else
                {
@@ -211,7 +209,6 @@ namespace std
                __found_grouping += static_cast<char>(__sep_pos);
              __xtrc += '.';
              __found_dec = true;
-             ++__beg;
            }
          else if ((__e = __traits_type::eq(__c, __lit[_S_ie]) 
                    || __traits_type::eq(__c, __lit[_S_iE])) 
@@ -225,13 +222,12 @@ namespace std
                {
                  const bool __plus = __traits_type::eq(*__beg, __lit[_S_iplus]);
                  if (__plus || __traits_type::eq(*__beg, __lit[_S_iminus]))
-                   {
-                     __xtrc += __plus ? _S_atoms_in[_S_iplus] 
-                                      : _S_atoms_in[_S_iminus];
-                     ++__beg;
-                   }
+                   __xtrc += __plus ? _S_atoms_in[_S_iplus] 
+                                    : _S_atoms_in[_S_iminus];
+                 __found_sci = true;
                }
-             __found_sci = true;
+             else
+               break;
            }
          else
            // Not a valid input item.