Commit Graph

118 Commits

Author SHA1 Message Date
Benjamin Kosnik
575dd831c7 c_locale_gnu.cc: Minor tweaks.
2001-08-23  Benjamin Kosnik  <bkoz@redhat.com>

	* config/locale/c_locale_gnu.cc: Minor tweaks.
	(moneypunct<wchar_t>): Implement.
	* include/bits/locale_facets.h: Same.
	* testsuite/22_locale/moneypunct.cc: New file.
	* testsuite/22_locale/moneypunct_byname.cc: New file.
	* testsuite/22_locale/moneypunct_char_members.cc: New file.

From-SVN: r45142
2001-08-24 04:11:23 +00:00
David Edelsohn
a9e7dc6cdf Fix PowerPC long double as well.
From-SVN: r45141
2001-08-23 19:02:01 -04:00
David Edelsohn
be3ebbbb9e Correct __s390__ definitions.
From-SVN: r45140
2001-08-23 18:49:20 -04:00
Benjamin Kosnik
ea0c0b6e1b Implement std::collate.
2001-08-17  Benjamin Kosnik  <bkoz@redhat.com>

	Implement std::collate.
	* config/locale/collate_specializations_gnu.cc: Add here, implement in
	MT-safe way.
	* config/locale/collate_specializations_generic.cc: Add here, but
	in a less sophisticated manner.
	* include/bits/locale_facets.tcc (collate): Add generic definition.
	* include/bits/locale_facets.h (~collate): Mark virtual.
	(collate::_M_compare_helper): New.
	(collate::_M_transform_helper): New.
	* src/locale.cc: Remove unnecessary specializations.
	* src/string-inst.cc: Tweak instantiation of ctors.

	* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Do configury for collate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* src/Makefile.am (sources): Add collate.cc.
	* src/Makefile.in: Regenerate.

	* testsuite/22_locale/collate_byname.cc: New.
	* testsuite/22_locale/collate.cc: New file.
	* testsuite/22_locale/collate_char_members.cc: New file.
	* testsuite/22_locale/collate_wchar_t_members.cc: New file.

From-SVN: r44996
2001-08-18 02:53:13 +00:00
Franz Sirl
9567d32780 configure.target: Set LIMITSH for powerpc-*-*.
2001-08-16  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
	* configure.target: Set LIMITSH for powerpc-*-*.
	* config/cpu/powerpc/bits/limits.h: New file.

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

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

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

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

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

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

From-SVN: r44745
2001-08-09 14:01:36 -04:00
Benjamin Kosnik
33590f13b2 Implement std::messages.
2001-08-07  Benjamin Kosnik  <bkoz@redhat.com>

	Implement std::messages.
	Make config a fully-nested directory.
	* config/locale: New directory.
	* config/c_locale_generic.cc: Move into locale subdirectory.
	* config/c_locale_generic.h: Same.
	* config/c_locale_gnu.cc: Same.
	* config/c_locale_gnu.h: Same.
	* config/c_locale_ieee_1003.1-200x.cc: Same.
	* config/c_locale_ieee_1003.1-200x_.h: Same.
	* config/codecvt_specializations_generic.h: Same.
	* config/codecvt_specializations_ieee_1003.1-200x.h: Same.
	* config/messages_members_gnu.h: Same.
	* config/messaages_members_gnu.cc: Same.
	* config/messages_members_generic.h: Same.
	* config/messaages_members_generic.cc: Same.
	* config/messages_members_ieee_1003.1-200x.h: Same.
	* config/messaages_members_ieee_1003.1-200x.cc: Same.
	* config/io: New directory.
	* config/basic_file_libio.h: Move into io subdirectory.
	* config/basic_file_libio.cc: Same.
	* config/c_io_libio.h: Same.
	* config/c_io_libio_codecvt.c: Same.
	* config/basic_file_stdio.h: Same.
	* config/basic_file_stdio.cc: Same.
	* config/c_io_stdio.h: Same.

	* po: New directory.
	* po/POTFILES.in: New file.
	* po/Makefile.am: New file.
	* po/Makefile.in: New file.
	* po/libstdc++.pot: Generic translation file.
	* po/fr.po: Preliminary French translation.
	* po/de.po: Preliminary German translation.
	* intl: New directory.
	* intl/Makefile.am: New file.
	* intl/Makefile.in: New file.
	* intl/string_literals.cc: New file.
	* acinclude.m4 (GLIBCPP_CONFIGURE): Bump VERSION to 3.1.0. Add
	requisite setup for gettext. Re-arrange.
	* aclocal.m4: Regenerate.
	* configure.in: Don't call GLIBCPP_CHECK_COMPILER_VERSION.
	Output Makefile bits for po and intl.
	* configure: Regenerate.
	* Makefile.am (SUBDIRS): Add intl, po. Add rule for dist.
	* Makefile.in: Regenerate.
	* acconfig.h: Add ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_STPCPY.
	* config.h.in: Regenerate.

	* acinclude.m4 (AC_REPLACE_STRINGFUNCS): Remove.

	* include/Makefile.am (install-data-local): Don't install Makefile.
	* include/Makefile.in: Regenerate.

	* include/bits/locale_facet.h (locale::facet::_S_clone_c_locale):
	Add member.
	* config/locale/c_locale_gnu.cc (_S_clone_c_locale): Add definition.
	* config/locale/c_locale_generic.cc: Same.
	* config/locale/c_locale_ieee_1003.1-200x.cc: Same.

	* include/bits/codecvt.h: Excise non-standard, non-required
	bits. This includes __enc_traits, and partial specializations of
	codecvt for __enc_traits.
	* src/codecvt.cc (__enc_traits::_S_max_size): Guard
	* config/codecvt_partials_ieee_1003.1-200x.h: New file.
	* config/codecvt_partials_generic.h: New file.
	* include/Makefile.am (allstamps): Add stamp-codecvt_model.
	(stamp-codecvt_model): Add.
	* include/Makefile.in: Regenerate.
	* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add in codecvt configury.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/22_locale/codecvt_unicode_wchar_t.cc: Use macro guard.
	* testsuite/22_locale/codecvt_unicode_char.cc: Same.
	* testsuite/22_locale/ctor_copy_dtor.cc: And here.

	* include/bits/localefwd.h (class locale::facet): Add __enc_traits
	as a friend for _S_*_c_locale functions.
	* include/bits/codecvt.h (__enc_traits::__enc_traits): Add locale
	argument to default constructor so that CODESET information can be
	deduced.
	* include/bits/locale_facets.h (messages_byname):
	Re-implement. Remove specializations.
	* src/locale.cc (messages_byname<char>): Remove specialization.
	(messages_byname<wchar_t>): Same.
	* config/locale/c_locale_ieee_1003.1-200x.cc: New file.
	* config/locale/c_locale_ieee_1003.1-200x.h: New file.
	* config/locale/messages_members_ieee_1003.1-200x.cc: New file.
	* config/locale/messages_members_ieee_1003.1-200x.h: New file.
	* config/locale/messages_members_gnu.cc: New file.
	* config/locale/messages_members_gnu.h: New file.
	* config/locale/messages_members_generic.cc: New file.
	* config/locale/messages_members_generic.h: New file.

	* docs/html/configopts.html: Add documentation for new locale
	model, ieee_1003.1. Adjust other flags for current defaults.
	* docs/html/22_locale/locale.html: Update.
	* docs/html/22_locale/howto.html: Add link to messages.html. Organize.
	* docs/html/22_locale/messages.html: New.

	* src/Makefile.am (sources): Add messages_virtuals.cc.
	* src/Makefile.in: Regenerate.
	* include/Makefile.am (allstamps): Add stamp-messages_model.
	(stamp-messages_model): Add.
	* include/Makefile.in: Regenerate.
	* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add in messages configury.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

	* testsuite_flags.in (--cxxflags): Add LOCALEDIR.
	* testsuite/lib/libstdc++-v3-dg.exp: Remove broken LD_LIBRARY_PATH
	bits for Irix.
	* acinclude (GLIBCPP_ENABLE_CLOCALE): Set glibcpp_localedir to the
	build directories message catalog base directory, and export.
	Eventually this should probably be made to deal with build and
	install directories. For now, punt on this as the library itself
	doesn't use message catalogs (yet).
	* testsuite/22_locale/messages.cc: New file.
	* testsuite/22_locale/messages_char_members.cc: New file.
	* testsuite/22_locale/messages_byname.cc: New file.

From-SVN: r44702
2001-08-08 02:49:01 +00:00
Benjamin Kosnik
3fe670a469 configure.target: Remove mips from cpu table.
2001-07-30  Benjamin Kosnik  <bkoz@redhat.com>

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

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

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

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

[[Split portion of a mixed commit.]]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

From-SVN: r41451
2001-04-20 08:59:25 +00:00
Benjamin Kosnik
5fa9abc3e9 basic_file.h (get_fileno): Remove.
2001-03-26  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/basic_file.h (get_fileno): Remove.
	(_M_fileno): Remove.
	(_M_cfile_created): Add.
	(basic_file::basic_file(__c_file_type*, openmode): Add.
	(basic_file::basic_file(int, const char*, openmode): Remove.
	* include/bits/fstream.tcc (basic_fstream::basic_filebuf(int __fd,
	const char*, ios_base::openmode): Don't allocate
	internal buffers. Turn off internal buffers.
	(basic_filebuf::overflow): Remove test for null buffer.
	(basic_filebuf::_M_really_overflow): Same. Allow unbuffered use.
	* include/bits/streambuf.cc: Tweak.
	* include/bits/std_ostream.h: Tweak.
	* config/basic_file_libio.h: Same.
	* config/basic_file_stdio.h: Same.
	* src/ios.cc (ios_base::Init::Init()): Unbuffer stdout by default.
	* testsuite/27_io/filebuf_members.cc: Tweaks.
	* testsuite/27_io/ios_base_members_static.cc: Tweaks.

From-SVN: r40863
2001-03-27 03:48:17 +00:00
Richard Henderson
f64805b6e9 gen-num-limits.cc: Instantiate for wchar_t.
* src/gen-num-limits.cc: Instantiate for wchar_t.
        * config/os/aix/bits/ctype_base.h (mask): Use unsigned int.

From-SVN: r40666
2001-03-20 11:39:45 -08:00
Steve Ellcey
816dc708d2 ctype_base.h: Make ctype masks match HP-UX ctype.h header file.
* libstdc++-v3/config/os/hpux/bits/ctype_base.h: Make ctype masks
        match HP-UX ctype.h header file.

From-SVN: r40451
2001-03-13 21:32:44 -07:00
Andris Pavenis
fafcb5c937 ctype_noninline.h: Fix typo and remove duplicate definitions of __dj_ctype_*
2001-03-13  Andris Pavenis <pavenis@latnet.lv>

        * config/djgpp/bits/ctype_noninline.h: Fix typo and remove
	duplicate definitions of __dj_ctype_*

From-SVN: r40444
2001-03-13 20:10:01 +00:00
Benjamin Kosnik
d32c94be18 std_iosfwd.h: Remove string forward decls here.
2001-03-07  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/std_iosfwd.h: Remove string forward decls here.
	* include/bits/stringfwd.h: Add forward decls for char_traits
	specializations.
	* config/c_io_libio.h (wstreamoff): Delete.
	* config/c_io_stdio.h (wstreamoff): Same.
	* include/bits/char_traits.h: Use streamoff not wstreamoff for
	char_traits<wchar_t>::off_type.
	Remove duplicate typedefs.
	* include/bits/fpos.h: Define streampos/wstreampos here.
	* testsuite/27_io/istream_seeks.cc (test04): Explicitly cast int
	values to off_type.
	(test05): Same.
	Changeup output files.
	* testsuite/27_io/istream_unformatted.cc: Change output files.
	* testsuite/27_io/istream_seeks-1.txt: Add.
	* testsuite/27_io/istream_seeks-2.tst: Add.
	* testsuite/27_io/istream_seeks-1.tst: Add.
	* testsuite/27_io/istream_unformatted-2.tst: Delete.
	* testsuite/27_io/istream_unformatted-3.tst: Delete.
	* testsuite/27_io/istream_unformatted-3.txt: Delete.

From-SVN: r40303
2001-03-07 22:22:41 +00:00
Alexandre Oliva
dd1f09c21c Add Irix 5.2, 6.3 support.
2001-03-07  Alexandre Oliva  <aoliva@redhat.com>

	Add Irix 5.2, 6.3 support.
        * config/os/irix/bits: Renamed too...
        * config/os/irix/irix6.5/bits: this.
        * config/os/irix/irix5.2/bits: New, copied from irix6.5/bits.
        * config/os/irix/irix5.2/bits/ctype_base.h: Use _U, _L, _N,
        _X, _S, _P, _C and _B instead of IRIX-6.5 _IS* macros.
        * config/os/irix/irix5.2/bits/ctype_noninline.h
        (ctype<char>::ctype): Initialize _M_table with __ctype.
        * configure.target: Adjust.

From-SVN: r40294
2001-03-07 18:35:46 +00:00
Laurynas Biveinis
e49ceff2d1 ctype_base.h (ctype_base): fix __to_type definition.
* config/os/djgpp/ctype_base.h (ctype_base): fix __to_type
        definition. Replace enum with static const variables.

        * config/os/djgpp/ctype_inline.h (ctype<char>::is): remove
        throw specification, fix typos, use <static_cast>.
        (ctype<char>::scan_is): remove throw specification.
        (ctype<char>::scan_not): likewise.

        * config/os/djgpp/ctype_noninline.h (ctype<char>::ctype): fix typo.
        (ctype<char>::do_toupper(char)): use <static_cast>.
        (ctype<char>::do_toupper(char *, const char *)): likewise.
        (ctype<char>::do_tolower(char)): likewise.
        (ctype<char>::do_tolower(char *, const char *)): likewise.

From-SVN: r40243
2001-03-05 04:44:16 +00:00
Benjamin Kosnik
e08838ac57 c++config (__GLIBCPP__): Bump number in anticipation of 2.92.
2001-02-28  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/2103
	* include/bits/c++config (__GLIBCPP__): Bump number in
	anticipation of 2.92.

	* include/bits/codecvt.h: Fix typo.
	* include/bits/basic_file.h (__basic_file): Don't use _M_wfile for
	stdio model.
	* acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Enable wchar_t
	instantiations for stdio model.

From-SVN: r40140
2001-03-01 00:37:18 +00:00
Benjamin Kosnik
115b5a7e47 basic_file.h: Include basic_file_model.h.
2001-02-27  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/1886
	* include/bits/basic_file.h: Include basic_file_model.h.
	* config/c_io_libio.cc: Move to...
	* config/basic_file_libio.cc: Here.
	* config/basic_file_libio.h: New file.
	* config/c_io_stdio.cc: Move to...
	* config/basic_file_stdio.cc: Here.
	* config/basic_file_stdio.h: New file.
	* config/c_io_libio.h: Tweak.
	* config/c_io_stdio.h: Tweak.
	* src/Makefile.am (build_headers): Add basic_file_model.h.
	(sources): Add basic_file.cc, remove c++io.cc.
	* src/Makefile.in: Regenerate.
	* acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Add support for
	basic_file_model.h and basic_file.cc.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/27_io/filebuf.cc (test05): Add regression.

From-SVN: r40109
2001-02-28 03:26:44 +00:00
Benjamin Kosnik
c0a26060f6 basic_file.h: Include basic_file_model.h.
2001-02-27  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/1886
	* include/bits/basic_file.h: Include basic_file_model.h.
	* config/c_io_libio.cc: Move to...
	* config/basic_file_libio.cc: Here.
	* config/basic_file_libio.h: New file.
	* config/c_io_stdio.cc: Move to...
	* config/basic_file_stdio.cc: Here.
	* config/basic_file_stdio.h: New file.
	* config/c_io_libio.h: Tweak.
	* config/c_io_stdio.h: Tweak.
	* src/Makefile.am (build_headers): Add basic_file_model.h.
	(sources): Add basic_file.cc, remove c++io.cc.
	* src/Makefile.in: Regenerate.
	* acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Add support for
	basic_file_model.h and basic_file.cc.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/27_io/filebuf.cc (test05): Add regression.

From-SVN: r40108
2001-02-28 03:20:36 +00:00
Benjamin Kosnik
a29456b524 Correct license.
2001-02-27  Benjamin Kosnik  <bkoz@redhat.com>

	Correct license.
	* config/cpu/alpha/bits/atomicity.h: Change.
	* config/cpu/arm/bits/atomicity.h
	* config/cpu/generic/bits/atomicity.h
	* config/cpu/i386/bits/atomicity.h
	* config/cpu/i486/bits/atomicity.h
	* config/cpu/ia64/bits/atomicity.h
	* config/cpu/powerpc/bits/atomicity.h
	* config/cpu/sparc/sparc32/bits/atomicity.h
	* config/cpu/sparc/sparc64/bits/atomicity.h
	* config/os/aix/bits/atomicity.h
	* config/os/irix/bits/atomicity.h

From-SVN: r40103
2001-02-28 00:14:16 +00:00
Benjamin Kosnik
7a6f729041 c_locale_gnu.h: Add clocale include.
2001-02-20  Benjamin Kosnik  <bkoz@redhat.com>

	* config/c_locale_gnu.h: Add clocale include.

From-SVN: r39968
2001-02-22 01:35:47 +00:00
Andreas Jaeger
c62ea79568 atomicity.h (__compare_and_swap): Fix typo.
2001-02-19  Andreas Jaeger  <aj@suse.de>

	* config/cpu/sparc/sparc64/bits/atomicity.h (__compare_and_swap):
	Fix typo.

From-SVN: r39886
2001-02-19 16:41:46 +01:00
Benjamin Kosnik
1f63887a44 c_locale_generic.cc: Remove langinfo include.
2001-01-30   Benjamin Kosnik  <bkoz@redhat.com>

	* config/c_locale_generic.cc: Remove langinfo include.

From-SVN: r39349
2001-01-30 17:21:50 +00:00
Benjamin Kosnik
0214010c60 Preliminary named locales.
2001-01-29  Benjamin Kosnik  <bkoz@redhat.com>

	Preliminary named locales.
	* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): New macro.
	* aclocal.m4: Regenerate.
	* configure.in: Use it.
	* configure: Regerate.
	* src/Makefile.am (sources): Add c++locale.cc.
	(build_headers): Add c++locale.h.
	* src/Makefile.in: Regenerate.
	* config/c_locale_gnu.h: New file.
	* config/c_locale_gnu.cc: New file. Non-inline member functions
	for named locales, gnu-specific.
	* config/c_locale_generic.h: New file.
	* config/c_locale_generic.cc: New file. Non-inline member
	functions for named locales, generic version.
	* docs/html/configopts.html: Add documentation on new options.

	* include/bits/locale_facets.h (class _Messages): Remove.
	(class _Moneypunct): Remove.
	* src/locale-inst.cc: Remove.

	* include/bits/locale_facets.h (class _Collate): Remove.
	* src/locale-inst.cc (std): Remove.
	* src/locale.cc: And here.

	* include/bits/localefwd.h (locale::_M_coalesce): New
	function. Correctly put together multi-name locales.
	(_Impl(const _Impl&, category, size_t)): Remove.

	* include/bits/localefwd.h (locale::_Impl): Remove _M_construct_*
	member functions.
	(_M_normalize_category_names): Remove.
	(_M_replace_categories): Fix.

	* src/localename.cc (locale::_Impl::_M_construct_collate): Remove.
	(locale::_Impl::_M_construct_ctype): Remove.
	(locale::_Impl::_M_construct_monetary): Remove.
	(locale::_Impl::_M_construct_numeric): Remove.
	(locale::_Impl::_M_construct_time): Remove.
	(locale::_Impl::_M_construct_messages): Remove.

	* include/bits/locale_facets.h (_Bad_use_facet): Remove.
	(_Use_facet_failure_handle): Remove.
	* src/locale.cc: Remove definitions.
	* src/locale-inst.cc: And here.

	* testsuite/22_locale/ctor_copy_dtor.cc (test01): Fixup. Add tests.

	* src/localename.cc (locale::facet::_S_create_c_locale): Properly
	create and error-check underlying locale object.
	(locale::facet::_S_destroy_c_locale): Add, take care of properly
	tearing down underlying locale object.
	* include/bits/localefwd.h (locale::facet): Declare.
	* testsuite/22_locale/members.cc: Don't test "fr_FR" locale for
	correctness, as glibc apparently has incorrect info in it. Test
	with it when it works again.....

	* include/bits/localefwd.h (locale::_Impl::__vec_string):
	Remove. Number of categories is fixed at six, so just simplify and
	make this an array of strings.
	(locale::_Impl::_M_has_name): Remove.
	(locale::_Impl::_M_name): Remove.
	(locale::_Impl::_M_category_names): Turns into...
	(locale::_Impl::_M_names): ...this.
	(locale::_Impl::_M_has_same_name()): New function.
	* src/localename.cc (locale::_Impl::~_Impl()): Remove here.
	(locale::_Impl::_Impl(size_t __refs, string __str)): Simplify
	signature.
	* src/locale.cc (locale::name()): Construct mangled name
	accurately reflecting combined locale categories.

	* src/locale.cc (locale::classic()): Don't initialize here.
	* src/localename.cc (locale::_Impl::_Impl(size_t __num, size_t
	__refs, bool __has_name, string __str): Do it here.

	* include/bits/localefwd.h: _S_categories_num to
	_S_num_categories. _S_facets_num to _S_num_facets.
	(locale:🆔:id()): Explicitly set _M_index to zero.
	* src/locale.cc: Same.

	* src/locale.cc: (locale::locale(const char*)): Construct named
	locales uniquely.

	* src/locale.cc: Remove numpunct_byname ctors.
	* testsuite/22_locale/numpunct_byname.cc: New file.
	* testsuite/22_locale/numpunct.cc: New file.

	* include/bits/localefwd.h (class locale): Change data members to
	protected, from private.
	(_Impl::_M_get_c_locale): Add member function.
	(locale::facet::_M_get_global_impl()): Add member function.
	* include/bits/locale_facets.h (numpunct::_M_init): Change to take
	a __c_locale pointer.
	(numpunct::numpunct( __c_locale*, size_t)): Add additonal ctor for
	named locales.
	* testsuite/22_locale/members.cc: New file, test name and combine.

	* include/bits/locale_facets.h (class numpunct): Remove class
	_Punct and _Numpunct. Rewrite class numpunct to be correct for
	named locales.
	* include/bits/localefwd.h (locale::_Imp::_M_c_locale): Add.
	* src/localename.cc (_Impl::~_Impl()): Call __frelocale.
	(_Imp::_Impl(size_t, size_t, bool, string)) Initialize _M_c_locale.
	* src/locale-inst.cc: Remove _Numpunct, _Punct instantiations.
	* testsuite/22_locale/numpunct_char_members.cc: New file.

From-SVN: r39347
2001-01-30 09:18:51 +00:00
Richard Henderson
d9de4b22f6 atomicity.h: Remove tricky .subsetion bits.
2001-01-25  Richard Henderson  <rth@redhat.com>

	* config/cpu/alpha/bits/atomicity.h: Remove tricky .subsetion
	bits. Fixes Tru64 build issues.

From-SVN: r39290
2001-01-26 23:07:38 +00:00
Mark Mitchell
c347e89206 atomicity.h (__compare_and_swap): Remove.
* config/os/aix/bits/atomicity.h (__compare_and_swap): Remove.
	(__always_swap): Likewise.

From-SVN: r39243
2001-01-24 19:19:26 +00:00
Benjamin Kosnik
051d74bfd5 *: Fix dates.
2001-01-12  Benjamin Kosnik  <bkoz@redhat.com>

	* config/os/djgpp/bits/*: Fix dates.

	* include/bits/basic_string.h (_S_find(const _CharT* __beg, const
	_CharT* __end, _CharT __c): Remove.
	* include/bits/basic_string.tcc: Substitute traits::find for _S_find.
	* include/bits/char_traits.h: Tweak.

From-SVN: r38962
2001-01-12 21:36:32 +00:00
Laurynas Biveinis
6f87af20c3 acinclude.m4 (GLIBCPP_CHECK_CTYPE_SUPPORT): check for DJGPP <ctype.h>
* acinclude.m4 (GLIBCPP_CHECK_CTYPE_SUPPORT): check for DJGPP <ctype.h>
(LIB_AC_PROG_CXX): replace [/\\] with [\\/] to work around older
bash bug.
* aclocal.m4: regenerated.
* configure.target: set os_include_dir to config/os/djgpp under DJGPP.
* configure: regenerated.
* config/os/djgpp, config/os/djgpp/bits: new directories.
* config/os/djgpp/bits/ctype_base.h,
config/os/djgpp/bits/ctype_inline.h,
config/os/djgpp/bits/ctype_noninline.h,
config/os/djgpp/bits/os_defines.h: new files.

From-SVN: r38958
2001-01-12 14:39:07 -05:00
Loren J. Rittle
046585534e ctype_inline.h (is): (Make right code path:) Remove magic constants and restructure to handle...
* config/os/bsd/freebsd/bits/ctype_inline.h (is): (Make right
	code path:) Remove magic constants and restructure to handle
	ctype.h bit mask layout changes more gracefully.  (Make fast
	code path:) Use __maskrune (), if available.
	(is): Remove special case for digit and xdigit masks.

From-SVN: r38847
2001-01-10 02:08:16 +00:00
Benjamin Kosnik
d358ecd01f [multiple changes]
2001-01-05  Benjamin Kosnik  <bkoz@redhat.com>

	Fix 27_io/filebuf_members.cc
	* src/localename.cc (locale::_Impl::_Impl(const _Impl& __imp,
	const string& __name, category __cat, size_t __refs): Set
	_M_has_name with _M_name.
	* include/bits/localefwd.h (locale::operator!=): Protect member
	function call with this->.
	* src/locale.cc (locale::operator==): Make fast checks first.
	* include/bits/basic_ios.tcc (basic_ios::init): Simplify.

	* include/bits/ios_base.h (_M_synced_with_stdio): Add data member
	to ios_base::Init.
	* src/ios.cc (ios_base::Init::Init): Initialize here.
	(ios_base::sync_with_stdio): Set here.

2001-01-04  Loren J. Rittle  <ljrittle@acm.org>

        * config/c_io_stdio.cc (__basic_file<_CharT>::sys_open()): On
        systems that support it, call dup() before fdopen().

From-SVN: r38742
2001-01-06 02:44:11 +00:00
Benjamin Kosnik
36e40658db acinclude.m4 (GLIBCPP_ENABLD_CSTDIO): Add in default value.
2001-01-02  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCPP_ENABLD_CSTDIO): Add in default value.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

	* include/bits/c++config (__GLIBCPP__): Bump version number.

	* ChangeLog: Start new log for year 2001
	* ChangeLog-2000: New file.

	* docs/html/configopts.html: Make sure default values are current,

From-SVN: r38663
2001-01-03 15:53:28 +00:00
Benjamin Kosnik
62f4333a68 ctype_inline.h (is): Same.
2000-12-19  Benjamin Kosnik  <bkoz@fillmore.redhat.com>

	* config/os/solaris/solaris2.5/bits/ctype_inline.h (is): Same.
	* config/os/solaris/solaris2.6/bits/ctype_inline.h (is): Same.
	* config/os/solaris/solaris2.7/bits/ctype_inline.h (is): Same.
	* config/os/newlib/bits/ctype_inline.h (is): Same.
	* config/os/irix/bits/ctype_inline.h (is): Same.
	* config/os/bsd/netbsd/bits/ctype_inline.h (is): Same.
	* config/os/bsd/freebsd/bits/ctype_inline.h (is): Same.
	* config/os/aix/bits/ctype_inline.h (is): Same.
	* config/os/gnu-linux/bits/ctype_inline.h (is): Revert.
	* config/os/generic/bits/ctype_inline.h (is): Non-table based
	implementation.

	* testsuite/22_locale/ctype_char_members.cc (test01): Use binary
	operator correctly.
	(test01): Check 'A' for alnum, upper, alpha.

From-SVN: r38385
2000-12-19 19:49:00 +00:00
Benjamin Kosnik
0c3a231d2f locale_facets.h (ctype<char>): Remove throw specs not in base class signature.
2000-12-13  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.h (ctype<char>): Remove throw specs not in
	base class signature.
	* config/os/*/bits/ctype_inline.h (is): Same.

From-SVN: r38250
2000-12-14 09:19:56 +00:00
Benjamin Kosnik
d9ab8adb37 ctype_base.h (ctype_base): Consistency with linux.
2000-12-13  Benjamin Kosnik  <bkoz@redhat.com>

	* config/os/generic/bits/ctype_base.h (ctype_base): Consistency
	with linux.
	* config/os/generic/bits/ctype_inline.h (is): Same.
	* config/os/solaris/solaris2.5/bits/ctype_inline.h (is): Same.
	* config/os/solaris/solaris2.5/bits/ctype_base.h: Same.
	* config/os/solaris/solaris2.6/bits/ctype_inline.h (is): Same.
	* config/os/solaris/solaris2.6/bits/ctype_base.h: Same.
	* config/os/solaris/solaris2.7/bits/ctype_inline.h (is): Same.
	* config/os/solaris/solaris2.7/bits/ctype_base.h: Same.
	* config/os/irix/bits/ctype_inline.h (is): Same.
	* config/os/irix/bits/ctype_base.h (ctype_base): Same.
	* config/os/aix/bits/ctype_inline.h (is): Same.
	* config/os/aix/bits/ctype_base.h (ctype_base): Same.
	* config/os/bsd/netbsd/bits/ctype_inline.h (is): Same.
	* config/os/bsd/netbsd/bits/ctype_base.h (ctype_base): Same.
	* config/os/bsd/freebsd/bits/ctype_base.h (ctype_base): Same.
	* config/os/bsd/freebsd/bits/ctype_inline.h (is): Same.
	* config/os/newlib/bits/ctype_inline.h (is): Same.
	* config/os/newlib/bits/ctype_base.h (ctype_base): Same.

	* testsuite/22_locale/ctype_char_members.cc (test01): Add tests, fix.
	* testsuite/22_locale/ctype.cc (test01): Add tests for
	ctype_base::mask bitmask features.
	* src/locale.cc: Define const static data for ctype_base.
	* config/os/gnu-linux/bits/ctype_base.h (ctype_base): Make
	ctype_base::mask type an integer type, not an enum.
	* config/os/gnu-linux/bits/ctype_inline.h (is): Implement correctly.
	* include/bits/locale_facets.h: Tweaks.

	* include/bits/ios_base.h: Formatting tweaks.

	* docs/html/17_intro/C++STYLE: Add.

From-SVN: r38243
2000-12-14 07:20:37 +00:00
Benjamin Kosnik
4716be24b5 ctype_base.h (ctype_base): Change space mask.
2000-12-07  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	* config/os/generic/bits/ctype_base.h (ctype_base): Change space mask.

	* config/os/generic/bits/ctype_noninline.h (ctype): Remove default
	arguments in definition.
	* config/os/solaris/solaris2.7/bits/ctype_noninline.h (ctype): Same.
	* config/os/solaris/solaris2.6/bits/ctype_noninline.h (ctype): Same.
	* config/os/solaris/solaris2.5/bits/ctype_noninline.h (ctype): Same.
	* config/os/newlib/bits/ctype_noninline.h (ctype): Same.
	* config/os/irix/bits/ctype_noninline.h (ctype): Same.
	* config/os/hpux/bits/ctype_noninline.h (ctype): Same.
	* config/os/bsd/netbsd/bits/ctype_noninline.h (ctype): Same.
	* config/os/bsd/freebsd/bits/ctype_noninline.h (ctype): Same.
	* config/os/aix/bits/ctype_noninline.h (ctype): Same.

	* include/bits/locale_facets.h: Tweak.

From-SVN: r38115
2000-12-07 20:49:10 +00:00
Benjamin Kosnik
167ed88f7a locale_facets.h (ctype): Remove _Ctype_nois and _Ctype and replace with common __ctype_abstract_base.
2000-12-06  Benjamin Kosnik  <bkoz@kredhat.com>

	* include/bits/locale_facets.h (ctype): Remove _Ctype_nois and
	_Ctype and replace with common __ctype_abstract_base.
	(ctype<wchar_t>::_M_convert_to_wmask): Move to locale.cc.
	* config/os/gnu-linux/bits/ctype_noninline.h (ctype<char>::ctype):
	And here.
	* config/os/solaris/solaris2.7/bits/ctype_noninline.h (ctype): Same.
	* config/os/solaris/solaris2.6/bits/ctype_noninline.h (ctype): Same.
	* config/os/solaris/solaris2.5/bits/ctype_noninline.h (ctype): Same.
	* config/os/newlib/bits/ctype_noninline.h (ctype): Same.
	* config/os/irix/bits/ctype_noninline.h (ctype): Same.
	* config/os/hpux/bits/ctype_noninline.h (ctype): Same.
	* config/os/generic/bits/ctype_noninline.h (ctype): Same.
	* config/os/aix/bits/ctype_noninline.h (ctype): Same.
	* config/os/bsd/netbsd/bits/ctype_noninline.h (ctype): Same.
	* config/os/bsd/freebsd/bits/ctype_noninline.h (ctype): Same.
	* src/locale-inst.cc: Clean instantiations.
	* src/locale.cc (ctype<char>): Add definitions here.
	(ctype<wchar_t>::_M_wmask): Move definitions here.

	* config/os/generic/bits/ctype_inline.h (ctype<char>::is):
	Implement in a generic way, with only "C" functionality and no
	knowlege of the target os.
	* config/os/generic/bits/os_defines.h: Change comments to C++ style.
	* testsuite/22_locale/ctype_char_members.cc (test01): Add tests.

	* include/bits/codecvt.h (ctype_byname): Remove specializations,
	as not required.
	* include/bits/localefwd.h (codecvt_byname): And here.
	* src/codecvt.cc: Remove codecvt_byname specializations.

	* include/c/bits/std_cstdio.h: Include c++config.h.

From-SVN: r38100
2000-12-07 06:44:49 +00:00