Commit Graph

81 Commits

Author SHA1 Message Date
Benjamin Kosnik
04fc13943f money_put_members_char.cc: Fix.
2002-02-20  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/22_locale/money_put_members_char.cc: Fix.
	* testsuite/22_locale/money_put_members_wchar_t.cc: Fix.

	* testsuite/27_io/standard_manipulators.cc: New file.

	* testsuite/27_io/ios_manip_basefield.cc: Check results, now failing.
	* testsuite/27_io/ios_manip_fmtflags.cc: Use locale::classic().

From-SVN: r49910
2002-02-20 21:06:42 +00:00
Benjamin Kosnik
0d223e3a4e std_iomanip.h: Inline, tweaks.
2002-02-19  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/std_iomanip.h: Inline, tweaks.
	* config/linker-map.gnu: Remove hacks.

	* testsuite/21_strings/capacity.cc: Add explicit instantiations.
	* testsuite/27_io/ios_init.cc: Same.
	* testsuite/22_locale/money_get_members_char.cc (test07): Fix.
	* testsuite/22_locale/money_get_members_wchar_t.cc (test07): Same.

From-SVN: r49884
2002-02-20 00:58:17 +00:00
Peter Schmid
1c417030f4 collate_byname.cc (test01): Replace size4 with size3 for the string collations of str5.
2002-02-18  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>

	* testsuite/22_locale/collate_byname.cc (test01): Replace size4
          with size3 for the string collations of str5.

From-SVN: r49857
2002-02-19 05:59:09 +00:00
Paolo Carlini
577f406186 locale_facets.tcc (money_put::do_put): For the space field use __fill instead of ' ', uniformly.
2002-02-18  Paolo Carlini  <pcarlini@unitus.it>

	libstdc++/5708
	* include/bits/locale_facets.tcc (money_put::do_put):
	For the space field use __fill instead of ' ', uniformly.
	* testsuite/22_locale/money_put_members_char.cc:
	Add test05 distilled from PR.
	(test01-02-03): Trim some '*' to ' '.
	* testsuite/22_locale/money_put_members_wchar_t.cc: Ditto.

From-SVN: r49847
2002-02-18 21:23:26 +00:00
Aaron W. LaFramboise
4e2f8bcf6f locale_facets.tcc (collate::do_hash): Fix.
2002-02-11  Aaron W LaFramboise  <AWLaFramboise@aol.com>

	* include/bits/locale_facets.tcc (collate::do_hash): Fix.
	* testsuite/22_locale/collate_members_char.cc (test03): New test.
	* testsuite/22_locale/collate_members_wchar_t.cc (test03): Same.

From-SVN: r49682
2002-02-11 18:56:24 +00:00
Benjamin Kosnik
07814743cf std_fstream.h (filebuf::__file_type): Change to __basic_file<char>.
2002-02-07  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/5286
	libstdc++/3860
	* include/std/std_fstream.h (filebuf::__file_type): Change to
	__basic_file<char>.
	(filebuf::_M_convert_to_external): Declare.
	* include/bits/fstream.tcc (filebuf::_M_convert_to_external): Define
	codecvt bits for wide streams.
	(filebuf::_M_really_overflow): Use it.
	(filebuf::underflow): Use codecvt.
	* config/locale/codecvt_specializations_ieee_1003.1-200x.h:
	(codecvt<__enc_traits>::do_out): Deal with partial.
	(codecvt<__enc_traits>::do_encoding): Return something useful.
	* src/codecvt.cc (codecvt<wchar_t>::do_encoding): Return sizeof
	wchar_t.
	* testsuite/22_locale/codecvt_members_unicode_char.cc (test01):
	Change expected encoding output.
	(test02): Same.
	* testsuite/22_locale/codecvt_members_wchar_t_char.cc (test01): Same.
	(test02): Same.

From-SVN: r49601
2002-02-08 01:34:41 +00:00
Paolo Carlini
a092e4ebba money_get_members_char.cc: Add comment, tidy up.
2002-02-07  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/22_locale/money_get_members_char.cc:
	Add comment, tidy up.
	(test01): more "en_HK" tests (without showbase).
	* testsuite/22_locale/money_get_members_wchar_t.cc: Ditto.

From-SVN: r49587
2002-02-07 19:27:38 +00:00
Paolo Carlini
6662d4c337 locale_facets.tcc (money_get::do_get(string)): In case money_base::symbol deal properly with multi-char sign for patterns...
2002-02-06  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/locale_facets.tcc (money_get::do_get(string)):
	In case money_base::symbol deal properly with multi-char sign
	for patterns {X,Y,Z,symbol} and {X,Y,symbol,none}.
	* testsuite/22_locale/money_get_members_char.cc: Add test07.
	* testsuite/22_locale/money_get_members_wchar_t.cc: Add test07.

From-SVN: r49543
2002-02-06 12:13:00 +00:00
Paolo Carlini
e07554eb17 locale_facets.tcc (money_get::do_get(string)): First construct a tentative returned string...
2002-02-05  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/locale_facets.tcc (money_get::do_get(string)):
	First construct a tentative returned string, then, only if the
	parsing succeeds, copy it into the string passed by reference.
	* testsuite/22_locale/money_get_members_char.cc: Add test06.
	* testsuite/22_locale/money_get_members_wchar_t.cc: Add test06.

From-SVN: r49523
2002-02-05 11:35:48 +00:00
Paolo Carlini
53804e7c80 locale_facets.tcc (money_get::do_get(string)): Deal correctly with !(__io.flags() & ios_base::showbase) for case...
2002-02-04  Paolo Carlini  <pcarlini@unitus.it>

        libstdc++/5579
        * include/bits/locale_facets.tcc (money_get::do_get(string)):
        Deal correctly with !(__io.flags() & ios_base::showbase)
        for case money_base::symbol.
        * testsuite/22_locale/money_get_members_char.cc: Add test05.
        * testsuite/22_locale/money_get_members_wchar_t.cc: Add test05.

From-SVN: r49489
2002-02-04 19:51:32 +00:00
Paolo Carlini
b6f642d59c 2002-02-02 Paolo Carlini <pcarlini@unitus.it>
* testsuite/22_locale/operators.cc
	(gnu_collate::do_compare()): Add return statement to
	suppress "no return statement" warning.

From-SVN: r49441
2002-02-02 13:46:47 +00:00
Loren J. Rittle
4a78d8641c codecvt_members_char_char.cc: Do not allow NULL argument to be passed to setenv().
* testsuite/22_locale/codecvt_members_char_char.cc: Do not
	allow NULL argument to be passed to setenv().
	* testsuite/22_locale/codecvt_members_wchar_t_char.cc: Likewise.
	* testsuite/22_locale/collate_members_char.cc: Likewise.
	* testsuite/22_locale/collate_members_wchar_t.cc: Likewise.
	* testsuite/22_locale/ctype_members_char.cc: Likewise.
	* testsuite/22_locale/ctype_members_wchar_t.cc: Likewise.
	* testsuite/22_locale/messages_members_char.cc: Likewise.
	* testsuite/22_locale/money_get_members_char.cc: Likewise.
	* testsuite/22_locale/money_get_members_wchar_t.cc: Likewise.
	* testsuite/22_locale/money_put_members_char.cc: Likewise.
	* testsuite/22_locale/money_put_members_wchar_t.cc: Likewise.
	* testsuite/22_locale/moneypunct_members_char.cc: Likewise.
	* testsuite/22_locale/moneypunct_members_wchar_t.cc: Likewise.
	* testsuite/22_locale/num_get_members_char.cc: Likewise.
	* testsuite/22_locale/num_get_members_wchar_t.cc: Likewise.
	* testsuite/22_locale/num_put_members_char.cc: Likewise.
	* testsuite/22_locale/num_put_members_wchar_t.cc: Likewise.
	* testsuite/22_locale/numpunct_members_char.cc: Likewise.
	* testsuite/22_locale/numpunct_members_wchar_t.cc: Likewise.
	* testsuite/22_locale/time_get_members_char.cc: Likewise.
	* testsuite/22_locale/time_get_members_wchar_t.cc: Likewise.
	* testsuite/22_locale/time_put_members_char.cc: Likewise.
	* testsuite/22_locale/time_put_members_wchar_t.cc: Likewise.

From-SVN: r49384
2002-02-01 00:24:12 +00:00
Paolo Carlini
f2e7381d8e 2002-01-30 Paolo Carlini <pcarlini@unitus.it>
* config/locale/numpunct_members_gnu.cc
	(numpunct<char, wchar_t>::_M_initialize_numpunct()):
	Fix initialization of _M_grouping for locales which have
	_M_thousands_sep == '\0'(L'\0', respectively).
	* testsuite/22_locale/numpunct_byname.cc (test02): Add test.

From-SVN: r49343
2002-01-30 21:00:40 +00:00
Benjamin Kosnik
b6a95741e8 num_put_members_wchar_t.cc (test03): Use _GLIBCPP_HAVE_SETENV.
2002-01-24   Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/22_locale/num_put_members_wchar_t.cc (test03): Use
	_GLIBCPP_HAVE_SETENV.
	* testsuite/22_locale/codecvt_members_wchar_t_char.cc (test02): Same.
	* testsuite/22_locale/collate_members_char.cc (test02): Same.
	* testsuite/22_locale/ctype_members_char.cc (test03): Same.
	* testsuite/22_locale/ctype_members_wchar_t.cc (test03): Same.
	* testsuite/22_locale/messages_members_char.cc (test02): Same.
	* testsuite/22_locale/moneypunct_members_char.cc (test02): Same.
	* testsuite/22_locale/moneypunct_members_wchar_t.cc (test02): Same.
	* testsuite/22_locale/money_put_members_char.cc (test04): Same.
	* testsuite/22_locale/money_put_members_wchar_t.cc (test04): Same.
	* testsuite/22_locale/num_get_members_char.cc (test03): Same.
	* testsuite/22_locale/num_get_members_wchar_t.cc (test03): Same.
	* testsuite/22_locale/numpunct_members_char.cc (test02): Same.
	* testsuite/22_locale/numpunct_members_wchar_t.cc (test02): Same.
	* testsuite/22_locale/time_get_members_char.cc (test07): Same.
	* testsuite/22_locale/time_get_members_wchar_t.cc (test07): Same.
	* testsuite/22_locale/time_put_members_char.cc (test03): Same.
	* testsuite/22_locale/time_put_members_wchar_t.cc (test03): Same.
	* testsuite/22_locale/num_put_members_char.cc (test03): Same.
	* acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Check for setenv.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* config.h.in: Regenerate.

From-SVN: r49191
2002-01-24 20:46:34 +00:00
Benjamin Kosnik
4b9aaf6379 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
2002-01-22 23:09:04 +00:00
Peter Schmid
715e561616 ctor_copy_dtor.cc: Remove check.
2002-01-17  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>

	* testsuite/22_locale/ctor_copy_dtor.cc: Remove check.

From-SVN: r48967
2002-01-17 22:29:44 +00:00
Benjamin Kosnik
8f7a401515 stl_iterator.h (reverse_iterator::_M_current): Deuglify, should be current.
2002-01-16  Benjamin Kosnik  <bkoz@redhat.com>
            Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>

	* include/bits/stl_iterator.h (reverse_iterator::_M_current):
	Deuglify, should be current.
	(back_insert_iterator::_M_container): Deuglify, should be container.
	(front_insert_iterator::_M_container): Same.
	(insert_iterator::_M_container): Same.
	* testsuite/24_iterators/reverse_iterator.cc: Add check.
	* testsuite/24_iterators/back_insert_iterator.cc: Add check.
	* testsuite/24_iterators/front_insert_iterator.cc: Same.
	* testsuite/24_iterators/insert_iterator.cc: Same.

2002-01-16  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.h (ctype<char>::classic_table): Make
	static.
	(ctype<char>::_M_ctable): Make static, change name to _S_ctable.
	* config/os/gnu-linux/bits/ctype_noninline.h: Define _S_ctable.
	* config/os/solaris/solaris2.7/bits/ctype_noninline.h: Same.
	* config/os/solaris/solaris2.6/bits/ctype_noninline.h: Same.
	* config/os/solaris/solaris2.5/bits/ctype_noninline.h: Same.
	* config/os/newlib/bits/ctype_noninline.h: Same.
	* config/os/irix/irix6.5/bits/ctype_noninline.h: Same.
	* config/os/irix/irix5.2/bits/ctype_noninline.h: Same.
	* config/os/hpux/bits/ctype_noninline.h: Same.
	* config/os/djgpp/bits/ctype_noninline.h: Same.
	* config/os/bsd/netbsd/bits/ctype_noninline.h: Same.
	* config/os/bsd/freebsd/bits/ctype_noninline.h: Same.
	* config/os/aix/bits/ctype_noninline.h: Same.

	Testcase by Dietmar K�hl via Peter Schmid
	* testsuite/22_locale/ctype_members_char.cc (char>): Add test for
	classic_table().

Co-Authored-By: Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>

From-SVN: r48938
2002-01-17 03:59:42 +00:00
Benjamin Kosnik
aefb3380dd signbitl.c: Copyright years as list, not range.
2002-01-16  Benjamin Kosnik  <bkoz@redhat.com>

	* libmath/signbitl.c: Copyright years as list, not range.
	* libmath/Makefile.am: Same.
	* libmath/Makefie.in: Regenerate.
	* libmath/signbit.c: Same.
	* libmath/nan.c: Same.
	* libmath/copysignf.c: Same.
	* libmath/signbitf.c: Same.
	* testsuite/22_locale/money_get_members_char.cc: Same.
	* testsuite/22_locale/money_get_members_wchar_t.cc: Same.
	* testsuite/22_locale/money_put_members_char.cc: Same.
	* testsuite/22_locale/money_put_members_wchar_t.cc: Same.
	* testsuite/22_locale/time_get_members_char.cc: Same.
	* testsuite/22_locale/time_get_members_wchar_t.cc: Same.
	* testsuite/22_locale/time_put_members_char.cc: Same.
	* testsuite/22_locale/time_put_members_wchar_t.cc: Same.
	* testsuite/21_strings/nonmember.cc: Same.
	* testsuite/21_strings/compare.cc: Same.
	* testsuite/27_io/stringstream.cc: Same.
	* testsuite/27_io/stringbuf.cc: Same.
	* testsuite/27_io/filebuf.cc: Same.
	* testsuite/27_io/ios_manip_basefield.cc: Same.
	* testsuite/27_io/ios_manip_fmtflags.cc: Same.
	* include/bits/cpp_type_traits.h: Same.
	* include/bits/generic_shadow.h: Same.
	* include/bits/gslice_array.h: Same.
	* include/bits/gslice.h: Same.
	* include/bits/indirect_array.h: Same.
	* include/bits/slice_array.h: Same.
	* include/bits/sstream.tcc: Same.
	* include/bits/streambuf_iterator.h: Same.
	* include/bits/valarray_array.tcc: Same.
	* include/bits/valarray_meta.h: Same.
	* include/bits/valarray_array.h: Same.
	* config/os/mingw32/bits/ctype_noninline.h: Same.
	* config/os/mingw32/bits/ctype_base.h: Same.
	* config/os/hpux/bits/ctype_noninline.h: Same.
	* config/os/hpux/bits/ctype_base.h: Same.
	* config/os/gnu-linux/bits/ctype_noninline.h: Same.
	* config/os/gnu-linux/bits/ctype_base.h: Same.
	* config/os/generic/bits/ctype_noninline.h: Same.
	* config/os/generic/bits/ctype_base.h: Same.

	* libsupc++/tinfo.h: Tweaks.

From-SVN: r48922
2002-01-16 19:57:39 +00:00
Benjamin Kosnik
def9746c13 num_put_members_wchar_t.cc (test02): Same.
2002-01-15  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/22_locale/num_put_members_wchar_t.cc (test02): Same.
	* testsuite/22_locale/num_put_members_char.cc (test01): Tweak.
	* testsuite/22_locale/ctype_members_char.cc: Tweak.

From-SVN: r48902
2002-01-16 06:11:41 +00:00
Benjamin Kosnik
c22e177db7 num_put_members_wchar_t.cc (test02): Same.
2002-01-15  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/22_locale/num_put_members_wchar_t.cc (test02): Same.
	* testsuite/22_locale/num_put_members_char.cc (test01): Tweak.

From-SVN: r48901
2002-01-16 06:06:59 +00:00
Benjamin Kosnik
bed9a20d55 locale_facets.tcc (num_put::do_put(bool): Fix.
2002-01-15  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.tcc (num_put::do_put(bool): Fix.
	(num_put::do_put(void*)): Fix.
	* testsuite/22_locale/num_put_members_char.cc (test02): Add.
	* testsuite/22_locale/num_put_members_wchar_t.cc (test02): Add.
	* testsuite/22_locale/num_get_members_char.cc (test02): Add
	long double, void, bool types.
	* testsuite/22_locale/num_get_members_wchar_t.cc (test02): Add.

From-SVN: r48892
2002-01-16 00:51:45 +00:00
Benjamin Kosnik
8f88da406b locale_facets.tcc (time_put::put): Correct output iterator positions.
2002-01-14  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.tcc (time_put::put): Correct output
	iterator positions.
	* testsuite/22_locale/time_put_members_char.cc (test02): Add.
	* testsuite/22_locale/time_put_members_wchar_t.cc (test02): Add.
	* testsuite/22_locale/time_get_members_wchar_t.cc (test06): Add.
	* testsuite/22_locale/time_get_members_char.cc (test06): Add.

From-SVN: r48861
2002-01-15 04:23:46 +00:00
Benjamin Kosnik
ae72572be9 locale_facets.tcc (money_put::do_put(string): Correct output iterator value.
2002-01-12  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.tcc (money_put::do_put(string):
	Correct output iterator value.
	* testsuite/22_locale/money_put_members_char.cc (test03): Add.
	* testsuite/22_locale/money_put_members_wchar_t.cc: Same.

From-SVN: r48809
2002-01-13 04:27:18 +00:00
Benjamin Kosnik
87a9c33cb1 locale_facets.tcc (money_get::do_get(string)): Check for zero-length negative sign before adding it to output string.
2002-01-11  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.tcc (money_get::do_get(string)):
	Check for zero-length negative sign before adding it to output
	string.
	(money_get::do_get(long double)): Return beg.
	* testsuite/22_locale/money_get_members_char.cc (test02): Add
	iterator checks.
	* testsuite/22_locale/money_get_members_wchar_t.cc: Same.

From-SVN: r48777
2002-01-11 20:12:02 +00:00
David Seymour
3ac3829f8e locale_facets.h (num_get<>): Return advanced iterator for _M_extract_float and _M_extract_int
2002-01-10  David Seymour  <seymour_dj@yahoo.com>

	libstdc++/5331
	* include/bits/locale_facets.h (num_get<>): Return advanced iterator
	for _M_extract_float and _M_extract_int
	* include/bits/locale_facets.tcc (num_get<>::_M_extract_float)
	(num_get<>::_M_extract_int): Likewise, all callers changed
	* testsuite/22_locale/num_get_members_char.cc: Testcase

From-SVN: r48765
2002-01-11 05:14:47 +00:00
David Seymour
631ba05e3d locale_facets.h (num_get<>): Return advanced iterator for _M_extract_float and _M_extract_int
2002-01-10  David Seymour  <seymour_dj@yahoo.com>

	* include/bits/locale_facets.h (num_get<>): Return advanced iterator
	for _M_extract_float and _M_extract_int
	* include/bits/locale_facets.tcc (num_get<>::_M_extract_float)
	(num_get<>::_M_extract_int): Likewise, all callers changed
	* testsuite/22_locale/num_get_members_char.cc: Testcase

From-SVN: r48764
2002-01-11 05:07:22 +00:00
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
Benjamin Kosnik
85230e5255 locale.cc (locale::locale(const char*)): Deal with locales named "".
2001-12-13  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/3679
	* src/locale.cc (locale::locale(const char*)): Deal with locales
	named "".
	* testsuite/22_locale/ctor_copy_dtor.cc (test01): Modify.

From-SVN: r47968
2001-12-13 11:12:56 +00:00
Benjamin Kosnik
9e5c7dba50 Named locale support for ctype<char>.
2001-12-12  Benjamin Kosnik  <bkoz@redhat.com>

	Named locale support for ctype<char>.
	* config/locale/c_locale_gnu.h (_GLIBCPP_C_LOCALE_GNU): New.
	* config/os/gnu-linux/bits/ctype_noninline.h (ctype<char>): Add
	definitions for alternate constructor.
	* config/os/solaris/solaris2.7/bits/ctype_noninline.h (ctype): Same.
	* config/os/solaris/solaris2.6/bits/ctype_noninline.h (ctype): Same.
	* config/os/solaris/solaris2.5/bits/ctype_noninline.h (ctype): Same.
	* config/os/newlib/bits/ctype_noninline.h (ctype): Same.
	* config/os/irix/irix6.5/bits/ctype_noninline.h (ctype): Same.
	* config/os/irix/irix5.2/bits/ctype_noninline.h (ctype): Same.
	* config/os/hpux/bits/ctype_noninline.h (ctype): Same.
	* config/os/generic/bits/ctype_noninline.h (ctype): Same.
	* config/os/djgpp/bits/ctype_noninline.h (ctype): Same.
	* config/os/bsd/netbsd/bits/ctype_noninline.h (ctype): Same.
	* config/os/bsd/freebsd/bits/ctype_noninline.h (ctype): Same.
	* config/os/aix/bits/ctype_noninline.h (ctype): Same.
	* include/bits/locale_facets.h (ctype<_CharT>): Remove dummy
	definitions for all virtual functions. These are now explicitly
	undefined for non-required factets, ie any non-char, non-wchar_t
	instantiations.
	* src/localename.cc (locale::_Impl::_Impl(string, size_t): Named
	locales use alternate constructor for ctype facet.
	* include/bits/locale_facets.h (ctype<char>::ctype(__c_locale, const
	mask*, bool, size_t): Add.
	(ctype<wchar_t>::ctype(__c_locale, size_t): Add.
	* src/locale.cc (ctype<wchar_t>::ctype(__c_locale, size_t)): Add
	definition.

	* testsuite/22_locale/ctype_members_char.cc (test02): Add, mark
	XFAIL for non-gnu locale models.

From-SVN: r47953
2001-12-12 23:16:35 +00:00
Benjamin Kosnik
5b5e609d03 [multiple changes]
2001-12-04  Benjamin Kosnik  <bkoz@redhat.com>

	* src/Makefile.am (sources): Add ext-inst.cc.
	* src/Makefile.in: Regenerate.
	* src/ext-inst.cc: New file.
	* include/bits/stl_threads.h: Format.
	* src/globals.cc: Add instantiation for _S_swap_lock.

	* testsuite/18_support/numeric_limits.cc: Add numeric_limits<B>
	instantiation.

2001-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* testsuite/22_locale/numpunct_members_wchar_t.cc: Only compile
	and execute test01 if _GLIBCPP_USE_WCHAR_T is defined.
	* testsuite/26_numerics/complex_inserters_extractors.cc: Provide
	for explicit instantiation of class std::basic_string<char,
	gnu_char_traits, std::allocator<char> >.

From-SVN: r47622
2001-12-04 20:13:41 +00:00
Benjamin Kosnik
dbb27f267a collate.cc: Compile-only.
2001-12-03  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/22_locale/collate.cc: Compile-only.
	* testsuite/22_locale/time_get.cc: Same.
	* testsuite/22_locale/time_put.cc: Same.
	* testsuite/22_locale/numpunct.cc: Same.
	* testsuite/22_locale/num_put.cc: Same.
	* testsuite/22_locale/num_get.cc: Same.
	* testsuite/22_locale/moneypunct.cc: Same.
	* testsuite/22_locale/money_get.cc: Same.
	* testsuite/22_locale/messages.cc: Same.
	* testsuite/22_locale/ctype.cc: Same.

From-SVN: r47592
2001-12-04 07:15:01 +00:00
Benjamin Kosnik
ec9d6e9f45 Numeric facets cleanup.
2001-11-27  Benjamin Kosnik  <bkoz@redhat.com>

	Numeric facets cleanup.
	* include/bits/locale_facets.h (__num_base::_S_atoms): Add, remove
	+ and - signs.
	(__num_base::_M_zero): Add
	(__num_base::_M_e): Add.
	(__num_base::_M_E): Add.
	* include/bits/locale_facets.tcc (num_get::_M_extract): Remove.
	(num_get::_M_extract_float): New.
	(num_get::_M_extract_int): New.
	* src/locale.cc (num_get::_M_extract): Remove.

	* include/bits/locale_facets.tcc (num_put::_M_insert_float):
	Simplify, use _M_insert.
	(num_put::do_put(bool)): Simplify, remove __pad.
	(__pad): Remove.
	(__pad_output): Change to __pad.
	* include/bits/ostream.tcc: And here.
	* src/locale-inst: Remove instantiations.

	* include/bits/locale_facets.h: Move helper functions in to class
	num_put.
	(num_put::_M_insert_float): Same, for __output_integer.
	(num_put::_M_insert_int): Same, for __output_float.
	(num_put::_M_insert): New.
	(__num_base): Add.
	(__num_base::_S_format_float): Move
	__build_float_format into class __num_base.
	(__num_base::_S_format_int): Move __build_int_format into class
	__num_base.
	* include/bits/locale_facets.tcc (__group_digits): Change to
	(__add_grouping): This.
	* src/locale-inst.cc: And here. Tweak instantiations.
	* src/misc-inst.cc: Remove instantiations.

	* include/bits/ostream.tcc (__pad_char): Rename, adjust inserters
	for new calling conventions, move to...
	* include/bits/locale_facets.tcc (__pad_output): Here. Adjust
	signature to make it useful for both ostream and num_put.
	(__pad_numeric): Remove.
	* src/misc-inst.cc: Remove instantiations.
	* src/locale-inst.cc: Same.

	* include/bits/locale_facets.h (_Numeric_get): Remove.
 	(_Numeric_put): Remove.
	(num_get::get(short)): Remove.
	(num_get::get(int)): Remove.
	(num_get::do_get(short)): Remove.
	(num_get::do_get(int)): Remove.
	* include/bits/istream.tcc (istream::operator>>(short)): Fix as
	per DR 118.
	(istream::operator>>(int)): Same.

	* include/bits/locale_facets.h (_Format_cache): Remove.
	* include/bits/locale_facets.tcc: Same.
	* src/locale.cc: Same.
	* src/locale-inst.cc: Same.
	* include/bits/ostream.tcc: Same.
	* src/ios.cc (ios_base::imbue): Remove here as well.

	* testsuite/22_locale/num_get.cc: New file.
	* testsuite/22_locale/num_get_members_char.cc: New file.
	* testsuite/22_locale/num_get_members_wchar_t.cc: New.
	* testsuite/22_locale/numpunct_members_wchar_t.cc: New file.
	* testsuite/22_locale/num_put.cc: New file.
	* testsuite/22_locale/num_put_members_char.cc: New file.
	* testsuite/22_locale/num_put_members_wchar_t.cc: New file.
	* testsuite/27_io/ostream_inserter_arith.cc: Fix.
	* testsuite/27_io/istream_extractor_arith.cc: Fix.

From-SVN: r47399
2001-11-28 06:29:55 +00:00
Benjamin Kosnik
86ade44cb2 Numeric facets cleanup.
2001-11-27  Benjamin Kosnik  <bkoz@redhat.com>

	Numeric facets cleanup.
	* include/bits/locale_facets.h (__num_base::_S_atoms): Add, remove
	+ and - signs.
	(__num_base::_M_zero): Add
	(__num_base::_M_e): Add.
	(__num_base::_M_E): Add.
	* include/bits/locale_facets.tcc (num_get::_M_extract): Remove.
	(num_get::_M_extract_float): New.
	(num_get::_M_extract_int): New.
	* src/locale.cc (num_get::_M_extract): Remove.

	* include/bits/locale_facets.tcc (num_put::_M_insert_float):
	Simplify, use _M_insert.
	(num_put::do_put(bool)): Simplify, remove __pad.
	(__pad): Remove.
	(__pad_output): Change to __pad.
	* include/bits/ostream.tcc: And here.
	* src/locale-inst: Remove instantiations.

	* include/bits/locale_facets.h: Move helper functions in to class
	num_put.
	(num_put::_M_insert_float): Same, for __output_integer.
	(num_put::_M_insert_int): Same, for __output_float.
	(num_put::_M_insert): New.
	(__num_base): Add.
	(__num_base::_S_format_float): Move
	__build_float_format into class __num_base.
	(__num_base::_S_format_int): Move __build_int_format into class
	__num_base.
	* include/bits/locale_facets.tcc (__group_digits): Change to
	(__add_grouping): This.
	* src/locale-inst.cc: And here. Tweak instantiations.
	* src/misc-inst.cc: Remove instantiations.

	* include/bits/ostream.tcc (__pad_char): Rename, adjust inserters
	for new calling conventions, move to...
	* include/bits/locale_facets.tcc (__pad_output): Here. Adjust
	signature to make it useful for both ostream and num_put.
	(__pad_numeric): Remove.
	* src/misc-inst.cc: Remove instantiations.
	* src/locale-inst.cc: Same.

	* include/bits/locale_facets.h (_Numeric_get): Remove.
 	(_Numeric_put): Remove.
	(num_get::get(short)): Remove.
	(num_get::get(int)): Remove.
	(num_get::do_get(short)): Remove.
	(num_get::do_get(int)): Remove.
	* include/bits/istream.tcc (istream::operator>>(short)): Fix as
	per DR 118.
	(istream::operator>>(int)): Same.

	* include/bits/locale_facets.h (_Format_cache): Remove.
	* include/bits/locale_facets.tcc: Same.
	* src/locale.cc: Same.
	* src/locale-inst.cc: Same.
	* include/bits/ostream.tcc: Same.
	* src/ios.cc (ios_base::imbue): Remove here as well.

	* testsuite/22_locale/num_get.cc: New file.
	* testsuite/22_locale/num_get_members_char.cc: New file.
	* testsuite/22_locale/num_get_members_wchar_t.cc: New.
	* testsuite/22_locale/numpunct_members_wchar_t.cc: New file.
	* testsuite/22_locale/num_put.cc: New file.
	* testsuite/22_locale/num_put_members_char.cc: New file.
	* testsuite/22_locale/num_put_members_wchar_t.cc: New file.
	* testsuite/27_io/ostream_inserter_arith.cc: Fix.
	* testsuite/27_io/istream_extractor_arith.cc: Fix.

From-SVN: r47397
2001-11-28 04:07:11 +00:00
Benjamin Kosnik
c7e2dba59a codecvt.h: Add virtual member function declarations.
2001-10-31  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/4749
	* include/bits/codecvt.h: Add virtual member function declarations.
	* src/codecvt.cc: Tweaks.
	* testsuite/22_locale/codecvt.cc: Test compilation only,
	non-required facets not required to have linkage.

From-SVN: r46685
2001-10-31 20:05:33 +00:00
Benjamin Kosnik
da5c0f6ef5 time_members_gnu.h: Remove.
2001-10-02  Benjamin Kosnik  <bkoz@redhat.com>

	* config/locale/time_members_gnu.h: Remove.
	* config/locale/time_members_generic.h: Remove.
	* config/locale/time_members_gnu.cc (__timepunct::_M_put_helper): Add.
	* config/locale/time_members_generic.cc: Same.
	* include/bits/locale_facets.h: Add data members.
	(__timepunct::_M_put_helper): Change signature.
	(__timepunct::_M_date_formats): Same.
	(__timepunct::_M_time_formats): Same.
	(__timepunct::_M_ampm): Add.
	(__timepunct::_M_date_time_formats): Add.
	(time_get::_M_extract_via_format): Add.
	(time_get::_M_extract_time): Change to...
	(time_get::_M_extract_num): ... this, modify signature.
	* include/bits/locale_facets.tcc (time_get::do_get_year): Fix.
	(time_get::do_get_time): Fix.
	(time_get::do_get_date): Fix.

	* acinclude.m4: Remove CTIME_H.
	* aclocal.m4: Regenerate.
	* include/Makefile.am: Same.
	* include/Makefile.in: Regenerate.
	* configure: Regenerate.

	* testsuite/22_locale/time_get_members_char.cc: Fix.
	* testsuite/22_locale/time_get_members_wchar_t.cc: Add.
	* testsuite/22_locale/time_put_members_wchar_t.cc: Add.

From-SVN: r45966
2001-10-02 18:44:50 +00:00
Benjamin Kosnik
1ab656771a time_members_gnu.h (__timepunct::_M_get_helper): Add.
2001-09-28  Benjamin Kosnik  <bkoz@redhat.com>

	* config/locale/time_members_gnu.h (__timepunct::_M_get_helper): Add.
	(__timepunct::_M_put_helper): Add.
	* config/locale/time_members_generic.h: Same.
	* include/bits/locale_facets.h (__match_parallel): Remove. Format.
	(__timepunct): Add data members.
	(__timepunct::_M_days): Add.
	(__timepunct::_M_days_abbreviated): Add.
	(__timepunct::_M_months): Add.
	(__timepunct::_M_months_abbreviated): Add.
	(__timepunct::_M_initialize_timepunct): Add.
	* include/bits/locale_facets.tcc: Same.
	* src/locale-inst.cc: Remove instantiations for __match_parallel.
	* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add CTIME_CC.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/22_locale/time_put_members_char.cc: Mark XFAIL.
	* testsuite/22_locale/time_put_members_char.cc (test01): New file.
	* testsuite/22_locale/time_get.cc: New file.

From-SVN: r45868
2001-09-28 23:44:48 +00:00
Benjamin Kosnik
9a92330f24 numpunct_members_char.cc (test01): Remove redundant sanity checks.
2001-09-20  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/22_locale/numpunct_members_char.cc (test01): Remove
	redundant sanity checks.
	* testsuite/22_locale/money_put_members_wchar_t.cc (test01): Same.
	(test02): Same.
	* testsuite/22_locale/money_put_members_char.cc (test01): Same.
	(test02): Same.
	* testsuite/22_locale/moneypunct_members_wchar_t.cc (test01): Same.
	* testsuite/22_locale/moneypunct_members_char.cc (test01): Same.
	* testsuite/22_locale/money_get_members_wchar_t.cc (test01): Same.
	(test02): Same.
	* testsuite/22_locale/money_get_members_char.cc (test01): Same.
	(test02): Same.

From-SVN: r45703
2001-09-20 09:07:37 +00:00
Benjamin Kosnik
e08138aae3 Implement std::time_put.
2001-09-19  Benjamin Kosnik  <bkoz@redhat.com>

	Implement std::time_put.
	* include/bits/locale_facets.h: Include time_members.h.
	(__timepunct): New.
	(time_put): Implement.
	* include/bits/locale_facets.tcc (do_put): Put generic versions here.
	* include/bits/localefwd.h: Bump number of facets.
	* config/locale/time_members_generic.h: New file.
	* config/locale/time_members_gnu.h: New file.
	* config/locale/c_locale_generic.h: Include clocale.
	* src/locale-inst.cc: Add use_facet instantiations for __timepunct.
	* src/locale.cc: Add __timepunct initializations.
	* src/localename.cc (locale::_Impl::_Impl(string, size_t)): Same.
	* include/Makefile.am (stamp-target): Add time_members.h.
	* include/Makefile.in: Regenerate.
	* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add CTIME_H.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/22_locale/time_put.cc: New file.
	* testsuite/22_locale/time_put_members_char.cc: New file.

	* docs/html/22_locale/locale.html: Add note.

From-SVN: r45702
2001-09-20 08:30:01 +00:00
Benjamin Kosnik
9775a638f4 moneypunct_members_gnu.cc: Fix initialization of wchar_t members.
2001-09-14  Benjamin Kosnik  <bkoz@redhat.com>

	* config/locale/moneypunct_members_gnu.cc: Fix initialization of
	wchar_t members.
	* testsuite/22_locale/money_get_members_wchar_t.cc (test02): New file.
	* testsuite/22_locale/money_put_members_wchar_t.cc (test02): Fix.

From-SVN: r45615
2001-09-14 22:13:11 +00:00
Benjamin Kosnik
55dea7b149 moneypunct_members_gnu.cc: Fix initialization of wchar_t members.
2001-09-14  Benjamin Kosnik  <bkoz@redhat.com>

	* config/locale/moneypunct_members_gnu.cc: Fix initialization of
	wchar_t members.
	* testsuite/22_locale/money_get_members_wchar_t.cc (test02): New file.
	* testsuite/22_locale/money_put_members_wchar_t.cc (test02): Fix.

From-SVN: r45614
2001-09-14 22:09:35 +00:00
Alexandre Petit-Bianco
7330797589 money_get_members_char.cc: Fixed typo in comment.
2001-09-13  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* testsuite/22_locale/money_get_members_char.cc: Fixed typo in comment.
	* testsuite/22_locale/money_put_members_char.cc: Likewise.
	* testsuite/22_locale/money_put_members_wchar_t.cc: Likewise.

(If only spelling them right would make them go away...)

From-SVN: r45592
2001-09-14 01:38:18 -07:00
Benjamin Kosnik
fb67885447 Implement std::money_get.
2001-09-13   Benjamin Kosnik  <bkoz@redhat.com>

	Implement std::money_get.
	* include/bits/locale_facets.tcc (money_get::do_get): Implement.
	* include/bits/locale_facets.h (money_get): Correct signatures.
	* testsuite/22_locale/money_get.cc: New file.
	* testsuite/22_locale/money_get_members_char.cc: New file.

	* include/bits/locale_facets.tcc (__verify_grouping): New
	function. Consolidate num_get and money_get group checking into
	one function.
	(money_get): Use it.
	* src/locale.cc (num_get::_M_extract): Use it.
	* src/locale-inst.cc: Add instantiation.

From-SVN: r45585
2001-09-13 23:21:25 +00:00
Benjamin Kosnik
69971cd850 Implement std::money_put.
2001-09-09  Benjamin Kosnik  <bkoz@redhat.com>

	Implement std::money_put.
	* include/bits/locale_facets.h
	(moneypunct::_M_initialize_moneypunct): Split up specializations
	to account for _Intl.  More grody hacking to get around the
	ill-considered use of const bool as a template parameter.
	* config/locale/moneypunct_members_gnu.cc: And here.
	* config/locale/moneypunct_members_generic.cc: And here.
	* testsuite/22_locale/moneypunct_members_char.cc: Add tests.
	* testsuite/22_locale/moneypunct.cc: Add tests.
	* testsuite/22_locale/money_put_members_wchar_t.cc: New file.
	* testsuite/22_locale/moneypunct_members_wchar_t.cc: New file.

	* src/locale.cc (money_base::_S_construct_pattern): Move into
	gnu-specific file.
	* config/locale/moneypunct_members_gnu.cc: Add here.
	* config/locale/moneypunct_members_generic.cc: Add generic version
	here.

	* include/bits/locale_facets.tcc (money_put::do_put): Move member
	function definitions here.
	* include/bits/locale_facets.h (money_put): Implement.
	* src/locale-inst.cc: Add use_facet instantiations for moneypunct.
	Correct money_get, money_put instantiations.
	* src/locale.cc (money_base::_S_construct_pattern): Handle case
	where __posn == 0.
	* testsuite/22_locale/money_put_members_char.cc: Add tests.

From-SVN: r45496
2001-09-10 01:00:27 +00:00
Benjamin Kosnik
72e2386f87 c_locale_gnu.cc: Move facet info to separate files...
2001-08-27  Benjamin Kosnik  <bkoz@redhat.com>

	* config/locale/c_locale_gnu.cc: Move facet info to separate files...
	* config/locale/c_locale_generic.cc: Same.
	* config/locale/moneypunct_members_gnu.cc: New file.
	* config/locale/moneypunct_members_generic.cc: New file.
	* config/locale/numpunct_members_gnu.cc: New file.
	* config/locale/numpunct_members_generic.cc: New file.
	* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add moneypunct, numpunct
	options.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* src/Makefile.am (sources): And here.
	* src/Makefile.in: Regenerate.

	Rename for consistency with rest of testsuite.
	* testsuite/22_locale/codecvt.cc: New file.
	* testsuite/22_locale/money_put.cc: New file.
	* testsuite/22_locale/money_put_members_char.cc: New file.

From-SVN: r45224
2001-08-28 06:19:35 +00:00
Benjamin Kosnik
575dd831c7 c_locale_gnu.cc: Minor tweaks.
2001-08-23  Benjamin Kosnik  <bkoz@redhat.com>

	* config/locale/c_locale_gnu.cc: Minor tweaks.
	(moneypunct<wchar_t>): Implement.
	* include/bits/locale_facets.h: Same.
	* testsuite/22_locale/moneypunct.cc: New file.
	* testsuite/22_locale/moneypunct_byname.cc: New file.
	* testsuite/22_locale/moneypunct_char_members.cc: New file.

From-SVN: r45142
2001-08-24 04:11:23 +00:00
Benjamin Kosnik
0bab15bb70 collate_wchar_t_members.cc: Guard with _GLIBCPP_USE_WCHAR_T.
2001-08-22  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/22_locale/collate_wchar_t_members.cc: Guard
	with _GLIBCPP_USE_WCHAR_T.

From-SVN: r45118
2001-08-23 04:50:55 +00:00
Benjamin Kosnik
d1b30231db collate_byname.cc (test01): Fix.
2001-08-21  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/22_locale/collate_byname.cc (test01): Fix.

From-SVN: r45094
2001-08-22 05:47:35 +00:00
Benjamin Kosnik
9f530faf18 operators.cc: Add test.
2001-08-18  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/22_locale/operators.cc: Add test.

From-SVN: r45015
2001-08-19 00:20:07 +00:00
Benjamin Kosnik
ea0c0b6e1b Implement std::collate.
2001-08-17  Benjamin Kosnik  <bkoz@redhat.com>

	Implement std::collate.
	* config/locale/collate_specializations_gnu.cc: Add here, implement in
	MT-safe way.
	* config/locale/collate_specializations_generic.cc: Add here, but
	in a less sophisticated manner.
	* include/bits/locale_facets.tcc (collate): Add generic definition.
	* include/bits/locale_facets.h (~collate): Mark virtual.
	(collate::_M_compare_helper): New.
	(collate::_M_transform_helper): New.
	* src/locale.cc: Remove unnecessary specializations.
	* src/string-inst.cc: Tweak instantiation of ctors.

	* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Do configury for collate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* src/Makefile.am (sources): Add collate.cc.
	* src/Makefile.in: Regenerate.

	* testsuite/22_locale/collate_byname.cc: New.
	* testsuite/22_locale/collate.cc: New file.
	* testsuite/22_locale/collate_char_members.cc: New file.
	* testsuite/22_locale/collate_wchar_t_members.cc: New file.

From-SVN: r44996
2001-08-18 02:53:13 +00:00
Benjamin Kosnik
33590f13b2 Implement std::messages.
2001-08-07  Benjamin Kosnik  <bkoz@redhat.com>

	Implement std::messages.
	Make config a fully-nested directory.
	* config/locale: New directory.
	* config/c_locale_generic.cc: Move into locale subdirectory.
	* config/c_locale_generic.h: Same.
	* config/c_locale_gnu.cc: Same.
	* config/c_locale_gnu.h: Same.
	* config/c_locale_ieee_1003.1-200x.cc: Same.
	* config/c_locale_ieee_1003.1-200x_.h: Same.
	* config/codecvt_specializations_generic.h: Same.
	* config/codecvt_specializations_ieee_1003.1-200x.h: Same.
	* config/messages_members_gnu.h: Same.
	* config/messaages_members_gnu.cc: Same.
	* config/messages_members_generic.h: Same.
	* config/messaages_members_generic.cc: Same.
	* config/messages_members_ieee_1003.1-200x.h: Same.
	* config/messaages_members_ieee_1003.1-200x.cc: Same.
	* config/io: New directory.
	* config/basic_file_libio.h: Move into io subdirectory.
	* config/basic_file_libio.cc: Same.
	* config/c_io_libio.h: Same.
	* config/c_io_libio_codecvt.c: Same.
	* config/basic_file_stdio.h: Same.
	* config/basic_file_stdio.cc: Same.
	* config/c_io_stdio.h: Same.

	* po: New directory.
	* po/POTFILES.in: New file.
	* po/Makefile.am: New file.
	* po/Makefile.in: New file.
	* po/libstdc++.pot: Generic translation file.
	* po/fr.po: Preliminary French translation.
	* po/de.po: Preliminary German translation.
	* intl: New directory.
	* intl/Makefile.am: New file.
	* intl/Makefile.in: New file.
	* intl/string_literals.cc: New file.
	* acinclude.m4 (GLIBCPP_CONFIGURE): Bump VERSION to 3.1.0. Add
	requisite setup for gettext. Re-arrange.
	* aclocal.m4: Regenerate.
	* configure.in: Don't call GLIBCPP_CHECK_COMPILER_VERSION.
	Output Makefile bits for po and intl.
	* configure: Regenerate.
	* Makefile.am (SUBDIRS): Add intl, po. Add rule for dist.
	* Makefile.in: Regenerate.
	* acconfig.h: Add ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_STPCPY.
	* config.h.in: Regenerate.

	* acinclude.m4 (AC_REPLACE_STRINGFUNCS): Remove.

	* include/Makefile.am (install-data-local): Don't install Makefile.
	* include/Makefile.in: Regenerate.

	* include/bits/locale_facet.h (locale::facet::_S_clone_c_locale):
	Add member.
	* config/locale/c_locale_gnu.cc (_S_clone_c_locale): Add definition.
	* config/locale/c_locale_generic.cc: Same.
	* config/locale/c_locale_ieee_1003.1-200x.cc: Same.

	* include/bits/codecvt.h: Excise non-standard, non-required
	bits. This includes __enc_traits, and partial specializations of
	codecvt for __enc_traits.
	* src/codecvt.cc (__enc_traits::_S_max_size): Guard
	* config/codecvt_partials_ieee_1003.1-200x.h: New file.
	* config/codecvt_partials_generic.h: New file.
	* include/Makefile.am (allstamps): Add stamp-codecvt_model.
	(stamp-codecvt_model): Add.
	* include/Makefile.in: Regenerate.
	* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add in codecvt configury.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/22_locale/codecvt_unicode_wchar_t.cc: Use macro guard.
	* testsuite/22_locale/codecvt_unicode_char.cc: Same.
	* testsuite/22_locale/ctor_copy_dtor.cc: And here.

	* include/bits/localefwd.h (class locale::facet): Add __enc_traits
	as a friend for _S_*_c_locale functions.
	* include/bits/codecvt.h (__enc_traits::__enc_traits): Add locale
	argument to default constructor so that CODESET information can be
	deduced.
	* include/bits/locale_facets.h (messages_byname):
	Re-implement. Remove specializations.
	* src/locale.cc (messages_byname<char>): Remove specialization.
	(messages_byname<wchar_t>): Same.
	* config/locale/c_locale_ieee_1003.1-200x.cc: New file.
	* config/locale/c_locale_ieee_1003.1-200x.h: New file.
	* config/locale/messages_members_ieee_1003.1-200x.cc: New file.
	* config/locale/messages_members_ieee_1003.1-200x.h: New file.
	* config/locale/messages_members_gnu.cc: New file.
	* config/locale/messages_members_gnu.h: New file.
	* config/locale/messages_members_generic.cc: New file.
	* config/locale/messages_members_generic.h: New file.

	* docs/html/configopts.html: Add documentation for new locale
	model, ieee_1003.1. Adjust other flags for current defaults.
	* docs/html/22_locale/locale.html: Update.
	* docs/html/22_locale/howto.html: Add link to messages.html. Organize.
	* docs/html/22_locale/messages.html: New.

	* src/Makefile.am (sources): Add messages_virtuals.cc.
	* src/Makefile.in: Regenerate.
	* include/Makefile.am (allstamps): Add stamp-messages_model.
	(stamp-messages_model): Add.
	* include/Makefile.in: Regenerate.
	* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add in messages configury.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

	* testsuite_flags.in (--cxxflags): Add LOCALEDIR.
	* testsuite/lib/libstdc++-v3-dg.exp: Remove broken LD_LIBRARY_PATH
	bits for Irix.
	* acinclude (GLIBCPP_ENABLE_CLOCALE): Set glibcpp_localedir to the
	build directories message catalog base directory, and export.
	Eventually this should probably be made to deal with build and
	install directories. For now, punt on this as the library itself
	doesn't use message catalogs (yet).
	* testsuite/22_locale/messages.cc: New file.
	* testsuite/22_locale/messages_char_members.cc: New file.
	* testsuite/22_locale/messages_byname.cc: New file.

From-SVN: r44702
2001-08-08 02:49:01 +00:00