diff options
author | Benjamin Kosnik <bkoz@redhat.com> | 2002-01-22 23:09:04 +0000 |
---|---|---|
committer | Benjamin Kosnik <bkoz@gcc.gnu.org> | 2002-01-22 23:09:04 +0000 |
commit | 4b9aaf6379db36f4ab90875a8aaef4e3c98269b7 (patch) | |
tree | 8a88f2303e94580a91a48af4702d7419f4f44bd1 /libstdc++-v3/include/bits/locale_facets.h | |
parent | 98c3a44f25ca90b1a9f0d0f6c981077ef72ebf3e (diff) | |
download | gcc-4b9aaf6379db36f4ab90875a8aaef4e3c98269b7.zip gcc-4b9aaf6379db36f4ab90875a8aaef4e3c98269b7.tar.gz gcc-4b9aaf6379db36f4ab90875a8aaef4e3c98269b7.tar.bz2 |
Audit for LANG independence.
2002-01-22 Benjamin Kosnik <bkoz@redhat.com>
Audit for LANG independence.
* include/bits/localefwd.h: Tweaks.
* include/bits/locale_facets.tcc (money_get::do_get(long double)):
Use __convert_to_v.
(time_get::do_get_year): Same.
(__convert_from_v): Add.
(num_put::_M_convert_float): Use.
(num_put::_M_convert_int): Same.
(money_put::do_put): Same.
* src/locale-inst.cc: Add instantiations for __convert_from_v.
* config/locale/time_members_gnu.cc: Cleanup setlocale usage.
* config/locale/time_members_generic.cc:
* config/locale/messages_members_gnu.cc: Same.
* config/locale/messages_members_gnu.h: Same.
* testsuite/22_locale/codecvt_members_wchar_t_char.cc (test02): New.
* testsuite/22_locale/codecvt_members_char_char.cc (test02): New.
* testsuite/22_locale/collate_members_wchar_t.cc (test02): New.
* testsuite/22_locale/collate_members_char.cc (test02): New.
* testsuite/22_locale/ctype_members_wchar_t.cc (test03): New.
* testsuite/22_locale/ctype_members_char.cc (test03): New.
* testsuite/22_locale/messages_members_char.cc (test02): New.
* testsuite/22_locale/moneypunct_members_wchar_t.cc (test02): New.
* testsuite/22_locale/moneypunct_members_char.cc (test02): New.
* testsuite/22_locale/money_get_members_wchar_t.cc (test04): New.
* testsuite/22_locale/money_get_members_char.cc (test04): New.
* testsuite/22_locale/money_put_members_wchar_t.cc (test04): New.
* testsuite/22_locale/money_put_members_char.cc (test04): New.
* testsuite/22_locale/numpunct_members_wchar_t.cc (test02): New.
* testsuite/22_locale/numpunct_members_char.cc (test02): New.
* testsuite/22_locale/time_put_members_wchar_t.cc (test03): New.
* testsuite/22_locale/time_put_members_char.cc (test03): New.
* testsuite/22_locale/time_get_members_wchar_t.cc (test07): New.
* testsuite/22_locale/time_get_members_char.cc (test07): New.
* testsuite/22_locale/num_get_members_wchar_t.cc (test03): New.
* testsuite/22_locale/num_get_members_char.cc (test03): New.
* testsuite/22_locale/num_put_members_wchar_t.cc (test03): New.
* testsuite/22_locale/num_put_members_char.cc (test03): New.
* testsuite/22_locale/time_get_members_char.cc: Fixups for global
locale issues.
* testsuite/22_locale/time_get_members_char.cc: Same.
2002-01-22 Benjamin Kosnik <bkoz@redhat.com>
libstdc++/5280
* include/bits/localefwd.h: Tweak comments.
* include/bits/locale_facets.h (__convert_to_v): Add.
* include/bits/locale_facets.tcc (num_get::do_get(double)): Use it.
(num_get::do_get(float)): Same.
(num_get::do_get(long double)): Same.
(num_get::do_get(bool)): Same.
(num_get::do_get(long)): Same.
(num_get::do_get(long long)): Same.
(num_get::do_get(unsigned int)): Same.
(num_get::do_get(unsigned short)): Same.
(num_get::do_get(unsigned long)): Same.
(num_get::do_get(unsigned long long)): Same.
* config/locale/c_locale_gnu.cc (__convert_to_v): Specialize.
* config/locale/c_locale_generic.cc: Same.
From-SVN: r49108
Diffstat (limited to 'libstdc++-v3/include/bits/locale_facets.h')
-rw-r--r-- | libstdc++-v3/include/bits/locale_facets.h | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/libstdc++-v3/include/bits/locale_facets.h b/libstdc++-v3/include/bits/locale_facets.h index 9f435be..98e1c07 100644 --- a/libstdc++-v3/include/bits/locale_facets.h +++ b/libstdc++-v3/include/bits/locale_facets.h @@ -1,6 +1,7 @@ // Locale support -*- C++ -*- -// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 +// Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -45,7 +46,7 @@ #ifdef _GLIBCPP_USE_WCHAR_T # include <cwctype> // For wctype_t #endif -#include <ios> // For ios_base +#include <ios> // For ios_base namespace std { @@ -53,7 +54,7 @@ namespace std // Include host and configuration specific ctype enums for ctype_base. #include <bits/ctype_base.h> - // __ctype_abstract_base is the common base for ctype<_CharT>. + // Common base for ctype<_CharT>. template<typename _CharT> class __ctype_abstract_base : public locale::facet, public ctype_base { @@ -417,9 +418,9 @@ namespace std // 22.2.2 The numeric category. - class __num_base + class __num_base { - public: + protected: // Used to establish gating factor for base 16 input. static const double _S_scale_hex; @@ -438,6 +439,7 @@ namespace std _M_size = 21 + 1 }; + // num_put // Construct and return valid scanf format for floating point types. static bool _S_format_float(const ios_base& __io, char* __fptr, char __mod, @@ -448,6 +450,7 @@ namespace std _S_format_int(const ios_base& __io, char* __fptr, char __mod, char __modl); }; + template<typename _CharT> class numpunct : public locale::facet { @@ -885,7 +888,7 @@ namespace std template<> size_t - collate<wchar_t>::_M_transform_helper(wchar_t*, const wchar_t*, + collate<wchar_t>::_M_transform_helper(wchar_t*, const wchar_t*, size_t) const; #endif |