gcc/libstdc++-v3/testsuite/22_locale
Benjamin Kosnik def9790d51 Clean up initialization and simplfy caching of underlying "C" locale objects.
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
2001-12-15 07:05:04 +00:00
..
codecvt_members_char_char.cc c_locale_gnu.cc: Move facet info to separate files... 2001-08-28 06:19:35 +00:00
codecvt_members_unicode_char.cc c_locale_gnu.cc: Move facet info to separate files... 2001-08-28 06:19:35 +00:00
codecvt_members_unicode_wchar_t.cc c_locale_gnu.cc: Move facet info to separate files... 2001-08-28 06:19:35 +00:00
codecvt_members_wchar_t_char.cc c_locale_gnu.cc: Move facet info to separate files... 2001-08-28 06:19:35 +00:00
codecvt.cc codecvt.h: Add virtual member function declarations. 2001-10-31 20:05:33 +00:00
collate_byname.cc collate_byname.cc (test01): Fix. 2001-08-22 05:47:35 +00:00
collate_members_char.cc c_locale_gnu.cc: Move facet info to separate files... 2001-08-28 06:19:35 +00:00
collate_members_wchar_t.cc c_locale_gnu.cc: Move facet info to separate files... 2001-08-28 06:19:35 +00:00
collate.cc collate.cc: Compile-only. 2001-12-04 07:15:01 +00:00
ctor_copy_dtor.cc locale.cc (locale::locale(const char*)): Deal with locales named "". 2001-12-13 11:12:56 +00:00
ctype_members_char.cc Named locale support for ctype<char>. 2001-12-12 23:16:35 +00:00
ctype_members_wchar_t.cc Clean up initialization and simplfy caching of underlying "C" locale objects. 2001-12-15 07:05:04 +00:00
ctype.cc collate.cc: Compile-only. 2001-12-04 07:15:01 +00:00
facet.cc Clean up initialization and simplfy caching of underlying "C" locale objects. 2001-12-15 07:05:04 +00:00
global_templates.cc
members.cc
messages_byname.cc Implement std::messages. 2001-08-08 02:49:01 +00:00
messages_members_char.cc c_locale_gnu.cc: Move facet info to separate files... 2001-08-28 06:19:35 +00:00
messages.cc collate.cc: Compile-only. 2001-12-04 07:15:01 +00:00
money_get_members_char.cc numpunct_members_char.cc (test01): Remove redundant sanity checks. 2001-09-20 09:07:37 +00:00
money_get_members_wchar_t.cc numpunct_members_char.cc (test01): Remove redundant sanity checks. 2001-09-20 09:07:37 +00:00
money_get.cc collate.cc: Compile-only. 2001-12-04 07:15:01 +00:00
money_put_members_char.cc numpunct_members_char.cc (test01): Remove redundant sanity checks. 2001-09-20 09:07:37 +00:00
money_put_members_wchar_t.cc numpunct_members_char.cc (test01): Remove redundant sanity checks. 2001-09-20 09:07:37 +00:00
money_put.cc collate.cc: Compile-only. 2001-12-04 07:15:01 +00:00
moneypunct_byname.cc c_locale_gnu.cc: Minor tweaks. 2001-08-24 04:11:23 +00:00
moneypunct_members_char.cc numpunct_members_char.cc (test01): Remove redundant sanity checks. 2001-09-20 09:07:37 +00:00
moneypunct_members_wchar_t.cc numpunct_members_char.cc (test01): Remove redundant sanity checks. 2001-09-20 09:07:37 +00:00
moneypunct.cc collate.cc: Compile-only. 2001-12-04 07:15:01 +00:00
num_get_members_char.cc Numeric facets cleanup. 2001-11-28 04:07:11 +00:00
num_get_members_wchar_t.cc Numeric facets cleanup. 2001-11-28 06:29:55 +00:00
num_get.cc collate.cc: Compile-only. 2001-12-04 07:15:01 +00:00
num_put_members_char.cc Numeric facets cleanup. 2001-11-28 04:07:11 +00:00
num_put_members_wchar_t.cc Numeric facets cleanup. 2001-11-28 04:07:11 +00:00
num_put.cc collate.cc: Compile-only. 2001-12-04 07:15:01 +00:00
numpunct_byname.cc c_locale_gnu.cc: Minor tweaks. 2001-08-24 04:11:23 +00:00
numpunct_members_char.cc Numeric facets cleanup. 2001-11-28 04:07:11 +00:00
numpunct_members_wchar_t.cc [multiple changes] 2001-12-04 20:13:41 +00:00
numpunct.cc collate.cc: Compile-only. 2001-12-04 07:15:01 +00:00
operators.cc operators.cc: Add test. 2001-08-19 00:20:07 +00:00
static_members.cc
time_get_members_char.cc time_members_gnu.h: Remove. 2001-10-02 18:44:50 +00:00
time_get_members_wchar_t.cc time_members_gnu.h: Remove. 2001-10-02 18:44:50 +00:00
time_get.cc collate.cc: Compile-only. 2001-12-04 07:15:01 +00:00
time_put_members_char.cc time_members_gnu.h (__timepunct::_M_get_helper): Add. 2001-09-28 23:44:48 +00:00
time_put_members_wchar_t.cc time_members_gnu.h: Remove. 2001-10-02 18:44:50 +00:00
time_put.cc collate.cc: Compile-only. 2001-12-04 07:15:01 +00:00