Paolo Carlini
b1455c558e
localename.cc (locale::_Impl::_Impl(const char*, size_t)): Avoid strtok for thread safety.
...
2002-11-25 Paolo Carlini <pcarlini@unitus.it>
Nathan Myers <ncm@cantrip.org>
* src/localename.cc
(locale::_Impl::_Impl(const char*, size_t)):
Avoid strtok for thread safety.
Co-Authored-By: Nathan Myers <ncm@cantrip.org>
From-SVN: r59486
2002-11-26 01:22:13 +00:00
Wolfgang Bangerth
f815521c75
std_complex.h (operator<<(basic_ostream&, const complex&)): Prefer 'x' to "x" for efficiency sake.
...
2002-11-25 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
* include/std/std_complex.h
(operator<<(basic_ostream&, const complex&)): Prefer 'x'
to "x" for efficiency sake.
* src/locale.cc (locale::locale(const char*)): Ditto.
From-SVN: r59465
2002-11-25 19:01:55 +00:00
Paolo Carlini
bbed24125e
locale.cc (locale::locale(const char*)): Trivial cosmetic tweaks.
...
2002-11-24 Paolo Carlini <pcarlini@unitus.it>
* src/locale.cc (locale::locale(const char*)):
Trivial cosmetic tweaks.
From-SVN: r59433
2002-11-24 18:48:35 +00:00
Rainer Orth
423b950b13
* src/ios.cc [_GLIBCPP_HAVE_UNISTD_H]: Include unistd.h.
...
From-SVN: r59141
2002-11-15 19:12:31 +00:00
Paolo Carlini
74af99e5a2
re PR libstdc++/8399 (sync_with_stdio(false) breaks unformatted input)
...
2002-11-15 Paolo Carlini <pcarlini@unitus.it>
Loren J. Rittle <ljrittle@acm.org>
PR libstdc++/8399
* acinclude.m4
(GLIBCPP_CHECK_UNISTD_DECL_AND_LINKAGE_1): New macro to
check for unistd.h functions.
(GLIBCPP_CHECK_UNISTD_SUPPORT): New macro, check for isatty
in unistd.h.
* configure.in: Call here.
* src/ios.cc (ios_base::Init::_S_ios_create(bool)):
Use _GLIBCPP_HAVE_ISATTY: ifdef, in case of interactive
input __in_size = 1 even when sync_with_stdio is false;
otherwise fall back to __in_size = 1.
* aclocal.m4: Regenerate.
* config.h.in: Regenerate.
* configure: Regenerate.
Co-Authored-By: Loren J. Rittle <ljrittle@acm.org>
From-SVN: r59118
2002-11-15 08:06:35 +00:00
Loren J. Rittle
2b298bb772
locale.cc (std::locale::classic()): Weaken locking protocol.
...
libstdc++/7445
* src/locale.cc (std::locale::classic()): Weaken locking protocol.
From-SVN: r59078
2002-11-13 14:55:32 +00:00
John David Anglin
fa3d9f57b0
os_defines.h (_GLIBCPP_INST_ATOMICITY_LOCK): Define.
...
* config/os/hpux/os_defines.h (_GLIBCPP_INST_ATOMICITY_LOCK): Define.
* src/misc-inst.cc (std): Instantiate atomicity lock when
_GLIBCPP_INST_ATOMICITY_LOCK is defined.
* config/cpu/hppa/atomicity.h: New file.
From-SVN: r58831
2002-11-05 19:17:37 +00:00
Benjamin Kosnik
a7c67c71db
re PR libstdc++/8172 (undefined reference to operator+ for string)
...
2002-11-01 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/8172
* src/string-inst.cc: Add instantiation.
From-SVN: r58738
2002-11-02 02:18:18 +00:00
Loren J. Rittle
0b564d905f
howto.html (GLIBCPP_FORCE_NEW): Document new environment variable which replaces all uses of __USE_MALLOC macro.
...
* docs/html/23_containers/howto.html (GLIBCPP_FORCE_NEW): Document
new environment variable which replaces all uses of __USE_MALLOC
macro.
* docs/html/ext/howto.html (GLIBCPP_FORCE_NEW): Likewise.
(__mem_interface): Remove all references to old internal typedef.
* include/backward/alloc.h (__USE_MALLOC): Remove it and all
guarded code.
* include/bits/c++config (__USE_MALLOC): Update related error
message and comment.
* include/bits/stl_alloc.h (__USE_MALLOC): Remove it and all
guarded code. Update all related comments.
(__mem_interface): Unconditionally replace it with __new_alloc.
However, leave the typedef around in case anyone used it.
(__default_alloc_template<>::_S_force_new): New class static.
(__default_alloc_template<>::allocate, deallocate): Add
run-time controlled feature similar to what __USE_MALLOC code
path had provided.
* src/stl-inst.cc (__USE_MALLOC): Remove it and all
guarded code.
* testsuite/21_strings/capacity.cc: Remove reference to __USE_MALLOC.
Add documentation on GLIBCPP_FORCE_NEW environment variable.
* testsuite/ext/allocators.cc: Likewise.
From-SVN: r58286
2002-10-18 20:52:57 +00:00
Benjamin Kosnik
8c536ae9dc
globals.cc (__gnu_cxx::c_locale_impl_compat): Add, alias to c_locale_impl.
...
2002-10-14 Benjamin Kosnik <bkoz@redhat.com>
* src/globals.cc (__gnu_cxx::c_locale_impl_compat): Add, alias to
c_locale_impl.
* testsuite/abi_check.cc (line_to_symbol_info): Collect size info.
* docs/html/abi.txt: Update.
From-SVN: r58147
2002-10-15 04:22:11 +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
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
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
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
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
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
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
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
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
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
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
Richard Henderson
65e32b88a6
std_limits.h (__glibcpp_f32_infinity_bytes, [...]): Remove.
...
* include/std/std_limits.h (__glibcpp_f32_infinity_bytes,
__glibcpp_f32_has_infinity, __glibcpp_f64_infinity_bytes,
__glibcpp_f64_has_infinity, __glibcpp_f80_infinity_bytes,
__glibcpp_f80_has_infinity, __glibcpp_f96_infinity_bytes,
__glibcpp_f96_has_infinity, __glibcpp_f128_infinity_bytes,
__glibcpp_f128_has_infinity, __glibcpp_float_infinity_bytes,
__glibcpp_float_has_infinity, __glibcpp_double_infinity_bytes,
__glibcpp_double_has_infinity, __glibcpp_long_double_infinity_bytes,
__glibcpp_long_double_has_infinity): Remove.
(std::numeric_limits<float>, std::numeric_limits<double>,
std::numeric_limits<long double>): Use __builtin_huge_val
to implement has_infinity and infinity().
* src/limits.cc (__glibcpp_float_infinity, __glibcpp_double_infinity,
__glibcpp_long_double_infinity): Remove.
From-SVN: r56821
2002-09-04 16:22:18 -07:00
Gabriel Dos Reis
2559486f3e
std_limits.h (__glibcpp_f32_infinity_bytes, [...]): New macros.
...
* include/std/std_limits.h (__glibcpp_f32_infinity_bytes,
__glibcpp_f32_has_infinity, __glibcpp_f32_QNaN_bytes,
__glibcpp_f32_has_QNaN, __glibcpp_f32_SNaN_bytes,
__glibcpp_f32_has_SNaN, __glibcpp_f32_denorm_min_bytes,
__glibcpp_f32_has_denorm, __glibcpp_f32_is_iec559,
__glibcpp_f64_infinity_bytes,
__glibcpp_f64_has_infinity, __glibcpp_f64_QNaN_bytes,
__glibcpp_f64_has_QNaN, __glibcpp_f64_SNaN_bytes,
__glibcpp_f64_has_SNaN, __glibcpp_f64_denorm_min_bytes,
__glibcpp_f64_has_denorm, __glibcpp_f64_is_iec559,
__glibcpp_f80_infinity_bytes,
__glibcpp_f80_has_infinity, __glibcpp_f80_QNaN_bytes,
__glibcpp_f80_has_QNaN, __glibcpp_f80_SNaN_bytes,
__glibcpp_f80_has_SNaN, __glibcpp_f80_denorm_min_bytes,
__glibcpp_f80_has_denorm, __glibcpp_f80_is_iec559,
__glibcpp_f96_infinity_bytes,
__glibcpp_f96_has_infinity, __glibcpp_f96_QNaN_bytes,
__glibcpp_f96_has_QNaN, __glibcpp_f96_SNaN_bytes,
__glibcpp_f96_has_SNaN, __glibcpp_f96_denorm_min_bytes,
__glibcpp_f96_has_denorm, __glibcpp_f96_is_iec559,
__glibcpp_f128_infinity_bytes,
__glibcpp_f128_has_infinity, __glibcpp_f128_QNaN_bytes,
__glibcpp_f128_has_QNaN, __glibcpp_f128_SNaN_bytes,
__glibcpp_f128_has_SNaN, __glibcpp_f128_denorm_min_bytes,
__glibcpp_f128_has_denorm, __glibcpp_f128_is_iec559,
__glibcpp_float_infinity_bytes,
__glibcpp_float_has_infinity, __glibcpp_float_QNaN_bytes,
__glibcpp_float_has_QNaN, __glibcpp_float_SNaN_bytes,
__glibcpp_float_has_SNaN, __glibcpp_float_denorm_min_bytes,
__glibcpp_float_has_denorm, __glibcpp_float_is_iec559,
__glibcpp_double_infinity_bytes,
__glibcpp_double_has_infinity, __glibcpp_double_QNaN_bytes,
__glibcpp_double_has_QNaN, __glibcpp_double_SNaN_bytes,
__glibcpp_double_has_SNaN, __glibcpp_double_denorm_min_bytes,
__glibcpp_double_has_denorm, __glibcpp_double_is_iec559,
__glibcpp_long_double_infinity_bytes,
__glibcpp_long_double_has_infinity, __glibcpp_long_double_QNaN_bytes,
__glibcpp_long_double_has_QNaN, __glibcpp_long_double_SNaN_bytes,
__glibcpp_long_double_has_SNaN, __glibcpp_long_double_denorm_min_bytes,
__glibcpp_long_double_has_denorm, __glibcpp_long_double_is_iec559:
New macros.
(__glibcpp_word_bits, __glibcpp_word): Likewise.
(__glibcpp_byte): New typedef.
(__float_storage, __double_storage, __long_double_storage): New types.
(__glibcpp_float_infinity, __glibcpp_float_QNaN,
__glibcpp_float_SNaN, __glibcpp_float_denorm_min): Now
objects. Declare.
(__glibcpp_double_infinity, __glibcpp_double_QNaN,
__glibcpp_double_SNaN, __glibcpp_double_denorm_min): Likewise.
(__glibcpp_long_double_infinity, __glibcpp_long_double_QNaN,
__glibcpp_long_double_SNaN, __glibcpp_long_double_denorm_min):
Likewise.
* src/limits.cc (__glibcpp_float_infinity, __glibcpp_float_QNaN,
__glibcpp_float_SNaN, __glibcpp_float_denorm_min): Define.
(__glibcpp_double_infinity, __glibcpp_double_QNaN,
__glibcpp_double_SNaN, __glibcpp_double_denorm_min): Likewise.
(__glibcpp_long_double_infinity, __glibcpp_long_double_QNaN,
__glibcpp_long_double_SNaN, __glibcpp_long_double_denorm_min):
Likewise.
From-SVN: r56613
2002-08-27 20:30:26 +00:00
Benjamin Kosnik
747d096709
Makefile.am (check-abi): New rule.
...
2002-08-22 Benjamin Kosnik <bkoz@redhat.com>
Phil Edwards <pme@gcc.gnu.org>
Ulrich Drepper <drepper@redhat.com>
* Makefile.am (check-abi): New rule.
* Makefile.in: Regenerate.
* acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Export baseline_file.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* testsuite/Makefile.am (noinst_PROGRAMS): Add abi_check.
(abi_check_SOURCES): Add.
* testsuite/Makefile.in: Regenerate.
* testsuite/abi_check.cc: New file.
* config/abi: Add.
* config/abi/i686-pc-linux-gnu: Add.
* config/abi/i686-pc-linux-gnu/baseline_symbols.txt: New file.
Co-Authored-By: Phil Edwards <pme@gcc.gnu.org>
Co-Authored-By: Ulrich Drepper <drepper@redhat.com>
From-SVN: r56515
2002-08-22 20:06:01 +00:00
Benjamin Kosnik
6e52332ec7
re PR libstdc++/7445 (poor performance of std::locale::classic() in multi-threaded applications)
...
2002-08-15 Benjamin Kosnik <bkoz@redhat.com>
* include/ext/stdio_filebuf.h (stdio_filebuf): Explicitly set
_M_buf_size_opt to zero when unbuffering.
* include/bits/fstream.tcc (filebuf::showmanyc): Simplify.
Consistency checks for _M_buf_size_opt.
Revert PR libstdc++/7445
* src/locale.cc (locale::classic): Revert.
* docs/html/17_intro/TODO: Add.
From-SVN: r56365
2002-08-15 22:25:39 +00:00
Benjamin Kosnik
49bc23b7f9
Revert PR libstdc++/6594
...
2002-08-02 Benjamin Kosnik <bkoz@redhat.com>
Revert PR libstdc++/6594
* src/strstream.cc (strstreambuf): Revert.
(strstreambuf::overflow): Same.
(strstreambuf::~strstreambuf): Same.
* testsuite/backward/strstream_members.cc (test02): Add.
* docs/html/abi.txt: Update. Spell check.
* testsuite/19_diagnostics/stdexceptions.cc (test04): Add bool test.
* testsuite/Makefile.am (INCLUDES): Add LIBSUPCXX_INCLUDES.
* testsuite/Makefile.in: Regenerate.
* testsuite/testsuite_hooks.h: Use __throw_exception_again,
include functexcept.h so that -fno-exceptions will build.
From-SVN: r55988
2002-08-02 16:04:16 +00:00
Benjamin Kosnik
5a53872d08
fstream.cc: Add _GLIBCPP_USE_WCHAR_T guards.
...
2002-07-31 Benjamin Kosnik <bkoz@redhat.com>
* src/fstream.cc: Add _GLIBCPP_USE_WCHAR_T guards.
From-SVN: r55909
2002-07-31 20:48:38 +00:00
Benjamin Kosnik
de17e15428
[multiple changes]
...
2002-07-31 Simon Whomsley <whomsley@avacadcam.com>
* docs/html/22_locale/howto.html: Fix.
2002-07-31 Alex Kompel <shurik@sequoiap.com>
PR libstdc++/7445
* src/locale.cc (locale::classic): Move locks inside !_S_classic
block.
2002-07-31 Benjamin Kosnik <bkoz@redhat.com>
* docs/html/abi.txt: Update.
From-SVN: r55908
2002-07-31 19:34:08 +00:00
Benjamin Kosnik
17655a67d8
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.
From-SVN: r55905
2002-07-31 17:28:08 +00: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
c82efc81c0
re PR libstdc++/7222 (g++ 3.1: locale::operator ==() doesn`t work on std::locale("") locales)
...
2002-07-24 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/7222
* src/locale.cc (locale::locale(const char*)): Use setlocale NULL.
* testsuite/22_locale/ctor_copy_dtor.cc (test02): New.
From-SVN: r55736
2002-07-25 06:42:00 +00:00
Benjamin Kosnik
9a56333e55
re PR libstdc++/7230 (<strstream> header file is missing (trunk))
...
2002-07-24 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/7230
* config/linker-map.gnu: Revert strstream patch from 2002-07-01.
* include/Makefile.am (backward_headers): Use strstream, not
strstream.h.
* include/Makefile.in: Regenerate.
* include/backward/strstream: Revert.
* include/backward/strstream.h: Remove.
* src/strstream.cc: Revert.
* testsuite/backward/strstream_members.cc: Change include.
From-SVN: r55730
2002-07-25 00:04:37 +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
eafa1afac6
strstream: Remove namespace std.
...
2002-07-01 Benjamin Kosnik <bkoz@redhat.com>
* include/backward/strstream: Remove namespace std. Transfer to...
* include/backward/strstream.h: ...here. Qualify std names.
* src/strstream.cc: Remove namespace std.
* include/Makefile.am (backward_headers): Remove strstream.h.
* include/Makefile.in: Regenerate.
* config/linker-map.gnu: Export strstream bits.
* src/fstream-inst.cc: Tweak.
* src/io-inst.cc: Same.
* src/istream-inst.cc: Same.
* src/misc-inst.cc: Same.
* src/ostream-inst.cc: Same.
* src/sstream-inst.cc: Same.
* src/valarray-inst.cc: Same.
* src/misc-inst.cc: Remove unused instantiations.
From-SVN: r55148
2002-07-01 19:58:42 +00:00
Benjamin Kosnik
41970073a9
configure.in (INTERFACE): Remove.
...
2002-06-26 Benjamin Kosnik <bkoz@redhat.com>
* configure.in (INTERFACE): Remove.
(release_VERSION): Remove.
* acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Change include placement.
(libstdcxx_interface): Change. Use gcc methods to determine version.
* configure: Regenerate.
* aclocal.m4: Regenerate.
From-SVN: r55028
2002-06-27 10:16:50 +00:00
Benjamin Kosnik
12d0271cfd
ext-inst.cc (__gnu_cxx): Use instead of std:: for extensions.
...
2002-06-20 Benjamin Kosnik <bkoz@redhat.com>
* src/ext-inst.cc (__gnu_cxx): Use instead of std:: for extensions.
Use size_type instead of unsigned long.
From-SVN: r54854
2002-06-20 20:13:46 +00:00
Steve Ellcey
a9c418403e
ext-inst.cc (_S_fetch): Add explicit templates for char and wchar types.
...
* src/ext-inst.cc (_S_fetch): Add explicit templates for char and
wchar types.
(_S_min_len): Ditto.
From-SVN: r54850
2002-06-20 19:20:41 +00:00
Benjamin Kosnik
e01c9849c9
Makefile.am: Add rules.
...
2002-06-20 Benjamin Kosnik <bkoz@redhat.com>
* include/Makefile.am: Add rules.
* include/Makefile.in: Regenerate.
* acinclude.m4: Define GLIBCPP_C_HEADERS_COMPATIBILITY.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* configure.target (c_model, c_compatibility): Add.
* libsupc++/Makefile.am (c_sources): New.
(libsupc___la_SOURCES): Add c_sources.
(LTCOMPILE): Remove INCLUDES.
(GCC_INCLUDES): New.
(C_COMPILE): New, like COMPILE but without INCLUDES.
(cxa_demangle.o): Use C_COMPILE.
(dyn-string.o): Use C_COMPILE.
* include/c/std_cstdarg.h: Define __need___va_list.
* include/c/std_cstddef.h: Define need_size_t, need_ptrdiff_t,
need_NULL, need_offsetof.
From-SVN: r54849
2002-06-20 19:08:42 +00:00
Benjamin Kosnik
93b855862a
std_cwchar.h: Guard.
...
2002-06-18 Benjamin Kosnik <bkoz@redhat.com>
* include/c/std_cwchar.h: Guard. Add mbstate_t bits.
* include/c/std_cwctype.h: Guard.
* libsupc++/eh_alloc.cc: Tweak include order.
* libsupc++/pure.cc: Use cstdio.
* libsupc++/new_op.cc: Remove malloc forward declaration, as
cstdlib brings it in. Use std::malloc.
* src/Makefile.am (sources): Remove cmath.cc.
* src/Makefile.in: Regenerate.
* src/cmath.cc: Remove.
From-SVN: r54782
2002-06-19 15:19:53 +00:00
Benjamin Kosnik
497e42fdf4
[multiple changes]
...
2002-06-08 Paolo Carlini <pcarlini@unitus.it>
* testsuite/backwards/strstream_members.cc: New.
2002-06-08 Benjamin Kosnik <bkoz@redhat.com>
* include/backwards/strstream: Format.
* src/strstream.cc: Format.
2002-06-08 Andreas Schwab <schwab@suse.de>
* src/strstream.cc (strstreambuf::overflow): Set _M_buf,
_M_buf_size and _M_buf_size_opt to the new buffer and size.
From-SVN: r54375
2002-06-08 15:14:56 +00:00
Steve Ellcey
3522a91b80
locale-inst.cc (__codecvt_abstract_base): Put inside _GLIBCPP_USE_WCHAR_T ifdef.
...
* src/locale-inst.cc (__codecvt_abstract_base):
Put inside _GLIBCPP_USE_WCHAR_T ifdef.
* include/bits/istream.tcc (basic_istream): Ditto.
(ws) Ditto.
(operator>>) Ditto.
* include/bits/ostream.tcc (basic_ostream): Ditto.
(endl): Ditto.
(ends): Ditto.
(flush): Ditto.
(operator<<): Ditto.
From-SVN: r54351
2002-06-07 22:06:38 +00:00
Loren J. Rittle
32e7bd5b88
Update last commit.
...
From-SVN: r54311
2002-06-06 07:43:09 +00:00
Loren J. Rittle
8b5fd4691d
Makefile.am (AUTOMAKE_OPTIONS): Use cygnus-style generation.
...
* src/Makefile.am (AUTOMAKE_OPTIONS): Use cygnus-style generation.
* include/Makefile.am (AUTOMAKE_OPTIONS): Likewise.
* testsuite/Makefile.am (AUTOMAKE_OPTIONS): Likewise.
* src/Makefile.in: Regenerate (explicitly with --cygnus option).
* testsuite/Makefile.in: Likewise.
From-SVN: r54310
2002-06-06 07:32:57 +00:00
Phil Edwards
7f2e0dffc6
TODO: Update.
...
2002-06-03 Phil Edwards <pme@gcc.gnu.org>
* docs/doxygen/TODO: Update.
* docs/doxygen/user.cfg.in (SORT_MEMBER_DOCS): Set to off, now that
some class members are in 14882 order.
* docs/html/ext/howto.html: 3.1 is in the past now, not the future.
* include/std/std_bitset.h: Update comment.
* src/bitset.cc: Update comments, clean up spacing.
* src/Makefile.am (sources): Alphabetize for convenience.
* src/Makefile.in: Regenerate.
From-SVN: r54200
2002-06-03 04:45:03 +00:00
Benjamin Kosnik
248a9163e1
misc-inst.cc: Define unnecessary algorithm instantiations.
...
c
2002-05-27 Benjamin Kosnik <bkoz@redhat.com>
* src/misc-inst.cc: Define unnecessary algorithm
instantiations. Break apart instantiations into groupings below.
* src/fstream-inst.cc: New.
* src/io-inst.cc: New.
* src/istream-inst.cc: New.
* src/ostream-inst.cc: New.
* src/streambuf-inst.cc: New.
* src/sstream-inst.cc: New.
* src/Makefile.am (sources): Add files.
* src/Makefile.in: Regenerate.
* acinclude.m4: Work around automake 1.4-p5 bug, change
AM_GNU_GETTEXT in comments to AM-GNU-GETTEXT.
From-SVN: r53930
2002-05-27 14:55:57 +00:00
Benjamin Kosnik
fb5b4dfdcb
re PR libstdc++/6594 (strstreambuf leaks 16 bytes - gcc 3.0.x)
...
2002-05-15 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/6594
* src/strstream.cc (strstreambuf): Fix leak.
From-SVN: r53486
2002-05-15 13:15:17 +00:00
Benjamin Kosnik
540f5c9b2d
2002-05-13 Benjamin Kosnik <bkoz@redhat.com>
...
* include/bits/fstream.tcc
(basic_filebuf::_M_allocate_internal_buffer): Remove extraneous
try/catch blocks.
* src/localename.cc (locale::_Impl::_M_install_facet): Same.
* docs/html/install.html: Tweak, add bits about required locales
for the 22_locale tests when using the gnu model.
* testsuite/27_io/istream_sentry.cc: Tweak.
From-SVN: r53423
2002-05-13 13:58:00 +00:00
Benjamin Kosnik
5cdd50a591
stdio_filebuf.h: New file.
...
2002-04-30 Benjamin Kosnik <bkoz@redhat.com>
* include/ext/stdio_filebuf.h: New file.
* include/ext/enc_filebuf.h: New file.
* config/io/basic_file_stdio.h (__basic_file::sys_open): Add fd ctor.
* config/io/basic_file_stdio.cc: Same.
* include/bits/fstream.tcc (filebuf::_M_allocate_internal_buffer):
Remove _M_unbuf hacks.
(filebuf::_M_destroy_internal_buffer): Same.
(filebuf::filebuf(cfile, openmode, int_type): Remove definition.
(filebuf::fd): Remove.
* include/std/std_fstream.h (filebuf::_M_unbuf): Remove.
(filebuf::filebuf(__c_file*, openmode, int_type)): Remove.
(filebuf::fd): Remove.
* src/ios.cc (ios_base::_S_ios_create): Change to use specialized
filebufs.
(ios_base::_S_ios_destroy): Same.
* src/misc-inst.cc (file_filebuf<char>): Add instantiation.
* include/Makefile.am (ext_headers): Add ext_filebuf.h,
stdio_filebuf.h. * include/Makefile.in: Regenerate.
From-SVN: r52961
2002-04-30 19:04:43 +00:00
Benjamin Kosnik
d02475fdae
re PR libstdc++/5280 (Problems with named locales and iostreams (gnulocale))
...
2002-04-28 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/5280
* config/io/basic_file_stdio.h (__basic_file::sys_getc): Return int.
(__basic_file::sys_ungetc): Take int.
* config/io/basic_file_stdio.cc (__basic_file::sys_ungetc): Same.
* include/bits/fstream.tcc (basic_filebuf::_M_underflow_common):
Use sys_getc for unbuffered input.
* testsuite/27_io/narrow_stream_objects.cc (test06): New.
* src/ios.cc (_M_grow_words): Adjust error checking.
* testsuite/27_io/ios_base_storage.cc: Same.
From-SVN: r52879
2002-04-29 07:00:50 +00:00