Commit Graph

1388 Commits

Author SHA1 Message Date
Benjamin Kosnik 9fead1f53b static_members.cc (test02): Disable for systems without named locale support.
2002-10-14  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/22_locale/static_members.cc (test02): Disable for
	systems without named locale support.
	* testsuite/22_locale/ctor_copy_dtor.cc (test04): Don't assume
	running the testsuites in "C" environment.
	Add new tests.
	* docs/html/22_locale/locale.html: Update.

From-SVN: r58142
2002-10-14 22:13:34 +00:00
Danny Smith 9cfa115575 stl_threads.h (_GLIBCPP_mutex, [...]): Declare in namespace __gnu_cxx.
* include/bits/stl_threads.h (_GLIBCPP_mutex,
	_GLIBCPP_mutex_init,_GLIBCPP_mutex_address,
	_GLIBCPP_mutex_address_init, _GLIBCPP_once):
	Declare in namespace __gnu_cxx.
	(_STL_mutex_lock::_M_initialize): Qualify __gnu_cxx
	names.
	Adjust copyright.

From-SVN: r58092
2002-10-13 06:35:15 +00:00
Benjamin Kosnik b0b128027b abi_check.cc (hash<string>): Specialize.
2002-10-12  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/abi_check.cc (hash<string>): Specialize.
	Simplify. Check compatible symbol versions.
	* config/linker-map.gnu: Clarify, explicitly export
	std::codecvt::c* symbols.

	* testsuite/22_locale/static_members.cc (test02): Avoid null strings.

From-SVN: r58091
2002-10-13 04:46:58 +00:00
Jonathan Wakely b06a1ea51f howto.html: Correct nasting of XHTML elements.
2002-10-12  Jonathan Wakely  <jw@kayari.org>
            Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* docs/html/21_strings/howto.html#5:  Correct nasting of XHTML
	elements.  Correct allocator-related text.

Co-Authored-By: Gabriel Dos Reis <gdr@integrable-solutions.net>

From-SVN: r58080
2002-10-12 06:14:31 +00:00
Benjamin Kosnik c0b80fecdf static_members.cc (test02): Fix.
2002-10-11  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/22_locale/static_members.cc (test02): Fix.

From-SVN: r58079
2002-10-12 04:37:51 +00:00
Benjamin Kosnik 45c7cbd930 acconfig.h (_GLIBCPP_SYMVER): Add.
2002-10-11  Benjamin Kosnik  <bkoz@redhat.com>

	* acconfig.h (_GLIBCPP_SYMVER): Add.
	(_GLIBCPP_ASM_SYMVER): Add.
	* acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): Define _GLIBCPP_SYMVER.
	* aclocal.m4: Regenerate.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* include/bits/c++config (_GLIBCPP_AT_AT): Define, as an expedient
	hack around m4 issues with quoting '@'.
	* src/locale.cc: Use _GLIBCPP_ASM_SYMVER.
	* src/globals.cc: Same.

	* testsuite/22_locale/ctor_copy_dtor.cc (test04): Fix for
	non-glibc systems.

From-SVN: r58065
2002-10-11 21:10:10 +00:00
Benjamin Kosnik a7817e1db2 linker-map.gnu (GLIBCPP_3.2.1): Add.
2002-10-10  Benjamin Kosnik  <bkoz@redhat.com>

	* config/linker-map.gnu (GLIBCPP_3.2.1): Add.
	(GLIBCPP_3.2): Don't export locale::_S_*.
	* src/ios.cc: Move globals into __gnu_cxx. Make old exported
	symbols match.
	* src/locale.cc: Same.
	* src/localename.cc: Same.
	* src/globals.cc: Same.

From-SVN: r58042
2002-10-11 07:09:36 +00:00
Phil Edwards 64e8f36132 howto.html: Write #5, char_traits.
2002-10-10  Phil Edwards  <pme@gcc.gnu.org>

	* docs/html/21_strings/howto.html:  Write #5, char_traits.
	* docs/html/17_intro/porting.texi:  Expand on os_include_dir.
	* docs/html/17_intro/porting.html:  Regenerate.

From-SVN: r58031
2002-10-10 22:00:29 +00:00
Benjamin Kosnik 402a402cab locale.cc: Fix comments, move ctors together.
2002-10-09  Benjamin Kosnik  <bkoz@redhat.com>

	* src/locale.cc: Fix comments, move ctors together.
	* testsuite/22_locale/static_members.cc (test03): Add.

From-SVN: r58001
2002-10-10 05:15:29 +00:00
Paolo Carlini 0c479bf5ca 2002-10-09 Paolo Carlini <pcarlini@unitus.it>
Fix trivial typo in the last ChangeLog entry.

From-SVN: r57983
2002-10-09 11:59:59 +00:00
Jonathan Lennox 3279e88a45 PR libstdc++/8071, libstdc++/8127, c++/6745
2002-10-08  Jonathan Lennox  <lennox@cs.columbia.edu>

	PR libstdc++/8071, libstdc++/8127, c++/6745
	* streambuf.tcc (__copy_streambufs): Handle cases where
	__sbin->in_avail() returns 0, or where __sbin doesn't set gptr().
	* testsuite/27_io/ostream_inserter_other.cc (test05): Add.

From-SVN: r57970
2002-10-09 06:32:11 +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
Jonathan Wakely ba43f4ebc4 configopts.html, [...]: Add DOCTYPEs.
2002-10-07  Jonathan Wakely  <jw@kayari.org>

	* docs/html/configopts.html, docs/html/documentation.html,
	docs/html/explanations.html, docs/html/install.html,
	docs/html/17_intro/contribute.html, docs/html/17_intro/howto.html,
	docs/html/17_intro/license.html, 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/22_locale/codecvt.html,
	docs/html/22_locale/ctype.html, docs/html/22_locale/howto.html,
	docs/html/22_locale/locale.html, docs/html/22_locale/messages.html,
	docs/html/23_containers/howto.html, docs/html/24_iterators/howto.html,
	docs/html/25_algorithms/howto.html, docs/html/26_numerics/howto.html,
	docs/html/27_io/howto.html, docs/html/ext/howto.html,
	docs/html/ext/sgiexts.html, docs/html/faq/index.html:  Add DOCTYPEs.

From-SVN: r57903
2002-10-07 18:11:23 +00:00
Richard Earnshaw bfc1eae300 re PR libstdc++/3584 (arm-specific atomic operations not atomic)
PR libstdc++/3584
* config/cpu/arm/atomicity.h (__exchange_and_add): Don't try to use
ASM sequences that don't give us atomic addition operations.  Instead
just add a comment explaining why it doesn't work.
(__atomic_add): Just use __exchange_and_add.
(__test_and_set, __always_swap): Delete.

From-SVN: r57778
2002-10-03 15:58:29 +00:00
Andreas Jaeger f6c772fef4 Add forgotten ChangeLog entry.
From-SVN: r57764
2002-10-03 08:59:13 +02:00
Phil Edwards db1a6d8676 Makefile.am (check-abi): Add @ to rule.
2002-10-01  Phil Edwards  <pme@gcc.gnu.org>

	* Makefile.am (check-abi):  Add @ to rule.
	* Makefile.in:  Regenerated.

From-SVN: r57715
2002-10-02 01:05:13 +00:00
Paolo Carlini b1af5a30a5 locale_facets.tcc (num_put::_M_widen_int): Deal correctly with grouped, showbased (oct or hex) zero.
2002-09-27  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/locale_facets.tcc (num_put::_M_widen_int):
	Deal correctly with grouped, showbased (oct or hex) zero.
	* testsuite/22_locale/num_put_members_char.cc: Add test05.
	* testsuite/22_locale/num_put_members_wchar_t.cc: Ditto.

From-SVN: r57598
2002-09-27 23:08:22 +00:00
Richard Henderson d3d09886b3 std_limits.h (numeric_limits<T>::is_iec559): False if denormals are not supported.
* include/std/std_limits.h (numeric_limits<T>::is_iec559): False
        if denormals are not supported.

From-SVN: r57595
2002-09-27 15:39:28 -07:00
Benjamin Kosnik ca017eef3a Makefile.am (target_headers): Remove cpu_limits.h.
2002-09-25  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am (target_headers): Remove cpu_limits.h.
	* include/Makefile.in: Regenerate.
	* configure.in (CPU_LIMITS_INC_SRCDIR): Remove
	* configure: Regenerate.
	* configure.target (CPULIMITS): Remove.

	* include/std/std_limits.h: Remove cpu_limits.h include.

	* config/os/solaris/solaris2.7/os_defines.h (__glibcpp_long_bits):
	Remove.
	* config/os/irix/irix6.5/os_defines.h
	(__glibcpp_long_double_bits): Remove.
	(__glibcpp_wchar_t_bits): Remove.
	(__glibcpp_long_bits): Remove.
	* config/os/irix/irix5.2/os_defines.h
	(__glibcpp_long_double_bits): Remove.
	(__glibcpp_long_bits): Remove.
	* config/os/hpux/os_defines.h (__glibcpp_wchar_t_is_signed): Remove.
	* config/os/bsd/freebsd/os_defines.h:
	(__glibcpp_long_double_bits): Remove.
	* config/os/aix/os_defines.h (__glibcpp_wchar_t_bits): Remove.
	(__glibcpp_wchar_t_is_signed): Remove.
	(__glibcpp_long_bits): Remove.
	* config/os/gnu-linux/os_defines.h (__glibcpp_long_bits): Remove.
	(__glibcpp_long_double_bits): Remove.

	* config/os/osf/osf5.0/cpu_limits.h: Remove.
	* config/cpu/alpha/cpu_limits.h: Remove.
	* config/cpu/arm/cpu_limits.h: Remove.
	* config/cpu/cris/cpu_limits.h: Remove.
	* config/cpu/generic/cpu_limits.h: Remove.
	* config/cpu/generic/limits.h: Remove.
	* config/cpu/ia64/cpu_limits.h: Remove.
	* config/cpu/m68k/cpu_limits.h: Remove.
	* config/cpu/mmix/cpu_limits.h: Remove.
	* config/cpu/powerpc/cpu_limits.h: Remove.
	* config/cpu/S390/cpu_limits.h: Remove.

From-SVN: r57524
2002-09-26 05:25:14 +00:00
Peter Schmid dac2c906db numeric_limits.cc: Check the maximum and minimum values of the wchar_t type.
2002-09-25  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>

	* testsuite/18_support/numeric_limits.cc: Check the maximum and
	minimum values of the wchar_t type.

From-SVN: r57512
2002-09-25 19:37:04 +00:00
Mark Mitchell 0b4c7d8042 std_limits.h (numeric_limits<unsigned char>::digits): Fix typo.
* include/std/std_limits.h (numeric_limits<unsigned char>::digits):
	Fix typo.

From-SVN: r57507
2002-09-25 18:32:14 +00:00
Richard Henderson 6ad8f94953 std_limits.h (__glibcpp_plain_char_is_signed, [...]): Remove.
* include/std/std_limits.h (__glibcpp_plain_char_is_signed,
	__glibcpp_wchar_t_is_signed, __glibcpp_s8_max, __glibcpp_s8_min,
	__glibcpp_s8_digits, __glibcpp_s8_digits10, __glibcpp_u8_min,
	__glibcpp_u8_max, __glibcpp_u8_digits, __glibcpp_u8_digits10,
	__glibcpp_s16_max, __glibcpp_s16_min, __glibcpp_s16_digits,
	__glibcpp_s16_digits10, __glibcpp_u16_min, __glibcpp_u16_max,
	__glibcpp_u16_digits, __glibcpp_u16_digits10, __glibcpp_s32_max,
	__glibcpp_s32_min, __glibcpp_s32_digits, __glibcpp_s32_digits10,
	__glibcpp_u32_min, __glibcpp_u32_max, __glibcpp_u32_digits,
	__glibcpp_u32_digits10, __glibcpp_s64_max, __glibcpp_s64_min,
	__glibcpp_s64_digits, __glibcpp_s64_digits10, __glibcpp_u64_min,
	__glibcpp_u64_max, __glibcpp_u64_digits, __glibcpp_u64_digits10,
	__glibcpp_bool_digits, __glibcpp_signed_char_min,
	__glibcpp_signed_char_max, __glibcpp_signed_char_digits,
	__glibcpp_signed_char_digits10, __glibcpp_unsigned_char_min,
	__glibcpp_unsigned_char_max, __glibcpp_unsigned_char_digits,
	__glibcpp_unsigned_char_digits10, __glibcpp_char_min,
	__glibcpp_char_max, __glibcpp_char_digits, __glibcpp_char_digits10,
	__glibcpp_signed_short_min, __glibcpp_signed_short_max,
	__glibcpp_signed_short_digits, __glibcpp_signed_short_digits10,
	__glibcpp_unsigned_short_min, __glibcpp_unsigned_short_max,
	__glibcpp_unsigned_short_digits, __glibcpp_unsigned_short_digits10,
	__glibcpp_signed_int_min, __glibcpp_signed_int_max,
	__glibcpp_signed_int_digits, __glibcpp_signed_int_digits10,
	__glibcpp_unsigned_int_min, __glibcpp_unsigned_int_max,
	__glibcpp_unsigned_int_digits, __glibcpp_unsigned_int_digits10,
	__glibcpp_signed_long_min, __glibcpp_signed_long_max,
	__glibcpp_unsigned_long_digits, __glibcpp_unsigned_long_digits10,
	__glibcpp_signed_long_long_min, __glibcpp_signed_long_long_max,
	__glibcpp_signed_long_long_digits, __glibcpp_signed_long_long_digits10,
	__glibcpp_wchar_t_min, __glibcpp_wchar_t_max, __glibcpp_wchar_t_digits,
	__glibcpp_wchar_t_digits10): Remove.
	(__glibcpp_byte, __glibcpp_word_bits, __glibcpp_word): Remove.
	(__float_storage, __double_storage, __long_double_storage): Remove.
	(__glibcpp_signed, __glibcpp_min, __glibcpp_max): New.
	(__glibcpp_digits, __glibcpp_digits10): New.
	(numeric_limits<T>::min): Use __glibcpp_min or limits.h builtins.
	(numeric_limits<T>::max): Use __glibcpp_max or limits.h builtins.
	(numeric_limits<T>::is_signed, T=char,wchar_t): Use __glibcpp_signed.
	(numeric_limits<T>::digits): Use __glibcpp_digits.
	(numeric_limits<T>::digits10): Use __glibcpp_digits10.
	* testsuite/18_support/numeric_limits.cc (test03): Don't use
	__glibcpp_s8_digits10 et al; check vs the installed versions
	of digits10 for particular sizes.

        * include/std/std_limits.h (__glibcpp_float_is_modulo,
        __glibcpp_double_is_modulo, __glibcpp_long_double_is_modulo): Kill.
        (numeric_limits<T>::is_modulo, T floating): Use false.

From-SVN: r57434
2002-09-23 04:24:57 -07:00
Kaveh R. Ghazi 6c5d742e3b Makefile.am (all-multi): Fix multilib parallel build.
boehm-gc:
	* Makefile.am (all-multi): Fix multilib parallel build.
libf2c:
	* Makefile.in (all): Fix multilib parallel build.
libffi:
	* Makefile.am (all-multi): Fix multilib parallel build.
libiberty:
	* Makefile.in (all): Fix multilib parallel build.
libjava:
	* Makefile.am (all-multi): Fix multilib parallel build.
libobjc:
	* Makefile.in (all): Fix multilib parallel build.
libstdc++-v3:
	* Makefile.am (all-multi): Fix multilib parallel build.
zlib:
	* Makefile.am (all-multi): Fix multilib parallel build.

From-SVN: r57423
2002-09-23 03:52:55 +00:00
Richard Henderson da28539cd6 std_limits.h (__glibcpp_integral_traps): New.
* include/std/std_limits.h (__glibcpp_integral_traps): New.
        (__glibcpp_char_traps, __glibcpp_short_traps, __glibcpp_int_traps,
        __glibcpp_long_traps, __glibcpp_wchar_t_traps,
        __glibcpp_long_long_traps, __glibcpp_plain_char_traps,
        __glibcpp_signed_char_traps, __glibcpp_unsigned_char_traps,
        __glibcpp_signed_short_traps, __glibcpp_unsigned_short_traps,
        __glibcpp_signed_int_traps, __glibcpp_unsigned_int_traps,
        __glibcpp_signed_long_traps, __glibcpp_unsigned_long_traps,
        __glibcpp_signed_long_long_traps, __glibcpp_unsigned_long_long_traps,
        __glibcpp_char_is_modulo, __glibcpp_signed_char_is_modulo,
        __glibcpp_signed_short_is_modulo, __glibcpp_signed_int_is_modulo,
        __glibcpp_signed_long_is_modulo, __glibcpp_signed_long_long_is_modulo,
        __glibcpp_wchar_t_is_modulo, __glibcpp_float_is_bounded,
        __glibcpp_double_is_bounded, __glibcpp_long_double_is_bounded): Kill.
        (numeric_limits<T>::traps, T integral): Use __glibcpp_integral_traps.
        (numeric_limits<T>::is_modulo, T integral): Use true.
        (numeric_limits<T>::is_bounded, T floating): Use true.

From-SVN: r57414
2002-09-22 11:37:51 -07:00
Richard Henderson cf2214db0c std_limits.h (__glibcpp_f32_is_iec559, [...]): Remove.
* include/std/std_limits.h (__glibcpp_f32_is_iec559,
        __glibcpp_f64_is_iec559, __glibcpp_f80_is_iec559,
        __glibcpp_f96_is_iec559, __glibcpp_f128_is_iec559,
        __glibcpp_float_is_iec559, __glibcpp_double_is_iec559,
        __glibcpp_long_double_is_iec559): Remove.
        (numeric_limits<float>::is_iec559): Use has_infinity & has_quiet_NaN.
        (numeric_limits<double>, numeric_limits<long double>): Similarly.

From-SVN: r57413
2002-09-22 11:36:38 -07:00
Richard Henderson be71ea9dae std_limits.h (__glibcpp_f32_round_error, [...]): Kill.
* include/std/std_limits.h (__glibcpp_f32_round_error,
	__glibcpp_f64_round_error, __glibcpp_f80_round_error,
	__glibcpp_f96_round_error, __glibcpp_f128_round_error,
	__glibcpp_float_round_error, __glibcpp_double_round_error,
	__glibcpp_long_double_round_error, __glibcpp_float_round_style,
	__glibcpp_double_round_style, __glibcpp_long_double_round_style): Kill.
	(numeric_limits<char>::epsilon, round_error): Use constant 0.
	(numeric_limits<float>::round_error): Use constant 0.5.
	(numeric_limits<float>::round_style): Use round_to_nearest.
	(numeric_limits<double>, numeric_limits<long double>): Similarly.

From-SVN: r57412
2002-09-22 11:35:24 -07:00
Loren J. Rittle b433da3cac * testsuite/18_support/numeric_limits.cc (test_epsilon): New.
From-SVN: r57295
2002-09-19 04:26:25 +00:00
Richard Henderson 62f1a74c0f * testsuite/18_support/numeric_limits.cc: Add -mieee for alpha.
From-SVN: r57280
2002-09-18 11:06:13 -07:00
Benjamin Kosnik 8c7820a0de c_shadow: Remove.
2002-09-16  Benjamin Kosnik  <bkoz@redhat.com>

        * include/c_shadow: Remove.
        * include/bits/generic_shadow.h: Remove.
        * include/Makefile.am: Remove generic_shadow.h.
        * acinclude.m4: Remove c_shadow references.
        * aclocal.m4: Regenerate.
        * configure: Regenerate.
        * mkcshadow: Remove.
        * mkinclosure: Remove.

From-SVN: r57231
2002-09-17 05:50:44 +00:00
Loren J. Rittle ad17a52a21 stl_rope.h (rope<>): Qualify dependent names with `typename'.
libstdc++/7922
	* include/ext/stl_rope.h (rope<>): Qualify dependent names
	with `typename'.

From-SVN: r57222
2002-09-17 01:56:06 +00:00
Richard Henderson 1472e41cb3 builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
gcc/
        * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
        (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
        * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
        (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
        * builtins.c (fold_builtin_nan): New.
        (fold_builtin): Call it.
        * real.c (real_nan): Parse a non-empty string.
        (round_for_format): Fix NaN significand truncation.
        * real.h (real_nan): Return bool.
        * doc/extend.texi: Document new builtins.

libstdc++/
        * include/std/std_limits.h (__glibcpp_f32_QNaN_bytes,
        __glibcpp_f32_has_QNaN, __glibcpp_f32_SNaN_bytes,
        __glibcpp_f32_has_SNaN, __glibcpp_f64_QNaN_bytes,
        __glibcpp_f64_has_QNaN, __glibcpp_f64_SNaN_bytes,
        __glibcpp_f64_has_SNaN, __glibcpp_f80_QNaN_bytes,
        __glibcpp_f80_has_QNaN, __glibcpp_f80_SNaN_bytes,
        __glibcpp_f80_has_SNaN, __glibcpp_f96_QNaN_bytes,
        __glibcpp_f96_has_QNaN, __glibcpp_f96_SNaN_bytes,
        __glibcpp_f96_has_SNaN, __glibcpp_f128_QNaN_bytes,
        __glibcpp_f128_has_QNaN, __glibcpp_f128_SNaN_bytes,
        __glibcpp_f128_has_SNaN, __glibcpp_float_QNaN_bytes,
        __glibcpp_float_has_QNaN, __glibcpp_float_SNaN_bytes,
        __glibcpp_float_has_SNaN, __glibcpp_double_QNaN_bytes,
        __glibcpp_double_has_QNaN, __glibcpp_double_SNaN_bytes,
        __glibcpp_double_has_SNaN, __glibcpp_long_double_QNaN_bytes,
        __glibcpp_long_double_has_QNaN, __glibcpp_long_double_SNaN_bytes,
        __glibcpp_long_double_has_SNaN): Remove.
        (__glibcpp_f128_is_iec559): True if IEEE.
        (__glibcpp_float_QNaN, __glibcpp_float_SNaN): Remove.
        (__glibcpp_double_QNaN, __glibcpp_double_SNaN): Remove.
        (__glibcpp_long_double_QNaN, __glibcpp_long_double_SNaN): Remove.
        (std::numeric_limits<float>::has_quiet_NaN): Use __builtin_nanf.
        (std::numeric_limits<float>::has_signaling_NaN): Mirror has_quiet_NaN.
        (std::numeric_limits<float>::quiet_NaN): Use __builtin_nanf.
        (std::numeric_limits<float>::signaling_NaN): Use __builtin_nansf.
        (std::numeric_limits<double>): Similarly.
        (std::numeric_limits<long double>): Similarly.
        * src/limits.cc (__glibcpp_float_QNaN, __glibcpp_float_SNaN): Remove.
        (__glibcpp_double_QNaN, __glibcpp_double_SNaN): Remove.
        (__glibcpp_long_double_QNaN, __glibcpp_long_double_SNaN): Remove.

        * testsuite/18_support/numeric_limits.cc (test_infinity): New.
        (test_denorm_min, test_qnan, test_is_iec559): New.

From-SVN: r57221
2002-09-16 18:28:50 -07:00
Phil Edwards 0e9cab878b abi_check.cc: Pull shell fragments out into...
2002-09-16  Phil Edwards  <pme@gcc.gnu.org>

	* testsuite/abi_check.cc:  Pull shell fragments out into...
	* config/abi/extract_symvers:  ...here.  New file.
	* Makefile.am (check_abi):  Change to match.
	(new-abi-baseline):  New target.
	* Makefile.in:  Regenerated.

From-SVN: r57208
2002-09-16 18:58:48 +00:00
Richard Henderson ac520ec919 c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
gcc/
        * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.

libstdc++/
        * include/std/std_limits.h (__glibcpp_f32_denorm_min_bytes,
        __glibcpp_f32_has_denorm, __glibcpp_f64_denorm_min_bytes,
        __glibcpp_f64_has_denorm, __glibcpp_f80_denorm_min_bytes,
        __glibcpp_f80_has_denorm, __glibcpp_f96_denorm_min_bytes,
        __glibcpp_f96_has_denorm, __glibcpp_f128_denorm_min_bytes,
        __glibcpp_f128_has_denorm, __glibcpp_float_denorm_min_bytes,
        __glibcpp_float_has_denorm, __glibcpp_double_denorm_min_bytes,
        __glibcpp_double_has_denorm, __glibcpp_long_double_denorm_min_bytes,
        __glibcpp_long_double_has_denorm): Remove.
        (__glibcpp_float_denorm_min, __glibcpp_double_denorm_min,
        __glibcpp_long_double_denorm_min): Remove.
        (std::numeric_limits<float>::has_denorm): Use __FLT_DENORM_MIN__.
        (std::numeric_limits<float>::denorm_min): Likewise.
        (std::numeric_limits<double>): Similarly.
        (std::numeric_limits<long double>): Similarly.
        * src/limits.cc (__glibcpp_float_denorm_min,
        __glibcpp_double_denorm_min, __glibcpp_long_double_denorm_min): Remove.

From-SVN: r57200
2002-09-16 09:58:42 -07:00
Phil Edwards 61e6e65a6a [multiple changes]
2002-09-13  Andy Felt  <afelt@uwsp.edu>

	* docs/html/17_intro/howto.html:  Update link.

2002-09-13  Phil Edwards  <pme@gcc.gnu.org>

	* docs/doxygen/run_doxygen:  Massage man page for Iterator_types.3.
	* docs/html/faq/index.html:  Whitespace fixes.

From-SVN: r57125
2002-09-14 00:35:18 +00:00
Benjamin Kosnik 714e9334c4 Makefile.am (LIBTOOL): Use --tag CC always for this directory.
2002-09-12  Benjamin Kosnik  <bkoz@redhat.com>

	* libmath/Makefile.am (LIBTOOL): Use --tag CC always for this
	directory.
	* libmath/Makefile.in: Regenerate.
	* src/Makefile.am: Tweak comment.
	* src/Makefile.in: Regenerate.

	* config/locale/gnu/c_locale.h: Remove warnings.
	Inject __uselocale into __gnu_cxx.
	* config/locale/generic/c_locale.h: Match.

From-SVN: r57082
2002-09-12 23:27:30 +00:00
Benjamin Kosnik 145163253a [multiple changes]
2002-09-11  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.tcc (__convert_from_v): Remove.
	* config/locale/gnu/c_locale.h (__convert_from_v): Add.
	* config/locale/generic/c_locale.h (__convert_from_v): Add.

2002-09-11  Paolo Carlini  <pcarlini@unitus.it>

        * include/bits/locale_facets.tcc (__convert_from_v):
        Use __uselocale instead of setlocale for glibc 2.3+.

From-SVN: r57021
2002-09-11 04:25:41 +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
Gabriel Dos Reis be26865df1 stl_vector.h (vector<>): Don't use a name with different meanings before and after re-evaluation in the...
2002-09-10  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>

	* include/bits/stl_vector.h (vector<>): Don't use a name with
	different meanings before and after re-evaluation in the completed
	scope.
	* include/bits/basic_string.h (basic_string<>): Likewise.
	* include/bits/stl_bvector.h (vector<bool>): Likewise.
	* include/bits/stl_deque.h (std): Likewise.
	* include/bits/stl_list.h (list<>): Likewise.
	* include/bits/stl_tree.h (_Rb_tree<>): Likewise.

From-SVN: r57014
2002-09-10 23:19:10 +00:00
Paolo Carlini c6b5df5351 codecvt.h (class __codecvt_abstract_base): Add __c_locale type _M_c_locale_codecvt member.
2002-09-10  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/codecvt.h (class __codecvt_abstract_base):
	Add __c_locale type _M_c_locale_codecvt member.
	(class codecvt<char, char, mbstate_t>,
	class codecvt<wchar_t, char, mbstate_t>): Add new
	codecvt(__c_locale, size_t) constructor.
	(codecvt_byname::codecvt_byname): Update.
	* src/codecvt.cc (class codecvt<char, char, mbstate_t>,
	class codecvt<wchar_t, char, mbstate_t>): Update codecvt(size_t)
	constructor and ~codecvt() destructor; define
	codecvt(__c_locale, size_t) constructor.
	(codecvt::do_out): Switch to _M_c_locale_codecvt around wcsrtombs call.
	(codecvt::do_in): Ditto for mbsrtowcs call.
	* src/localename.cc (locale::_Impl::_Impl(const char*, size_t)):
	Tweak construction of codecvt facets.

From-SVN: r57011
2002-09-10 19:35:04 +00:00
Danny Smith 57c4e0cd35 locale_facets.tcc (__convert_from_v): Replace strdup with ISO malloc and strcpy.
* include/bits/locale_facets.tcc (__convert_from_v):
	Replace strdup with ISO malloc and strcpy.

From-SVN: r56991
2002-09-10 02:41:55 +00:00
Benjamin Kosnik f7be254940 configopts.html: Change grouping.
2002-09-09  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/html/configopts.html: Change grouping. Note ABI impacts.
	Update information for locale model defaults.
	* docs/html/install.html: Update include directory
	information.
	Update testing information.
	Update linux issues for named locales.
	* docs/html/abi.txt: Fix typos.
	Add more info.

	* src/misc-inst.cc: Add missing instantiations.

	* testsuite/abi_check.cc: Make output results more verbose.

	* config/os/gnu-linux/ctype_base.h: Remove shadow headers injections.

From-SVN: r56979
2002-09-09 20:26:42 +00:00
Jakub Jelinek 7d9857fde0 messages_members.cc: Add specialization for messages<wchar_t>.
* config/locale/generic/messages_members.cc: Add specialization for
	messages<wchar_t>.
	* config/locale/ieee_1003.1-20021/messages_members.cc: Likewise.

From-SVN: r56920
2002-09-07 21:06:57 +02:00
Benjamin Kosnik 09ff0ee4cf localefwd.h: Tweak formatting.
2002-09-06  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/localefwd.h: Tweak formatting.
	* docs/html/abi.txt: Add.

From-SVN: r56903
2002-09-06 19:52:38 +00:00
Jakub Jelinek 750db234b1 configure.target: Use cpu_include_dir="config/cpu/sparc" for all sparc targets.
* configure.target: Use cpu_include_dir="config/cpu/sparc" for all
	sparc targets.
	* config/cpu/sparc/bits/atomicity.h: New file.
	* config/cpu/sparc/sparc32/bits/atomicity.h: Removed.
	* config/cpu/sparc/sparc64/bits/atomicity.h: Removed.

[[Split portion of a mixed commit.]]

From-SVN: r56897.2
2002-09-06 20:32:08 +02:00
Jakub Jelinek 1c28b93579 ctype_noninline.h [...]: Remove using _C_legacy::__ctype_*.
* config/os/gnu-linux/ctype_noninline.h
	[_GLIBCPP_USE_SHADOW_HEADERS]: Remove using _C_legacy::__ctype_*.
	(ctype<char>::classic_table): If _GLIBCPP_C_LOCALE_GNU, return
	_S_c_locale->__ctype_b, otherwise temporarily switch to "C" locale
	and return __ctype_b.
	(ctype<char>::ctype(__c_locale, const mask*, bool, size_t)): If not
	_GLIBCPP_C_LOCALE_GNU, temporarily switch to "C" locale and
	initialize using __ctype_{b,tolower,toupper}.
	(ctype<char>::ctype(const mask*, bool, size_t)): If
	_GLIBCPP_C_LOCALE_GNU, initialize using
	_S_c_locale->__ctype_{b,tolower,toupper}, otherwise temporarily
	switch to "C" locale and initialize using __ctype_{b,tolower,toupper}.

From-SVN: r56893
2002-09-06 19:58:27 +02:00
Paolo Carlini e2cbee7fd1 re PR libstdc++/7811 (default locale not taken from environment)
2002-09-05  Paolo Carlini  <pcarlini@unitus.it>
	    Roland McGrath  <roland@redhat.com>

	PR libstdc++/7811
	* src/locale.cc (locale::locale(__s)): Use getenv instead
	of setenv for the environment locale.
	* testsuite/22_locale/ctor_copy_dtor.cc (test03): New.

Co-Authored-By: Roland McGrath <roland@redhat.com>

From-SVN: r56865
2002-09-05 21:13:07 +00:00
Jakub Jelinek fcfe9bce2d ia64-unknown-linux-gnu: Add.
* config/abi/ia64-unknown-linux-gnu: Add.
	* config/abi/ia64-unknown-linux-gnu/baseline_symbols.txt: New file.
	* config/abi/alphaev67-unknown-linux-gnu: Add.
	* config/abi/alphaev67-unknown-linux-gnu/baseline_symbols.txt: New file.

From-SVN: r56847
2002-09-05 18:21:55 +02:00
Jonathan Wakely 64a6f97186 Makefile: Use more portable shell wildcard.
2002-09-05  Jonathan Wakely  <jw@kayari.org>

	* docs/html/Makefile:  Use more portable shell wildcard.
	* docs/html/makedoc.awk:  Nest elements correctly for XHTML conversion.
	* docs/html/configopts.html, docs/html/documentation.html,
	docs/html/explanations.html, docs/html/install.html,
	docs/html/17_intro/contribute.html, docs/html/17_intro/howto.html,
	docs/html/17_intro/license.html, 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/22_locale/codecvt.html,
	docs/html/22_locale/ctype.html, docs/html/22_locale/howto.html,
	docs/html/22_locale/locale.html, docs/html/22_locale/messages.html,
	docs/html/23_containers/howto.html, docs/html/24_iterators/howto.html,
	docs/html/25_algorithms/howto.html, docs/html/26_numerics/howto.html,
	docs/html/27_io/howto.html, docs/html/ext/howto.html,
	docs/html/ext/sgiexts.html, docs/html/faq/index.html:  Convert
	to XHTML.
	* docs/html/faq/index.txt:  Regenerate.

From-SVN: r56845
2002-09-05 15:47:54 +00:00
Jakub Jelinek f373d4c761 ctype_members.cc (ctype<wchar_t>::do_widen(char)): Switch to _M_c_locale_ctype around btowc call.
* config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_widen(char)):
	Switch to _M_c_locale_ctype around btowc call.
	(ctype<wchar_t>::do_widen(const char*, const char *, wchar_t*)):
	Switch to _M_c_locale_ctype around mbsrtowcs call.
	(ctype<wchar_t>::do_narrow(char)): Switch to _M_c_locale_ctype around
	wctob call.
	(ctype<wchar_t>::do_narrow(const char*, const char *, wchar_t*)):
	Switch to _M_c_locale_ctype around wcsrtombs call.

From-SVN: r56841
2002-09-05 09:54:26 +02:00
Jakub Jelinek 9a6d20712b monetary_members.cc (moneypunct<wchar_t, [...]): Use __uselocale instead of setlocale for glibc 2.3.
* config/locale/gnu/monetary_members.cc
	(moneypunct<wchar_t, true>::_M_initialize_moneypunct,
	moneypunct<wchar_t, false>::_M_initialize_moneypunct): Use
	__uselocale instead of setlocale for glibc 2.3.

From-SVN: r56839
2002-09-05 09:51:16 +02:00