Commit Graph

31 Commits

Author SHA1 Message Date
Benjamin Kosnik
d3a193e36c re PR libstdc++/4164 (33 Memory Leak when using iostream)
2002-04-15  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/4164
	Valgrind fixes.
	* config/io/basic_file_stdio.cc (__basic_file::~__basic_file):
	Call close.
	(__basic_file::close): Call fflush. Correct return if fclose ok.
	(__basic_file::is_open): Make const.
	Change __c_file_type to __c_file.
	* config/io/basic_file_stdio.h: Change __c_file_type to __c_file.
	(__basic_file::is_open): Make const.
	* config/io/c_io_stdio.h: Change __c_file_type to __c_file.
	* include/std/std_fstream.h (filebuf::_M_allocate_file): Remove.
	(filebuf::_M_unbuf): Add.
	(filebuf::_M_file): Change to non-pointer.
	(filebuf::_M_allocate_pback_buffer): Remove.
	* include/bits/fstream.tcc (filebuf::_M_allocate_file): Remove.
	(filebuf::_M_allocate_internal_buffer): Use _M_unbuf.
	Change initialization list for _M_file change.
	(filebuf::_M_allocate_pback_buffer): Remove.
	Change _M_file usage to reflect non-pointer data member.

	* config/locale/generic/c_locale.cc
	(locale::facet::_S_create_c_locale): Add parameter.
	* config/locale/generic/collate_members.cc: Change
	_M_compare_helper to _M_compare.
	Change _M_transform_helper to _M_transform.
	* config/locale/generic/monetary_members.cc: Changeup data types.
	Add dtors.
	* config/locale/generic/numeric_members.cc: Add dtors.
	* config/locale/generic/time_members.cc: Add dtors.
	* config/locale/gnu/c_locale.cc: Add parameter.
	* config/locale/gnu/collate_members.cc:Change
	_M_compare_helper to _M_compare.
	Change _M_transform_helper to _M_transform.
	* config/locale/gnu/ctype_members.cc: Better error checking.
	* config/os/gnu-linux/bits/ctype_noninline.h: Better error checking.
	* config/locale/gnu/messages_members.cc: Tweak comment.
	* config/locale/gnu/monetary_members.cc: Change data types.
	Add dtors.
	* config/locale/gnu/numeric_members.cc: Add dtors, better error
	checking.
	* config/locale/gnu/time_members.cc: Same.
	* config/locale/ieee_1003.1-2001/c_locale.cc
	(locale::facet::_S_create_c_locale): Add parameter.
	* config/locale/ieee_1003.1-2001/c_locale.h: Correct typedef.
	* config/locale/ieee_1003.1-2001/codecvt_specializations.h: Remove
	bogus ctor.

	* include/bits/locale_facets.h (moneypunct): Use string literals.
	Don't define dtor.
	(numpunct): Same.
	(__timepunct): Same.
	(locale::_Impl::_M_facets): Change from vector to array.
	(locale::_Impl::_M_names): Change from array of strings to array
	of string literals.
	(locale::facet::_S_create_c_locale): Add parameter.
	(locale::locale::_S_num_facets): Move to...
	(locale::_Impl::_M_facets_size): Here.
	* include/bits/locale_facets.tcc: Fixups for _M_facets, _M_name
	changes.
	* include/bits/localefwd.h: (locale:🆔:_M_id): Add member function.
	(locale::_Impl::_Impl(facet**, size_t, bool)): Add.
	(locale::_Impl::_Impl(string, size_t)): Change to
	(locale::_Impl::_Impl(const char*, size_t)): This.

	* include/bits/streambuf.tcc (streambuf::_S_pback_size): Define.
	* include/std/std_streambuf.h (streambuf::_M_pback_size): Change to
	(streambuf::_S_pback_size): This.

	* src/globals.cc: Add pre-allocations for "C" facets.
	* src/locale-inst.cc: Remove vector instantiations.
	* src/locale.cc: Remove vector include. Fixups for _M_names,
	_M_facets changes.
	* src/localename.cc: Same.

	* include/bits/stl_vector.h: Fix odd formatting.

	* include/bits/basic_string.tcc: Tweak comment.

	* libsupc++/new: Make sure parameters are uglified.
	* libsupc++/typeinfo: Same.

	* testsuite/22_locale/num_get_members_char.cc: Fixup.
	* testsuite/22_locale/num_get_members_wchar_t.cc: Same.
	* testsuite/27_io/filebuf_members.cc: Same.

From-SVN: r52345
2002-04-16 00:45:36 +00:00
David S. Miller
03381059f7 2002-04-05 David S. Miller <davem@redhat.com>
* config/os/gnu-linux/bits/os_defines.h
	(__glibcpp_long_double_bits): Set to 64 on 32-bit Sparc.

From-SVN: r51921
2002-04-05 05:46:50 -08:00
Benjamin Kosnik
f714575791 ctype_noninline.h: Cast to unsigned char.
2002-03-12  Benjamin Kosnik  <bkoz@redhat.com>
            Per Liboriussen  <liborius@stofanet.dk>

	* config/os/gnu-linux/bits/ctype_noninline.h: Cast to
	unsigned char.
	* config/os/gnu-linux/bits/ctype_inline.h: Same.

	* config/os/irix/irix6.5/bits/ctype_inline.h: Same.

	* config/os/solaris/solaris2.5/bits/ctype_inline.h: Same.
	* config/os/solaris/solaris2.5/bits/ctype_noninline.h: Same.

	* config/os/solaris/solaris2.6/bits/ctype_inline.h: Same.
	* config/os/solaris/solaris2.6/bits/ctype_noninline.h: Same.

	* config/os/solaris/solaris2.7/bits/ctype_inline.h: Same.
	* config/os/solaris/solaris2.7/bits/ctype_noninline.h: Same.

	* testsuite/22_locale/ctype_members_char.cc (main): Add tests.

Co-Authored-By: Per Liboriussen <liborius@stofanet.dk>

From-SVN: r50708
2002-03-13 02:32:08 +00:00
Benjamin Kosnik
93dbe8d76d [multiple changes]
2002-01-20  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.h (ctype<char>::classic_table):
	Remove definition.
	(ctype<char>::_S_ctable): Remove.
	* config/os/gnu-linux/bits/ctype_noninline.h
	(ctype<char>::_S_table): Remove definition.
	(ctype<char>::classic_table): Define.
	(ctype<char>::ctype): Replace _S_ctable with classic_table().
	* config/os/aix/bits/ctype_noninline.h: Same.
	* config/os/bsd/freebsd/bits/ctype_noninline.h: Same.
	* config/os/bsd/netbsd/bits/ctype_noninline.h: Same.
	* config/os/djgpp/bits/ctype_noninline.h: Same.
	* config/os/generic/bits/ctype_noninline.h: Same.
	* config/os/gnu-linux/bits/ctype_noninline.h: Same.
	* config/os/hpux/bits/ctype_noninline.h: Same.
	* config/os/irix/irix5.2/bits/ctype_noninline.h: Same.
	* config/os/irix/irix6.5/bits/ctype_noninline.h: Same.
	* config/os/mingw32/bits/ctype_noninline.h: Same.
	* config/os/newlib/bits/ctype_noninline.h: Same.
	* config/os/solaris/solaris2.5/bits/ctype_noninline.h: Same.
	* config/os/solaris/solaris2.6/bits/ctype_noninline.h: Same.
	* config/os/solaris/solaris2.7/bits/ctype_noninline.h: Same.

2002-01-20  Danny Smith  <dannysmith@users.sourceforge.net>

	* config/os/mingw32/bits/ctype_noninline.h: Declare _ctype instead
	of _pctype. Use to define _S_ctable.  Add definition for alternate
	ctor.  Initialise _M_ctable to _S_ctable in ctors.
	(do_toupper, do_tolower): Use inline code appropriate for C-locale
	rather than ::toupper, ::tolower.

From-SVN: r49032
2002-01-21 04:08:54 +00:00
Benjamin Kosnik
8f7a401515 stl_iterator.h (reverse_iterator::_M_current): Deuglify, should be current.
2002-01-16  Benjamin Kosnik  <bkoz@redhat.com>
            Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>

	* include/bits/stl_iterator.h (reverse_iterator::_M_current):
	Deuglify, should be current.
	(back_insert_iterator::_M_container): Deuglify, should be container.
	(front_insert_iterator::_M_container): Same.
	(insert_iterator::_M_container): Same.
	* testsuite/24_iterators/reverse_iterator.cc: Add check.
	* testsuite/24_iterators/back_insert_iterator.cc: Add check.
	* testsuite/24_iterators/front_insert_iterator.cc: Same.
	* testsuite/24_iterators/insert_iterator.cc: Same.

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

	* include/bits/locale_facets.h (ctype<char>::classic_table): Make
	static.
	(ctype<char>::_M_ctable): Make static, change name to _S_ctable.
	* config/os/gnu-linux/bits/ctype_noninline.h: Define _S_ctable.
	* config/os/solaris/solaris2.7/bits/ctype_noninline.h: Same.
	* config/os/solaris/solaris2.6/bits/ctype_noninline.h: Same.
	* config/os/solaris/solaris2.5/bits/ctype_noninline.h: Same.
	* config/os/newlib/bits/ctype_noninline.h: Same.
	* config/os/irix/irix6.5/bits/ctype_noninline.h: Same.
	* config/os/irix/irix5.2/bits/ctype_noninline.h: Same.
	* config/os/hpux/bits/ctype_noninline.h: Same.
	* config/os/djgpp/bits/ctype_noninline.h: Same.
	* config/os/bsd/netbsd/bits/ctype_noninline.h: Same.
	* config/os/bsd/freebsd/bits/ctype_noninline.h: Same.
	* config/os/aix/bits/ctype_noninline.h: Same.

	Testcase by Dietmar K�hl via Peter Schmid
	* testsuite/22_locale/ctype_members_char.cc (char>): Add test for
	classic_table().

Co-Authored-By: Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>

From-SVN: r48938
2002-01-17 03:59:42 +00:00
Benjamin Kosnik
aefb3380dd signbitl.c: Copyright years as list, not range.
2002-01-16  Benjamin Kosnik  <bkoz@redhat.com>

	* libmath/signbitl.c: Copyright years as list, not range.
	* libmath/Makefile.am: Same.
	* libmath/Makefie.in: Regenerate.
	* libmath/signbit.c: Same.
	* libmath/nan.c: Same.
	* libmath/copysignf.c: Same.
	* libmath/signbitf.c: Same.
	* testsuite/22_locale/money_get_members_char.cc: Same.
	* testsuite/22_locale/money_get_members_wchar_t.cc: Same.
	* testsuite/22_locale/money_put_members_char.cc: Same.
	* testsuite/22_locale/money_put_members_wchar_t.cc: Same.
	* testsuite/22_locale/time_get_members_char.cc: Same.
	* testsuite/22_locale/time_get_members_wchar_t.cc: Same.
	* testsuite/22_locale/time_put_members_char.cc: Same.
	* testsuite/22_locale/time_put_members_wchar_t.cc: Same.
	* testsuite/21_strings/nonmember.cc: Same.
	* testsuite/21_strings/compare.cc: Same.
	* testsuite/27_io/stringstream.cc: Same.
	* testsuite/27_io/stringbuf.cc: Same.
	* testsuite/27_io/filebuf.cc: Same.
	* testsuite/27_io/ios_manip_basefield.cc: Same.
	* testsuite/27_io/ios_manip_fmtflags.cc: Same.
	* include/bits/cpp_type_traits.h: Same.
	* include/bits/generic_shadow.h: Same.
	* include/bits/gslice_array.h: Same.
	* include/bits/gslice.h: Same.
	* include/bits/indirect_array.h: Same.
	* include/bits/slice_array.h: Same.
	* include/bits/sstream.tcc: Same.
	* include/bits/streambuf_iterator.h: Same.
	* include/bits/valarray_array.tcc: Same.
	* include/bits/valarray_meta.h: Same.
	* include/bits/valarray_array.h: Same.
	* config/os/mingw32/bits/ctype_noninline.h: Same.
	* config/os/mingw32/bits/ctype_base.h: Same.
	* config/os/hpux/bits/ctype_noninline.h: Same.
	* config/os/hpux/bits/ctype_base.h: Same.
	* config/os/gnu-linux/bits/ctype_noninline.h: Same.
	* config/os/gnu-linux/bits/ctype_base.h: Same.
	* config/os/generic/bits/ctype_noninline.h: Same.
	* config/os/generic/bits/ctype_base.h: Same.

	* libsupc++/tinfo.h: Tweaks.

From-SVN: r48922
2002-01-16 19:57:39 +00:00
Benjamin Kosnik
def9790d51 Clean up initialization and simplfy caching of underlying "C" locale objects.
2001-12-14  Benjamin Kosnik  <bkoz@redhat.com>

	Clean up initialization and simplfy caching of underlying "C"
	locale objects.
	* src/localename.cc (locale::_Impl::_Impl(string, size_t):
	Unconditionally create __clocale object for all named locales,
	including "C" and "POSIX".
	* config/locale/c_locale_generic.cc
	(locale::facet::_S_create_c_locale): Always set __cloc to zero.
	* config/locale/c_locale_gnu.cc: Always delete.
	* include/bits/localefwd.h (locale::facet::_S_c_locale): New.
	* src/locale.cc (locale::classic()): Initialize
	locale::facet::_S_c_locale.
	(locale::facet::_S_c_locale): Define.

	* include/bits/locale_facets.h: Add ctype_byname<wchar_t> ctor
	specialization.
	* src/locale.cc: Add definition here.
	* config/os/gnu-linux/bits/ctype_inline.h: Tweak.
	* config/os/gnu-linux/bits/ctype_noninline.h: Adjust initializations.
	* include/bits/locale_facets.h (ctype<char>::_M_c_locale_ctype): Add.
	Adjust ctors, dtors.
	(ctype<char>::_M_toupper): Remove const&.
	(ctype<char>::_M_tolower): Remove const&.
	(ctype<char>::_M_ctable): Remove const&.

	* include/bits/locale_facets.h (collate): Clean up initialization
	of _M_c_locale_collate in ctors and dtors.
	* config/locale/collate_members_gnu.cc: Always use extended
	functions.

	* include/bits/locale_facets.h (messages): Clean up inits in ctor/dtor.
	(messages_byname): Same.
	* config/locale/messages_members_generic.h (messages::~messages):
	Remove.
	* config/locale/messages_members_gnu.h: Same.

	* include/bits/localefwd.h: Clean. Move dtor definitions to
	* src/locale.cc: Here.
	* testsuite/22_locale/facet.cc: Fix spelling.

	Named locale support for ctype<wchar_t>.
        * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add variable
        ctype_members_* bits.
        * aclocal.m4: Regenerate.
        * configure: Regenerate.
        * src/Makefile.am (sources): Add ctype.cc.
        * src/Makefile.in: Regenerate.
        * config/locale/ctype_members_generic.cc: New file.
        * config/locale/ctype_members_gnu.cc: New file.
        * src/locale.cc: Remove ctype<wchart_t> definitions.

From-SVN: r48034
2001-12-15 07:05:04 +00:00
Benjamin Kosnik
9e5c7dba50 Named locale support for ctype<char>.
2001-12-12  Benjamin Kosnik  <bkoz@redhat.com>

	Named locale support for ctype<char>.
	* config/locale/c_locale_gnu.h (_GLIBCPP_C_LOCALE_GNU): New.
	* config/os/gnu-linux/bits/ctype_noninline.h (ctype<char>): Add
	definitions for alternate constructor.
	* 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/irix6.5/bits/ctype_noninline.h (ctype): Same.
	* config/os/irix/irix5.2/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/djgpp/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 (ctype<_CharT>): Remove dummy
	definitions for all virtual functions. These are now explicitly
	undefined for non-required factets, ie any non-char, non-wchar_t
	instantiations.
	* src/localename.cc (locale::_Impl::_Impl(string, size_t): Named
	locales use alternate constructor for ctype facet.
	* include/bits/locale_facets.h (ctype<char>::ctype(__c_locale, const
	mask*, bool, size_t): Add.
	(ctype<wchar_t>::ctype(__c_locale, size_t): Add.
	* src/locale.cc (ctype<wchar_t>::ctype(__c_locale, size_t)): Add
	definition.

	* testsuite/22_locale/ctype_members_char.cc (test02): Add, mark
	XFAIL for non-gnu locale models.

From-SVN: r47953
2001-12-12 23:16:35 +00:00
Benjamin Kosnik
bf3b866e31 ctype_inline.h: Remove spaces.
2001-12-11  Benjamin Kosnik  <bkoz@redhat.com>

	* config/os/generic/bits/ctype_inline.h: Remove spaces.
	* config/os/gnu-linux/bits/ctype_noninline.h: Same.
	* include/bits/locale_facets.h (__num_base): Move double data
	members to first in class.
	* include/bits/locale_facets.tcc: Re-arrange, tweak.
	* src/locale.cc: Clean.
	*include/bits/stl_vector.h: Space typedefs.

From-SVN: r47918
2001-12-12 03:22:25 +00:00
Benjamin Kosnik
e37beb47ba os_defines.h: Set to 64 bit longs with __s390x__ only.
2001-10-25  Benjamin Kosnik  <bkoz@redhat.com>
	    Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
	    Ulrich Weigand <Ulrich.Weigand@de.ibm.com>

	* config/os/gnu-linux/bits/os_defines.h: Set to 64 bit longs with
	__s390x__ only.
	* include/bits/std_limits.h: Fix wchar_t issues.
	* config/os/aix/bits/os_defines.h: Fix.

Co-Authored-By: Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
Co-Authored-By: Ulrich Weigand <uweigand@de.ibm.com>

From-SVN: r46523
2001-10-26 02:13:31 +00:00
Benjamin Kosnik
f295ecef02 limits.h: Move to...
2001-10-22  Benjamin Kosnik  <bkoz@redhat.com>

	* config/cpu/i386/bits/limits.h: Move to...
	* config/cpu/i386/bits/cpu_limits.h: ...here.
	* config/cpu/cris/bits/cpu_limits.h: Same.
	* config/cpu/powerpc/bits/cpu_limits.h: Same.
	* config/cpu/x86-64/bits/cpu_limits.h: Same.
	* config/cpu/alpha/bits/cpu_limits.h: New.
	* config/cpu/m68k/bits/cpu_limits.h: New.
	* config/cpu/s390/bits/cpu_limits.h: New.
	* config/os/aix/bits/os_defines.h: Tweaks.
	* config/os/bsd/freebsd/bits/os_defines.h: Same.
	* config/os/bsd/netbsd/bits/os_defines.h: Same.
	* config/os/djgpp/bits/os_defines.h: Same.
	* config/os/generic/bits/os_defines.h: Same.
	* config/os/gnu-linux/bits/os_defines.h: Same.
	* config/os/hpux/bits/os_defines.h: Same.
	* config/os/irix/irix5.2/bits/os_defines.h: Same.
	* config/os/irix/irix6.5/bits/os_defines.h: Same.
	* config/os/newlib/bits/os_defines.h: Same.
	* config/os/solaris/solaris2.5/bits/os_defines.h: Same.
	* config/os/solaris/solaris2.6/bits/os_defines.h: Same.
	* config/os/solaris/solaris2.7/bits/os_defines.h: Same.

	* include/bits/c++config: Remove include.
	* include/bits/limits_generic.h: Remove.
	* include/bits/std_limits.h: Include cpu_limits.h.
	* include/Makefile.am: Fixup.
	* src/limits.cc: Tweak.
	* src/limits_generic.cc: Remove.
	* src/gen-num-limits.cc: Remove.
	* mknumeric_limits: Remove.

From-SVN: r46445
2001-10-23 21:40:31 +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
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
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
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
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
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
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
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
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
Joseph Myers
7ee9826b89 acinclude.m4: Change C9X references to refer to C99.
* acinclude.m4: Change C9X references to refer to C99.
	* aclocal.m4, configure: Regenerate.
	* config/os/gnu-linux/bits/os_defines.h, src/complex.cc,
	testsuite/22_locale/codecvt_wchar_t_char.cc,
	include/bits/stl_config.h, include/c/bits/std_cwchar.h,
	libmath/mathconf.h: Change C9X references to refer to C99.

From-SVN: r37743
2000-11-25 19:36:53 +00:00
Hans-Peter Nilsson
d0c3e4f498 os_defines.h: Include <features.h>.
* config/os/gnu-linux/bits/os_defines.h: Include <features.h>.
	If not glibc 2.1 or higher, include <gnu/types.h> and define
	__off64_t as __loff_t and #define __THROW as empty.

	* libio/libio.h [__P]: Move __THROW and __PMT into their own
	ifndef:s.

From-SVN: r37695
2000-11-23 11:30:46 +00:00
Benjamin Kosnik
4bc950092b [multiple changes]
2000-10-30  Benjamin Kosnik  <bkoz@redhat.com>

	* src/complex_io.cc : Remove ancient defines.
	* config/os/gnu-linux/bits/os_defines.h: Add defines.
	* libsupc++/tinfo2.cc: Change to cstddef.

	* include/bits/codecvt.h: Add include of c++config.h, so that
	__USE_GNU gets defined. (Important for alpha.)

	* include/c/bits/std_cwctype.h: Same.
	* include/c/bits/std_ctime.h: And here.
	* include/c/bits/std_cstdarg.h: Same.
	* include/c/bits/std_csignal.h: Same.
	* include/c/bits/std_csetjmp.h: Same.
	* include/c/bits/std_clocale.h: Same.
	* include/c/bits/std_climits.h: Touch.
	* include/c/bits/std_cfloat.h: Same.
	* include/c/bits/std_cerrno.h: Same.
	* include/c/bits/std_cwchar.h: Same.
	* include/c/bits/std_cassert.h: Same.
	* include/c/bits/std_cctype.h: Same.
	* include/c/bits/std_cstddef.h: And here.
	* include/c/bits/std_cstdlib.h: And here.
	* include/c/bits/std_cstdio.h: Same.
	* include/c/bits/std_cstring.h: Add names to namespace std::.

	* include/bits/c++config (_GNU_SOURCE): Move linux-specific macros
	from here...
	(_ISOC99_SOURCE): And this one....
	* config/os/gnu-linux/bits/os_defines.h: ...to here.

	* include/bits/codecvt.h (codecvt<_InternT, _ExternT,
	__enc_traits>::do_in): Don't cast to const, this is a bug in glibc
	prior to 2.2.
	(codecvt<_InternT, _ExternT, __enc_traits>::do_out): Same.
	* include/c/bits/std_cwchar.h: Add using declarations for mbstate_t.

2000-10-30  Steven King  <sxking@uswest.net>

	* include/bits/codecvt.h: Add cast.
	* include/c_std/stdio.h: Re-add printf using declaration.
	* include/c_std/bits/std_cstdio.h: Same
	* testsuite/22_locale/codecvt_wchar_t_char.cc: Fixup testsuite.
	* testsuite/22_locale/ctor_copy_dtor.cc: Same.
	* testsuite/22_locale/facet.cc: Same.
	* testsuite/22_locale/global_templates.cc: Same.
	* testsuite/22_locale/operators.cc: Same.
	* testsuite/22_locale/static_members.cc: Same.
	* testsuite/26_numerics/c_math.cc: Same.
	* testsuite/26_numerics/complex_inserters_extractors.cc: Same.
	* testsuite/27_io/fpos.cc: Same.
	* testsuite/27_io/istream_extractor_arith.cc: Same.
	* testsuite/27_io/istream_unformatted.cc: Same.
	* testsuite/27_io/ostream_inserter_arith.cc: Same.
	* testsuite/27_io/streambuf.cc: Same.

From-SVN: r37149
2000-10-31 01:26:06 +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
1364053c58 Makefile.am (INCLUDES): Add toplevel include directory.
2000-10-08   Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	* libsupc++/Makefile.am (INCLUDES): Add toplevel include directory.
	(INCLUDES): Add glibcpp_includedir.
	* libsupc++/Makefile.in: Regenerate.

	* acinclude.m4 (GLIBCPP_CHECK_OS): Link to os_defines.h.
	* aclocal.m4: Regenerate.
	* config/os/*/bits/os_defintes: Adjust copyright dates.

From-SVN: r36798
2000-10-09 03:35:36 +00:00
Phil Edwards
79b425c6d3 c++config: Include <bits/os_defines.h>
2000-10-08  Phil Edwards  <pme@sources.redhat.com>

	* include/bits/c++config:  Include <bits/os_defines.h>
	* config/os/aix/bits/os_defines.h:  New file.
	* 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.
	* config/os/solaris/solaris2.7/bits/os_defines.h:  Ditto.

From-SVN: r36793
2000-10-09 00:42:23 +00:00
Benjamin Kosnik
c81a475f00 acinclude.m4: Remove CPU_FLAGS
2000-10-07  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	* acinclude.m4: Remove CPU_FLAGS
	* libio/Makefile.am: Here too.
	* Makefile.am: Here too.

	* src/Makefile.am (CONFIG_INCLUDES): Remove.
	(INCLUDES): Remove CONFIG_INCLUDES.
	(cpu_headers): Remove.
	(myinstallheaders): Remove cpu_headers.
	(generated_headers): Rename to build_headers.
	(build_headers): Add atomicity.h, ctype_base.h,
	ctype_specializations.h.

	* config/os: New directory.
	* config/aix: Move to...
	* config/bsd: Move to...
	* config/generic: Move to...
	* config/gnu-linux: Move to...
	* config/irix: Move to...
	* config/newlib: Move to...
	* config/solaris: Move to...
	* config/os/*: Here.

From-SVN: r36776
2000-10-07 18:39:06 +00:00