+2007-11-16 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/locale_facets.tcc (__verify_grouping): Move...
+ * src/locale_facets.cc: ... here.
+ * config/abi/pre/gnu.ver: Update exports.
+
2007-11-15 Paolo Carlini <pcarlini@suse.de>
* include/bits/istream.tcc (basic_istream<>::sentry::
_ZNSt15basic_streambufI[cw]St11char_traitsI[cw]EE6stosscEv;
+ _ZSt17__verify_grouping*;
+
} GLIBCXX_3.4.9;
# Symbols in the support library (libsupc++) have their own tag.
// 1,222,444 == __grouping_tmp of "\1\3\3"
// __grouping is parsed R to L
// 1,222,444 == __grouping of "\3" == "\3\3\3"
- static bool
+ bool
__verify_grouping(const char* __grouping, size_t __grouping_size,
const string& __grouping_tmp);
_Traits::copy(__news + __plen, __olds + __mod, __oldlen - __mod);
}
- bool
- __verify_grouping(const char* __grouping, size_t __grouping_size,
- const string& __grouping_tmp)
- {
- 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;
-
- // Parsed number groupings have to match the
- // numpunct::grouping string exactly, starting at the
- // right-most point of the parsed sequence of elements ...
- for (size_t __j = 0; __j < __min && __test; --__i, ++__j)
- __test = __grouping_tmp[__i] == __grouping[__j];
- for (; __i && __test; --__i)
- __test = __grouping_tmp[__i] == __grouping[__min];
- // ... but the first parsed grouping can be <= numpunct
- // grouping (only do the check if the numpunct char is > 0
- // because <= 0 means any size is ok).
- if (static_cast<signed char>(__grouping[__min]) > 0)
- __test &= __grouping_tmp[0] <= __grouping[__min];
- return __test;
- }
-
template<typename _CharT>
_CharT*
__add_grouping(_CharT* __s, _CharT __sep,
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+// 2006, 2006
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
*__fptr = '\0';
}
-_GLIBCXX_END_NAMESPACE
+ bool
+ __verify_grouping(const char* __grouping, size_t __grouping_size,
+ const string& __grouping_tmp)
+ {
+ 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;
+
+ // Parsed number groupings have to match the
+ // numpunct::grouping string exactly, starting at the
+ // right-most point of the parsed sequence of elements ...
+ for (size_t __j = 0; __j < __min && __test; --__i, ++__j)
+ __test = __grouping_tmp[__i] == __grouping[__j];
+ for (; __i && __test; --__i)
+ __test = __grouping_tmp[__i] == __grouping[__min];
+ // ... but the first parsed grouping can be <= numpunct
+ // grouping (only do the check if the numpunct char is > 0
+ // because <= 0 means any size is ok).
+ if (static_cast<signed char>(__grouping[__min]) > 0)
+ __test &= __grouping_tmp[0] <= __grouping[__min];
+ return __test;
+ }
+_GLIBCXX_END_NAMESPACE