2002-04-01 Paolo Carlini <pcarlini@unitus.it>
authorPaolo Carlini <pcarlini@unitus.it>
Mon, 1 Apr 2002 08:55:05 +0000 (10:55 +0200)
committerPaolo Carlini <paolo@gcc.gnu.org>
Mon, 1 Apr 2002 08:55:05 +0000 (08:55 +0000)
* config/locale/ieee_1003.1-2001/codecvt_specializations.h
(codecvt::do_out, codecvt::do_unshift, codecvt::do_in):
By definition, sizeof(char) == 1.
* include/bits/locale_facets.tcc (money_get::do_get,
money_put::do_put): Ditto.
* testsuite/21_strings/inserters_extractors.cc
(test04): Ditto.

From-SVN: r51685

libstdc++-v3/ChangeLog
libstdc++-v3/config/locale/ieee_1003.1-2001/codecvt_specializations.h
libstdc++-v3/include/bits/locale_facets.tcc
libstdc++-v3/testsuite/21_strings/inserters_extractors.cc

index 948d4d5..e4ae7ef 100644 (file)
@@ -1,3 +1,13 @@
+2002-04-01  Paolo Carlini  <pcarlini@unitus.it>
+
+       * config/locale/ieee_1003.1-2001/codecvt_specializations.h
+       (codecvt::do_out, codecvt::do_unshift, codecvt::do_in):
+       By definition, sizeof(char) == 1.
+       * include/bits/locale_facets.tcc (money_get::do_get,
+       money_put::do_put): Ditto.
+       * testsuite/21_strings/inserters_extractors.cc
+       (test04): Ditto.
+
 2002-03-30  Richard Henderson  <rth@redhat.com>
 
        PR c++/3719
index 8cac299..891c66b 100644 (file)
        {
          typedef state_type::__desc_type       __desc_type;
          const __desc_type* __desc = __state._M_get_out_descriptor();
-         const size_t __fmultiple = sizeof(intern_type) / sizeof(char);
+         const size_t __fmultiple = sizeof(intern_type);
          size_t __fbytes = __fmultiple * (__from_end - __from);
-         const size_t __tmultiple = sizeof(extern_type) / sizeof(char);
+         const size_t __tmultiple = sizeof(extern_type);
          size_t __tbytes = __tmultiple * (__to_end - __to); 
          
          // Argument list for iconv specifies a byte sequence. Thus,
        {
          typedef state_type::__desc_type       __desc_type;
          const __desc_type* __desc = __state._M_get_in_descriptor();
-         const size_t __tmultiple = sizeof(intern_type) / sizeof(char);
+         const size_t __tmultiple = sizeof(intern_type);
          size_t __tlen = __tmultiple * (__to_end - __to); 
          
          // Argument list for iconv specifies a byte sequence. Thus,
        {
          typedef state_type::__desc_type       __desc_type;
          const __desc_type* __desc = __state._M_get_in_descriptor();
-         const size_t __fmultiple = sizeof(extern_type) / sizeof(char);
+         const size_t __fmultiple = sizeof(extern_type);
          size_t __flen = __fmultiple * (__from_end - __from);
-         const size_t __tmultiple = sizeof(intern_type) / sizeof(char);
+         const size_t __tmultiple = sizeof(intern_type);
          size_t __tlen = __tmultiple * (__to_end - __to); 
          
          // Argument list for iconv specifies a byte sequence. Thus,
index 30e6632..27fc878 100644 (file)
@@ -938,7 +938,7 @@ namespace std
       __beg = this->do_get(__beg, __end, __intl, __io, __err, __str); 
 
       const int __n = numeric_limits<long double>::digits10;
-      char* __cs = static_cast<char*>(__builtin_alloca(sizeof(char) * __n));
+      char* __cs = static_cast<char*>(__builtin_alloca(__n));
       const locale __loc = __io.getloc();
       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc); 
       const _CharT* __wcs = __str.c_str();
@@ -1152,20 +1152,20 @@ namespace std
 #ifdef _GLIBCPP_USE_C99
       // First try a buffer perhaps big enough.
       int __cs_size = 64;
-      char* __cs = static_cast<char*>(__builtin_alloca(sizeof(char) * __cs_size));
+      char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
       int __len = __convert_from_v(__cs, __cs_size, "%.01Lf", __units, _S_c_locale);
       // If the buffer was not large enough, try again with the correct size.
       if (__len >= __cs_size)
        {
          __cs_size = __len + 1;
-         __cs = static_cast<char*>(__builtin_alloca(sizeof(char) * __cs_size));
+         __cs = static_cast<char*>(__builtin_alloca(__cs_size));
          __len = __convert_from_v(__cs, __cs_size, "%.01Lf", __units, _S_c_locale);
        }
 #else
       // max_exponent10 + 1 for the integer part, + 4 for sign, decimal point,
       // decimal digit, '\0'. 
       const int __cs_size = numeric_limits<long double>::max_exponent10 + 5;
-      char* __cs = static_cast<char*>(__builtin_alloca(sizeof(char) * __cs_size));
+      char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
       int __len = __convert_from_v(__cs, 0, "%.01Lf", __units, _S_c_locale);
 #endif
       _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __cs_size));
index b83e5aa..5d1d9f5 100644 (file)
@@ -155,7 +155,7 @@ void test04(int size)
 {
   bool test = true;
   std::string str(size, 's');
-  int expected_size = (2 * (size + sizeof(char)));
+  int expected_size = 2 * (size + 1);
   std::ostringstream oss(str);
   
   // sanity checks