]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - libstdc++-v3/src/c++98/locale_facets.cc
New std::string implementation.
[thirdparty/gcc.git] / libstdc++-v3 / src / c++98 / locale_facets.cc
index b3ca5dc8c9d872c501aa413fe909fca711fe47a3..808d93721b749c3e7295cceeb15575dc53b326a7 100644 (file)
@@ -20,6 +20,7 @@
 // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 // <http://www.gnu.org/licenses/>.
 
+#define _GLIBCXX_USE_CXX11_ABI 0
 #include <locale>
 
 namespace std _GLIBCXX_VISIBILITY(default)
@@ -97,11 +98,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     *__fptr = '\0';
   }
 
-  bool
-  __verify_grouping(const char* __grouping, size_t __grouping_size,
-                   const string& __grouping_tmp) throw()
+  // This function is not exported but is needed internally, by the versions
+  // of __verify_grouping below and in src/c++11/cxx11-locale-inst.cc
+  extern bool
+  __verify_grouping_impl(const char* __grouping, size_t __grouping_size,
+                         const char* __grouping_tmp, size_t __grouping_tmp_size)
   {
-    const size_t __n = __grouping_tmp.size() - 1;
+    const size_t __n = __grouping_tmp_size - 1;
     const size_t __min = std::min(__n, size_t(__grouping_size - 1));
     size_t __i = __n;
     bool __test = true;
@@ -122,5 +125,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     return __test;
   }
 
+  bool
+  __verify_grouping(const char* __grouping, size_t __grouping_size,
+                   const string& __grouping_tmp) throw()
+  {
+    return __verify_grouping_impl(__grouping, __grouping_size,
+                                  __grouping_tmp.c_str(),
+                                  __grouping_tmp.size());
+  }
+
 _GLIBCXX_END_NAMESPACE_VERSION
 } // namespace