]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
ctype_members.cc (ctype<char>::_M_narrow_init, [...]): Don't define here.
authorPaolo Carlini <paolo.carlini@oracle.com>
Wed, 10 Sep 2008 17:37:30 +0000 (17:37 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Wed, 10 Sep 2008 17:37:30 +0000 (17:37 +0000)
2008-09-10  Paolo Carlini  <paolo.carlini@oracle.com>

* config/locale/darwin/ctype_members.cc (ctype<char>::_M_narrow_init,
ctype<char>::_M_widen_init): Don't define here.
* config/locale/gnu/ctype_members.cc: Likewise.
* config/locale/generic/ctype_members.cc: Likewise.
* src/ctype.cc: Define here.

From-SVN: r140240

libstdc++-v3/ChangeLog
libstdc++-v3/config/locale/darwin/ctype_members.cc
libstdc++-v3/config/locale/generic/ctype_members.cc
libstdc++-v3/config/locale/gnu/ctype_members.cc
libstdc++-v3/src/ctype.cc

index b3ef9c0b46abee9895d4bd316c29602065e9e03c..03371b4c421f3c2bb6865867190baa9b88077796 100644 (file)
@@ -1,3 +1,11 @@
+2008-09-10  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * config/locale/darwin/ctype_members.cc (ctype<char>::_M_narrow_init,
+       ctype<char>::_M_widen_init): Don't define here.
+       * config/locale/gnu/ctype_members.cc: Likewise.
+       * config/locale/generic/ctype_members.cc: Likewise.
+       * src/ctype.cc: Define here.
+
 2008-09-10  Paolo Carlini  <paolo.carlini@oracle.com>
 
        PR libstdc++/37455
index f839971469a7cb9a027f69c8d96b65b62fd5b30b..63a422c396ae5942a70ce3409b39cb614acd8af3 100644 (file)
 
 namespace std
 {
-  // Fill in the narrowing cache and flag whether all values are
-  // valid or not.  _M_narrow_ok is set to 2 if memcpy can't
-  // be used.
-  void
-  ctype<char>::
-  _M_narrow_init() const
-  {
-    char __tmp[sizeof(_M_narrow)];
-    for (size_t __i = 0; __i < sizeof(_M_narrow); ++__i)
-      __tmp[__i] = __i;
-    do_narrow(__tmp, __tmp + sizeof(__tmp), 0, _M_narrow);
-    
-    _M_narrow_ok = 1;
-    if (__builtin_memcmp(__tmp, _M_narrow, sizeof(_M_narrow)))
-      _M_narrow_ok = 2;
-    else
-      {
-       // Deal with the special case of zero: renarrow with a
-       // different default and compare.
-       char __c;
-       do_narrow(__tmp, __tmp + 1, 1, &__c);
-       if (__c == 1)
-         _M_narrow_ok = 2;
-      }
-  }
-
-  void
-  ctype<char>::
-  _M_widen_init() const
-  {
-    char __tmp[sizeof(_M_widen)];
-    for (size_t __i = 0; __i < sizeof(_M_widen); ++__i)
-      __tmp[__i] = __i;
-    do_widen(__tmp, __tmp + sizeof(__tmp), _M_widen);
-    
-    _M_widen_ok = 1;
-    // Set _M_widen_ok to 2 if memcpy can't be used.
-    if (__builtin_memcmp(__tmp, _M_widen, sizeof(_M_widen)))
-      _M_widen_ok = 2;
-  }
-
   // NB: The other ctype<char> specializations are in src/locale.cc and
   // various /config/os/* files.
 
index 036f685d0e78e7a683ac62f988df6377eb8f120b..6b4fbd7ea7d9edffcefc62d55cd400cc45e4a3ea 100644 (file)
 
 _GLIBCXX_BEGIN_NAMESPACE(std)
 
-  // Fill in the narrowing cache and flag whether all values are
-  // valid or not.  _M_narrow_ok is set to 2 if memcpy can't
-  // be used.
-  void
-  ctype<char>::
-  _M_narrow_init() const
-  {
-    char __tmp[sizeof(_M_narrow)];
-    for (size_t __i = 0; __i < sizeof(_M_narrow); ++__i)
-      __tmp[__i] = __i;
-    do_narrow(__tmp, __tmp + sizeof(__tmp), 0, _M_narrow);
-    
-    _M_narrow_ok = 1;
-    if (__builtin_memcmp(__tmp, _M_narrow, sizeof(_M_narrow)))
-      _M_narrow_ok = 2;
-    else
-      {
-       // Deal with the special case of zero: renarrow with a
-       // different default and compare.
-       char __c;
-       do_narrow(__tmp, __tmp + 1, 1, &__c);
-       if (__c == 1)
-         _M_narrow_ok = 2;
-      }
-  }
-
-  void
-  ctype<char>::
-  _M_widen_init() const
-  {
-    char __tmp[sizeof(_M_widen)];
-    for (size_t __i = 0; __i < sizeof(_M_widen); ++__i)
-      __tmp[__i] = __i;
-    do_widen(__tmp, __tmp + sizeof(__tmp), _M_widen);
-    
-    _M_widen_ok = 1;
-    // Set _M_widen_ok to 2 if memcpy can't be used.
-    if (__builtin_memcmp(__tmp, _M_widen, sizeof(_M_widen)))
-      _M_widen_ok = 2;
-  }
-
   // NB: The other ctype<char> specializations are in src/locale.cc and
   // various /config/os/* files.
   ctype_byname<char>::ctype_byname(const char* __s, size_t __refs)
index f12433976983c2b6941c2f8cea7653299902d791..9e517605914266551f62a9c3a1d323d0bcbddcbd 100644 (file)
 
 _GLIBCXX_BEGIN_NAMESPACE(std)
 
-  // Fill in the narrowing cache and flag whether all values are
-  // valid or not.  _M_narrow_ok is set to 2 if memcpy can't
-  // be used.
-  void
-  ctype<char>::
-  _M_narrow_init() const
-  {
-    char __tmp[sizeof(_M_narrow)];
-    for (size_t __i = 0; __i < sizeof(_M_narrow); ++__i)
-      __tmp[__i] = __i;
-    do_narrow(__tmp, __tmp + sizeof(__tmp), 0, _M_narrow);
-    
-    _M_narrow_ok = 1;
-    if (__builtin_memcmp(__tmp, _M_narrow, sizeof(_M_narrow)))
-      _M_narrow_ok = 2;
-    else
-      {
-       // Deal with the special case of zero: renarrow with a
-       // different default and compare.
-       char __c;
-       do_narrow(__tmp, __tmp + 1, 1, &__c);
-       if (__c == 1)
-         _M_narrow_ok = 2;
-      }
-  }
-
-  void
-  ctype<char>::
-  _M_widen_init() const
-  {
-    char __tmp[sizeof(_M_widen)];
-    for (size_t __i = 0; __i < sizeof(_M_widen); ++__i)
-      __tmp[__i] = __i;
-    do_widen(__tmp, __tmp + sizeof(__tmp), _M_widen);
-    
-    _M_widen_ok = 1;
-    // Set _M_widen_ok to 2 if memcpy can't be used.
-    if (__builtin_memcmp(__tmp, _M_widen, sizeof(_M_widen)))
-      _M_widen_ok = 2;
-  }
-
   // NB: The other ctype<char> specializations are in src/locale.cc and
   // various /config/os/* files.
   ctype_byname<char>::ctype_byname(const char* __s, size_t __refs)
index a77e8e5b010926941bb8032fb77aa4842b9220e5..cb9c853906e8c3bb57bd56b0d7e717bf4f92e507 100644 (file)
@@ -1,5 +1,5 @@
 // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005,
-// 2006, 2007
+// 2006, 2007, 2008
 // Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
@@ -87,6 +87,47 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
       delete[] this->table(); 
   }
 
+  // Fill in the narrowing cache and flag whether all values are
+  // valid or not.  _M_narrow_ok is set to 2 if memcpy can't
+  // be used.
+  void
+  ctype<char>::
+  _M_narrow_init() const
+  {
+    char __tmp[sizeof(_M_narrow)];
+    for (size_t __i = 0; __i < sizeof(_M_narrow); ++__i)
+      __tmp[__i] = __i;
+    do_narrow(__tmp, __tmp + sizeof(__tmp), 0, _M_narrow);
+    
+    _M_narrow_ok = 1;
+    if (__builtin_memcmp(__tmp, _M_narrow, sizeof(_M_narrow)))
+      _M_narrow_ok = 2;
+    else
+      {
+       // Deal with the special case of zero: renarrow with a
+       // different default and compare.
+       char __c;
+       do_narrow(__tmp, __tmp + 1, 1, &__c);
+       if (__c == 1)
+         _M_narrow_ok = 2;
+      }
+  }
+
+  void
+  ctype<char>::
+  _M_widen_init() const
+  {
+    char __tmp[sizeof(_M_widen)];
+    for (size_t __i = 0; __i < sizeof(_M_widen); ++__i)
+      __tmp[__i] = __i;
+    do_widen(__tmp, __tmp + sizeof(__tmp), _M_widen);
+    
+    _M_widen_ok = 1;
+    // Set _M_widen_ok to 2 if memcpy can't be used.
+    if (__builtin_memcmp(__tmp, _M_widen, sizeof(_M_widen)))
+      _M_widen_ok = 2;
+  }
+
 #ifdef _GLIBCXX_USE_WCHAR_T
   ctype<wchar_t>::ctype(size_t __refs) 
   : __ctype_abstract_base<wchar_t>(__refs),