Jakub Jelinek
f373d4c761
ctype_members.cc (ctype<wchar_t>::do_widen(char)): Switch to _M_c_locale_ctype around btowc call.
...
* config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_widen(char)):
Switch to _M_c_locale_ctype around btowc call.
(ctype<wchar_t>::do_widen(const char*, const char *, wchar_t*)):
Switch to _M_c_locale_ctype around mbsrtowcs call.
(ctype<wchar_t>::do_narrow(char)): Switch to _M_c_locale_ctype around
wctob call.
(ctype<wchar_t>::do_narrow(const char*, const char *, wchar_t*)):
Switch to _M_c_locale_ctype around wcsrtombs call.
From-SVN: r56841
2002-09-05 09:54:26 +02:00
Jakub Jelinek
9a6d20712b
monetary_members.cc (moneypunct<wchar_t, [...]): Use __uselocale instead of setlocale for glibc 2.3.
...
* config/locale/gnu/monetary_members.cc
(moneypunct<wchar_t, true>::_M_initialize_moneypunct,
moneypunct<wchar_t, false>::_M_initialize_moneypunct): Use
__uselocale instead of setlocale for glibc 2.3.
From-SVN: r56839
2002-09-05 09:51:16 +02:00
Jakub Jelinek
89671b7067
c++locale_internal.h: New header.
...
* config/locale/generic/c++locale_internal.h: New header.
* config/locale/gnu/c++locale_internal.h: New header.
* config/locale/gnu/c_locale.cc: Include it.
* config/locale/gnu/collate_members.cc: Include it.
* config/locale/gnu/ctype_members.cc: Include it.
* config/locale/gnu/messages_members.cc: Include it.
* config/locale/gnu/monetary_members.cc: Include it.
* config/locale/gnu/numeric_members.cc: Include it.
* config/locale/gnu/time_members.cc: Include it.
(_M_put): Reorder __strftime_l and __wcsftime_l arguments to match
glibc.
(_M_initialize_timepunct): Initialize _M_c_locale_timepunct for
C locale.
* acinclude.m4: Include string.h when testing strcoll_l.
For glibc 2.3 provide __-prefixed prototypes.
(CLOCALE_INTERNAL_H): Set, add AC_LINK_FILES line.
* aclocal.m4, configure: Rebuilt.
* include/bits/locale_facets.h: Add declaration of specialization
here.
* config/locale/gnu/messages_members.cc: Add specialization for
messages<wchar_t>.
* config/locale/gnu/messages_members.h: Remove generic definition
of do_get.
From-SVN: r56837
2002-09-05 09:46:17 +02:00
Benjamin Kosnik
fdf7e80975
re PR libstdc++/6410 (Trouble with non-Ascii monetary symbols and wchar_t)
...
2002-07-02 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/6410
* include/bits/locale_facets.h (moneypunct::moneypunct): Add const
char* name parameter.
* config/locale/gnu/monetary_members.cc: Use it.
* config/locale/generic/monetary_members.cc: Same.
* src/localename.cc (_Impl::_Impl(const char*, size_t)): Use it.
* include/backward/strstream.h: Update date.
From-SVN: r55203
2002-07-03 06:29:26 +00:00
Carlo Wood
7aacf98920
re PR libstdc++/6811 (Missing 'return *this' in __enc_traits& operator=(const __enc_traits& __obj)' in 3.1 release)
...
2002-05-26 Carlo Wood <carlo@alinoe.com>
Paolo Carlini <pcarlini@unitus.it>
PR libstdc++/6811
* config/locale/ieee_1003.1-2001/codecvt_specializations.h
(__enc_traits::operator=): add missing return statement.
Co-Authored-By: Paolo Carlini <pcarlini@unitus.it>
From-SVN: r53896
2002-05-26 14:35:04 +00:00
Benjamin Kosnik
f64ce6c6e8
[multiple changes]
...
2002-05-24 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/6701
* testsuite/22_locale/ctype_narrow_char.cc: New.
* testsuite/22_locale/ctype_narrow_wchar_t.cc: New.
* testsuite/22_locale/ctype_widen_char.cc: New.
* testsuite/22_locale/ctype_widen_wchar_t.cc: New.
* testsuite/22_locale/ctype_members_char.cc: Move some bits into...
* testsuite/22_locale/ctype_is_char.cc: ...this.
* testsuite/22_locale/ctype_to_char.cc: ...and this.
* testsuite/22_locale/ctype_members_wchar_t.cc: Move some bits into...
* testsuite/22_locale/ctype_is_wchar_t.cc: ...this.
* testsuite/22_locale/ctype_to_wchar_t.cc: ...and this.
* testsuite/22_locale/ctype_scan_wchar_t.cc: Should pass.
2002-05-24 Dale Peakall <dale@peakall.net>
PR libstdc++/6701
* config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_narrow): Fix.
* config/locale/generic/ctype_members.cc: Same.
From-SVN: r53841
2002-05-24 16:02:39 +00:00
Paolo Carlini
6d030676cc
[multiple changes]
...
2002-05-04 Benjamin Kosnik <bkoz@redhat.com>
Paolo Carlini <pcarlini@unitus.it>
* testsuite/22_locale/num_put_members_char.cc: Add test04(),
testing for the locale_facets.tcc entry of the previous commit.
* testsuite/22_locale/num_put_members_wchar_t.cc: Likewise.
2002-05-04 Takeshi Kobayakawa <tskoba@mte.biglobe.ne.jp>
* config/locale/generic/c_locale.cc
(__convert_to_v(float, double, long double)):
Fix the temporary switch to the "C" locale, saving and
restoring in the proper way the current locale.
* config/locale/generic/time_members.cc
(__timepunct<char, wchar_t>::_M_put): Likewise.
* config/locale/gnu/messages_members.cc
(messages<char>::do_get): Likewise.
* config/locale/gnu/messages_members.h
(messages<_CharT>::do_get): Likewise.
* config/locale/gnu/time_members.cc
(__timepunct<char, wchar_t>::_M_put): Likewise.
* include/bits/locale_facets.tcc (__convert_from_v): Likewise.
From-SVN: r53167
2002-05-04 21:33:19 +00:00
Benjamin Kosnik
d3a193e36c
re PR libstdc++/4164 (33 Memory Leak when using iostream)
...
2002-04-15 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/4164
Valgrind fixes.
* config/io/basic_file_stdio.cc (__basic_file::~__basic_file):
Call close.
(__basic_file::close): Call fflush. Correct return if fclose ok.
(__basic_file::is_open): Make const.
Change __c_file_type to __c_file.
* config/io/basic_file_stdio.h: Change __c_file_type to __c_file.
(__basic_file::is_open): Make const.
* config/io/c_io_stdio.h: Change __c_file_type to __c_file.
* include/std/std_fstream.h (filebuf::_M_allocate_file): Remove.
(filebuf::_M_unbuf): Add.
(filebuf::_M_file): Change to non-pointer.
(filebuf::_M_allocate_pback_buffer): Remove.
* include/bits/fstream.tcc (filebuf::_M_allocate_file): Remove.
(filebuf::_M_allocate_internal_buffer): Use _M_unbuf.
Change initialization list for _M_file change.
(filebuf::_M_allocate_pback_buffer): Remove.
Change _M_file usage to reflect non-pointer data member.
* config/locale/generic/c_locale.cc
(locale::facet::_S_create_c_locale): Add parameter.
* config/locale/generic/collate_members.cc: Change
_M_compare_helper to _M_compare.
Change _M_transform_helper to _M_transform.
* config/locale/generic/monetary_members.cc: Changeup data types.
Add dtors.
* config/locale/generic/numeric_members.cc: Add dtors.
* config/locale/generic/time_members.cc: Add dtors.
* config/locale/gnu/c_locale.cc: Add parameter.
* config/locale/gnu/collate_members.cc:Change
_M_compare_helper to _M_compare.
Change _M_transform_helper to _M_transform.
* config/locale/gnu/ctype_members.cc: Better error checking.
* config/os/gnu-linux/bits/ctype_noninline.h: Better error checking.
* config/locale/gnu/messages_members.cc: Tweak comment.
* config/locale/gnu/monetary_members.cc: Change data types.
Add dtors.
* config/locale/gnu/numeric_members.cc: Add dtors, better error
checking.
* config/locale/gnu/time_members.cc: Same.
* config/locale/ieee_1003.1-2001/c_locale.cc
(locale::facet::_S_create_c_locale): Add parameter.
* config/locale/ieee_1003.1-2001/c_locale.h: Correct typedef.
* config/locale/ieee_1003.1-2001/codecvt_specializations.h: Remove
bogus ctor.
* include/bits/locale_facets.h (moneypunct): Use string literals.
Don't define dtor.
(numpunct): Same.
(__timepunct): Same.
(locale::_Impl::_M_facets): Change from vector to array.
(locale::_Impl::_M_names): Change from array of strings to array
of string literals.
(locale::facet::_S_create_c_locale): Add parameter.
(locale::locale::_S_num_facets): Move to...
(locale::_Impl::_M_facets_size): Here.
* include/bits/locale_facets.tcc: Fixups for _M_facets, _M_name
changes.
* include/bits/localefwd.h: (locale:🆔 :_M_id): Add member function.
(locale::_Impl::_Impl(facet**, size_t, bool)): Add.
(locale::_Impl::_Impl(string, size_t)): Change to
(locale::_Impl::_Impl(const char*, size_t)): This.
* include/bits/streambuf.tcc (streambuf::_S_pback_size): Define.
* include/std/std_streambuf.h (streambuf::_M_pback_size): Change to
(streambuf::_S_pback_size): This.
* src/globals.cc: Add pre-allocations for "C" facets.
* src/locale-inst.cc: Remove vector instantiations.
* src/locale.cc: Remove vector include. Fixups for _M_names,
_M_facets changes.
* src/localename.cc: Same.
* include/bits/stl_vector.h: Fix odd formatting.
* include/bits/basic_string.tcc: Tweak comment.
* libsupc++/new: Make sure parameters are uglified.
* libsupc++/typeinfo: Same.
* testsuite/22_locale/num_get_members_char.cc: Fixup.
* testsuite/22_locale/num_get_members_wchar_t.cc: Same.
* testsuite/27_io/filebuf_members.cc: Same.
From-SVN: r52345
2002-04-16 00:45:36 +00:00
Paolo Carlini
99b629fa30
2002-04-01 Paolo Carlini <pcarlini@unitus.it>
...
* config/locale/ieee_1003.1-2001/codecvt_specializations.h
(codecvt::do_out, codecvt::do_unshift, codecvt::do_in):
By definition, sizeof(char) == 1.
* include/bits/locale_facets.tcc (money_get::do_get,
money_put::do_put): Ditto.
* testsuite/21_strings/inserters_extractors.cc
(test04): Ditto.
From-SVN: r51685
2002-04-01 08:55:05 +00:00
Benjamin Kosnik
99ffa1e37a
messages_members.h: Correct conditional.
...
2002-03-25 Benjamin Kosnik <bkoz@redhat.com>
Jakub Jelinek <jakub@redhat.com>
* config/locale/gnu/messages_members.h: Correct conditional.
* config/locale/gnu/messages_members.cc: Same.
* config/locale/gnu/time_members.cc: Same.
From-SVN: r51332
2002-03-25 20:20:34 +00:00
Benjamin Kosnik
1f3a2ce1db
messages_members.h: Add __uselocale bits.
...
2002-03-22 Benjamin Kosnik <bkoz@redhat.com>
* config/locale/gnu/messages_members.h: Add __uselocale bits.
* config/locale/gnu/messages_members.cc: Same.
* config/locale/gnu/time_members.cc: Same.
From-SVN: r51217
2002-03-23 01:55:34 +00:00
Ulrich Drepper
a10e3b428c
2002-03-09 Ulrich Drepper <drepper@redhat.com>
...
Paolo Carlini <pcarlini@unitus.it>
* config/locale/generic/collate_members.cc
(collate<char,wchar_t>::_M_compare_helper): normalize
values returned by strcoll and wcscoll.
* config/locale/gnu/collate_members.cc
(collate<char,wchar_t>::_M_compare_helper): ditto
for __strcoll_l and __wcscoll_l.
Co-Authored-By: Paolo Carlini <pcarlini@unitus.it>
From-SVN: r50551
2002-03-10 23:48:25 +00:00
Benjamin Kosnik
1fa4bed7b5
c_locale_generic.cc: Move to...
...
2002-03-08 Benjamin Kosnik <bkoz@redhat.com>
* c_locale_generic.cc: Move to...
* generic/c_locale.cc
* c_locale_generic.h: Move to...
* generic/c_locale.h
* codecvt_specializations_generic.h: Move to...
* generic/codecvt_specializations.h
* collate_members_generic.cc: Move to...
* generic/collate_members.cc
* ctype_members_generic.cc: Move to...
* generic/ctype_members.cc
* messages_members_generic.cc: Move to...
* generic/messages_members.cc
* messages_members_generic.h: Move to...
* generic/messages_members.h
* moneypunct_members_generic.cc: Move to...
* generic/monetary_members.cc
* numpunct_members_generic.cc: Move to...
* generic/numeric_members.cc
* time_members_generic.cc: Move to...
* generic/time_members.cc
* c_locale_gnu.cc: Move to...
* gnu/c_locale.cc
* c_locale_gnu.h: Move to...
* gnu/c_locale.h
* collate_members_gnu.cc: Move to...
* gnu/collate_members.cc
* ctype_members_gnu.cc: Move to...
* gnu/ctype_members.cc
* messages_members_gnu.cc: Move to...
* gnu/messages_members.cc
* messages_members_gnu.h: Move to...
* gnu/messages_members.h
* moneypunct_members_gnu.cc: Move to...
* gnu/monetary_members.cc
* numpunct_members_gnu.cc: Move to...
* gnu/numeric_members.cc
* time_members_gnu.cc: Move to...
* gnu/time_members.cc
* c_locale_ieee_1003.1-200x.cc: Move to...
* ieee_1003.1-2001/c_locale.cc
* c_locale_ieee_1003.1-200x.h: Move to...
* ieee_1003.1-2001/c_locale.h
* codecvt_specializations_ieee_1003.1-200x.h: Move to...
* ieee_1003.1-2001/codecvt_specializations.h
* messages_members_ieee_1003.1-200x.cc: Move to...
* ieee_1003.1-2001/messages_members.cc
* messages_members_ieee_1003.1-200x.h: Move to...
* ieee_1003.1-2001/messages_members.h
* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Make consistent.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* src/Makefile.am (sources): Change to monetary and numeric.
* src/Makefile.in: Regenerate.
* docs/html/configopts.html: Update to ieee_1003.1-2001.
From-SVN: r50472
2002-03-09 02:16:36 +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
Loren J. Rittle
ef8259b757
c_locale_generic.cc: Do not trust _GLIBCPP_HAVE_STRTOF or _GLIBCPP_HAVE_STRTOLD as set by configure.
...
* config/locale/c_locale_generic.cc: Do not trust
_GLIBCPP_HAVE_STRTOF or _GLIBCPP_HAVE_STRTOLD as
set by configure.
From-SVN: r49558
2002-02-06 23:11:16 +00:00
Loren J. Rittle
99a4deb8a9
acinclude.m4: Add C++ linkage check for strtof.
...
* acinclude.m4: Add C++ linkage check for strtof.
* aclocal.m4: Rebuilt.
* config.h.in: Rebuilt.
* configure: Rebuilt.
* config/locale/c_locale_generic.cc: Conditionally include
<ieeefp.h>. Improve handling and error checking of float
and long double input for non-C99 configurations.
From-SVN: r49546
2002-02-06 17:31:43 +00:00
Benjamin Kosnik
6f48900c2b
codecvt_specializations_ieee_1003.1-200x.h: Initialize all data members in copy ctor.
...
2002-01-31 Benjamin Kosnik <bkoz@redhat.com>
* config/locale/codecvt_specializations_ieee_1003.1-200x.h:
Initialize all data members in copy ctor. Make ctors explicit.
(__enc_traits::__enc_traits()): Default ctor does nothing.
(__enc_traits::_M_init): Guard against multiple iconv_opens.
* include/std/std_sstream.h (basic_stringbuf): Make data members
protected.
* include/std/std_fstream.h (basic_filebuf): Same.
* include/std/std_streambuf.h: Tweak.
* include/bits/streambuf.tcc: Same.
* include/bits/sstream.tcc: Same.
* include/bits/fstream.tcc: Same.
From-SVN: r49387
2002-02-01 03:20:39 +00:00
Benjamin Kosnik
2a4e640755
c_locale_gnu.cc: Same errno fixes as generic.
...
2002-01-30 Benjamin Kosnik <bkoz@redhat.com>
* config/locale/c_locale_gnu.cc: Same errno fixes as generic.
From-SVN: r49354
2002-01-31 01:21:08 +00:00
Loren J. Rittle
2083b5be4d
c_locale_generic.cc: Check errno for ERANGE instead of non-zero to aid portability.
...
* config/locale/c_locale_generic.cc: Check errno for ERANGE
instead of non-zero to aid portability.
From-SVN: r49350
2002-01-31 00:47:05 +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
Loren J. Rittle
d419f1cdf0
* config/locale/c_locale_generic.cc: Fix typename usage.
...
From-SVN: r49141
2002-01-23 16:20:46 +00:00
Benjamin Kosnik
9b6e0e57a1
c_locale_generic.cc: Fix.
...
2002-01-22 Benjamin Kosnik <bkoz@redhat.com>
* config/locale/c_locale_generic.cc: Fix.
From-SVN: r49125
2002-01-23 03:50:49 +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
Paolo Carlini
b206658a5f
locale_facets.tcc (collate::do_transform): Adjust implicit typename.
...
2001-12-27 Paolo Carlini <pcarlini@unitus.it>
* include/bits/locale_facets.tcc (collate::do_transform):
Adjust implicit typename.
* config/locale/messages_members_generic.h (messages::open,
messages::do_open, messages::do_get): Adjust implicit typename.
* config/locale/messages_members_gnu.h (messages::open,
messages::do_open, messages::do_get): Adjust Implicit typename.
* config/locale/messages_members_ieee_1003.1-200x.h (messages::open,
messages::do_open, messages::do_get): Adjust implicit typename.
From-SVN: r48327
2001-12-27 12:13:23 +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
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
861768350b
2001-11-28 Benjamin Kosnik <bkoz@redhat.com>
...
Jakub Jelinek <jakub@redhat.com>
* config/locale/moneypunct_members_gnu.cc
(moneypunct<wchar_t>::_M_initialize_moneypunct): Correctly cast
for ia64, others.
* config/locale/numpunct_members_gnu.cc
(numpunct<wchar_t>::_M_initialize_numpunct): Same.
From-SVN: r47402
2001-11-28 07:40:12 +00:00
Joseph Myers
754d92990a
predict.c, [...]: Fix spelling errors.
...
gcc:
* predict.c, reg-stack.c: Fix spelling errors.
libstdc++-v3:
* config/locale/moneypunct_members_gnu.cc,
include/bits/locale_facets.h: Fix spelling errors.
From-SVN: r47278
2001-11-23 01:37:07 +00:00
Benjamin Kosnik
1a808622b6
2001-10-26 Benjamin Kosnik <bkoz@redhat.com>
...
libstdc++/4503
* config/locale/codecvt_specializations_ieee_1003.1-200x.h
(__enc_traits::~__enc_traits): Fix.
(__enc_traits::_M_init): Add error checking.
From-SVN: r46532
2001-10-26 07:21:56 +00:00
Benjamin Kosnik
322821b9ad
Make -fno-exceptions work.
...
2001-10-23 Benjamin Kosnik <bkoz@redhat.com>
Make -fno-exceptions work.
* config/locale/c_locale_gnu.cc: Use functexcept.
* include/bits/c++config (__stl_assert): Remove.
(__STL_USE_EXCEPTIONS): Same.
(__STL_TRY): Same.
(__STL_CATCH_ALL): Same.
(__STL_THROW): Same.
(__STL_RETHROW): Same.
(__STL_NOTHROW): Same.
(__STL_UNWIND): Same.
* include/bits/pthread_allocimpl.h: Fix.
* include/bits/std_bitset.h: Same.
* include/bits/std_list.h: Same.
* include/bits/std_memory.h: Same.
* include/bits/std_queue.h: Same.
* include/bits/stl_alloc.h: Same.
* include/bits/stl_deque.h: Same.
* include/bits/stl_list.h: Same.
* include/bits/stl_queue.h: Same.
* include/bits/stl_tempbuf.h: Same.
* include/bits/stl_tree.h: Same.
* include/bits/stl_uninitialized.h: Same.
* include/bits/stl_vector.h: Same.
* include/ext/ropeimpl.h: Same.
* include/ext/slist: Same.
* include/ext/stl_hashtable.h: Same.
* include/ext/stl_rope.h: Same.
* libsupc++/new_op.cc: Include cstdlib.
* libsupc++/eh_personality.cc: Add exception_defines include. Use
__throw_exception_again, tweak.
* libsupc++/eh_aux_runtime.cc: Include stdlib for abort.
* libsupc++/vec.cc: Tweak.
* src/functexcept.cc: Remove unused arguments.
* testsuite/23_containers/bitset_members.cc: Tweak.
From-SVN: r46455
2001-10-24 02:37:56 +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
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
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
Benjamin Kosnik
a623ef6e71
2001-09-10 Benjamin Kosnik <bkoz@redhat.com>
...
* config/locale/moneypunct_members_generic.cc
(money_base::_S_construct_pattern): Remove unused parameters.
From-SVN: r45518
2001-09-10 20:14:15 +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
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