Benjamin Kosnik
e66868131b
locale_facets.h: Move non-facet classes requiring <string> to...
...
2003-01-22 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/locale_facets.h: Move non-facet classes requiring
<string> to...
* include/bits/locale_classes.h: New.
* include/bits/Makefile.am (bits_headers_src): Add locale_classes.h.
* include/bits/Makefile.in: Regenerate.
* include/bits/locale_facets.tcc (__convert_from_v): Move to...
* config/locale/gnu/c_locale.h: ...here.
* config/locale/generic/c_locale.h: Same.
* include/bits/locale_facets.tcc: Move declarations to...
* include/bits/locale_facets.h: ...here.
* include/bits/basic_ios.h: Tweak includes accordingly.
* include/std/std_sstream.h: Add streambuf include.
* include/std/std_fstream.h: Ditto.
* include/std/std_locale.h: Add locale_classes.h include.
* include/std/std_iosfwd.h: Tweak.
* src/concept-inst.cc: Add iterator include.
* config/linker-map.gnu: Specify __cxa functions, mark __cxa_dyn_*
bits as unexported in the future.
From-SVN: r61593
2003-01-22 16:51:52 +00:00
Mark Mitchell
8fbc5ae723
cp-tree.h (lang_type_class): Remove is_partial_instantiation.
...
* cp-tree.h (lang_type_class): Remove is_partial_instantiation.
(PARTIAL_INSTANTIATION_P): Remove.
(IMPLICIT_TYPENAME_P): Likewise.
(IMPLICIT_TYPENAME_TYPE_DECL_P): Likewise.
(build_typename_type): Remove declaration.
(parmlist_is_exprlist): Likewise.
* decl.c (build_typename_type): Make it static, remove third
parameter.
(push_class_binding): Don't do implicit typename stuff.
(make_typename_type): Likewise.
(lookup_name_real): Likewise.
(grokdeclarator): Don't try to convert declarations into
initializations. Don't do implicit typename stuff.
(parmlist_is_exprlist): Remove.
(xref_basetypes): Simplify.
* decl2.c (grokfield): Don't try to convert declarations into
initializations.
(build_anon_union_vars): Do this while processing templates, too.
(finish_anon_union): Likewise.
* error.c (dump_type): Remove implicit typename handling.
* parser.c (cp_parser_diagnose_invalid_type_name): New method.
(cp_parser_primary_expression): Correct handling of names not
found by unqualified name lookup in templates.
(cp_parser_nested_name_specifier_opt): Avoid checking dependency
of types when possible.
(cp_parser_simple_declaration): Complain intelligently about some
invalid declarations.
(cp_parser_member_declaration): Likewise.
(cp_parser_constructor_declarator_p): Don't check when we're in a
function scope.
* pt.c (instantiate_class_template): Remove
PARTIAL_INSTANTIATION_P gunk.
* search.c (lookup_field_r): Don't build implicit typenames.
(marked_pushdecls_p): Don't enter dependent base types.
(unmarked_pushdecls_p): Likewise.
* semantics.c (begin_class_definition): Remove implicit typename
stuff.
* config/locale/gnu/messages_members.h: Use this-> to refer to
unqualified members of base clasess.
* config/locale/ieee_1003.1-2001/codecvt_specializations.h: Likewise.
* include/bits/codecvt.h: Likewise.
* include/bits/deque.tcc: Likewise.
* include/bits/fstream.tcc: Likewise.
* include/bits/istream.tcc: Likewise.
* include/bits/list.tcc: Likewise.
* include/bits/locale_facets.h: Likewise.
* include/bits/ostream.tcc: Likewise.
* include/bits/sstream.tcc: Likewise.
* include/bits/stl_bvector.h: Likewise.
* include/bits/stl_deque.h: Likewise.
* include/bits/stl_list.h: Likewise.
* include/bits/stl_tree.h: Likewise.
* include/bits/stl_vector.h: Likewise.
* include/bits/vector.tcc: Likewise.
* include/ext/ropeimpl.h: Likewise.
* include/ext/stdio_filebuf.h: Likewise.
* include/ext/stl_rope.h: Likewise.
* include/std/std_fstream.h: Likewise.
* include/std/std_sstream.h: Likewise.
Co-Authored-By: Jeffrey Oldham <oldham@codesourcery.com>
From-SVN: r61403
2003-01-16 20:30:50 +00:00
Benjamin Kosnik
1c26d8fd84
locale_facets.h (messages): Move ctor, dtor definitions to..
...
2003-01-06 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/locale_facets.h (messages): Move ctor, dtor
definitions to..
(__timepunct): Same.
* config/locale/gnu/messages_members.h (messages): Add dtor, ctor
definitions. Conditionalize for GNU systems.
* config/locale/generic/messages_members.h (messages): Add dtor, ctor
definitions.
* config/locale/gnu/time_members.h (messages): New. Add dtor, ctor
definitions. Conditionalize for GNU systems.
* config/locale/generic/time_members.h (messages): New. Add dtor, ctor
definitions.
* include/bits/localefwd.h (locale::facet::_S_c_name): Add.
* src/locale.cc: Define.
* src/localename.cc (locale::_Impl::_Impl(facet**, size_t, bool):
Use it.
* config/locale/gnu/time_members.h: Use it.
* config/locale/gnu/messages_members.h: Use it.
* config/linker-map.gnu: Add locale::facets details.
* include/Makefile.am (target_headers_extra): Add time_members.h.
* include/Makefile.in: Regenerate.
* acinclude.m4: Export CTIME_H.
* aclocal.m4: Regenerate.
* configure: Regnerate.
From-SVN: r60952
2003-01-06 21:23:00 +00:00
Benjamin Kosnik
2982f6ffc4
locale_facets.h (__timepunct::__timepunct): Allocate _M_name_timepunct.
...
2002-10-16 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/locale_facets.h (__timepunct::__timepunct): Allocate
_M_name_timepunct.
(__timepunct::~__timepunct): Deallocate, remove specialization
declarations.
(messages::messages): Allocate _M_name_messages.
(messages::~messages): Deallocate.
(messages_byname): Same.
* config/locale/gnu/time_members.cc (__timepunct::~__timepunct):
Remove.
* config/locale/generic/time_members.cc (__timepunct::~__timepunct):
Remove.
* docs/html/install.html: Add es_MX, en_PH to required locales list.
From-SVN: r58232
2002-10-17 01:19:59 +00:00
Paolo Carlini
aa53f832ac
localefwd.h (class locale): Add static member _S_num_extra_categories...
...
2002-10-08 Paolo Carlini <pcarlini@unitus.it>
Benjamin Kosnik <bkoz@redhat.com>
* include/bits/localefwd.h (class locale): Add static member
_S_num_extra_categories, encoding the number of additional
categories.
Change _S_num_categories to _S_categories_size.
(class locale::_Impl): Add _M_c_cats.
(class locale::_Impl::_M_names): Change to array of chars.
(class locale::_Impl::_M_check_same_name): Use
_S_extra_categories_size, tweak.
(locale::locale(const locale&, _Facet*)): Ditto.
* src/locale.cc (locale::locale(const char* )): Rewrite to deal
with the environment in a POSIX-compliant way while being thread
safe.
(locale::name()): Update to output POSIX environment strings.
* src/localename.cc
(locale::_Impl::_Impl(const _Impl&, size_t): Use
_S_categories_size_*, tweak.
(locale::_Impl::_Impl(facet**, size_t, bool)): Ditto.
(locale::_Impl::_Impl(const char*, size_t)): Name each category
individually.
(locale::_Impl::_M_replace_categories): Use strcpy.
* include/bits/locale_facets.h (numpunct::_M_initialize_numpunct):
Change default argument to NULL from _S_c_locale.
(timepunct::_M_initialize_timepunct): Same.
_S_c_locale cleanups.
* src/codecvt.c: _S_c_locale simplification.
* src/ctype.c: Same.
* src/globals.cc: Add fake_name.
* src/locale-inst.cc: Remove extra includes.
* src/locale.cc: Remove extra includes.
Add _S_extra_categories_size definition.
Correct "C" initialization.
(locale::facet::facet): Don't initialize _S_c_locale.
(locale::facet::_M_remove_reference): Adjust.
* src/localename: Use facet_vec, facet_name.
(locale::_Impl::_Impl(facet** __f, size_t __refs, bool)): Set
facet ref counts to one. Initialize _S_c_locale.
(locale::_Impl::_M_install_facet(id*, facet*)): Adjust facet ref
counts when installing unilaterally.
* config/locale/generic/c_locale.cc: Add _S_categories definition.
* config/locale/generic/c_locale.h: Add _GLIBCPP_NUM_CATEGORIES macro.
* config/locale/generic/time_members.cc: _S_c_locale cleanup.
* config/locale/gnu/c_locale.cc: Add _S_categories definition.
(_S_destroy_c_locale): Move checks against _S_c_locale here.
* config/locale/gnu/c_locale.h: Add _GLIBCPP_NUM_CATEGORIES macro.
* config/locale/gnu/ctype_members.cc: Simplify _S_destroy_c_locale
calls, _S_c_locale usage.
* config/locale/gnu/monetary_members.cc: Same, tweaks.
* config/locale/gnu/monetary_members.cc: Same.
* config/locale/gnu/time_members.cc: Same.
* config/os/gnu-linux/ctype_noninline.h: Use locale::classic().
* docs/html/22_locale/locale.html: Add bits about global locales
and "C" setlocale.
* testsuite/22_locale/facet.cc (test02): Add.
* testsuite/22_locale/static_members.cc (test02): Add.
* testsuite/22_locale/ctor_copy_dtor.cc (test04): Add.
Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>
From-SVN: r57964
2002-10-08 23:32:23 +00:00
Benjamin Kosnik
38cca75024
Makefile.am (sources): Edit.
...
2002-09-10 Benjamin Kosnik <bkoz@redhat.com>
* src/Makefile.am (sources): Edit.
(target_sources): New.
(target_sources_extra): New.
* src/Makefile.in: Regenerate.
* acinclude.m4: Set CCODECVT_CC.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* src/locale.cc: Move ctype definitions...
* src/ctype.cc: ...here. New file.
* src/locale.cc: Move codecvt definitions...
* src/codecvt.cc: ...here.
* config/generic/codecvt_members.cc: ...and here.
* config/gnu/codecvt_members.cc: ...and here.
* include/bits/codecvt.h: Tweak.
* include/bits/locale_facets: Tweak.
* src/bitset.cc: Correct license text.
* src/concept-inst.cc: Same.
* src/strstream.cc: Same.
* src/vterminate.cc: Same.
From-SVN: r57020
2002-09-11 03:36:45 +00: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
f13a69eccf
char_traits.h: Remove generic definitions.
...
2002-07-30 Benjamin Kosnik <bkoz@redhat.com>
Gabriel Dos Reis <gdr@nerim.net>
* include/bits/char_traits.h: Remove generic definitions.
* include/bits/streambuf_iterator.h (istreambuf_iterator): Use
eof, not -2.
* include/bits/istream.tcc (istream::readsome): Don't check
against eof, instead use constants.
(istream::sync): Same.
(istream::sentry::sentry): Use eq_int_type.
(istream::get): Same.
* include/bits/ostream.tcc: Change __pad to
__pad<_CharT, _Traits>::_S_pad.
* include/bits/locale_facets.h: Add __pad_traits generic and
ostreambuf_iterator specialization.
* include/bits/locale_facets.tcc: Change __pad into struct __pad
with a _CharT and _Traits template parameter and _S_pad static
member function.
* src/locale-inst.cc: Update __pad instantiations.
* include/std/std_fstream.h: Declare _M_underflow_common
specializations.
* src/fstream.cc: New. Add _M_underflow_common specializations.
* include/bits/fstream.tcc (filebuf::close): Use traits_type.
(filebuf::_M_underflow_common(bool)): Remove generic version, as
sys_ungetc and custom int_types don't get along.
* include/std/std_streambuf.h: Add _M_pos.
* src/Makefile.am (sources): Add fstream.cc.
* src/Makefile.in: Regenerate.
* testsuite/21_strings/capacity.cc: Add char_traits specializations.
* testsuite/22_locale/codecvt_members_unicode_char.cc: Same.
* testsuite/22_locale/codecvt_members_unicode_wchar_t.cc: Same.
* testsuite/22_locale/ctor_copy_dtor.cc: Same.
* testsuite/27_io/filebuf_virtuals.cc (test07): Move to...
* testsuite/27_io/filebuf.cc: ...here.
* testsuite/testsuite_hooks.h: Add gnu_char, gnu_int, char_traits
specialization for both.
* testsuite/27_io/streambuf.cc: Add instantiation test,
testsuite_hooks include.
* testsuite/27_io/istream.cc: Same.
* testsuite/27_io/ostream.cc: Same.
* testsuite/27_io/fstream.cc: Same.
* testsuite/27_io/stringstream.cc: Same.
* testsuite/27_io/filebuf.cc: Same.
* testsuite/27_io/stringbuf.cc: Same.
Co-Authored-By: Gabriel Dos Reis <gdr@nerim.net>
From-SVN: r55893
2002-07-31 02:47:36 +00: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
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
Jakub Jelinek
b0396e3b6c
locale_facets.h (__num_base::_S_scale_hex): Remove.
...
2002-04-09 Jakub Jelinek <jakub@redhat.com>
* include/bits/locale_facets.h (__num_base::_S_scale_hex): Remove.
(__num_base::_S_scale_oct): Remove.
* src/locale.cc (__num_base::_S_scale_hex): Remove.
(__num_base::_S_scale_oct): Remove.
From-SVN: r52068
2002-04-09 08:00:08 +00:00
Benjamin Kosnik
e7d7a7a734
2002-02-08 Benjamin Kosnik <bkoz@redhat.com>
...
* include/bits/locale_facets.h
(numpunct<_CharT>::_M_initialize_numpunct): Remove definition.
(__timepunct<_CharT>::_M_initialize_timepunct): Same.
(__timepunct<_CharT>::_M_put_helper): Same.
(moneypunct<_CharT, _Intl>::_M_initialize_moneypunct): Same.
* include/bits/fstream.tcc (filebuf::underflow): Remove
__codecvt_type typedef.
(filebuf::_M_convert_to_external): Same.
From-SVN: r49614
2002-02-08 12:59:49 +00:00
Benjamin Kosnik
5b1a76105b
locale_facets.h (num_get::_M_extract_int): Change prototype.
...
2002-01-23 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/locale_facets.h (num_get::_M_extract_int): Change
prototype.
* include/bits/locale_facets.tcc (num_get::_M_extract_int): Remove
__max_digits checks, adjust arguments.
(num_get::do_get(*)): Changeup.
From-SVN: r49154
2002-01-23 20:38:59 +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
Benjamin Kosnik
93dbe8d76d
[multiple changes]
...
2002-01-20 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/locale_facets.h (ctype<char>::classic_table):
Remove definition.
(ctype<char>::_S_ctable): Remove.
* config/os/gnu-linux/bits/ctype_noninline.h
(ctype<char>::_S_table): Remove definition.
(ctype<char>::classic_table): Define.
(ctype<char>::ctype): Replace _S_ctable with classic_table().
* config/os/aix/bits/ctype_noninline.h: Same.
* config/os/bsd/freebsd/bits/ctype_noninline.h: Same.
* config/os/bsd/netbsd/bits/ctype_noninline.h: Same.
* config/os/djgpp/bits/ctype_noninline.h: Same.
* config/os/generic/bits/ctype_noninline.h: Same.
* config/os/gnu-linux/bits/ctype_noninline.h: Same.
* config/os/hpux/bits/ctype_noninline.h: Same.
* config/os/irix/irix5.2/bits/ctype_noninline.h: Same.
* config/os/irix/irix6.5/bits/ctype_noninline.h: Same.
* config/os/mingw32/bits/ctype_noninline.h: Same.
* config/os/newlib/bits/ctype_noninline.h: Same.
* config/os/solaris/solaris2.5/bits/ctype_noninline.h: Same.
* config/os/solaris/solaris2.6/bits/ctype_noninline.h: Same.
* config/os/solaris/solaris2.7/bits/ctype_noninline.h: Same.
2002-01-20 Danny Smith <dannysmith@users.sourceforge.net>
* config/os/mingw32/bits/ctype_noninline.h: Declare _ctype instead
of _pctype. Use to define _S_ctable. Add definition for alternate
ctor. Initialise _M_ctable to _S_ctable in ctors.
(do_toupper, do_tolower): Use inline code appropriate for C-locale
rather than ::toupper, ::tolower.
From-SVN: r49032
2002-01-21 04:08:54 +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
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
54c1bf7801
Makefile.am (std_headers): Remove cXXX from list.
...
2002-01-04 Benjamin Kosnik <bkoz@redhat.com>
* include/Makefile.am (std_headers): Remove cXXX from list.
(c_base_srcdir): No bits subdirectory.
(c_base_builddir): Same.
(c_base_headers): Adjust names, add ciso646.
(bits_headers): Remove std_xxx.h headers.
* include/Makefile.in: Regenerate.
* include/ext/iterator: Adjust includes.
* include/ext/ropeimpl.h: Same.
* include/ext/stl_hash_fun.h: Same.
* include/ext/algorithm: Same.
* include/backward/bvector.h: Adjust includes.
* include/backward/vector.h: Same.
* include/backward/strstream: Same.
* include/backward/streambuf.h: Same.
* include/backward/stack.h: Same.
* include/backward/set.h: Same.
* include/backward/queue.h: Same.
* include/backward/multiset.h: Same.
* include/backward/multimap.h: Same.
* include/backward/map.h: Same.
* include/backward/list.h: Same.
* include/backward/iterator.h: Same.
* include/backward/iostream.h: Same.
* include/backward/iomanip.h: Same.
* include/backward/fstream.h: Same.
* include/backward/deque.h: Same.
* include/backward/complex.h: Same.
* include/bits/std_algorithm.h: Move to...
* include/std/algorithm: ...here.
* include/bits/std_iosfwd.h, std_locale.h, std_stack.h,
std_bitset.h, std_ios.h, std_map.h, std_stdexcept.h,
std_complex.h, std_iostream.h, std_memory.h, std_streambuf.h,
std_deque.h, std_istream.h, std_numeric.h, std_string.h,
std_fstream.h, std_ostream.h, std_utility.h, std_iterator.h,
std_queue.h, std_valarray.h, std_functional.h, std_limits.h,
std_set.h, std_vector.h, std_iomanip.h, std_list.h, std_sstream.h:
Same.
* include/c_std/bits/std_cassert.h: Move to...
* include/c_std/cassert: Here.
* include/c_std/std_cctype.h, std_cerrno.h, std_cfloat.h,
std_climits.h, std_clocale.h, std_cmath.h, std_csetjmp.h,
std_csignal.h, std_cstdarg.h, std_cstddef.h, std_cstdio.h,
std_cstdlib.h, std_cstring.h, std_ctime.h, std_cwchar.h,
std_cwctype.h: Same.
* include/c_std/cmath: Adjust cmath.tcc include.
* include/c_std/cstdlib: Adjust includes.
* include/c_std/cwchar: Same.
* include/c_std/ctime: Same.
* include/c_std/cstring: Same.
* include/c_std/cstdio: Same.
* include/c_std/bits: Remove directory.
* include/c/bits/std_cassert.h: Move to...
* include/c/cassert: Here.
* include/c/std_cctype.h, std_cerrno.h, std_cfloat.h,
std_climits.h, std_clocale.h, std_cmath.h, std_csetjmp.h,
std_csignal.h, std_cstdarg.h, std_cstddef.h, std_cstdio.h,
std_cstdlib.h, std_cstring.h, std_ctime.h, std_cwchar.h,
std_cwctype.h: Same.
* include/c/bits: Remove directory.
* include/std/cwctype: Remove.
* include/std/cwchar: Remove.
* include/std/ctime: Remove.
* include/std/cstring: Remove.
* include/std/cstdlib: Remove.
* include/std/cstdio: Remove.
* include/std/cstddef: Remove.
* include/std/cstdarg: Remove.
* include/std/csignal: Remove.
* include/std/csetjmp: Remove.
* include/std/cmath: Remove.
* include/std/clocale: Remove.
* include/std/climits: Remove.
* include/std/ciso646: Remove.
* include/std/cfloat: Remove.
* include/std/cerrno: Remove.
* include/std/cctype: Remove.
* include/std/cassert: Remove.
* include/bits/fpos.h: Adjust includes, removing <bits/std_xxx.h>
files and subsituting <.xxx>
* include/bits/valarray_array.h: Same.
* include/bits/stl_uninitialized.h: Same.
* include/bits/stl_alloc.h: Same.
* include/bits/stl_algobase.h: Same.
* include/bits/sstream.tcc: Same.
* include/bits/pthread_allocimpl.h: Same.
* include/bits/ostream.tcc: Same.
* include/bits/localefwd.h: Same.
* include/bits/locale_facets.tcc: Same.
* include/bits/locale_facets.h: Same.
* include/bits/istream.tcc: Same.
* include/bits/char_traits.h: Same.
* include/bits/boost_concept_check.h: Same.
* include/bits/basic_file.h: Same.
* include/std/bitset: Same.
* include/std/complex: Same.
* include/std/fstream: Same.
* include/std/functional: Same.
* include/std/ios: Same.
* include/std/iostream: Same.
* include/std/ostream: Same.
* include/std/sstream: Same.
* include/std/streambuf: Same.
* include/std/string: Same.
* include/std/iterator: Same.
* include/std/valarray: Same.
* src/ios.cc: Adjust includes.
* src/valarray-inst.cc: Same.
* src/string-inst.cc: Same.
* src/stl-inst.cc: Same.
* src/stdexcept.cc: Same.
* src/misc-inst.cc: Same.
* src/localename.cc: Same.
* src/locale-inst.cc: Same.
* src/locale.cc: Same.
* src/limits.cc: Same.
* src/concept-inst.cc: Same.
* src/complex_io.cc: Same.
* src/codecvt.cc: Same.
* src/bitset.cc: Same.
* src/cmath.cc: Same.
From-SVN: r48544
2002-01-04 21:27:36 +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
bf3b866e31
ctype_inline.h: Remove spaces.
...
2001-12-11 Benjamin Kosnik <bkoz@redhat.com>
* config/os/generic/bits/ctype_inline.h: Remove spaces.
* config/os/gnu-linux/bits/ctype_noninline.h: Same.
* include/bits/locale_facets.h (__num_base): Move double data
members to first in class.
* include/bits/locale_facets.tcc: Re-arrange, tweak.
* src/locale.cc: Clean.
*include/bits/stl_vector.h: Space typedefs.
From-SVN: r47918
2001-12-12 03:22:25 +00:00
Benjamin Kosnik
2a74463013
locale_facets.h (__num_base::_S_scale_hex): Add.
...
2001-12-09 Benjamin Kosnik <bkoz@redhat.com>
Philip Martin <pmartin@uklinux.net>
* include/bits/locale_facets.h (__num_base::_S_scale_hex): Add.
(__num_base::_S_scale_oct): Add.
* src/locale.cc: Add definitions.
* testsuite/27_io/istream_extractor_arith.cc (main): Call test13.
* testsuite/testsuite_hooks.h: Remove duplicate VERIFY define.
Co-Authored-By: Philip Martin <pmartin@uklinux.net>
From-SVN: r47837
2001-12-10 08:41:03 +00:00
Benjamin Kosnik
823b4f7daa
[multiple changes]
...
2001-12-06 Benjamin Kosnik <bkoz@redhat.com>
libstdc++/3720
* include/bits/locale_facets.tcc (num_put): Clean.
(num_get::_M_extract_float): Change argument to string.
(num_get::do_get(float)): Fixup.
(num_get::do_get(double)): Same.
(num_get::do_get(long double)): Same.
(num_get::_M_extract_int): Add maximum length parameter, __max.
(num_get::_M_extract_float): Correct zeros, use string.
* include/bits/locale_facets.h (num_get::_M_extract_float): Change
declaration here.
* src/locale.cc (__num_base::_S_atoms): Remove x, X.
* testsuite/27_io/istream_extractor_arith.cc (test13): Add.
2001-12-06 Philip Martin <pmartin@uklinux.net>
* testsuite/27_io/istream_extractor_arith.cc (test12): Add
tests for excess input digits.
From-SVN: r47743
2001-12-07 02:58:36 +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
Joseph Myers
c5504edb75
ChangeLog, [...]: Fix spelling errors.
...
* ChangeLog, docs/doxygen/maint.cfg.in, docs/doxygen/user.cfg.in,
docs/doxygen/doxygroups.cc, docs/doxygen/Intro.3,
docs/html/17_intro/BUGS, docs/html/17_intro/C++STYLE,
docs/html/17_intro/CHECKLIST, docs/html/17_intro/DESIGN,
docs/html/17_intro/howto.html, docs/html/17_intro/porting.html,
docs/html/17_intro/porting.texi, docs/html/18_support/howto.html,
docs/html/19_diagnostics/howto.html, docs/html/20_util/howto.html,
docs/html/21_strings/howto.html,
docs/html/23_containers/howto.html,
docs/html/26_numerics/howto.html, docs/html/27_io/howto.html,
docs/html/27_io/binary_iostreams_kuehl.txt,
docs/html/ext/sgiexts.html, docs/html/faq/index.html,
docs/html/faq/index.txt, testsuite/24_iterators/iterator.cc,
include/bits/basic_file.h, include/bits/locale_facets.h,
include/bits/locale_facets.tcc, include/bits/std_sstream.h,
include/ext/ropeimpl.h, include/ext/stl_rope.h,
libsupc++/tinfo.cc, libsupc++/cxxabi.h, libsupc++/typeinfo,
libsupc++/eh_throw.cc, acinclude.m4, aclocal.m4, configure,
configure.target, ChangeLog-2000: Fix spelling errors.
From-SVN: r47291
2001-11-23 16:29:02 +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
Phil Edwards
729e3d3f01
c_io_stdio.h: Correct grammar in comments.
...
2001-11-02 Phil Edwards <pme@gcc.gnu.org>
* config/io/c_io_stdio.h: Correct grammar in comments.
* docs/doxygen/Intro.3: Expand "top-level" man page.
* docs/doxygen/doxygroups.cc: New module definitions (comments).
* docs/doxygen/mainpage.doxy: Tweaks.
* docs/doxygen/run_doxygen: Update Doxygen version, massage man pages.
Add @file hooks so that headers are considered to be documented.
* include/bits/basic_ios.h, include/bits/basic_file.h,
include/bits/basic_string.h, include/bits/boost_concept_check.h,
include/bits/char_traits.h, include/bits/codecvt.h,
include/bits/concept_check.h, include/bits/cpp_type_traits.h,
include/bits/fpos.h, include/bits/gslice.h, include/bits/gslice_array.h,
include/bits/indirect_array.h, include/bits/ios_base.h,
include/bits/locale_facets.h, include/bits/localefwd.h,
include/bits/mask_array.h, include/bits/pthread_allocimpl.h,
include/bits/slice.h, include/bits/slice_array.h,
include/bits/std_algorithm.h, include/bits/std_bitset.h,
include/bits/std_complex.h, include/bits/std_deque.h,
include/bits/std_fstream.h, include/bits/std_functional.h,
include/bits/std_iomanip.h, include/bits/std_ios.h,
include/bits/std_iosfwd.h, include/bits/std_iostream.h,
include/bits/std_istream.h, include/bits/std_iterator.h,
include/bits/std_limits.h, include/bits/std_list.h,
include/bits/std_locale.h, include/bits/std_map.h,
include/bits/std_memory.h, include/bits/std_numeric.h,
include/bits/std_ostream.h, include/bits/std_queue.h,
include/bits/std_set.h, include/bits/std_sstream.h,
include/bits/std_stack.h, include/bits/std_streambuf.h,
include/bits/std_string.h, include/bits/std_utility.h,
include/bits/std_valarray.h, include/bits/std_vector.h,
include/bits/stl_algo.h, include/bits/stl_alloc.h,
include/bits/stl_bvector.h, include/bits/stl_construct.h,
include/bits/stl_deque.h, include/bits/stl_heap.h,
include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
include/bits/stl_iterator_base_types.h, include/bits/stl_list.h,
include/bits/stl_map.h, include/bits/stl_multimap.h,
include/bits/stl_multiset.h, include/bits/stl_numeric.h,
include/bits/stl_pair.h, include/bits/stl_pthread_alloc.h,
include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
include/bits/stl_relops.h, include/bits/stl_set.h,
include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
include/bits/stl_threads.h, include/bits/stl_tree.h,
include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
include/bits/stringfwd.h, include/bits/type_traits.h,
include/bits/valarray_array.h, include/bits/valarray_meta.h:
Add hooks, tweak comments only.
* include/bits/stl_algobase.h (swap, min, iter_swap): Also
document these functions.
* include/bits/stl_function.h: Tweak link comments.
From-SVN: r46717
2001-11-02 17:38:11 +00:00
Brendan Kehoe
ba317c5236
[multiple changes]
...
2001-08-19 Brendan Kehoe <brendan@zen.org>
* include/bits/std_complex.h: Default initialize second argument
of polar to 0, as specified in Library DR #79
2001-10-19 Brendan Kehoe <brendan@zen.org>
* include/bits/stl_raw_storage_iter.h (operator=): Fix to call
_Construct instead of construct.
2001-10-19 Brendan Kehoe <brendan@zen.org>
* include/bits/basic_string.tcc (find_first_not_of): Take out check for
__n being non-zero, since the standard does not mandate that.
e.g., a search for "" in "" should yield position 0, not npos.
(find_last_not_of): Likewise.
2001-10-19 Brendan Kehoe <brendan@zen.org>
* include/bits/stl_bvector.h (vector<bool>::_M_range_check): Fix
to throw out_of_range, not range_error, thus sayeth $23.1.1.13.
2001-10-19 Brendan Kehoe <brendan@zen.org>
* include/bits/stl_iterator.h (reverse_iterator::current): Rename
member from _M_current, and change all uses; thus sayeth $24.4.1.1.
2001-10-19 Brendan Kehoe <brendan@zen.org>
* include/bits/stl_algo.h (partial_sort): Add missing `>' on the
template parameter _ValueType.
2001-10-19 Brendan Kehoe <brendan@zen.org>
* include/bits/std_limits.h: Clean up extra semicolons.
* include/bits/locale_facets.h: Likewise.
* include/bits/type_traits.h: Likewise.
2001-10-19 Brendan Kehoe <brendan@zen.org>
* include/bits/localefwd.h (locale::combine): Add const for lib DR 14.
* include/bits/locale_facets.tcc (locale::combine): Likewise.
From-SVN: r46353
2001-10-19 18:39:00 +00:00
Benjamin Kosnik
1ab8a33ed5
locale_facets.h (__timepunct::_M_put_helper): Declare specializations for char, wchar_t.
...
2001-10-19 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/locale_facets.h (__timepunct::_M_put_helper):
Declare specializations for char, wchar_t.
From-SVN: r46346
2001-10-19 09:35:19 +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
Phil Edwards
77cd227ec3
howto.html: Add anchor name.
...
2001-09-25 Phil Edwards <pme@gcc.gnu.org>
* docs/html/20_util/howto.html: Add anchor name.
* docs/html/23_containers/howto.html: Line wrapping, another link.
* docs/html/25_algorithms/howto.html: Another note.
* docs/html/ext/howto.html: Link to SGI extensions. List DRs and
link to them...
* docs/html/ext/lwg-active.html: ...in this new file (from R19),
* docs/html/ext/lwg-defects.html: and this new file (from R19).
* docs/html/ext/sgiexts.html: New file. Mention SGI extensions
carried over to libstdc++-v3.
* docs/html/faq/index.html: Link to SGI extensions. Mention the
"missing .." pseudobug.
* docs/html/faq/index.txt: Regenerate.
* include/bits/ios_base.h: DR-related comment cleanup.
* include/bits/istream.tcc: Likewise.
* include/bits/locale_facets.h: Likewise.
* include/bits/locale_facets.tcc: Likewise.
* include/bits/ostream.tcc: Likewise.
* include/bits/std_bitset.h: Likewise.
* include/bits/std_iosfwd.h: Likewise.
* include/bits/std_istream.h: Likewise.
* include/bits/std_ostream.h: Likewise.
* include/bits/std_streambuf.h: Likewise.
* include/bits/stl_pair.h: Likewise.
* include/bits/streambuf_iterator.h: Likewise.
* include/bits/std_map.h: Remove unused header inclusion guard
_CPP_BITS_STL_TREE_H from around bits/stl_tree.h.
* include/bits/std_set.h: Likewise.
* include/bits/stl_function.h: Doxygen markup.
* docs/doxygen/doxygroups.cc: New file, specifying module grouping.
* libsupc++/typeinfo: Doxygen markup tweak.
From-SVN: r45816
2001-09-25 23:51:17 +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
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
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
Benjamin Kosnik
fdf1b60d2b
locale_facets.h (ctype<_CharT>): Add definitions for generic ctype virtuals.
...
2001-06-04 Brendan Kehoe <brendan@zen.org>
Benjamin Kosnik <bkoz@redhat.com>
libstdc++/3017
* include/bits/locale_facets.h (ctype<_CharT>): Add definitions
for generic ctype virtuals.
* src/locale.cc: Minor tweaks, naming consistency.
* testsuite/22_locale/ctype.cc: Add test.
From-SVN: r42872
2001-06-04 19:25:41 +00:00
Gabriel Dos Reis
b0a85b861e
Add #pragma system_header to header files.
...
From-SVN: r39896
2001-02-19 18:52:25 +00:00
Benjamin Kosnik
0a1cceea5c
locale_facets.h (class moneypunct): Fix typos.
...
2001-02-05 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/locale_facets.h (class moneypunct): Fix typos.
From-SVN: r39483
2001-02-06 07:21:41 +00:00
Benjamin Kosnik
0214010c60
Preliminary named locales.
...
2001-01-29 Benjamin Kosnik <bkoz@redhat.com>
Preliminary named locales.
* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): New macro.
* aclocal.m4: Regenerate.
* configure.in: Use it.
* configure: Regerate.
* src/Makefile.am (sources): Add c++locale.cc.
(build_headers): Add c++locale.h.
* src/Makefile.in: Regenerate.
* config/c_locale_gnu.h: New file.
* config/c_locale_gnu.cc: New file. Non-inline member functions
for named locales, gnu-specific.
* config/c_locale_generic.h: New file.
* config/c_locale_generic.cc: New file. Non-inline member
functions for named locales, generic version.
* docs/html/configopts.html: Add documentation on new options.
* include/bits/locale_facets.h (class _Messages): Remove.
(class _Moneypunct): Remove.
* src/locale-inst.cc: Remove.
* include/bits/locale_facets.h (class _Collate): Remove.
* src/locale-inst.cc (std): Remove.
* src/locale.cc: And here.
* include/bits/localefwd.h (locale::_M_coalesce): New
function. Correctly put together multi-name locales.
(_Impl(const _Impl&, category, size_t)): Remove.
* include/bits/localefwd.h (locale::_Impl): Remove _M_construct_*
member functions.
(_M_normalize_category_names): Remove.
(_M_replace_categories): Fix.
* src/localename.cc (locale::_Impl::_M_construct_collate): Remove.
(locale::_Impl::_M_construct_ctype): Remove.
(locale::_Impl::_M_construct_monetary): Remove.
(locale::_Impl::_M_construct_numeric): Remove.
(locale::_Impl::_M_construct_time): Remove.
(locale::_Impl::_M_construct_messages): Remove.
* include/bits/locale_facets.h (_Bad_use_facet): Remove.
(_Use_facet_failure_handle): Remove.
* src/locale.cc: Remove definitions.
* src/locale-inst.cc: And here.
* testsuite/22_locale/ctor_copy_dtor.cc (test01): Fixup. Add tests.
* src/localename.cc (locale::facet::_S_create_c_locale): Properly
create and error-check underlying locale object.
(locale::facet::_S_destroy_c_locale): Add, take care of properly
tearing down underlying locale object.
* include/bits/localefwd.h (locale::facet): Declare.
* testsuite/22_locale/members.cc: Don't test "fr_FR" locale for
correctness, as glibc apparently has incorrect info in it. Test
with it when it works again.....
* include/bits/localefwd.h (locale::_Impl::__vec_string):
Remove. Number of categories is fixed at six, so just simplify and
make this an array of strings.
(locale::_Impl::_M_has_name): Remove.
(locale::_Impl::_M_name): Remove.
(locale::_Impl::_M_category_names): Turns into...
(locale::_Impl::_M_names): ...this.
(locale::_Impl::_M_has_same_name()): New function.
* src/localename.cc (locale::_Impl::~_Impl()): Remove here.
(locale::_Impl::_Impl(size_t __refs, string __str)): Simplify
signature.
* src/locale.cc (locale::name()): Construct mangled name
accurately reflecting combined locale categories.
* src/locale.cc (locale::classic()): Don't initialize here.
* src/localename.cc (locale::_Impl::_Impl(size_t __num, size_t
__refs, bool __has_name, string __str): Do it here.
* include/bits/localefwd.h: _S_categories_num to
_S_num_categories. _S_facets_num to _S_num_facets.
(locale:🆔 :id()): Explicitly set _M_index to zero.
* src/locale.cc: Same.
* src/locale.cc: (locale::locale(const char*)): Construct named
locales uniquely.
* src/locale.cc: Remove numpunct_byname ctors.
* testsuite/22_locale/numpunct_byname.cc: New file.
* testsuite/22_locale/numpunct.cc: New file.
* include/bits/localefwd.h (class locale): Change data members to
protected, from private.
(_Impl::_M_get_c_locale): Add member function.
(locale::facet::_M_get_global_impl()): Add member function.
* include/bits/locale_facets.h (numpunct::_M_init): Change to take
a __c_locale pointer.
(numpunct::numpunct( __c_locale*, size_t)): Add additonal ctor for
named locales.
* testsuite/22_locale/members.cc: New file, test name and combine.
* include/bits/locale_facets.h (class numpunct): Remove class
_Punct and _Numpunct. Rewrite class numpunct to be correct for
named locales.
* include/bits/localefwd.h (locale::_Imp::_M_c_locale): Add.
* src/localename.cc (_Impl::~_Impl()): Call __frelocale.
(_Imp::_Impl(size_t, size_t, bool, string)) Initialize _M_c_locale.
* src/locale-inst.cc: Remove _Numpunct, _Punct instantiations.
* testsuite/22_locale/numpunct_char_members.cc: New file.
From-SVN: r39347
2001-01-30 09:18:51 +00:00
Benjamin Kosnik
0a31609b5a
Attempt to make locale visible in gdb.
...
2000-12-22 Benjamin Kosnik <bkoz@fillmore.redhat.com>
Attempt to make locale visible in gdb.
* include/bits/std_locale.h: Remove codecvt.h include.
* include/bits/locale_facets.h: Add here, after ctype decls.
* include/bits/codecvt.h: Remove std namespace, as assumed to be
in std now.
* include/bits/locale_facets.h: Consistently move generic static
member definitions directly after generic facet declarations.
* include/bits/locale_facets.tcc: From here.
* src/locale.cc: Organize locale::id static definitions for
required facets.
* src/codecvt.cc (codecvt<char...>): Remove locale::id definition.
(codecvt<wchar_t...>): Same.
* src/localename: And here.
* include/bits/localefwd.h (_Count_ones): Change _S_count to _M_count.
Same for _M_halfcount.
(std): make locale::_Impl protected. CHANGE BACK
From-SVN: r38449
2000-12-22 11:03:33 +00:00
Benjamin Kosnik
65b66e1f90
locale_facets.h (ctype<char>): Remove throw specs not in base class signature.
...
2000-12-13 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/locale_facets.h (ctype<char>): Remove throw specs not in
base class signature.
From-SVN: r38249
2000-12-14 09:07:01 +00:00
Benjamin Kosnik
d9ab8adb37
ctype_base.h (ctype_base): Consistency with linux.
...
2000-12-13 Benjamin Kosnik <bkoz@redhat.com>
* config/os/generic/bits/ctype_base.h (ctype_base): Consistency
with linux.
* config/os/generic/bits/ctype_inline.h (is): Same.
* config/os/solaris/solaris2.5/bits/ctype_inline.h (is): Same.
* config/os/solaris/solaris2.5/bits/ctype_base.h: Same.
* config/os/solaris/solaris2.6/bits/ctype_inline.h (is): Same.
* config/os/solaris/solaris2.6/bits/ctype_base.h: Same.
* config/os/solaris/solaris2.7/bits/ctype_inline.h (is): Same.
* config/os/solaris/solaris2.7/bits/ctype_base.h: Same.
* config/os/irix/bits/ctype_inline.h (is): Same.
* config/os/irix/bits/ctype_base.h (ctype_base): Same.
* config/os/aix/bits/ctype_inline.h (is): Same.
* config/os/aix/bits/ctype_base.h (ctype_base): Same.
* config/os/bsd/netbsd/bits/ctype_inline.h (is): Same.
* config/os/bsd/netbsd/bits/ctype_base.h (ctype_base): Same.
* config/os/bsd/freebsd/bits/ctype_base.h (ctype_base): Same.
* config/os/bsd/freebsd/bits/ctype_inline.h (is): Same.
* config/os/newlib/bits/ctype_inline.h (is): Same.
* config/os/newlib/bits/ctype_base.h (ctype_base): Same.
* testsuite/22_locale/ctype_char_members.cc (test01): Add tests, fix.
* testsuite/22_locale/ctype.cc (test01): Add tests for
ctype_base::mask bitmask features.
* src/locale.cc: Define const static data for ctype_base.
* config/os/gnu-linux/bits/ctype_base.h (ctype_base): Make
ctype_base::mask type an integer type, not an enum.
* config/os/gnu-linux/bits/ctype_inline.h (is): Implement correctly.
* include/bits/locale_facets.h: Tweaks.
* include/bits/ios_base.h: Formatting tweaks.
* docs/html/17_intro/C++STYLE: Add.
From-SVN: r38243
2000-12-14 07:20:37 +00:00
Benjamin Kosnik
4716be24b5
ctype_base.h (ctype_base): Change space mask.
...
2000-12-07 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* config/os/generic/bits/ctype_base.h (ctype_base): Change space mask.
* config/os/generic/bits/ctype_noninline.h (ctype): Remove default
arguments in definition.
* 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/bits/ctype_noninline.h (ctype): Same.
* config/os/hpux/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: Tweak.
From-SVN: r38115
2000-12-07 20:49:10 +00:00
Benjamin Kosnik
167ed88f7a
locale_facets.h (ctype): Remove _Ctype_nois and _Ctype and replace with common __ctype_abstract_base.
...
2000-12-06 Benjamin Kosnik <bkoz@kredhat.com>
* include/bits/locale_facets.h (ctype): Remove _Ctype_nois and
_Ctype and replace with common __ctype_abstract_base.
(ctype<wchar_t>::_M_convert_to_wmask): Move to locale.cc.
* config/os/gnu-linux/bits/ctype_noninline.h (ctype<char>::ctype):
And here.
* 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/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/aix/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.
* src/locale-inst.cc: Clean instantiations.
* src/locale.cc (ctype<char>): Add definitions here.
(ctype<wchar_t>::_M_wmask): Move definitions here.
* config/os/generic/bits/ctype_inline.h (ctype<char>::is):
Implement in a generic way, with only "C" functionality and no
knowlege of the target os.
* config/os/generic/bits/os_defines.h: Change comments to C++ style.
* testsuite/22_locale/ctype_char_members.cc (test01): Add tests.
* include/bits/codecvt.h (ctype_byname): Remove specializations,
as not required.
* include/bits/localefwd.h (codecvt_byname): And here.
* src/codecvt.cc: Remove codecvt_byname specializations.
* include/c/bits/std_cstdio.h: Include c++config.h.
From-SVN: r38100
2000-12-07 06:44:49 +00:00
Mark Mitchell
3c97056f54
c_io_libio.cc (basic_file<char>::__basic_file): Don't pass a NULL _IO_wide_data to _IO_no_init when...
...
* config/c_io_libio.cc (basic_file<char>::__basic_file):
Don't pass a NULL _IO_wide_data to _IO_no_init when
_GLIBCPP_USE_WCHAR_T is not defined.
* config/c_io_libio.h (_IO_codecvt): Don't declare when
_GLIBCPP_USE_WCHAR_T is not defined.
* config/c_io_libio_codecvt.c: Don't compile it
when _GLIBCPP_USE_WCHAR_T is not defined.
* include/bits/codecvt.h (codecvt<_InternT, _ExternT, __enc_traits):
Don't define this specialization when _GLIBCPP_USE_WCHAR_T
is not defined.
* include/bits/locale_facets.h (<bits/std_cwctype.h>): Don't
include it when _GLIBCPP_USE_WCHAR_T is not defined.
* src/codecvt.cc (__enc_traits::_S_max_size): Don't define
when _GLIBCPP_USE_WCHAR_T is not defined.
* src/localename.cc (locale::_Impl::_M_construct_collate):
Don't call wide-character functions when _GLIBCPP_USE_WCHAR_T is
not defined.
(locale::_Impl::_M_construct_ctype): Likewise.
(locale::_Impl::_M_construct_monetary): Likewise.
(locale::_Impl::_M_construct_numeric): Likewise.
(locale::_Impl::_M_construct_time): Likewise.
(locale::_Impl::_M_construct_messages): Likewise.
* iofopen.c (_IO_new_fopen): Don't define `_IO_wide_data wd'
if _GLIBCPP_USE_WCHAR_T is not defined.
* iofwide.c: Don't define codecvt functions when
_GLIBCPP_USE_WCHAR_T is not defined.
(_IO_fwide): Don't try to put the stream in wide mode when
_GLIBCPP_USE_WCHAR_T is not defined.
* libio.h (_IO_wide_data): Define it as an incomplete struct
when _GLIBCPP_USE_WCHAR_T is not defined.
* wfiledoalloc.c: Don't define anything when
_GLIBCPP_USE_WCHAR_T is not defined.
* wfileops.c: Likewise.
* wgenops.c: Likewise.
From-SVN: r37131
2000-10-29 21:52:54 +00:00
Benjamin Kosnik
697649eab1
Makefile.am (exception): Change exception.cc to exception_support.cc.
...
2000-10-18 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* libsupc++/Makefile.am (exception): Change exception.cc to
exception_support.cc.
(CXXLINK): Remove bogus --tag CC.
* libsupc++/Makefile.in: Regenerate.
* libsupc++/exception.cc: Move to...
* libsupc++/exception_support.cc: ...here.
* src/Makefile.am: Remove bogus --tag CC.
* src/Makefile.in: Regenerate.
* include/bits/locale_facets.tcc (use_facet): Simplify.
* include/bits/locale_facets.h (use_facet<ctype<char> >): Correct
use_facet declaration. Replace 'const ctype<T>' with ctype<T>.
(use_facet<ctype<wchar_t> >): Same.
* src/locale-inst.cc: Remove explicit instantiation.
* src/locale.cc: Correct signature here too.
(_Bad_use_facet::what()): Correct error string.
* include/bits/localefwd.h: Correct comment.
* mkcheck.in (C_DIR): Change libsupc++/include to libsupc++.
From-SVN: r36943
2000-10-18 23:26:22 +00:00
Benjamin Kosnik
a6863e2538
Makefile.am (LIBSUPCXX_INCLUDES): Adjust.
...
2000-10-10 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* Makefile.am (LIBSUPCXX_INCLUDES): Adjust.
* libsupc++/include: Remove
* libsupc++/include/*: Move to ...
* libsupc++: Here.
* libsupc++/Makefile.am (glibcppinstall_HEADERS): Install headers.
(glibcppinstalldir): New.
* src/Makefile.am (c_base_headers): New.
(c_shadow_headers): New
(c_headers): New.
(myinstallheaders): Correct install issues.
* src/Makefile.in: Regenerate.
* Makefile.am (CSHADOW_INCLUDES): Simplify.
* Makefile.in: Regenerate.
* acinclude.m4 (GLIBCPP_ENABLE_SHADOW): Add c_include_dir.
* aclocal.m4: Regenerate.
* mkcheck.in (SRC_DIR): Use it.
* include/bits/std_stdexcept.h: And here.
* include/bits/std_ios.h: Change std_exception.h to exception.
* src/locale.cc: And here.
* src/locale-inst.cc: And here.
* include/bits/valarray_array.h: And here.
* include/bits/stl_alloc.h: And here.
* include/bits/stl_algobase.h: And here.
* include/bits/pthread_allocimpl.h: And here.
* include/bits/stl_construct.h: Change to std_new.h to new.
* include/bits/locale_facets.h: Change std_typeinfo.h to typeinfo.
* src/Makefile.am (INCLUDES): Add LIBSUPCXX_INCLUDES.
(headers): Remove duplicated headers.
(std_headers): And here.
* src/Makefile.in: Regenerate.
* libsupc++/Makefile.am (LIBSUPCXX_INCLUDES): Remove.
* libsupc++/Makefile.in: Regenerate.
* Makefile.am (LIBSUPCXX_INCLUDES): Add here.
(AM_MAKEFLAGS): And here.
* Makefile.in: Regenerate.
* include/bits/std_typeinfo.h: Remove.
* include/bits/std_new.h: Remove
* include/bits/std_exception.h: Remove.
* std/new: Remove.
* std/typeinfo: Remove.
* std/exception: Remove.
* libio/_G_config.h (__need_ptrdiff_t): Add.
* libsupc++/include/new: Change stddef.h to cstddef.
* libsupc++/tinfo.h: Change limits.h to climits.
* libsupc++/pure.cc: Comment out _GNU_LIBRARY_ bits, as this
renders the file uncompilable. Add copyright.
* include/c_std/bits/std_cstddef.h: Don't bring wchar_t into std
namespace, as it is a fundamental type.
From-SVN: r36833
2000-10-10 23:50:39 +00:00