Commit Graph

19 Commits

Author SHA1 Message Date
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
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
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
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
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
15bcd79ab0 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: r35943
2000-08-24 19:05:22 +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
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
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
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