Commit Graph

679 Commits

Author SHA1 Message Date
Paolo Carlini ee19761de7 basic_file_stdio.cc (__basic_file<>::close)): Don't call unnecessarily sync, that is fflush...
2004-09-17  Paolo Carlini  <pcarlini@suse.de>
	    Andrea Arcangeli  <andrea@suse.de>

	* config/io/basic_file_stdio.cc (__basic_file<>::close)): Don't
	call unnecessarily sync, that is fflush: the library, since 3.4.0
	does not use buffered fread/fwrite.
	* include/bits/fstream.tcc (basic_filebuf<>::overflow): Likewise.

Co-Authored-By: Andrea Arcangeli <andrea@suse.de>

From-SVN: r87636
2004-09-17 08:42:07 +00:00
Mark Mitchell 511bbc8f91 cxxabi_tweaks.h (__cxa_cdtor_return_type): Define.
* config/cpu/arm/cxxabi_tweaks.h (__cxa_cdtor_return_type):
	Define.
	* config/cpu/generic/cxxabi_tweaks.h (__cxa_cdtor_return_type):
	Define.
	* libsupc++/cxxabi.h (__cxa_cdtor_return_type): New type.
	(__cxa_vec_new): Use it.
	(__cxa_vec_new2): Likewise.
	(__cxa_vec_new3): Likewise.
	(__cxa_vec_cdtor): Likewise.
	(__cxa_vec_cctor): Likeiwse.
	(__cxa_vec_dtor): Likewise.
	(__cxa_vec_cleanup): Likewise.
	(__cxa_vec_delete2): Likewise.
	(__cxa_vec_delete3): Likewise.
	* libsupc++/vec.cc (__cxa_vec_new): Likewise.
	(__cxa_vec_new2): Likewise.
	(__cxa_vec_new3): Likewise.
	(__cxa_vec_cdtor): Likewise.
	(__cxa_vec_cctor): Likeiwse.
	(__cxa_vec_dtor): Likewise.
	(__cxa_vec_cleanup): Likewise.
	(__cxa_vec_delete2): Likewise.
	(__cxa_vec_delete3): Likewise.
	(__aeabi_vec_ctor_nocookie_nodtor): New function.
	(__aeabi_vec_ctor_cookie_nodtor): Likewise.
	(__aeabi_vec_cctor_nocookie_nodtor): Likewise.
	(__aeabi_vec_new_cookie_noctor): Likewise.
	(__aeabi_vec_new_nocookie): Likewise.
	(__aeabi_vec_new_cookie_nodtor): Likewise.
	(__aeabi_vec_new_cookie): Likewise.
	(__aeabi_vec_dtor): Likewise.
	(__aeabi_vec_dtor_cookie): Likewise.
	(__aeabi_vec_delete): Likewise.
	(__aeabi_vec_delete3): Likewise.
	(__aeabi_vec_delete3_nodtor): Likewise.
	(__aeabi_atexit): Likewise.

	* testsuite/g++.old-deja/g++.abi/cxa_vec.C: Adjust for ARM
	EABI.

From-SVN: r87585
2004-09-16 03:41:19 +00:00
Benjamin Kosnik c3462823c6 linker-map.gnu (GLIBCXX_3.4.3): New, adjust symbol exports.
2004-09-08  Benjamin Kosnik  <bkoz@redhat.com>

	* config/linker-map.gnu (GLIBCXX_3.4.3): New, adjust symbol exports.

From-SVN: r87186
2004-09-08 13:54:18 +00:00
Benjamin Kosnik 8bfd0a46ea re PR libstdc++/16614 (Excessive resource usage in __mt_alloc)
2004-09-01  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/16614
	* include/ext/mt_allocator.h (__mt_base): Not type dependent,
	split into..
	(__pool): New, specialize.
	(__common_pool): New, static bits here.
	(__per_type_pool): New, and here.
	(__mt_alloc_base): New.
	(__mt_alloc): Add template parameter, inherit from it.
	* src/allocator.cc: Split this...
	* src/allocator-inst.cc: And this...
	* src/pool_allocator.cc: ...into this.
	* src/mt_allocator.cc: ... and this. Add definitions for
	__mt_base.
	* src/Makefile.am (sources): Split allocator.cc to
	pool_allocator.cc and mt_allocator.cc.
	* src/Makefile.in: Regenerate.
	* config/linker-map.gnu: Add symbols.
	* docs/html/ext/mt_allocator.html: Document new design.
	* testsuite/ext/mt_allocator/tune-1.cc: New.
	* testsuite/ext/mt_allocator/tune-2.cc: New.
	* testsuite/ext/mt_allocator/tune-3.cc: New.
	* testsuite/ext/mt_allocator/tune-4.cc: New.

	* testsuite/testsuite_allocator.h (__gnu_test::check_new): New.
	* testsuite/ext/allocators.cc: Use check_new, split into...
	* testsuite/ext/mt_allocator/check_new.cc: this.
	* testsuite/ext/pool_allocator/check_new.cc: this.
	* testsuite/ext/malloc_allocator/check_new.cc: this.
	* testsuite/ext/debug_allocator/check_new.cc: this.
	* testsuite/ext/mt_allocator/instantiate.cc: this.
	* testsuite/ext/pool_allocator/instantiate.cc: this.
	* testsuite/ext/malloc_allocator/instantiate.cc: this.
	* testsuite/ext/debug_allocator/instantiate.cc: this.

From-SVN: r86936
2004-09-01 22:17:00 +00:00
Benjamin Kosnik fa01624514 pool_allocator.h: Rename __pool_base to __pool_alloc_base.
2004-08-30  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/pool_allocator.h: Rename __pool_base to
	__pool_alloc_base.
	* src/allocator.cc: Same.
	* config/linker-map.gnu: Same.

From-SVN: r86789
2004-08-30 18:22:01 +00:00
Paolo Carlini ce894603bf re PR libstdc++/17215 ([3.4 only] __basic_file<char>::close ignores errors)
2004-08-30  Paolo Carlini  <pcarlini@suse.de>
	    Kenneth C. Schalk  <ken@xorian.net>

	PR libstdc++/17215
	* config/io/basic_file_stdio.cc (__basic_file<char>::close()):
	Check the return value of fclose/sync, loop on EINTR.
	(__basic_file<char>::sys_open): Likewise, for sync.

Co-Authored-By: Kenneth C. Schalk <ken@xorian.net>

From-SVN: r86756
2004-08-30 11:33:54 +00:00
Matthias Klose 23a62f7f9e baseline_symbols.txt: New.
2004-08-27  Matthias Klose  <doko@debian.org>

        * config/abi/arm-linux-gnu/baseline_symbols.txt: New.
        * config/abi/mips-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
        * configure.host: Set abi_baseline_pair for arm*-*-linux* and
        mips*-*-linux*.

From-SVN: r86677
2004-08-27 19:58:15 +00:00
Paolo Carlini cb79308987 PR libstdc++/17038 (partial)
2004-08-25  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/17038 (partial)
	* include/bits/locale_facets.tcc (time_put<>::do_put): Increase
	__maxlen to 128.
	* include/bits/locale_facets.h (class __timepunct): Add FIXME
	comment about _M_put.
	* config/locale/generic/time_members.cc (_M_put): Always null
	terminate __s.
	* config/locale/gnu/time_members.cc (_M_put): Likewise.
	* testsuite/22_locale/time_put/put/char/17038.cc: New.
	* testsuite/22_locale/time_put/put/wchar_t/17038.cc: New.

From-SVN: r86586
2004-08-25 23:38:29 +00:00
Matthias Klose 106a720099 baseline_symbols.txt: New.
2004-08-22  Matthias Klose  <doko@debian.org>

        * config/abi/m68k-linux-gnu/baseline_symbols.txt: New.
        * config/abi/sparc-linux-gnu/baseline_symbols.txt: Update to 3.4.0.

From-SVN: r86428
2004-08-23 15:07:53 +00:00
John David Anglin dd8b67a1a8 atomicity.h (__exchange_and_add, [...]): Add memory barrier to locking asm.
* cpu/hppa/atomicity.h (__exchange_and_add, __atomic_add): Add memory
	barrier to locking asm.

From-SVN: r86328
2004-08-20 16:08:49 +00:00
Matthias Klose 05d2826595 baseline_symbols.txt: New.
2004-08-20  Matthias Klose  <doko@debian.org>

        * config/abi/s390-linux-gnu/baseline_symbols.txt: New.

From-SVN: r86318
2004-08-20 13:39:18 +00:00
Paolo Carlini 7368df6fa3 baseline_symbols.txt: Add 32 bit baseline.
2004-08-20  Paolo Carlini  <pcarlini@suse.de>

        * config/abi/x86_64-linux-gnu/32/baseline_symbols.txt: Add 32 bit
	baseline.

From-SVN: r86304
2004-08-20 09:01:05 +00:00
Paolo Carlini f14bf98ed3 baseline_symbols.txt: Fix it.
2004-08-20  Paolo Carlini  <pcarlini@suse.de>

        * config/abi/x86_64-linux-gnu/baseline_symbols.txt: Fix it.

From-SVN: r86302
2004-08-20 08:33:46 +00:00
Paolo Carlini 861aa21540 baseline_symbols.txt: Update to 3.4.0.
2004-08-19  Paolo Carlini  <pcarlini@suse.de>

	* config/abi/x86_64-linux-gnu/baseline_symbols.txt: Update to 3.4.0.

From-SVN: r86242
2004-08-19 08:47:17 +00:00
Matthias Klose f80fd74213 baseline_symbols.txt: Update to 3.4.0.
2004-08-18  Matthias Klose  <doko@debian.org>

        * config/abi/hppa-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
        * config/abi/i386-linux-gnu/baseline_symbols.txt: New.
        * config/abi/powerpc-linux-gnu/baseline_symbols.txt: New.

From-SVN: r86226
2004-08-19 00:18:04 +00:00
Paolo Carlini 7fa53b443a baseline_symbols.txt: Update to 3.4.0.
2004-08-17  Paolo Carlini  <pcarlini@suse.de>

	* config/abi/alpha-linux-gnu/baseline_symbols.txt: Update to 3.4.0.

From-SVN: r86155
2004-08-17 22:58:55 +00:00
Paolo Carlini 1bc7e46697 baseline_symbols.txt: Update to 3.4.0.
2004-08-17  Paolo Carlini  <pcarlini@suse.de>

	* config/abi/ia64-linux-gnu/baseline_symbols.txt: Update to 3.4.0.

From-SVN: r86142
2004-08-17 20:25:55 +00:00
Benjamin Kosnik 4c7cb3ea1e baseline_symbols.txt: Update to 3.4.0.
2004-08-17  Benjamin Kosnik  <bkoz@redhat.com>

	* config/abi/i486-linux-gnu/baseline_symbols.txt: Update to 3.4.0.

From-SVN: r86126
2004-08-17 15:17:03 +00:00
Paul Brook 47bedfb079 cxxabi_tweaks.h: Define __cxa_vec_ctor_return and _GLIBCXX_CXA_VEC_CTOR_RETURN.
* config/cpu/arm/cxxabi_tweaks.h: Define __cxa_vec_ctor_return and
	_GLIBCXX_CXA_VEC_CTOR_RETURN.
	* config/cpu/generic/cxxabi_tweaks.h: Ditto.
	* libsupc++/cxxabi.h (__cxa_vec_ctor, __cxa_vec_cctor): Use
	__cxa_vec_ctor_return.
	* libsupc++/vec.cc (__cxa_vec_ctor, __cxa_vec_cctor): Ditto.
	Use _GLIBCXX_CXA_VEC_CTOR_RETURN.

	* g++.dg/abi/arm_cxa_vec_1.C: New test.

From-SVN: r85891
2004-08-12 18:50:38 +00:00
Jan Beulich 03a2b8100f 2004-08-12 Jan Beulich <jbeulich@novell.com>
* config/locale/generic/ctype_members.cc
	(ctype<wchar_t>::_M_convert_to_wmask): Default case must not use 0 as
	initializer for return value, as that is invalid for enumerated	types.
	* config/locale/gnu/ctype_members.cc
	(ctype<wchar_t>::_M_convert_to_wmask): Likewise.

From-SVN: r85862
2004-08-12 09:46:39 +00:00
Paolo Carlini 49864a8255 c_locale.h (__convert_from_v): Don't use a default for __prec, assume __prec >= 0 and simplify.
2004-08-07  Paolo Carlini  <pcarlini@suse.de>

	* config/locale/generic/c_locale.h (__convert_from_v): Don't
	use a default for __prec, assume __prec >= 0 and simplify.
	* config/locale/gnu/c_locale.h (__convert_from_v): Likewise.
	* include/bits/locale_facets.tcc (money_put<>::do_put(long double)):
	Pass format "%.*Lf" + precision == 0, equivalent to "%.0Lf".

From-SVN: r85669
2004-08-07 13:48:31 +00:00
Jason Merrill d4794d1a61 fix typo
From-SVN: r85575
2004-08-04 17:13:16 -04:00
Alexandre Oliva 312209c6a5 Introduce sh4a support.
gcc/ChangeLog:
Introduce sh4a support.
* config.gcc: Handle sh4a multilibs and cpu selection.
* config/sh/sh.h: Likewise.  Handle sh4a command line flags.
* config/sh/t-mlib-sh4a: New.
* config/sh/t-mlib-sh4al: New.
* config/sh/t-mlib-sh4a-nofpu: New.
* config/sh/t-mlib-sh4a-single: New.
* config/sh/t-mlib-sh4a-single-only: New.
2004-02-20  DJ Delorie  <dj@redhat.com>
* config/sh/sh.md ("movua"): Change constraint from "m" to "Sua".
* config/sh/sh.h (EXTRA_CONSTRAINT_S): Add "Sua" support.
2003-08-22  Eric Christopher  <echristo@redhat.com>
* config/sh/sh4a.md: Update for chip errata.
2003-08-07  Eric Christopher  <echristo@redhat.com>
* config/sh/sh4a.md: New file. sh4a processor description.
2003-07-08  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (TARGET_SWITCHES): Added 4al.  Adjust description
of -m4a-nofpu.
(SH_ASM_SPEC): Pass -dsp for -m4al, not -m4a-nofpu.
* config/sh/t-sh (MULTILIB_MATCHES): Map -m4al to -m4a-nofpu.
* doc/invoke.texi (SH Options): Document -m4al.
2003-07-03  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.c (expand_block_move): Remove commented-out code
checked in by mistake.
(sh_cannot_change_mode_class): Enable SUBREGs to be used to select
single elements from SFmode vectors.
* config/sh/sh.md (fsca): Use VEC_CONCAT to initialize the output
register.
(sinsf2, cossf2, sindf2, cosdf2): Don't emit CLOBBER.
2003-07-01  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (sh_fsca_sf2int, sh_fsca_df2int,
sh_fsca_int2sf): Remove variable declarations.
* config/sh/sh.c (sh_fsca_sf2int, sh_fsca_df2int,
sh_fsca_int2sf): New functions.
(sh_fsca_sf2int_rtx, sh_fsca_df2int_rtx,
sh_fsca_int2sf_rtx): New static variables.
* config/sh/sh-protos.h (sh_fsca_sf2int, sh_fsca_df2int,
sh_fsca_int2sf): Declare.
* config/sh/sh.md: Adjust.
* doc/invoke.texi (SH Options): Document new options.
* config/sh/lib1funcs.asm (ic_invalidate): Remove SH4a forward
compatibility from SH4 code.
2003-06-27  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.c (expand_block_move): Don't emit POST_INC too
early.
(memory_movsrc_operand): Renamed to...
(unaligned_load_operand): ... this.  Simplified.
* config/sh/sh.h (PREDICATE_CODES): Adjust.
* config/sh/sh.md (movua, extv, extzv): Likewise.  Change movua's
input operand to SImode, and adjust the others.  Introduce
post-increment by peephole.
* config/sh/sh.c (expand_block_move): Give the target address the
same mode as the temp reg.
* config/sh/sh.c (expand_block_move): Use a temp reg for unaligned
copying.
2003-06-26  Alexandre Oliva  <aoliva@redhat.com>
Introduce support for SH4a.
* config/sh/lib1funcs.asm (ic_invalidate): Use icbi if
__SH4A__.  Emit 4 4kb blocks and touch all of them otherwise.
* config/sh/sh.c (sh_fsca_sf2int, sh_fsca_df2int,
sh_fsca_int2sf): New.
(sh_init_builtins): Initialize them.
(print_operand): Support `d'.
(expand_block_move): Use movua if src is misaligned.
(memory_movsrc_operand): New.
* config/sh/sh.h (TARGET_CPU_CPP_BUILTINS): Define __SH4A__
and one of the SH4 macros.
(SH4A_BIT, TARGET_SH4A_ARCH, TARGET_SH4A_FP,
SELECT_SH4A_NOFPU, SELECT_SH4A_SINGLE_ONLY, SELECT_SH4A,
SELECT_SH4A_SINGLE): New.
(TARGET_NONE): Add SH4A_BIT.
(TARGET_SWITCHES): Add 4a-single-only, 4a-single, 4a-nofpu and 4a.
(SH_ASM_SPEC): Pass -dsp if -m4a-nofpu.
(sh_fsca_sf2int, sh_fsca_df2int, sh_fsca_int2sf): Declare.
(OVERRIDE_OPTIONS): Set cpu to CPU_SH4A when appropriate.
(enum processor_type): Added PROCESSOR_SH4A.
(PREDICATE_CODES): Add memory_movsrc_operand.
* config/sh/sh.md: Removed unused variables.
(attr cpu): Add sh4a.
(attr type): Add movua, fsrra and fsca.
(prefetch): New, for SH4.
(ic_invalidate_line, ic_invalidate_line_sh4a): Use icbi.
(toggle_sz): Set type to fp.
(toggle_pr, rsqrtsf2, fsca, sinsf2, cossf2, sindf2, cosdf2): New.
(movua, extv, extzv): New.
* config/sh/t-sh: Add multilibs for 4a, 4a-nofpu, 4a-single
and 4a-single-only.
gcc/testsuite/ChangeLog:
2003-07-06  Alexandre Oliva  <aoliva@redhat.com>
* gcc.dg/sh4a-memmovua.c: Tweak regular expression.
2003-07-01  Alexandre Oliva  <aoliva@redhat.com>
* gcc.dg/sh4a-bitmovua.c: New.
* gcc.dg/sh4a-cos.c: New.
* gcc.dg/sh4a-cosf.c: New.
* gcc.dg/sh4a-fprun.c: New.
* gcc.dg/sh4a-fsrra.c: New.
* gcc.dg/sh4a-memmovua.c: New.
* gcc.dg/sh4a-sin.c: New.
* gcc.dg/sh4a-sincos.c: New.
* gcc.dg/sh4a-sincosf.c: New.
* gcc.dg/sh4a-sinf.c: New.
libstdc++-v3/ChangeLog:
2003-10-01  Eric Christopher  <echristo@redhat.com>
* config/cpu/sh/atomicity.h (__exchange_and_add): Remove 'm'
constraint.
2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
* config/cpu/sh/atomicity.h: New.  Use movli and movco on SH4a.

From-SVN: r85257
2004-07-28 09:13:58 +00:00
Benjamin Kosnik 9e80211469 [multiple changes]
2004-07-07  Benjamin Kosnik  <bkoz@redhat.com>

	* configure.ac (libtool_VERSION): To 6:2:0.
	* configure: Regenerated.

	* testsuite/testsuite_abi.cc (check_version): Add 3.4.2.

2004-07-07  Aaron W. LaFramboise  <aaronraolete36@aaronwl.com>

	PR libstdc++/16411
	* config/linker-map.gnu: Add stdio_sync_filebuf::file exports.

From-SVN: r84264
2004-07-08 05:24:33 +00:00
Paul Brook a7e4cdca85 cxxabi_tweaks.h: New file.
* config/cpu/arm/cxxabi_tweaks.h: New file.
	* config/cpu/generic/cxxabi_tweaks.h: New file.

From-SVN: r84035
2004-07-02 23:58:41 +00:00
Benjamin Kosnik bd535dc55c linker-map.gnu: Revert.
2004-06-30  Benjamin Kosnik  <bkoz@redhat.com>

	* config/linker-map.gnu: Revert.

From-SVN: r83913
2004-06-30 16:38:42 +00:00
Benjamin Kosnik 9abf398dd9 linker-map.gnu: Add destructor exports for abstract base classes to conform to LSB.
2004-06-30  Benjamin Kosnik  <bkoz@redhat.com>
            Stuart Anderson  <anderson@netsweng.com>

	* config/linker-map.gnu: Add destructor exports for abstract base
	classes to conform to LSB.

Co-Authored-By: Stuart Anderson <anderson@netsweng.com>

From-SVN: r83910
2004-06-30 16:19:45 +00:00
Paolo Carlini 61c53cd36b 2004-06-28 Paolo Carlini <pcarlini@suse.de>
* config/locale/gnu/monetary_members.cc
	(moneypunct<wchar_t>::_M_initialize_moneypunct): Clean up
	assignments of _M_decimal_point and _M_thousands_sep.

From-SVN: r83767
2004-06-28 09:27:18 +00:00
Benjamin Kosnik 838d430929 concurrence.h (__gnu_cxx::lock): New.
2004-06-24  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/concurrence.h (__gnu_cxx::lock): New.
	* include/ext/pool_allocator.h (__pool_base::_Lock::_S_lock): Remove.
	(__pool_base::_M_get_mutex): New.
	* include/bits/allocator.h: Tweak.
	* src/allocator.cc (__pool_base::_M_get_free_list): Correct offset.
	* config/linker-map.gnu: Remove __pool_base::_Lock::_S_lock.
	* include/bits/stl_threads.h: Remove.
	* include/Makefile.am: Also here.
	* include/Makefile.in: Regenerate.

	* src/locale_init.cc: Use __gnu_cxx::lock.

	* src/allocator.cc: Move all instantiations...
	* src/allocator-inst.cc: ...here.

From-SVN: r83638
2004-06-25 06:10:44 +00:00
Loren J. Rittle 88c499cce7 linker-map.gnu: Use wildcards for __basic_file::sys_open(FILE*, _Ios_Openmode).
* config/linker-map.gnu: Use wildcards for
	__basic_file::sys_open(FILE*, _Ios_Openmode).

From-SVN: r83470
2004-06-22 00:24:52 +00:00
Benjamin Kosnik 2832d07bd1 pool_allocator.h: Qualify __throw_bad_alloc.
2004-06-18  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/pool_allocator.h: Qualify __throw_bad_alloc.
	(__pool_base): Remove unused template parameter.  Add
	protected. Move lock data into __pool_base::_Lock. Remove static
	on member functions.
	(__pool_base::_M_get_free_list): New.
	(__pool_alloc): Move _S_force new here.
	* src/allocator.cc: Move out of line __pool_base definitions here.
	* config/linker-map.gnu: Export bits from __pool_base.

From-SVN: r83355
2004-06-18 16:52:42 +00:00
Paolo Carlini a80e0e831f 2004-06-18 Paolo Carlini <pcarlini@suse.de>
* config/locale/gnu/numeric_members.cc
	(numpunct<wchar_t>::_M_initialize_numpunct): Clean up
	assignments of _M_decimal_point and _M_thousands_sep.
	* config/locale/gnu/time_members.cc
	(__timepunct<wchar_t>::_M_initialize_timepunct): Clean up
	and reformat assignments of date and time fields.

From-SVN: r83346
2004-06-18 10:54:44 +00:00
Jason Merrill 37f3105a58 linker-map.gnu: Use wildcards for __basic_file::{xsgetn,xsputn,seekoff,xsputn_2}.
* config/linker-map.gnu: Use wildcards for
        __basic_file::{xsgetn,xsputn,seekoff,xsputn_2}.

From-SVN: r82813
2004-06-08 23:56:34 -04:00
Benjamin Kosnik 7c9fee34e5 linker-map.gnu (GLIBCXX_3.4.1): Add.
2004-05-31  Benjamin Kosnik  <bkoz@redhat.com>

	* config/linker-map.gnu (GLIBCXX_3.4.1): Add.
	* testsuite/testsuite_abi.cc: Same.
	* configure.ac (libtool_VERSION): Bump to 6:1:0.
	* configure: Regenerate.
	* aclocal.m4: Regenerate.

From-SVN: r82498
2004-05-31 21:19:52 +00:00
Richard B. Kreckel 803cb0b5c9 re PR libstdc++/14600 (__gnu_cxx::stdio_sync_filebuf should expose internal FILE*)
2004-05-29  Richard B. Kreckel  <Richard.Kreckel@Framatome-ANP.com>
            Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/14600
	* include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): New.
	* include/ext/stdio_filebuf.h (stdio_filebuf::file): New.
	* config/io/basic_file_stdio.cc (__basic_file::file): New.
	* config/io/basic_file_stdio.h: Define.

Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>

From-SVN: r82419
2004-05-29 14:40:59 +00:00
Benjamin Kosnik 26c691a88b re PR libstdc++/12854 (libstdc++ vs. -Weffc++)
2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/12854
	Fixups for -Weffc++.
	* include/bits/basic_string.h (basic_string::operator=): Return
	pointer to this instead of result of assign. Although redundant,
	this doesn't impact resultant codegen.

	* include/bits/locale_facets.h (__numpunct_cache): Declare
	assignment opxserator and copy constructor private.
	(__timepunct_cache): Same.
	(__moneypunct_cache): Same.
	(collate): Use member initialization list for _M_c_locale_collate.
	* config/locale/gnu/messages_members.h: Same.
	* config/locale/gnu/time_members.h (__timepunct): Same.
	* src/codecvt.cc: Use member initialization list to initialize
	_M_c_locale_codecvt.
	* src/ctype.cc: Same, with _M_c_locale_ctype and _M_narrow_ok.
	* config/os/gnu-linux/ctype_noninline.h: Same.
	* src/locale.cc (_Impl): Same.
	* src/locale_init.cc: Same.
	* src/localename.cc: Same.

	* include/bits/basic_ios.h (basic_ios): Complete member
	initialization list.
	* include/bits/istream.tcc (basic_istream::sentry): Same.
	* include/bits/ostream.tcc (basic_ostream::sentry): Same.
	* include/bits/fstream.tcc (basic_filebuf): Add _M_lock and
	_M_pback to member initialization list.
	* include/std/std_streambuf.h: Same.
	* include/std/std_sstream.h: Same, for _M_mode.
	* src/ios.cc (ios_base): Same.

	* include/ext/rope: Make derived classes match exception

	 specifications. Add copy constructors and assignment operators.

	* include/debug/safe_base.h (_Safe_sequence_base): Declare copy
	constructor and assignment operator protected.
	(_Safe_iterator_base): Same.
	* include/debug/formatter.h (_Error_formatter): Define copy
	constructor and assignment operator.

	* include/backward/strstream: Declare assignment operator and copy
	constructor private.

From-SVN: r82153
2004-05-22 23:46:34 +00:00
Simon Marshall 95b147fe4a re PR libstdc++/15090 (-fno-for-scope vs. libstdc++)
2004-05-13  Simon Marshall <simon.marshall@misys.com>
	    Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/15090
	* include/bits/locale_facets.h: Fix for -fno-for-scope.
	* include/debug/safe_sequence.h: Same.
	* include/debug/safe_iterator.tcc: Same.
	* src/debug.cc: Same.
	* src/locale.cc: Same.
	* src/locale_init.cc: Same.
	* src/localename.cc: Same.
	* config/locale/gnu/ctype_members.cc: Same.
	* config/locale/gnu/numeric_members.cc: Same.
	* testsuite/testsuite_abi.cc: Same.
	* testsuite/testsuite_hooks.cc: Same.

Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>

From-SVN: r81795
2004-05-13 16:29:39 +00:00
Benjamin Kosnik 390e4c0dbe c++config (_GLIBCXX_STD): New.
2004-04-16  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/c++config (_GLIBCXX_STD): New.
	* src/list.cc: Use it.
	* include/std/std_bitset.h: Same.
	* include/bits/vector.tcc: Same.
	* include/bits/stl_set.h: Same.
	* include/bits/stl_multiset.h: Same.
	* include/bits/stl_multimap.h: Same.
	* include/bits/stl_map.h: Same.
	* include/bits/stl_list.h: Same.
	* include/bits/stl_vector.h: Same.
	* include/bits/stl_bvector.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/deque.tcc: Same.
	* include/bits/list.tcc: Same.
	* include/debug/vector: Same.
	* include/debug/set.h: Same.
	* include/debug/multiset.h: Same.
	* include/debug/multimap.h: Same.
	* include/debug/map.h: Same.
	* include/debug/list: Same.
	* include/debug/deque: Same.
	* include/debug/bitset: Same.
	* include/debug/formatter.h (__gnu_debug): Remove using directive.
	Add using declaration for std::type_info.
	* include/debug/safe_iterator.h: Add using declaration for
	std::iterator_traits and std::pair.
	* src/debug_list.cc: New.
	* src/Makefile.am: Add debug_list.cc.
	* src/Makefile.in: Regenerate.
	* config/linker-map.gnu: Add _List_node_base exports for std and
	__gnu_norm.

	* include/bits/stl_bvector.h (_Bvector_base): Use _Bvector_impl
	idiom that other containers use.
	* testsuite/23_containers/vector/bool/clear_allocator.cc: New.

From-SVN: r80763
2004-04-16 19:04:07 +00:00
Paolo Carlini af55af57e1 acconfig.h: Remove _GLIBCXX_USE_LONG_DOUBLE entry, not used anymore.
2004-04-16  Paolo Carlini  <pcarlini@suse.de>

	* acconfig.h: Remove _GLIBCXX_USE_LONG_DOUBLE entry, not
	used anymore.
	* config.h.in: Regenerate.

2004-04-16  Paolo Carlini  <pcarlini@suse.de>

	* config/locale/generic/monetary_members.cc
	(moneypunct<wchar_t>::_M_initialize_moneypunct): Avoid calling
	btowc unnecessarily, just cast to wchar_t (the concerned chars
	all belong to the basic character set).
	* config/locale/generic/numeric_members.cc
	(numpunct<wchar_t>::_M_initialize_numpunct): Likewise.
	* config/locale/gnu/monetary_members.cc
	(moneypunct<wchar_t>::_M_initialize_moneypunct): Likewise.
	* config/locale/gnu/numeric_members.cc
	(numpunct<wchar_t>::_M_initialize_numpunct): Likewise.

From-SVN: r80746
2004-04-16 09:23:05 +00:00
Paolo Carlini 92861ad4a0 2004-04-12 Paolo Carlini <pcarlini@suse.de>
* config/locale/gnu/numeric_members.cc
	(numpunct<wchar_t>::_M_initialize_numpunct): No need to wrap
	in __uselocale, since btowc is called for chars belonging to
	the basic character set.

From-SVN: r80618
2004-04-12 08:36:23 +00:00
Paolo Carlini ba98a8d81a time_members.cc (__timepunct<char>::_M_initialize_timepunct, [...]): the correct _M_amonth07 in the "C" locale is "Jul" and L"Jul", respectively.
2004-04-07  Paolo Carlini  <pcarlini@suse.de>

	* config/locale/generic/time_members.cc
	(__timepunct<char>::_M_initialize_timepunct,
	__timepunct<wchar_t>::_M_initialize_timepunct): the correct
	_M_amonth07 in the "C" locale is "Jul" and L"Jul", respectively.
	* config/locale/gnu/time_members.cc
	(__timepunct<char>::_M_initialize_timepunct,
	__timepunct<wchar_t>::_M_initialize_timepunct): Ditto.
	* testsuite/22_locale/time_get/get_monthname/char/4.cc: New.
	* testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc: New.

	* testsuite/22_locale/time_get/date_order/char/1.cc: Remove junk.
	* testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Ditto.
	* testsuite/22_locale/time_get/get_date/char/1.cc: Ditto.
	* testsuite/22_locale/time_get/get_date/char/2.cc: Ditto.
	* testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Ditto.
	* testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Ditto.
	* testsuite/22_locale/time_get/get_monthname/char/1.cc: Ditto.
	* testsuite/22_locale/time_get/get_monthname/char/2.cc: Ditto.
	* testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Ditto.
	* testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Ditto.
	* testsuite/22_locale/time_get/get_time/char/1.cc: Ditto.
	* testsuite/22_locale/time_get/get_time/char/2.cc: Ditto.
	* testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Ditto.
	* testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Ditto.
	* testsuite/22_locale/time_get/get_weekday/char/1.cc: Ditto.
	* testsuite/22_locale/time_get/get_weekday/char/2.cc: Ditto.
	* testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Ditto.
	* testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Ditto.
	* testsuite/22_locale/time_get/get_year/char/1.cc: Ditto.
	* testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Ditto.
	* testsuite/22_locale/time_put/put/char/1.cc: Ditto.
	* testsuite/22_locale/time_put/put/char/2.cc: Ditto.
	* testsuite/22_locale/time_put/put/char/3.cc: Ditto.
	* testsuite/22_locale/time_put/put/char/4.cc: Ditto.
	* testsuite/22_locale/time_put/put/char/5.cc: Ditto.
	* testsuite/22_locale/time_put/put/char/6.cc: Ditto.
	* testsuite/22_locale/time_put/put/char/7.cc: Ditto.
	* testsuite/22_locale/time_put/put/char/8.cc: Ditto.
	* testsuite/22_locale/time_put/put/wchar_t/1.cc: Ditto.
	* testsuite/22_locale/time_put/put/wchar_t/2.cc: Ditto.
	* testsuite/22_locale/time_put/put/wchar_t/3.cc: Ditto.
	* testsuite/22_locale/time_put/put/wchar_t/4.cc: Ditto.
	* testsuite/22_locale/time_put/put/wchar_t/5.cc: Ditto.
	* testsuite/22_locale/time_put/put/wchar_t/6.cc: Ditto.
	* testsuite/22_locale/time_put/put/wchar_t/7.cc: Ditto.
	* testsuite/22_locale/time_put/put/wchar_t/8.cc: Ditto.

	* testsuite/22_locale/time_put/put/char/9780-1.cc: Fix typos.

From-SVN: r80493
2004-04-07 23:14:08 +00:00
Paolo Carlini f332a090b2 2004-04-07 Paolo Carlini <pcarlini@suse.de>
* config/locale/gnu/monetary_members.cc
	(moneypunct<wchar_t>::_M_initialize_moneypunct): Prefer
	_NL_MONETARY_DECIMAL_POINT_WC, _NL_MONETARY_THOUSANDS_SEP_WC,
	and __MON_GROUPING to _NL_NUMERIC_DECIMAL_POINT_WC,
	_NL_NUMERIC_THOUSANDS_SEP_WC, and GROUPING.
	* config/locale/gnu/numeric_members.cc
	(numpunct<char>::_M_initialize_numpunct): Prefer DECIMAL_POINT
	and THOUSANDS_SEP to the deprecated RADIXCHAR and THOUSEP.

From-SVN: r80477
2004-04-07 14:32:47 +00:00
Benjamin Kosnik 563ae04fec Fixups for EDG front end.
2004-04-06  Benjamin Kosnik  <bkoz@redhat.com>

	Fixups for EDG front end.
	* include/ext/rope: Instead of non-existent function
	_Data_allocate, use allocator's allocate. Use this.
	(namespace _Rope_constants): Move _S_max_rope_depth, and _Tag
	enumerations from _Rope_RopeRep here.
	* include/ext/ropeimpl.h: Same.
	* src/ext-inst.cc (_S_min_len): Fix up definition.

	* config/locale/gnu/ctype_members.cc: Qualify base class members
	with this.
	* config/locale/generic/ctype_members.cc: Same.
	* config/locale/gnu/messages_members.h: Same.
	* config/locale/generic/messages_members.h: Same.
	* src/ctype.cc: Same.
	* include/bits/codecvt.h: Same.

	* include/bits/boost_concept_check.h: Declare.
	(__error_type_must_be_an_unsigned_integer_type): Remove this.
	(__error_type_must_be_an_integer_type): Remove this.
	(__error_type_must_be_a_signed_integer_type): Remove this.

	* config/io/basic_file_stdio.cc (__basic_file::sys_open): Remove cast.

	* libsupc++/eh_alloc.cc (__cxa_free_exception): Add exception
	specification to definition.
	(__cxa_allocate_exception): Same.
	* libsupc++/eh_catch.cc (__cxa_begin_catch): Same.
	* libsupc++/eh_globals.cc (__cxa_get_globals_fast): Same.
	(__cxa_get_globals): Same.

	* libsupc++/del_op.cc: Add comment about freestanding.

From-SVN: r80475
2004-04-07 03:33:36 +00:00
Paolo Carlini e004c3313e c_locale.cc (__convert_to_v(long double&)): In v3 uses of sscanf...
2004-03-31  Paolo Carlini  <pcarlini@suse.de>

	* config/locale/generic/c_locale.cc (__convert_to_v(long double&)):
	In v3 uses of sscanf, the special floating-point numbers INF,
	INFINITY, etc., cannot occur in input, therefore, if the latter
	is too large, ERANGE is always stored in errno, no need of finitel.

From-SVN: r80247
2004-03-31 09:13:10 +00:00
Benjamin Kosnik a5f105b590 [multiple changes]
2004-03-27  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++ PR/13598
	* config/locale/ieee_1003.1-2001/codecvt_specializations.h
	(__enc_traits::_M_destroy): New.
	(__enc_traits::~__enc_traits): Use it.
	(__enc_traits::operator=): Use _M_destroy, _M_init.
	(__enc_traits::__enc_traits): Same.

2004-03-27  Petur Runolfsson  <peturr02@ru.is>

	* testsuite/ext/enc_filebuf/char/13598.cc: New.

From-SVN: r80027
2004-03-27 16:21:21 +00:00
Paolo Carlini 29d4adf460 acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add pool_allocator.
2004-03-22  Paolo Carlini  <pcarlini@suse.de>

	* acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add pool_allocator.
	* configure: Regenerate.
	* config/allocator/pool_allocator_base.h: New.
	* include/ext/pool_allocator.h: Convert to a standard-conforming
	allocator.
	* src/allocator.cc: Tweak instantiations.
	* testsuite/performance/20_util/allocator/insert.cc: Add __pool_alloc.
	* testsuite/performance/20_util/allocator/insert_insert.cc: Ditto.
	* testsuite/performance/20_util/allocator/list_sort_search.cc: Ditto.
	* testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
	* testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
	* testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.

From-SVN: r79824
2004-03-22 13:07:13 +00:00
Hans-Peter Nilsson fea41ef911 atomicity.h (__atomic_add): Remove "static inline" and attribute-unused.
* config/cpu/cris/atomicity.h (__atomic_add): Remove "static
	inline" and attribute-unused.  Qualify parameter __mem with
	"volatile".
	(__exchange_and_add): Ditto.  Add back memory clobber to asm.

From-SVN: r79804
2004-03-22 01:37:04 +00:00
Michael Eager 1b1a632b4d atomicity.h: Prevent reg loads between LL and SC instructions.
2004-03-19  Michael Eager  <eager@mvista.com>

	* config/cpu/mips/atomicity.h:  Prevent reg loads between LL and
	SC instructions.

From-SVN: r79711
2004-03-19 23:12:10 +00:00
Benjamin Kosnik 8b0d605196 allocator: New.
2004-03-13  Benjamin Kosnik  <bkoz@redhat.com>

	* config/allocator: New.
	* config/allocator/bitmap_allocator_base.h: New.
	* config/allocator/malloc_allocator_base.h: New.
	* config/allocator/mt_allocator_base.h: New.
	* config/allocator/new_allocator_base.h: New.
	* include/bits/allocator.h: Include c++allocator.h.
	* acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): New.
	* aclocal.m4: Regenerate.
	* configure.ac: Use GLIBCXX_ENABLE_ALLOCATOR.
	* configure: Regenerate.
	* include/Makefile.am (host_headers_extra): Add c++allocator.h.
	* include/Makefile.in: Regenerate.
	* docs/html/configopts.html: Add enable-libstdcxx-allocator.

From-SVN: r79435
2004-03-13 06:54:25 +00:00
Benjamin Kosnik f83295bafc re PR libstdc++/12658 (Thread safety problems in locale::global() and locale::locale())
2004-03-06  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/12658
	* src/locale_init.cc (locale::locale): Lock critical regions with
	external mutexes.
	(locale::global): Same.
	* include/bits/concurrence.h (__glibcxx_mutex_define_initialized):
	Add in once bits for cases without __GTHREAD_MUTEX_INIT.
	(__glibcxx_mutex_lock): Same.

	* config/cpu/generic/atomicity.h: Remove
	_GLIBCXX_NEED_GENERIC_MUTEX, use concurrence.h.
	* src/misc-inst.cc: Move all locking bits out of this file.

	* config/os/hpux/os_defines.h: Remove _GLIBCXX_INST_ATOMICITY_LOCK.
	* src/misc-inst.cc: Same.
	* config/cpu/hppa/atomicity.h: Same.

	* config/linker-map.gnu: Remove types in the signature of atomic
	exports, as they may vary.

From-SVN: r79043
2004-03-07 01:32:43 +00:00
John David Anglin 3a1a4ed26e atomicity.h (__atomic_add): Make first argument volatile.
* config/cpu/hppa/atomicity.h (__atomic_add): Make first argument
	volatile.
	* config/os/hpux/os_defines.h (_GLIBCXX_INST_ATOMICITY_LOCK): Use
	__GXX_WEAK__ instead of _GLIBCXX_SUPPORTS_WEAK.

From-SVN: r78633
2004-02-28 22:46:32 +00:00
Benjamin Kosnik 00d04db682 atomicity.h: Include c++config.h to get defines.
2004-02-27  Benjamin Kosnik  <bkoz@redhat.com>

	* config/cpu/hppa/atomicity.h: Include c++config.h to get defines.

	* src/misc-inst.cc (_S_atomicity_lock): Move to __gnu_cxx.

	* config/os/irix/irix5.2/atomicity.h: Merge..
	* config/os/irix/irix6.5/atomicity.h: Merge..
	* config/os/irix/atomicity.h: ...into this.
	* config/os/irix/atomic_word.h: New.
	* configure.host: Set atomic_word_dir for irix.

	* hppa/atomicity.h: Change __Atomicity_lock to _Atomicity_lock.
	* i386/atomicity.h: Same.
	* m68k/atomicity.h: Same.
	* sparc/atomicity.h: Same.

From-SVN: r78577
2004-02-27 20:56:46 +00:00
David Edelsohn c284a1261d atomicity.h: Use __gnu_cxx namespace.
* config/os/aix/atomicity.h: Use __gnu_cxx namespace. Remove
        static, and inline keyworks.

From-SVN: r78574
2004-02-27 13:59:31 -05:00
Benjamin Kosnik 2c5d0ae842 atomicity.h: New, forward declarations for __atomic_add and __exchange_and_add.
2004-02-25  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/atomicity.h: New, forward declarations for __atomic_add
	and __exchange_and_add.
	* config/cpu/generic/atomic_word.h: New, typdef for atomic word.
	* config/cpu/cris/atomic_word.h: Same.
	* config/cpu/sparc/atomic_word.h: Same.
	* include/bits/ios_base.h (_Callback_list::_M_remove_reference):
	Qualifiy with __gnu_cxx.
	(_Callback_list::_M_add_reference): Same.
	* include/bits/locale_classes.h (locale::facet::_M_add_reference): Add.
	(locale::facet::_M_remove_reference): Same.
	(locale::_Impl::_M_add_reference): Add.
	(locale::_Impl::_M_remove_reference): Same.
	* include/bits/basic_string.h (basic_string::_Rep::_M_refcopy): Same.
	(basic_string::_Rep::_M_dispose): Same.
	* src/ios.cc (ios_base::xalloc): Same.
	* src/ios_init.cc (ios_base::Init::Init): Same.
	(ios_base::Init::~Init): Same.
	* src/locale.cc (locale:🆔:_M_id): Same.
	* config/cpu/i486/atomicity.h: Use __gnu_cxx namespace. Remove
	static, and inline keyworks.
	* config/cpu/alpha/atomicity.h: Same.
	* config/cpu/cris/atomicity.h: Same.
	* config/cpu/generic/atomicity.h: Same.
	* config/cpu/hppa/atomicity.h: Same.
	* config/cpu/i386/atomicity.h: Same.
	* config/cpu/ia64/atomicity.h: Same.
	* config/cpu/m68k/atomicity.h: Same.
	* config/cpu/mips/atomicity.h: Same.
	* config/cpu/powerpc/atomicity.h: Same.
	* config/cpu/s390/atomicity.h: Same.
	* config/cpu/sparc/atomicity.h: Same.

	* src/Makefile.am (host_sources): Add atomicity.cc.
	(atomicity.cc): New rule.
	* src/Makefile.in: Regenerate.
	* include/Makefile.am (host_headers): Remove host atomicity.h.
	(host_headers): Add atomic_word.h.
	(bits_headers): Add bits atomicity.h.
	Change ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
	* include/Makefile.in: Regenerate.
	* configure.host (atomic_word_dir): Add.
	* configure.ac: Substitute ATOMIC_WORD_SRCDIR. Change
	ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
	* configure: Regenerate.
	* config/linker-map.gnu: Export __exchange_and_add, and __atomic_add.

	* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.

From-SVN: r78544
2004-02-27 00:49:50 +00:00
Paolo Carlini fe932e504b locale_facets.h (class money_base): Add { _S_minus, _S_zero, _S_end } enum, _S_atoms.
2004-02-21  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.h (class money_base): Add { _S_minus,
	_S_zero, _S_end } enum, _S_atoms.
	(struct __moneypunct_cache<>): Parameterize on _Intl too; add
	_M_grouping_size, _M_curr_symbol_size, _M_positive_sign_size,
	_M_negative_sign_size, _M_atoms; tweak constructor consistently.
	(__moneypunct_cache<>::~__moneypunct_cache): Update.
	(__moneypunct_cache<>::_M_cache): Fill the cache.
	(class moneypunct): Tweak __cache_type typedef.
	(class money_put): Inherit from money_base too; tweak declaration
	of _M_insert, now parameterized on _Intl.
	* include/bits/locale_facets.tcc
	(struct __use_cache<__moneypunct_cache<_CharT, _Intl> >): New.
	(money_put<>::_M_insert): Update definition to use the cache;
	call reserve on __res to avoid multiple reallocations.
	(money_put<>::do_put(long double),
	money_put<>::do_put(const string_type&): Update calls of _M_insert.
	* config/locale/generic/monetary_members.cc
	(moneypunct<char, true>::_M_initialize_moneypunct,
	moneypunct<char, false>::_M_initialize_moneypunct,
	moneypunct<wchar_t, true>::_M_initialize_moneypunct,
	moneypunct<wchar_t, false>::_M_initialize_moneypunct): Update.
	* config/locale/gnu/monetary_members.cc: Likewise.
	* config/locale/gnu/monetary_members.cc
	(moneypunct<wchar_t, true>::~moneypunct(),
	moneypunct<wchar_t, false>::~moneypunct()): Likewise.
	* src/globals_locale.cc: Tweak fake_money_cache_c.
	* src/locale-inst.cc: Add instantiations for
	money_put::_M_insert<false> and money_put::_M_insert<true> and
	__moneypunct_cache<C, false>, __moneypunct_cache<C, true>.
	* src/locale_facets.cc: Define money_base::_S_atoms.
	* src/locale_init.cc: Update placement new of
	__moneypunct_cache<char, false>, __moneypunct_cache<char, true>,
	__moneypunct_cache<wchar_t, false>, __moneypunct_cache<wchar_T, true>.

	* config/locale/generic/numeric_members.cc: Clean up.
	* config/locale/gnu/numeric_members.cc: Likewise.
	* testsuite/22_locale/money_put/put/char/1.cc: Likewise.
	* testsuite/22_locale/money_put/put/char/2.cc: Likewise.
	* testsuite/22_locale/money_put/put/char/3.cc: Likewise.
	* testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.

From-SVN: r78216
2004-02-21 09:26:35 +00:00
Paolo Carlini 94b8de97c4 basic_file_stdio.cc (__gnu_internal::xwritev): Rewrite, avoiding recursion.
2004-02-18  Paolo Carlini  <pcarlini@suse.de>

	* config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
	Rewrite, avoiding recursion.
	(__gnu_internal::xwrite): Minor tweaks.

From-SVN: r78015
2004-02-18 08:36:27 +00:00
Paolo Carlini 2e9a1f6b05 PR libstdc++/13731 (final part: writev)
2004-02-12  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/13731 (final part: writev)
	* config/io/basic_file_stdio.cc (__gnu_internal::xwrite):
	New, a wrapper around writev() handling partial writes.
	(__basic_file<char>::xwrite): Move to __gnu_internal and make
	static.
	(__basic_file<char>::xsputn): Update call.
	(__basic_file<char>::xsputn_2): Likewise.
	* config/io/basic_file_stdio.h (__basic_file<char>::write):
	Don't declare, now static.

From-SVN: r77717
2004-02-12 18:24:07 +00:00
Paolo Carlini 98e9678463 PR libstdc++/13731 (first part: write)
2004-02-11  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/13731 (first part: write)
	* config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
	New, declare.
	* config/io/basic_file_stdio.cc (__basic_file<char>::xwrite):
	Define it: a wrapper around write() handling partial write.
	(__basic_file<char>::xsputn): Use it.
	(__basic_file<char>::xsputn_2): Likewise.

From-SVN: r77680
2004-02-12 00:05:35 +00:00
Loren J. Rittle d318a8ba74 re PR libstdc++/14097 ([3.4 only] Severe disparity between stdio_filebuf and stdio_sync_filebuf.)
PR libstdc++/14097
	* config/linker-map.gnu: Add typeinfo and typeinfo name for
	__gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.

From-SVN: r77636
2004-02-11 05:21:57 +00:00
Loren J. Rittle 64bd39ccc7 re PR libstdc++/14098 ([3.4 only] typeinfo issue with __gnu_cxx::stdio_sync_filebuf)
PR libstdc++/14098
	* config/linker-map.gnu: Add typeinfo and typeinfo name for
	__gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.

From-SVN: r77635
2004-02-11 05:03:13 +00:00
Richard Sandiford d232925f0b os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T): Define.
* config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
	Define.
	* config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
	it to decide whether FIONREAD should take an off_t or int argument.

From-SVN: r77336
2004-02-05 20:11:32 +00:00
Zack Weinberg 9fe7e2b747 Revert previous change to config/abi/*/baseline_symbols.txt.
From-SVN: r77305
2004-02-05 07:25:58 +00:00
Benjamin Kosnik 6a734d618f basic_file_stdio.cc (__gnu_internal::fopen_mode): New function.
2004-02-04  Benjamin Kosnik  <bkoz@redhat.com>
	    Zack Weinberg  <zack@codesourcery.com>

	* config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
	New function.
	(__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
	(__basic_file<char>::_M_open_mode): Delete.
	* config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.

	* testsuite/27_io/basic_filebuf/close/char/9964.cc
	* testsuite/27_io/basic_filebuf/open/char/9507.cc:
	Correct flags to filebuf::open calls.

	* config/abi/alpha-freebsd5/baseline_symbols.txt
	* config/abi/alpha-linux-gnu/baseline_symbols.txt
	* config/abi/hppa-linux-gnu/baseline_symbols.txt
	* config/abi/i386-freebsd4/baseline_symbols.txt
	* config/abi/i386-freebsd5/baseline_symbols.txt
	* config/abi/i486-linux-gnu/baseline_symbols.txt
	* config/abi/ia64-linux-gnu/baseline_symbols.txt
	* config/abi/mips-linux-gnu/baseline_symbols.txt
	* config/abi/sparc-freebsd5/baseline_symbols.txt
	* config/abi/sparc-linux-gnu/baseline_symbols.txt
	* config/abi/x86_64-linux-gnu/baseline_symbols.txt:
	Remove entry for __basic_file<char>::_M_open_mode.

From-SVN: r77298
2004-02-05 05:24:18 +00:00
Paolo Carlini 9924f721bf c++locale_internal.h: Remove prototypes of no longer used GLIBC thread locale functions.
2004-02-02  Paolo Carlini  <pcarlini@suse.de>

	* config/locale/gnu/c++locale_internal.h: Remove prototypes
	of no longer used GLIBC thread locale functions.

From-SVN: r77140
2004-02-02 23:45:34 +00:00
Stephen M. Webb 917a9fd4d5 c_locale.h: Change ::malloc() to new char[].
2004-01-29  Stephen M. Webb  <stephen.webb@bregmasoft.com>

	* config/local/generic/c_locale.h: Change ::malloc() to new char[].
  	* config/local/gnu/c_locale.h: Change ::malloc() to new char[].
  	* include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
	std::get_temporary_buffer() instead of duplicating its code.
	Update to C++STYLE conventions.
  	* include/std/std_memory.h (get_temporary_buffer): Use ::operator
	new() instead of std::malloc().
	(return_temporary_buffer): Use ::operator delete() instead of
	std::free().

From-SVN: r76922
2004-01-30 03:43:00 +00:00
Benjamin Kosnik ba9d552e03 Makefile.am (bits_headers): Remove allocator_traits.h.
2004-01-28  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am (bits_headers): Remove allocator_traits.h.
	* include/Makefile.in: Regenerate.
	* include/bits/allocator_traits.h: Remove.
	* include/bits/allocator.h: Remove allocator_traits.h include, and
	relevant comments.
	(allocator): Empty base class, inherit from the underlying allocator.
	* src/allocator-inst.cc: Move __pool_alloc instantiation to...
	* src/allocator.cc: ...here. New. For the underlying allocators.
	Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
	* config/linker-map.gnu: Remove __pool_alloc bits.
	* src/Makefile.am (sources): Add allocator.cc.
	* src/Makefile.in: Regenerate.
	* testsuite/20_util/allocator/1.cc: Split second test into...
	* testsuite/20_util/allocator/8230.cc: ...this.
	* include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
	typedef to use std::allocatore. Format.
	* include/ext/pool_allocator.h: Remove allocator_traits.h include,
	_Alloc_traits.
	* include/ext/mt_allocator.h (__gnu_cxx): Qualify
	__throw_bad_alloc calls. Don't include <memory>.
	* include/ext/malloc_allocator.h: Remove <memory> include.
	* include/ext/new_allocator.h (new_allocator): Same.
	* include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
	declaration. Switch __alloc to _Alloc.
	* include/ext/hashtable.h: Remove __alloc.
	* include/backward/alloc.h: Only inject allocator, not
	implementation details.

	* include/ext/mt_allocator.h: Replace free with delete.

From-SVN: r76821
2004-01-29 00:18:40 +00:00
Ulrich Weigand 6e198ee05d configure.host: Add support for *-tpf.
* configure.host: Add support for *-tpf.
	* crossconfig.m4: Likewise.
	* configure: Regenerate.
	* config/os/tpf: New directory.
	* config/os/tpf/os_defines.h: New file.
	* config/os/tpf/ctype_base.h: Likewise.
	* config/os/tpf/ctype_inline.h: Likewise.
	* config/os/tpf/ctype_noninline.h: Likewise.

Co-Authored-By: PJ Darcy <darcypj@us.ibm.com>

From-SVN: r76724
2004-01-27 15:36:22 +00:00
Paolo Carlini ba9119ec89 c_locale.cc: Fix throw messages to use the __N marker.
2004-01-26  Paolo Carlini  <pcarlini@suse.de>

	* config/locale/generic/c_locale.cc: Fix throw messages
	to use the __N marker.
	* config/locale/gnu/c_locale.cc: Likewise.
	* config/locale/ieee_1003.1-2001/codecvt_specializations.h:
	Likewise.
	* docs/html/17_intro/C++STYLE: Likewise.
	* include/bits/basic_ios.tcc: Likewise.
	* include/bits/fstream.tcc: Likewise.
	* include/bits/vector.tcc: Likewise.
	* include/ext/ropeimpl.h: Likewise.
	* include/std/std_bitset.h: Likewise.
	* src/ios.cc: Likewise.
	* src/locale.cc: Likewise.
	* src/localename.cc: Likewise.

From-SVN: r76684
2004-01-27 00:49:03 +00:00
Andreas Schwab f942e78de9 monetary_members.cc: Restore locale before rethrowing exception.
* config/locale/gnu/monetary_members.cc: Restore locale before
rethrowing exception.

From-SVN: r76595
2004-01-25 23:31:43 +00:00
Kaveh R. Ghazi 129057c1ee re PR c/13814 (rejects different prototypes than builtin function)
PR c/13814
	* config/linker-map.gnu (nan): Delete.
	* libmath/mathconf.h (NAN, nan): Delete.
	* linkage.m4 (nan): Don't check for it.
	* libmath/nan.c: Delete file.

	* config.h.in, configure: Regenerate.

From-SVN: r76431
2004-01-23 16:47:06 +00:00
Paolo Carlini 47f62b27c8 locale_facets.h (struct __numpunct_cache): Add member _M_grouping_size, caching the length of _M_grouping.
2004-01-14  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.h (struct __numpunct_cache):
	Add member _M_grouping_size, caching the length of _M_grouping.
	(__numpunct_cache<>::_M_cache): Assign the latter.
	(__verify_grouping): Move declaration...
	* include/bits/locale_facets.tcc (__verify_grouping):
	... here, change signature to take a const char* and a size_t
	for the grouping; not a template anymore.
	(__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
	Likewise change signature and tweak consistently.
	(num_get::_M_extract_float, num_get::_M_extract_int,
	num_put::_M_insert_int, num_put::_M_insert_float,
	money_get::do_get(string_type&), money_get::do_put(string_type)):
	Update callers.
	* config/locale/generic/numeric_members.cc
	(numpunct<>::_M_initialize_numpunct): Assign the new member.
	* config/locale/gnu/numeric_members.cc
	(numpunct<>::_M_initialize_numpunct): Likewise.
	* src/locale-inst.cc (__add_grouping): Tweak signature.
	(__verify_grouping): Don't instantiate, not a template anymore.

	* include/bits/locale_facets.h: Rename _M_truename_len ->
	_M_truename_size, _M_falsename_len -> _M_falsename_size.
	* include/bits/locale_facets.tcc: Likewise.
	* config/locale/generic/numeric_members.cc: Likewise.
	* config/locale/gnu/numeric_members.cc: Likewise.

From-SVN: r75876
2004-01-14 19:14:39 +00:00
Paolo Carlini dc6798f865 locale_facets.h (struct __numpunct_cache): Add members _M_truename_len and _M_falsename_len...
2004-01-12  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.h (struct __numpunct_cache):
	Add members _M_truename_len and _M_falsename_len, caching
	the lengths of _M_truename and _M_falsename.
	(__numpunct_cache<>::_M_cache): Assign the latter.
	* include/bits/locale_facets.tcc (num_get::do_get(bool&),
	num_put::do_put(bool)): Use the new members, thus avoiding
	computing string lengths again and again.
	* config/locale/generic/numeric_members.cc
	(numpunct<>::_M_initialize_numpunct): Assign the new members.
	* config/locale/gnu/numeric_members.cc
	(numpunct<>::_M_initialize_numpunct): Likewise.

From-SVN: r75735
2004-01-12 17:02:08 +00:00
Benjamin Kosnik e135a038d3 [multiple changes]
2004-01-07  Gawain Bolton  <gp.bolton@computer.org>

	* include/bits/stl_list.h:
	* include/bits/list.tc:
	* src/list.cc:
        Performance enhancements for destructor, push_front(),
        push_back(), pop_front(), pop_back(), sort()
        Eliminated static_casts where possible.
        Moved code out of header files into new src/list.cc
        implementation file for library where possible.
        Remove inheritance from iterator class and create separate
        classes for non-constant and constant iterators.
	* include/bits/stl_tree.h (_Rb_tree class):
	* src/tree.cc:
        Only erase contents in destructor.
        Eliminate unnecessary initialization in assignment operator.
        Optimize for the nominal case by not checking whether
        container is empty in clear().
        Re-order test in _M_insert() to improve performance.
        Move initialization of new node's left & right pointers to
        src/tree.cc to where new node's colour is initialized
        and to reduce the amount of inline code.
        Use  _M_leftmost() and _M_end() to improve readability where
        appropriate.
        Create separate classes for non-constant and constant
        iterators to clarify code, avoid extra template parameters and
        casting away constness.

2004-01-07  Benjamin Kosnik  <bkoz@redhat.com>

	* src/Makefile.am (sources): Add list.cc, tree.cc.
	* src/stl_tree.cc: Move to...
	* src/tree.cc: ...here.
	* src/list.cc: Add.
	* config/linker-map.gnu: Tweaks.
	* testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
	* testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.

	* bits/stl_vector.h: Column wrap comments.

From-SVN: r75515
2004-01-07 20:55:06 +00:00
Paolo Carlini 17fa55600a numeric_members.cc (_M_initialize_numpunct): Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in...
2004-01-04  Paolo Carlini  <pcarlini@suse.de>

	* config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
	Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
	always use double underscored names.
	* config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
	Likewise.
	* include/bits/locale_facets.h (struct __numpunct_cache):
	Dimension _M_atoms_out and _M_atoms_in one position smaller.
	(__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out
	and _M_atoms_in.

From-SVN: r75393
2004-01-04 18:34:27 +00:00
Andrew Pinski be88628621 atomicity.h (__exchange_and_add): Fix output constraint.
* config/cpu/i386/atomicity.h (__exchange_and_add): Fix output
        constraint.

From-SVN: r75017
2003-12-24 20:27:58 -08:00
Andrew Pinski a51c409779 re PR libstdc++/13480 (bits/atomicity.h:56: warning: read-write constraint does not allow a register)
2003-12-24  Andrew Pinski  <pinskia@physics.uc.edu>

        PR libstdc++/13480
        * config/cpu/i486/atomicity.h: Split up read-write memory operand.

From-SVN: r75016
2003-12-24 18:04:06 -08:00
Benjamin Kosnik 70a8416094 5.cc: Don't use stdc++.h.gch.
2003-12-22  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/27_io/objects/char/5.cc: Don't use stdc++.h.gch.
	* testsuite/27_io/objects/wchar_t/5.cc: Same.
	* docs/html/test.html: Add docs for constructing test files that
	don't use stdc++.h.gch.
	* scripts/testsuite_flags.in (PCHFLAGS): Move to --cxxpchflags.
	* testsuite/libstdc++-dg/normal.exp: Compute DEFAULT_CXXFLAGS
	differently.

	* include/bits/ios_base.h (ios_base::Init::_S_initialized): Remove.
	* src/ios_init.cc: Same.
	* config/linker-map.gnu: Same.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Adjust line numbers.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Same.

From-SVN: r74946
2003-12-22 20:09:23 +00:00
Jason Merrill 778e99e55f fix thinko
From-SVN: r74889
2003-12-20 12:44:11 -05:00
Jason Merrill 46eb4b3989 atomicity.h: Remove memory clobbers.
* config/cpu/cris/atomicity.h: Remove memory clobbers.
        * config/cpu/mips/atomicity.h: Likewise.
        * config/cpu/i486/atomicity.h: Remove memory clobbers.
        Split up read-write memory operand.
        * config/cpu/m68k/atomicity.h: Likewise.
        * config/cpu/powerpc/atomicity.h: Make memory I/O explicit.
        * config/cpu/s390/atomicity.h: Likewise.
        * config/cpu/sparc/atomicity.h: Likewise.

From-SVN: r74870
2003-12-19 22:08:42 -05:00
Paolo Carlini 1b4513069a locale_facets.tcc (num_get::_M_extract_float): When __found_sci becomes true stop eating thousands separators and the decimal...
2003-12-19  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_get::_M_extract_float):
	When __found_sci becomes true stop eating thousands separators
	and the decimal radix separator.
	* testsuite/22_locale/num_get/get/char/9.cc: New.
	* testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.

	* config/locale/generic/c_locale.cc (__convert_to_v): Don't
	check that *__sanity == '\0': parsing may stop earlier, still
	be successful.
	* config/locale/gnu/c_locale.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/10.cc: New.
	* testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
	Tweak in one place accordingly.

	* testsuite/22_locale/money_get/get/char/1.cc: Fix typo.
	* testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.

From-SVN: r74826
2003-12-19 09:35:24 +00:00
Paolo Carlini 9a1349b920 re PR libstdc++/11723 (ctype<wchar_t>::do_is(mask, wchar_t) is slow)
2003-12-16  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/11723
	* include/bits/locale_facets.h: Add _M_bit and _M_wmask,
	used to speed up the computation of ctype::do_is.
	* config/locale/generic/ctype_members.cc
	(_M_initialize_ctype): Fill _M_bit and _M_wmask.
	(ctype::do_is): Use _M_bit and _M_wmask.
	* config/locale/gnu/ctype_members.cc: Likewise.
	* testsuite/performance/is_wchar_t.cc: New.

	* testsuite/performance/narrow_widen_wchar_t.cc: Tweak
	string literal (incorrect citation ;)

	* include/bits/locale_facets.h: Minor tweaks, const
	correctness, unsigned -> size_t.

From-SVN: r74686
2003-12-16 11:00:52 +00:00
Jerry Quinn 3fc63c15b4 ctype_noninline.h, [...] (ctype): Initialize _M_narrow, _M_widen.
2003-12-15  Jerry Quinn  <jlquinn@optonline.net>

        * config/os/aix/ctype_noninline.h,
	config/os/bsd/freebsd/ctype_noninline.h,
	config/os/bsd/netbsd/ctype_noninline.h,
	config/os/djgpp/ctype_noninline.h,
	config/os/generic/ctype_noninline.h,
	config/os/gnu-linux/ctype_noninline.h,
	config/os/hpux/ctype_noninline.h,
	config/os/irix/irix5.2/ctype_noninline.h,
	config/os/irix/irix6.5/ctype_noninline.h,
	config/os/mingw32/ctype_noninline.h,
	config/os/newlib/ctype_noninline.h,
	config/os/qnx/qnx6.1/ctype_noninline.h,
	config/os/solaris/solaris2.5/ctype_noninline.h,
	config/os/solaris/solaris2.6/ctype_noninline.h,
	config/os/solaris/solaris2.7/ctype_noninline.h,
	config/os/vxworks/ctype_noninline.h,
	config/os/windiss/ctype_noninline.h (ctype):  Initialize
	_M_narrow, _M_widen.
	* include/bits/locale_facets.h (_M_widen, _M_widen_ok,
	_M_narrow, _M_narrow_ok): New.
	(widen, narrow): Use tables to bypass virtual functions.
	(_M_widen_init, _M_narrow_init): New.

From-SVN: r74662
2003-12-16 01:57:03 +00:00
Paolo Carlini ca13fb7f5d locale_facets.tcc (num_get::do_get(bool&)): Fail as soon as the begins of both truename and falsename stop to match...
2003-12-15  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_get::do_get(bool&)):
	Fail as soon as the begins of both truename and falsename
	stop to match; always leave __beg one position beyond the
	last char successfully matched.
	* testsuite/22_locale/num_get/get/char/8.cc: New.
	* testsuite/22_locale/num_get/get/wchar_t/8.cc: Likewise.

2003-12-15  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.h (_M_widen): Reserve space
	for all the possible widened chars.
	* config/locale/generic/ctype_members.cc (_M_initialize_ctype):
	Compute at construction time all the possible widened chars.
	(do_widen): Tweak, simplify.
	* config/locale/gnu/ctype_members.cc: Likewise.
	* testsuite/performance/narrow_widen_wchar_t.cc: Add tests
	for the array versions.

From-SVN: r74636
2003-12-15 16:56:42 +00:00
Paolo Carlini e3c0c0989b re PR libstdc++/13341 (ctype<wchar_t>::do_narrow(wchar_t, char) is slow)
2003-12-12  Paolo Carlini  <pcarlini@suse.de>
	    Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/13341
	* include/bits/locale_facets.h (ctype<wchar_t>): Declare
	_M_initialize_ctype() and _M_narrow_ok, _M_narrow and _M_widen.
	* src/ctype.cc (ctype<wchar_t>::ctype(size_t),
	ctype<wchar_t>::ctype(__c_locale, size_t)): Use
	_M_initialize_ctype to fill _M_narrow and _M_widen.
	(ctype_byname<wchar_t>::ctype_byname(const char*, size_t)):
	Likewise.
	* config/locale/generic/ctype_members.cc (do_narrow, do_widen)
	Use _M_narrow and _M_widen when possible, instead of calling
	wctob and btowc, respectively.
	(_M_initialize_ctype): Define, it fills at construction time
	_M_narrow and _M_widen.
	* config/locale/gnu/ctype_members.cc: Likewise.
	* testsuite/performance/narrow_widen_wchar_t.cc: New.

Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>

From-SVN: r74580
2003-12-12 19:44:17 +00:00
Benjamin Kosnik 35d6801ebe re PR libstdc++/10063 (stdio_filebuf broken)
2003-12-10  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/10063
	* config/io/basic_file_stdio.cc (__basic_file::sys_open): Sync.
	* testsuite/ext/stdio_filebuf/char/10063-1.cc: New.
	* testsuite/ext/stdio_filebuf/char/10063-2.cc: New.

From-SVN: r74505
2003-12-10 17:37:25 +00:00
Benjamin Kosnik 5ec3f5662c linker-map.gnu: Remove private ios_base members from export list.
2003-12-09  Benjamin Kosnik  <bkoz@redhat.com>

        * config/linker-map.gnu: Remove private ios_base members from
        export list.

        * config/cpu/alpha/atomicity.h: Consistently format.
        * config/cpu/cris/atomicity.h: Same.
        * config/cpu/generic/atomicity.h: Same.
        * config/cpu/hppa/atomicity.h: Same.
        * config/cpu/i386/atomicity.h: Same.
        * config/cpu/i486/atomicity.h: Same.
        * config/cpu/ia64/atomicity.h: Same.
        * config/cpu/m68k/atomicity.h: Same.
        * config/cpu/mips/atomicity.h: Same.
        * config/cpu/powerpc/atomicity.h: Same.
        * config/cpu/s390/atomicity.h: Same.
        * config/cpu/sparc/atomicity.h: Same.

From-SVN: r74486
2003-12-10 04:52:37 +00:00
Paolo Carlini 0fa96a6006 c_locale.cc (__convert_to_v(long&), [...]): Remove.
2003-12-08  Paolo Carlini  <pcarlini@suse.de>

	* config/locale/generic/c_locale.cc (__convert_to_v(long&),
	__convert_to_v(unsigned long&), __convert_to_v(long long&),
	__convert_to_v(unsigned long long&): Remove.
	(__convert_to_v(float&), __convert_to_v(double&),
	__convert_to_v(long double&)): Remove last unused parameter.
	* config/locale/gnu/c_locale.cc: Likewise.
	* include/bits/locale_facets.h: Likewise.
	(num_get::_M_extract_int): Update declaration.
	(class __num_base): Tweak _S_ie and _S_iE according to the
	_S_atoms_in changes.
	* include/bits/locale_facets.tcc (num_get::_M_extract_int):
	Provide directly the final _ValueT, not a string: accumulate
	the result checking for overflow at each digit.
	(num_get::do_get(bool&), num_get::do_get(long&),
	num_get::do_get(unsigned short&), num_get::do_get(unsigned int&),
	num_get::do_get(unsigned long&), num_get::do_get(long long&),
	num_get::do_get(unsigned long long&), num_get::do_get(void*&)):
	Use the new _M_extract_int, simplify.
	* src/locale-inst.cc (num_get::_M_extract_int(long&),
	num_get::_M_extract_int(unsigned short&),
	num_get::_M_extract_int(unsigned int&),
	num_get::_M_extract_int(unsigned long&),
	num_get::_M_extract_int(long long&),
	num_get::_M_extract_int(unsigned long long&): Instantiate.
	* src/locale_facets.cc (__num_base::_S_atoms_in): Reorder
        the chars in the natural order: abcdefABCDEF.

From-SVN: r74423
2003-12-08 15:37:03 +00:00
David S. Miller 09755a8512 re PR libstdc++/12496 (wrong result for __atomic_add(&value, -1) when using -O0 -m64)
2003-12-08  David S. Miller  <davem@redhat.com>

	PR libstdc++/12496
	* config/cpu/sparc/atomicity.h (__exchange_and_add, __atomic_add):
	Extend increment to _Atomic_word before giving to assembler.

From-SVN: r74409
2003-12-08 02:01:01 -08:00
Benjamin Kosnik e80213d249 re PR libstdc++/11691 (stdio_filebuf leaks FILE buffer when "no close" is requested)
2003-12-06  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/11691
	* include/ext/stdio_filebuf.h (stdio_filebuf::stdio_filebuf):
	Remove __del argument to file descriptor constructor.
	* config/io/basic_file_stdio.h (__basic_file::sys_open): Remove
	bool argument.
	* config/io/basic_file_stdio.cc: Same.

From-SVN: r74379
2003-12-07 03:46:14 +00:00
Paolo Carlini 142b798be5 2003-12-02 Paolo Carlini <pcarlini@suse.de>
* config/locale/gnu/monetary_members.cc
	(money_base::_S_construct_pattern): For case 3: and 4:
	exchanging 'if (__precedes)' and 'if (__space)' allows
	to factor out a few more assignments.

From-SVN: r74168
2003-12-02 09:16:30 +00:00
Paolo Carlini 1644f06da7 codecvt_members.cc (codecvt::do_in, [...]): More minor tweaks.
2003-11-30  Paolo Carlini  <pcarlini@suse.de>

	* config/locale/gnu/codecvt_members.cc (codecvt::do_in,
	codecvt::do_length): More minor tweaks.

From-SVN: r74069
2003-11-30 19:10:50 +00:00
Paolo Carlini 11816ba280 codecvt_members.cc (codecvt::do_in): Minor stylistic tweak.
2003-11-30  Paolo Carlini  <pcarlini@suse.de>

	* config/locale/gnu/codecvt_members.cc (codecvt::do_in):
	Minor stylistic tweak.

From-SVN: r74060
2003-11-30 15:18:27 +00:00
Paolo Carlini 5af91f0690 codecvt_members.cc (codecvt::do_length): Rewrite, using both mbsnrtowcs and mbrtowc in a loop...
2003-11-25  Paolo Carlini  <pcarlini@suse.de>

	* config/locale/gnu/codecvt_members.cc (codecvt::do_length):
	Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the
	former is very fast, but stops if encounters a NUL.
	(codecvt::do_out): Tweaks.
	(codecvt::do_in): Tweaks, improve the code dealing with errors.
	* testsuite/performance/wchar_t_length.cc: New.

From-SVN: r73934
2003-11-25 21:41:28 +00:00
Paolo Carlini 3c8797ae81 codecvt_members.cc (codecvt::do_in): Rewrite, using both mbsnrtowcs and mbrtowc in a loop...
2003-11-24  Paolo Carlini  <pcarlini@suse.de>

	* config/locale/gnu/codecvt_members.cc (codecvt::do_in):
	Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the
	former is very fast, but stops if encounters a NUL.
	(codecvt::do_out): Tweak.
	* testsuite/performance/wchar_t_in.cc: New.

2003-11-24  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.h
	(__numpunct_cache<>::_M_cache): Set _M_allocated at the beginning
	in order to avoid memory leaks; simplify a bit.

From-SVN: r73893
2003-11-24 21:13:38 +00:00
Paolo Carlini cc0c2f7986 2003-11-22 Paolo Carlini <pcarlini@suse.de>
* config/locale/gnu/monetary_members.cc
	(money_base::_S_construct_pattern): Factor out two assignments.

From-SVN: r73844
2003-11-22 18:47:13 +00:00
Paolo Carlini f7ba331c2a 2003-11-21 Paolo Carlini <pcarlini@suse.de>
* config/locale/gnu/monetary_members.cc
	(money_base::_S_construct_pattern): Factor out an assignment.

From-SVN: r73816
2003-11-21 20:55:49 +00:00
Paolo Carlini 0fd1870171 re PR libstdc++/11602 (codecvt<wchar_t, char, mbstate_t> is slow.)
2003-11-20  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/11602
	* config/locale/gnu/codecvt_members.cc (codecvt::do_out):
	Rewrite, using both wcsnrtombs and wcrtomb in a loop: the
	former is very fast, but stops if encounters a NUL.
	* testsuite/performance/wchar_t_out.cc: New, from the PR.

From-SVN: r73769
2003-11-20 19:24:03 +00:00
Paolo Carlini 1f33554abb codecvt_members.cc (do_out): If we can upper bound the total number of external chars to something smaller...
2003-11-19  Paolo Carlini  <pcarlini@suse.de>

	* config/locale/gnu/codecvt_members.cc (do_out): If
	we can upper bound the total number of external chars
	to something smaller than __to_end - __to, avoid the
	temporary buffer, the memcopy and simplify the loop.
	* config/locale/generic/codecvt_members.cc (do_out):
	Likewise.

From-SVN: r73733
2003-11-19 11:38:40 +00:00
Benjamin Kosnik 285b36d6a5 [multiple changes]
2003-11-11  Doug Gregor  <gregod@cs.rpi.edu>

	* docs/html/debug.html: Document libstdc++ debug mode.
	* docs/html/debug_mode.html: Document libstdc++ debug mode design.
	* docs/html/test.html: Document how to test under debug mode.
	* docs/html/17_intro/howto.html: Document debug-mode macros.
	* include/Makefile.am: Install debug-mode headers.
	* src/Makefile.am: Include debug.cc.
	* include/bits/basic_string.tcc:
	  (basic_string::_S_construct): Fix NULL pointer check.
	  (__is_null_pointer): New.
	  Add precondition annotations.
	* include/bits/stream_iterator.h (istream_iterator,
	ostream_iterator): Added precondition annotations.
	* include/bits/streambuf_iterator.h (istreambuf_iterator): Ditto.
	* include/bits/stl_queue.h (queue, priority_queue): Ditto.
	* include/bits/stl_stack.h (stack): Ditto.
	* include/bits/basic_string.h (basic_string): Ditto.
	* include/bits/basic_string.tcc (basic_string): Ditto.
	* include/std/std_memory.h (auto_ptr): Ditto.
	* include/std/std_valarray.h (valarray): Ditto.
	* include/bits/stl_algo.h: Added algorithm precondition
	annotations.
	* include/bits/stl_algobase.h: Added algorithm precondition
	annotations.
	* include/bits/stl_numeric.h: Ditto.
	* include/ext/algorithm: Added algorithm precondition
	annotations.
	(__is_heap): Moved away from here.
	* include/bits/stl_heap.h: Added algorithm precondition
	annotations.
	(__is_heap): Moved to the top of this file.
	(__is_heap): Added iterator range overloads.
	* testsuite/20_util/auto_ptr_neg.cc: Fix line numbers to match up
	with changes in std_memory.h.
	* testsuite/23_containers/list/operators/4.cc: Don't verify
	performance guarantees when in debug mode.
	* testsuite/23_containers/bitset/invalidation/1.cc: New.
	* testsuite/23_containers/deque/invalidation/1.cc: New.
	* testsuite/23_containers/deque/invalidation/2.cc: New.
	* testsuite/23_containers/deque/invalidation/3.cc: New.
	* testsuite/23_containers/deque/invalidation/4.cc: New.
	* testsuite/23_containers/list/invalidation/1.cc: New.
	* testsuite/23_containers/list/invalidation/2.cc: New.
	* testsuite/23_containers/list/invalidation/3.cc: New.
	* testsuite/23_containers/list/invalidation/4.cc: New.
	* testsuite/23_containers/map/invalidation/1.cc: New.
	* testsuite/23_containers/map/invalidation/2.cc: New.
	* testsuite/23_containers/multimap/invalidation/1.cc: New.
	* testsuite/23_containers/multimap/invalidation/2.cc: New.
	* testsuite/23_containers/multiset/invalidation/1.cc: New.
	* testsuite/23_containers/multiset/invalidation/2.cc: New.
	* testsuite/23_containers/set/invalidation/1.cc: New.
	* testsuite/23_containers/set/invalidation/2.cc: New.
	* testsuite/23_containers/vector/invalidation/1.cc: New.
	* testsuite/23_containers/vector/invalidation/2.cc: New.
	* testsuite/23_containers/vector/invalidation/3.cc: New.
	* testsuite/23_containers/vector/invalidation/4.cc: New.
	* testsuite/25_algorithms/heap.cc: Don't verify
	performance guarantees when in debug mode.
	* include/debug/bitset: New.
	* include/debug/debug.h: New.
	* include/debug/deque: New.
	* include/debug/formatter.h: New.
	* include/debug/hash_map: New.
	* include/debug/hash_map.h: New.
	* include/debug/hash_multimap.h: New.
	* include/debug/hash_set: New.
	* include/debug/hash_set.h: New.
	* include/debug/hash_multiset.h: New.
	* include/debug/list: New.
	* include/debug/map: New.
	* include/debug/map.h: New.
	* include/debug/multimap.h: New.
	* include/debug/multiset.h: New.
	* include/debug/safe_base.h: New.
	* include/debug/safe_iterator.h: New.
	* include/debug/safe_iterator.tcc: New.
	* include/debug/safe_sequence.h: New.
	* include/debug/set: New.
	* include/debug/set.h: New.
	* include/debug/string: New.
	* include/debug/vector: New.
	* src/debug.cc: New.
	* config/linker-map.gnu: Add debug mode symbols.

2003-11-11  Benjamin Kosnik  <bkoz@redhat.com>

	* src/string-inst.cc: Tweak namespaces.
	* src/misc-inst.cc: Same.
	* docs/html/debug.html: Edits.
	* config/link-map.gnu: Remove cruft.

	* include/bits/c++config: Add in namespace associations.
	* include/std/std_bitset.h: Adjust namespace to __gnu_norm,
	comment tweaks.
	* include/bits/deque.tcc: Same.
	* include/bits/list.tcc: Same.
	* include/bits/stl_bvector.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/stl_list.h: Same.
	* include/bits/stl_map.h: Same.
	* include/bits/stl_multimap.h: Same.
	* include/bits/stl_multiset.h: Same.
	* include/bits/stl_set.h: Same.
	* include/bits/stl_vector.h: Same.
	* include/bits/vector.tcc: Same.

	* include/std/std_algorithm.h: Remove markup comments.
	* include/std/std_functional.h: Same.
	* include/std/std_iterator.h: Same.
	* include/std/std_numeric.h: Same.
	* include/std/std_utility.h: Same.
	* include/bits/stl_queue.h: Formatting tweaks.
	* include/bits/stl_stack.h: Same.
	* include/std/std_deque.h: Include debugging version in debug mode.
	* include/std/std_list.h: Same.
	* include/std/std_map.h: Same.
	* include/std/std_set.h: Same.
	* include/std/std_vector.h: Same.
	* include/std/std_queue.h: Use deque, vector.
	* include/std/std_stack.h: Same.

From-SVN: r73459
2003-11-11 20:09:16 +00:00
Paolo Carlini 4f36323260 c_locale.cc: Add back <cmath> and <cstdlib>.
2003-10-29  Paolo Carlini  <pcarlini@suse.de>

	* config/locale/generic/c_locale.cc: Add back <cmath>
	and <cstdlib>.

	* include/bits/locale_facets.tcc
	(num_get::_M_extract_float): Clean up.

From-SVN: r73036
2003-10-29 13:34:04 +00:00
Paolo Carlini c9cca2c22c locale_facets.tcc: Remove some unnecessary includes.
2003-10-29  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc: Remove some unnecessary
	includes.
	* config/locale/generic/c_locale.cc: Include <cerrno> here.
	* config/locale/gnu/c_locale.cc: Likewise.

From-SVN: r73030
2003-10-29 10:08:05 +00:00
Phil Edwards 861f9573d0 ctype_noninline.h: Adjust ctor to match 2003-10-21 change.
2003-10-23  Phil Edwards  <phil@codesourcery.com>

	* config/os/vxworks/ctype_noninline.h:  Adjust ctor to match
	2003-10-21 change.

From-SVN: r72835
2003-10-23 05:33:49 +00:00
Benjamin Kosnik bf5fe4734c locale_facets.h: Correct byname facets for "C" locale.
2003-10-22  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.h: Correct byname facets for "C"
	locale.
	* config/locale/generic/ctype_members.cc: Same.
	* config/locale/generic/messages_members.h: Same.
	* config/locale/gnu/ctype_members.cc: Same.
	* config/locale/gnu/messages_members.h: Same.
	* include/bits/codecvt.h: Same.
	* src/ctype.cc: Same.
	* testsuite/22_locale/codecvt_byname/1.cc: New.
	* testsuite/22_locale/collate/1.cc: Edit.
	* testsuite/22_locale/collate_byname/1.cc: Derivation tests, move to...
	* testsuite/22_locale/collate_byname/named_equivalence.cc: ...here.
	* testsuite/22_locale/ctype/1.cc: Derivation tests.
	* testsuite/22_locale/ctype/11844.cc: Move...
	* testsuite/22_locale/ctype_base/11844.cc: ...here.
	* testsuite/22_locale/ctype_base/1.cc: Move mask bits here.
	* testsuite/22_locale/ctype_byname/1.cc: Name.
	* testsuite/22_locale/messages_byname/1.cc: New.
	* testsuite/22_locale/messages_byname/named_equivalence.cc: New.
	* testsuite/22_locale/moneypunct_byname/1.cc: Derivation test.
	* testsuite/22_locale/moneypunct_byname/named_equivalence.cc: New.
	* testsuite/22_locale/numpunct/1.cc: Edit.
	* testsuite/22_locale/numpunct_byname/2.cc: Move...
	* testsuite/22_locale/numpunct/members/char/3.cc: ...here.
	* testsuite/22_locale/numpunct_byname/1.cc: Derivation tests.
	* testsuite/22_locale/numpunct_byname/named_equivalence.cc: New.

From-SVN: r72814
2003-10-22 18:58:35 +00:00
Paolo Carlini 3d05b34592 re PR libstdc++/8610 (large file support in libstdc++-v3 (std::streamoff type is 32-bit in GCC 3.2 whereas it was 64-bit in GCC 2.96))
2003-10-22  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/8610
	* acinclude.m4 (GLIBCXX_CHECK_INT64_T): New macro,
	checking for the availability of int64_t.
	(GLIBCXX_CHECK_LFS): New macro, checking for LFS support.
	* configure.ac: Call here.
	* acconfig.h: Add undef for the corresponding symbols.
	* config/io/basic_file_stdio.cc	(__basic_file<char>::open):
	Depending on _GLIBCXX_USE_LFS, call fopen64 or fopen.
	(__basic_file<char>::seekoff): Likewise, call lseek64 when
	available, otherwise lseek, checking the __off parameter.
	* include/bits/postypes.h: Typedef __streamoff_base_type
	to int64_t if available, otherwise long long.
	* aclocal.m4: Regenerate.
	* config.h.in: Likewise.
	* configure: Likewise.

	* acinclude.m4 (GLIBCXX_CHECK_POLL, GLIBCXX_CHECK_WRITEV):
	Use AC_TRY_LINK instead of AC_TRY_COMPILE.

From-SVN: r72806
2003-10-22 15:51:55 +00:00
Benjamin Kosnik 82c2e3d44a re PR libstdc++/9858 (Extra virtual functions in ctype<char>)
2003-10-21  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/9858
	* include/bits/locale_facets.h (ctype<char>): Remove
	__ctype_abstract_base.
	(ctype<char>::do_is): Remove.
	(ctype<char>::do_scan_is): Remove.
	* src/ctype.cc: Same. Inline the rest.
	* testsuite/22_locale/ctype/is/char/9858.cc: New.
	* config/os/aix/ctype_noninline.h: Adjust ctor.
	* config/os/bsd/freebsd/ctype_noninline.h: Same.
	* config/os/bsd/netbsd/ctype_noninline.h: Same.
	* config/os/djgpp/ctype_noninline.h: Same.
	* config/os/generic/ctype_noninline.h: Same.
	* config/os/gnu-linux/ctype_noninline.h: Same.
	* config/os/hpux/ctype_noninline.h: Same.
	* config/os/irix/irix5.2/ctype_noninline.h: Same.
	* config/os/irix/irix6.5/ctype_noninline.h: Same.
	* config/os/mingw32/ctype_noninline.h: Same.
	* config/os/newlib/ctype_noninline.h: Same.
	* config/os/qnx/qnx6.1/ctype_noninline.h: Same.
	* config/os/solaris/solaris2.5/ctype_noninline.h: Same.
	* config/os/solaris/solaris2.6/ctype_noninline.h: Same.
	* config/os/solaris/solaris2.7/ctype_noninline.h: Same.
	* config/os/windiss/ctype_noninline.h: Same.

From-SVN: r72753
2003-10-21 14:22:43 +00:00
Rainer Orth 27d54b2a6c ffi.c: Use _ABIN32, _ABIO32 instead of external _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
libffi:
	* src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
	_MIPS_SIM_NABI32, _MIPS_SIM_ABI32.

	libstdc++-v3:
	* config/cpu/mips/atomicity.h (__atomic_add): Use _ABIO32 instead
	of external _MIPS_SIM_ABI32.

	boehm-gc:
	* mips_sgi_mach_dep.s: Use _ABIO32 instead of external
	_MIPS_SIM_ABI32.

	gcc:
	* config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Define _ABIO32.
	Use it in _MIPS_SIM definition.
	* config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Likewise.

From-SVN: r72713
2003-10-20 18:37:22 +00:00
Phil Edwards 65fc9769d5 configure.ac: Fix comment typo.
2003-10-20  Phil Edwards  <phil@codesourcery.com>

	* configure.ac:  Fix comment typo.
	* configure.host:  Add vxworks to host_os switch.
	* crossconfig.m4:  Remove old commented os_include_dir variables
	left over from autotools transition.
	(*-vxworks):  New stanza.
	(*-windiss):  Add missing symbols.
	* configure:  Regenerate.
	* config/os/vxworks/ctype_base.h, config/os/vxworks/ctype_inline.h,
	config/os/vxworks/ctype_noninline.h, config/os/vxworks/os_defines.h:
	New files.
	* config/os/windiss/os_defines.h:  Define __C9X__.

From-SVN: r72710
2003-10-20 18:27:17 +00:00
Benjamin Kosnik 4c4809c175 [multiple changes]
2003-10-16  Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/8610
	PR libstdc++/11450
	PR libstdc++/11543
	PR libstdc++/12065
	* config/io/basic_file_stdio.cc (__basic_file::seekoff):
	Change return value from streampos to streamoff.
	(__basic_file::seekpos): Delete.
	* config/io/basic_file_stdio.h: Same.
	* config/io/c_io_stdio.h: Remove streamoff and wstreamsize typedefs.
	* include/Makefile.am (bits_headers): Add bits/postypes.h.
	* include/bits/char_traits.h: Include bits/postypes.h instead of
	bits/fpos.h.
	* include/bits/fstream.tcc (basic_filebuf::open,
	basic_filebuf::pbackfail): Don't use < or >= to compare pos_type
	values, use == and != instead.
	(basic_filebuf::_M_seek): Use explicit conversion from streamoff
	to pos_type.
	(basic_filebuf::imbue):  Don't use ! on pos_type values, use
	== instead. Don't use __check_facet(_M_codecvt) unless is_open().
	* include/bits/postypes.h: New file.
	Add __streamoff_base_type typedef, streamsize.
	(streamoff, streampos, wstreampos): Define typedefs, with
	streamoff defined as...
	(streamoff): New class. Document implementation defined
	aspects.
	(fpos): New implementation. Document implementation defined
	aspects.
	* include/bits/sstream.tcc (basic_stringbuf::seekpos): Use
	explicit conversion from pos_type to off_type.
	* include/std/std_iosfwd.h: Include bits/postypes.h instead
	of bits/fpos.h.
	* testsuite/27_io/basic_filebuf/seekoff/char/11543.cc: New test.
	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc: New test.
	* testsuite/27_io/fpos/11450.cc: New test.
	* testsuite/27_io/fpos/mbstate_t/12065.cc: New test.
	* testsuite/27_io/fpos/mbstate_t/4_neg.cc: New test.
	* testsuite/27_io/types/3.cc: New test.

2003-10-16  Benjamin Kosnik  <bkoz@redhat.com>

        * configure.host: Remove fpos_include_dir.
        * configure.ac: Remove FPOS_INC_SRCDIR.
        * configure: Regenerate.
        * acinclude.m4 (GLIBCXX_ENABLE_CSTDIO): Remove FPOS_H.
        * aclocal.m4: Regenerate.
        * include/Makefile.am (host_headers): Remove fpos.h.
        (bits_headers): Add postypes.h.
        * include/Makefile.in: Regenerate.
        * config/os/gnu-linux/fposh: Remove.
        * config/os/generic/fpos.h: Remove.

        * testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Fixup.
        * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Same.
        * testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Same.
        * testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Same.
        * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Same.
        * testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Same.
        * testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Same.
        * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Same.
        * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Same.
        * testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Same.
        * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Same.
        * testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Same.
        * testsuite/27_io/basic_istream/seekg/char/2.cc: Same.
        * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Same.
        * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Same.
        * testsuite/27_io/fpos/mbstate_t/3.cc: Same.
        * testsuite/27_io/objects/char/10.cc: Same.

From-SVN: r72582
2003-10-16 22:37:53 +00:00
Bernardo Innocenti 068c84e3b5 atomicity.h (__exchange_and_add): Use TAS on __mcf5400__.
* config/cpu/m68k/atomicity.h (__exchange_and_add): Use TAS on
	__mcf5400__. Don't rely on __mc68000__ to detect a bare 68000.
	Document SMP safeness of asm macros.

From-SVN: r72570
2003-10-16 21:47:45 +02:00
Paolo Carlini f991b1d853 re PR libstdc++/12540 (Memory leak in locale::locale(const char*))
2003-10-16  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/12540
	* config/locale/gnu/monetary_members.cc
	(moneypunct<wchar_t, true/false>::_M_initialize_moneypunct):
	Don't leak memory if new throws.
	* src/locale.cc (locale::locale(const char*)): In order not
	to leak memory in case new throws, use a basic_string type
	for __res too and avoid strdup.

From-SVN: r72553
2003-10-16 17:24:07 +00:00
Paolo Carlini f5677b1560 codecvt_specializations.h: Change #ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS to a comment.
2003-10-12  Paolo Carlini  <pcarlini@unitus.it>

	* config/locale/ieee_1003.1-2001/codecvt_specializations.h:
	Change #ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS to a comment.
	* include/bits/basic_string.tcc: Likewise.
	* include/bits/ios_base.h: Likewise.
	* include/bits/istream.tcc: Likewise.
	* include/bits/locale_facets.tcc: Likewise.
	* include/bits/ostream.tcc: Likewise.
	* include/bits/stl_function.h: Likewise.
	* include/bits/stl_multiset.h: Likewise.
	* include/bits/stl_pair.h: Likewise.
	* include/bits/stl_set.h: Likewise.
	* include/bits/streambuf_iterator.h
	* include/std/std_iosfwd.h: Likewise.
	* include/std/std_istream.h: Likewise.
	* include/std/std_sstream.h: Likewise.
	* include/std/std_streambuf.h: Likewise.
	* src/ios.cc: Likewise.
	* include/bits/c++config:
	Comment out #define _GLIBCXX_RESOLVE_LIB_DEFECTS 1.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Tweak a
	dg-error directive due to removal of a blank line.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.

From-SVN: r72392
2003-10-12 10:12:09 +00:00
Andreas Tobler c411fdaebf PR libstdc++/11844/11740 (cont)
2003-10-12  Andreas Tobler  <a.tobler@schweiz.ch>
	    Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/11844/11740 (cont)
	* config/os/generic/ctype_inline.h (ctype<char>::is):
	Generically, use a bitmasksize of 15 (instead of 10);
	Fix the logic to actually return (M & m) != 0 as per
	22.2.1.1.2.

Co-Authored-By: Paolo Carlini <pcarlini@unitus.it>

From-SVN: r72389
2003-10-12 07:34:30 +00:00
Benjamin Kosnik 5aaa21080b linker-map.gnu: Make more *_type_info bits visible.
2003-10-09  Benjamin Kosnik  <bkoz@redhat.com>

	* config/linker-map.gnu: Make more *_type_info bits visible.
	Move new/delete bits back into GLIBCXX space.

	* include/bits/locale_classes.h: Move _M_id out of line, so that
	locale:🆔:_S_highwater can be removed from the export list.
	* src/locale.cc (locale:🆔:_M_id): Define.

From-SVN: r72287
2003-10-09 21:17:11 +00:00
Paolo Carlini 2f800bccec re PR libstdc++/11844 (Incorrect values of ctype_base::alnum and ctype_base::graph)
2003-10-09  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/11844
	* config/os/aix/ctype_base.h: Fix 'alnum' and 'graph'
	to conform to the requirements of 22.2.1.
	* config/os/bsd/freebsd/ctype_base.h: Likewise.
	* config/os/djgpp/ctype_base.h: Likewise.
	* config/os/generic/ctype_base.h: Likewise.
	* config/os/gnu-linux/ctype_base.h: Likewise.
	* config/os/hpux/ctype_base.h: Likewise.
	* config/os/irix/irix6.5/ctype_base.h: Likewise.
	* config/os/solaris/solaris2.6/ctype_base.h: Likewise.
	* config/os/solaris/solaris2.7/ctype_base.h: Likewise.
	* testsuite/22_locale/ctype/11844.cc: New.

	* config/locale/generic/ctype_members.cc (do_is):
	Generically, use a bitmasksize of 15 (instead of 10), since
	we don't know the numerical encoding of the various categories
	in the underlying /usr/include/ctype.h.

From-SVN: r72281
2003-10-09 19:10:56 +00:00
Paolo Carlini ba9b12d1d2 re PR libstdc++/11740 (ctype<wchar_t>::do_is(mask, wchar_t) doesn't handle multiple bits in mask.)
2003-10-06  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/11740
	* config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_is):
	Fix to actually return (M & m) != 0 as per 22.2.1.1.2.
	* config/locale/generic/ctype_members.cc: Same.
	* testsuite/22_locale/ctype/is/wchar_t/11740.cc: New.

From-SVN: r72167
2003-10-06 22:32:59 +00:00
Benjamin Kosnik bb1b12ec0a locale_classes.h (locale::facet::_S_get_c_name): Add.
2003-10-02  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_classes.h (locale::facet::_S_get_c_name): Add.
	* src/locale.cc: Define.
	* src/localename.cc: Use it.
	* config/locale/generic/time_members.h: Same.
	* config/locale/gnu/messages_members.h: Same.
	* config/locale/gnu/time_members.h: Same.

From-SVN: r72050
2003-10-02 23:06:13 +00:00
Paolo Carlini 8dcaff2850 re PR libstdc++/12232 (Incorrect handling of openmode argument in filebuf::seekoff and seekpos)
2003-10-02  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/12232
	* include/bits/fstream.tcc (seekoff): Ignore the openmode
	argument; simplify.
	* config/io/basic_file_stdio.h (__basic_file<char>::seekoff,
	seekpos): Remove the openmode argument.
	* config/io/basic_file_stdio.cc (__basic_file<char>::seekoff,
	seekpos): Remove redundant placeholder for the openmode argument.
	* testsuite/27_io/basic_filebuf/seekoff/char/12232.cc: New.
	* testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Tweak.
	* testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc: Likewise.

From-SVN: r72048
2003-10-02 20:37:06 +00:00
Benjamin Kosnik 8ae8113683 [multiple changes]
2003-10-02  Benjamin Kosnik  <bkoz@redhat.com>

	* config/linker-map.gnu: Export _S_get_c_locale instead of
	_S_c_locale object.

2003-10-02  Petur Runolfsson  <peturr02@ru.is>

	* config/locale/generic/c_locale.cc
	(category_names, locale::_S_categories): Const qualify.
	* config/locale/gnu/c_locale.cc: Same.
	* config/locale/generic/time_members.h (__timepunct::__timepunct):
	Copy string contents before assigning to _M_name_timepunct,
	qualify strcpy and strlen with std::.
	* config/locale/gnu/time_members.h: Same.
	* config/locale/gnu/messages_members.h (messages::messages):
	Copy string contents before assigning to _M_name_messages,
	qualify strcpy and strlen with std::.
	* config/os/gnu-linux/ctype_noninline.h
	(ctype<char>::classic_table()): Don't call locale::classic().
	* include/bits/locale_classes.h
	(locale::_S_categories): Const qualify.
	(locale::_S_once, locale::_S_initialize_once,
	locale::facet::_S_once, locale::facet::_S_initialize_once,
	locale::facet::_S_get_c_locale): Declare.
	(locale::_S_initialize): Don't define.
	(locale::facet::_S_c_locale): Make private.
	(locale::facet::_S_c_name): Same, const qualify.
	(locale::_Impl::_Impl(facet**, size_t, bool)): Drop unused
	parameters, add throw() specifier.
	* include/bits/locale_facets.h (__timepunct::_M_name_timepunct,
	messages::_M_name_messages): Const qualify.
	* src/locale.cc
	(locale::_S_once, locale::facet::_S_once): Define.
	(locale::classic): Move initialization code...
	(locale::_S_initialize_once): ...here.
	(locale::_S_initialize): Call _S_initialize_once through
	__gthread_once.
	(locale::facet::_S_initialize_once): Initialize _S_c_locale.
	(locale::facet::_S_get_c_locale): Call _S_initialize_once through
	__gthread_once before returning _S_c_locale.
	* src/localename.cc (locale::_Impl::_Impl(facet**, size_t, bool)):
	Drop unused parameters, add throw() specifier, don't initialize
	locale::facet::_S_c_locale and _S_c_name.

	* config/locale/generic/messages_members.h:
	Replace _S_c_locale with _S_get_c_locale().
	* config/locale/gnu/c_locale.cc: Same.
	* config/locale/gnu/messages_members.h: Same.
	* config/locale/gnu/numeric_members.cc: Same.
	* config/locale/gnu/time_members.cc: Same.
	* config/os/gnu-linux/ctype_noninline.h: Same.
	* include/bits/locale_facets.h: Same.
	* include/bits/locale_facets.tcc: Same.
	* src/codecvt.cc: Same.
	* src/ctype.cc: Same.

From-SVN: r72040
2003-10-02 16:56:39 +00:00
Brad Spencer 2b1be54b96 re PR c++/6072 (3.2 g++ testsuite breakage on cygwin)
2003-09-25  Brad Spencer  <spencer@infointeractive.com>

	PR libstdc++/6072
	* acinclude.m4:
	* aclocal.m4: Regenerate.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* crossconfig.m4: Add in wchar_t bits for solaris crosses.
	* config/io/basic_file_stdio.cc: Guard unistd.h.
	* include/c_compatibility/wchar.h: Guard extra wchar_t functionality.
	* include/c_std/std_cwchar.h: Same.
	* include/c_std/std_cwctype.h: Same.

From-SVN: r71795
2003-09-25 20:30:20 +00:00
Benjamin Kosnik 465ad0c712 ctype_members.cc (ctype<wchar_t>::do_is): Fix.
2003-09-25  Benjamin Kosnik  <bkoz@redhat.com>

	* config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_is): Fix.
	* config/locale/generic/ctype_members.cc: Same.
	* testsuite/22_locale/ctype/is/char/1.cc: Initialize mask.
	* testsuite/22_locale/ctype/is/wchar_t/1.cc: Same.

	* config/os/generic/ctype_inline.h: Update.

From-SVN: r71780
2003-09-25 16:37:24 +00:00
Petur Runolfsson 0b5ce4f15c basic_file_stdio.cc (sys_getc, sys_ungetc): Delete.
2003-09-18  Petur Runolfsson  <peturr02@ru.is>

	* config/io/basic_file_stdio.cc (sys_getc, sys_ungetc): Delete.
	* config/io/basic_file_stdio.h: Same.
	* include/std/std_fstream.h (__ctype_type): Delete.
	* include/std/std_streambuf.h (__ctype_type, __state_type): Delete.

From-SVN: r71520
2003-09-18 14:02:46 +00:00
Alan Modra 80e46d778a basic_file_stdio.cc (_M_open_mode): Assign __p_mode rather than or'ing.
* config/io/basic_file_stdio.cc (_M_open_mode): Assign __p_mode
	rather than or'ing.

From-SVN: r71265
2003-09-10 21:32:51 +09:30
Zack Weinberg 7e2055ec11 config.gcc (hppa*-*-hpux11*, [...]): Remove commented-out logic to use DCE threads (if present)...
gcc:
	* config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove
	commented-out logic to use DCE threads (if present), add
	support for POSIX threads.
	* config/ia64/hpux.h: Define CPP_SPEC to set appropriate
	#defines for -pthread.  Add -lpthread to LIB_SPEC when
	-pthread.  In both cases take -mt as a synonym for -pthread
	for acc compatibility.
	Define GTHREAD_USE_WEAK to 0.
	* config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC.
	Remove old logic for DCE threads from LIB_SPEC.
	* config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0.
libstdc++-v3:
	* config/os/hpux/os_defines.h: Unconditionally define
	_GLIBCXX_GTHREAD_USE_WEAK to 0.

From-SVN: r70797
2003-08-26 06:54:15 +00:00
Bernardo Innocenti 1c64ab6172 re PR libstdc++/11784 (atomic __exchange_and_add() broken for ColdFire and 68000 targets.)
2003-08-07  Bernardo Innocenti  <bernie@develer.com>

	PR libstdc++/11784
	* libstdc++-v3/config/cpu/m68k/atomicity.h (__exchange_and_add):
	Replace variants with new BSET-based version.

[[Split portion of a mixed commit.]]

From-SVN: r70231.2
2003-08-07 20:58:04 +00:00
Bernardo Innocenti 4e9ebd4bc8 re PR libstdc++/11784 (atomic __exchange_and_add() broken for ColdFire and 68000 targets.)
2003-08-07  Bernardo Innocenti  <bernie@develer.com>

	PR libstdc++/11784
	* libstdc++-v3/config/cpu/m68k/atomicity.h (__exchange_and_add):
	Replace variants with new BSET-based version.

From-SVN: r70230
2003-08-07 20:53:57 +00:00
Gawain Bolton b4c70e89da re PR libstdc++/11504 (-Wcast-qual vs. stl_tree)
2003-07-30  Gawain Bolton  <gp.bolton@computer.org>

	PR libstdc++/11504.
	* include/bits/stl_tree.h: Replace C-style casts with C++-style
	casts.  Changes to avoid casting away constness.  Eliminate
	_Rb_tree_base_iterator class.  Change _Rb_tree_iterator to use
	initialization lists.  Move out implementation of __black_count()
	to...
        * src/stl_tree.cc: ...here and rename _Rb_tree_black_count().
        Rename_Rb_tree_base_iterator::_M_increment() to
        _Rb_tree_increment and _Rb_tree_base_iterator::_M_decrement() to
        _Rb_tree_decrement.
        * config/linker-map.gnu: Add and change symbols here.

From-SVN: r69958
2003-07-30 15:01:58 +00:00
Steve Ellcey ff89cb01b7 atomicity.h: Change _GLIBCXX_INST_GLIBCXX_ATOMICITY_LOCK to _GLIBCXX_INST_ATOMICITY_LOCK to...
* config/cpu/hppa/atomicity.h: Change
	_GLIBCXX_INST_GLIBCXX_ATOMICITY_LOCK to _GLIBCXX_INST_ATOMICITY_LOCK
	to match misc-inst.cc

From-SVN: r69720
2003-07-23 21:17:43 +00:00
Andreas Jaeger 580e7bf3a8 Fix last checkin to commit right version of file.
From-SVN: r69560
2003-07-18 15:24:44 +02:00
Andreas Jaeger c3f2c61e60 baseline_symbols.txt: New file.
* config/abi/sparc-linux-gnu/baseline_symbols.txt: New file.
	* config/abi/mips-linux-gnu/baseline_symbols.txt: New file.
	* config/abi/hppa-linux-gnu/baseline_symbols.txt: New file.
	* config/abi/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.

From-SVN: r69548
2003-07-18 11:50:41 +02:00
Benjamin Kosnik fea4065dda linker-map.gnu: Add __moneypunct_cache, __timepunct_cache.
2003-07-17  Benjamin Kosnik  <bkoz@redhat.com>

	* config/linker-map.gnu: Add __moneypunct_cache, __timepunct_cache.
	* config/locale/generic/messages_members.h: Tweaks.
	* config/locale/generic/monetary_members.cc
	(moneypunct::_M_initialize_moneypunct): Use cache.
	(moneypunct::~moneypunct): Delete cache.
	* config/locale/generic/time_members.cc:
	(__timepunct::_M_initialize_timepunct): Use cache.
	* config/locale/generic/time_members.h:
	(__timepunct::~__timepunct): Delete cache.
	(__timepunct::__timepunct): Set cache.
	* config/locale/gnu/messages_members.h: Tweaks.
	* config/locale/gnu/monetary_members.cc:
	(moneypunct::_M_initialize_moneypunct): Use cache.
	(moneypunct::~moneypunct): Delete cache.
	* config/locale/gnu/time_members.cc:
	(__timepunct::_M_initialize_timepunct): Use cache.
	* config/locale/gnu/time_members.h:
	(__timepunct::~__timepunct): Delete cache.
	(__timepunct::__timepunct): Set cache.
	* include/bits/locale_facets.h (__timepunct_cache): New.
	(__moneypunct_cache): New.
	* include/bits/locale_facets.tcc: Tweak.
	* src/locale.cc (__timepunct::_S_timezones): Adjust for cache.
	* src/locale-inst.cc: Instantiate caches.
	* src/globals.cc: Add "C" caches.
	* src/localename.cc: Use external "C" caches.

From-SVN: r69535
2003-07-18 02:27:16 +00:00
Paolo Carlini f45e487d76 c_locale.h (__convert_from_v): One more qualification.
2003-07-14  Paolo Carlini  <pcarlini@unitus.it>

	* config/locale/gnu/c_locale.h (__convert_from_v): One more
	qualification.

From-SVN: r69353
2003-07-14 20:24:18 +00:00
Paolo Carlini 2def5b76e3 c_locale.h (__convert_from_v): Include <cstdio>.
2003-07-14  Paolo Carlini  <pcarlini@unitus.it>

	* config/locale/gnu/c_locale.h (__convert_from_v): Include
	<cstdio>. Qualify names.
	* config/locale/generic/c_locale.h (__convert_from_v): Ditto.

From-SVN: r69343
2003-07-14 19:46:29 +00:00
Paolo Carlini bda243ec50 Nathan C.
2003-07-14  Paolo Carlini  <pcarlini@unitus.it>
	    Nathan C. Myers  <ncm-nospam@cantrip.org>

	PR libstdc++/11378
	* include/std/std_fstream.h (xsputn): Declare only.
	* include/bits/fstream.tcc (xsputn): Define, optimize for the
	always_noconv() case: when __n is sufficiently large flush
	the buffer and issue a direct write, if possible combining the
	two with writev in __basic_file<>::xsputn_2.
	* config/io/basic_file_stdio.h (__basic_file<>::xsputn_2):
	New, declare.
	* config/io/basic_file_stdio.cc (__basic_file<>::xsputn_2):
	Define.
	* acinclude.m4 (GLIBCXX_CHECK_WRITE): New macro, checking for
	the availability of writev in <sys/uio.h>.
	* configure.in: Call here.
	* acconfig.h: Add undef for the corresponding symbol.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* config.h.in: Regenerate.
	* testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Tweak.

	* include/std/std_fstream.h (sync): Constify a variable.

Co-Authored-By: Nathan C. Myers <ncm-nospam@cantrip.org>

From-SVN: r69341
2003-07-14 18:23:12 +00:00
Gabriel Dos Reis 3ad249b9c7 Include <cstring> and <cstdlib>.
From-SVN: r69329
2003-07-14 13:32:26 +00:00
Mark Mitchell f2ffecb112 c_locale.h: Include <cstdlib> and <cstring>.
* config/locale/generic/c_locale.h: Include <cstdlib> and
	<cstring>.
	* include/bits/boost_concept_check.h: Add this-> to unqualified
	method calls.
	* include/bits/deque.tcc: Likewise.
	* include/bits/locale_facets.h : Likewise.
	* include/bits/ostream.tcc: Likewise.
	* include/bits/stl_algo.h: Likewise.
	* include/bits/stl_bvector.h: Likewise.
	* include/bits/stl_deque.h: Likewise.
	* include/bits/stl_list.h: Likewise.
	* include/bits/stl_tree.h: Likewise.
	* include/bits/stl_vector.h: Likewise.
	* include/bits/vector.tcc: Likewise.
	* include/ext/rope: Likewise.
	* include/ext/ropeimpl.h: Likewise.
	* include/ext/stdio_filebuf.h: Likewise.

From-SVN: r69315
2003-07-14 02:52:05 +00:00
Phil Edwards 58579a27aa acinclude.m4 (GLIBCC_ENABLE_SYMVERS): Tweak comments.
2003-07-11  Phil Edwards  <pme@gcc.gnu.org>

	* acinclude.m4 (GLIBCC_ENABLE_SYMVERS):  Tweak comments.  Add
	warning messages if the environment cannot support symbol versioning.
	(port_specific_symbol_file):  It's plural, add an 's' on the end.
	* configure.host:  Likewise.
	* src/Makefile.am:  Likewise.
	* config/linker-map.gnu:  Remove one semicolon, heh.
	* scripts/extract_symvers:  Don't assume useful 'export' syntax.
	Set LANG as well as LC_ALL for possibly-broken sort(1)s.
	* aclocal.m4, configure, src/Makefile.in:  Regenerated.

From-SVN: r69212
2003-07-11 04:04:49 +00:00
Gawain Bolton ca1c70118c stl_tree.h: Move larger member functions in _Rb_tree_base_iterator and _Rb_tree_node to...
2003-07-09  Gawain Bolton  <gp.bolton@computer.org>

	* include/bits/stl_tree.h: Move larger member functions in
	_Rb_tree_base_iterator and _Rb_tree_node to...
	* src/stl_tree.cc: Here.
	* src/Makefile.in: Add stl_tree.cc.
	* src/Makefile.in: Regenerated.
	* config/linker-map.gnu: Add symbols here.

From-SVN: r69150
2003-07-09 20:58:32 +00:00
Benjamin Kosnik c094e9b948 numeric_members.cc: Correct type info.
2003-07-08  Benjamin Kosnik  <bkoz@redhat.com>

	* config/locale/generic/numeric_members.cc: Correct type info.
	* config/locale/gnu/numeric_members.cc: Same.
	* include/bits/locale_facets.h: Same.

	* include/bits/char_traits.h: Correct spacing.

	* src/locale.cc: Wrap to 80 col.

From-SVN: r69098
2003-07-08 20:25:39 +00:00
Phil Edwards e6b7a69ab6 acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Bump minimal version requirement.
2003-07-05  Phil Edwards  <pme@gcc.gnu.org>

	* acinclude.m4 (GLIBCXX_ENABLE_SYMVERS):  Bump minimal version
	requirement.  Add port_specific_symbol_file variable.
	* configure.host:  Add docs for port_specific_symbol_file.
	Clean up try_cpu block for x86.
	* config/linker-map.gnu:  No more "last symbol can't have a
	semicolon" kaka.  Add hook for port-specific symbols.
	* src/Makefile.am:  Remove trailing whitespace.
	(libstdc++-symbol.ver):  Detect the presence of port-specific
	symbols, and add them accordingly.

	* docs/html/17_intro/porting.texi:  Bring up to date.

	* src/Makefile.in, aclocal.m4, configure,
	docs/html/17_intro/porting.html:  Regenerated.

From-SVN: r68992
2003-07-06 04:07:36 +00:00
Benjamin Kosnik 3d7c150e3f Move from CPP to CXX.
2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>

	Move from CPP to CXX.
	* include/bits/c++config: Move to GLIBCXX from GLIBCPP.
	* testsuite/Makefile.am: Same.
	* testsuite/Makefile.in: Regenerate.
	* po/Makefile.am: Same.
	* po/Makefile.in: Regenerate.
	* libsupc++/Makefile.am: Same.
	* libsupc++/Makefile.in: Regenerate.
	* libmath/Makefile.am: Same.
	* libmath/Makefile.in: Regenerate.
	* include/Makefile.am: Same.
	* include/Makefile.in: Regenerate.
	* src/Makefile.am: Same.
	* src/Makefile.in: Regenerate.
	* acconfig.h: Same.
	* configure.host: Same.
	* configure.in: Same.
	* configure: Regenerate.
	* acinclude.m4: Same.
	* aclocal.m4: Same.
	* src: Change all files in this directory.
	* testsuite: Same.
	* include: Same, standardize include guards.
	* config: Same.
	* libsupc++: Same.

From-SVN: r68958
2003-07-05 04:05:45 +00:00
Benjamin Kosnik 69ef29fdf6 basic_file_stdio.cc: Revert.
2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
            Petur Runolfsson  <peturr02@ru.is>

	* config/io/basic_file_stdio.cc: Revert.

Co-Authored-By: Petur Runolfsson <peturr02@ru.is>

From-SVN: r68938
2003-07-04 21:24:35 +00:00
Benjamin Kosnik a30335e9c4 Makefile.am: Update target_ to host_.
2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am: Update target_ to host_.
	* include/Makefile.in: Regenerate.
	* src/Makefile.am: Same.
	* src/Makefile.in: Regenerate.

	* config/os/gnu-linux/os_defines.h: Remove glibc-2.0 support.

From-SVN: r68926
2003-07-04 18:10:10 +00:00
Benjamin Kosnik cc5112c92d Makefile.am (target_headers): Add fpos.h
2003-07-03  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am (target_headers): Add fpos.h
	(bits_headers): Remove.
	* include/Makefile.in: Regenerate.
	* configure.in: Add FPOS_INC_SRCDIR, substitute it.
	* configure: Regenerate.
	* configure.host: Add fpos_include_dir.
	* config/os/gnu-linux/fpos.h: New.
	* config/os/generic/fpos.h: Add.
	* include/bits/fpos.h: Remove.

	* config/io/c_io_stdio.h: Remove fpos_t typedef.

	* include/bits/fstream.tcc: Tweaks.
	* include/std/std_fstream.h: Same.

	* testsuite/27_io/fpos/1.cc (test01): Uncomment. Move to...
	* testsuite/27_io/fpos/mbstate_t/1.cc: ...here.
	* testsuite/27_io/fpos/mbstate_t/2.cc: Same.
	* testsuite/27_io/fpos/mbstate_t/3.cc: Same.
	* testsuite/27_io/fpos/1.cc: New.

2003-07-03  Benjamin Kosnik  <bkoz@redhat.com>
	    Petur Runolfsson  <peturr02@ru.is>

	* include/std/std_streambuf.h: Remove _M_pos.
	* config/io/basic_file_stdio.h: Use seekpos instead of seekoff.
	* config/io/basic_file_stdio.cc: Same, use fseek instead of lseek,
	use fread/fwrite instead of read/write.
	* testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Fix.
	* testsuite/27_io/basic_filebuf/sputn/char/9339.cc: Close filebufs
	before reading again.
	* testsuite/27_io/objects/char/6.cc: Tweak.

Co-Authored-By: Petur Runolfsson <peturr02@ru.is>

From-SVN: r68913
2003-07-04 07:14:54 +00:00
Krister Walfridsson 2e8a523fa7 2003-06-27 Krister Walfridsson <cato@df.lth.se>
* config/os/bsd/netbsd/ctype_noninline.h
	(_C_ctype_): Declare.
	(ctype<char>::classic_table): Return _C_ctype_ + 1.
	(ctype<char>::ctype): Use classic_table.

From-SVN: r68584
2003-06-27 16:59:04 +00:00
Nathan Sidwell 5648db5461 * config/linker-map.gnu: Remove ; after __numpunct_cache.
From-SVN: r68563
2003-06-27 11:01:27 +00:00
Benjamin Kosnik 215f9e283a ios_base.h (ios_base::_M_getloc): Return reference to the imbued locale.
2003-06-26  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/ios_base.h (ios_base::_M_getloc): Return reference
	to the imbued locale.
	* include/bits/locale_facets.tcc (num_put::_M_convert_int): Use
	_M_getloc.
	(num_put::_M_convert_float): Use.

2003-06-26  Benjamin Kosnik  <bkoz@redhat.com>
	    Jerry Quinn  <jlquinn@optonline.net>

	* config/linker-map.gnu: Add __numpunct_cache.
	* config/locale/gnu/numeric_members.cc
	(numpunct::_M_initialize_numpunct): Account for _M_data, fill in
	all elements for "C" locale.
	(numpunct::~numpunct): Delete _M_data.
	* config/locale/generic/numeric_members.cc: Same.
	* include/bits/basic_ios.tcc
	(basic_ios::init): Remove __locale_cache bits.
	(basic_ios::_M_cache_locale): Same.
	* include/bits/ios_base.h: Same. Tweaks.
	* include/bits/locale_classes.h: Tweaks. Reorder classes.
	(__use_cache): Make friends with _Impl, locale.
	(_Impl::_M_caches): Add.
	(_Impl::_M_install_cache): Add.
	* include/bits/locale_facets.h (__numpunct_cache): New.
	(numpunct): Encapsulate data members in __numpunct_cache member,
	_M_data. Adjust virtuals.
	(numpunct::numpunct): New ctor for the same.
	(__locale_cache_base): Remove.
	(__locale_cache): Remove.
	* include/bits/locale_facets.tcc (__use_cache): New function,
	specializations.
	(num_put::_M_convert_int, _M_convert_float, do_put): Use it.
	* src/globals.cc: Add cache_vec, numpunct_cache_c, numpunct_cache_w.
	* src/ios.cc (ios_base::ios_base): Remove __locale_cache.
	* src/locale-inst.cc: Same. Add __numpunct_cache.
	* src/locale.cc: Tweak inlines.
	(__use_cache): Define specializations.
	* src/localename.cc: Use global bits.
	(_Impl::~Impl): Deal with __numpunct_cache destruction.
	(_Impl::_Impl): Same. Pre-cache standard numpunct facets.
	(_Impl::_M_init_facet): Take into account __numpunct_cache.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Update line numbers.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.

Co-Authored-By: Jerry Quinn <jlquinn@optonline.net>

From-SVN: r68558
2003-06-27 07:25:38 +00:00
Loren J. Rittle 9eb6e1d306 configure.host (freebsd*): Set abi_baseline_pair.
* configure.host (freebsd*): Set abi_baseline_pair.
        * config/abi/i386-freebsd4/baseline_symbols.txt: Update from 3.2
        (at or near first release) to 3.3.
        * config/abi/i386-freebsd5/baseline_symbols.txt: New file.
        * config/abi/alpha-freebsd5/baseline_symbols.txt: New file.
        * config/abi/sparc-freebsd5/baseline_symbols.txt: New file.

From-SVN: r68402
2003-06-24 04:03:30 +00:00
Benjamin Kosnik 0676e9308d scripts: New.
2003-06-17  Benjamin Kosnik  <bkoz@redhat.com>

	* scripts: New.
	* config/abi/extract_symvers: Move to...
	* scripts/extract_symvers: ...here.
	* mkcheck.in: Move to..
	* scripts/check_survey.in: ...here.
	* testsuite_flags.in: Move to..
	* scripts/testsuite_flags.in: ...here.
	* configure.in: Change check and testsuite_flags locations.
	* configure: Regenerate.
	* testsuite/Makefile.am (current_symbols.txt): Change location.
	* testsuite/Makefile.in: Regenerate.
	* testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Modify
	location of testsuite_flags.
	* Makefile.am (check-script): Move..
	(check-script-install): Move...
	* testsuite/Makefile.am: ... here.
	* testsuite/Makefile.in: Regenerate.
	* Makefile.in: Regenerate.

From-SVN: r68132
2003-06-18 01:52:08 +00:00
Benjamin Kosnik 82620aaf0b baseline_symbols.txt: Update to 3.3.0.
2003-06-17  Benjamin Kosnik  <bkoz@redhat.com>

	* config/abi/i486-linux-gnu/baseline_symbols.txt: Update to 3.3.0.

From-SVN: r68069
2003-06-17 06:09:55 +00:00
Richard Henderson dc4add82a5 linker-map.gnu: Export virtual function thunks for 64-bit systems too.
* config/linker-map.gnu: Export virtual function thunks for
        64-bit systems too.

From-SVN: r67989
2003-06-15 16:24:00 -07:00
Benjamin Kosnik ef16a2989a i686-pc-linux-gnu: To..
2003-06-13  Benjamin Kosnik  <bkoz@redhat.com>

	* config/abi/i686-pc-linux-gnu: To..
	* config/abi/i486-linux-gnu: ...this.
	* config/abi/alphaev67-unknown-linux-gnu: To..
	* config/abi/alpha-linux-gnu: ...this.
	* config/abi/ia64-unknown-linux-gnu: To...
	* config/abi/ia64-linux-gnu: ...this.
	* config/abi/x86_64-unknown-linux-gnu: To...
	* config/abi/x86_64-linux-gnu: ...this.
	* config/abi/i386-unknown-freebsd4: To...
	* config/abi/i386-freebsd4: ...this.
	* configure.host: abi_baseline_triplet to abi_baseline_pair.
	Simplify cpu bits so that abi_baseline_pair can use the same
	cpu configuration.
	* acinclude.m4: Same.
	* aclocal.m4: Regenerate.
	* configure.in: Can't get enable_abi_check to yes unless native.
	* configure: Regenerate.

From-SVN: r67931
2003-06-14 05:38:04 +00:00
Benjamin Kosnik c37514ff62 allocator-inst.cc: Explicitly instantiate.
2003-06-12  Benjamin Kosnik  <bkoz@redhat.com>

	* src/allocator-inst.cc: Explicitly instantiate.
	* include/ext/pool_allocator.h: Inhibit implicit instantiations.
	Tweaks.
	* config/linker-map.gnu: Add __pool_alloc bits. Tweaks.

From-SVN: r67882
2003-06-13 05:45:57 +00:00
Benjamin Kosnik 58ac1d7f0e acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Simplify.
2003-06-11  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Simplify.
	* aclocal.m4: Regenerate.
	* Makefile.am (SUBDIRS): Remove libio.
	* Makefile.in: Regenerate.
	* configure.in: Same.
	* configure: Regenerate.
	* config/io/basic_file_libio.cc: Remove.
	* config/io/basic_file_libio.h: Remove.
	* config/io/c_io_libio_codecvt.c: Remove.
	* config/io/c_io_libio.h: Remove.
	* libio/*: Remove.
	* src/Makefile.am: Same.
	* src/Makefile.in: Regenerate.
	* docs/html/configopts.html: Edits.
	* docs/html/explanations.html: Edits.

From-SVN: r67813
2003-06-12 03:24:16 +00:00
Benjamin Kosnik 1ff9402d8f [multiple changes]
2003-06-11  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/stl_alloc.h (__debug_alloc): Move out.
	(__malloc_alloc): Same.
	(__pool_alloc): Same.
	(__new_alloc): Same.
	Rename to..
	* include/bits/allocator.h: ...this.
	* include/bits/stl_deque.h: Modify comment.
	* include/bits/stl_tree.h: Modify include.
	* include/std/std_memory.h: Same.
	* include/ext/rope: Same.
	* include/ext/slist: Same.
	* include/std/std_vector.h: Same.
	* include/std/std_stack.h: Same.
	* include/std/std_queue.h: Same.
	* include/std/std_list.h: Same.
	* include/std/std_deque.h: Same.
	* include/backward/alloc.h: Same.
	* include/ext/debug_allocator.h: New.
	* include/ext/malloc_allocator.h: New.
	* include/ext/pool_allocator.h: New.
	* include/ext/new_allocator.h: New.
	* include/bits/pthread_allocimpl.h: Remove.
	* include/bits/stl_pthread_alloc.h: Remove.
	* include/Makefile.am (ext_headers): Add.
	* include/Makefile.in: Regenerate.
	* src/stl-inst.cc: Use __gnu_cxx namespace.
	* src/stl-inst.cc: Move to...
	* src/allocator-inst.cc: Here.
	* src/Makefile.am (sources): Update.
	* src/Makefile.in: Regenerate.
	* config/linker-map.gnu: Remove __pool_alloc bits.
	* testsuite/ext/headers.cc: Add.
	* testsuite/ext/allocators.cc: Fixup.

2003-06-11  Stefan Olsson  <stefan@snon.net>
            Ola R�nnerup  <fnolis@home.se>

	* include/Makefile.am (ext_headers): Add.
	* include/Makefile.in: Regenerate.
	* include/ext/mt_allocator.h: New file.

From-SVN: r67777
2003-06-11 15:52:11 +00:00
Andrew Pinski 159ca3a3a4 re PR libstdc++/9815 (atomicity.h - fails to compile with -O3 -masm=intel)
2003-06-02  Andrew Pinski  <pinskia@physics.uc.edu>

	PR libstdc++/9815
	* config/cpu/i386/atomicity.h (__exchange_and_add): add intel
	asm case to asm.
	* config/cpu/i486/atomicity.h (__exchange_and_add): Likewise.
	(__atomic_add): likewise.

From-SVN: r67343
2003-06-02 18:38:32 +00:00
Richard Kreckel cc9c608f08 re PR libstdc++/11062 (Please avoid __attribute__ ((unused)))
2003-06-02  Richard Kreckel  <Richard.Kreckel@GiNaC.DE>

	PR libstdc++/11062
	* config/cpu/mips/atomicity.h:  Change __attribute__ ((unused)) to
	__attribute__ ((__unused__)).
	* config/os/aix/atomicity.h:  Likewise.

From-SVN: r67340
2003-06-02 18:03:23 +00:00
Steve Ellcey ed0d100f7c os_defines.h: Define _LIBUNWIND_STD_ABI if we are on IA64 HP-UX.
* config/os/hpux/os_defines.h: Define _LIBUNWIND_STD_ABI if we are
	on IA64 HP-UX.
	* libsupc++/eh_throw.cc: Don't call _Unwind_Resume_or_Rethrow if
	_LIBUNWIND_STD_ABI is set.

From-SVN: r67193
2003-05-27 21:45:48 +00:00
Danny Smith 81888fcd42 gthr-win32.h (__GTHREAD_HIDE_WIN32API): Test for non-zero value, not just if defined.
* gthr-win32.h (__GTHREAD_HIDE_WIN32API): Test for non-zero
	value, not just if defined.

	* libstdc++-v3/config/os/mingw32/os_defines.h (__GTHREAD_HIDE_WIN32API):
	Define to 1 by defualt.
	(NOMINMAX): Define.

From-SVN: r67069
2003-05-21 22:16:08 +00:00
Benjamin Kosnik 51ff814940 [multiple changes]
2003-05-10  Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/9027
	PR libstdc++/9520
	PR libstdc++/10096
	* include/bits/fstream.tcc (basic_file::_M_underflow):  Add generic
	implementation, based on old wchar_t specialization, add support
	for codecvt::in() return value of codecvt_base::noconv, remove
	_M_file.sys_ungetc() call.
	* include/std/std_fstream.h (basic_file::underflow,
	basic_file::uflow, basic_file::_M_underflow):  Remove
	specialization declarations, call _M_underflow from generic versions
	of underflow and uflow.
	* src/fstream.cc (basic_file::underflow, basic_file::uflow,
	basic_file::_M_underflow):  Remove specializations.
	* src/Makefile.am (sources):  Remove fstream.cc.
	* src/Makefile.in:  Regenerated.
	* testsuite/27_io/basic_filebuf/underflow/10096.cc:  New test.
	* testsuite/27_io/basic_filebuf/underflow/char/1.cc:  New test.
	* testsuite/27_io/basic_filebuf/underflow/char/9027.cc:  New test.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc:  New test.

2003-05-10  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/stdio_filebuf.h (__stdio_filebuf): Remove stack
	buffer.
	* config/io/basic_file_stdio.h (__basic_file::xsgetn): Remove
	unbuffered bits.
	(__basic_file::xsputn): Same.
	(__basic_file::seekoff): Same.
	(__basic_file::seekpos): Same.
	(__basic_file::showmanyc): Same.
	* config/io/basic_file_stdio.cc: Same.
	* include/std/std_fstream.h: Same.
	* include/bits/fstream.tcc: Same.
	* src/fstream.cc: Same.
	* testsuite/27_io/basic_filebuf/sgetn/char/1.cc (test05): Tidy.

2003-05-10  Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/9520
	PR libstdc++/9661
	PR libstdc++/9662
	* include/ext/stdio_sync_filebuf.h:  New file.
	(basic_stdiobuf):  New.
	* include/Makefile.am (ext_headers): Add ext/stdio_sync_filebuf.h
	* include/Makefile.in: Regenerate.
	* include/bits/ios_base.h (Init::_S_create_buffers,
	Init::_S_destroy_buffers):  Remove declarations.
	* src/globals.cc (buf_cout_sync, buf_cin_sync, buf_cerr_sync,
	buf_wcout_sync, buf_wcin_sync, buf_wcerr_sync):  Define.
	* src/ios.cc (Init::_S_create_buffers,
	Init::_S_destroy_buffers):  Remove.
	(Init::Init):  Create and use syncronized buffers.
	(ios_base::sync_with_stdio):  Destroy syncronized buffers,
	create and install unsyncronized buffers.
	* testsuite/27_io/objects/char/10.cc:  New test.
	* testsuite/27_io/objects/char/9.cc:  New test.
	* testsuite/27_io/objects/char/9661-1.cc:  New test.
	* testsuite/27_io/objects/char/9661-2_xin.cc:  New test.
	* testsuite/27_io/objects/char/9661-2_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/1.cc:  New test.
	* testsuite/27_io/objects/wchar_t/10.cc:  New test.
	* testsuite/27_io/objects/wchar_t/2.cc:  New test.
	* testsuite/27_io/objects/wchar_t/2523-1_xin.cc:  New test.
	* testsuite/27_io/objects/wchar_t/2523-1_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/2523-2_xin.cc:  New test.
	* testsuite/27_io/objects/wchar_t/2523-2_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/3045.cc:  New test.
	* testsuite/27_io/objects/wchar_t/3647.cc:  New test.
	* testsuite/27_io/objects/wchar_t/3_xin.cc:  New test.
	* testsuite/27_io/objects/wchar_t/3_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/4_xin.cc:  New test.
	* testsuite/27_io/objects/wchar_t/4_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/5.cc:  New test.
	* testsuite/27_io/objects/wchar_t/5268.cc:  New test.
	* testsuite/27_io/objects/wchar_t/5280_xin.cc:  New test.
	* testsuite/27_io/objects/wchar_t/5280_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/6.cc:  New test.
	* testsuite/27_io/objects/wchar_t/6548_xin.cc:  New test.
	* testsuite/27_io/objects/wchar_t/6548_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/6648-1_xin.cc:  New test.
	* testsuite/27_io/objects/wchar_t/6648-1_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/6648-2_xin.cc:  New test.
	* testsuite/27_io/objects/wchar_t/6648-2_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/7.cc:  New test.
	* testsuite/27_io/objects/wchar_t/7744_xin.cc:  New test.
	* testsuite/27_io/objects/wchar_t/7744_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/8.cc:  New test.
	* testsuite/27_io/objects/wchar_t/9_xin.cc:  New test.
	* testsuite/27_io/objects/wchar_t/9_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/9520.cc:  New test.
	* testsuite/27_io/objects/wchar_t/9661-1.cc:  New test.
	* testsuite/27_io/objects/wchar_t/9661-2_xin.cc:  New test.
	* testsuite/27_io/objects/wchar_t/9661-2_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/9662.cc:  New test.
	* testsuite/ext/stdiobuf_char.cc:  New test.
	* testsuite/ext/stdiobuf_wchar_t.cc:  New test.

From-SVN: r66678
2003-05-11 04:20:57 +00:00
Joel Sherrill 51dc3d74f8 atomicity.h: New file.
2003-04-29 Joel Sherrill  <joel.sherrill@OARcorp.com>
	   Loren J. Rittle <ljrittle@acm.org>
	   Martin v. Loewis  <martin@v.loewis.de>

	* config/cpu/i386/atomicity.h: New file.

Co-Authored-By: Loren J. Rittle <ljrittle@acm.org>
Co-Authored-By: Martin v. Loewis <martin@v.loewis.de>

From-SVN: r66261
2003-04-29 21:57:39 +00:00
Benjamin Kosnik 988ad90d00 localename.cc: Standardize exception strings.
2003-04-28  Benjamin Kosnik  <bkoz@redhat.com>

	* src/localename.cc: Standardize exception strings.
	* src/locale.cc: Same.
	* src/ios.cc: Same.
	* include/bits/basic_string.tcc: Same.
	* include/bits/basic_ios.tcc: Same.
	* include/std/std_bitset.h: Same.
	* include/ext/ropeimpl.h: Same.
	* include/bits/stl_vector.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/stl_bvector.h: Same.
	* config/locale/generic/c_locale.cc: Same.
	* config/locale/gnu/c_locale.cc: Same.
	* config/locale/ieee_1003.1-2001/codecvt_specializations.h: Same.

	* testsuite/testsuite_hooks.cc (__gnu_cxx_test): Modify.

From-SVN: r66192
2003-04-28 23:05:57 +00:00
Benjamin Kosnik 73c4dcc675 locale_classes.h (locale::_Impl): Change _M_names from fixed size array.
2003-04-27  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_classes.h (locale::_Impl): Change _M_names
	from fixed size array.
	(locale): Change _S_categories as well.
	Formatting tweaks.
	* include/bits/locale_facets.tcc: Tweak.
	* config/locale/gnu/c_locale.cc: Assign _S_categories.
	* config/locale/generic/c_locale.cc: Same.
	* src/locale.cc: Tweak.
	* src/globals.cc: Change facet_name to name_vec, add names_c.
	* src/localename.cc: Use them.
	(locale::_Impl::~_Impl): Destroy _M_names.
	(locale::_Impl::_Impl): Create _M_names.

From-SVN: r66147
2003-04-28 03:41:49 +00:00
Andreas Schwab 691d089679 * config/locale/ieee_1003.1-2001/codecvt_specializations.h
(__enc_traits): Use __ibom and __ebom instead of ignoring them.

From-SVN: r66136
2003-04-27 19:51:25 +00:00
Benjamin Kosnik 89e9920bd6 2003-04-25 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/locale_classes.h
	(locale::_S_extra_categories_size): Remove.
	* src/locale.cc: Remove _S_extra_categories_size.
	* src/localename.cc: Same.
	* config/locale/gnu/c_locale.cc: Same.
	* config/locale/generic/c_locale.cc: Same.

From-SVN: r66068
2003-04-25 17:23:21 +00:00
Benjamin Kosnik 40a22d93c6 c_locale.h (__convert_from_v): Use attribute unused.
2003-04-23  Benjamin Kosnik  <bkoz@belmont.constant.com>

	* config/locale/generic/c_locale.h (__convert_from_v): Use
	attribute unused.

From-SVN: r66009
2003-04-23 19:30:33 +00:00
Loren J. Rittle 9c59483708 porting.texi (_GLIBCPP_USE_C99_CHECK): New macro.
* docs/html/17_intro/porting.texi (_GLIBCPP_USE_C99_CHECK): New macro.
	(_GLIBCPP_USE_C99_DYNAMIC): New macro.
	(_GLIBCPP_USE_C99_LONG_LONG_CHECK): New macro.
	(_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC): New macro.
	* config/os/bsd/freebsd/os_defines.h (_GLIBCPP_USE_C99_CHECK):
	New macro.
	(_GLIBCPP_USE_C99_DYNAMIC): New macro.
	(_GLIBCPP_USE_C99_LONG_LONG_CHECK): New macro.
	(_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC): New macro.
	* include/c_std/std_cstdlib.h: Use new macros.
	* include/c_std/std_cstdio.h: Use new macros.
	* include/c_std/std_cwchar.h: Use new macros.

From-SVN: r65778
2003-04-18 09:53:58 +00:00
Loren J. Rittle b39d035918 std_cmath.h (__gnu_cx::__c99_binding): New namespace.
libstdc++/7680
	* include/c_std/std_cmath.h (__gnu_cx::__c99_binding): New namespace.
	Populate it with multiple legal ways to obtain the C99 float
	transcendentals.  Use them instead of direct global reference.
	(C99 FP capture): Guard usage with _GLIBCPP_USE_C99_FP_MACROS_DYNAMIC.
	* docs/html/17_intro/porting.texi
	(_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK): New macro.
	(_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): New macro.
	(_GLIBCPP_USE_C99_FP_MACROS_DYNAMIC): New macro.
	* config/os/bsd/freebsd/os_defines.h
	(_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK): New macro.
	(_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): New macro.
	* testsuite/26_numerics/c_math_dynamic.cc: New file.

From-SVN: r65624
2003-04-15 07:27:55 +00:00
Benjamin Kosnik 3d838e28dd [multiple changes]
2003-04-14  Andreas Tobler  <toa@pop.agri.ch>
 	    Benjamin Kosnik  <bkoz@redhat.com>

	* config/os/generic/ctype_inline.h: Fix.

2003-04-14  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/testsuite_hooks.h
	(__gnu_cxx_test::run_test_wrapped_generic_locale_exception_catcher):
	Change to run_named_locale_test.
	* testsuite/testsuite_hooks.cc (__gnu_cxx_test): Same.

	* testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Use
	run_test_named_locale.
	* testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Same.
	* testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Same.
	* testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Same.
	* testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Same.
	* testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: Same.
	* testsuite/22_locale/codecvt/in/wchar_t/2.cc: Same.
	* testsuite/22_locale/codecvt/in/wchar_t/3.cc: Same.
	* testsuite/22_locale/codecvt/in/wchar_t/4.cc: Same.
	* testsuite/22_locale/codecvt/in/wchar_t/7.cc: Same.
	* testsuite/22_locale/codecvt/in/wchar_t/8.cc: Same.
	* testsuite/22_locale/codecvt/in/wchar_t/9.cc: Same.
	* testsuite/22_locale/codecvt/length/wchar_t/2.cc: Same.
	* testsuite/22_locale/codecvt/length/wchar_t/3.cc: Same.
	* testsuite/22_locale/codecvt/length/wchar_t/4.cc: Same.
	* testsuite/22_locale/codecvt/length/wchar_t/7.cc: Same.
	* testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Same.
	* testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Same.
	* testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Same.
	* testsuite/22_locale/codecvt/out/wchar_t/2.cc: Same.
	* testsuite/22_locale/codecvt/out/wchar_t/3.cc: Same.
	* testsuite/22_locale/codecvt/out/wchar_t/4.cc: Same.
	* testsuite/22_locale/codecvt/out/wchar_t/7.cc: Same.
	* testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Same.
	* testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Same.
	* testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Same.
	* testsuite/22_locale/collate/compare/char/1.cc: Same.
	* testsuite/22_locale/collate/compare/char/2.cc: Same.
	* testsuite/22_locale/collate/compare/char/3.cc: Same.
	* testsuite/22_locale/collate/compare/wchar_t/1.cc: Same.
	* testsuite/22_locale/collate/compare/wchar_t/2.cc: Same.
	* testsuite/22_locale/collate/compare/wchar_t/3.cc: Same.
	* testsuite/22_locale/collate/hash/char/2.cc: Same.
	* testsuite/22_locale/collate/hash/wchar_t/2.cc: Same.
	* testsuite/22_locale/collate/transform/char/2.cc: Same.
	* testsuite/22_locale/collate/transform/char/3.cc: Same.
	* testsuite/22_locale/collate/transform/wchar_t/2.cc: Same.
	* testsuite/22_locale/collate/transform/wchar_t/3.cc: Same.
	* testsuite/22_locale/collate_byname/1.cc: Same.
	* testsuite/22_locale/ctype/is/char/2.cc: Same.
	* testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
	* testsuite/22_locale/ctype/narrow/wchar_t/3.cc: Same.
	* testsuite/22_locale/ctype/widen/wchar_t/2.cc: Same.
	* testsuite/22_locale/ctype/widen/wchar_t/3.cc: Same.
	* testsuite/22_locale/facet/2.cc: Same.
	* testsuite/22_locale/locale/cons/2.cc: Same.
	* testsuite/22_locale/locale/cons/4.cc: Same.
	* testsuite/22_locale/locale/cons/5.cc: Same.
	* testsuite/22_locale/locale/cons/7.cc: Same.
	* testsuite/22_locale/locale/cons/7222-c.cc: Same.
	* testsuite/22_locale/locale/cons/7222-env.cc: Same.
	* testsuite/22_locale/locale/global_locale_objects/2.cc: Same.
	* testsuite/22_locale/messages/members/char/1.cc: Same.
	* testsuite/22_locale/messages/members/char/2.cc: Same.
	* testsuite/22_locale/messages/members/char/3.cc: Same.
	* testsuite/22_locale/messages_byname/1.cc: Same.
	* testsuite/22_locale/money_get/get/char/1.cc: Same.
	* testsuite/22_locale/money_get/get/char/2.cc: Same.
	* testsuite/22_locale/money_get/get/char/3.cc: Same.
	* testsuite/22_locale/money_get/get/char/4.cc: Same.
	* testsuite/22_locale/money_get/get/wchar_t/1.cc: Same.
	* testsuite/22_locale/money_get/get/wchar_t/2.cc: Same.
	* testsuite/22_locale/money_get/get/wchar_t/3.cc: Same.
	* testsuite/22_locale/money_get/get/wchar_t/4.cc: Same.
	* testsuite/22_locale/money_put/put/char/1.cc: Same.
	* testsuite/22_locale/money_put/put/char/2.cc: Same.
	* testsuite/22_locale/money_put/put/char/3.cc: Same.
	* testsuite/22_locale/money_put/put/wchar_t/1.cc: Same.
	* testsuite/22_locale/money_put/put/wchar_t/2.cc: Same.
	* testsuite/22_locale/money_put/put/wchar_t/3.cc: Same.
	* testsuite/22_locale/moneypunct/members/char/2.cc: Same.
	* testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Same.
	* testsuite/22_locale/moneypunct_byname/1.cc: Same.
	* testsuite/22_locale/num_get/get/char/1.cc: Same.
	* testsuite/22_locale/num_get/get/char/2.cc: Same.
	* testsuite/22_locale/num_get/get/char/3.cc: Same.
	* testsuite/22_locale/num_get/get/char/5.cc: Same.
	* testsuite/22_locale/num_get/get/char/6.cc: Same.
	* testsuite/22_locale/num_get/get/wchar_t/1.cc: Same.
	* testsuite/22_locale/num_get/get/wchar_t/2.cc: Same.
	* testsuite/22_locale/num_get/get/wchar_t/3.cc: Same.
	* testsuite/22_locale/num_get/get/wchar_t/5.cc: Same.
	* testsuite/22_locale/num_get/get/wchar_t/6.cc: Same.
	* testsuite/22_locale/num_put/put/char/1.cc: Same.
	* testsuite/22_locale/num_put/put/char/2.cc: Same.
	* testsuite/22_locale/num_put/put/char/3.cc: Same.
	* testsuite/22_locale/num_put/put/char/5.cc: Same.
	* testsuite/22_locale/num_put/put/wchar_t/1.cc: Same.
	* testsuite/22_locale/num_put/put/wchar_t/2.cc: Same.
	* testsuite/22_locale/num_put/put/wchar_t/3.cc: Same.
	* testsuite/22_locale/num_put/put/wchar_t/5.cc: Same.
	* testsuite/22_locale/numpunct/members/char/1.cc: Same.
	* testsuite/22_locale/numpunct/members/char/2.cc: Same.
	* testsuite/22_locale/numpunct/members/wchar_t/1.cc: Same.
	* testsuite/22_locale/numpunct/members/wchar_t/2.cc: Same.
	* testsuite/22_locale/numpunct_byname/1.cc: Same.
	* testsuite/22_locale/numpunct_byname/2.cc: Same.
	* testsuite/22_locale/time_get/date_order/char/1.cc: Same.
	* testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Same.
	* testsuite/22_locale/time_get/get_date/char/1.cc: Same.
	* testsuite/22_locale/time_get/get_date/char/2.cc: Same.
	* testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Same.
	* testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Same.
	* testsuite/22_locale/time_get/get_monthname/char/1.cc: Same.
	* testsuite/22_locale/time_get/get_monthname/char/2.cc: Same.
	* testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Same.
	* testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Same.
	* testsuite/22_locale/time_get/get_time/char/1.cc: Same.
	* testsuite/22_locale/time_get/get_time/char/2.cc: Same.
	* testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Same.
	* testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Same.
	* testsuite/22_locale/time_get/get_weekday/char/1.cc: Same.
	* testsuite/22_locale/time_get/get_weekday/char/2.cc: Same.
	* testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Same.
	* testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Same.
	* testsuite/22_locale/time_get/get_year/char/1.cc: Same.
	* testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Same.
	* testsuite/22_locale/time_put/put/char/1.cc: Same.
	* testsuite/22_locale/time_put/put/char/2.cc: Same.
	* testsuite/22_locale/time_put/put/char/3.cc: Same.
	* testsuite/22_locale/time_put/put/char/4.cc: Same.
	* testsuite/22_locale/time_put/put/char/5.cc: Same.
	* testsuite/22_locale/time_put/put/char/6.cc: Same.
	* testsuite/22_locale/time_put/put/char/7.cc: Same.
	* testsuite/22_locale/time_put/put/char/8.cc: Same.
	* testsuite/22_locale/time_put/put/wchar_t/1.cc: Same.
	* testsuite/22_locale/time_put/put/wchar_t/2.cc: Same.
	* testsuite/22_locale/time_put/put/wchar_t/3.cc: Same.
	* testsuite/22_locale/time_put/put/wchar_t/4.cc: Same.
	* testsuite/22_locale/time_put/put/wchar_t/5.cc: Same.
	* testsuite/22_locale/time_put/put/wchar_t/6.cc: Same.
	* testsuite/22_locale/time_put/put/wchar_t/7.cc: Same.
	* testsuite/22_locale/time_put/put/wchar_t/8.cc: Same.
	* testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Same.
	* testsuite/27_io/basic_ios/copyfmt/char/2.cc: Same.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc: Same.
	* testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Same.
	* testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Same.

2003-04-14  Andreas Tobler  <toa@pop.agri.ch>

	* configure.target (_cpu_incdir_fullpath): Solaris 2.9 uses
	solaris includes, not generic.

From-SVN: r65622
2003-04-15 06:36:31 +00:00
John David Anglin 26af0e5d07 * os/hpux/ctype_inline.h: Replace with gnu-linux version.
From-SVN: r65542
2003-04-13 03:56:20 +00:00
John David Anglin e6670c79c7 basic_file_stdio.cc (__basic_file<char>::close): Don't flush stream twice.
* basic_file_stdio.cc (__basic_file<char>::close): Don't flush stream
	twice.  Always set _M_cfile to 0 when stream was open.

From-SVN: r65458
2003-04-11 02:57:44 +00:00
Paolo Carlini bbacb998c8 re PR libstdc++/9533 (Can't read from tty with ifstream)
2003-03-28  Paolo Carlini  <pcarlini@unitus.it>
	    Nathan Myers  <ncm@cantrip.org>

	PR libstdc++/9533
	* include/bits/fstream.tcc (basic_filebuf<>::open): Don't
	call underflow().
	(basic_filebuf<>::showmanyc): Use the information provided
	by codecvt and __basic_file<>::showmanyc_helper to implement
	a non-trivial showmanyc.
	* config/io/basic_file_stdio.h
	(__basic_file<>::showmanyc_helper): New, declare.
	* config/io/basic_file_stdio.cc
	(__basic_file<>::showmanyc_helper): Define.
	(__basic_file<>::_M_open_mode): Don't set O_NONBLOCK.
	(__basic_file<char>::open): Don't call fcntl().
	* acinclude.m4 (GLIBCPP_CHECK_S_ISREG_OR_S_IFREG,
	GLIBCPP_CHECK_POLL): New macros.
	* configure.in: Call here.
	* acconfig.h: Add #undefs for the corresponding symbols.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* config.h.in: Regenerate.

Co-Authored-By: Nathan Myers <ncm@cantrip.org>

From-SVN: r64978
2003-03-28 18:28:47 +00:00
Benjamin Kosnik bd40d535f6 linker-map.gnu: Remove string export restrictions.
2003-03-24  Benjamin Kosnik  <bkoz@redhat.com>

	* config/linker-map.gnu: Remove string export restrictions.

From-SVN: r64837
2003-03-25 01:53:13 +00:00
Loren J. Rittle ff81da238f ctype_noninline.h (ctype<char>::classic_table): Correct return value.
* config/os/hpux/ctype_noninline.h (ctype<char>::classic_table):
	Correct return value.

From-SVN: r64724
2003-03-22 18:55:40 +00:00
Alexandre Oliva 951312c819 atomicity.h (__exchange_and_add, [...]): Only .set mips2 for the o32 ABI.
* config/cpu/mips/atomicity.h (__exchange_and_add, __atomic_add):
Only .set mips2 for the o32 ABI.

From-SVN: r64604
2003-03-20 02:30:42 +00:00
Benjamin Kosnik ac1613a2c2 [multiple changes]
2003-03-14  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/23_containers/bitset_members.cc: Add test variable.
	* testsuite/23_containers/map_insert.cc: Same.
	* testsuite/22_locale/ctype/cons/char/1.cc: Same.
	* testsuite/22_locale/codecvt/max_length/wchar_t/1.cc: Same.
	* testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Same.
	* testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Same.
	* testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Same.
	* testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc: Same.
	* testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Same.
	* testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Same.
	* testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Same.
	* testsuite/27_io/istream_exception.cc: Same.
	* testsuite/27_io/filebuf_virtuals.cc: Same.
	* testsuite/27_io/stringbuf_virtuals.cc: Same.
	* testsuite/27_io/ostream_inserter_arith.cc: Same.
	* testsuite/26_numerics/valarray_operators.cc: Same.
	* testsuite/26_numerics/slice.cc: Same.
	* testsuite/26_numerics/slice_array_assignment.cc: Same.
	* testsuite/24_iterators/istream_iterator.cc: Same.
	* mkcheck.in (TESTS_FILE): Use dejagnu-generated file if possible.

2003-03-14  Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/9581
	PR libstdc++/9870
	* config/locale/generic/ctype_members.cc,
	* config/locale/gnu/ctype_members.cc
	(ctype<wchar_t>::do_widen(char)):  Cast argument to
	unsigned char before passing to btowc.
	(ctype<wchar_t>::do_widen(const char*, const char*, wchar_t*)):
	Convert characters with btowc instead of mbsrtowcs.
	(ctype<wchar_t>::do_narrow(const wchar_t*, const wchar_t*,
	char, char*):
	Convert characters with wctob instead of wcsrtombs.
	* testsuite/22_locale/ctype/narrow/wchar_t/3.cc:  New test.
	* testsuite/22_locale/ctype/widen/wchar_t/2.cc:  New test.
	* testsuite/22_locale/ctype/widen/wchar_t/3.cc:  New test.

From-SVN: r64391
2003-03-15 04:53:52 +00:00
Loren J. Rittle b0649028b4 ctype_inline.h: Support _M_table when so installed.
* config/os/bsd/freebsd/ctype_inline.h:  Support _M_table
	when so installed.
	* testsuite/22_locale/ctype/cons/char/1.cc: Fix typo.

From-SVN: r64163
2003-03-11 07:07:25 +00:00
Paolo Carlini f5d9895a06 basic_file_stdio.cc: include <unistd.h>.
2003-03-09  Paolo Carlini  <pcarlini@unitus.it>

	* config/io/basic_file_stdio.cc: include <unistd.h>.

From-SVN: r64069
2003-03-10 06:55:00 +00:00
Paolo Carlini 95dca20c9c re PR libstdc++/7744 (streambuf::in_avail() always returns 0 (zero) for cin input stream)
2003-03-09  Paolo Carlini  <pcarlini@unitus.it>
	    Nathan Myers  <ncm@cantrip.org>

	PR libstdc++/7744
	* config/io/basic_file_stdio.h (__basic_file<>::xsgetn, xsputn,
	seekoff, seekpos): Add a boolean parameter __stdio.
	* config/io/basic_file_stdio.cc (__basic_file<>::xsgetn, xsputn,
	seekoff, seekpos): If __stdio == true, use fread (fwrite, fseek/ftell,
	fseek/ftell, respectively), otherwise read (write, lseek, lseek,
	respectively).
	* include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external,
	_M_really_overflow, seekoff): Use the boolean parameter in the calls.
	* include/std/std_fstream.h (sync): Likewise.
	* src/fstream.cc (basic_filebuf<>::_M_underflow_common): Likewise.
	* src/ios.cc (ios_base::Init::_S_ios_create(bool)): Revert libstdc++/8399
	commit involving isatty(0).
	* acinclude.m4 (GLIBCPP_CHECK_UNISTD_DECL_AND_LINKAGE_1): Remove.
        (GLIBCPP_CHECK_UNISTD_SUPPORT): Remove
  	* configure.in: Remove call.
	* aclocal.m4: Regenerate.
       	* config.h.in: Regenerate.
        * configure: Regenerate.
	* testsuite/27_io/narrow_stream_objects.cc (test11): Add.

Co-Authored-By: Nathan Myers <ncm@cantrip.org>

From-SVN: r64051
2003-03-09 22:31:45 +00:00
Loren J. Rittle 85c39c6df1 c_locale.cc (locale::facet::_S_create_c_locale): Throw runtime exception when unsupported language is specified.
* config/locale/generic/c_locale.cc (locale::facet::_S_create_c_locale):
	Throw runtime exception when unsupported language is specified.
	* testsuite/testsuite_hooks.h
	(run_test_wrapped_generic_locale_exception_catcher): New function.
	* testsuite/testsuite_hooks.cc (run_tests_wrapped_locale):
	Suppress runtime exception thrown by generic implementation.
	(run_tests_wrapped_env): Likewise.
	(run_test_wrapped_generic_locale_exception_catcher): New function.
	* testsuite/22_locale/collate/compare/char/1.cc: New test wrap.
	* testsuite/22_locale/collate/compare/char/2.cc: New test wrap.
	* testsuite/22_locale/collate/compare/char/3.cc: New test wrap.
	* testsuite/22_locale/collate/hash/char/2.cc: New test wrap.
	* testsuite/22_locale/collate/transform/char/2.cc: New test wrap.
	* testsuite/22_locale/collate/transform/char/3.cc: New test wrap.
	* testsuite/22_locale/collate_byname/1.cc: New test wrap.
	* testsuite/22_locale/ctype/is/char/2.cc: New test wrap.
	* testsuite/22_locale/facet/2.cc: New test wrap.
	* testsuite/22_locale/locale/cons/4.cc: New test wrap.
	* testsuite/22_locale/locale/cons/5.cc: New test wrap.
	* testsuite/22_locale/locale/cons/7.cc: New test wrap.
	* testsuite/22_locale/messages/members/char/1.cc: New test wrap.
	* testsuite/22_locale/messages/members/char/2.cc: New test wrap.
	* testsuite/22_locale/messages/members/char/3.cc: New test wrap.
	* testsuite/22_locale/messages_byname/1.cc: New test wrap.
	* testsuite/22_locale/money_get/get/char/1.cc: New test wrap.
	* testsuite/22_locale/money_get/get/char/2.cc: New test wrap.
	* testsuite/22_locale/money_get/get/char/3.cc: New test wrap.
	* testsuite/22_locale/money_get/get/char/4.cc: New test wrap.
	* testsuite/22_locale/money_put/put/char/1.cc: New test wrap.
	* testsuite/22_locale/money_put/put/char/2.cc: New test wrap.
	* testsuite/22_locale/money_put/put/char/3.cc: New test wrap.
	* testsuite/22_locale/moneypunct/members/char/2.cc: New test wrap.
	* testsuite/22_locale/moneypunct_byname/1.cc: New test wrap.
	* testsuite/22_locale/num_get/get/char/1.cc: New test wrap.
	* testsuite/22_locale/num_get/get/char/2.cc: New test wrap.
	* testsuite/22_locale/num_get/get/char/3.cc: New test wrap.
	* testsuite/22_locale/num_get/get/char/5.cc: New test wrap.
	* testsuite/22_locale/num_get/get/char/6.cc: New test wrap.
	* testsuite/22_locale/num_put/put/char/1.cc: New test wrap.
	* testsuite/22_locale/num_put/put/char/2.cc: New test wrap.
	* testsuite/22_locale/num_put/put/char/3.cc: New test wrap.
	* testsuite/22_locale/num_put/put/char/5.cc: New test wrap.
	* testsuite/22_locale/numpunct/members/char/1.cc: New test wrap.
	* testsuite/22_locale/numpunct/members/char/2.cc: New test wrap.
	* testsuite/22_locale/numpunct_byname/1.cc: New test wrap.
	* testsuite/22_locale/numpunct_byname/2.cc: New test wrap.
	* testsuite/22_locale/time_get/date_order/char/1.cc: New test wrap.
	* testsuite/22_locale/time_get/get_date/char/1.cc: New test wrap.
	* testsuite/22_locale/time_get/get_date/char/2.cc: New test wrap.
	* testsuite/22_locale/time_get/get_monthname/char/1.cc: New test wrap.
	* testsuite/22_locale/time_get/get_monthname/char/2.cc: New test wrap.
	* testsuite/22_locale/time_get/get_time/char/1.cc: New test wrap.
	* testsuite/22_locale/time_get/get_time/char/2.cc: New test wrap.
	* testsuite/22_locale/time_get/get_weekday/char/1.cc: New test wrap.
	* testsuite/22_locale/time_get/get_weekday/char/2.cc: New test wrap.
	* testsuite/22_locale/time_get/get_year/char/1.cc: New test wrap.
	* testsuite/22_locale/time_put/put/char/1.cc: New test wrap.
	* testsuite/22_locale/time_put/put/char/2.cc: New test wrap.
	* testsuite/22_locale/time_put/put/char/3.cc: New test wrap.
	* testsuite/22_locale/time_put/put/char/4.cc: New test wrap.
	* testsuite/22_locale/time_put/put/char/5.cc: New test wrap.
	* testsuite/22_locale/time_put/put/char/6.cc: New test wrap.
	* testsuite/22_locale/time_put/put/char/7.cc: New test wrap.
	* testsuite/22_locale/time_put/put/char/8.cc: New test wrap.
	* testsuite/27_io/filebuf_virtuals.cc: New test wrap.
	* testsuite/27_io/ios_members.cc: New test wrap.
	* testsuite/27_io/ostream_inserter_arith.cc (test02): Make void.
	New test wrap.
	* testsuite/27_io/streambuf_members.cc: New test wrap.
	* testsuite/27_io/stringbuf_virtuals.cc: New test wrap.

From-SVN: r63975
2003-03-08 08:55:54 +00:00
Benjamin Kosnik 4e7a2c6f9a globals.cc: Clarify comments, remove c_locale_imp_compat.
2003-03-04  Benjamin Kosnik  <bkoz@redhat.com>

	* src/globals.cc: Clarify comments, remove c_locale_imp_compat.

	* config/linker-map.gnu: Filter typeinfo and vtable info.

From-SVN: r63826
2003-03-05 06:02:15 +00:00
Benjamin Kosnik fd4290d6c7 abi_check.cc (report_symbol_info): Add version info.
2003-03-03  Benjamin Kosnik  <bkoz@redhat.com>

        * testsuite/abi_check.cc (report_symbol_info): Add version info.

        * config/linker-map.gnu: Hide more stuff.
        * include/Makefile.am: Cleanups.
        * include/Makefile.in: Regenerate.

From-SVN: r63765
2003-03-04 05:51:50 +00:00
Benjamin Kosnik 3a15abf155 abi_check.cc (report_symbol_info): Add version info.
2003-03-03  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/abi_check.cc (report_symbol_info): Add version info.

	* config/linker-map.gnu: Hide more stuff.
	* include/Makefile.am: Cleanups.
	* include/Makefile.in: Regenerate.

From-SVN: r63764
2003-03-04 05:23:56 +00:00
Jerry Quinn 486f4cd1b2 messages_members.h (messages::messages): Remove name from unused parameter.
2003-02-27  Jerry Quinn  <jlquinn@optonline.net>

        * config/locale/generic/messages_members.h (messages::messages):
	Remove name from unused parameter.

From-SVN: r63545
2003-02-28 05:15:06 +00:00
Phil Edwards 3a24c5134f linker-map.gnu: Also export locking symbols needed for the generic atomicity.h case.
2003-02-20  Phil Edwards  <pme@gcc.gnu.org>

	* config/linker-map.gnu:  Also export locking symbols needed for the
	generic atomicity.h case.

From-SVN: r63169
2003-02-20 16:47:39 +00:00
Phil Edwards 8d55a4aa3b atomicity.h (_Atomic_add_mutex): Fix declaration.
2003-02-12  Phil Edwards  <pme@gcc.gnu.org>

	* config/cpu/generic/atomicity.h (_Atomic_add_mutex):  Fix declaration.
	(_GLIBCPP_NEED_GENERIC_MUTEX):  Define for this file.
	(_Atomic_add_mutex_once, __gthread_atomic_add_mutex_once):  Declare
	when we don't have static mutex initialization.
	(__exchange_and_add):  Use _Atomic_add_mutex_once.
	* src/misc-inst.cc:  Definitions of all the above.

From-SVN: r62818
2003-02-13 04:02:20 +00:00
John David Anglin 5053bdf834 atomicity.h (__Atomicity_lock<__inst>::_S_atomicity_lock): Correct alignment.
* hppa/atomicity.h (__Atomicity_lock<__inst>::_S_atomicity_lock):
	Correct alignment.
	(__exchange_and_add, __atomic_add): Use PA 2.0 ordered store to reset
	lock.

From-SVN: r62593
2003-02-09 03:23:13 +00:00
Peter Soetens 6eeabb09a6 basic_file_libio.h: Fixups.
2003-02-06  Peter Soetens  <peter.soetens@mech.kuleuven.ac.be>

	* config/io/basic_file_libio.h: Fixups.
	* config/io/c_io_libio.h: Same.
	* libio/Makefile.am: Same.
	* libio/Makefile.in: Regenerated.

From-SVN: r62475
2003-02-06 08:10:47 +00:00
Benjamin Kosnik e61c8e230a [multiple changes]
2003-02-06  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/22_locale/codecvt/encoding/wchar_t/1.cc (test01):
	Explicitly use the "C" locale.
	* testsuite/22_locale/codecvt/max_length/wchar_t/1.cc (test01): Same.

2003-02-06  Petur Runolfsson  <peturr02@ru.is>

	DR 75
	DR 305
	PR libstdc++/9028 (partial)
	PR libstdc++/9224
	PR libstdc++/9246
	PR libstdc++/9247

	* src/codecvt.cc
	(codecvt<wchar_t, char, mbstate_t>::do_encoding,
	codecvt<wchar_t, char, mbstate_t>::do_length,
	codecvt<wchar_t, char, mbstate_t>::do_max_length):
	Move...
	* config/locale/generic/codecvt_members.cc:  ...here.
	* config/locale/gnu/codecvt_members.cc:  ...and here.

	* config/locale/generic/codecvt_members.cc,
	* config/locale/gnu/codecvt_members.cc
	(codecvt<wchar_t, char, mbstate_t>::do_encoding
	codecvt<wchar_t, char, mbstate_t>::do_in,
	codecvt<wchar_t, char, mbstate_t>::do_length,
	codecvt<wchar_t, char, mbstate_t>::do_max_length,
	codecvt<wchar_t, char, mbstate_t>::do_out):
	New implementation that handles stateless encodings,
	including UTF-8.

	* config/locale/generic/codecvt_members.cc,
	* config/locale/gnu/codecvt_members.cc,
	* config/locale/ieee_1003.1-2001/codecvt_specializations.h,
	* include/bits/codecvt.h,
	* src/codecvt.cc
	(codecvt::length, codecvt::do_length):
	Change type of first argument of length and do_length from
	'const state_type&' to 'state_type&' according to DR 75.

	* testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc:  Cleanup.
	* testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc:  New test.
	* testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc:  New test.
	* testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc:  New test.
	* testsuite/22_locale/codecvt/encoding/wchar_t/1.cc:
	Cleanup and check for correct return value from encoding
	for "C" locale.
	* testsuite/22_locale/codecvt/encoding/wchar_t/2.cc:  New test.
	* testsuite/22_locale/codecvt/encoding/wchar_t/3.cc:  New test.
	* testsuite/22_locale/codecvt/encoding/wchar_t/4.cc:  New test.
	* testsuite/22_locale/codecvt/in/wchar_t/1.cc:  Cleanup.
	* testsuite/22_locale/codecvt/in/wchar_t/2.cc:  New test.
	* testsuite/22_locale/codecvt/in/wchar_t/3.cc:  New test.
	* testsuite/22_locale/codecvt/in/wchar_t/4.cc:  New test.
	* testsuite/22_locale/codecvt/in/wchar_t/5.cc:  New test.
	* testsuite/22_locale/codecvt/in/wchar_t/6.cc:  New test.
	* testsuite/22_locale/codecvt/in/wchar_t/7.cc:  New test.
	* testsuite/22_locale/codecvt/in/wchar_t/8.cc:  New test.
	* testsuite/22_locale/codecvt/in/wchar_t/9.cc:  New test.
	* testsuite/22_locale/codecvt/length/char/1.cc:  Cleanup.
	* testsuite/22_locale/codecvt/length/char/2.cc:  New test.
	* testsuite/22_locale/codecvt/length/wchar_t/1.cc:  Cleanup.
	* testsuite/22_locale/codecvt/length/wchar_t/2.cc:  New test.
	* testsuite/22_locale/codecvt/length/wchar_t/3.cc:  New test.
	* testsuite/22_locale/codecvt/length/wchar_t/4.cc:  New test.
	* testsuite/22_locale/codecvt/length/wchar_t/5.cc:  New test.
	* testsuite/22_locale/codecvt/length/wchar_t/6.cc:  New test.
	* testsuite/22_locale/codecvt/length/wchar_t/7.cc:  New test.
	* testsuite/22_locale/codecvt/max_length/wchar_t/1.cc:  Cleanup.
	* testsuite/22_locale/codecvt/max_length/wchar_t/2.cc:  New test.
	* testsuite/22_locale/codecvt/max_length/wchar_t/3.cc:  New test.
	* testsuite/22_locale/codecvt/max_length/wchar_t/4.cc:  New test.
	* testsuite/22_locale/codecvt/out/wchar_t/1.cc:  Cleanup.
	* testsuite/22_locale/codecvt/out/wchar_t/2.cc:  New test.
	* testsuite/22_locale/codecvt/out/wchar_t/3.cc:  New test.
	* testsuite/22_locale/codecvt/out/wchar_t/4.cc:  New test.
	* testsuite/22_locale/codecvt/out/wchar_t/5.cc:  New test.
	* testsuite/22_locale/codecvt/out/wchar_t/6.cc:  New test.
	* testsuite/22_locale/codecvt/out/wchar_t/7.cc:  New test.
	* testsuite/22_locale/codecvt/unicode/1.cc:  New test.
	* testsuite/22_locale/codecvt/unshift/wchar_t/1.cc:  Cleanup.
	* testsuite/22_locale/codecvt/unshift/wchar_t/2.cc:  New test.
	* testsuite/22_locale/codecvt/unshift/wchar_t/3.cc:  New test.
	* testsuite/22_locale/codecvt/unshfit/wchar_t/4.cc:  New test.

From-SVN: r62474
2003-02-06 06:24:21 +00:00
Paolo Carlini 52b62c0e1a PR libstdc++/9439, PR libstdc++/9425
2003-02-04  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9439, PR libstdc++/9425
	* config/io/basic_file_stdio.cc
	(__basic_file<char>::seekoff, seekpos): Return -1L if
	fseek fails.
	* include/bits/fstream.tcc (basic_filebuf::seekoff):
	Check _M_file.seekoff return value; always return
	pos_type(off_type(-1)) in case of failure.
	(basic_filebuf::pbackfail): Check this->seekoff return
	value and return traits_type::eof() in case of failure.
	* testsuite/27_io/filebuf_virtuals.cc (test09): Add.

From-SVN: r62408
2003-02-04 22:42:32 +00:00
Falk Hueffner 348b0c3105 std_bitset.h: Replace CHAR_BIT with __CHAR_BIT__, use numeric_limits for bits-per-word values.
2003-02-03  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
            Phil Edwards  <pme@gcc.gnu.org>

	* include/std/std_bitset.h:  Replace CHAR_BIT with __CHAR_BIT__, use
	numeric_limits for bits-per-word values.
	(_Base_bitset::_M_do_count, _Base_bitset<1>::_M_do_count):
	Use __builtin_popcountl instead.
	(_Base_bitset::_M_do_find_first, _Base_bitset::_M_do_find_next,
	_Base_bitset<1>::_M_do_find_first, _Base_bitset<1>::_M_do_find_next):
	Use __builtin_ctzl instead.
	(_S_bit_count, _S_first_one):  Remove.
	* config/linker-map.gnu (GLIBCPP_3.4):  Remove std::_S_bit_count.
	* src/Makefile.am (sources):  Remove bitset.cc.
	* src/bitset.cc:  Delete file.
	* src/Makefile.in:  Regenerate.

Co-Authored-By: Phil Edwards <pme@gcc.gnu.org>

From-SVN: r62335
2003-02-03 19:37:53 +00:00
Andreas Schwab 475c1d0989 * config/linker-map.gnu: Fix for size_t variance.
From-SVN: r61713
2003-01-24 17:01:25 +00:00
Benjamin Kosnik 1a1e79bbfe Revert include ordering.
2003-01-23  Benjamin Kosnik  <bkoz@redhat.com>

	Revert include ordering.
	* config/locale/generic/c_locale.h: Add include guards.
	* config/locale/gnu/c_locale.h: Same.
	* include/bits/locale_classes.h: Remove cctype include.
	* include/std/std_iosfwd.h: Add c++locale.h, cctype includes.
	* include/std/std_fstream.h: Remove streambuf include.
	* include/std/std_sstream.h: Remove streambuf include.

From-SVN: r61664
2003-01-23 18:56:00 +00:00
Benjamin Kosnik 8099b2aee8 configure.in (libtool_VERSION): To 6:0:0.
2003-01-23  Benjamin Kosnik  <bkoz@redhat.com>

	* configure.in (libtool_VERSION): To 6:0:0.
	* configure: Regenerated.
	* config/linker-map.gnu: Clean.

	* src/misc-inst.cc: Remove instantiations.

	* include/bits/stl_alloc.h (__malloc_alloc_template):
	To __malloc_alloc.
	(__default_alloc_template): To __pool_alloc.
	* src/stl-inst.cc: Same.
	* include/backward/alloc.h: Update.
	* testsuite/ext/allocators.cc: Update.

	* src/globals.cc (__gnu_cxx): Remove _GLIBCPP_ASM_SYMVER. Should
	really try to remove these if possible.
	* src/locale.cc (std): Same.

	* testsuite/abi_check.cc (check_version): Add.

From-SVN: r61658
2003-01-23 17:21:11 +00:00
Benjamin Kosnik e66868131b locale_facets.h: Move non-facet classes requiring <string> to...
2003-01-22  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.h: Move non-facet classes requiring
	<string> to...
	* include/bits/locale_classes.h: New.
	* include/bits/Makefile.am (bits_headers_src): Add locale_classes.h.
	* include/bits/Makefile.in: Regenerate.

	* include/bits/locale_facets.tcc (__convert_from_v): Move to...
	* config/locale/gnu/c_locale.h: ...here.
	* config/locale/generic/c_locale.h: Same.

	* include/bits/locale_facets.tcc: Move declarations to...
	* include/bits/locale_facets.h: ...here.
	* include/bits/basic_ios.h: Tweak includes accordingly.
	* include/std/std_sstream.h: Add streambuf include.
	* include/std/std_fstream.h: Ditto.
	* include/std/std_locale.h: Add locale_classes.h include.
	* include/std/std_iosfwd.h: Tweak.
	* src/concept-inst.cc: Add iterator include.

	* config/linker-map.gnu: Specify __cxa functions, mark __cxa_dyn_*
	bits as unexported in the future.

From-SVN: r61593
2003-01-22 16:51:52 +00:00
Jeffrey D. Oldham ca2ceadd31 * config/locale/generic/messages_members.h
(messages_byname<_CharT>::messages_byname): Use this-> to refer to
	unqualified members of base clasess.

From-SVN: r61416
2003-01-17 01:20:08 +00:00
Mark Mitchell 8fbc5ae723 cp-tree.h (lang_type_class): Remove is_partial_instantiation.
* cp-tree.h (lang_type_class): Remove is_partial_instantiation.
	(PARTIAL_INSTANTIATION_P): Remove.
	(IMPLICIT_TYPENAME_P): Likewise.
	(IMPLICIT_TYPENAME_TYPE_DECL_P): Likewise.
	(build_typename_type): Remove declaration.
	(parmlist_is_exprlist): Likewise.
	* decl.c (build_typename_type): Make it static, remove third
	parameter.
	(push_class_binding): Don't do implicit typename stuff.
	(make_typename_type): Likewise.
	(lookup_name_real): Likewise.
	(grokdeclarator): Don't try to convert declarations into
	initializations.  Don't do implicit typename stuff.
	(parmlist_is_exprlist): Remove.
	(xref_basetypes): Simplify.
	* decl2.c (grokfield): Don't try to convert declarations into
	initializations.
	(build_anon_union_vars): Do this while processing templates, too.
	(finish_anon_union): Likewise.
	* error.c (dump_type): Remove implicit typename handling.
	* parser.c (cp_parser_diagnose_invalid_type_name): New method.
	(cp_parser_primary_expression): Correct handling of names not
	found by unqualified name lookup in templates.
	(cp_parser_nested_name_specifier_opt): Avoid checking dependency
	of types when possible.
	(cp_parser_simple_declaration): Complain intelligently about some
	invalid declarations.
	(cp_parser_member_declaration): Likewise.
	(cp_parser_constructor_declarator_p): Don't check when we're in a
	function scope.
	* pt.c (instantiate_class_template): Remove
	PARTIAL_INSTANTIATION_P gunk.
	* search.c (lookup_field_r): Don't build implicit typenames.
	(marked_pushdecls_p): Don't enter dependent base types.
	(unmarked_pushdecls_p): Likewise.
	* semantics.c (begin_class_definition): Remove implicit typename
	stuff.

	* config/locale/gnu/messages_members.h: Use this-> to refer to
	unqualified members of base clasess.
	* config/locale/ieee_1003.1-2001/codecvt_specializations.h: Likewise.
	* include/bits/codecvt.h: Likewise.
	* include/bits/deque.tcc: Likewise.
	* include/bits/fstream.tcc: Likewise.
	* include/bits/istream.tcc: Likewise.
	* include/bits/list.tcc: Likewise.
	* include/bits/locale_facets.h: Likewise.
	* include/bits/ostream.tcc: Likewise.
	* include/bits/sstream.tcc: Likewise.
	* include/bits/stl_bvector.h: Likewise.
	* include/bits/stl_deque.h: Likewise.
	* include/bits/stl_list.h: Likewise.
	* include/bits/stl_tree.h: Likewise.
	* include/bits/stl_vector.h: Likewise.
	* include/bits/vector.tcc: Likewise.
	* include/ext/ropeimpl.h: Likewise.
	* include/ext/stdio_filebuf.h: Likewise.
	* include/ext/stl_rope.h: Likewise.
	* include/std/std_fstream.h: Likewise.
	* include/std/std_sstream.h: Likewise.

Co-Authored-By: Jeffrey Oldham <oldham@codesourcery.com>

From-SVN: r61403
2003-01-16 20:30:50 +00:00
John David Anglin 4af6a06372 som.h (SUPPORTS_WEAK, [...]): Define.
* som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
	ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
	* pa.h (TARGET_SOM_SDEF): Define.
	* pa-hpux11.h (TARGET_SOM_SDEF): Define.
	* config/os/hpux/os_defines.h (_GLIBCPP_GTHREAD_USE_WEAK): Define for
	__hppa__.

From-SVN: r61372
2003-01-16 00:34:45 +00:00
Benjamin Kosnik 1c26d8fd84 locale_facets.h (messages): Move ctor, dtor definitions to..
2003-01-06  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.h (messages): Move ctor, dtor
	definitions to..
	(__timepunct): Same.
	* config/locale/gnu/messages_members.h (messages): Add dtor, ctor
	definitions. Conditionalize for GNU systems.
	* config/locale/generic/messages_members.h (messages): Add dtor, ctor
	definitions.
	* config/locale/gnu/time_members.h (messages): New. Add dtor, ctor
	definitions. Conditionalize for GNU systems.
	* config/locale/generic/time_members.h (messages): New. Add dtor, ctor
	definitions.
	* include/bits/localefwd.h (locale::facet::_S_c_name): Add.
	* src/locale.cc: Define.
	* src/localename.cc (locale::_Impl::_Impl(facet**, size_t, bool):
	Use it.
	* config/locale/gnu/time_members.h: Use it.
	* config/locale/gnu/messages_members.h: Use it.
	* config/linker-map.gnu: Add locale::facets details.
	* include/Makefile.am (target_headers_extra): Add time_members.h.
	* include/Makefile.in: Regenerate.
	* acinclude.m4: Export CTIME_H.
	* aclocal.m4: Regenerate.
	* configure: Regnerate.

From-SVN: r60952
2003-01-06 21:23:00 +00:00
Jason Merrill e55393db34 atomicity.h (__exchange_and_add, [...]): *__mem is also an output.
* config/cpu/i486/atomicity.h (__exchange_and_add, __atomic_add):
        *__mem is also an output.
        * config/cpu/m68k/atomicity.h (__exchange_and_add): Likewise.

From-SVN: r60807
2003-01-02 17:48:21 -05:00
Mark Mitchell 43be7fe7d7 * config/locale/gnu/ctype_members.cc
(ctype<wchar_t>::_M_convert_to_wmask): Remove stray semicolon.
	* config/locale/gnu/monetary_members.cc
	(moneypunct<wchar_t, true>::_M_initialize_moneypunct): Avoid
	defining classes in static_cast.
	(moneypunct<wchar_t, false>::_M_initialize_moneypunct): Likewise.
	* config/locale/gnu/numeric_members.cc
	(numpunct<wchar_t, false>::_M_initialize_numpunct): Likewise.
	* include/bits/stl_deque.h (operator-): Insert typename where
	required.
	* include/bits/stl_multiset.h (multiset): Remove stray semicolon.
	* include/bits/stl_set.h (set): Likewise.
	* include/bits/valarray_meta.h (bits/slice_array.h): Include it.
	* include/std/std_fstream.h (basic_fstream::open): Use this-> to
	avoid Koenig lookup.
	(basic_fstream::close): Likewise.
	* libsupc++/new (operator delete): Remove stray semicolon.
	* libsupc++/new (operator delete[]): Likewise.
	* libsupc++/tinfo.cc: Likewise.
	* src/stdexcept.c (logic_error::~logic_error): Likewise.
	(runtime_error::~runtime_error): Likewise.

From-SVN: r60547
2002-12-27 23:03:03 +00:00
Danny Smith 2ae1162e06 basic_file_stdio.cc (__basic_file::_M_open_mode): Don't use O_NONBLOCK if it is not defined.
* config/io/basic_file_stdio.cc (__basic_file::_M_open_mode):
	Don't use O_NONBLOCK if it is not defined.
	(__basic_file::open): Don't use fcntl either.

From-SVN: r60461
2002-12-24 02:48:19 +00:00
Benjamin Kosnik 6aa43d99a3 configure.in (GLIBCPP_ENABLE_DEBUG): Default to none.
2002-12-16  Benjamin Kosnik  <bkoz@redhat.com>

        * configure.in (GLIBCPP_ENABLE_DEBUG): Default to none.
	Call GLIBCPP_ENABLE_DEBUG_FLAGS.
        * acinclude.m4 (GLIBCPP_ENABLE_DEBUG): GLIBCPP_BUILD_DEBUG, new
        conditional if --enable-debug is yes. Rework.
	(GLIBCPP_ENABLE_DEBUG_FLAGS): New.
        * aclocal.m4: Regenerate.
	* libio/Makefile.am: Remove DEBUG_FLAGS.
	* libio/Makefile.in: Regenerate.
	* libsupc++/Makefile.am: Remove DEBUG_FLAGS.
	* libsupc++/Makefile.in: Regenerate.
	* docs/html/configopts.html: Add docs for --enable-debug,
	--enable-debug-flags.

2002-12-16  Benjamin Kosnik  <bkoz@redhat.com>

	Correct dependency tracking, build warts.
	* configure.in: Correct repeated AC_OUTPUT thrashing by
	config-ml.in
	* configure: Regenerate.
	* include/Makefile.am (stamp-target): Stamp in top_builddir.
	* include/Makefile.in: Regenerate.
	* src/Makefile.am (codecvt_members.cc): New rule.
	(collate_members.cc): Same.
	(ctype_members.cc): Same.
	(messages_members.cc): Same.
	(monetary_members.cc): Same.
	(numeric_members.cc): Same.
	(time_members.cc): Same.
	(c++locale.cc): Same.
	(basic_file.cc): Same.
	* src/Makefile.in: Regenerate.
	* acinclude.m4 (CCTYPE_CHAR_CC): Remove.
	(CCCODECVT_CC): Don't link, AC_SUBST.
	(CCOLLATE_CC): Same.
	(CCTYPE_CC): Same.
	(CMESSAGES_CC): Same.
	(CMONEY_CC): Same.
	(CNUMERIC_CC): Same.
	(CTIME_CC): Same.
	(CLOCALE_CC): Same.
	* aclocal.m4: Regenerate.

	* src/Makefile.am (libstdc___la_LIBADD): Use top_builddir
	for convenience libraries.
	(version_arg): Rename linker.map to libstdc++.ver.
	(libstdc___la_DEPENDENCIES): Remove linker.map, add
	libstdc++-symbol.ver as a dependency.
	(libstdc++-symbol.ver): Add rule.
	* acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): Change LINKER_MAP to
	SYMVER_MAP. Don't link, AC_SUBST.

	* include/Makefile.am (target_headers_noinst): New.
	(stamp-target): Add CLOCALE_INTERNAL_H.
	* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Don't link
	CLOCALE_INTERNAL_H, AC_SUBST.
	* config/locale/gnu/c_locale.cc: Modify c++locale_internal.h
	include.
	* config/locale/gnu/time_members.cc: Same.
	* config/locale/gnu/numeric_members.cc: Same.
	* config/locale/gnu/monetary_members.cc: Same.
	* config/locale/gnu/messages_members.cc: Same.
	* config/locale/gnu/ctype_members.cc: Same.
	* config/locale/gnu/collate_members.cc: Same.
	* config/locale/gnu/codecvt_members.cc: Same.
	* config/locale/generic/codecvt_members.cc: Remove.

From-SVN: r60177
2002-12-16 19:02:01 +00:00
Zack Weinberg 4977bab6ed Merge basic-improvements-branch to trunk
From-SVN: r60174
2002-12-16 18:23:00 +00:00
Paolo Carlini a625dfab90 re PR libstdc++/8887 (locale)
2002-12-11  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/8887
	* config/locale/generic/time_members.cc
	(__timepunct<char>::_M_initialize_timepunct): Fix typos
	in _M_date_format and _M_date_era_format string literals.

From-SVN: r60050
2002-12-12 00:22:58 +00:00
Paolo Carlini 0e9501e6b1 c_locale.cc (locale::_S_categories): Reorder the categories to match that of glibc's setlocale(LC_ALL, ""))
2002-11-28  Paolo Carlini  <pcarlini@unitus.it>

	* config/locale/gnu/c_locale.cc (locale::_S_categories):
	Reorder the categories to match that of glibc's setlocale(LC_ALL, ""))
	* config/locale/generic/c_locale.cc (locale::_S_categories): Ditto.
	* testsuite/22_locale/ctor_copy_dtor.cc (test04): Tweak.

From-SVN: r59604
2002-11-28 12:25:32 +00:00
Benjamin Kosnik 8ecab601c3 abi_check.cc: Add CXXABI_1.2.1 as compatible.
2002-11-25  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/abi_check.cc: Add CXXABI_1.2.1 as compatible.
	* config/linker-map.gnu: Version __cxa_guard_acquire,
	__cxa_guard_release, __cxa_guard_abort in CXXABI_1.2.1.

From-SVN: r59487
2002-11-26 01:37:50 +00:00
Jakub Jelinek bd3175a2cc linker-map.gnu: Export _S_construct even if size_t is unsigned long.
* config/linker-map.gnu: Export _S_construct even if size_t is
	unsigned long.  Collapse std::codecvt<char>::codecvt(size_t)
	and std::codecvt<wchar_t>::codecvt(size_t) into one export pattern.

From-SVN: r59182
2002-11-17 06:08:23 +01:00
John David Anglin b6ef3ef68f os_defines.h (_GLIBCPP_INST_ATOMICITY_LOCK): Define on hppa when there is no weak support.
* config/os/hpux/os_defines.h (_GLIBCPP_INST_ATOMICITY_LOCK): Define
	on hppa when there is no weak support.

From-SVN: r59092
2002-11-13 22:36:39 +00:00
Benjamin Kosnik 4a1338ed66 linker-map.gnu: Export all _S_construct.
2002-11-13  Benjamin Kosnik  <bkoz@redhat.com>

	* config/linker-map.gnu: Export all _S_construct.

From-SVN: r59080
2002-11-13 18:27:37 +00:00
Benjamin Kosnik 6eeb7d7ae0 re PR libstdc++/6746 (ifstream::readsome() always returns zero)
2002-11-11  Benjamin Kosnik  <bkoz@redhat.com>

        PR libstdc++/6746
        * include/bits/fstream.tcc (filebuf::open): Set input pointers.
	* config/io/basic_file_stdio.cc (__basic_file::_M_open_mode): Set
	__p_mode as well.
	(__basic_file::open): Set to non-block for input.
	* testsuite/27_io/istream_unformatted.cc (test12): Add.
	(test13): Same.

From-SVN: r59030
2002-11-11 23:18:05 +00:00
Phil Edwards 7069c22117 atomicity.h: Provide atomic __exchange_and_add and __atomic_add.
2002-11-07  Phil Edwards  <pme@gcc.gnu.org>
            Richard Earnshaw  <rearnsha@arm.com>

	* config/cpu/generic/atomicity.h:  Provide atomic __exchange_and_add
	and __atomic_add.

Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>

From-SVN: r58929
2002-11-08 19:24:41 +00:00
Paolo Carlini bce582242d monetary_members.cc (moneypunct<wchar_t, [...]): Tweak parameters for glibc2.3 systems, thus avoiding unused parameter warnings.
2002-11-08  Paolo Carlini  <pcarlini@unitus.it>

	* config/locale/gnu/monetary_members.cc
	(moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale,
	const char*),
	moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale,
	const char*)): Tweak parameters for glibc2.3 systems, thus
	avoiding unused parameter warnings.

From-SVN: r58928
2002-11-08 17:05:40 +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 72040fcbf6 linker-map.gnu: Export string operator+.
2002-11-04  Benjamin Kosnik  <bkoz@redhat.com>

	* config/linker-map.gnu: Export string operator+.
	Export __default_alloc_template::_S_force_new.
	* testsuite/abi_check.cc: Output tweaks.

From-SVN: r58801
2002-11-04 22:57:00 +00:00
Benjamin Kosnik 85ab9d2311 re PR libstdc++/7926 (i486 instructions in header files make c++ programs crash on i386)
2002-11-01  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/7926
	* configure.target: Simplify.
	* config/cpu/i386/atomicity.h: Remove.
	* config/cpu/i386: Remove.
	* config/cpu/arm/atomicity.h: Remove.
	* config/cpu/arm: Remove.
	* config/cpu/x86-64/atomicity.h: Remove.
	* config/cpu/x86-64: Remove.

From-SVN: r58735
2002-11-02 01:42:22 +00:00
Christian Ehrhardt 23ae3eb1f8 re PR libstdc++/8197 (std::sin(float) causes undefined reference to sinf)
2002-11-01  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>

	PR libstdc++/8197
	* config/link-map.gnu: Export math stubbs.

From-SVN: r58721
2002-11-01 17:54:51 +00:00
Loren J. Rittle dae1b24731 * config/abi/i386-unknown-freebsd4.7/baseline_symbols.txt: Remove.
From-SVN: r58288
2002-10-18 21:25:13 +00:00
Loren J. Rittle 8478f1708a configure.target (freebsd*): Use abi_baseline_triplet.
* configure.target (freebsd*): Use abi_baseline_triplet.
	* config/abi/i386-unknown-freebsd4/baseline_symbols.txt: New file.

From-SVN: r58287
2002-10-18 21:22:16 +00:00
Benjamin Kosnik 2982f6ffc4 locale_facets.h (__timepunct::__timepunct): Allocate _M_name_timepunct.
2002-10-16  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.h (__timepunct::__timepunct): Allocate
	_M_name_timepunct.
	(__timepunct::~__timepunct): Deallocate, remove specialization
	declarations.
	(messages::messages): Allocate _M_name_messages.
	(messages::~messages): Deallocate.
	(messages_byname): Same.
	* config/locale/gnu/time_members.cc (__timepunct::~__timepunct):
	Remove.
	* config/locale/generic/time_members.cc (__timepunct::~__timepunct):
	Remove.

	* docs/html/install.html: Add es_MX, en_PH to required locales list.

From-SVN: r58232
2002-10-17 01:19:59 +00:00
Benjamin Kosnik 57e172dd3a linker-map.gnu: Add exports for codecvt constructors where size_t == unsigned long.
2002-10-16  Benjamin Kosnik  <bkoz@redhat.com>

	* config/linker-map.gnu: Add exports for codecvt constructors
	where size_t == unsigned long.

From-SVN: r58208
2002-10-16 16:14:10 +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
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
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
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 3a3f686886 baseline_symbols.txt: New file.
* config/abi/x86_64-unknown-linux-gnu/baseline_symbols.txt:
	New file.

From-SVN: r57742
2002-10-02 18:46:38 +02:00
Richard Henderson f2d208028d * config/os/hpux/cpu_limits.h: Remove.
From-SVN: r57594
2002-09-27 15:39:08 -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
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
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
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
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
Jakub Jelinek df4c36e62d Oops, typo in dir name.
From-SVN: r56851
2002-09-05 18:32:28 +02: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
Jakub Jelinek f373d4c761 ctype_members.cc (ctype<wchar_t>::do_widen(char)): Switch to _M_c_locale_ctype around btowc call.
* config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_widen(char)):
	Switch to _M_c_locale_ctype around btowc call.
	(ctype<wchar_t>::do_widen(const char*, const char *, wchar_t*)):
	Switch to _M_c_locale_ctype around mbsrtowcs call.
	(ctype<wchar_t>::do_narrow(char)): Switch to _M_c_locale_ctype around
	wctob call.
	(ctype<wchar_t>::do_narrow(const char*, const char *, wchar_t*)):
	Switch to _M_c_locale_ctype around wcsrtombs call.

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

From-SVN: r56839
2002-09-05 09:51:16 +02:00
Jakub Jelinek 89671b7067 c++locale_internal.h: New header.
* config/locale/generic/c++locale_internal.h: New header.
	* config/locale/gnu/c++locale_internal.h: New header.
	* config/locale/gnu/c_locale.cc: Include it.
	* config/locale/gnu/collate_members.cc: Include it.
	* config/locale/gnu/ctype_members.cc: Include it.
	* config/locale/gnu/messages_members.cc: Include it.
	* config/locale/gnu/monetary_members.cc: Include it.
	* config/locale/gnu/numeric_members.cc: Include it.
	* config/locale/gnu/time_members.cc: Include it.
	(_M_put): Reorder __strftime_l and __wcsftime_l arguments to match
	glibc.
	(_M_initialize_timepunct): Initialize _M_c_locale_timepunct for
	C locale.
	* acinclude.m4: Include string.h when testing strcoll_l.
	For glibc 2.3 provide __-prefixed prototypes.
	(CLOCALE_INTERNAL_H): Set, add AC_LINK_FILES line.
	* aclocal.m4, configure: Rebuilt.

	* include/bits/locale_facets.h: Add declaration of specialization
	here.
	* config/locale/gnu/messages_members.cc: Add specialization for
	messages<wchar_t>.
	* config/locale/gnu/messages_members.h: Remove generic definition
	of do_get.

From-SVN: r56837
2002-09-05 09:46:17 +02:00
Richard Earnshaw 25cf83980b cpu_limits.h: New file.
* config/cpu/arm/cpu_limits.h: New file.
* configure.target: Use config/cpu/arm for XScale and StrongARM
configurations.

From-SVN: r56653
2002-08-29 09:14:27 +00:00
Phil Edwards 6dc5fdfd5f linker-map.gnu: Verbose comments, clean up spacing.
2002-08-23  Phil Edwards  <pme@gcc.gnu.org>

	* config/linker-map.gnu:  Verbose comments, clean up spacing.
	* include/bits/stl_alloc.h:  Fix indentation of 'if' bodies, return
	statements.
	__allocator:  Change class declaration to struct.
	* docs/html/17_intro/C++STYLE:  Fix typo.
	* include/bits/stl_deque.h, include/bits/stl_list.h,
	include/bits/stl_map.h, include/bits/stl_multimap.h,
	include/bits/stl_vector.h:  Fix fallout from typo.

From-SVN: r56540
2002-08-23 16:52:29 +00:00
Loren J. Rittle 1f8151cf73 abi_check.cc: Enhance shell portability.
* testsuite/abi_check.cc: Enhance shell portability.
	* config/abi/i386-unknown-freebsd4.6: Add.
	* config/abi/i386-unknown-freebsd4.6/baseline_symbols.txt: New file.

From-SVN: r56527
2002-08-23 01:50:15 +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
Danny Smith b5028f5e8b ctype_inline.h (is): Don't offset _M_table.
2002-08-02 Danny Smith  <dannysmith@users.sourceforge.net>

	* config/os/newlib/ctype_inline.h (is): Don't offset _M_table.
	(scan_is): Use this->is.
	(scan_not): Likewise.

From-SVN: r55989
2002-08-02 16:10:12 +00:00
Benjamin Kosnik 3450b8d03c re PR libstdc++/7461 (ctype<char>::classic_table() returns offset array on Cygwin)
2002-08-01  Rick Danos  <rdanos@hotmail.com>

	PR libstdc++/7461
	* config/os/newlib/ctype_noninline.h (classic_table): Add offset.
	* config/os/newlib/ctype_inline.h (is): Use static_cast.

From-SVN: r55955
2002-08-01 22:17:23 +00:00
Benjamin Kosnik 0870a49046 linker-map.gnu: Change CXXABI_1 to CXXABI_1.2, GLIBCPP_3.1 to GLIBCPP_3.2.
2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
	    Jakub Jelinek  <jakub@redhat.com>

	* config/linker-map.gnu: Change CXXABI_1 to CXXABI_1.2,
	GLIBCPP_3.1 to GLIBCPP_3.2.

From-SVN: r55938
2002-08-01 17:25:56 +00:00
Alan Modra bd11db39e8 cpu_limits.h (__glibcpp_long_bits): Define.
* config/cpu/powerpc/cpu_limits.h (__glibcpp_long_bits): Define.
	* configure.target (cpu_include_dir): Use cpu/powerpc for powerpc64.
	* config/cpu/powerpc/atomicity.h (__always_swap): Remove.
	(__test_and_set): Remove.
	(_STWCX): Define and use.

From-SVN: r55854
2002-07-30 08:56:00 +09:30
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
Rainer Orth b62024ef52 ctype_base.h (ctype_base): Fix print to match vendor <ctype.h>.
* config/os/solaris/solaris2.5/ctype_base.h (ctype_base): Fix
	print to match vendor <ctype.h>.

From-SVN: r55463
2002-07-15 20:23:38 +00:00