Commit Graph

41 Commits

Author SHA1 Message Date
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
Benjamin Kosnik
4e10943dda configure.in (libtool_VERSION): Add.
2001-08-13  Benjamin Kosnik  <bkoz@redhat.com>

	* configure.in (libtool_VERSION): Add.
	(VERSION): Change to
	(release_VERSION): This.
	* configure: Regenerate.
	* src/Makefile.am (libstdc___la_LDFLAGS): Use -version-info with
	libtool_VERSION.
	* src/Makefile.in: Regenerate.

	* intl/Makefile.am: Remove.
	* intl/Makefile.in: Remove.
	* intl: Remove.
	* Makefile.am (SUBDIRS): Remove intl.
	* po/Makefile.am (DISTFILES): Add string_literals.cc
	(MSGFMT): Add.
	* po/string_literals.cc: Add.
	* po/POTFILES.in: Fix path.
	* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Don't call AM_GNU_GETTEXT.
	* aclocal.m4: Regenerate.
	* configure.in: Remove AC_OUTPUT of intl/Makefile.

	* include/backward/backward_warning.h: Clarify message.

	* testsuite_flags.in (--cxxflags): Use same debug flags for
	library and testsuite.

	* include/Makefile.am (c_compatibility): Remove.
	* include/Makefile.in: Regenerate.

From-SVN: r44880
2001-08-14 01:24:30 +00:00
Benjamin Kosnik
58b08ac3e1 acconfig.h (_GLIBCPP_MEM_LIMITS): Define.
2001-08-09  Benjamin Kosnik  <bkoz@redhat.com>

	* acconfig.h (_GLIBCPP_MEM_LIMITS): Define.
	* config.h.in: Regenerate.
	* acinclude.m4 (GLIBCPP_CHECK_SETRLIMIT): Check for setrlimit
	function.
	* aclocal.m4: Regenerate.
	* configure.in: Remove duplicate AM_CONFIG_HEADER.
	(AM_CONFIG_HEADER): Remove testsuite/testsuite_hooks.h.
	Only call GLIBCPP_CHECK_SETRLIMIT for native compiles.
	* configure: Regenerate.
	* testsuite_hooks.h.in: Move to...
	* testsuite_hooks.h: Here, include c++config.h. Use it.

	* Makefile.am (SUBDIRS): Move testsuite to last directory.
	* Makefile.in: Regenerate.
	* po/Makefile.am (stamp-po): Add.

From-SVN: r44752
2001-08-10 06:50:34 +00: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
Phil Edwards
fe413112f8 acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): New macro, calls...
2001-08-06  Phil Edwards  <pme@sources.redhat.com>

	* acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE):  New macro, calls...
	(GLIBCPP_CHECK_SETRLIMIT):  ...this new macro, which also uses...
	(GLIBCPP_CHECK_SETRLIMIT_ancilliary):  ...this new macro.
	* configure.in (AM_CONFIG_HEADER):  Also generate testsuite_hooks.h.
	Call GLIBCPP_CONFIGURE_TESTSUITE.
	* aclocal.m4:  Regenerate.
	* config.h.in:  Regenerate.
	* configure:  Regenerate.

	* testsuite/lib/libstdc++-v3-dg.exp:  Download new header instead
	of old header.

	* testsuite_flags.in:  Add build dir's testsuite to INCLUDES.
	* testsuite/debug_assert.h:  Removed; contents merged into...
	* testsuite/testsuite_hooks.h.in:  ...here.  New file.
	* testsuite/17_intro/header_ciso646.cc:  No longer include
	debug_assert.h, include testsuite_hooks.h instead.
	* testsuite/17_intro/header_fstream.cc:  Likewise.
	* testsuite/17_intro/header_iomanip.cc:  Likewise.
	* testsuite/17_intro/header_ios.cc:  Likewise.
	* testsuite/17_intro/header_iosfwd.cc:  Likewise.
	* testsuite/17_intro/header_iostream.cc:  Likewise.
	* testsuite/17_intro/header_istream.cc:  Likewise.
	* testsuite/17_intro/header_ostream.cc:  Likewise.
	* testsuite/17_intro/header_sstream.cc:  Likewise.
	* testsuite/17_intro/header_streambuf.cc:  Likewise.
	* testsuite/18_support/numeric_limits.cc:  Likewise.
	* testsuite/19_diagnostics/stdexceptions.cc:  Likewise.
	* testsuite/20_util/allocator_members.cc:  Likewise.
	* testsuite/20_util/auto_ptr.cc:  Likewise.
	* testsuite/20_util/pairs.cc:  Likewise.
	* testsuite/21_strings/append.cc:  Likewise.
	* testsuite/21_strings/capacity.cc:  Likewise.
	* testsuite/21_strings/char_traits_requirements.cc:  Likewise.
	* testsuite/21_strings/compare.cc:  Likewise.
	* testsuite/21_strings/ctor_copy_dtor.cc:  Likewise.  Also set up
	call to (disabled) __set_testsuite_memlimit() wrapper.
	* testsuite/21_strings/element_access.cc:  Likewise.
	* testsuite/21_strings/find.cc:  Likewise.
	* testsuite/21_strings/insert.cc:  Likewise.  Also set up call to
	(disabled) __set_testsuite_memlimit() wrapper.
	* testsuite/21_strings/inserters_extractors.cc:  Likewise.
	* testsuite/21_strings/invariants.cc:  Likewise.
	* testsuite/21_strings/nonmember.cc:  Likewise.
	* testsuite/21_strings/operations.cc:  Likewise.
	* testsuite/21_strings/replace.cc:  Likewise.
	* testsuite/21_strings/rfind.cc:  Likewise.
	* testsuite/21_strings/substr.cc:  Likewise.
	* testsuite/22_locale/codecvt_char_char.cc:  Likewise.
	* testsuite/22_locale/codecvt_unicode_char.cc:  Likewise.
	* testsuite/22_locale/codecvt_unicode_wchar_t.cc:  Likewise.
	* testsuite/22_locale/codecvt_wchar_t_char.cc:  Likewise.
	* testsuite/22_locale/ctor_copy_dtor.cc:  Likewise.
	* testsuite/22_locale/ctype_char_members.cc:  Likewise.
	* testsuite/22_locale/ctype_wchar_t_members.cc:  Likewise.
	* testsuite/22_locale/facet.cc:  Likewise.
	* testsuite/22_locale/global_templates.cc:  Likewise.
	* testsuite/22_locale/members.cc:  Likewise.
	* testsuite/22_locale/numpunct_byname.cc:  Likewise.
	* testsuite/22_locale/numpunct_char_members.cc:  Likewise.
	* testsuite/22_locale/operators.cc:  Likewise.
	* testsuite/22_locale/static_members.cc:  Likewise.
	* testsuite/23_containers/bitset_ctor.cc:  Likewise.
	* testsuite/23_containers/bitset_members.cc:  Likewise.
	* testsuite/23_containers/bitset_shift.cc:  Likewise.
	* testsuite/23_containers/vector_capacity.cc:  Likewise.
	* testsuite/23_containers/vector_ctor.cc:  Likewise.
	* testsuite/23_containers/vector_element_access.cc:  Likewise.
	* testsuite/23_containers/vector_modifiers.cc:  Likewise.
	* testsuite/24_iterators/istreambuf_iterator.cc:  Likewise.
	* testsuite/24_iterators/iterator.cc:  Likewise.
	* testsuite/24_iterators/ostreambuf_iterator.cc:  Likewise.
	* testsuite/25_algorithms/binary_search.cc:  Likewise.
	* testsuite/25_algorithms/copy.cc:  Likewise.
	* testsuite/25_algorithms/heap.cc:  Likewise.
	* testsuite/25_algorithms/lower_bound.cc:  Likewise.
	* testsuite/25_algorithms/min_max.cc:  Likewise.
	* testsuite/25_algorithms/partition.cc:  Likewise.
	* testsuite/25_algorithms/rotate.cc:  Likewise.
	* testsuite/25_algorithms/sort.cc:  Likewise.
	* testsuite/26_numerics/c_math.cc:  Likewise.
	* testsuite/26_numerics/complex_inserters_extractors.cc:  Likewise.
	* testsuite/26_numerics/complex_value.cc:  Likewise.
	* testsuite/27_io/filebuf.cc:  Likewise.
	* testsuite/27_io/filebuf_members.cc:  Likewise.
	* testsuite/27_io/filebuf_virtuals.cc:  Likewise.
	* testsuite/27_io/fpos.cc:  Likewise.
	* testsuite/27_io/fstream_members.cc:  Likewise.
	* testsuite/27_io/ifstream_members.cc:  Likewise.
	* testsuite/27_io/ios_base_callbacks.cc:  Likewise.
	* testsuite/27_io/ios_base_members_static.cc:  Likewise.
	* testsuite/27_io/ios_base_storage.cc:  Likewise.
	* testsuite/27_io/ios_ctor.cc:  Likewise.
	* testsuite/27_io/ios_init.cc:  Likewise.
	* testsuite/27_io/ios_manip_basefield.cc:  Likewise.
	* testsuite/27_io/ios_manip_fmtflags.cc:  Likewise.
	* testsuite/27_io/ios_members.cc:  Likewise.
	* testsuite/27_io/istream_extractor_arith.cc:  Likewise.
	* testsuite/27_io/istream_extractor_char.cc:  Likewise.
	* testsuite/27_io/istream_extractor_other.cc:  Likewise.
	* testsuite/27_io/istream_manip.cc:  Likewise.
	* testsuite/27_io/istream_seeks.cc:  Likewise.
	* testsuite/27_io/istream_sentry.cc:  Likewise.
	* testsuite/27_io/istream_unformatted.cc:  Likewise.
	* testsuite/27_io/istringstream_members.cc:  Likewise.
	* testsuite/27_io/narrow_stream_objects.cc:  Likewise.
	* testsuite/27_io/ofstream_members.cc:  Likewise.
	* testsuite/27_io/ostream_inserter_arith.cc:  Likewise.
	* testsuite/27_io/ostream_inserter_char.cc:  Likewise.
	* testsuite/27_io/ostream_inserter_other.cc:  Likewise.
	* testsuite/27_io/ostream_manip.cc:  Likewise.
	* testsuite/27_io/ostream_seeks.cc:  Likewise.
	* testsuite/27_io/ostream_unformatted.cc:  Likewise.
	* testsuite/27_io/ostringstream_members.cc:  Likewise.
	* testsuite/27_io/streambuf.cc:  Likewise.
	* testsuite/27_io/stringbuf.cc:  Likewise.
	* testsuite/27_io/stringbuf_virtuals.cc:  Likewise.
	* testsuite/27_io/stringstream.cc:  Likewise.
	* testsuite/27_io/stringstream_members.cc:  Likewise.
	* testsuite/27_io/wide_stream_objects.cc:  Likewise.

From-SVN: r44679
2001-08-07 03:38:33 +00:00
Gabriel Dos Reis
d38cd8ae50 acinclude.m4: CHECK_MATH_DECL_AND_LINKAGE for hypot, hypotf, hypotl, atan2f, atan2l.
* acinclude.m4: CHECK_MATH_DECL_AND_LINKAGE for hypot, hypotf,
        hypotl, atan2f, atan2l.  Remove from REPLACE_MATHFUNCS list.
        * aclocal.m4: Regenerate.
        * config.h.in: Likewise.
        * configure: Likewise.
        * libmath/Makefile.am (EXTRA_LONG_DOUBLE_yes): Remove hypotl.c
        (EXTRA_DIST): Remove hypot.c hypotf.c.
        * libmath/Makefile.am: Regenerate.
        * libmath/hypotf.c: Remove.
        * libmath/hypot.c: Likewise.
        * libmath/hypotl.c: Likewise.
        * libmath/stubs.c: The macros seen here are HAVE_xxx, not
        _GLIBCPP_HAVE_xxx.  Add long double versions.

From-SVN: r44334
2001-07-25 08:06:47 +00:00
Stephen M. Webb
4a9d51090a Makefile.am: New file encapsulating header generation rules.
2001-07-13  Stephen M. Webb  <stephen@bregmasoft.com>
            Loren J. Rittle  <ljrittle@acm.org>
            Phil Edwards  <pme@sources.redhat.com>

	* include/Makefile.am:  New file encapsulating header generation rules.
	* Makefile.am (SUBDIRS):  Prepend 'include' directory.
	* acinclude.m4:  Moved/removed rules for building various headers.
	* configure.in (AC_OUTPUT):  Add include/Makefile.
	* mkc++config:  Removed.

	* testsuite_flags.in:  Changed build-includes to match new scheme.
	* mknumeric_limits:  Likewise.
	* libio/Makefile.am:  Changed INCLUDES to maatch new header scheme.
	* libmath/Makefile.am:  Likewise.
	* libsupc++/Makefile.am:  Likewise.
	* src/Makefile.am:  Likewise; removed rules to build headers.
	* libmath/mathconf.h:  Changed #include'd header names to match.
	* libmath/stubs.c:  Likewise.
	* src/gen-num-limits.cc:  Likewise.

	* configure:  Regenerated.
	* config.h.in:  Regenerated.
	* aclocal.m4:  Regenerated.
	* Makefile.in:  Regenerated.
	* include/Makefile.in:  Regenerated.
	* libio/Makefile.in:  Regenerated.
	* libmath/Makefile.in:  Regenerated.
	* libsupc++/Makefile.in:  Regenerated.
	* src/Makefile.in:  Regenerated.
	* testsuite/Makefile.in:  Regenerated.

Co-Authored-By: Loren J. Rittle <ljrittle@acm.org>
Co-Authored-By: Phil Edwards <pme@gcc.gnu.org>

From-SVN: r43985
2001-07-13 16:47:56 +00:00
Benjamin Kosnik
68fe6226c8 std_cwchar.h: Alphabetize.
2001-06-10  Benjamin Kosnik  <bkoz@redhat.com>

	* include/c_std/bits/std_cwchar.h: Alphabetize.
	* include/bits/char_traits.h: Tweak.
	* acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Check for
	everything used by std_cwchar.h.
	* aclocal.m4: Regenerate.
	* configure.in: Regenerate.
	* config.h.in: Regenerate.

From-SVN: r43167
2001-06-11 04:36:59 +00:00
Benjamin Kosnik
61c7194612 acinclude.m4 (GLIBCPP_ENABLE_C99): Add stdio.h checking.
2001-06-10  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCPP_ENABLE_C99): Add stdio.h checking.
	Add checking for strtof, _Exit in stdlib.h
	* aclocal.m4: Regenerate.
	* configure.in: Regenerate.
	* include/c_std/bits/std_cstdio.h: Alphabetize lists.
	(snprintf): Put C99 functions into __gnu_cxx namespace.
	(vfscanf): Same.
	(vscanf): Same.
	(vsnprintf): Same.
	(vsscanf): Same.
	* include/c_std/bits/std_cstdlib.h: Alphabetize lists. Put undefs
	for C99 functions within _GLIBCPP_USE_C99 guard.
	(_Exit): Same.
	(strtof): Same.
	(strtold): Same.
	* include/bits/locale_facets.tcc: Check if C99 is enabled.
	* include/c_std/bits/std_cwchar.h (__gnu_cxx): Put undefs within
	C99 guard.
	* include/c_std/bits/cmath.tcc: Formatting tweak.
	* include/c_std/bits/std_cmath.h: Same.

From-SVN: r43161
2001-06-10 23:26:34 +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
Benjamin Kosnik
bfa1e6b11b acconfig.h (_GLIBCPP_BUGGY_FLOAT_COMPLEX): Remove.
2001-05-30  Benjamin Kosnik  <bkoz@redat.com>

	* acconfig.h (_GLIBCPP_BUGGY_FLOAT_COMPLEX): Remove.
	(_GLIBCPP_BUGGY_COMPLEX): Remove.
	* config.h.in: Regenerate.
	* acinclude.m4 (GLIBCPP_CHECK_COMPLEX_MATH_COMPILER_SUPPORT): Remove.
	* aclocal.m4: Regenerate.
	* configure.in: Don't call it.
	* configure: Regenerate.

	libstdc++/2970
	* src/complex_io.cc (operator<<(ostream&, const complex&): Fix.
	* testsuite/26_numerics/complex_inserters_extractors.cc (test01):
	New test.

	libstdc++/2985
	* include/bits/std_complex.h: Include sstream. Put definitions for
	complex inserters and extractors here, and remove them from...
	* src/complex_io.cc: ...here.
	* include/bits/basic_ios.h (basic_ios::__numput_type): Add _Traits
	parameter.
	(basic_ios::__numget_type): Same.
	* include/bits/std_istream.h: Same.
	* include/bits/std_ostream.h: Same.
	* include/bits/sbuf_iter.h (ostreambuf_iterator): Fix typo in base
	class iterator template arguments.
	* src/locale-inst.cc: Add explicit has_facet instantiations.
	* include/bits/basic_ios.h (basic_ios::_M_get_fctype_ios): Remove.
	(_M_get_fnumput): Remove.
	(_M_get_fnumget): Remove.
	(basic_ios::_M_check_facet): New function.
	(basic_ios::_M_cache_facets): New function.
	* include/bits/basic_ios.tcc: Definition for _M_cache_facets.
	(basic_ios::imbue): Call _M_cache_facets.
	(basic_ios::init): Same.
	* include/bits/istream.tcc: Format, use _M_check_facet.
	* include/bits/ostream.tcc: Same.
	* include/bits/locale_facets.tcc (__output_float): Change
	signature, add _Traits.
	* testsuite/26_numerics/complex_inserters_extractors.cc (test02):
	New test.

From-SVN: r42743
2001-05-31 12:14:56 +00:00
Benjamin Kosnik
5db6f3de56 std_cmath.h (std): Explicitly inject c99 names.
2001-04-25  Benjamin Kosnik  <bkoz@redhat.com>

	* include/c_std/bits/std_cmath.h (std): Explicitly inject c99 names.
	* include/c_std/bits/std_cstdlib.h (std): Same, except for llabs.
	* include/c_std/bits/std_cwchar.h (std): Same.
	* acconfig.h (std): Remove c99 injection into std.
	* config.h.in: Regenerate.

	* testsuite/README: Fix typo.

	* include/bits/codecvt.h: Remove warnings.

From-SVN: r41568
2001-04-26 02:23:52 +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
Richard Henderson
52a11cbfcf IA-64 ABI Exception Handling.
From-SVN: r40924
2001-03-28 03:04:51 -08:00
Alexandre Oliva
48dbafe4a9 gen-num-limits.cc: Use sigsetjmp and siglongjmp if available.
* src/gen-num-limits.cc: Use sigsetjmp and siglongjmp if available.
* mknumeric_limits: Compile it with -DHAVE_CONFIG_H.
* configure.in: Test for sigsetjmp.
* configure, config.h.in: Rebuilt.

From-SVN: r39586
2001-02-11 18:15:49 +00:00
Benjamin Kosnik
7b33122850 std_cwchar.h: Same.
2001-01-01  Benjamin Kosnik  <bkoz@fillmore.redhat.com>

	* include/c_std/bits/std_cwchar.h: Same.
	* testsuite/17_intro/header_cwchar.cc: Same.
	* include/c_std/bits/std_ctime.h: Same.
	* testsuite/17_intro/header_ctime.cc: Same.
	* include/c_std/bits/std_cstdlib.h: Same.
	Clean up undefs, make consistent with cwchar and cmath, etc.
	* testsuite/17_intro/header_cstdlib.cc: Same.
	* include/c_std/bits/std_cstdio.h: Same here.
	* testsuite/17_intro/header_cstring.cc: Same.
	* include/c_std/bits/std_cstring.h: Include std_cstddef.h for size_t.
	* testsuite/17_intro/header_cstring.cc: New file. Check for
	size_t in namespace std.

	* include/c_std/bits/std_cwchar.h: Explicit checks for mbstate_t.
	* acconfig.h (HAVE_MBSTATE_T): Add.
	* config.h.in: Regenerate.
	* acinclude.m4(GLIBCPP_CHECK_WCHAR_T_SUPPORT): Always test for
	mbstate_t.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/17_intro/headers_c++.cc: New file.
	* testsuite/17_intro/headers_c.cc: Small changes.

From-SVN: r38614
2001-01-02 07:38:47 +00:00
Benjamin Kosnik
e3123ab3ba configure.in: Change GLIBCPP_ENABLE_SHADOW to GLIBCPP_ENABLE_CHEADERS.
2000-12-21  Benjamin Kosnik  <bkoz@redhat.com>

	* configure.in: Change GLIBCPP_ENABLE_SHADOW to
	GLIBCPP_ENABLE_CHEADERS.
	* acinclude.m4 (GLIBCPP_ENABLE_SHADOW): Change to
	ENABLE_CHEADERS.  C_INCLUDE_DIR defaults to c_std from c.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* include/c: Move to ...
	* include/c_std: ...here.
	* include/c_std: Move to ...
	* include/c_shadow: ...here.
	* include/c: Repopulate, with simple headers.
	* docs/html/configopts.html: Adjust docs.

From-SVN: r38432
2000-12-21 22:52:51 +00:00
Benjamin Kosnik
07467d31de Makefile.am (myinstallheaders): Install backwards headers in prefix, not prefix/backward.
2000-12-14  Benjamin Kosnik  <bkoz@fillmore.redhat.com>

	* src/Makefile.am (myinstallheaders): Install backwards headers in
	prefix, not prefix/backward.
	* src/Makefile.in: Regenerate.

From-SVN: r38265
2000-12-15 00:55:02 +00:00
Benjamin Kosnik
eebc608e3b [multiple changes]
2000-12-12  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	* acinclude.m4 (GLIBCPP_CHECK_CTYPE_SUPPORT): Don't link ctype
	files here...
	* configure.in: Rather, do it once for all targets here. Clean up
	canadian cross and cross compile targets for linux-targeted
	crosses.
	* configure: Regenerate.
	* aclocal.m4: Regnerate.
	* acconfig.h: Add more defines.
	* config.h.in: Regenerate.

2000-12-12  Angela Marie Thomas <angela@cygnus.com>

	* configure.in: Fix case for host-x-linux
	* configure: Regenerate.

From-SVN: r38217
2000-12-13 09:25:44 +00:00
Phil Edwards
85a011b076 acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): New conditional, GLIBCPP_BUILD_LIBIO, true iff building libio.
2000-12-08  Phil Edwards  <pme@sources.redhat.com>

	* acinclude.m4 (GLIBCPP_ENABLE_CSTDIO):  New conditional,
	  GLIBCPP_BUILD_LIBIO, true iff building libio.
	* libio/Makefile.am:  Use; set noinst_LTLIBRARIES empty if false.
	* aclocal.m4:  Regenerated.
	* config.h.in:  Regenerated.
	* configure:  Regenerated.
	* libio/Makefile.in:  Regenerated.
	* libmath/Makefile.in:  Regenerated.

From-SVN: r38138
2000-12-08 22:26:49 +00:00
Benjamin Kosnik
a767e3837f acinclude.m4 (EXTRA_CXX_FLAGS): And here.
2000-12-05  Benjamin Kosnik  <bkoz@haight.redhat.com>

	* acinclude.m4 (EXTRA_CXX_FLAGS): And here.
	* include/c/bits/std_cstdlib.h (std ): Change macro to
	_GLIBCPP_NEED_LLDIV_T.
	* acconfig.h: Remove unused MBSTATE_T bits.
	* configure.in: Same.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* config.h.in: Regenerate.

From-SVN: r38058
2000-12-06 02:35:27 +00:00
Benjamin Kosnik
f4c79fef19 acinclude.m4 (GLIBCPP_ENABLE_LONG_LONG): Check for lldiv_t.
2000-12-05  Benjamin Kosnik  <bkoz@haight.redhat.com>

	* acinclude.m4 (GLIBCPP_ENABLE_LONG_LONG): Check for
	lldiv_t. Allow the use of os-specific defines while checking for
	long-long functions by the inclusion of os_defines.h.
	* aclocal.m4: Regenerate.
	* configure.in: Add comments.
	* configure: Regenerate.
	* acconfig.h: Add _GLIBCPP_HAVE_LLDIV_T.
	* config.h.in: Regenerate.
	* config/os/gnu-linux/bits/os_defines.h: Fix typos and
	duplications in comments.

From-SVN: r38051
2000-12-05 22:03:19 +00:00
Benjamin Kosnik
44382959be acinclude.m4: Only sanity check for compiler version when configuring.
2000-11-26  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4: Only sanity check for compiler version when
	configuring. More fixes for 'make clean'.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

From-SVN: r37768
2000-11-27 00:05:39 +00:00
Mark Mitchell
b4b2a48720 acinclude.m4 (GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT): Check for cabs, cabsf, and cabsl, too.
* acinclude.m4 (GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT): Check
        for cabs, cabsf, and cabsl, too.
        * aclocal.m4: Regenerated.
        * config.h.in: Likewise.
        * configure: Likewise.
        * libmath/Makefile.am (libmath_la_SOURCES): Remove cabs.c and
        cabsf.c.
        * libmath/Makefile.in: Regenerated.
        * libmath/complex-stub.h (cabs): Don't declare if the system
        already provides this function.
        (cabsf): Likewise.
        (cabsl): Likewise.
        * src/complex.cc (abs): Directly use `hypot' since we can't call
        cabs on IRIX.

From-SVN: r37145
2000-10-30 21:30:30 +00:00
Benjamin Kosnik
eae7a9fa92 acinclude.m4 (GLIBCPP_ENABLE_LONG_DOUBLE): Remove.
2000-10-26  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCPP_ENABLE_LONG_DOUBLE): Remove.
	* aclocal.m4: Regenerate.
	* configure.in: Remove GLIBCPP_ENABLE_LONG_DOUBLE.
	* configure: Regenerate.
	* docs/configopts.html: Remove.
	* src/complexl.cc: Revert.
	* config.h.in: Remove.
	* include/c_std/bits/std_cmath.h: Remove guards based on
	_GLIBCPP_USE_LONG_DOUBLE.
	* include/c/bits/std_cmath.h: Same. Format. Match c_std behavior
	with respect to long double signatures.

	* config/os/aix/bits/ctype_noninline.h (ctype): Remove throw
	specification.
	* config/os/newlib/bits/ctype_noninline.h (ctype): And here.
	* config/os/solaris/solaris2.6/bits/ctype_noninline.h (ctype): Same.
	* config/os/solaris/solaris2.5/bits/ctype_noninline.h (ctype): Same.
	* config/os/generic/bits/ctype_noninline.h (ctype): Same.
	* config/os/bsd/bits/ctype_noninline.h (ctype): Same.

From-SVN: r37073
2000-10-26 14:56:05 +00:00
Phil Edwards
dfb1d76f1c configure.in: Check for gconv.h.
2000-10-25  Phil Edwards  <pme@sources.redhat.com>

        * configure.in:  Check for gconv.h.
        * libio/wfileops.c:  Wrap gconv.h in HAVE_GCONV_H.

        * config/c_io_libio_codecvt.c:  Change __mbstate_t to __c_mbstate_t.
        * libio/_G_config.h:  And here.
        * libio/iofwide.c:  And here.
        * libio/libio.h:  And here.

        * config/os/solaris/solaris2.7/bits/ctype_noninline.h:  Remove
          exception specification to match declaration.
        * include/bits/locale_facets.tcc:  Include bits/std_clocale.h.

From-SVN: r37053
2000-10-25 16:54:47 +00:00
Benjamin Kosnik
8b8ab21caf acconfig.h: List _GLIBCPP_USE_THREADS.
2000-10-24  Phil Edwards  <pme@sources.redhat.com>

        * acconfig.h:  List _GLIBCPP_USE_THREADS.
        * acinclude.m4:  General formatting cleanup (tabs/spaces), typo
          correction, etc.  Add comments about following *real* changes
          where they are used.
          (GLIBCPP_ENABLE_C_MBCHAR):  New test...
          (GLIBCPP_CHECK_WCHAR_T_SUPPORT):  ...results used here.
          (GLIBCPP_ENABLE_CSTDIO):  Define need_wlibio iff wide characters
          are requested.
          (GLIBCPP_ENABLE_THREADS):  If threads are used, define new
          macro _GLIBCPP_USE_THREADS in c++config.h.
          (GLIBCPP_ENABLE_SHADOW):  For C_INCLUDE_DIR, change () to {} as
          this is used in both makefiles and shell scripts (mkcheck).
        * configure.in:  Call GLIBCPP_ENABLE_C_MBCHAR.

        * libio/_G_config.h:  Wrap _IO_MTSAFE_IO in _GLIBCPP_USE_THREADS.
        * config/c_io_libio.h:  In nonthreaded case, typedef __c_lock to
          something harmless, like int.

        * config/os/aix/bits/os_defines.h:  Guard with _GLIBCPP_OS_DEFINES,
          add comment/instructions.
        * config/os/bsd/bits/os_defines.h:  Ditto.
        * config/os/generic/bits/os_defines.h:  Ditto.
        * config/os/gnu-linux/bits/os_defines.h:  Ditto.
        * config/os/irix/bits/os_defines.h:  Ditto.
        * config/os/newlib/bits/os_defines.h:  Ditto.
        * config/os/solaris/solaris2.5/bits/os_defines.h:  Ditto.
        * config/os/solaris/solaris2.6/bits/os_defines.h:  Ditto.

        * mkcheck.in:  Limit the available heap size for testsuite
          binaries, initially at 2MB.

From-SVN: r37050
2000-10-25 12:50:06 +00:00
Benjamin Kosnik
9fedcfd5a3 acinclude.m4 (GLIBCPP_ENABLE_LONG_DOUBLE): New macro.
2000-10-21  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	* acinclude.m4 (GLIBCPP_ENABLE_LONG_DOUBLE): New macro.
	* aclocal.m4: Regenerate.
	* configure.in: Use it.
	* configure: Regenerate.
	* src/complexl.cc: Fixup.
	* include/c_std/bits/std_cmath.h: Fixup.
	* include/c/bits/std_cmath.h: Fixup.

From-SVN: r36998
2000-10-21 19:40:17 +00:00
Benjamin Kosnik
0517cb9903 [multiple changes]
2000-10-02  Steven King  <sxking@uswest.net>

        * mkcshadow: Fixed script to output proper include guard.
        * bits/char_traits.h: Cleaned up types in char_traits<char> functions.
        * libio/_G_config.h: Hacked to make work with shadow heraders.
        * shadow/*: Hacked to make shadow headers work.

2000-10-02  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	Self-compile with shadow headers.
	* acconfig.h (_GLIBCPP_USE_SHADOW_HEADERS): Define. Eventually,
	like _GLIBCPP_USE_NAMESPACES before it, this macro will die when
	it becomes the default way the library is built.
	* acinclude.m4 (GLIBCPP_ENABLE_SHADOW): New macro.
	* config/gnu-linux/bits/ctype_base.h (ctype_base): Use it.
	* config/gnu-linux/ctype.cc (ctype): Use it.

	* src/localename.cc (locale::_Impl::_M_replace_categories): Remove
	call to assert.
	* src/locale.cc: Explicitly cast mbstate_t to void* in calls to
	memset. This should not be necessary, but an ambiguous overload
	with it in.

	* shadow/bits/std_cwchar.h: Fix.
	* shadow/wchar.h: Fix.

	* config/gnu-linux/bits/ctype_base.h (ctype_base): Inject ctype
	enums into namespace std:: for ctype_base enum. Other OS types
	will have to do this as well.
	* config/gnu-linux/ctype.cc (ctype): Inject ctype data into
	namespace std, in particular __ctype_toupper, __ctype_tolower,
	__ctype_b.

	* shadow/iolibio.h: New file.
	* shadow/bits/wrap_iolibio.h: New file.
	* shadow/libioP.h: New file.
	* shadow/bits/wrap_libioP.h: New file.
	* shadow/bits/wrap_fcntl.h: New file.
	* shadow/fcntl.h: New file.
	* shadow/iconv.h: New file. Inject iconv names into the global
	namespace, unmangled for the moment.
	* shadow/bits/wrap_iconv.h: New file.
	* shadow/unistd.h: Remove. Useless.
	* shadow/bits/wrap_unistd.h: Remove.

	* src/Makefile.am: Take out machine-ansi.h, add fcntl.h unistd.h.
	* src/Makefile.in: Regenerate.

	* config/c_io_libio.h (_IO_codecvt): Change to normal C++ decl.

	* shadow/libio.h: Fix.
	* shadow/bits/wrap_libio.h: Fix.

	* shadow/bits/std_clocale.h: Remove typedef struct construct,
	which will not compile.
	* shadow/bits/std_ctime.h: Same.

	* shadow/pthread.h: New file. Put pthreads types and functions
	into global scope, which is probably not the correct long-term
	solution but has to be done at the moment before libio wrappers
	can even be started.
	* shadow/bits/wrap_pthread.h: New file.

	* bits/std_ios.h: Formatting tweak.
	* shadow/bits/std_cstdio.h: Format. Remove extraneous bits.

	* acinclude.m4 (GLIBCPP_CHECK_COMPILER_FEATURES): Add -Werror to
	tests for compiler features.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

	* config/c_io_libio.cc: Remove fcntl.h include, as SEEK_SET
	redefined.
	* libio/libioP.h: Comment out fcntl.h include.

	* shadow/math.h: Add in float and long declarations, as per ISO C9X.

	* bits/c++config: Define _ISOC99_SOURCE.

	* acinclude.m4 (GLIBCPP_ENABLE_SHADOW): Add -fno-builtins to
	CSHADOWFLAGS, as well as _ISOC99_SOURCE.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* src/Makefile.am (CSHADOW_INCLUDES): Enable, again.
	(CSHADOW_INCLUDES): Add -I$(top_srcdir)/std before shadow include dir.
	(CXXCOMPILE): Remove $(DEFS), which searches $(top_srcdir) before
	std or shadow directories.
	(LTCXXCOMPILE): Same.
	(INCLUDES): Add $(top_builddir) before $(top_srcdir).
	(AC_CXXFLAGS): Add CSHADOWFLAGS.
	* src/Makefile.in: Regenerate.

	* src/complex.cc (FCT): Change ::name to name.
	* src/complexl.cc (FCT): Same. Use _GLIBCPP_USE_LONG_LONG here.
	* src/complexf.cc (FCT): Same.

	* src/complexf.cc: Remove FCT define, as things are properly
	overloaded in the std namespace with the shadow headers.
	* src/complexl.cc: Same.
	* src/complex.cc: Same.

From-SVN: r36707
2000-10-04 05:06:32 +00:00
Benjamin Kosnik
4d0e4296fd acconfig.h: Revert.
2000-08-24  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	* acconfig.h: Revert.
	* acinclude.m4: Revert.
	* libio/_G_config.h: Revert.
	* libio/libio.h: Revert.

From-SVN: r35941
2000-08-24 18:58:42 +00:00
Phil Edwards
697c2a3964 acconfig.h: _GLIBCPP_USING_THREADS and some workaround types added.
2000-08-23  Phil Edwards  <pme@sourceware.cygnus.com>

	* acconfig.h:  _GLIBCPP_USING_THREADS and some workaround types added.
	* acinclude.m4:  New macro, GLIBCPP_ENABLE_WCHAR.  Set the threads
	  definition as well, and some minor spelling/spacing fixes.  If
	  building libio, check for certain typedefs.
	* libio/_G_config.h:  Wrap _IO_MTSAFE_IO in _GLIBCPP_USING_THREADS.
	  Conditionally define _LARGEFILE64_SOURCE, otherwise the 64-bit types
	  will never be there.
	* libio/libio.h:  In the null case, _IO_lock_t can't just be void.
	* src/string-inst.cc:  Use _GLIBCPP_USE_WCHAR_T.

	* configure.in:  Update the cache a bit more often.

	* mkcheck.in:  For check-install, also need to -I the testsuite dir.

From-SVN: r35901
2000-08-23 04:38:42 +00:00
Benjamin Kosnik
ae658d47a4 locale-inst.cc: Add codecvt<unicode_t...
2000-08-22  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	* src/locale-inst.cc: Add codecvt<unicode_t, wchar_t,
	__enc_traits> instantiations for has_facet and use_facet.
	* testsuite/22_locale/codecvt_unicode_wchar_t.cc: New file, for
	testing two-byte unicode encodings converted to four-byte UCS4
	encodings.

	* bits/codecvt.h (codecvt<__enc_traits>): Fix do_unshift.
	* testsuite/22_locale/codecvt_unicode_char.cc (test01): Add
	correct state/encoding information.

	* acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Add wcsrtombs,
	mbsrtowcs checks as codecvt<wchar_t, char, mbstate_t> needs them
	now.
	Add checks for langinfo.h, nl_langinfo function call.
	* libio/iofwide.c (_IO_fwide): Simplify, as nl_langinfo is assumed.

From-SVN: r35897
2000-08-22 23:44:23 +00:00
Benjamin Kosnik
11fc1858a0 [multiple changes]
2000-06-22 Steven King <sxking@uswest.net>

        * acinclude.m4: Check for sinl, _sinl using 1 parameter.

2000-06-22  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	* acinclude.m4 (GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT): Redo. Use the
	same approach as GLIBCPP_CHECK_MATH_SUPPORT, only don't try to
	link against libm and don't use -fno-builtins...
	* math/mathconf.h: Change up builtin macros to new schema.
	* bits/std_cmath.h: And here. Wheee!
	* shadow/bits/std_cmath.h: And here.
	* acconfig.h: Change up builtin macros here.
	* math/cosf.c:  Remove.
	* math/fabsf.c:  Likewise.
	* math/sinf.c:  Likewise.
	* math/sqrtf.c:  Likewise.
	* math/Makefile.am (EXTRA_DIST):  Remove those four files.
	* math/Makefile.in:  Regenerate.

From-SVN: r34655
2000-06-22 23:59:04 +00:00
Benjamin Kosnik
38bd7296fb Fix alpha, powerpc build failures.
2000-06-21  Benjamin Kosnik  <bkoz@soma.redhat.com>

	Fix alpha, powerpc build failures.
	* acinclude.m4 (GLIBCPP_CHECK_MATH_SUPPORT): Substantially
	re-write. Need to check for both proper declaration when using a
	c++ compiler, and "C" linkage when linking. Do both, and if both
	exist, then define the HAVE_* bits in config.h.
	(GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_n): New, uber-macros. Does all.
	(GLIBCPP_CHECK_LINKER_FEATURES): Actually link and run this
	program, doh.

From-SVN: r34643
2000-06-22 06:19:44 +00:00
Benjamin Kosnik
5ae55a2e04 [multiple changes]
2000-06-13  Steven King  <sxking@uswest.net>

        * acinclude.m4:  Fixup some of the builtin math tests and add tests for
        __builtin_fmod* and test libm for fmodf, fmodl or _fmodf, _fmodl.
        * acconfig.h: Add entries for fmod*.

2000-06-13  Branko Cibej  <branko.cibej@hermes.si>

        * bits/std_cmath.h:  Fix typos in tests (*_FMODFF -> *_FMODF).
        Test  *_MODFF not *_MODF for modf(float, float*).
        (modf(float, float*)): Remove reference to _C_legacy.

From-SVN: r34539
2000-06-14 01:16:03 +00:00
Steven King
54fa741538 acconfig.h: Added defines for HAVE_BUILTIN math functs for float, double and long double.
2000-06-06  Steven King <sxking@uswest.net>

        * acconfig.h: Added defines for HAVE_BUILTIN math functs for float,
        double and long double.  Added defines for HAVE libm math functs for
        float and long double.
        * aclocal.m4: Added configure checks for builtin math funcs and libm
        support for float and long double versions of the math functions.
        * config.h.in: Added undefs for math functs.
        * configure: Regenerate.
        * math/mathconf: Changed the _GLIBCPP_HAS_BUILTIN_* to
        _GLIBCPP_HAVE_BUILTIN_*.
        * bits/std_cmath.h: Added long double support.  Use builtins for
        float, double and long if available, otherwise, use libm versions if
        availible, otherwise, punt.
        * shadow/bits/std_cmath.h: ditto

From-SVN: r34436
2000-06-06 20:26:13 +00:00
Benjamin Kosnik
3840fa2a8f std_cwctype.h: Clean.
2000-06-01  Benjamin Kosnik  <bkoz@gnu.org>

	* bits/std_cwctype.h: Clean.
	* bits/std_cwchar.h: Clean, remove cruft.

	* acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Re-work, add bits
	for beginning iconv support.
	Remove _GLIBCPP_HAS_WCHAR_MIN_MAX, roll into _GLIBCPP_USE_WCHAR_T
	macro.
	* acconfig.h: Remove _GLIBCPP_HAS_WCHAR_MIN_MAX.
	* bits/limits_generic.h: Remove.
	* src/gen-num-limits.cc: Same.

	* src/locale.cc: Tweaks.

	* bits/char_traits.h: Tweaks.

From-SVN: r34352
2000-06-02 07:24:15 +00:00
Benjamin Kosnik
991a40fcc2 std_cmath.h: Tweaks.
2000-05-10  Benjamin Kosnik  <bkoz@redhat.com>

	* bits/std_cmath.h: Tweaks.
	* math/mathconf.h: Tweaks and fixes for HP-UX 11.
	(sqrtf): Define away iff !builtin and !in <math.h>.
	(sinf): Same.
	(cosf): Same.
	(fabsf): Same.
	At some point this directory should be converted to c++, the
	autoconf tests should be run by the c++ compiler (not c), and
	<cmath> should be used instead of math.h.
	Move declaration of nan() here.
	* math/complex-stub.h (cabsl): Remove nan() declaration.

	Finish up FreeBSD4.0 support.
	* config/bsd/ctype.cc: Scope out toupper, tolower calls.
	* config/generic/ctype.cc: And here.
	* testsuite/21_strings/char_traits.cc (test02): Guard with
	_GLIBCPP_USE_WCHAR_T.

	via Phil Edwards  <pme@sourceware.cygnus.com>
	* bits/std_cctype.h: Remove _GLIBCPP_USE_NAMESPACES.
	* acconfig.h: And here.
	* acinclude.m4: Same.
	* testsuite/27_io/istream.cc: And here.
	* testsuite/27_io/ostream.cc: And here.

From-SVN: r33835
2000-05-11 02:40:34 +00:00
Benjamin Kosnik
7b267e3e92 acinclude.m4 (GLIBCPP_CHECK_CPU): Change powerpc bits to -mcpu=powerpc.
2000-05-09  Benjamin Kosnik  <bkoz@gnu.org>

	* acinclude.m4 (GLIBCPP_CHECK_CPU): Change powerpc bits to
	-mcpu=powerpc.

	* config/generic/bits/ctype_specializations.h (ctype<char>::is):
	Make more generic.

	* config/bsd: New directory.
	* config/bsd/ctype.cc: New.
	* config/bsd/bits/ctype_base.h (ctype_base): New.
	* config/bsd/bits/ctype_specializations.h: New.
	* acinclude.m4 (GLIBCPP_CHECK_CTYPE): Add bsd tests.

From-SVN: r33810
2000-05-10 00:23:47 +00:00
Benjamin Kosnik
b2dad0e372 libstdc++-v3: New directory.
2000-04-21  Benjamin Kosnik  <bkoz@redhat.com>

	* libstdc++-v3: New directory.

From-SVN: r33317
2000-04-21 20:33:34 +00:00