Commit Graph

78 Commits

Author SHA1 Message Date
Benjamin Kosnik
e2c094827c Add support for -fno-exceptions.
2001-02-15  Benjamin Kosnik  <bkoz@redhat.com>

	Add support for -fno-exceptions.
	* include/bits/exception_support.h: Remove.
	* include/bits/basic_string.h: Remove exception_support.
	(string::_M_check): Replace __OUTOFRANGE with __throw_out_of_range.
	(string::at): Same.
	(string::substr): Same.
	* include/bits/basic_string.tcc (string::reserve): Replace
	__LENGTHERROR with __throw_length_error.
	(string::_S_create): Same.
	(string::resize): Same.
	(string::_M_replace): Same.
	(string::replace): Same.
	(string::copy): Replace __OUTOFRANGE with __throw_out_of_range.
	(string::compare): Same.
	* include/bits/stl_vector.h: Remove exception_support.
	* src/Makefile.am (base_headers): Remove here.
	* src/Makefile.in: Regenerate.

	* include/bits/stl_range_errors.h: Remove.
	* include/bits/stl_deque.h: Use __throw_range_error.
	* include/bits/std_deque.h: Include functexcept.h.
	* include/bits/std_vector.h: Same.
	* src/Makefile.am (base_headers): Remove here.
	* src/Makefile.in: Regenerate.
	* include/ext/stl_bvector.h (class __BVECTOR): Use __throw_range_error.
	* include/ext/bvector: Remove stl_range_errors.h

	* include/bits/c++config (_GLIBCPP_USE_EXCEPTIONS): Remove.

	* include/bits/functexcept.h: New file.
	* src/functexcept.cc: New file. Definitions for function-based
	exception routines.
	* src/Makefile.am (sources): Add functexcept.cc.
	* src/Makefile.in: Regenerate.

	* include/bits/stl_config.h (__STL_USE_EXCEPTIONS): Wrap with
	__EXCEPTIONS.

	* include/bits/localefwd.h: Include functexcept.h.
	* include/bits/std_iosfwd.h: Same.

	* include/bits/basic_ios.h: Use __throw_ios_failure instead of
	throw basic_ios::failure.
	* include/bits/fstream.tcc (filebuf::_M_allocate_buffers):
	Use __throw_exception_again.
	(filebuf::_M_filebuf_init): Same.
	* include/bits/streambuf.tcc (__copy_streambufs): Same.
	* include/bits/ostream.tcc (ostream::operator<<): Same.
	* include/bits/istream.tcc (istream::operator>>): Same.
	* include/bits/basic_string.tcc (string::_M_mutate): Same.
	(string::_S_construct): Same.
	(string::_M_clone): Same.
	* include/bits/locale_facets.tcc (use_facet(const locale&)): Use
	__throw_bad_cast.
	(num_put<_CharT, _OutIter>::do_put): Use __throw_exception_again.
	* src/localename.cc (locale::_Imp::_Imp(const _Impl&, size_t): Use
	__throw_exception_again.
	(locale::_Imp::_Imp(string, size_t): Same.
	(locale::_Imp::_M_replace_facet): Use __throw_runtime_error.
	* src/locale.cc (locale::_M_coalesce): Use __throw_exception_again.
	(locale::locale(const char*)): Use __throw_runtime_error.
	(locale::classic): Use __throw_exception_again.
	(locale::_S_normalize_category): Use __throw_runtime_error.

	* src/stdexcept.cc: Remove cruft.

	* libsupc++/exception_defines.h: New file.
	* libsupc++/new_opnt.cc: Include exception_defines.h.
	* libsupc++/vec.cc: Same.
	(__cxa_vec_new2): Use __throw_exception_again.
	(__cxa_vec_new3): Same.
	(__cxa_vec_ctor): Same.
	(__cxa_vec_delete3): Same.
	(__cxa_vec_cctor): Same.
	(__cxa_vec_delete2): Same.
	(__cxa_vec_dtor): Same.
	* libsupc++/exception_support.cc: Include exception_defines.h. Only
	compile exception-handling bits if __EXCEPTIONS is defined.
	Remove old ABI support.
	* libsupc++/new_op.cc (new): Include exception_defines.h. Use
	std::__throw_bad_alloc() instead of throw bad_alloc.
	* libsupc++/Makefile.am: Add exception_defines.h.
	* libsupc++/Makefile.in: Reformat.
	* libsupc++/*: Format.

From-SVN: r39730
2001-02-16 00:44:44 +00:00
Gabriel Dos Reis
1c7c97cc63 std_valarray.h: #undef _DEFINE_LOGICAL_OPERATOR...
* include/bits/std_valarray.h: #undef _DEFINE_LOGICAL_OPERATOR,
        not _DEFINE_VALARRAY_OPERATOR which is not existent.

From-SVN: r39592
2001-02-11 22:42:36 +00:00
Gabriel Dos Reis
169ef01cf0 valarray_meta.h (_RefFunClos<>_RefRunClos): Fix thinko in member initialisation.
* include/bits/valarray_meta.h (_RefFunClos<>_RefRunClos): Fix
        thinko in member initialisation.

From-SVN: r39591
2001-02-11 22:25:50 +00:00
Gabriel Dos Reis
d2155bfea5 std_valarray.h (valarray<>::shift): Avoid comparaison between signed and unsigned integer types.
* include/bits/std_valarray.h(valarray<>::shift): Avoid
        comparaison between signed and unsigned integer types.
        (valarray<>::cshift): Reformat.

From-SVN: r39590
2001-02-11 22:16:48 +00:00
Gabriel Dos Reis
b80253d7c0 char_traits.h (char_traits<char>::int_type): Change to `int' to match 21.1.3.1/2.
2001-02-11  Gabriel Dos Reis  <gdr@codesourcery.com>

	* include/bits/char_traits.h char_traits<char>::int_type: Change
	to `int' to match 21.1.3.1/2.

	* testsuite/21_strings/char_traits-int_type.C: New test.

From-SVN: r39581
2001-02-11 04:43:44 +00:00
Benjamin Kosnik
0c952af328 Clean up stdexcept.
2001-02-07  Benjamin Kosnik  <bkoz@redhat.com>

	Clean up stdexcept.
	* include/bits/stringfwd.h: New file.
	* include/bits/stl_string_fwd.h: Remove.
	* include/bits/localefwd.h: Remove declaration for allocator.
	* include/bits/std_iosfwd: Same.
	* include/bits/std_string.h: Include it.
	* include/bits/std_ios.h: Remove include.
	* include/bits/basic_string.h: Tweak.
	* libsupc++/new: Format.
	* src/Makefile.am (base_headers): Add stringfwd.h, remove
	stl_string_fwd.h
	* src/Makefile.in: Regenerate.
	* include/bits/std_stdexcept.h: Rewrite.
	* src/stdexcept.cc: Same.

From-SVN: r39526
2001-02-07 20:26:24 +00:00
Benjamin Kosnik
72ed283692 acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Deal with library install locations too.
2001-02-06  Benjamin Kosnik  <bkoz@fillmore.constant.com>

	* acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Deal with library
	install locations too.
	* aclocal.m4: Regeneate.
	* configure.in: Remove USE_LIBDIR.
	* configure: Regenerate.
	* src/Makefile.am (toolexecdir): Simplify, use
	glibcpp_toolexecdir, glibcpp_toolexeclibdir.
	* src/Makefile.in: Regenerate.
	* libsupc++/Makefile.am: Same.
	* libsupc++/Makefile.in: Regenerate.

	* src/Makefile.am: Just remove special rules for locale-inst.cc and
	misc-inst.cc as no longer necessary.

	Follow C++STYLE for naming non-static functions.
	* include/bits/ostream.tcc (_S_pad_char): Not static, rename to
	__pad_char.
	* include/bits/streambuf.tcc: Same.
	* include/bits/ostream.tcc: Same.
	* include/bits/istream.tcc: Same.
	* include/bits/locale_facets.tcc (_S_pad_numeric): To __pad_numeric.
	(_S_output_float): To __output_float.
	* include/bits/std_streambuf.h (_S_copy_streambufs): To
	__copy_streambufs.
	* include/bits/locale_facets.tcc (_S_build_float_format): To
	__build_float_format.
	(_S_format): To __output_integer.
	(_S_fill): To __pad.
	* src/locale.cc: Same.
	* src/misc-inst.cc: Fix formatting. Fix signature for wchar_t. Correct
	names.
	* include/bits/locale_facets.tcc (_S_group_digits): To
	__group_digits.
	* src/locale-inst.cc: Fixup names. Add use_facet instantiations
	for collate, numpunct.

From-SVN: r39508
2001-02-07 01:54:21 +00:00
Hyman Rosen
0cc21532eb std_istream.h (op>> signed,unsigned char): Must use reinterpret_cast, not static_cast.
2001-02-06  Phil Edwards  <pme@sources.redhat.com>

	* include/bits/std_istream.h (op>> signed,unsigned char):  Must
	  use reinterpret_cast, not static_cast.

From-SVN: r39493
2001-02-06 15:52:37 +00:00
Benjamin Kosnik
0a1cceea5c locale_facets.h (class moneypunct): Fix typos.
2001-02-05   Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.h (class moneypunct): Fix typos.

From-SVN: r39483
2001-02-06 07:21:41 +00:00
Mark Mitchell
bf6adbe2c6 locale_facets.tcc: Remove `static' keyword on function definitions.
* include/bits/locale_facets.tcc: Remove `static' keyword on
	function definitions.
	* include/bits/std_streambuf.h: Likewise.
	* src/Makefile.am: Remove use of -fimplicit-templates.
	* src/Makefile.in: Regenerated.
	* src/locale-inst.cc: Explicitly instantiate more functions.
	* src/msic-inst.cc: Likewise.
	* src/string-inst.cc: Likewise.

From-SVN: r39481
2001-02-06 06:36:18 +00:00
Benjamin Kosnik
be76a59f6a stl_threads.h (struct _STL_mutex_lock): Same.
2001-02-03  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/stl_threads.h (struct _STL_mutex_lock): Same.
	* include/bits/localefwd.h: More initialization cleanups.

From-SVN: r39428
2001-02-03 08:33:35 +00:00
Jeffrey A Law
073197227c ios_base.h (_S_ios_fmtflags_end): Initialize correctly targets with 16bit ints.
* include/bits/ios_base.h (_S_ios_fmtflags_end): Initialize
        correctly targets with 16bit ints.
        (_S_ios_openmode_end): Similarly.
        (_S_ios_iostate_end): Similarly.
        (_S_ios_Seekdir_end): Similarly.

From-SVN: r39427
2001-02-03 00:24:06 -07:00
Benjamin Kosnik
0214010c60 Preliminary named locales.
2001-01-29  Benjamin Kosnik  <bkoz@redhat.com>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

From-SVN: r39347
2001-01-30 09:18:51 +00:00
Phil Edwards
69d211dd50 std_iterator.h: Do not include stl_relops.h.
2001-01-25  Phil Edwards  <pme@sources.redhat.com>

	* include/bits/std_iterator.h:  Do not include stl_relops.h.
	* include/bits/std_numeric.h:  Ditto.
	* include/bits/stl_algobase.h:  Ditto.
	* include/bits/stl_relops.h:  Add comment warning about problems.

From-SVN: r39267
2001-01-25 15:35:10 +00:00
Benjamin Kosnik
d34786e3fe ios_base.h (ios_base::failure): Tighten up throw specs.
2001-01-16  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/1605
	* include/bits/ios_base.h (ios_base::failure): Tighten up throw specs.
	* src/ios.cc (ios_base::failure): Make definitions match.
        * libsupc++/typeinfo (class bad_typeid): Add throw specs.
        (class bad_cast): Same.
        * libsupc++/exception (class exception): Add throw specs.
        * libsupc++/exception_support.cc (set_terminate): Add throw specs.
        (set_unexpected): Same.
        (uncaught_exception): Same.
        (what): Same.

	* docs/html/17_intro/C++STYLE (classname): Fix.

From-SVN: r39087
2001-01-17 07:44:57 +00:00
Benjamin Kosnik
13187a454d C++STYLE (classname): Add more existing and stylish patterns.
2001-01-16  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/html/17_intro/C++STYLE (classname): Add more existing
	and stylish patterns.

	libstdc++/944
	* include/bits/istream.tcc (istream::sentry::sentry()): Set
	failbit if the state of the stream is not good.
	* testsuite/27_io/istream_sentry.cc (test02): Add test.
	* testsuite/27_io/istream_manip.cc (test01): Modify.

	libstdc++/1019
	reported by Paolo Carlini <pcarlini@unitus.it>
	* include/bits/istream.tcc (operator>>(istream&, string&)): Fix.
	* testsuite/21_strings/inserters_extractors.cc (test08): Add test.

	libstdc++/1057
	* include/bits/std_streambuf.h (setp): Set _M_buf_size correctly.
	* include/bits/streambuf.tcc (xsputn): Remove outside if clause.
	(xsgetn): Same. Simplify.
	* testsuite/27_io/streambuf.cc (test04): Add testcases.

	reported by Larry Evans <jcampbell3@prodigy.net>
	* include/bits/streambuf.tcc (streambuf::xsputn): Just check for
	equality with eof on returned value from overflow.

From-SVN: r39059
2001-01-16 07:55:26 +00:00
Benjamin Kosnik
976448273e basic_string.h (_S_find(const _CharT* __beg, const _CharT* __end, _CharT __c): Remove.
2001-01-12  Benjamin Kosnik  <bkoz@redhat.com>

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

From-SVN: r38961
2001-01-12 21:24:15 +00:00
Peter Schmid
90e420bd60 std_complex.h: Fix a typo.
2001-01-10  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>

         * include/bits/std_complex.h: Fix a typo.

From-SVN: r38878
2001-01-10 20:55:03 +00:00
Benjamin Kosnik
469550eb04 Fixes for libstdc++/1576
2001-01-09  Benjamin Kosnik  <bkoz@redhat.com>
	                     <kainz@ilm.com>

	Fixes for libstdc++/1576
	* src/stdstreams.cc: Initialize with NULL filebuf. Delete
	file, move contents into....
	* src/ios.cc: ...Here. Put defines for iostreams objects and
	initialization routines into one file to simplify DSO interaction.
	* include/bits/std_iostream.h: Touch.
	* include/bits/ios_base.h (_S_synched_with_stdio): Make static.
	* src/Makefile.am (sources): Remove stdstreams.cc.
	* src/Makefile.in: Regenerate.

From-SVN: r38871
2001-01-10 17:24:11 +00:00
Peter Schmid
fa44a93614 2001-01-09 Peter Schmid<schmid@snake.iap.physik.tu-darmstadt.de>
2001-01-09  Peter Schmid<schmid@snake.iap.physik.tu-darmstadt.de>
        * include/bits/std_complex.h: Fix a typo.

From-SVN: r38848
2001-01-10 02:30:57 +00:00
Benjamin Kosnik
5a259aec51 fpos.h (fpos:::fpos(streamoff __pos)): Explicitly initialize mbstate_t member, name offset data members *off, not pos.
2001-01-08  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/fpos.h (fpos:::fpos(streamoff __pos)): Explicitly
	initialize mbstate_t member, name offset data members *off, not pos.
	* include/bits/fstream.tcc (filebuf::filebuf): Same.

From-SVN: r38809
2001-01-08 23:51:57 +00:00
Benjamin Kosnik
d358ecd01f [multiple changes]
2001-01-05  Benjamin Kosnik  <bkoz@redhat.com>

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

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

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

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

From-SVN: r38742
2001-01-06 02:44:11 +00:00
Benjamin Kosnik
e61c3e8cde std_cwctype.h: Include std_cwchar.h for wint_t.
2001-01-03  Benjamin Kosnik  <bkoz@redhat.com>

	* include/c_std/bits/std_cwctype.h: Include std_cwchar.h for wint_t.
	* testsuite/17_intro/header_cwctype.cc (main): New file.

	* src/Makefile.am (base_headers): Change.
	* include/bits/std_string.h: And here.
	* include/bits/string.tcc: Tweaks, move to...
	* include/bits/basic_string.tcc: ...Here.
	* src/string-inst.cc: Simplify, just instantiate the whole class,
	not member-by-member.

From-SVN: r38679
2001-01-04 04:21:42 +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
a40ba78e55 Makefile.am (CSTD_INCLUDES): Change from CSHADOW_INCLUDES.
2000-12-23  Benjamin Kosnik  <bkoz@redhat.com>

	* src/Makefile.am (CSTD_INCLUDES): Change from CSHADOW_INCLUDES.
	(strstream.cc): Add special rule for deprecated files.
	* libsupc++/Makefile.am (INCLUDES): Sync.
	* acinclude.m4 (GLIBCPP_EXPORT_INCLUDES): And here.

	Reported by Fred Fish  <fnf@ninemoons.com>
	* include/backward/iomanip.h: Remove backward from include
	* include/backward/strstream.h: Same.
	* include/backward/stream.h: Same.
	* include/backward/ostream.h: Same.
	* include/backward/istream.h: Same.
	* src/strstream.cc: And here.

	Reported by  Brad Garcia  <bgarcia@laurelnetworks.com>
	* src/string-inst.cc (_S_find): Use generic template.
	* include/bits/string.tcc (_S_find): Remove specializations

From-SVN: r38477
2000-12-23 07:13:57 +00:00
Benjamin Kosnik
e63a5d07ad 000-12-22 Benjamin Kosnik <bkoz@fillmore.redhat.com>
Attempt to make locale visible in gdb.
	* include/bits/std_locale.h: Remove codecvt.h include.
	* include/bits/locale_facets.h: Add here, after ctype decls.
	* include/bits/codecvt.h: Remove std namespace, as assumed to be
	in std now.

	* include/bits/locale_facets.h: Consistently move generic static
	member definitions directly after generic facet declarations.
	* include/bits/locale_facets.tcc: From here.

	* src/locale.cc: Organize locale::id static definitions for
	required facets.
	* src/codecvt.cc (codecvt<char...>): Remove locale::id definition.
	(codecvt<wchar_t...>): Same.
	* src/localename: And here.

	* include/bits/localefwd.h (_Count_ones): Change _S_count to _M_count.
	Same for _M_halfcount.

From-SVN: r38450
2000-12-22 11:06:17 +00:00
Benjamin Kosnik
0a31609b5a Attempt to make locale visible in gdb.
2000-12-22  Benjamin Kosnik  <bkoz@fillmore.redhat.com>

	Attempt to make locale visible in gdb.
	* include/bits/std_locale.h: Remove codecvt.h include.
	* include/bits/locale_facets.h: Add here, after ctype decls.
	* include/bits/codecvt.h: Remove std namespace, as assumed to be
	in std now.

	* include/bits/locale_facets.h: Consistently move generic static
	member definitions directly after generic facet declarations.
	* include/bits/locale_facets.tcc: From here.

	* src/locale.cc: Organize locale::id static definitions for
	required facets.
	* src/codecvt.cc (codecvt<char...>): Remove locale::id definition.
	(codecvt<wchar_t...>): Same.
	* src/localename: And here.

	* include/bits/localefwd.h (_Count_ones): Change _S_count to _M_count.
	Same for _M_halfcount.
	(std): make locale::_Impl protected. CHANGE BACK

From-SVN: r38449
2000-12-22 11:03:33 +00:00
Gabriel Dos Reis
1228c7b6bd Makefile.am (sources): Remove complex.cc, complexf.cc and complexl.cc from list.
* src/Makefile.am (sources): Remove complex.cc, complexf.cc and
	complexl.cc from list.
	* src/Makefile.in: Regenerate.
	* src/complex.cc: Remove.
	* src/complexf.cc: Likewise.
	* src/complexl.cc: Likewise.

	* libmath/Makefile.am (EXTRA_LONG_DOUBLE_yes): Remove csqrtl.c
	(EXTRA_DIST): Remove csqrt.c and csqrtf.c.
	* libmath/Makefile.in: Regenerate.
	* libmath/complex-stub.h: Remove.
	* libmath/csqrt.c: Likewise.
	* libmath/sqrtf.c: Likewise.
	* libmath/sqrtl.c: Likewise.
	* libmath/mathconf.h: Remove <complex.h> and "complex-stub.h"
	#inclusion.

	* include/bits/std_complex.h (sqrt<>): Define primary template.
	(complex<>): Remove sqrt friend declarations.

	* configure.in: Initialize with src/ios.cc.
	* configure: Regenerate.
	* acinclude.m4: Remove check for csqrt* and <complex.h>
	* aclocal.m4: Regenerate.
	* config.h.in: Regenerate.
	* Makefile.in: Regenerate.

From-SVN: r38409
2000-12-21 01:28:58 +00:00
Phil Edwards
4c07386b32 acinclude.m4 (SECTION_FLAGS, [...]): Fix minor thinko.
2000-12-20  Phil Edwards  <pme@sources.redhat.com>

	* acinclude.m4 (SECTION_FLAGS, OPT_LDFLAGS):  Fix minor thinko.
	* aclocal.m4:  Regenerate.
	* configure:  Ditto.
	* Makefile.in:  Ditto.
	* libio/Makefile.in:  Ditto.
	* libmath/Makefile.in:  Ditto.
	* libsupc++/Makefile.in:  Ditto.
	* src/Makefile.in:  Ditto.

	* include/bits/istream.tcc:  Fix clause reference in comment.

From-SVN: r38406
2000-12-20 21:37:57 +00:00
Gabriel Dos Reis
0a9419ccca std_complex.h (complex<float>::operator-=): Fix thinko.
* include/bits/std_complex.h (complex<float>::operator-=): Fix
      thinko.

From-SVN: r38377
2000-12-19 11:21:14 +00:00
Benjamin Kosnik
65b66e1f90 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.

From-SVN: r38249
2000-12-14 09:07:01 +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
Gabriel Dos Reis
0ba2a514ef Makefile.am (EXTRA_LONG_DOUBLE_yes): Remove ccosl, cexpl, clog10l, csinhl, ctanhl, ctanl.
* libmath/Makefile.am (EXTRA_LONG_DOUBLE_yes): Remove ccosl,
	cexpl, clog10l, csinhl, ctanhl, ctanl.
	(EXTRA_DIST): Remove ccos, ccosf, csin, csinf, ccosh, ccoshf,
	csing, csinhf, clog10, clog10f, ctan, ctanf, ctanh, ctanhf.
	* libmath/Makefile.in: Regenarate.
	* libmath/ccos.c: Remove.
	* libmath/ccosf.c: Likewise.
	* libmath/ccosl.c: Likewise.
	* libmath/csin.c: Likewise.
	* libmath/csinf.c: Likewise.
	* libmath/csinl.c: Likewise.
	* libmath/ctan.c: Likewise.
	* libmath/ctanf.c: Likewise.
	* libmath/ctanl.c: Likewise.
	* libmath/ccosh.c: Likewise.
	* libmath/ccoshf.c: Likewise.
	* libmath/ccoshl.c: Likewise.
	* libmath/csinh.c: Likewise.
	* libmath/csinhf.c: Likewise.
	* libmath/csinhl.c: Likewise.
	* libmath/ctanh.c: Likewise.
	* libmath/ctanhf.c: Likewise.
	* libmath/ctanhl.c: Likewise.
	* libmath/cexp.c: Likewise.
	* libmath/cexpf.c: Likewise.
	* libmath/cexpl.c: Likewise.
	* libmath/clog10.c: Likewise.
	* libmath/clog10f.c: Likewise.
	* libmath/clog10l.c: Likewise.
	* libmath/complex-stub.h: Remove forward declaration of functions
	mentioned above.

	* include/bits/std_complex.h(tan, tanh): Define primary templates.
	(complex<>): Remove friend declarations for tan<> and tanh<>.
	* src/complex.cc(tan, tanh): Remove specializations.

	* acinclude.m4: Remove check for ccos, ccosf, ccosl, ccosh,
	ccoshf, ccoshl,	csin, csinf, csinl, csinh, csinhf, csinhl, cexp,
	cexpf, cexpl, ctan, ctanf, ctanl, ctanh, ctanhf, ctanhl.
	* aclocal.m4: Regenarate.
	* configure: Regenarate.

From-SVN: r38128
2000-12-08 05:57:48 +00:00
Benjamin Kosnik
4716be24b5 ctype_base.h (ctype_base): Change space mask.
2000-12-07  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

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

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

	* include/bits/locale_facets.h: Tweak.

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

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

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

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

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

From-SVN: r38100
2000-12-07 06:44:49 +00:00
Gabriel Dos Reis
fad3e66e8e complex.cc (pow): Remove definitions for explicit specializations.
* src/complex.cc (pow): Remove definitions for explicit
	specializations.
	* libmath/mathconf.h: Remove declarations for c_log, c_logf,
	c_logl.
	* libmath/complex-stub.h: Remove declarations for cpow, cpowf,
	cpowl.
	* libmath/cpow.c: Remove.
	* libmath/cpowf.c: Remove.
	* libmath/cpowl.c: Remove.
	* libmath/Makefile.am (EXTRA_LONG_DOUBLE_yes): Remove c_logl,
	cpowl,
	(EXTRA_DIST): Remove c_log, c_logf, carg, cargf.
	* libmath/Makefile.in: Regenarate.
	* libmath/c_log.c: Remove
	* libmath/c_logf.c: Likewise.
	* libmath/c_logl.c: Likewise.
	* libmath/carg.c: Likewise.
	* libmath/cargf.c: Likewise.
	* libmath/cargl.c: Likewise.
	* include/bits/std_complex.h (pow): Define primary templates.
	(complex<>): Remove friend declarations for pow<>().
	* acinclude.m4: Remove check for c_log, c_logf, c_logl, carg,
	cargf.
	* aclocal.m4: Regenarate.
	* configure: Regenarate.

From-SVN: r38025
2000-12-05 04:01:46 +00:00
Gabriel Dos Reis
abfadcb132 Makefile.am (sources): Add bitset.cc
* src/Makefile.am (sources): Add bitset.cc
	* src/Makefile.in: Regenrate.

	* include/bits/std_bitset.h (_GLIBCPP_BITSET_BITS_PER_WORD): New
	macro. Replace __BITS_PER_WORDS throughout.
	(__BITS_PER_WORDS): Remove.
	(bitset<>::_M_do_find_first, bitset<>::_M_do_find_next): Move
	definitions to src/bitset.cc.

	* src/bitset.cc (bitset<>::_M_do_find_first,
	bitset<>::_M_do_find_next):  Define here.
	(_Bit_count<>::_S_bit_count, _Find_one<>::_S_first_one): Define
	here. Explicitly instantiate definitions.

From-SVN: r37837
2000-11-29 01:09:09 +00:00
Benjamin Kosnik
74d2f859d2 Update for 2.91 release.
2000-11-28  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	Update for 2.91 release.
	* include/bits/c++config (__GLIBCPP__): Update.
	* docs/17_intro/RELEASE-NOTES: Update.
	* docs/status.html: Update, remove bogus autotools disinformation.

From-SVN: r37825
2000-11-28 20:33:39 +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
Gabriel Dos Reis
23a5b4448c ios_base.h (ios_base::failure::~failure, [...]): Move defintion to ...
* include/bits/ios_base.h (ios_base::failure::~failure,
	ios_base::failure::what): Move defintion to ...

	* src/ios.cc (ios_base::failure::~failure): ... here.
	src/ios.cc (ios::failure::what): Likewise.

From-SVN: r37684
2000-11-23 04:53:40 +00:00
Benjamin Kosnik
63e749a813 strstream.h: Replace with...
2000-11-21  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	* include/backward/strstream.h: Replace with...
	* include/bits/std_strstream.h: ...this. Move.
	* include/backward/complex.h: Remove SGIisms.
	* include/backward/streambuf.h: Same.
	* include/backward/stream.h: Same.
	* include/backward/ostream.h: Same.
	* include/backward/istream.h: Same.
	* include/backward/iostream.h: Same.
	* include/backward/iomanip.h: Same.
	* include/backward/fstream.h: Same.
	* libsupc++/new.h: Add using declarations for bad_alloc,
	nothrow_t, and nothrow, move to ...
	* include/backward/new.h: ...here.

From-SVN: r37631
2000-11-21 23:44:50 +00:00
Gabriel Dos Reis
b555ebaa9e std_complex.h (complex<double>): Constructor complex<double>::complex(const complex<float>&) is not explicit...
2000-11-21  Gabriel Dos Reis  <gdr@codesourcery.com>

	* include/bits/std_complex.h (complex<double>): Constructor
	complex<double>::complex(const complex<float>&) is not explicit;
	since it is a promotion.
	(complex<long double>): Constructors taking complex<float> and
	complex<double> are not explicit.

From-SVN: r37599
2000-11-21 00:08:02 +00:00
Benjamin Kosnik
5e90dd7193 std_complex.h: Tweaks, include cmath for abs overloads.
2000-11-20  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/std_complex.h: Tweaks, include cmath for abs overloads.
	* src/complex.cc: Remove cmath include, formatting tweaks, remove
	dead code.
	* include/c/bits/std_cmath.h: Formatting tweaks.
	* testsuite/26_numerics/complex_value.cc: New file, for catching
	bits gleaned from libstdc++/106.

	* testsuite/23_containers/vector_ctor.cc (test02): Add test from
	libstdc++/102.

From-SVN: r37591
2000-11-20 21:13:45 +00:00
Joseph Myers
78d58962af c++config, [...]: Correct spelling of "deprecated".
* include/bits/c++config, include/bits/ios_base.h,
	include/bits/std_streambuf.h: Correct spelling of "deprecated".

From-SVN: r37580
2000-11-20 08:25:18 +00:00
Benjamin Kosnik
c9b6c28211 stl_tree.h: Overload operators == and != to be able to handle the case...
2000-11-17  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>

	* include/bits/stl_tree.h: Overload operators == and != to be able
	to handle the case (const_iterator,iterator) and
	(iterator,const_iterator), thus fixing libstdc++/737 and the like.

From-SVN: r37531
2000-11-17 22:58:19 +00:00
Loren J. Rittle
5af655ccee locale_facets.tcc (num_get<_CharT, [...]): Add missing typename keyword.
* include/bits/locale_facets.tcc (num_get<_CharT,
          _InIter>::do_get(...)): Add missing typename keyword.

From-SVN: r37513
2000-11-17 05:38:04 +00:00
Mark Mitchell
4f12dd3c7d mkcheckin.in: Move check for bash version 2 later in the file.
* mkcheckin.in: Move check for bash version 2 later in the file.

	* include/bits/basic_string.h (basic_string::_Rep::_S_max_size):
	Make it const.
	(basic_string::_Rep::_S_terminal): Likewise.
	* include/bits/string.tcc (basic_string::_Rep::_S_max_size):
	Likewise.
	(basic_string::_Rep::_S_terminal): Likewise.

From-SVN: r37490
2000-11-16 01:03:20 +00:00
Benjamin Kosnik
5b20f7a054 acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPOR): Set LIBS back to initial value.
2000-11-14  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	* acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPOR): Set LIBS back to
	initial value.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

	* include/bits/c++config (__GLIBCPP__): Set release version for 2.91.

From-SVN: r37457
2000-11-14 17:23:49 +00:00
Benjamin Kosnik
84e0b551f1 wrap_langinfo.h: New file.
2000-11-12  Brent Verner  <brent@rcfile.org>

        * include/c_std/bits/wrap_langinfo.h: New file.
        * include/c_std/langinfo.h: New file.
        * include/bits/codecvt.h (__enc_trants::__enc_traits()): Bring in
	CODESET from _C_legacy::CODESET if using shadow headers.

From-SVN: r37436
2000-11-13 20:58:46 +00:00
Mark Mitchell
8d8523fe52 basic_file.h (__basic_file): Don't use __c_wfile_type when _GLIBCPP_USE_WCHAR_T is not defined.
* include/bits/basic_file.h (__basic_file): Don't use __c_wfile_type
	when _GLIBCPP_USE_WCHAR_T is not defined.

From-SVN: r37400
2000-11-12 03:27:10 +00:00