Commit Graph

145 Commits

Author SHA1 Message Date
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
Loren J. Rittle
813df02279 * config/cpu/sparc/sparc32/bits/atomicity.h
(__Atomicity_lock<0>::_S_atomicity_lock): Add.

From-SVN: r47867
2001-12-11 09:41:40 +00:00
Nathan Myers
7814a308e4 atomicity.h (struct __Atomicity_lock<__inst>): Add.
libstdc++/5037
        * config/cpu/sparc/sparc32/bits/atomicity.h
        (struct __Atomicity_lock<__inst>): Add.
        (__Atomicity_lock<__inst>::_S_atomicity_lock): Add.
        (__exchange_and_add): Use __Atomicity_lock<0>::_S_atomicity_lock
        instead of lock local to static function.
        (__atomic_add): Likewise.

Co-Authored-By: Loren J. Rittle <ljrittle@acm.org>

From-SVN: r47782
2001-12-08 00:59:11 +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
Danny Smith
944effb637 configure.target: Add os_include_dir for mingw32* target.
* configure.target: Add os_include_dir for mingw32* target.
* docs/html/17_intro/porting.texi: Mention mingw32 as target benefiting from
_GLIBCPP_AVOID_FSEEK.
* config/os/mingw32/bits/ctype_base.h: New file.
* config/os/mingw32/bits/ctype_inline.h: New file.
* config/os/mingw32/bits/ctype_noninline.h: New file.
* config/os/mingw32/bits/os_defines.h: New file.

From-SVN: r46857
2001-11-08 20:52:29 +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
Egor Duda
b8a2a84bbe ctype_noninline.h (ctype<char>::do_toupper(char __c)): Check for proper character class.
2001-11-01  Egor Duda  <deo@logos-m.ru>

	* config/os/newlib/bits/ctype_noninline.h
	(ctype<char>::do_toupper(char __c)): Check for proper character class.
	(ctype<char>::do_tolower(char __c)): Ditto.

From-SVN: r46708
2001-11-02 02:37:44 +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
e37beb47ba os_defines.h: Set to 64 bit longs with __s390x__ only.
2001-10-25  Benjamin Kosnik  <bkoz@redhat.com>
	    Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
	    Ulrich Weigand <Ulrich.Weigand@de.ibm.com>

	* config/os/gnu-linux/bits/os_defines.h: Set to 64 bit longs with
	__s390x__ only.
	* include/bits/std_limits.h: Fix wchar_t issues.
	* config/os/aix/bits/os_defines.h: Fix.

Co-Authored-By: Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
Co-Authored-By: Ulrich Weigand <uweigand@de.ibm.com>

From-SVN: r46523
2001-10-26 02:13:31 +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
f295ecef02 limits.h: Move to...
2001-10-22  Benjamin Kosnik  <bkoz@redhat.com>

	* config/cpu/i386/bits/limits.h: Move to...
	* config/cpu/i386/bits/cpu_limits.h: ...here.
	* config/cpu/cris/bits/cpu_limits.h: Same.
	* config/cpu/powerpc/bits/cpu_limits.h: Same.
	* config/cpu/x86-64/bits/cpu_limits.h: Same.
	* config/cpu/alpha/bits/cpu_limits.h: New.
	* config/cpu/m68k/bits/cpu_limits.h: New.
	* config/cpu/s390/bits/cpu_limits.h: New.
	* config/os/aix/bits/os_defines.h: Tweaks.
	* config/os/bsd/freebsd/bits/os_defines.h: Same.
	* config/os/bsd/netbsd/bits/os_defines.h: Same.
	* config/os/djgpp/bits/os_defines.h: Same.
	* config/os/generic/bits/os_defines.h: Same.
	* config/os/gnu-linux/bits/os_defines.h: Same.
	* config/os/hpux/bits/os_defines.h: Same.
	* config/os/irix/irix5.2/bits/os_defines.h: Same.
	* config/os/irix/irix6.5/bits/os_defines.h: Same.
	* config/os/newlib/bits/os_defines.h: Same.
	* config/os/solaris/solaris2.5/bits/os_defines.h: Same.
	* config/os/solaris/solaris2.6/bits/os_defines.h: Same.
	* config/os/solaris/solaris2.7/bits/os_defines.h: Same.

	* include/bits/c++config: Remove include.
	* include/bits/limits_generic.h: Remove.
	* include/bits/std_limits.h: Include cpu_limits.h.
	* include/Makefile.am: Fixup.
	* src/limits.cc: Tweak.
	* src/limits_generic.cc: Remove.
	* src/gen-num-limits.cc: Remove.
	* mknumeric_limits: Remove.

From-SVN: r46445
2001-10-23 21:40:31 +00:00
Andreas Jaeger
82e014c98d limits.h: New file.
* config/cpu/x86-64/bits/limits.h: New file.

	* config/cpu/x86-64/bits/atomicity.h: New file.

	* configure.target: Add x86-64.

From-SVN: r46342
2001-10-19 08:34:01 +02:00
Phil Edwards
744ee8b72b atomicity.h (__compare_and_swap): Remove unused function.
2001-10-05  Phil Edwards  <pme@gcc.gnu.org>

	* config/cpu/alpha/bits/atomicity.h (__compare_and_swap):  Remove
	unused function.
	* config/cpu/arm/bits/atomicity.h:  Likewise.
	* config/cpu/generic/bits/atomicity.h:  Likewise.
	* config/cpu/i486/bits/atomicity.h:  Likewise.
	* config/cpu/ia64/bits/atomicity.h:  Likewise.
	* config/cpu/mips/bits/atomicity.h:  Likewise.
	* config/cpu/powerpc/bits/atomicity.h:  Likewise.
	* config/cpu/sparc/sparc32/bits/atomicity.h:  Likewise.
	* config/cpu/sparc/sparc64/bits/atomicity.h:  Likewise.

From-SVN: r46038
2001-10-05 18:43:43 +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
Hans-Peter Nilsson
be55d07d6f * config/cpu/cris/bits/atomicity.h: Correct file header.
From-SVN: r45929
2001-10-01 16:57:44 +00:00
Hans-Peter Nilsson
d15a5c7ca1 * config/cpu/cris/bits/limits.h: New file.
From-SVN: r45883
2001-09-29 16:49:48 +00:00
Hans-Peter Nilsson
a78a69ba79 configure.target (LIMITSH): Set for cris.
* configure.target (LIMITSH): Set for cris.
	(cpu_include_dir): Set for cris-*-*.
	* config/cpu/cris/bits/atomicity.h: New file.
	* config/cpu/cris/bits/limits.h: New file.

From-SVN: r45882
2001-09-29 16:49:20 +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
Loren J. Rittle
405bfc410e limits.h (__glibcpp_long_double_bits): Only define if not already provided by per-OS file.
* config/cpu/i386/bits/limits.h (__glibcpp_long_double_bits): Only
        define if not already provided by per-OS file.
        * config/os/bsd/freebsd/bits/os_defines.h (__glibcpp_long_double_bits):
        Define.

From-SVN: r45165
2001-08-24 21:57:15 +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
David Edelsohn
a9e7dc6cdf Fix PowerPC long double as well.
From-SVN: r45141
2001-08-23 19:02:01 -04:00
David Edelsohn
be3ebbbb9e Correct __s390__ definitions.
From-SVN: r45140
2001-08-23 18:49:20 -04: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
Franz Sirl
9567d32780 configure.target: Set LIMITSH for powerpc-*-*.
2001-08-16  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
	* configure.target: Set LIMITSH for powerpc-*-*.
	* config/cpu/powerpc/bits/limits.h: New file.

From-SVN: r44944
2001-08-16 19:19:09 +00:00
Andreas Schwab
b8f73826af configure.target (cpu_include_dir): Set to `config/cpu/m68k' for m68k and m680[246]0.
* configure.target (cpu_include_dir): Set to `config/cpu/m68k' for
	m68k and m680[246]0.
	* config/cpu/m68k/bits/atomicity.h: New file.

From-SVN: r44925
2001-08-15 16:00:45 +00:00
Andreas Schwab
2e0aa8179f std_limits.h [...]: Define appropriate long double limits for m68k extended floating point.
* include/bits/std_limits.h [__glibcpp_long_double_bits == 96]:
	Define appropriate long double limits for m68k extended floating
	point.
	(__glibcpp_f32_digits10): Corrected, off by one.
	(__glibcpp_f80_digits10): Likewise.
	(__glibcpp_f128_digits10): Likewise.
	* config/os/gnu-linux/bits/os_defines.h
	(__glibcpp_long_double_bits) [__mc68000__]: Define to 96.

From-SVN: r44924
2001-08-15 15:57:41 +00:00
Ulrich Weigand
354953125e Added atomicity.h header for s390.
From-SVN: r44907
2001-08-14 23:16:57 +00:00
Mark Mitchell
9f3c078ea9 configure.in (LIMITS_INC_SRCDIR): New variable.
* configure.in (LIMITS_INC_SRCDIR): New variable.
	* configure.target (LIMITSH): New variable.
	* porting.texi: Discuss numeric limits.
	* config/cpu/generic/bits/limits.h: New file.
	* config/cpu/i386/bits/limits.h: New file.
	* include/Makefile.am: Install bits/limits.h.
	* include/bits/c++config: Include bits/limits.h.

From-SVN: r44877
2001-08-13 22:26:11 +00:00
Gabriel Dos Reis
63814ec191 std_limits.h (__glibcpp_char_is_signed): Use __CHAR_UNSIGNED__.
* include/bits/std_limits.h(__glibcpp_char_is_signed): Use
       __CHAR_UNSIGNED__.

       * config/os/gnu-linux/bits/os_defines.h(__glibcpp_char_is_signed):
       Likewise.
       * config/os/aix/bits/os_defines.h(__glibcpp_plain_char_is_signed):
       Remove.

From-SVN: r44791
2001-08-11 08:36:52 +00:00
David Edelsohn
e4124eb384 Fix sparcv9 typo.
From-SVN: r44749
2001-08-09 22:08:33 -04:00
David Edelsohn
3b87de3d00 os_defines.h: Define std_limits.h macros.
* config/os/aix/bits/os_defines.h: Define std_limits.h macros.
	* config/os/generic/bits/os_defines.h: Likewise.
	* config/os/gnu-linux/bits/os_defines.h: Likewise.
	* config/os/hpux/bits/os_defines.h: Likewise.
	* config/os/irix/irix6.5/bits/os_defines.h: Likewise.
	* config/os/solaris/solaris2.7/bits/os_defines.h: Likewise.

From-SVN: r44745
2001-08-09 14:01:36 -04: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
3fe670a469 configure.target: Remove mips from cpu table.
2001-07-30  Benjamin Kosnik  <bkoz@redhat.com>

        * configure.target: Remove mips from cpu table.
        * config/cpu/mips/bits/atomicity.h: Remove generic
        versions. Comment sgidefs include.

From-SVN: r44493
2001-07-31 01:49:30 +00:00
H.J. Lu
95b02d7e3a configure.target (cpu_include_dir): Set to `config/cpu/mips' for mips.
2001-07-25  H.J. Lu <hjl@gnu.org>

	* configure.target (cpu_include_dir): Set to `config/cpu/mips'
	for mips.

	* config/cpu/mips/bits/atomicity.h: New.

[[Split portion of a mixed commit.]]

From-SVN: r44374.2
2001-07-25 22:04:48 -07:00
Loren J. Rittle
ddf1e65262 porting.texi: Add documentation about libstdc++-v3-specific macros that are currently...
libstdc++/2071
	* porting.texi: Add documentation about libstdc++-v3-specific
	macros that are currently included in os_defines.h files.

	* config/basic_file_stdio.h (sys_getc): New method.
	(sys_ungetc): New method.
	* include/bits/basic_file.h: (sys_getc): New method signature.
	(sys_ungetc): New method signature.

	* include/bits/fstream.tcc (underflow): Add conditional code
	paths which avoid using short seeks on streams (especially
	useful when the stream might be interactive or a pipe).  At
	the moment, this alternate path only avoids seeking when the
	``buffer size'' of underflow() is 1 since the C standard only
	guarantees buffer space for one ungetc (this technique could
	be extended since *-*-solaris* supports buffering for 4 calls
	to ungetc and *-*-*bsd* supports buffering limited only by
	memory resources).  Also, _GLIBCPP_AVOID_FSEEK must be defined
	in a port's os_defines.h file for this alternate path to even
	be considered.  As a bonus, the idiom of using getc/ungetc
	requires no system calls whereas fseek maps to one or two
	system call(s) on many platforms.

	* config/os/bsd/freebsd/bits/os_defines.h (_GLIBCPP_AVOID_FSEEK):
	Define it.
	* config/os/solaris/solaris2.5/bits/os_defines.h
	(_GLIBCPP_AVOID_FSEEK): Likewise.
	* config/os/solaris/solaris2.6/bits/os_defines.h
	(_GLIBCPP_AVOID_FSEEK): Likewise.
	* config/os/solaris/solaris2.7/bits/os_defines.h
	(_GLIBCPP_AVOID_FSEEK): Likewise.

From-SVN: r43278
2001-06-12 23:09:09 +00:00
Benjamin Kosnik
3b0fd4bcdb basic_string.h (string::compare): Adjust signatures as per DR 5.
2001-06-11  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/3126
	* include/bits/basic_string.h (string::compare): Adjust signatures
	as per DR 5.
	* include/bits/basic_string.tcc: And here.

	libstdc++/2346
	* config/c_io_stdio.h: Remove whitespace.
	* testsuite/27_io/istream_seeks.cc (test03): Add regression.
	(test02): Add regression.
	* testsuite/27_io/istream_seeks-3.tst: New file.

From-SVN: r43240
2001-06-12 02:30:37 +00:00
Benjamin Kosnik
df7b13598a acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Check for fgetwc, fgetws.
2001-06-09  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Check for fgetwc,
	fgetws.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* include/c_std/bits/std_cwchar.h: Remove duplicate fgetwc
	injection, guard fgetwc, fgetws.
	* include/c_std/bits/std_cstdio.h: Remove superfluous includes.
	* include/c_std/bits/std_clocale.h: And here.
	* include/c_std/bits/std_cctype.h: And here.
	* include/c_std/bits/std_cstdlib.h (strtof): Guard strtof injection.

	* config/basic_file_stdio.h: Don't include unistd.h.
	* config/c_io_stdio.h: Don't use compatibility headers.
	* libsupc++/eh_terminate.cc: Qualify abort.
	(__terminate): And here.
	* libsupc++/eh_catch.cc (__cxa_end_catch): Qualify abort.

From-SVN: r43070
2001-06-09 06:49:13 +00:00
Loren J. Rittle
5e21803304 threads-no.h: Remove file.
* config/threads-no.h: Remove file.
	* config/threads-posix.h: Remove file.

	* acconfig.h (_GLIBCPP_USE_THREADS): Remove.
	(_GLIBCPP_SUPPORTS_WEAK): Add (required by namespace-clean gthr*.h).
	(_GLIBCPP_HAVE_GTHR_DEFAULT): Likewise.
	* config.h.in: Regenerate.

	* acinclude.m4 (GLIBCPP_ENABLE_THREADS): Completely rework to
	setup and use gthr*.h files.  In particular, make gthr.h files
	namespace-clean in the staging area (they don't have to be for
	libgcc.a).
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

	* src/Makefile.am (build_headers): Remove bits/c++threads.h
	and add bits/gthr.h bits/gthr-single.h bits/gthr-default.h.
	* src/Makefile.in: Regenerate.

	* include/bits/c++config: Cleanup threading configuration macros.
	In particular, define __STL_GTHREADS macro which controls...
	* include/bits/stl_threads.h: ...a brand new gthr.h-based
        configuration here.

	* config/c_io_stdio.h: Include staged gthr.h instead of local
	thread configuration file.  Always use __gthread_mutex_t
	instead of __mutext_type (or int).
	* include/bits/std_fstream.h: Likewise.

	* docs/html/17_intro/howto.html: Remove placeholder comment in
	case this configuration patch didn't make it.  Add advice that
	section only applies if configured with --enable-threads.
	* docs/html/23_containers/howto.html: Reword to make clear
	that _PTHREADS is no longer required for any port to be
	correctly using STL with threads.  Add advice that section
	only applies if configured with --enable-threads.

Co-Authored-By: John David Anglin <dave@hiauly1.hia.nrc.ca>

From-SVN: r42998
2001-06-08 03:53:35 +00:00
Gabriel Dos Reis
3e0105a41d c++config (__NO_MATH_INLINES): Move to...
* include/bits/c++config(__NO_MATH_INLINES): Move to...
      * config/os/gnu-linux/bits/os_defines.h: ...here.

From-SVN: r42538
2001-05-24 20:51:33 +00:00
Mark Mitchell
99d8dccc07 sol2.h (CPLUSPLUS_CPP_SPEC): Define.
* config/sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Define.

	* porting.texi: Correct documentation about handling
	_LARRGEFILE_SOURCE and its ilk.
	* config/os/solaris/solaris2.5/bits/os_defines.h: Remove
	definitions of _XOPEN_SOURCE, _LARGEFILE64_SOURCE, and
	__EXTENSIONS__.
	* config/os/solaris/solaris2.6/bits/os_defines.h: Likewise.
	* config/os/solaris/solaris2.7/bits/os_defines.h: Likewise.

From-SVN: r42125
2001-05-16 01:11:20 +00:00
Mark Mitchell
eefd41e318 * config/os/solaris/solaris2.7/bits/os_defines.h
(_LARGEFILE_SOURCE): Define it.

From-SVN: r41907
2001-05-08 03:02:05 +00:00
Benjamin Kosnik
7cda84dc70 acconfig.h (_GLIBCPP_USE_C99): Add.
2001-04-19  Benjamin Kosnik  <bkoz@redhat.com>

	* acconfig.h (_GLIBCPP_USE_C99): Add.
	* config.h.in: Regenerate.
	* acinclude.m4 (GLIBCPP_ENABLE_C99): New macro. Test for ISO/IEC
	9899: 1999 support.
	* aclocal.m4: Regenerate.
	* configure.in (GLIBCPP_ENABLE_C99): Use it, on by default.
	* configure: Regenerate.
	* configure.in (GLIBCPP_ENABLE_LONG_LONG): Set default to yes.
	* configure: Regenerate.
	* include/c_std/bits/std_cwchar.h: Put wcstold, wcstoll, wcstoull
	into c99.
	* include/c_std/bits/std_cmath.h: Bring C99 functions into c99
	namespace.
	* include/c_std/bits/std_cstdlib.h: Same.
	* docs/html/configopts.html: Update.
	* testsuite/26_numerics/c99_macros.cc: Edit, use cmath instead of
	math.h
	(test_c99_classify): Add.
	* config/os/gnu-linux/bits/os_defines.h (_GNU_SOURCE): Remove.
	(_ISOC99_SOURCE): Remove.

	* include/bits/stl_algo.h: Use _GLIBCPP_HAVE_DRAND48.
	* include/bits/c++config (__STL_ASSERTIONS): Simplify.
	* acinclude.m4 (GLIBCPP_CHECK_STDLIB_SUPPORT): Add check for drand48.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

From-SVN: r41451
2001-04-20 08:59:25 +00:00