def9790d51
2001-12-14 Benjamin Kosnik <bkoz@redhat.com> Clean up initialization and simplfy caching of underlying "C" locale objects. * src/localename.cc (locale::_Impl::_Impl(string, size_t): Unconditionally create __clocale object for all named locales, including "C" and "POSIX". * config/locale/c_locale_generic.cc (locale::facet::_S_create_c_locale): Always set __cloc to zero. * config/locale/c_locale_gnu.cc: Always delete. * include/bits/localefwd.h (locale::facet::_S_c_locale): New. * src/locale.cc (locale::classic()): Initialize locale::facet::_S_c_locale. (locale::facet::_S_c_locale): Define. * include/bits/locale_facets.h: Add ctype_byname<wchar_t> ctor specialization. * src/locale.cc: Add definition here. * config/os/gnu-linux/bits/ctype_inline.h: Tweak. * config/os/gnu-linux/bits/ctype_noninline.h: Adjust initializations. * include/bits/locale_facets.h (ctype<char>::_M_c_locale_ctype): Add. Adjust ctors, dtors. (ctype<char>::_M_toupper): Remove const&. (ctype<char>::_M_tolower): Remove const&. (ctype<char>::_M_ctable): Remove const&. * include/bits/locale_facets.h (collate): Clean up initialization of _M_c_locale_collate in ctors and dtors. * config/locale/collate_members_gnu.cc: Always use extended functions. * include/bits/locale_facets.h (messages): Clean up inits in ctor/dtor. (messages_byname): Same. * config/locale/messages_members_generic.h (messages::~messages): Remove. * config/locale/messages_members_gnu.h: Same. * include/bits/localefwd.h: Clean. Move dtor definitions to * src/locale.cc: Here. * testsuite/22_locale/facet.cc: Fix spelling. Named locale support for ctype<wchar_t>. * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add variable ctype_members_* bits. * aclocal.m4: Regenerate. * configure: Regenerate. * src/Makefile.am (sources): Add ctype.cc. * src/Makefile.in: Regenerate. * config/locale/ctype_members_generic.cc: New file. * config/locale/ctype_members_gnu.cc: New file. * src/locale.cc: Remove ctype<wchart_t> definitions. From-SVN: r48034 |
||
---|---|---|
.. | ||
codecvt_members_char_char.cc | ||
codecvt_members_unicode_char.cc | ||
codecvt_members_unicode_wchar_t.cc | ||
codecvt_members_wchar_t_char.cc | ||
codecvt.cc | ||
collate_byname.cc | ||
collate_members_char.cc | ||
collate_members_wchar_t.cc | ||
collate.cc | ||
ctor_copy_dtor.cc | ||
ctype_members_char.cc | ||
ctype_members_wchar_t.cc | ||
ctype.cc | ||
facet.cc | ||
global_templates.cc | ||
members.cc | ||
messages_byname.cc | ||
messages_members_char.cc | ||
messages.cc | ||
money_get_members_char.cc | ||
money_get_members_wchar_t.cc | ||
money_get.cc | ||
money_put_members_char.cc | ||
money_put_members_wchar_t.cc | ||
money_put.cc | ||
moneypunct_byname.cc | ||
moneypunct_members_char.cc | ||
moneypunct_members_wchar_t.cc | ||
moneypunct.cc | ||
num_get_members_char.cc | ||
num_get_members_wchar_t.cc | ||
num_get.cc | ||
num_put_members_char.cc | ||
num_put_members_wchar_t.cc | ||
num_put.cc | ||
numpunct_byname.cc | ||
numpunct_members_char.cc | ||
numpunct_members_wchar_t.cc | ||
numpunct.cc | ||
operators.cc | ||
static_members.cc | ||
time_get_members_char.cc | ||
time_get_members_wchar_t.cc | ||
time_get.cc | ||
time_put_members_char.cc | ||
time_put_members_wchar_t.cc | ||
time_put.cc |