Commit Graph

1722 Commits

Author SHA1 Message Date
Alexandre Oliva dd6eaaed37 strstream.cc, [...]: Remove incorrect whitespace added in my previous change.
* src/strstream.cc, include/bits/basic_string.tcc: Remove
incorrect whitespace added in my previous change.

From-SVN: r63869
2003-03-05 22:24:56 +00:00
Carlo Wood 0530d3b00b ios_base.h (ios_base::Init::_S_initialized()): Added _S_initialized() in order to allow debugging libraries to detect when...
2003-03-05  Carlo Wood  <carlo@alinoe.com>

        * include/bits/ios_base.h(ios_base::Init::_S_initialized()): Added
	_S_initialized() in order to allow debugging libraries to detect
	when the std streams are initialized from an overloaded operator
	new.

From-SVN: r63852
2003-03-05 18:53:18 +00:00
Benjamin Kosnik 83e924e101 demangle.h: Move to..
2003-03-05  Benjamin Kosnik  <bkoz@redhat.com>

	* libsupc++/demangle.h: Move to..
	* include/bits/demangle.h: ...here.
	* src/demangle.cc: Adjust include.
	* include/Makefile.am (bits_headers): Add.
	* include/Makefile.in: Regenerate.

From-SVN: r63851
2003-03-05 17:57:52 +00:00
Benjamin Kosnik 4e7a2c6f9a globals.cc: Clarify comments, remove c_locale_imp_compat.
2003-03-04  Benjamin Kosnik  <bkoz@redhat.com>

	* src/globals.cc: Clarify comments, remove c_locale_imp_compat.

	* config/linker-map.gnu: Filter typeinfo and vtable info.

From-SVN: r63826
2003-03-05 06:02:15 +00:00
Jerry Quinn c524ed5dc9 ios.cc (ios_base::_M_grow_words): Don't delete _M_word on new failure.
2003-03-04  Jerry Quinn  <jlquinn@optonline.net>

	* src/ios.cc (ios_base::_M_grow_words): Don't delete _M_word on
	new failure.  Throw exception if badbit and exception mask when ix
	>= numeric_limits<int>::max().

From-SVN: r63824
2003-03-05 03:01:42 +00:00
Alexandre Oliva 1a8f10da2c strstream.cc (strstreambuf::overflow): Make sure operands of min and max have the same type.
* src/strstream.cc (strstreambuf::overflow): Make sure operands of
min and max have the same type.
* include/bits/basic_string.tcc (append, rfind, compare): Likewise.

From-SVN: r63802
2003-03-04 21:21:44 +00:00
Benjamin Kosnik 6b919a8ab9 Makefile.am (allstamps): Remove stamp-std-precompile.
2003-03-04  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am (allstamps): Remove stamp-std-precompile.
	* include/Makefile.in: Regenerate.

From-SVN: r63787
2003-03-04 16:22:17 +00:00
Benjamin Kosnik 3a15abf155 abi_check.cc (report_symbol_info): Add version info.
2003-03-03  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/abi_check.cc (report_symbol_info): Add version info.

	* config/linker-map.gnu: Hide more stuff.
	* include/Makefile.am: Cleanups.
	* include/Makefile.in: Regenerate.

From-SVN: r63764
2003-03-04 05:23:56 +00:00
Jerry Quinn 486f4cd1b2 messages_members.h (messages::messages): Remove name from unused parameter.
2003-02-27  Jerry Quinn  <jlquinn@optonline.net>

        * config/locale/generic/messages_members.h (messages::messages):
	Remove name from unused parameter.

From-SVN: r63545
2003-02-28 05:15:06 +00:00
Benjamin Kosnik 4ffbd0777c [multiple changes]
2003-02-27  Benjamin Kosnik  <bkoz@redhat.com>

	* src/Makefile.am (sources): Add demangle.cc.
	(demangle.o): Add.
	(demangle.lo): Add.
	* src/Makefile.in: Regenerate.
	* libsupc++/Makefile.am: Remove old __cxa_demangle bits.
	* libsupc++/Makefile.in: Regenerate.

	* testsuite/testsuite_hooks.h
	(__gnu_cxx_test::verify_demangle): New.
	* testsuite/testsuite_hooks.cc: Define.

2003-02-27  Carlo Wood  <carlo@alinoe.com>

	* src/demangle.cc: New.
	* libsupc++/demangle.h: New.

2003-02-27  Benjamin Kosnik  <bkoz@redhat.com>
            Carlo Wood  <carlo@alinoe.com>

	* testsuite/demangle/abi_examples/01.cc: New.
	* testsuite/demangle/abi_examples/02.cc: New.
	* testsuite/demangle/abi_examples/03.cc: New.
	* testsuite/demangle/abi_examples/04.cc: New.
	* testsuite/demangle/abi_examples/05.cc: New.
	* testsuite/demangle/abi_examples/06.cc: New.
	* testsuite/demangle/abi_examples/07.cc: New.
	* testsuite/demangle/abi_examples/08.cc: New.
	* testsuite/demangle/abi_examples/09.cc: New.
	* testsuite/demangle/abi_examples/10.cc: New.
	* testsuite/demangle/abi_examples/11.cc: New.
	* testsuite/demangle/abi_examples/12.cc: New.
	* testsuite/demangle/abi_examples/13.cc: New.
	* testsuite/demangle/abi_examples/14.cc: New.
	* testsuite/demangle/abi_examples/15.cc: New.
	* testsuite/demangle/abi_examples/16.cc: New.
	* testsuite/demangle/abi_examples/17.cc: New.
	* testsuite/demangle/abi_examples/18.cc: New.
	* testsuite/demangle/abi_examples/19.cc: New.
	* testsuite/demangle/abi_examples/20.cc: New.
	* testsuite/demangle/abi_examples/21.cc: New.
	* testsuite/demangle/abi_examples/22.cc: New.
	* testsuite/demangle/abi_examples/23.cc: New.
	* testsuite/demangle/abi_examples/24.cc: New.
	* testsuite/demangle/abi_examples/25.cc: New.
	* testsuite/demangle/abi_examples/26.cc: New.
	* testsuite/demangle/abi_text/01.cc: New.
	* testsuite/demangle/abi_text/02.cc: New.
	* testsuite/demangle/abi_text/03.cc: New.
	* testsuite/demangle/abi_text/04.cc: New.
	* testsuite/demangle/abi_text/05.cc: New.
	* testsuite/demangle/abi_text/06.cc: New.
	* testsuite/demangle/abi_text/07.cc: New.
	* testsuite/demangle/abi_text/08.cc: New.
	* testsuite/demangle/abi_text/09.cc: New.
	* testsuite/demangle/abi_text/10.cc: New.
	* testsuite/demangle/abi_text/11.cc: New.
	* testsuite/demangle/abi_text/12.cc: New.
	* testsuite/demangle/abi_text/13.cc: New.
	* testsuite/demangle/abi_text/14.cc: New.
	* testsuite/demangle/regression/3111-1.cc: New.
	* testsuite/demangle/regression/3111-2.cc: New.
	* testsuite/demangle/regression/7986-01.cc: New.
	* testsuite/demangle/regression/7986-02.cc: New.
	* testsuite/demangle/regression/7986-03.cc: New.
	* testsuite/demangle/regression/7986-04.cc: New.
	* testsuite/demangle/regression/7986-05.cc: New.
	* testsuite/demangle/regression/7986-06.cc: New.
	* testsuite/demangle/regression/7986-07.cc: New.
	* testsuite/demangle/regression/7986-08.cc: New.
	* testsuite/demangle/regression/7986-09.cc: New.
	* testsuite/demangle/regression/7986-10.cc: New.
	* testsuite/demangle/regression/7986-11.cc: New.
	* testsuite/demangle/regression/7986-12.cc: New.
	* testsuite/demangle/regression/7986.cc: New.
	* testsuite/demangle/regression/8897.cc: New.
	* testsuite/demangle/regression/cw-01.cc: New.
	* testsuite/demangle/regression/cw-02.cc: New.
	* testsuite/demangle/regression/cw-03.cc: New.
	* testsuite/demangle/regression/cw-04.cc: New.
	* testsuite/demangle/regression/cw-05.cc: New.
	* testsuite/demangle/regression/cw-06.cc: New.
	* testsuite/demangle/regression/cw-07.cc: New.
	* testsuite/demangle/regression/cw-08.cc: New.
	* testsuite/demangle/regression/cw-09.cc: New.
	* testsuite/demangle/regression/cw-10.cc: New.
	* testsuite/demangle/regression/cw-11.cc: New.
	* testsuite/demangle/regression/cw-12.cc: New.
	* testsuite/demangle/regression/cw-13.cc: New.
	* testsuite/demangle/regression/cw-14.cc: New.
	* testsuite/demangle/regression/old.cc: New.

From-SVN: r63513
2003-02-27 16:57:26 +00:00
Phil Edwards bd2726e0ca Intro.3: Update with new (proper) names.
2003-02-25  Phil Edwards  <pme@gcc.gnu.org>

	* docs/doxygen/Intro.3:  Update with new (proper) names.
	* docs/doxygen/TODO:  Update.
	* docs/doxygen/run_doxygen:  More comments, fix up man pages.
	Fake entries for standard typedefs.
	* docs/doxygen/user.cfg.in:  Turn INLINE_INHERITED_MEMB back on.
	* docs/html/documentation.html:  Top-level man page is now called
	C++Intro.
	* include/std/std_limits.h:  Doxygenate.

From-SVN: r63433
2003-02-26 00:02:16 +00:00
Scott Snyder 63b1a6ba01 re PR libstdc++/9811 (incorrect documentation for std::map::lower_bound, etc.)
2003-02-25  Scott Snyder  <snyder@fnal.gov>

	PR libstdc++/9811
	* include/bits/stl_map.h (lower_bound, upper_bound, equal_range):
	Correct documentation.
	* include/bits/stl_multimap.h (lower_bound, upper_bound,
	equal_range): Likewise.

From-SVN: r63396
2003-02-25 06:27:10 +00:00
Paolo Carlini 57df94c8f6 re PR libstdc++/9825 (filebuf::sputbackc breaks sbumpc)
2003-02-24  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9825
	* src/fstream.cc
	(basic_filebuf<char/wchar_t>::_M_underflow_common): When
	__bump is true (uflow), always increment the read pointer
	(_M_in_cur) before returning successfully.
	* testsuite/27_io/filebuf_virtuals.cc (test12): Add.

From-SVN: r63378
2003-02-24 20:39:31 +00:00
Paolo Carlini 391cd0955e PR libstdc++/9404, PR libstdc++/9701 (partial)
2003-02-24  Paolo Carlini <pcarlini@unitus.it>
	    Nathan Myers <ncm@cantrip.org>

	PR libstdc++/9404, PR libstdc++/9701 (partial)
	(aka pptr == epptr implies overflow)
	* include/bits/fstream.tcc (_M_allocate_internal_buffer):
	Consistently, _M_out_end points to the end of the buffer just
	created.
	(overflow): Tweak to use _M_out_buf_size().
	(_M_convert_to_external): The role of the old _M_out_end is
	now played by _M_out_lim.
	(_M_really_overflow): Likewise.
	(seekoff): Likewise.
	(setbuf): _M_out_end points to the end of the external buffer.
	* include/bits/sstream.tcc (overflow): Rewrote, taking into
	account the resolution of DR 169 (TC).
	(seekoff): Use _M_string.capacity(); ios_base::end is now _M_out_lim.
	(seekpos): Use _M_string.capacity(); tweak.
	* include/bits/streambuf.tcc (sputc, xsputn): Remove comments.
	* include/std/std_fstream.h (sync): The role of the old
	_M_out_end is now played by _M_out_lim.
	(_M_set_indeterminate): Use _M_set_determinate.
	(_M_set_determinate): _M_out_end is now _M_out_lim.
	(_M_is_indeterminate): Likewise.
	* include/std/std_sstream.h (str()): _M_out_end is now _M_out_lim.
	(_M_stringbuf_init): Don't set _M_buf_size, unused for sstreams,
	which have the information readily available as _M_string.capacity();
	for ate and app modes, pass the string size to _M_really_sync.
	(_M_really_sync): Consistently set _M_out_end and _M_out_lim, to
	point to the end of the buffer (i.e., epptr) and to the string end,
	respectively.
	* include/std/std_streambuf.h: tweak comments, add _M_out_lim,
	which points to the right limit of the used put area.
	(_M_out_cur_move): The role of the old _M_out_end is now played
	by _M_out_lim.
	(_M_out_buf_size): Simplify: now (when _M_out_cur) return simply
	_M_out_end  - _M_out_cur (i.e., pptr), _very_ close to the letter
	of the standard.
	(basic_streambuf()): Initialize _M_out_lim too.
	* testsuite/27_io/filebuf_virtuals.cc (test10): Trivial tweak.
	* testsuite/27_io/filebuf_virtuals.cc (test11): Add.
 	* testsuite/27_io/stringbuf_virtuals.cc (test09): Add.

Co-Authored-By: Nathan Myers <ncm@cantrip.org>

From-SVN: r63367
2003-02-24 18:22:58 +00:00
Benjamin Kosnik 2e812a0a41 ios_base_storage.cc (main): Call set_memory_limits.
2003-02-24  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/27_io/ios_base_storage.cc (main): Call
	set_memory_limits.

From-SVN: r63366
2003-02-24 18:14:20 +00:00
Jerry Quinn d77478a5e5 locale_facets.tcc (_M_convert_float): Replace numpunct facet accesses with data from __locale_cache.
2003-02-21  Jerry Quinn  <jlquinn@optonline.net>

        * include/bits/locale_facets.tcc (_M_convert_float): Replace
	numpunct facet accesses with data from __locale_cache.

From-SVN: r63213
2003-02-21 08:34:18 +00:00
Phil Edwards 0385e9506b index.html (3.9): New note, wchar_t on FreeBSD.
2003-02-20  Phil Edwards  <pme@gcc.gnu.org>

	* docs/html/faq/index.html (3.9):  New note, wchar_t on FreeBSD.
	* docs/html/faq/index.txt:  Regenerate.

From-SVN: r63173
2003-02-20 17:57:05 +00:00
Phil Edwards 3a24c5134f linker-map.gnu: Also export locking symbols needed for the generic atomicity.h case.
2003-02-20  Phil Edwards  <pme@gcc.gnu.org>

	* config/linker-map.gnu:  Also export locking symbols needed for the
	generic atomicity.h case.

From-SVN: r63169
2003-02-20 16:47:39 +00:00
Alexandre Oliva 3343fdd21c configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to config.status.
* configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to
config.status.
* configure: Rebuilt.

From-SVN: r63159
2003-02-20 09:08:45 +00:00
Paolo Carlini c85dca2816 sstream.tcc (overflow): According to 27.7.1.3, p5, actual output is performed by sputc(c).
2003-02-19  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/sstream.tcc (overflow): According to
	27.7.1.3, p5, actual output is performed by sputc(c).

From-SVN: r63147
2003-02-20 00:55:45 +00:00
Phil Edwards 41662dbb4e re PR libstdc++/9582 (ODR violation in std::allocator)
2003-02-19  Phil Edwards  <pme@gcc.gnu.org>

	PR libstdc++/9582
	* include/bits/stl_alloc.h:  Remove all traces of assert().

From-SVN: r63136
2003-02-20 00:11:43 +00:00
Paolo Carlini de59bd27dc std_sstream.h (str()): the size of the current string may be different from the initial one whenever...
2003-02-18  Paolo Carlini  <pcarlini@unitus.it>

	* include/std/std_sstream.h (str()): the size of the
	current string may be different from the initial one
	whenever _M_out_end > _M_out_beg.
	* testsuite/27_io/stringbuf_members.cc (test07): Add.

From-SVN: r63066
2003-02-18 23:26:32 +00:00
Paolo Carlini 14a65f50b0 re PR libstdc++/9582 (ODR violation in std::allocator)
2003-02-18  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9582
	* include/bits/stl_alloc.h (__pool_alloc::allocate):
	Remove assert.

From-SVN: r63031
2003-02-18 10:54:37 +00:00
Benjamin Kosnik 6067bea410 [multiple changes]
2003-02-17  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/basic_ios.tcc (copyfmt): Copy locale data as well.
	* testsuite/27_io/ios_members.cc (test03): New.

2003-02-17  Jerry Quinn  <jlquinn@optonline.net>

	* include/bits/basic_ios.h (basic_ios::_M_cache_locale): Declare.
	(basic_ios::_M_cache_facets): Move into above.
	* include/bits/basic_ios.tcc (basic_ios::copyfmt): Rebuild locale
	cache.
	(basic_ios::imbue): Force locale cache to be built.
	(basic_ios::_M_init): Create and initialize locale cache.
	* include/bits/ios_base.h (__locale_cache_base): Declare.
	(ios_base::_M_locale_cache): New.
	(ios_base::_M_cache): Define.
	* include/bits/locale_facets.h:	(__num_base): Fix comment.  Add
	_S_end.
        (__locale_cache_base,__locale_cache<_CharT>):  New classes.
	(__locale_cache<char>, __locale_cache<wchar_t>): New specializations.
	* include/bits/locale_facets.tcc (num_put::_M_convert_int): Use locale
	cache literal string, grouping flag, thousands separator.
	(__locale_cache<_CharT>::__locale_cache): New.
	(__locale_cache<_CharT>::_M_init): New.
	(__locale_cache<_CharT>::_M_populate): New.
	* src/ios.cc: Clear _M_locale_cache in constructor.
	* src/locale-inst.cc (__locale_cache<char>, __locale_cache<_char_t>):
	New.

From-SVN: r63025
2003-02-18 05:45:07 +00:00
Paolo Carlini d407831d09 locale-inst.cc: Do not include <cassert>.
2003-02-17  Paolo Carlini  <pcarlini@unitus.it>

	* src/locale-inst.cc: Do not include <cassert>.
	* src/locale.cc: Likewise.

From-SVN: r63009
2003-02-17 21:42:05 +00:00
Paolo Carlini 1a1aed2466 re PR libstdc++/9580 (basic_filebuf<> with custom traits_type fails to link)
2003-02-17  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9580
	* include/std/std_fstream.h: Declare underflow and uflow
	specializations, change generic definitions to do nothing.
	* src/fstream.cc: Add underflow and uflow specializations.

From-SVN: r63008
2003-02-17 20:07:48 +00:00
Paolo Carlini 130cd3e1df re PR libstdc++/9169 (filebuf output fails if codecvt<>::out returns noconv)
2003-02-17  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9169
	* include/bits/fstream.tcc (_M_convert_to_external):
	Deal correctly with noconv, as prescribed by 27.8.1.4,p8.
	* testsuite/27_io/filebuf_virtuals.cc (test10): Add.

From-SVN: r63004
2003-02-17 19:05:01 +00:00
Benjamin Kosnik 1bc8b0ad4e c++config (_GLIBCPP_EXTERN_TEMPLATE): Define.
2003-02-13  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/c++config (_GLIBCPP_EXTERN_TEMPLATE): Define.
	* include/bits/basic_ios.tcc: Guard use of extern template.
	* include/std/std_iomanip.h: Same.
	* include/bits/streambuf.tcc: Same.
	* include/bits/stl_alloc.h: Same.
	* include/bits/locale_facets.tcc: Same.
	* include/bits/ostream.tcc: Same.
	* include/bits/istream.tcc: Same.
	* include/bits/fstream.tcc: Same.
	* include/bits/basic_string.tcc: Same.

From-SVN: r62865
2003-02-13 21:39:03 +00:00
Paolo Carlini b7bb6d4a6a ostream.tcc (sentry::sentry): Improve performance-wise the fix for libstdc++/9563.
2003-02-13  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/ostream.tcc (sentry::sentry): Improve
	performance-wise the fix for libstdc++/9563.

From-SVN: r62855
2003-02-13 17:43:58 +00:00
Phil Edwards 8d55a4aa3b atomicity.h (_Atomic_add_mutex): Fix declaration.
2003-02-12  Phil Edwards  <pme@gcc.gnu.org>

	* config/cpu/generic/atomicity.h (_Atomic_add_mutex):  Fix declaration.
	(_GLIBCPP_NEED_GENERIC_MUTEX):  Define for this file.
	(_Atomic_add_mutex_once, __gthread_atomic_add_mutex_once):  Declare
	when we don't have static mutex initialization.
	(__exchange_and_add):  Use _Atomic_add_mutex_once.
	* src/misc-inst.cc:  Definitions of all the above.

From-SVN: r62818
2003-02-13 04:02:20 +00:00
Paolo Carlini ff5d863fc2 re PR libstdc++/9563 (ostream::sentry returns true after a failed preparation)
2003-02-12  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9563
	* include/bits/ostream.tcc (sentry::sentry): Check
	the state of the stream after the preparation.
	* testsuite/27_io/ostream_sentry.cc (test02): Add.

From-SVN: r62779
2003-02-12 19:39:19 +00:00
Benjamin Kosnik ab77073fd7 Makefile.am (stamp-std-precompile): Add rule.
2003-02-11  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am (stamp-std-precompile): Add rule.
	* include/Makefile.in: Regenerated.

From-SVN: r62752
2003-02-12 00:54:39 +00:00
Jerry Quinn ce3039af7d locale_facets.h (__num_base): Add _S_atoms_out.
2003-02-11 Jerry Quinn  <jlquinn@optonline.net>
           Benjamin Kosnik  <benjamin@redhat.com>

	* include/bits/locale_facets.h (__num_base): Add _S_atoms_out.
	Add indexes into this array.
	(__num_base::_S_atoms): To _S_atoms_in.
	(num_put::_M_insert): Rename to _M_pad.
	(num_put::_M_convert_int): Adjust remove __mod, __modl arguments.
	(num_put::_M_widen_int): Rename to _M_group_int.
	(num_put::_M_widen_float): Rename to _M_group_float.
	* include/bits/locale_facets.tcc (__int_to_char): New inline
	function and adapter functions.
	(num_put::_M_group_int): Streamline.
	(num_put::_M_group_float): Streamline.
	(num_put::_M_convert_int): Remove unused parameter names. Choose
	large enough buffer for text.  Use __int_to_char instead of
	__convert_from_v.  Formatted text is now at the end of the buffer.
	(num_put::_M_convert_float): Preliminary fixups.
	* src/locale-inst.cc (__convert_from_v<long long>): Add ifdef.
	(__int_to_char<unsigned long long>): Same.
	(__int_to_char<char, unsigned long>): New.
	(__int_to_char<char, unsigned long long>): New.
	(__int_to_char<wchar_t, unsigned long>): New.
	(__int_to_char<wchar_t, unsigned long long>): New.

Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>

From-SVN: r62731
2003-02-11 21:55:49 +00:00
Scott Snyder 74db146134 re PR libstdc++/9659 (3.3/3.4 seekoff overload problem with optimization)
2003-02-11  Scott Snyder  <snyder@fnal.gov>

	PR libstdc++/9659
	* include/bits/fstream.tcc (seekoff): Avoid operator+
	for pos_type.

From-SVN: r62712
2003-02-11 19:53:51 +00:00
Paolo Carlini dfc7d89965 re PR libstdc++/9320 (Incorrect usage of traits_type::int_type in stdio_filebuf)
2003-02-11  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9320
	* include/ext/stdio_filebuf.h
	(stdio_filebuf(int, std::ios_base::openmode, bool, int_type),
	stdio_filebuf(std::__c_file*, std::ios_base::openmode, int_type)):
	Change to take a __size parameter of type size_t, not
	of type (template parameter dependent) int_type.
	* src/ios.cc (ios_base::Init::_S_ios_create): Change type of
	size vars to size_t.
	* testsuite/ext/stdio_filebuf.cc: Add.

From-SVN: r62691
2003-02-11 10:43:49 +00:00
Paolo Carlini da61d02231 re PR libstdc++/9318 (i/ostream::operator>>/<<(streambuf*) broken)
2003-02-11  Paolo Carlini  <pcarlini@unitus.it>
	    Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/9318
	* include/bits/streambuf.tcc (__copy_streambufs):
	Don't conditionalize the copy to __testput.
	* testsuite/27_io/streambuf_members.cc (test09, test10): Add.

Co-Authored-By: Petur Runolfsson <peturr02@ru.is>

From-SVN: r62689
2003-02-11 09:59:19 +00:00
DJ Delorie 294901f879 acinclude.m4: Check for native targets that can't link at this point in the build.
* acinclude.m4: Check for native targets that can't link at
this point in the build.
* aclocal.m4: Regenerate.
* configure: Regenerate.

From-SVN: r62679
2003-02-11 00:50:01 -05:00
John David Anglin 5053bdf834 atomicity.h (__Atomicity_lock<__inst>::_S_atomicity_lock): Correct alignment.
* hppa/atomicity.h (__Atomicity_lock<__inst>::_S_atomicity_lock):
	Correct alignment.
	(__exchange_and_add, __atomic_add): Use PA 2.0 ordered store to reset
	lock.

From-SVN: r62593
2003-02-09 03:23:13 +00:00
Paolo Carlini ccef8307ff filebuf_virtuals.cc (test08): Fix for unsigned char platforms.
2003-02-07  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/27_io/filebuf_virtuals.cc (test08): Fix for
	unsigned char platforms.

From-SVN: r62519
2003-02-07 11:00:35 +00:00
Paolo Carlini afb6c265b7 re PR libstdc++/9562 (ostream::sentry::operator bool () should be const)
2003-02-06  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9562
	* include/std/std_istream.h
	(basic_istream::sentry::operator bool()): Make const.
	* include/std/std_ostream.h
	(basic_ostream::sentry::operator bool()): Likewise.
	* testsuite/27_io/istream_sentry.cc (test03): Add.
	* testsuite/27_io/ostream_sentry.cc: Add.

From-SVN: r62508
2003-02-07 00:26:44 +00:00
Paolo Carlini 5dc911525c re PR libstdc++/9548 (Incorrect results from setf(ios::fixed) and precision(-1) [DR231])
2003-02-06  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9548
	Implement resolution of DR 231 (Ready)
	* include/bits/locale_facets.h (__num_base::_S_format_float):
	Change declaration: return void, remove __prec parameter.
	* src/locale.cc (__num_base::_S_format_float): Implement
	resolution of DR 231.
	* include/bits/locale_facets.tcc (num_put::_M_convert_float):
	Tweak uses. Check for negative precision.
	* testsuite/22_locale/num_put/put/char/6.cc: Add
	* testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.

From-SVN: r62492
2003-02-06 18:08:51 +00:00
Peter Soetens 6eeabb09a6 basic_file_libio.h: Fixups.
2003-02-06  Peter Soetens  <peter.soetens@mech.kuleuven.ac.be>

	* config/io/basic_file_libio.h: Fixups.
	* config/io/c_io_libio.h: Same.
	* libio/Makefile.am: Same.
	* libio/Makefile.in: Regenerated.

From-SVN: r62475
2003-02-06 08:10:47 +00:00
Benjamin Kosnik e61c8e230a [multiple changes]
2003-02-06  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/22_locale/codecvt/encoding/wchar_t/1.cc (test01):
	Explicitly use the "C" locale.
	* testsuite/22_locale/codecvt/max_length/wchar_t/1.cc (test01): Same.

2003-02-06  Petur Runolfsson  <peturr02@ru.is>

	DR 75
	DR 305
	PR libstdc++/9028 (partial)
	PR libstdc++/9224
	PR libstdc++/9246
	PR libstdc++/9247

	* src/codecvt.cc
	(codecvt<wchar_t, char, mbstate_t>::do_encoding,
	codecvt<wchar_t, char, mbstate_t>::do_length,
	codecvt<wchar_t, char, mbstate_t>::do_max_length):
	Move...
	* config/locale/generic/codecvt_members.cc:  ...here.
	* config/locale/gnu/codecvt_members.cc:  ...and here.

	* config/locale/generic/codecvt_members.cc,
	* config/locale/gnu/codecvt_members.cc
	(codecvt<wchar_t, char, mbstate_t>::do_encoding
	codecvt<wchar_t, char, mbstate_t>::do_in,
	codecvt<wchar_t, char, mbstate_t>::do_length,
	codecvt<wchar_t, char, mbstate_t>::do_max_length,
	codecvt<wchar_t, char, mbstate_t>::do_out):
	New implementation that handles stateless encodings,
	including UTF-8.

	* config/locale/generic/codecvt_members.cc,
	* config/locale/gnu/codecvt_members.cc,
	* config/locale/ieee_1003.1-2001/codecvt_specializations.h,
	* include/bits/codecvt.h,
	* src/codecvt.cc
	(codecvt::length, codecvt::do_length):
	Change type of first argument of length and do_length from
	'const state_type&' to 'state_type&' according to DR 75.

	* testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc:  Cleanup.
	* testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc:  New test.
	* testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc:  New test.
	* testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc:  New test.
	* testsuite/22_locale/codecvt/encoding/wchar_t/1.cc:
	Cleanup and check for correct return value from encoding
	for "C" locale.
	* testsuite/22_locale/codecvt/encoding/wchar_t/2.cc:  New test.
	* testsuite/22_locale/codecvt/encoding/wchar_t/3.cc:  New test.
	* testsuite/22_locale/codecvt/encoding/wchar_t/4.cc:  New test.
	* testsuite/22_locale/codecvt/in/wchar_t/1.cc:  Cleanup.
	* testsuite/22_locale/codecvt/in/wchar_t/2.cc:  New test.
	* testsuite/22_locale/codecvt/in/wchar_t/3.cc:  New test.
	* testsuite/22_locale/codecvt/in/wchar_t/4.cc:  New test.
	* testsuite/22_locale/codecvt/in/wchar_t/5.cc:  New test.
	* testsuite/22_locale/codecvt/in/wchar_t/6.cc:  New test.
	* testsuite/22_locale/codecvt/in/wchar_t/7.cc:  New test.
	* testsuite/22_locale/codecvt/in/wchar_t/8.cc:  New test.
	* testsuite/22_locale/codecvt/in/wchar_t/9.cc:  New test.
	* testsuite/22_locale/codecvt/length/char/1.cc:  Cleanup.
	* testsuite/22_locale/codecvt/length/char/2.cc:  New test.
	* testsuite/22_locale/codecvt/length/wchar_t/1.cc:  Cleanup.
	* testsuite/22_locale/codecvt/length/wchar_t/2.cc:  New test.
	* testsuite/22_locale/codecvt/length/wchar_t/3.cc:  New test.
	* testsuite/22_locale/codecvt/length/wchar_t/4.cc:  New test.
	* testsuite/22_locale/codecvt/length/wchar_t/5.cc:  New test.
	* testsuite/22_locale/codecvt/length/wchar_t/6.cc:  New test.
	* testsuite/22_locale/codecvt/length/wchar_t/7.cc:  New test.
	* testsuite/22_locale/codecvt/max_length/wchar_t/1.cc:  Cleanup.
	* testsuite/22_locale/codecvt/max_length/wchar_t/2.cc:  New test.
	* testsuite/22_locale/codecvt/max_length/wchar_t/3.cc:  New test.
	* testsuite/22_locale/codecvt/max_length/wchar_t/4.cc:  New test.
	* testsuite/22_locale/codecvt/out/wchar_t/1.cc:  Cleanup.
	* testsuite/22_locale/codecvt/out/wchar_t/2.cc:  New test.
	* testsuite/22_locale/codecvt/out/wchar_t/3.cc:  New test.
	* testsuite/22_locale/codecvt/out/wchar_t/4.cc:  New test.
	* testsuite/22_locale/codecvt/out/wchar_t/5.cc:  New test.
	* testsuite/22_locale/codecvt/out/wchar_t/6.cc:  New test.
	* testsuite/22_locale/codecvt/out/wchar_t/7.cc:  New test.
	* testsuite/22_locale/codecvt/unicode/1.cc:  New test.
	* testsuite/22_locale/codecvt/unshift/wchar_t/1.cc:  Cleanup.
	* testsuite/22_locale/codecvt/unshift/wchar_t/2.cc:  New test.
	* testsuite/22_locale/codecvt/unshift/wchar_t/3.cc:  New test.
	* testsuite/22_locale/codecvt/unshfit/wchar_t/4.cc:  New test.

From-SVN: r62474
2003-02-06 06:24:21 +00:00
Benjamin Kosnik 2e2a38cd06 [multiple changes]
2003-02-05  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.tcc (time_put::do_put): Use __write.
	(money_put::do_put): Same.

2003-02-05  Jerry Quinn  <jlquinn@optonline.net>

	* include/bits/ios_base.h (ios_base): Document reserved storage.

	* include/bits/locale_facets.h:	(struct __pad): Comment on
	implementation.
	(__verify_grouping): Same.
	(__add_grouping): Same.
	* include/bits/locale_facets.tcc (__verify_grouping): Move
	comments to declaration.
	(__add_grouping): Same.

	* include/bits/locale_facets.tcc:
	(__write<_CharT, _OutIter>): New function.
	(__write<_CharT>): New function specialization.
	(num_put::_M_insert): Remove explicit loop over iterator.  Use
	__write.
	(num_put::_M_widen_float): Remove __basefield.
	(num_put::_M_widen_int): Move __basefield to within grouping block.

	* include/bits/streambuf_iterator.h: Include <streambuf>.
	(ostreambuf_iterator::_M_put): Add.

From-SVN: r62473
2003-02-06 05:58:10 +00:00
Paolo Carlini 37d055f87f valarray_name_lookup.cc: Fix typo.
2003-02-05  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/26_numerics/valarray_name_lookup.cc: Fix typo.

From-SVN: r62450
2003-02-05 19:26:24 +00:00
Nathan Myers 7ec2271788 min_max.cc (test02): Add.
2003-02-04  Nathan Myers  <ncm@cantrip.org>

	* testsuite/25_algorithms/min_max.cc (test02): Add.

From-SVN: r62412
2003-02-04 23:42:21 +00:00
Paolo Carlini 52b62c0e1a PR libstdc++/9439, PR libstdc++/9425
2003-02-04  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9439, PR libstdc++/9425
	* config/io/basic_file_stdio.cc
	(__basic_file<char>::seekoff, seekpos): Return -1L if
	fseek fails.
	* include/bits/fstream.tcc (basic_filebuf::seekoff):
	Check _M_file.seekoff return value; always return
	pos_type(off_type(-1)) in case of failure.
	(basic_filebuf::pbackfail): Check this->seekoff return
	value and return traits_type::eof() in case of failure.
	* testsuite/27_io/filebuf_virtuals.cc (test09): Add.

From-SVN: r62408
2003-02-04 22:42:32 +00:00
Jerry Quinn 8d0a564bba std_ostream.h (ostream::_M_write): Declare.
2003-02-04  Jerry Quinn  <jlquinn@optonline.net>

	* include/std/std_ostream.h (ostream::_M_write): Declare.
        * ostream.tcc (ostream::_M_write): Define.
	(basic_ostream::write): Use it.
	(operator<<(basic_ostream, _CharT)): Ditto.
	(operator<<(basic_ostream, char)): Ditto.
	(operator<<(basic_ostream, _CharT*)): Ditto.
	(operator<<(basic_ostream, char*)): Ditto.
	(operator<<(basic_ostream, basic_string)): Ditto.

From-SVN: r62399
2003-02-04 20:56:50 +00:00
Benjamin Kosnik 431a736388 valarray_name_lookup.cc: Fix.
2003-02-04  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/26_numerics/valarray_name_lookup.cc: Fix.

From-SVN: r62398
2003-02-04 20:53:19 +00:00
Jonathan Wakely 6e40349a80 howto.html: Link to Dietmar Kuehl's IOStream page...
2002-02-04  Jonathan Wakely  <redi@gcc.gnu.org>

	* docs/html/27_io/howto.html: Link to Dietmar Kuehl's IOStream page,
	add HTML comment about updating links if numbering changes.

From-SVN: r62390
2003-02-04 18:24:07 +00:00
Paolo Carlini 7cd3907b57 [multiple changes]
2003-02-04  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9538
	* include/bits/streambuf.tcc (sputbackc): Access
	this->gptr()[-1] only if _M_in_beg < _M_in_cur.
	* testsuite/27_io/filebuf_virtuals.cc (test08): Add.

2003-02-04  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9507
	* include/bits/fstream.tcc (open): If the 'ate' repositioning
	operation fails, calls close _and_ returns a null pointer
	to indicate failure (27.8.1.3,4).
	* testsuite/27_io/filebuf_members.cc (test_06): Add.

2003-02-04  Petur Runolfsson  <peturr02@ru.is>

	* testsuite/27_io/filebuf_members.cc (test_04): Remove exit(0).

From-SVN: r62388
2003-02-04 18:08:45 +00:00
Jonathan Wakely e7cc090e91 howto.html: New section on stdio_filebuf.
2002-02-04  Jonathan Wakely  <redi@gcc.gnu.org>

	* docs/html/27_io/howto.html: New section on stdio_filebuf.
	* docs/html/ext/howto.html: Move stdio_filebuf notes to 27_io.
	* docs/html/documentation.html: Regenerate.

From-SVN: r62383
2003-02-04 17:42:19 +00:00
Joseph Myers b3a8389d18 fastjar.texi: Update to GFDL 1.2.
fastjar:
	* fastjar.texi: Update to GFDL 1.2.

gcc:
	* doc/gcc.texi, doc/gccint.texi, doc/gcov.texi,
	doc/include/fdl.texi, doc/invoke.texi: Update to GFDL 1.2.
	* doc/install.texi: Update copyright dates.  Update to GFDL 1.2.

gcc/ada:
	* gnat_rm.texi, gnat_ug.texi: Update to GFDL 1.2.
	* gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
	gnat_ug_wnt.texi: Regenerate.

gcc/f:
	* g77.texi, invoke.texi: Update to GFDL 1.2.

gcc/java:
	* gcj.texi: Update to GFDL 1.2.

gcc/treelang:
	* treelang.texi: Update to GFDL 1.2.

libiberty:
	* libiberty.texi: Update to GFDL 1.2.

libstdc++-v3:
	* docs/html/17_intro/porting.texi: Update to GFDL 1.2.
	* docs/html/17_intro/porting.html: Regenerate.

From-SVN: r62365
2003-02-04 01:27:53 +00:00
Falk Hueffner 348b0c3105 std_bitset.h: Replace CHAR_BIT with __CHAR_BIT__, use numeric_limits for bits-per-word values.
2003-02-03  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
            Phil Edwards  <pme@gcc.gnu.org>

	* include/std/std_bitset.h:  Replace CHAR_BIT with __CHAR_BIT__, use
	numeric_limits for bits-per-word values.
	(_Base_bitset::_M_do_count, _Base_bitset<1>::_M_do_count):
	Use __builtin_popcountl instead.
	(_Base_bitset::_M_do_find_first, _Base_bitset::_M_do_find_next,
	_Base_bitset<1>::_M_do_find_first, _Base_bitset<1>::_M_do_find_next):
	Use __builtin_ctzl instead.
	(_S_bit_count, _S_first_one):  Remove.
	* config/linker-map.gnu (GLIBCPP_3.4):  Remove std::_S_bit_count.
	* src/Makefile.am (sources):  Remove bitset.cc.
	* src/bitset.cc:  Delete file.
	* src/Makefile.in:  Regenerate.

Co-Authored-By: Phil Edwards <pme@gcc.gnu.org>

From-SVN: r62335
2003-02-03 19:37:53 +00:00
Phil Edwards 00f53979c7 PR libstdc++/9527, PR libstdc++/8713
2003-02-03  Phil Edwards  <pme@gcc.gnu.org>

	PR libstdc++/9527, PR libstdc++/8713
	* docs/html/install.html:  Mention glibc version requirement.
	* docs/html/faq/index.html (3.8):  New note, glibc 2.2.5+ is needed
	with 3.2.1+ (formatting bugfixes).
	* docs/html/faq/index.txt:  Regenerate.

From-SVN: r62322
2003-02-03 16:44:44 +00:00
Volker Reichelt 847e8c74ac re PR libstdc++/9234 (unary minus for valarrays broken)
PR libstdc++/9234
	* include/bits/valarray_before.h (_UnBase::operator[]): Apply unary
	operator.

	* include/bits/valarray_before.h (__not_equal_to): Use != instead of ==.

	* testsuite/26_numerics/valarray_operators.cc: New test.

From-SVN: r62309
2003-02-03 10:38:36 +00:00
Phil Edwards d6ed6fcc8f index.html: Correct link to libg++ information.
2003-02-01  Phil Edwards  <pme@gcc.gnu.org>

	* docs/html/faq/index.html:  Correct link to libg++ information.
	* docs/html/faq/index.txt:  Regenerated.

From-SVN: r62259
2003-02-01 21:47:13 +00:00
Paolo Carlini 064994a3f2 Const correctness issue: http://gcc.gnu.org/ml/libstdc++/2003-01/msg00370.html
2003-02-01  Paolo Carlini  <pcarlini@unitus.it>
	    Benjamin Kosnik  <bkoz@redhat.com>

	Const correctness issue:
	http://gcc.gnu.org/ml/libstdc++/2003-01/msg00370.html
	* include/bits/locale_classes.h
	(locale::_Impl::_M_facets): Change type to const facet**.
	(locale::_Impl::_M_install_facet): Change declaration to
	take const facet*.
	(locale::facet::_M_references): Make mutable.
	(locale::facet::_M_add_reference): Declare const.
	(locale::facet::_M_remove_reference): Likewise.
	* include/bits/locale_facets.tcc
	(use_facet(const locale&)): Tweak for const facet** _M_facets.
	(has_facet(const locale&)): Likewise.
	* src/locale.cc
	(locale::facet::_M_add_reference): Adjust definition.
	(locale::facet::_M_remove_reference): Likewise.
	* src/localename.cc
	(locale::_Impl::_Impl(const _Impl&, size_t)): Tweak for
	const facet** _M_facets.
	(locale::_Impl::_Impl(const char*, size_t)): Likewise.
	(locale::_Impl::_Impl(facet**, size_t, bool)): Likewise.
	(locale::_Impl::_M_install_facet): Adjust definition to take
	const facet* and for const facet** _M_facets.
	* testsuite/22_locale/locale/cons/8.cc: Add.

Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>

From-SVN: r62248
2003-02-01 16:37:20 +00:00
Mark Mitchell 14d22dd667 c-common.c (builtin_define_float_constants): Define __<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
* c-common.c (builtin_define_float_constants): Define
	__<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.

	* call.c (build_field_call): Use build_new_op, not build_opfncall.
	(prep_operand): New function.
	(build_new_op): Use it.  Remove dead code.
	* class.c (pushclass): Change "modify" parameter type from int to
	bool.
	(currently_open_class): Use same_type_p, not pointer equality.
	(push_nested_class): Adjust calls to pushclass, remove modify
	parameter.
	* cp-tree.h (INTEGRAL_OR_ENUMERATION_TYPE_P): New macro.
	(pushclass): Change prototype.
	(push_nested_class): Likewise.
	(grokoptypename): Remove.
	(build_opfncall): Remove.
	(value_dependent_expression_p): Declare.
	(resolve_typename_type): Likewise.
	(resolve_typename_type_in_current_instantiation): Likewise.
	(enter_scope_of): Remove.
	(tsubst): Remove.
	(tsubst_expr): Likewise.
	(tsubst_copy): Likewise.
	(tsubst_copy_and_build): Likewise.
	* decl.c (warn_about_implicit_typename_lookup): Remove.
	(finish_case_label): Return error_mark_node for erroneous labels.
	(start_decl): Adjust calls to push_nested_class.
	(grokfndecl): Call push_scope/pop_scope around call to
	duplicate_decls.
	(grokdeclarator): Do not call tsubst.
	(start_function): Adjust calls to push_nested_class.
	* decl2.c (grok_array_decl): Use build_new_op, not build_opfncall.
	(check_classfn): Use push_scope/pop_scope around type comparisions.
	(grokoptypename): Remove.
	(push_sscope): Adjust call to push_nested_class.
	* error.c (dump_type): Show cv-qualification of typename types.
	* init.c (build_member_call): Use build_new_op, not
	build_opfncall.
	* method.c (build_opfncall): Remove.
	* parser.c (cp_parser): Add allow_non_constant_expression_p and
	non_constant_expression_p.
	(cp_parser_constant_expression): Adjust prototype.
	(cp_parser_resolve_typename_type): Remove.
	(cp_parser_non_constant_expression): New function.
	(cp_parser_non_constant_id_expression): Likewise.
	(cp_parser_new): Set allow_non_constant_expression_p and
	non_constant_expression_p.
	(cp_parser_primary_expression): Reject `this' and `va_arg' in
	constant-expressions.  Note that dependent names aren't really
	constant.
	(cp_parser_postfix_expression): Reject conversions to non-integral
	types in constant-expressions.  Neither are increments or
	decrements.
	(cp_parser_unary_expression): Reject increments and decrements in
	constant-expressions.
	(cp_parser_direct_new_declarator): Adjust call to
	cp_parser_constant_expression.
	(cp_parser_cast_expression): Reject conversions to non-integral
	types in constant-expressions.
	(cp_parser_assignment_expression): Rejects assignments in
	constant-expressions.
	(cp_parser_expression): Reject commas in constant-expressions.
	(cp_parser_labeled_statement): Adjust call to
	cp_parser_constant_expression.
	(cp_parser_direct_declarator): Simplify array bounds, even in
	templates, when they are non-dependent.  Use
	resolve_typename_type, not cp_parser_resolve_typename_type.
	(cp_parser_class_head): Use resolve_typename_type, not
	cp_parser_resolve_typename_type.
	(cp_parser_member_declaration): Adjust call to
	cp_parser_constant_expression.
	(cp_parser_constant_initializer): Likewise.
	(cp_parser_constructor_declarator): Use resolve_typename_type, not
	cp_parser_resolve_typename_type.
	(cp_parser_late_parsing_default_args): Adjust call to
	push_nested_class.
	* pt.c (tsubst): Give it internal linkage.
	(tsubst_expr): Likewise.
	(tsubst_copy): Likewise.
	(tsubst_copy_and_build): Likewise.
	(push_access_scope_real): Likewise.
	(tsubst_friend_class): Likewise.
	(instantiate_class_template): Adjust call to pushclass.
	(value_dependent_expression_p): Give it external linkage.
	Robustify.
	(resolve_typename_type): New function.
	* semantics.c (finish_call_expr): Use build_new_op, not
	build_opfncall.
	(begin_constructor_declarator): Remove.
	(begin_class_definition): Adjust call to pushclass.
	(enter_scope_of): Remove.
	* typeck.c (comptypes): Resolve typename types as appropriate.
	(build_x_indirect_ref): Use build_new_op, not build_opfncall.
	(build_x_compound_expr): Likewise.
	(build_modify_expr): Likewise.
	(build_x_modify_expr): Likewise.
	* typeck2.c (build_x_arrow): Likewise.

	* g++.dg/parser/constant1.C: New test.

	* include/std/std_limits.h (numeric_limits<float>::has_infinity):
	Use __FLT_HAS_INIFINITY__ to initialize.
	(numeric_limits<float>::has_quiet_NaN): Likewise.
	(numeric_limits<double>::has_infinity): Use __DBL_HAS_INIFINITY__
	to initialize.
	(numeric_limits<double>::has_quiet_NaN): Likewise.
	(numeric_limits<long double>::has_infinity): Use
	__LDBL_HAS_INIFINITY__ to initialize.
	(numeric_limits<long_double>::has_quiet_NaN): Likewise.

From-SVN: r62130
2003-01-30 07:24:02 +00:00
Nathan Sidwell 483a570922 re PR c++/9433 (SegFault in dynamic_cast)
libstdc++-v3:
        PR c++/9433
        * libsupc++/tinfo.cc (__vmi_class_type_info::__do_dyncast): Cope
        with bases which are very ambiguous.
gcc/testsuite:
        * g++.dg/abi/dcast1.C: New test.

From-SVN: r61973
2003-01-28 15:26:53 +00:00
Danny Smith 697044e099 Makefile.am (CONFIG_CXXFLAGS): Reverse order of @EXTRA_CXX_FLAGS@ @SECTION_FLAGS@.
* src/Makefile.am (CONFIG_CXXFLAGS): Reverse order of
	@EXTRA_CXX_FLAGS@ @SECTION_FLAGS@.
	* libsupc++/Makefile.am (CONFIG_CXXFLAGS): Likewise.
	* src/Makefile.in: Regenerate.
	* libsupc++/Makefile.in: Regenerate.

From-SVN: r61915
2003-01-28 01:17:36 +00:00
Alexandre Oliva f3fe2438f3 acinclude.m4 (glibcpp_toolexeclibdir): Instead of $(MULTISUBDIR)...
* acinclude.m4 (glibcpp_toolexeclibdir): Instead of
$(MULTISUBDIR), use `$CC -print-multi-os-directory`, unless
version_specific_libs is enabled.
* aclocal.m4, configure: Rebuilt.

From-SVN: r61892
2003-01-27 17:26:29 +00:00
Nathan Sidwell 3de9870034 missing changelog entry
From-SVN: r61717
2003-01-24 17:17:05 +00:00
Andreas Schwab 475c1d0989 * config/linker-map.gnu: Fix for size_t variance.
From-SVN: r61713
2003-01-24 17:01:25 +00:00
Petur Runolfsson 1ceb90cfa1 re PR libstdc++/9322 (return value of basic_streambuf<>::getloc affected by locale::global)
2003-01-23  Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/9322
	* include/std/std_streambuf.h
	(basic_streambuf::basic_streambuf,
	basic_streambuf::~basic_streambuf,
	basic_streambuf::getloc, basic_streambuf::imbue):
	Remove _M_buf_locale_init use.
	* include/bits/fstream.tcc (basic_filebuf::imbue):  Likewise
	* testsuite/27_io/filebuf_virtuals.cc (test08):  Add.
	* testsuite/27_io/streambuf_members.cc (test08):  Add.
	* testsuite/27_io/stringbuf_virtuals.cc (test08):  Add.

From-SVN: r61678
2003-01-23 22:53:35 +00:00
Benjamin Kosnik 1a1e79bbfe Revert include ordering.
2003-01-23  Benjamin Kosnik  <bkoz@redhat.com>

	Revert include ordering.
	* config/locale/generic/c_locale.h: Add include guards.
	* config/locale/gnu/c_locale.h: Same.
	* include/bits/locale_classes.h: Remove cctype include.
	* include/std/std_iosfwd.h: Add c++locale.h, cctype includes.
	* include/std/std_fstream.h: Remove streambuf include.
	* include/std/std_sstream.h: Remove streambuf include.

From-SVN: r61664
2003-01-23 18:56:00 +00:00
Benjamin Kosnik 8099b2aee8 configure.in (libtool_VERSION): To 6:0:0.
2003-01-23  Benjamin Kosnik  <bkoz@redhat.com>

	* configure.in (libtool_VERSION): To 6:0:0.
	* configure: Regenerated.
	* config/linker-map.gnu: Clean.

	* src/misc-inst.cc: Remove instantiations.

	* include/bits/stl_alloc.h (__malloc_alloc_template):
	To __malloc_alloc.
	(__default_alloc_template): To __pool_alloc.
	* src/stl-inst.cc: Same.
	* include/backward/alloc.h: Update.
	* testsuite/ext/allocators.cc: Update.

	* src/globals.cc (__gnu_cxx): Remove _GLIBCPP_ASM_SYMVER. Should
	really try to remove these if possible.
	* src/locale.cc (std): Same.

	* testsuite/abi_check.cc (check_version): Add.

From-SVN: r61658
2003-01-23 17:21:11 +00:00
Benjamin Kosnik b4ec7fc7f0 re PR libstdc++/9269 (libstdc++ headers: explicit specialization of function must precede its first use)
2003-01-22  Benjamin Kosnik  <bkoz@redhat.com>
	    Sysoltsev Slawa  <Vyatcheslav.Sysoltsev@intel.com>
	    Mark Mitchell  <mark@codesourcery.com>

	PR libstdc++/9269
	* include/std/std_fstream.h (basic_filebuf::uflow): Declare.
	(basic_filebuf::underflow): Declare.
	Move definitions.

Co-Authored-By: Mark Mitchell <mark@codesourcery.com>
Co-Authored-By: Sysoltsev Slawa <Vyatcheslav.Sysoltsev@intel.com>

From-SVN: r61616
2003-01-22 21:18:00 +00:00
Benjamin Kosnik e66868131b locale_facets.h: Move non-facet classes requiring <string> to...
2003-01-22  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.h: Move non-facet classes requiring
	<string> to...
	* include/bits/locale_classes.h: New.
	* include/bits/Makefile.am (bits_headers_src): Add locale_classes.h.
	* include/bits/Makefile.in: Regenerate.

	* include/bits/locale_facets.tcc (__convert_from_v): Move to...
	* config/locale/gnu/c_locale.h: ...here.
	* config/locale/generic/c_locale.h: Same.

	* include/bits/locale_facets.tcc: Move declarations to...
	* include/bits/locale_facets.h: ...here.
	* include/bits/basic_ios.h: Tweak includes accordingly.
	* include/std/std_sstream.h: Add streambuf include.
	* include/std/std_fstream.h: Ditto.
	* include/std/std_locale.h: Add locale_classes.h include.
	* include/std/std_iosfwd.h: Tweak.
	* src/concept-inst.cc: Add iterator include.

	* config/linker-map.gnu: Specify __cxa functions, mark __cxa_dyn_*
	bits as unexported in the future.

From-SVN: r61593
2003-01-22 16:51:52 +00:00
Benjamin Kosnik 5f8d36fe0a Reshuffle 22_locale testsuite.
2003-01-21  Benjamin Kosnik  <bkoz@redhat.com>

	Reshuffle 22_locale testsuite.
	* 22_locale/(codecvt.cc money_get.cc
	codecvt_members_char_char.cc money_get_members_char.cc
	codecvt_members_unicode_char.cc money_get_members_wchar_t.cc
	codecvt_members_unicode_wchar_t.cc moneypunct_byname.cc
	codecvt_members_wchar_t_char.cc moneypunct.cc collate_byname.cc
	moneypunct_members_char.cc collate.cc moneypunct_members_wchar_t.cc
	collate_members_char.cc money_put.cc collate_members_wchar_t.cc
	money_put_members_char.cc ctor_copy_dtor.cc
	money_put_members_wchar_t.cc ctype.cc num_get.cc ctype_is_char.cc
	num_get_members_char.cc ctype_is_wchar_t.cc num_get_members_wchar_t.cc
	ctype_members_char.cc numpunct_byname.cc ctype_members_wchar_t.cc
	numpunct.cc ctype_narrow_char.cc numpunct_members_char.cc
	ctype_narrow_wchar_t.cc numpunct_members_wchar_t.cc ctype_scan_char.cc
	num_put.cc ctype_scan_wchar_t.cc num_put_members_char.cc
	ctype_to_char.cc num_put_members_wchar_t.cc ctype_to_wchar_t.cc
	operators.cc ctype_widen_char.cc static_members.cc
	ctype_widen_wchar_t.cc time_get.cc facet.cc time_get_members_char.cc
	global_templates.cc time_get_members_wchar_t.cc, members.cc,
	time_put.cc, messages_byname.cc, time_put_members_char.cc,
	messages.cc, time_put_members_wchar_t.cc, messages_members_char.cc):
	Splint up into individual test cases...
	* 22_locale/codecvt/1.cc: New.
	* 22_locale/codecvt/2.cc: New.
	* 22_locale/codecvt/always_noconv/char/1.cc: New.
	* 22_locale/codecvt/always_noconv/char/wrapped_env.cc: New.
	* 22_locale/codecvt/always_noconv/char/wrapped_locale.cc: New.
	* 22_locale/codecvt/always_noconv/wchar_t/1.cc: New.
	* 22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc: New.
	* 22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc: New.
	* 22_locale/codecvt/encoding/char/1.cc: New.
	* 22_locale/codecvt/encoding/char/wrapped_env.cc: New.
	* 22_locale/codecvt/encoding/char/wrapped_locale.cc: New.
	* 22_locale/codecvt/encoding/wchar_t/1.cc: New.
	* 22_locale/codecvt/encoding/wchar_t/wrapped_env.cc: New.
	* 22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc: New.
	* 22_locale/codecvt/in/char/1.cc: New.
	* 22_locale/codecvt/in/char/wrapped_env.cc: New.
	* 22_locale/codecvt/in/char/wrapped_locale.cc: New.
	* 22_locale/codecvt/in/wchar_t/1.cc: New.
	* 22_locale/codecvt/in/wchar_t/wrapped_env.cc: New.
	* 22_locale/codecvt/in/wchar_t/wrapped_locale.cc: New.
	* 22_locale/codecvt/length/char/1.cc: New.
	* 22_locale/codecvt/length/char/wrapped_env.cc: New.
	* 22_locale/codecvt/length/char/wrapped_locale.cc: New.
	* 22_locale/codecvt/length/wchar_t/1.cc: New.
	* 22_locale/codecvt/length/wchar_t/wrapped_env.cc: New.
	* 22_locale/codecvt/length/wchar_t/wrapped_locale.cc: New.
	* 22_locale/codecvt/max_length/char/1.cc: New.
	* 22_locale/codecvt/max_length/char/wrapped_env.cc: New.
	* 22_locale/codecvt/max_length/char/wrapped_locale.cc: New.
	* 22_locale/codecvt/max_length/wchar_t/1.cc: New.
	* 22_locale/codecvt/max_length/wchar_t/wrapped_env.cc: New.
	* 22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc: New.
	* 22_locale/codecvt/out/char/1.cc: New.
	* 22_locale/codecvt/out/char/wrapped_env.cc: New.
	* 22_locale/codecvt/out/char/wrapped_locale.cc: New.
	* 22_locale/codecvt/out/wchar_t/1.cc: New.
	* 22_locale/codecvt/out/wchar_t/wrapped_env.cc: New.
	* 22_locale/codecvt/out/wchar_t/wrapped_locale.cc: New.
	* 22_locale/codecvt/unicode/char.cc: New.
	* 22_locale/codecvt/unicode/wchar_t.cc: New.
	* 22_locale/codecvt/unshift/char/1.cc: New.
	* 22_locale/codecvt/unshift/char/wrapped_env.cc: New.
	* 22_locale/codecvt/unshift/char/wrapped_locale.cc: New.
	* 22_locale/codecvt/unshift/wchar_t/1.cc: New.
	* 22_locale/codecvt/unshift/wchar_t/wrapped_env.cc: New.
	* 22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc: New.
	* 22_locale/collate/1.cc: New.
	* 22_locale/collate/2.cc: New.
	* 22_locale/collate/compare/char/1.cc: New.
	* 22_locale/collate/compare/char/2.cc: New.
	* 22_locale/collate/compare/char/wrapped_env.cc: New.
	* 22_locale/collate/compare/char/wrapped_locale.cc: New.
	* 22_locale/collate/compare/wchar_t/1.cc: New.
	* 22_locale/collate/compare/wchar_t/2.cc: New.
	* 22_locale/collate/compare/wchar_t/wrapped_env.cc: New.
	* 22_locale/collate/compare/wchar_t/wrapped_locale.cc: New.
	* 22_locale/collate/hash/char/1.cc: New.
	* 22_locale/collate/hash/char/2.cc: New.
	* 22_locale/collate/hash/char/wrapped_env.cc: New.
	* 22_locale/collate/hash/char/wrapped_locale.cc: New.
	* 22_locale/collate/hash/wchar_t/1.cc: New.
	* 22_locale/collate/hash/wchar_t/2.cc: New.
	* 22_locale/collate/hash/wchar_t/wrapped_env.cc: New.
	* 22_locale/collate/hash/wchar_t/wrapped_locale.cc: New.
	* 22_locale/collate/transform/char/2.cc: New.
	* 22_locale/collate/transform/char/wrapped_env.cc: New.
	* 22_locale/collate/transform/char/wrapped_locale.cc: New.
	* 22_locale/collate/transform/wchar_t/2.cc: New.
	* 22_locale/collate/transform/wchar_t/wrapped_env.cc: New.
	* 22_locale/collate/transform/wchar_t/wrapped_locale.cc: New.
	* 22_locale/collate_byname/1.cc: New.
	* 22_locale/ctype/1.cc: New.
	* 22_locale/ctype/2.cc: New.
	* 22_locale/ctype/cons/char/1.cc: New.
	* 22_locale/ctype/cons/char/wrapped_env.cc: New.
	* 22_locale/ctype/cons/char/wrapped_locale.cc: New.
	* 22_locale/ctype/is/char/1.cc: New.
	* 22_locale/ctype/is/char/2.cc: New.
	* 22_locale/ctype/is/char/3.cc: New.
	* 22_locale/ctype/is/char/wrapped_env.cc: New.
	* 22_locale/ctype/is/char/wrapped_locale.cc: New.
	* 22_locale/ctype/is/wchar_t/1.cc: New.
	* 22_locale/ctype/is/wchar_t/2.cc: New.
	* 22_locale/ctype/is/wchar_t/wrapped_env.cc: New.
	* 22_locale/ctype/is/wchar_t/wrapped_locale.cc: New.
	* 22_locale/ctype/narrow/char/1.cc: New.
	* 22_locale/ctype/narrow/char/2.cc: New.
	* 22_locale/ctype/narrow/char/wrapped_env.cc: New.
	* 22_locale/ctype/narrow/char/wrapped_locale.cc: New.
	* 22_locale/ctype/narrow/wchar_t/1.cc: New.
	* 22_locale/ctype/narrow/wchar_t/2.cc: New.
	* 22_locale/ctype/narrow/wchar_t/wrapped_env.cc: New.
	* 22_locale/ctype/narrow/wchar_t/wrapped_locale.cc: New.
	* 22_locale/ctype/scan/char/1.cc: New.
	* 22_locale/ctype/scan/char/wrapped_env.cc: New.
	* 22_locale/ctype/scan/char/wrapped_locale.cc: New.
	* 22_locale/ctype/scan/wchar_t/1.cc: New.
	* 22_locale/ctype/scan/wchar_t/wrapped_env.cc: New.
	* 22_locale/ctype/scan/wchar_t/wrapped_locale.cc: New.
	* 22_locale/ctype/to/char/1.cc: New.
	* 22_locale/ctype/to/char/wrapped_env.cc: New.
	* 22_locale/ctype/to/char/wrapped_locale.cc: New.
	* 22_locale/ctype/to/wchar_t/1.cc: New.
	* 22_locale/ctype/to/wchar_t/wrapped_env.cc: New.
	* 22_locale/ctype/to/wchar_t/wrapped_locale.cc: New.
	* 22_locale/ctype/widen/char/1.cc: New.
	* 22_locale/ctype/widen/char/wrapped_env.cc: New.
	* 22_locale/ctype/widen/char/wrapped_locale.cc: New.
	* 22_locale/ctype/widen/wchar_t/1.cc: New.
	* 22_locale/ctype/widen/wchar_t/wrapped_env.cc: New.
	* 22_locale/ctype/widen/wchar_t/wrapped_locale.cc: New.
	* 22_locale/facet/1.cc: New.
	* 22_locale/facet/2.cc: New.
	* 22_locale/global_templates/1.cc: New.
	* 22_locale/locale/cons/1.cc: New.
	* 22_locale/locale/cons/2.cc: New.
	* 22_locale/locale/cons/3.cc: New.
	* 22_locale/locale/cons/4.cc: New.
	* 22_locale/locale/cons/5.cc: New.
	* 22_locale/locale/cons/6.cc: New.
	* 22_locale/locale/cons/7.cc: New.
	* 22_locale/locale/global_locale_objects/1.cc: New.
	* 22_locale/locale/global_locale_objects/2.cc: New.
	* 22_locale/locale/global_locale_objects/3.cc: New.
	* 22_locale/locale/operations/1.cc: New.
	* 22_locale/locale/operations/2.cc: New.
	* 22_locale/messages/1.cc: New.
	* 22_locale/messages/2.cc: New.
	* 22_locale/messages/members/char/1.cc: New.
	* 22_locale/messages/members/char/2.cc: New.
	* 22_locale/messages/members/char/3.cc: New.
	* 22_locale/messages/members/char/wrapped_env.cc: New.
	* 22_locale/messages/members/char/wrapped_locale.cc: New.
	* 22_locale/messages_byname/1.cc: New.
	* 22_locale/money_get/1.cc: New.
	* 22_locale/money_get/2.cc: New.
	* 22_locale/money_get/get/char/1.cc: New.
	* 22_locale/money_get/get/char/2.cc: New.
	* 22_locale/money_get/get/char/3.cc: New.
	* 22_locale/money_get/get/char/4.cc: New.
	* 22_locale/money_get/get/char/5.cc: New.
	* 22_locale/money_get/get/char/6.cc: New.
	* 22_locale/money_get/get/char/7.cc: New.
	* 22_locale/money_get/get/char/8.cc: New.
	* 22_locale/money_get/get/char/wrapped_env.cc: New.
	* 22_locale/money_get/get/char/wrapped_locale.cc: New.
	* 22_locale/money_get/get/wchar_t/1.cc: New.
	* 22_locale/money_get/get/wchar_t/2.cc: New.
	* 22_locale/money_get/get/wchar_t/3.cc: New.
	* 22_locale/money_get/get/wchar_t/4.cc: New.
	* 22_locale/money_get/get/wchar_t/5.cc: New.
	* 22_locale/money_get/get/wchar_t/6.cc: New.
	* 22_locale/money_get/get/wchar_t/7.cc: New.
	* 22_locale/money_get/get/wchar_t/8.cc: New.
	* 22_locale/money_get/get/wchar_t/wrapped_env.cc: New.
	* 22_locale/money_get/get/wchar_t/wrapped_locale.cc: New.
	* 22_locale/money_put/1.cc: New.
	* 22_locale/money_put/2.cc: New.
	* 22_locale/money_put/put/char/1.cc: New.
	* 22_locale/money_put/put/char/2.cc: New.
	* 22_locale/money_put/put/char/3.cc: New.
	* 22_locale/money_put/put/char/4.cc: New.
	* 22_locale/money_put/put/char/5.cc: New.
	* 22_locale/money_put/put/char/6.cc: New.
	* 22_locale/money_put/put/char/wrapped_env.cc: New.
	* 22_locale/money_put/put/char/wrapped_locale.cc: New.
	* 22_locale/money_put/put/wchar_t/1.cc: New.
	* 22_locale/money_put/put/wchar_t/2.cc: New.
	* 22_locale/money_put/put/wchar_t/3.cc: New.
	* 22_locale/money_put/put/wchar_t/4.cc: New.
	* 22_locale/money_put/put/wchar_t/5.cc: New.
	* 22_locale/money_put/put/wchar_t/6.cc: New.
	* 22_locale/money_put/put/wchar_t/wrapped_env.cc: New.
	* 22_locale/money_put/put/wchar_t/wrapped_locale.cc: New.
	* 22_locale/moneypunct/1.cc: New.
	* 22_locale/moneypunct/2.cc: New.
	* 22_locale/moneypunct/3.cc: New.
	* 22_locale/moneypunct/members/char/1.cc: New.
	* 22_locale/moneypunct/members/char/2.cc: New.
	* 22_locale/moneypunct/members/char/wrapped_env.cc: New.
	* 22_locale/moneypunct/members/char/wrapped_locale.cc: New.
	* 22_locale/moneypunct/members/wchar_t/1.cc: New.
	* 22_locale/moneypunct/members/wchar_t/2.cc: New.
	* 22_locale/moneypunct/members/wchar_t/wrapped_env.cc: New.
	* 22_locale/moneypunct/members/wchar_t/wrapped_locale.cc: New.
	* 22_locale/moneypunct_byname/1.cc: New.
	* 22_locale/num_get/1.cc: New.
	* 22_locale/num_get/2.cc: New.
	* 22_locale/num_get/get/char/1.cc: New.
	* 22_locale/num_get/get/char/2.cc: New.
	* 22_locale/num_get/get/char/3.cc: New.
	* 22_locale/num_get/get/char/4.cc: New.
	* 22_locale/num_get/get/char/5.cc: New.
	* 22_locale/num_get/get/char/6.cc: New.
	* 22_locale/num_get/get/char/wrapped_env.cc: New.
	* 22_locale/num_get/get/char/wrapped_locale.cc: New.
	* 22_locale/num_get/get/wchar_t/1.cc: New.
	* 22_locale/num_get/get/wchar_t/2.cc: New.
	* 22_locale/num_get/get/wchar_t/3.cc: New.
	* 22_locale/num_get/get/wchar_t/4.cc: New.
	* 22_locale/num_get/get/wchar_t/5.cc: New.
	* 22_locale/num_get/get/wchar_t/6.cc: New.
	* 22_locale/num_get/get/wchar_t/wrapped_env.cc: New.
	* 22_locale/num_get/get/wchar_t/wrapped_locale.cc: New.
	* 22_locale/num_put/1.cc: New.
	* 22_locale/num_put/2.cc: New.
	* 22_locale/num_put/put/char/1.cc: New.
	* 22_locale/num_put/put/char/2.cc: New.
	* 22_locale/num_put/put/char/3.cc: New.
	* 22_locale/num_put/put/char/4.cc: New.
	* 22_locale/num_put/put/char/5.cc: New.
	* 22_locale/num_put/put/char/wrapped_env.cc: New.
	* 22_locale/num_put/put/char/wrapped_locale.cc: New.
	* 22_locale/num_put/put/wchar_t/1.cc: New.
	* 22_locale/num_put/put/wchar_t/2.cc: New.
	* 22_locale/num_put/put/wchar_t/3.cc: New.
	* 22_locale/num_put/put/wchar_t/4.cc: New.
	* 22_locale/num_put/put/wchar_t/5.cc: New.
	* 22_locale/num_put/put/wchar_t/wrapped_env.cc: New.
	* 22_locale/num_put/put/wchar_t/wrapped_locale.cc: New.
	* 22_locale/numpunct/1.cc: New.
	* 22_locale/numpunct/2.cc: New.
	* 22_locale/numpunct/members/char/1.cc: New.
	* 22_locale/numpunct/members/char/2.cc: New.
	* 22_locale/numpunct/members/char/wrapped_env.cc: New.
	* 22_locale/numpunct/members/char/wrapped_locale.cc: New.
	* 22_locale/numpunct/members/wchar_t/1.cc: New.
	* 22_locale/numpunct/members/wchar_t/2.cc: New.
	* 22_locale/numpunct/members/wchar_t/wrapped_env.cc: New.
	* 22_locale/numpunct/members/wchar_t/wrapped_locale.cc: New.
	* 22_locale/numpunct_byname/1.cc: New.
	* 22_locale/numpunct_byname/2.cc: New.
	* 22_locale/time_get/1.cc: New.
	* 22_locale/time_get/2.cc: New.
	* 22_locale/time_get/date_order/char/1.cc: New.
	* 22_locale/time_get/date_order/char/wrapped_env.cc: New.
	* 22_locale/time_get/date_order/char/wrapped_locale.cc: New.
	* 22_locale/time_get/date_order/wchar_t/1.cc: New.
	* 22_locale/time_get/date_order/wchar_t/wrapped_env.cc: New.
	* 22_locale/time_get/date_order/wchar_t/wrapped_locale.cc: New.
	* 22_locale/time_get/get_date/char/1.cc: New.
	* 22_locale/time_get/get_date/char/2.cc: New.
	* 22_locale/time_get/get_date/char/3.cc: New.
	* 22_locale/time_get/get_date/char/wrapped_env.cc: New.
	* 22_locale/time_get/get_date/char/wrapped_locale.cc: New.
	* 22_locale/time_get/get_date/wchar_t/1.cc: New.
	* 22_locale/time_get/get_date/wchar_t/2.cc: New.
	* 22_locale/time_get/get_date/wchar_t/3.cc: New.
	* 22_locale/time_get/get_date/wchar_t/wrapped_env.cc: New.
	* 22_locale/time_get/get_date/wchar_t/wrapped_locale.cc: New.
	* 22_locale/time_get/get_monthname/char/1.cc: New.
	* 22_locale/time_get/get_monthname/char/2.cc: New.
	* 22_locale/time_get/get_monthname/char/3.cc: New.
	* 22_locale/time_get/get_monthname/char/wrapped_env.cc: New.
	* 22_locale/time_get/get_monthname/char/wrapped_locale.cc: New.
	* 22_locale/time_get/get_monthname/wchar_t/1.cc: New.
	* 22_locale/time_get/get_monthname/wchar_t/2.cc: New.
	* 22_locale/time_get/get_monthname/wchar_t/3.cc: New.
	* 22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc: New.
	* 22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc: New.
	* 22_locale/time_get/get_time/char/1.cc: New.
	* 22_locale/time_get/get_time/char/2.cc: New.
	* 22_locale/time_get/get_time/char/3.cc: New.
	* 22_locale/time_get/get_time/char/wrapped_env.cc: New.
	* 22_locale/time_get/get_time/char/wrapped_locale.cc: New.
	* 22_locale/time_get/get_time/wchar_t/1.cc: New.
	* 22_locale/time_get/get_time/wchar_t/2.cc: New.
	* 22_locale/time_get/get_time/wchar_t/3.cc: New.
	* 22_locale/time_get/get_time/wchar_t/wrapped_env.cc: New.
	* 22_locale/time_get/get_time/wchar_t/wrapped_locale.cc: New.
	* 22_locale/time_get/get_weekday/char/1.cc: New.
	* 22_locale/time_get/get_weekday/char/2.cc: New.
	* 22_locale/time_get/get_weekday/char/3.cc: New.
	* 22_locale/time_get/get_weekday/char/wrapped_env.cc: New.
	* 22_locale/time_get/get_weekday/char/wrapped_locale.cc: New.
	* 22_locale/time_get/get_weekday/wchar_t/1.cc: New.
	* 22_locale/time_get/get_weekday/wchar_t/2.cc: New.
	* 22_locale/time_get/get_weekday/wchar_t/3.cc: New.
	* 22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc: New.
	* 22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc: New.
	* 22_locale/time_get/get_year/char/1.cc: New.
	* 22_locale/time_get/get_year/char/3.cc: New.
	* 22_locale/time_get/get_year/char/wrapped_env.cc: New.
	* 22_locale/time_get/get_year/char/wrapped_locale.cc: New.
	* 22_locale/time_get/get_year/wchar_t/1.cc: New.
	* 22_locale/time_get/get_year/wchar_t/3.cc: New.
	* 22_locale/time_get/get_year/wchar_t/wrapped_env.cc: New.
	* 22_locale/time_get/get_year/wchar_t/wrapped_locale.cc: New.
	* 22_locale/time_put/1.cc: New.
	* 22_locale/time_put/2.cc: New.
	* 22_locale/time_put/put/char/1.cc: New.
	* 22_locale/time_put/put/char/10.cc: New.
	* 22_locale/time_put/put/char/2.cc: New.
	* 22_locale/time_put/put/char/3.cc: New.
	* 22_locale/time_put/put/char/4.cc: New.
	* 22_locale/time_put/put/char/5.cc: New.
	* 22_locale/time_put/put/char/6.cc: New.
	* 22_locale/time_put/put/char/7.cc: New.
	* 22_locale/time_put/put/char/8.cc: New.
	* 22_locale/time_put/put/char/9.cc: New.
	* 22_locale/time_put/put/char/wrapped_env.cc: New.
	* 22_locale/time_put/put/char/wrapped_locale.cc: New.
	* 22_locale/time_put/put/wchar_t/1.cc: New.
	* 22_locale/time_put/put/wchar_t/10.cc: New.
	* 22_locale/time_put/put/wchar_t/2.cc: New.
	* 22_locale/time_put/put/wchar_t/3.cc: New.
	* 22_locale/time_put/put/wchar_t/4.cc: New.
	* 22_locale/time_put/put/wchar_t/5.cc: New.
	* 22_locale/time_put/put/wchar_t/6.cc: New.
	* 22_locale/time_put/put/wchar_t/7.cc: New.
	* 22_locale/time_put/put/wchar_t/8.cc: New.
	* 22_locale/time_put/put/wchar_t/9.cc: New.
	* 22_locale/time_put/put/wchar_t/wrapped_env.cc: New.
	* 22_locale/time_put/put/wchar_t/wrapped_locale.cc: New.

From-SVN: r61548
2003-01-21 15:29:19 +00:00
Jeffrey D. Oldham ca2ceadd31 * config/locale/generic/messages_members.h
(messages_byname<_CharT>::messages_byname): Use this-> to refer to
	unqualified members of base clasess.

From-SVN: r61416
2003-01-17 01:20:08 +00:00
Mark Mitchell 8fbc5ae723 cp-tree.h (lang_type_class): Remove is_partial_instantiation.
* cp-tree.h (lang_type_class): Remove is_partial_instantiation.
	(PARTIAL_INSTANTIATION_P): Remove.
	(IMPLICIT_TYPENAME_P): Likewise.
	(IMPLICIT_TYPENAME_TYPE_DECL_P): Likewise.
	(build_typename_type): Remove declaration.
	(parmlist_is_exprlist): Likewise.
	* decl.c (build_typename_type): Make it static, remove third
	parameter.
	(push_class_binding): Don't do implicit typename stuff.
	(make_typename_type): Likewise.
	(lookup_name_real): Likewise.
	(grokdeclarator): Don't try to convert declarations into
	initializations.  Don't do implicit typename stuff.
	(parmlist_is_exprlist): Remove.
	(xref_basetypes): Simplify.
	* decl2.c (grokfield): Don't try to convert declarations into
	initializations.
	(build_anon_union_vars): Do this while processing templates, too.
	(finish_anon_union): Likewise.
	* error.c (dump_type): Remove implicit typename handling.
	* parser.c (cp_parser_diagnose_invalid_type_name): New method.
	(cp_parser_primary_expression): Correct handling of names not
	found by unqualified name lookup in templates.
	(cp_parser_nested_name_specifier_opt): Avoid checking dependency
	of types when possible.
	(cp_parser_simple_declaration): Complain intelligently about some
	invalid declarations.
	(cp_parser_member_declaration): Likewise.
	(cp_parser_constructor_declarator_p): Don't check when we're in a
	function scope.
	* pt.c (instantiate_class_template): Remove
	PARTIAL_INSTANTIATION_P gunk.
	* search.c (lookup_field_r): Don't build implicit typenames.
	(marked_pushdecls_p): Don't enter dependent base types.
	(unmarked_pushdecls_p): Likewise.
	* semantics.c (begin_class_definition): Remove implicit typename
	stuff.

	* config/locale/gnu/messages_members.h: Use this-> to refer to
	unqualified members of base clasess.
	* config/locale/ieee_1003.1-2001/codecvt_specializations.h: Likewise.
	* include/bits/codecvt.h: Likewise.
	* include/bits/deque.tcc: Likewise.
	* include/bits/fstream.tcc: Likewise.
	* include/bits/istream.tcc: Likewise.
	* include/bits/list.tcc: Likewise.
	* include/bits/locale_facets.h: Likewise.
	* include/bits/ostream.tcc: Likewise.
	* include/bits/sstream.tcc: Likewise.
	* include/bits/stl_bvector.h: Likewise.
	* include/bits/stl_deque.h: Likewise.
	* include/bits/stl_list.h: Likewise.
	* include/bits/stl_tree.h: Likewise.
	* include/bits/stl_vector.h: Likewise.
	* include/bits/vector.tcc: Likewise.
	* include/ext/ropeimpl.h: Likewise.
	* include/ext/stdio_filebuf.h: Likewise.
	* include/ext/stl_rope.h: Likewise.
	* include/std/std_fstream.h: Likewise.
	* include/std/std_sstream.h: Likewise.

Co-Authored-By: Jeffrey Oldham <oldham@codesourcery.com>

From-SVN: r61403
2003-01-16 20:30:50 +00:00
Phil Edwards 25ad7e06c6 basic_string.tcc (_S_string_copy): Unused, remove.
2003-01-15  Phil Edwards  <pme@gcc.gnu.org>

	* include/bits/basic_string.tcc (_S_string_copy): Unused, remove.

From-SVN: r61377
2003-01-16 03:11:13 +00:00
Benjamin Kosnik 6b543e86f4 acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Substitute GLIBCPP_TEST_WCHAR_T if building wchar_t bits in the library.
2003-01-15  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Substitute
	GLIBCPP_TEST_WCHAR_T if building wchar_t bits in the library.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/Makefile.am (all-local): Add conditional rule to
	generate testsuite_wchar_t.
	* testsuite/Makefile.in: Regenerate.
	* testsuite/lib/libstdc++-v3-dg.exp
	(libstdc++-v3-list-sourcefiles): Remove wchar_t files if
	testsuite_wchar_t is not present in the build directory.
	* testsuite/libstdc++-v3.dg/dg.exp: Add -g -O2 to DEFAULT_CXXFLAGS.
	Remove setulimit bits.
	* testsuite/26_numerics/complex_value.cc: Set to noopts.
	* testsuite/Makefile.am (CLEANFILES): Add.
	* testsuite/Makefile.in: Regenerate.

From-SVN: r61373
2003-01-16 00:50:20 +00:00
John David Anglin 4af6a06372 som.h (SUPPORTS_WEAK, [...]): Define.
* som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
	ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
	* pa.h (TARGET_SOM_SDEF): Define.
	* pa-hpux11.h (TARGET_SOM_SDEF): Define.
	* config/os/hpux/os_defines.h (_GLIBCPP_GTHREAD_USE_WEAK): Define for
	__hppa__.

From-SVN: r61372
2003-01-16 00:34:45 +00:00
Jeffrey D. Oldham a7189b490f Further conform g++'s __vmi_class_type_info to the C++ ABI specification.
2003-01-14  Jeffrey D. Oldham  <oldham@codesourcery.com>

	Further conform g++'s __vmi_class_type_info to the C++ ABI
	specification.
	* gcc/cp/rtti.c (dfs_class_hint_mark): Do not set hints not
	specified by the specification.
	(class_hint_flags): Likewise.
	* gcc/testsuite/g++.old-deja/g++.abi/vmihint.C (main): Revise
	expected flags per the specification.
	* libstdc++-v3/libsupc++/cxxabi.h
	(__vmi_class_type_info::__flags_masks): Remove enumerations not
	required by the specification.

From-SVN: r61304
2003-01-14 21:36:20 +00:00
Benjamin Kosnik 8d59b23018 Renames, namespaces for testsuite utilities.
2003-01-12  Benjamin Kosnik  <bkoz@redhat.com>

	Renames, namespaces for testsuite utilities.
	* testsuite/testsuite_hooks.h: Put into namespace __gnu_cxx_test.
	(gnu_allocator_tracker): Rename to allocation_tracker.
	(gnu_new_allocator): Rename to tracker_alloc.
	(__set_testsuite_memlimit): Rename to set_memory_limits.
	(gnu_assignment_operator): Rename to assignment_operator.
	(gnu_destructor): Rename to destructor.
	(gnu_copy_tracker): Rename to copy_tracker.
	(gnu_char, gnu_int, gnu_long): Rename to pod_char, pod_int, pod_long.
	(run_tests_wrapped_locale): New.
	(run_tests_wrapped_env): New.
	* testsuite/testsuite_hooks.cc: Same.
	(class locale_data): Add.
	(class enviornment_variable): Add.
	(class not_found): Add.
	* testsuite/testsuite_allocator.h: Same.
	* testsuite/testsuite_allocator.cc: Same.
	* testsuite/23_containers/deque_ctor.cc
	(test_copy_ctor_exception_safety): Change gnu_allocator_tracker to
	allocation_tracker.
	Change gnu_new_allocator to tracker_alloc.
	Change gnu_counting_struct to counter.
	Change gnu_copy_tracker to copy_tracker.
	Change gnu_copy_constructor to copy_constructor.
	Change gnu_assignment_operator to assignment_operator.
	Inject.
	* testsuite/23_containers/vector_capacity.cc: Same.
	* testsuite/23_containers/vector_ctor.cc (test01): Same.
	* testsuite/23_containers/list_modifiers.cc: Change
	gnu_copy_tracker to copy_tracker.
	* testsuite/21_strings/ctor_copy_dtor.cc (main): Change
	__set_testsuite_memlimit to set_memory_limits.
	* testsuite/21_strings/insert.cc (main): Same.
	* testsuite/27_io/filebuf.cc: Change gnu_char to pod_char.
	* testsuite/27_io/stringstream.cc: Same.
	* testsuite/27_io/stringbuf.cc: Same.
	* testsuite/27_io/streambuf.cc: Same.
	* testsuite/27_io/ostream.cc: Same.
	* testsuite/27_io/istream.cc: Same.
	* testsuite/27_io/fstream.cc: Same.
	* testsuite/lib/libstdc++-v3-dg.exp
	(libstdc++-v3-list-sourcefiles): Additionally handle files two and
	three levels deeper in glob patterns.

From-SVN: r61261
2003-01-14 04:56:56 +00:00
Phil Edwards 3a9fdf3058 tables.html: Finished now.
2003-01-11  Phil Edwards  <pme@gcc.gnu.org>

	* docs/doxygen/tables.html:  Finished now.
	* docs/doxygen/user.cfg.in:  Update to latest version of Doxygen.
	* include/bits/basic_ios.h (basic_ios::rdbuf):  Add example to
	comments.

	* include/bits/deque.tcc, include/bits/stl_alloc.h,
	include/bits/stl_deque.h, include/bits/stl_list.h,
	include/bits/stl_vector.h:  Remove _GLIBCPP_DEPRECATED bits scheduled
	for 3.4 removal.

From-SVN: r61221
2003-01-12 02:56:50 +00:00
Benjamin Kosnik 38a9323a83 configure.in: Revert.
2003-01-09  Benjamin Kosnik  <bkoz@redhat.com>

	* configure.in: Revert.
	* configure: Regenerate.

From-SVN: r61140
2003-01-10 04:51:48 +00:00
Christian Cornelssen 90e5b39f8e Makefile.in (FLAGS_TO_PASS): Also pass DESTDIR.
libf2c:
2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>

	* Makefile.in (FLAGS_TO_PASS): Also pass DESTDIR.
	(install, uninstall): Prepend $(DESTDIR) to destination
	paths in all (un)installation commands.

libiberty:
2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>

	* Makefile.in (FLAGS_TO_PASS): Also pass DESTDIR.

libobjc:
2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>

	* Makefile.in (FLAGS_TO_PASS): Also pass DESTDIR.
	(install-libs, install-headers): Prepend $(DESTDIR) to
	destination paths in all (un)installation commands.

libstdc++:
2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>

	* include/Makefile.am (install-data-local): Prepend
	$(DESTDIR) to destination paths in all (un)installation
	commands.  Use ${c_base_builddir} and ${std_builddir}
	as destination subdirectories to achieve consistency with
	preceding mkinstalldirs commands.  No effect because both
	variables contain "." only.
	* include/Makefile.in: Regenerate.

From-SVN: r61082
2003-01-09 09:08:30 +01:00
Benjamin Kosnik 7ec3af37b9 [multiple changes]
2003-01-08  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am (stamp-*): Add checks for existing stamps.
	* include/Makefile.in: Regenerate.

	* acinclude.m4 (GLIBCPP_ENABLE_DEBUG): Correct comment.
	* aclocal.m4: Regenerate.

	* configure.in: Don't add new multi-do rules every time the
	directory is reconfigured.
	* configure: Regenerate.

2003-01-08  Brad Spencer  <spencer@infointeractive.com>
            Nathan Myers  <ncm@cantrip.org>

	* src/Makefile.am (stamp-debug): Clean.
	* src/Makefile.in: Regenerate.

From-SVN: r61052
2003-01-08 19:43:11 +00:00
Benjamin Kosnik 0252d6041d re PR libstdc++/8707 (make distclean fails)
2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/8707
	* Makefile.am (distclean-multi): Fix.
	* Makefile.in: Regenerate.

From-SVN: r60996
2003-01-07 16:20:25 +00:00
Benjamin Kosnik 1c26d8fd84 locale_facets.h (messages): Move ctor, dtor definitions to..
2003-01-06  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.h (messages): Move ctor, dtor
	definitions to..
	(__timepunct): Same.
	* config/locale/gnu/messages_members.h (messages): Add dtor, ctor
	definitions. Conditionalize for GNU systems.
	* config/locale/generic/messages_members.h (messages): Add dtor, ctor
	definitions.
	* config/locale/gnu/time_members.h (messages): New. Add dtor, ctor
	definitions. Conditionalize for GNU systems.
	* config/locale/generic/time_members.h (messages): New. Add dtor, ctor
	definitions.
	* include/bits/localefwd.h (locale::facet::_S_c_name): Add.
	* src/locale.cc: Define.
	* src/localename.cc (locale::_Impl::_Impl(facet**, size_t, bool):
	Use it.
	* config/locale/gnu/time_members.h: Use it.
	* config/locale/gnu/messages_members.h: Use it.
	* config/linker-map.gnu: Add locale::facets details.
	* include/Makefile.am (target_headers_extra): Add time_members.h.
	* include/Makefile.in: Regenerate.
	* acinclude.m4: Export CTIME_H.
	* aclocal.m4: Regenerate.
	* configure: Regnerate.

From-SVN: r60952
2003-01-06 21:23:00 +00:00
Paolo Carlini 80c4581d61 2003-01-06 Paolo Carlini <pcarlini@unitus.it>
* src/codecvt.cc
	(codecvt<char, char, mbstate_t>::do_in, do_out):
	Tweak parameters to avoid unused parameter warnings.

From-SVN: r60946
2003-01-06 18:48:41 +00:00
Paolo Carlini 87117aa2f3 re PR libstdc++/9151 (std::setprecision limited to 16 digits when outputting a double to a stream)
2003-01-06  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9151
	* include/bits/locale_facets.cc (num_put::_M_convert_float):
	Limit __prec to digits10 + 2, not digits10 + 1, taking into
	account the possibility of %{g,G} conversion specifiers
	inside _S_format_float.
	* testsuite/27_io/ostream_inserter_arith.cc (test06): Add.

From-SVN: r60939
2003-01-06 15:32:16 +00:00
Kaveh R. Ghazi 8de6a6df28 libstdc++-v3-dg.exp (libstdc++-v3-init, [...]): Additionally handle files one level deeper in glob patterns.
* testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init,
	libstdc++-v3-list-sourcefiles): Additionally handle files one
	level deeper in glob patterns.

	* testsuite/27_io/istream_extractor_arith.cc: Delete, split...
	* testsuite/27_io/istream_extractor_arith/01.cc,
	testsuite/27_io/istream_extractor_arith/02.cc,
	testsuite/27_io/istream_extractor_arith/03.cc,
	testsuite/27_io/istream_extractor_arith/06.cc,
	testsuite/27_io/istream_extractor_arith/07.cc,
	testsuite/27_io/istream_extractor_arith/08.cc,
	testsuite/27_io/istream_extractor_arith/09.cc,
	testsuite/27_io/istream_extractor_arith/10.cc,
	testsuite/27_io/istream_extractor_arith/11.cc,
	testsuite/27_io/istream_extractor_arith/12.cc,
	testsuite/27_io/istream_extractor_arith/13.cc: ... to new files.
	* testsuite/27_io/istream_extractor_arith/12.cc: Add XFAIL for
	sparc*-*-solaris2*.

From-SVN: r60934
2003-01-06 14:16:00 +00:00
Paolo Carlini b1599033fa re PR libstdc++/9168 (codecvt<char, char, mbstate_t> overwrites output buffers)
2003-01-05  Paolo Carlini <pcarlini@unitus.it>

	PR libstdc++/9168
	* src/codecvt.cc
	(codecvt<char, char, mbstate_t>::do_in, do_out):
	Implement the resolution of DR19 (TC).
	* testsuite/22_locale/codecvt_members_char_char.cc
	(test01): Tweak.

From-SVN: r60901
2003-01-05 08:04:18 +00:00
Jason Merrill e55393db34 atomicity.h (__exchange_and_add, [...]): *__mem is also an output.
* config/cpu/i486/atomicity.h (__exchange_and_add, __atomic_add):
        *__mem is also an output.
        * config/cpu/m68k/atomicity.h (__exchange_and_add): Likewise.

From-SVN: r60807
2003-01-02 17:48:21 -05:00
Loren J. Rittle 2f94573a94 Makefile.am: Resolve non-portable use of $<.
* src/Makefile.am: Resolve non-portable use of $<.
	* src/Makefile.in: Rebuilt.

From-SVN: r60666
2002-12-31 00:58:36 +00:00
Phil Edwards 645419c8bc configure.in (GLIBCPP_ENABLE_CXX_FLAGS): Do not pass arguments, let the defaults work.
2002-12-30  Phil Edwards  <pme@gcc.gnu.org>

	* configure.in (GLIBCPP_ENABLE_CXX_FLAGS):  Do not pass arguments,
	let the defaults work.
	* configure:  Regenerate.

From-SVN: r60634
2002-12-30 15:50:52 +00:00
Phil Edwards 37bc6ca264 acinclude.m4: Remove trailing whitespace.
2002-12-30  Phil Edwards  <pme@gcc.gnu.org>

	* acinclude.m4:  Remove trailing whitespace.
	(GLIBCPP_ENABLE_CXX_FLAGS):  Fix.
	* aclocal.m4, configure:  Regenerate.

From-SVN: r60631
2002-12-30 14:54:45 +00:00
Phil Edwards 70e12fb914 std_bitset.h: Better comments.
2002-12-29  Phil Edwards  <pme@gcc.gnu.org>

	* include/std/std_bitset.h:  Better comments.

From-SVN: r60614
2002-12-30 03:58:46 +00:00
Joseph Myers bdefb2ab19 cpp.texi, [...]: Use @copying.
gcc:
	* doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
	Use @copying.

gcc/ada:
	* gnat_rm.texi, gnat_ug.texi: Use @copying.
	* gnat_ug_unx.texi, gnat_ug_vms.texi, gnat_ug_vxw.texi,
	gnat_ug_wnt.texi: Regenerate.

gcc/f:
	* g77.texi: Use @copying.

gcc/java:
	* gcj.texi: Use @copying.

gcc/treelang:
	* treelang.texi: Use @copying.

libstdc++-v3:
	* docs/html/17_intro/porting.texi: Use @copying.
	* docs/html/17_intro/porting.html: Regenerate.

From-SVN: r60587
2002-12-28 21:38:55 +00:00
Mark Mitchell 43be7fe7d7 * config/locale/gnu/ctype_members.cc
(ctype<wchar_t>::_M_convert_to_wmask): Remove stray semicolon.
	* config/locale/gnu/monetary_members.cc
	(moneypunct<wchar_t, true>::_M_initialize_moneypunct): Avoid
	defining classes in static_cast.
	(moneypunct<wchar_t, false>::_M_initialize_moneypunct): Likewise.
	* config/locale/gnu/numeric_members.cc
	(numpunct<wchar_t, false>::_M_initialize_numpunct): Likewise.
	* include/bits/stl_deque.h (operator-): Insert typename where
	required.
	* include/bits/stl_multiset.h (multiset): Remove stray semicolon.
	* include/bits/stl_set.h (set): Likewise.
	* include/bits/valarray_meta.h (bits/slice_array.h): Include it.
	* include/std/std_fstream.h (basic_fstream::open): Use this-> to
	avoid Koenig lookup.
	(basic_fstream::close): Likewise.
	* libsupc++/new (operator delete): Remove stray semicolon.
	* libsupc++/new (operator delete[]): Likewise.
	* libsupc++/tinfo.cc: Likewise.
	* src/stdexcept.c (logic_error::~logic_error): Likewise.
	(runtime_error::~runtime_error): Likewise.

From-SVN: r60547
2002-12-27 23:03:03 +00:00
Phil Edwards bad38757c3 exception: Add comment (mistakenly skipped).
2002-12-26  Phil Edwards  <pme@gcc.gnu.org>

	* libsupc++/exception:  Add comment (mistakenly skipped).

From-SVN: r60534
2002-12-27 00:23:20 +00:00
Phil Edwards 3bbfb3d91d std_bitset.h (_Base_bitset::_M_do_left_shift, [...]): Expect a non-zero shift.
2002-12-26  Phil Edwards  <pme@gcc.gnu.org>

	* include/std/std_bitset.h (_Base_bitset::_M_do_left_shift,
	_Base_bitset::_M_do_right_shift): Expect a non-zero shift.
	(bitset::operator<<=, bitset::operator>>=):  When shifting more bits
	than are in the bitset, zero memory rather than segfault.
	(operator>>(basic_istream,bitset):  Only call setstate once, after
	all work has been done.

	* testsuite/23_containers/bitset_members.cc (test03):  New test.
	* testsuite/23_containers/bitset_shift.cc (test02):  New test.

From-SVN: r60533
2002-12-27 00:03:17 +00:00
Phil Edwards 9795acc64a vterminate.cc (writestr): Use __builtin_strlen.
2002-12-26  Phil Edwards  <pme@gcc.gnu.org>

	* libsupc++/vterminate.cc (writestr):  Use __builtin_strlen.

From-SVN: r60531
2002-12-26 22:26:29 +00:00
Phil Edwards 3642a94924 eh_term_handler.cc: Add comment about embedded systems.
2002-12-26  Phil Edwards  <pme@gcc.gnu.org>

	* libsupc++/eh_term_handler.cc:  Add comment about embedded systems.
	* docs/html/debug.html:  Cosmetic and HTML changes.  Point to
	verb-term notes.
	* docs/html/documentation.html:  Link to the FAQ.
	* docs/html/17_intro/howto.html:  Mention use of isatty(3).
	* docs/html/19_diagnostics/howto.html:  Update verb-term description.

From-SVN: r60528
2002-12-26 21:14:19 +00:00
Phil Edwards fb7054160f vterminate.cc: Move to...
2002-12-25  Phil Edwards  <pme@gcc.gnu.org>

	* src/vterminate.cc:  Move to...
	* libsupc++/vterminate.cc:  ...here.  New file.  Replace fprintf with
	writestr macro.  Slight reword to explanatory text.
	* libsupc++/eh_terminate.cc (__cxxabiv1::__terminate_handler,
	__cxxabiv1::__unexpected_handler):  Break definitions out to...
	* libsupc++/eh_unex_handler.cc:  ...here (new file), and...
	* libsupc++/eh_term_handler.cc:  ...here (new file).  Initialize
	__terminate_handler with __gnu_cxx::__verbose_terminate_handler
	instead of std::abort.

	* libsupc++/Makefile.am (sources), src/Makefile.am (sources):  Update.
	* libsupc++/Makefile.in, src/Makefile.in:  Regenerate.

From-SVN: r60505
2002-12-26 06:10:35 +00:00
Danny Smith 2ae1162e06 basic_file_stdio.cc (__basic_file::_M_open_mode): Don't use O_NONBLOCK if it is not defined.
* config/io/basic_file_stdio.cc (__basic_file::_M_open_mode):
	Don't use O_NONBLOCK if it is not defined.
	(__basic_file::open): Don't use fcntl either.

From-SVN: r60461
2002-12-24 02:48:19 +00:00
Sylvain Pion 9536ca346b stl_deque.h: Fix typo.
2002-12-20  Sylvain Pion   <Sylvain.Pion@mpi-sb.mpg.de>

	* include/bits/stl_deque.h: Fix typo.
	* include/bits/stl_list.h: Same.
	* include/bits/stl_map.h: Same.
	* include/bits/stl_multimap.h: Same.
	* include/bits/stl_queue.h: Same.
	* include/bits/stl_stack.h: Same.
	* include/bits/stl_vector.h: Same.

From-SVN: r60442
2002-12-23 17:36:24 +00:00
Benjamin Kosnik b5ff3a9077 documentation.html: Add link for debug.html.
2002-12-18  Benjamin Kosnik  <bkoz@redhat.com>

 	* docs/html/documentation.html: Add link for debug.html.
	* docs/html/debug.html: New.

From-SVN: r60302
2002-12-19 08:18:14 +00:00
Kaveh R. Ghazi 58c3ef5c9e vector_capacity.cc (test03): Move ...
* testsuite/23_containers/vector_capacity.cc (test03): Move ...
	* testsuite/23_containers/vector_resize.cc: ...here as a new file.
	Pass in -lmalloc for irix6.
	* testsuite/27_io/ios_base_storage.cc: Pass in -lmalloc for irix6.

From-SVN: r60276
2002-12-19 01:54:59 +00:00
Jason Merrill fc88355291 vterminate.cc (__verbose_terminate_handler): Send diagnostics to stderr.
* src/vterminate.cc (__verbose_terminate_handler): Send
        diagnostics to stderr.

From-SVN: r60254
2002-12-18 11:31:35 -05:00
Ulrich Weigand b1f70d9d15 configure.in: Define with_target_subdir and with_build_subdir variables in config-ml.in...
* configure.in: Define with_target_subdir and with_build_subdir
	variables in config-ml.in AC_OUTPUT call.
	* configure: Regenerate.

From-SVN: r60230
2002-12-18 01:18:58 +00:00
Paolo Carlini 77bd447bb4 re PR libstdc++/8949 (numeric_limits<>::denorm_min() and is_iec559 problems.)
2002-12-16  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/8949
	* include/std/std_limits.h
	(struct numeric_limits<short>,
	struct numeric_limits<unsigned short>,
	struct numeric_limits<int>,
	struct numeric_limits<unsigned int>,
	struct numeric_limits<long>,
	struct numeric_limits<unsigned long>,
	struct numeric_limits<long long>,
	struct numeric_limits<unsigned long long>): According
	to 18.2.1.2,53 and 18.2.1.5,1 is_iec559 shall be false.
	* testsuite/18_support/numeric_limits.cc: Add test04.

From-SVN: r60181
2002-12-16 19:52:37 +00:00
Benjamin Kosnik 6aa43d99a3 configure.in (GLIBCPP_ENABLE_DEBUG): Default to none.
2002-12-16  Benjamin Kosnik  <bkoz@redhat.com>

        * configure.in (GLIBCPP_ENABLE_DEBUG): Default to none.
	Call GLIBCPP_ENABLE_DEBUG_FLAGS.
        * acinclude.m4 (GLIBCPP_ENABLE_DEBUG): GLIBCPP_BUILD_DEBUG, new
        conditional if --enable-debug is yes. Rework.
	(GLIBCPP_ENABLE_DEBUG_FLAGS): New.
        * aclocal.m4: Regenerate.
	* libio/Makefile.am: Remove DEBUG_FLAGS.
	* libio/Makefile.in: Regenerate.
	* libsupc++/Makefile.am: Remove DEBUG_FLAGS.
	* libsupc++/Makefile.in: Regenerate.
	* docs/html/configopts.html: Add docs for --enable-debug,
	--enable-debug-flags.

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

	Correct dependency tracking, build warts.
	* configure.in: Correct repeated AC_OUTPUT thrashing by
	config-ml.in
	* configure: Regenerate.
	* include/Makefile.am (stamp-target): Stamp in top_builddir.
	* include/Makefile.in: Regenerate.
	* src/Makefile.am (codecvt_members.cc): New rule.
	(collate_members.cc): Same.
	(ctype_members.cc): Same.
	(messages_members.cc): Same.
	(monetary_members.cc): Same.
	(numeric_members.cc): Same.
	(time_members.cc): Same.
	(c++locale.cc): Same.
	(basic_file.cc): Same.
	* src/Makefile.in: Regenerate.
	* acinclude.m4 (CCTYPE_CHAR_CC): Remove.
	(CCCODECVT_CC): Don't link, AC_SUBST.
	(CCOLLATE_CC): Same.
	(CCTYPE_CC): Same.
	(CMESSAGES_CC): Same.
	(CMONEY_CC): Same.
	(CNUMERIC_CC): Same.
	(CTIME_CC): Same.
	(CLOCALE_CC): Same.
	* aclocal.m4: Regenerate.

	* src/Makefile.am (libstdc___la_LIBADD): Use top_builddir
	for convenience libraries.
	(version_arg): Rename linker.map to libstdc++.ver.
	(libstdc___la_DEPENDENCIES): Remove linker.map, add
	libstdc++-symbol.ver as a dependency.
	(libstdc++-symbol.ver): Add rule.
	* acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): Change LINKER_MAP to
	SYMVER_MAP. Don't link, AC_SUBST.

	* include/Makefile.am (target_headers_noinst): New.
	(stamp-target): Add CLOCALE_INTERNAL_H.
	* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Don't link
	CLOCALE_INTERNAL_H, AC_SUBST.
	* config/locale/gnu/c_locale.cc: Modify c++locale_internal.h
	include.
	* config/locale/gnu/time_members.cc: Same.
	* config/locale/gnu/numeric_members.cc: Same.
	* config/locale/gnu/monetary_members.cc: Same.
	* config/locale/gnu/messages_members.cc: Same.
	* config/locale/gnu/ctype_members.cc: Same.
	* config/locale/gnu/collate_members.cc: Same.
	* config/locale/gnu/codecvt_members.cc: Same.
	* config/locale/generic/codecvt_members.cc: Remove.

From-SVN: r60177
2002-12-16 19:02:01 +00:00
Zack Weinberg 4977bab6ed Merge basic-improvements-branch to trunk
From-SVN: r60174
2002-12-16 18:23:00 +00:00
Paolo Carlini a625dfab90 re PR libstdc++/8887 (locale)
2002-12-11  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/8887
	* config/locale/generic/time_members.cc
	(__timepunct<char>::_M_initialize_timepunct): Fix typos
	in _M_date_format and _M_date_era_format string literals.

From-SVN: r60050
2002-12-12 00:22:58 +00:00
Mark Mitchell 68e25f8806 cxxabi.h (__cxa_bad_cast): Declare it.
* libsupc++/cxxabi.h (__cxa_bad_cast): Declare it.
	(__cxa_bad_typeid): Likewise.
	(__cxa_atexit): Likewise.
	(__cxa_finalize): Likewise.

From-SVN: r60001
2002-12-10 17:09:05 +00:00
Gabriel Dos Reis eee9d6bb44 * include/bits/slice_array.h (slice_array<>::operator=): Fix typo.
From-SVN: r59983
2002-12-10 07:32:04 +00:00
Mark Mitchell 074e73c4e9 * libsupc++/cxxabi.h (__cxa_pure_virtual): Declare it.
From-SVN: r59965
2002-12-09 19:31:33 +00:00
Benjamin Kosnik 5c9774866e abi_check.cc: Add GLIBCPP_3.2.2.
2002-12-05  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/abi_check.cc: Add GLIBCPP_3.2.2.

From-SVN: r59870
2002-12-05 22:53:42 +00:00
Paolo Carlini 61b8da3733 basic_string.h (compare(const basic_string&)): Fully qualify min() with std::.
2002-12-02  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/basic_string.h (compare(const basic_string&)):
	Fully qualify min() with std::.

From-SVN: r59745
2002-12-02 22:15:54 +00:00
Benjamin Kosnik 8d9872d267 configure.in (libtool_VERSION): Update to 5:2:0.
2002-12-02  Benjamin Kosnik  <bkoz@redhat.com>

	* configure.in (libtool_VERSION): Update to 5:2:0.
	* configure: Regenerate.

From-SVN: r59729
2002-12-02 19:24:11 +00:00
Paolo Carlini aa863dca8b basic_string.tcc (basic_string::append(const basic_string&, size_type, size_type), [...]): Fully qualify min() with std::.
2002-12-02  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/basic_string.tcc
	(basic_string::append(const basic_string&, size_type,
	size_type), basic_string::compare(size_type, size_type,
	const basic_string&), basic_string::compare(size_type,
	size_type, const basic_string&, size_type, size_type),
	basic_string::compare(const _CharT*), basic_string::
	compare(size_type, size_type, const _CharT*),
	basic_string::compare(size_type, size_type, const _CharT*,
	size_type), _S_string_copy(const basic_string&, _CharT*,
	typename _Alloc::size_type)): Fully qualify min() with std::.

2002-12-02  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/basic_string.tcc
	(basic_string::_S_construct(_InIter, _InIter, const _Alloc&,
	forward_iterator_tag)): Delay the declaration of __dnew,
	fully qualify distance() with std::.
	(basic_string::_M_replace_safe): Fully qualify distance()
	with std::.

From-SVN: r59726
2002-12-02 18:53:41 +00:00
Phil Edwards ccb128db7a re PR libstdc++/8716 (std::string( NULL, 0 ) throws exception also on zero length)
2002-11-28  Phil Edwards  <pme@gcc.gnu.org>

	PR libstdc++/8716
	* testsuite/21_strings/ctor_copy_dtor.cc (test05):  Also test
	the NULL-pointer, zero-size case.

From-SVN: r59616
2002-11-28 21:28:20 +00:00
Jonathan Wakely fbc3fee390 index.html: Add tip about namespace for extensions.
2002-11-28  Jonathan Wakely  <redi@gcc.gnu.org>
	* docs/html/faq/index.html: Add tip about namespace for extensions.

From-SVN: r59613
2002-11-28 19:15:04 +00:00
Paolo Carlini dc7291321c localename.cc (locale::_Impl::_Impl(const char*, size_t)): Improve previous fix for the strtok vs MT issue.
2002-11-28  Paolo Carlini  <pcarlini@unitus.it>
	    Nathan Myers  <ncm@cantrip.org>

	* src/localename.cc
	(locale::_Impl::_Impl(const char*, size_t)):
	Improve previous fix for the strtok vs MT issue.

Co-Authored-By: Nathan Myers <ncm@cantrip.org>

From-SVN: r59609
2002-11-28 17:29:24 +00:00
Paolo Carlini 0e9501e6b1 c_locale.cc (locale::_S_categories): Reorder the categories to match that of glibc's setlocale(LC_ALL, ""))
2002-11-28  Paolo Carlini  <pcarlini@unitus.it>

	* config/locale/gnu/c_locale.cc (locale::_S_categories):
	Reorder the categories to match that of glibc's setlocale(LC_ALL, ""))
	* config/locale/generic/c_locale.cc (locale::_S_categories): Ditto.
	* testsuite/22_locale/ctor_copy_dtor.cc (test04): Tweak.

From-SVN: r59604
2002-11-28 12:25:32 +00:00
Benjamin Kosnik 8ecab601c3 abi_check.cc: Add CXXABI_1.2.1 as compatible.
2002-11-25  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/abi_check.cc: Add CXXABI_1.2.1 as compatible.
	* config/linker-map.gnu: Version __cxa_guard_acquire,
	__cxa_guard_release, __cxa_guard_abort in CXXABI_1.2.1.

From-SVN: r59487
2002-11-26 01:37:50 +00:00
Paolo Carlini b1455c558e localename.cc (locale::_Impl::_Impl(const char*, size_t)): Avoid strtok for thread safety.
2002-11-25  Paolo Carlini  <pcarlini@unitus.it>
	    Nathan Myers  <ncm@cantrip.org>

	* src/localename.cc
	(locale::_Impl::_Impl(const char*, size_t)):
	Avoid strtok for thread safety.

Co-Authored-By: Nathan Myers <ncm@cantrip.org>

From-SVN: r59486
2002-11-26 01:22:13 +00:00
Stephen M. Webb 162c7cd92d testsuite_allocator.h: New file.
2002-11-25  Stephen M. Webb  <stephen@bregmasoft.com>

        * testsuite/testsuite_allocator.h: New file.
        * testsuite/testsuite_allocator.cc: New file.
        * testsuite/Makefile.am: Added testsuite_allocator to test library.
        * testsuite/testsuite_hooks.h: Added more detailed tracker objects
        gnu_copy_constructor, gnu_assignment_operator, and gnu_destructor.
        * testsuite/testsuite_hooks.cc: Added new static objects definitions.
        * testsuite/23_containers/vector_capacity.cc: Added reserve() tests.
        * testsuite/23_containers/vector_ctor.cc: Added a plethora of tests.
        * testsuite/23_containers/deque_ctor.cc: Added a slew of new tests.

From-SVN: r59484
2002-11-26 00:53:12 +00:00
Mark Mitchell c4f6640537 Makefile.am (sources): Add guard.cc.
* libsupc++/Makefile.am (sources): Add guard.cc.
	* libsupc++/Makefile.in: Regenerated.
	* libsupc++/cxxabi.h (__cxa_guard_acquire): New function.
	(__cxa_guard_release): Likewise.
	(__cxa_guard_abort): Likewise.
	* libsupc++/guard.cc: New file.

From-SVN: r59475
2002-11-25 23:17:31 +00:00
Wolfgang Bangerth f815521c75 std_complex.h (operator<<(basic_ostream&, const complex&)): Prefer 'x' to "x" for efficiency sake.
2002-11-25  Wolfgang Bangerth  <bangerth@ticam.utexas.edu>

	* include/std/std_complex.h
	(operator<<(basic_ostream&, const complex&)): Prefer 'x'
	to "x" for efficiency sake.
	* src/locale.cc (locale::locale(const char*)): Ditto.

From-SVN: r59465
2002-11-25 19:01:55 +00:00
Paolo Carlini bbed24125e locale.cc (locale::locale(const char*)): Trivial cosmetic tweaks.
2002-11-24  Paolo Carlini  <pcarlini@unitus.it>

	* src/locale.cc (locale::locale(const char*)):
	Trivial cosmetic tweaks.

From-SVN: r59433
2002-11-24 18:48:35 +00:00
Laszlo Ersek 726a4d6d5e re PR libstdc++/8645 (unnecessary non-0 checks in stl_tree.h)
2002-11-22  Laszlo Ersek  <erseklaszlo@chello.hu>
	    Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/8645
	* include/bits/stl_tree.h (_Rb_tree_rebalance_for_erase):
	Don't check that __w->_M_left != 0 and __w->_M_right != 0
	when they can't be otherwise.

Co-Authored-By: Paolo Carlini <pcarlini@unitus.it>

From-SVN: r59381
2002-11-22 18:53:53 +00:00
Phil Edwards 0e4f7d33ad documentation.html: Fix broken/thinko'd URL.
2002-11-21  Phil Edwards  <pme@gcc.gnu.org>

	* docs/html/documentation.html:  Fix broken/thinko'd URL.

From-SVN: r59337
2002-11-21 08:28:34 +00:00
Phil Edwards 53e0a44759 run_doxygen: Tighter search expression for sed.
2002-11-21  Phil Edwards  <pme@gcc.gnu.org>

	* docs/doxygen/run_doxygen:  Tighter search expression for sed.
	* docs/doxygen/stdheader.cc:  Handle the case of good headers.

From-SVN: r59332
2002-11-21 08:16:32 +00:00
Phil Edwards e5e5d78d70 Fix ChangeLog edit goof.
From-SVN: r59329
2002-11-21 07:38:27 +00:00
Phil Edwards 974e336bb1 acinclude.m4: Uniform formatting.
2002-11-21  Phil Edwards  <pme@gcc.gnu.org>

	* acinclude.m4:  Uniform formatting.
	* configure.in:  x
	* configure.target:  x
	* aclocal.m4, configure:  Regenerate.

From-SVN: r59328
2002-11-21 07:34:30 +00:00
Phil Edwards a8a4259d5c streambuf.tcc (basic_streambuf::sputbackc): Prefix "this->" to call to pbackfail.
2002-11-21  Phil Edwards  <pme@gcc.gnu.org>

	* include/bits/streambuf.tcc (basic_streambuf::sputbackc):  Prefix
	"this->" to call to pbackfail.

From-SVN: r59327
2002-11-21 07:27:51 +00:00
Phil Edwards 664ce87016 style.css: Update.
2002-11-21  Phil Edwards  <pme@gcc.gnu.org>

	* docs/doxygen/style.css:  Update.
	* docs/doxygen/user.cfg.in:  Update.
	* docs/html/documentation.html:  Regenerate.
	* docs/html/17_intro/howto.html:  Tweak I/O sentry entry.
	* docs/html/27_io/howto.html:  New section on headers.
	* docs/html/faq/index.html:  Add i386 threading entry.
	* docs/html/faq/index.txt:  Regenerate.

	* docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
	Import R23.

From-SVN: r59326
2002-11-21 07:16:01 +00:00
Phil Edwards 840ceb345b TODO: Note change in clause 27 docs.
2002-11-21  Phil Edwards  <pme@gcc.gnu.org>

	* docs/doxygen/TODO:  Note change in clause 27 docs.
	* include/bits/basic_ios.h, include/bits/fpos.h,
	include/bits/ios_base.h, include/bits/stl_deque.h,
	include/bits/stl_iterator_base_types.h, include/std/std_fstream.h,
	include/std/std_iomanip.h, include/std/std_iosfwd.h,
	include/std/std_iostream.h, include/std/std_istream.h,
	include/std/std_ostream.h, include/std/std_sstream.h,
	include/std/std_streambuf.h:  Doxygenate all I/O entities.

From-SVN: r59325
2002-11-21 07:06:41 +00:00
Benjamin Kosnik 5e85fa9997 streambuf.tcc (__copy_streambufs): Revert previous fix for the interactive half of libstdc++/6745...
2002-11-20  Benjamin Kosnik  <bkoz@redhat.com>
	    Jonathan Lennox  <lennox@cs.columbia.edu>

	* include/bits/streambuf.tcc (__copy_streambufs):
	Revert previous fix for the interactive half of
	libstdc++/6745, use _M_buf_size_opt to set dynamically
	the correct buffer size.

Co-Authored-By: Jonathan Lennox <lennox@cs.columbia.edu>

From-SVN: r59314
2002-11-20 21:22:48 +00:00
Jonathan Wakely dd768f5f25 howto.html: Fix example code...
2002-11-20  Jonathan Wakely  <redi@gcc.gnu.org>

	* docs/html/21_strings/howto.html: Fix example code, cite Gaby's
	explanation of "<unknown type>" error with toupper/tolower.
	* docs/html/22_locale/howto.html: Be more consistent with
	example in 21_strings.

From-SVN: r59284
2002-11-20 01:12:02 +00:00
John Gustafsson c9a1e3d03a howto.html: Fix typo.
2002-11-19  John Gustafsson  <forgoil@rsn.bth.se>

	* docs/html/20_util/howto.html: Fix typo.

From-SVN: r59258
2002-11-19 11:32:10 +00:00
Jonathan Lennox 5bdb1440a1 streambuf.tcc (__copy_streambufs): verify __sbin->gptr() + __bufsize < __sbin->egptr() before using.
2002-11-18  Jonathan Lennox  <lennox@cs.columbia.edu>

	* include/bits/streambuf.tcc (__copy_streambufs): verify
	__sbin->gptr() + __bufsize < __sbin->egptr() before using.
	* testsuite/27_io/ostream_inserter_other.cc (test_buffer_4): Add.
	(test05): Use test_buffer_4.  Delete unused ostringstream
	variables.

From-SVN: r59234
2002-11-18 22:42:35 +00:00
Paolo Carlini d9d71657bd PR libstdc++/6745 (continued)
2002-11-18  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/6745 (continued)
	* include/bits/streambuf.tcc (__copy_streambufs):
	Deal with interactive input by using isatty as in the
	fix for libstdc++/8399.

From-SVN: r59229
2002-11-18 20:03:52 +00:00
Jakub Jelinek bd3175a2cc linker-map.gnu: Export _S_construct even if size_t is unsigned long.
* config/linker-map.gnu: Export _S_construct even if size_t is
	unsigned long.  Collapse std::codecvt<char>::codecvt(size_t)
	and std::codecvt<wchar_t>::codecvt(size_t) into one export pattern.

From-SVN: r59182
2002-11-17 06:08:23 +01:00
Benjamin Kosnik af5fb6ab3b re PR libstdc++/8230 (Buggy allocator behaviour)
2002-11-15  Benjamin Kosnik  <bkoz@redhat.com>
            Gabriel Dos Reis  <gdr@integrable-solutions.net>

	PR libstdc++/8230
	* include/bits/stl_alloc.h: Use builtin_expect for the most
	obvious limit checks.
	(__default_alloc_template::allocate): Check for null, throw
	bad_alloc.
	* include/bits/vector.tcc: Formatting tweaks.
	* include/bits/stl_vector.h: Same.
	* testsuite/20_util/allocator_members.cc (test02): Add.
	* testsuite/23_containers/vector_capacity.cc (test03): Add.

Co-Authored-By: Gabriel Dos Reis <gdr@integrable-solutions.net>

From-SVN: r59169
2002-11-16 17:16:31 +00:00
Rainer Orth 423b950b13 * src/ios.cc [_GLIBCPP_HAVE_UNISTD_H]: Include unistd.h.
From-SVN: r59141
2002-11-15 19:12:31 +00:00
Paolo Carlini 74af99e5a2 re PR libstdc++/8399 (sync_with_stdio(false) breaks unformatted input)
2002-11-15  Paolo Carlini  <pcarlini@unitus.it>
	    Loren J. Rittle  <ljrittle@acm.org>

	PR libstdc++/8399
	* acinclude.m4
	(GLIBCPP_CHECK_UNISTD_DECL_AND_LINKAGE_1): New macro to
	check for unistd.h functions.
	(GLIBCPP_CHECK_UNISTD_SUPPORT): New macro, check for isatty
	in unistd.h.
	* configure.in: Call here.
	* src/ios.cc (ios_base::Init::_S_ios_create(bool)):
	Use _GLIBCPP_HAVE_ISATTY: ifdef, in case of interactive
	input __in_size = 1 even when sync_with_stdio is false;
	otherwise fall back to __in_size = 1.
	* aclocal.m4: Regenerate.
	* config.h.in: Regenerate.
	* configure: Regenerate.

Co-Authored-By: Loren J. Rittle <ljrittle@acm.org>

From-SVN: r59118
2002-11-15 08:06:35 +00:00
Benjamin Kosnik 7c577c75ea acconfig.h (HAVE_DRAND48): Add.
2002-11-13  Benjamin Kosnik  <bkoz@redhat.com>

	* acconfig.h (HAVE_DRAND48): Add.
	(HAVE_GETPAGESIZE): Add.
	(HAVE_SETENV): Add.
	(HAVE_SIGSETJMP): Add.
	* config.h.in: Regenerate.
	* configure: Regenerate.

From-SVN: r59093
2002-11-13 22:49:20 +00:00
John David Anglin b6ef3ef68f os_defines.h (_GLIBCPP_INST_ATOMICITY_LOCK): Define on hppa when there is no weak support.
* config/os/hpux/os_defines.h (_GLIBCPP_INST_ATOMICITY_LOCK): Define
	on hppa when there is no weak support.

From-SVN: r59092
2002-11-13 22:36:39 +00:00
Benjamin Kosnik 48d1c3c568 re PR libstdc++/8230 (Buggy allocator behaviour)
2002-11-13  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/8230
	* include/bits/vector.tcc (vector::reserve): Throw length_error if
	requested size is bigger than max_size().
	* include/bits/stl_bvector.h (vector<bool>::reserve): Same.
	* testsuite/23_containers/vector_capacity.cc (test02): Add.

From-SVN: r59090
2002-11-13 22:15:17 +00:00
Benjamin Kosnik 4a1338ed66 linker-map.gnu: Export all _S_construct.
2002-11-13  Benjamin Kosnik  <bkoz@redhat.com>

	* config/linker-map.gnu: Export all _S_construct.

From-SVN: r59080
2002-11-13 18:27:37 +00:00
Loren J. Rittle 2b298bb772 locale.cc (std::locale::classic()): Weaken locking protocol.
libstdc++/7445
	* src/locale.cc (std::locale::classic()): Weaken locking protocol.

From-SVN: r59078
2002-11-13 14:55:32 +00:00
Jonathan Wakely fcff7028dc install.html, [...]: HTML fix.
2002-11-13  Jonathan Wakely  <redi@gcc.gnu.org>

	* docs/html/install.html, docs/html/22_locale/locale.html: HTML fix.

From-SVN: r59062
2002-11-13 01:04:03 +00:00
Benjamin Kosnik 6eeb7d7ae0 re PR libstdc++/6746 (ifstream::readsome() always returns zero)
2002-11-11  Benjamin Kosnik  <bkoz@redhat.com>

        PR libstdc++/6746
        * include/bits/fstream.tcc (filebuf::open): Set input pointers.
	* config/io/basic_file_stdio.cc (__basic_file::_M_open_mode): Set
	__p_mode as well.
	(__basic_file::open): Set to non-block for input.
	* testsuite/27_io/istream_unformatted.cc (test12): Add.
	(test13): Same.

From-SVN: r59030
2002-11-11 23:18:05 +00:00
Jonathan Wakely cfe17bd93b howto.html: Make "chapter 22 notes" a link.
* docs/html/17_intro/howto.html: Make "chapter 22 notes" a link.
	* docs/html/faq/index.html: Mention that GCC ships with a newer
	version of the library than the last snapshot. Make "see below" a
	link. Add missing <html> tag.
	* docs/html/faq/index.txt: Regenerate.
	* docs/html/22_locale/locale.html, docs/html/22_locale/messages.html,
	docs/html/23_containers/howto.html, docs/html/24_iterators/howto.html,
	docs/html/25_algorithms/howto.html, docs/html/26_numerics/howto.html,
	docs/html/27_io/howto.html, docs/html/ext/howto.html,
	docs/html/ext/sgiexts.html: Add missing <html> tag.

From-SVN: r59000
2002-11-11 01:10:44 +00:00
Phil Edwards 7069c22117 atomicity.h: Provide atomic __exchange_and_add and __atomic_add.
2002-11-07  Phil Edwards  <pme@gcc.gnu.org>
            Richard Earnshaw  <rearnsha@arm.com>

	* config/cpu/generic/atomicity.h:  Provide atomic __exchange_and_add
	and __atomic_add.

Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>

From-SVN: r58929
2002-11-08 19:24:41 +00:00
Paolo Carlini bce582242d monetary_members.cc (moneypunct<wchar_t, [...]): Tweak parameters for glibc2.3 systems, thus avoiding unused parameter warnings.
2002-11-08  Paolo Carlini  <pcarlini@unitus.it>

	* config/locale/gnu/monetary_members.cc
	(moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale,
	const char*),
	moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale,
	const char*)): Tweak parameters for glibc2.3 systems, thus
	avoiding unused parameter warnings.

From-SVN: r58928
2002-11-08 17:05:40 +00:00
Jonathan Wakely 93d87ec6f8 std_sstream.h (basic_stringbuf::str(const __string_type&)): Prefer data() to c_str() thus avoiding assigning the unnecessary NULL-terminator.
2002-11-05  Jonathan Wakely  <cow@compsoc.man.ac.uk>

	* include/std/std_sstream.h
	(basic_stringbuf::str(const __string_type&)):
	Prefer data() to c_str() thus avoiding assigning the
	unnecessary NULL-terminator.

From-SVN: r58844
2002-11-06 00:05:35 +00:00
Benjamin Kosnik 112615e7d3 re PR libstdc++/8258 (basic_istream::readsome() with default buffer change stream state to ios_base::eofbit)
2002-11-05  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/8258
	* include/bits/istream.tcc (istream::readsome): Don't set eofbit
	for null buffer.
	(istream::operator>>(_CharT*)): Use traits_type.
	(istream::ws): Same.
	(istream::operator>>(string)): Same.
	* testsuite/27_io/istream_unformatted.cc (test11): Add.

From-SVN: r58840
2002-11-05 23:46:22 +00:00
Paolo Carlini 81646a3157 re PR libstdc++/8466 (basic_stringbuf::str(basic_string const&) modifies its argument)
2002-11-05  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/8466
	* include/std/std_sstream.h
	(basic_stringbuf::str(const __string_type&)):
	Cannot use simple assignment since the COW-nature of v3
	basic_string is not taken into account in basic_stringbuf.
	* testsuite/27_io/stringstream_members.cc: Add test04 from PR.

From-SVN: r58838
2002-11-05 23:28:15 +00:00
John David Anglin 49dd74ef26 * configure.target (hppa*): Define cpu_include_dir.
From-SVN: r58835
2002-11-05 21:24:37 +00:00
John David Anglin fa3d9f57b0 os_defines.h (_GLIBCPP_INST_ATOMICITY_LOCK): Define.
* config/os/hpux/os_defines.h (_GLIBCPP_INST_ATOMICITY_LOCK): Define.
	* src/misc-inst.cc (std): Instantiate atomicity lock when
	_GLIBCPP_INST_ATOMICITY_LOCK is defined.
	* config/cpu/hppa/atomicity.h: New file.

From-SVN: r58831
2002-11-05 19:17:37 +00:00
Benjamin Kosnik cb9305420a re PR libstdc++/8463 (std::ios_base has a non-virtual destructor)
2002-11-05  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/8463
	* include/bits/ios_base.h (~ios_base): Make virtual.

From-SVN: r58823
2002-11-05 16:49:42 +00:00
Benjamin Kosnik 72040fcbf6 linker-map.gnu: Export string operator+.
2002-11-04  Benjamin Kosnik  <bkoz@redhat.com>

	* config/linker-map.gnu: Export string operator+.
	Export __default_alloc_template::_S_force_new.
	* testsuite/abi_check.cc: Output tweaks.

From-SVN: r58801
2002-11-04 22:57:00 +00:00
Benjamin Kosnik a7c67c71db re PR libstdc++/8172 (undefined reference to operator+ for string)
2002-11-01  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/8172
	* src/string-inst.cc: Add instantiation.

From-SVN: r58738
2002-11-02 02:18:18 +00:00
Benjamin Kosnik 85ab9d2311 re PR libstdc++/7926 (i486 instructions in header files make c++ programs crash on i386)
2002-11-01  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/7926
	* configure.target: Simplify.
	* config/cpu/i386/atomicity.h: Remove.
	* config/cpu/i386: Remove.
	* config/cpu/arm/atomicity.h: Remove.
	* config/cpu/arm: Remove.
	* config/cpu/x86-64/atomicity.h: Remove.
	* config/cpu/x86-64: Remove.

From-SVN: r58735
2002-11-02 01:42:22 +00:00
Christian Ehrhardt 23ae3eb1f8 re PR libstdc++/8197 (std::sin(float) causes undefined reference to sinf)
2002-11-01  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>

	PR libstdc++/8197
	* config/link-map.gnu: Export math stubbs.

From-SVN: r58721
2002-11-01 17:54:51 +00:00
Benjamin Kosnik 5112ae3a8f re PR libstdc++/8318 (Not all wide character based prototypes are included within #ifdef _GLIBCPP_USE_WCHAR_T)
2002-11-01  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/8318
	* include/std/std_iostream.h: Tweak.
	* include/std/std_iosfwd.h: Add _GLIBCPP_USE_WCHAR_T.
	* include/std/std_iomanip.h: Same.
	* include/bits/stringfwd.h: Same.
	* include/bits/basic_string.tcc: Same.
	* include/bits/sstream.tcc: Same.
	* include/bits/fstream.tcc: Same.
	* include/bits/basic_ios.tcc: Same.
	* include/bits/streambuf.tcc: Same.
	* include/bits/locale_facets.tcc: Same.

From-SVN: r58720
2002-11-01 17:30:36 +00:00
John Carter c86c54e6d1 re PR libstdc++/7961 (compare( char *) implemented incorrectly.)
2002-11-01  John Carter  <john.carter@tait.co.nz>

	PR libstdc++/7961
	* include/bits/basic_string.tcc
	(compare(const _CharT* __s)): Don't access __s past its length.

From-SVN: r58717
2002-11-01 15:21:17 +00:00
Benjamin Kosnik 04c7481ed2 re PR libstdc++/8348 (fail() flag is set in istringstream when eof() flag is set !)
2002-10-31  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/8348
	* include/bits/istream.tcc (istream::tellg): Remove sentry bits.
	(istream::seekg): Same.
	* testsuite/27_io/istream_seeks.cc (test06): New.

From-SVN: r58703
2002-11-01 05:38:27 +00:00
Jason Thorpe 17a7afe04b pthread5.cc: Include <unistd.h> if _GLIBCPP_HAVE_UNISTD_H is defined.
* testsuite/thread/pthread5.cc: Include <unistd.h>
if _GLIBCPP_HAVE_UNISTD_H is defined.
(main): Only use pthread_attr_setscope if
_POSIX_THREAD_PRIORITY_SCHEDULING is defined.

From-SVN: r58608
2002-10-29 01:10:52 +00:00
Jason Thorpe 761642ea46 pthread1.cc: Enable on *-*-netbsd*.
* testsuite/thread/pthread1.cc: Enable on *-*-netbsd*.
* testsuite/thread/pthread2.cc: Likewise.
* testsuite/thread/pthread3.cc: Likewise.
* testsuite/thread/pthread4.cc: Likewise.
* testsuite/thread/pthread5.cc: Likewise.
* testsuite/thread/pthread6.cc: Likewise.

From-SVN: r58606
2002-10-28 23:31:55 +00:00
Paolo Carlini 085825b83b re PR libstdc++/8347 (empty vector range used in string construction causes core dump.)
2002-10-27  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/8347
	* include/bits/basic_string.tcc
	(string::_S_construct(_InIter, _InIter, const _Alloc&,
	forward_iterator_tag)): Do not throw logic error if
	__beg == NULL && __end == __beg.
	(string::string(const _CharT*, const _Alloc&)): Tweak.
	* testsuite/21_strings/ctor_copy_dtor.cc: Add test05 from PR.

From-SVN: r58577
2002-10-27 07:35:06 +00:00
Hans-Peter Nilsson 9db4d34be2 re PR other/3337 (build on linux-gnulibc1 fails: no sys/ucontext.h)
PR other/3337
	PR bootstrap/6763
	PR bootstrap/8122
	* testsuite/testsuite_hooks.cc (__set_testsuite_memlimit): Use
	__typeof__ (r.rlim_cur), not rlim_t in declaration of limit.
	(Forgot to add PR markers.  Doh!)

From-SVN: r58515
2002-10-24 23:39:38 +00:00
Hans-Peter Nilsson 2068a050ab testsuite_hooks.cc (__set_testsuite_memlimit): Use __typeof__ (r.rlim_cur), not rlim_t in declaration of limit.
* testsuite/testsuite_hooks.cc (__set_testsuite_memlimit): Use
	__typeof__ (r.rlim_cur), not rlim_t in declaration of limit.

From-SVN: r58512
2002-10-24 23:27:27 +00:00
Jakub Jelinek 3eb6b2b040 num_put_members_char.cc (test01): Swap size and decimal_point arguments of find.
* testsuite/22_locale/num_put_members_char.cc (test01): Swap size
	and decimal_point arguments of find.
	* testsuite/22_locale/num_put_members_wchar_t.cc (test01): Likewise.

From-SVN: r58454
2002-10-23 17:45:50 +02:00
Jakub Jelinek 7e7e6d089d Makefile.am (check-abi, [...]): Use @glibcpp_srcdir@ instead of ${top_srcdir}.
* Makefile.am (check-abi, new-abi-baseline): Use @glibcpp_srcdir@
	instead of ${top_srcdir}.
	* Makefile.in: Rebuilt.

From-SVN: r58418
2002-10-22 23:48:26 +02:00
Loren J. Rittle 312af83702 numeric_limits.cc (test_extrema<long double>): Remove specialization for FreeBSD systems.
* testsuite/18_support/numeric_limits.cc (test_extrema<long double>):
	Remove specialization for FreeBSD systems.

From-SVN: r58409
2002-10-22 09:35:10 +00:00
Loren J. Rittle 5a6be855cb pthread1.cc: Remove needless workaround for FreeBSD 5.
* testsuite/thread/pthread1.cc: Remove needless workaround
	for FreeBSD 5.

From-SVN: r58289
2002-10-18 21:37:53 +00:00
Loren J. Rittle dae1b24731 * config/abi/i386-unknown-freebsd4.7/baseline_symbols.txt: Remove.
From-SVN: r58288
2002-10-18 21:25:13 +00:00
Loren J. Rittle 8478f1708a configure.target (freebsd*): Use abi_baseline_triplet.
* configure.target (freebsd*): Use abi_baseline_triplet.
	* config/abi/i386-unknown-freebsd4/baseline_symbols.txt: New file.

From-SVN: r58287
2002-10-18 21:22:16 +00:00
Loren J. Rittle 0b564d905f howto.html (GLIBCPP_FORCE_NEW): Document new environment variable which replaces all uses of __USE_MALLOC macro.
* docs/html/23_containers/howto.html (GLIBCPP_FORCE_NEW): Document
	new environment variable which replaces all uses of __USE_MALLOC
	macro.
	* docs/html/ext/howto.html (GLIBCPP_FORCE_NEW): Likewise.
	(__mem_interface): Remove all references to old internal typedef.
	* include/backward/alloc.h (__USE_MALLOC): Remove it and all
	guarded code.
	* include/bits/c++config (__USE_MALLOC): Update related error
	message and comment.
	* include/bits/stl_alloc.h (__USE_MALLOC): Remove it and all
	guarded code.  Update all related comments.
	(__mem_interface): Unconditionally replace it with __new_alloc.
	However, leave the typedef around in case anyone used it.
	(__default_alloc_template<>::_S_force_new): New class static.
	(__default_alloc_template<>::allocate, deallocate): Add
	run-time controlled feature similar to what __USE_MALLOC code
	path had provided.
	* src/stl-inst.cc (__USE_MALLOC): Remove it and all
	guarded code.
	* testsuite/21_strings/capacity.cc: Remove reference to __USE_MALLOC.
	Add documentation on GLIBCPP_FORCE_NEW environment variable.
	* testsuite/ext/allocators.cc: Likewise.

From-SVN: r58286
2002-10-18 20:52:57 +00:00
Phil Edwards a0f27776ac configure.in: Use target, not target_alias, when matching triplet patterns.
2002-10-18  Phil Edwards  <pme@gcc.gnu.org>

	* configure.in:  Use target, not target_alias, when matching triplet
	patterns.
	* configure:  Regenerate.

From-SVN: r58270
2002-10-18 04:46:54 +00:00
Momchil Velikov 58be18836f configure.in: Add *-freebsd* to cross list.
2002-10-17  Momchil Velikov  <velco@fadata.bg>
	    Loren J. Rittle  <ljrittle@acm.org>

	* configure.in: Add *-freebsd* to cross list.
	* configure: Rebuilt.

Co-Authored-By: Loren J. Rittle <ljrittle@acm.org>

From-SVN: r58236
2002-10-17 05:26:21 +00:00
Benjamin Kosnik 2982f6ffc4 locale_facets.h (__timepunct::__timepunct): Allocate _M_name_timepunct.
2002-10-16  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.h (__timepunct::__timepunct): Allocate
	_M_name_timepunct.
	(__timepunct::~__timepunct): Deallocate, remove specialization
	declarations.
	(messages::messages): Allocate _M_name_messages.
	(messages::~messages): Deallocate.
	(messages_byname): Same.
	* config/locale/gnu/time_members.cc (__timepunct::~__timepunct):
	Remove.
	* config/locale/generic/time_members.cc (__timepunct::~__timepunct):
	Remove.

	* docs/html/install.html: Add es_MX, en_PH to required locales list.

From-SVN: r58232
2002-10-17 01:19:59 +00:00
Benjamin Kosnik 57e172dd3a linker-map.gnu: Add exports for codecvt constructors where size_t == unsigned long.
2002-10-16  Benjamin Kosnik  <bkoz@redhat.com>

	* config/linker-map.gnu: Add exports for codecvt constructors
	where size_t == unsigned long.

From-SVN: r58208
2002-10-16 16:14:10 +00:00
Benjamin Kosnik 8c536ae9dc globals.cc (__gnu_cxx::c_locale_impl_compat): Add, alias to c_locale_impl.
2002-10-14  Benjamin Kosnik  <bkoz@redhat.com>

	* src/globals.cc (__gnu_cxx::c_locale_impl_compat): Add, alias to
	c_locale_impl.
	* testsuite/abi_check.cc (line_to_symbol_info): Collect size info.
	* docs/html/abi.txt: Update.

From-SVN: r58147
2002-10-15 04:22:11 +00:00
Benjamin Kosnik 51502ebc13 static_members.cc (test02): Less provincial.
2002-10-14  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/22_locale/static_members.cc (test02): Less provincial.

From-SVN: r58144
2002-10-15 01:05:30 +00:00
Benjamin Kosnik 9fead1f53b static_members.cc (test02): Disable for systems without named locale support.
2002-10-14  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/22_locale/static_members.cc (test02): Disable for
	systems without named locale support.
	* testsuite/22_locale/ctor_copy_dtor.cc (test04): Don't assume
	running the testsuites in "C" environment.
	Add new tests.
	* docs/html/22_locale/locale.html: Update.

From-SVN: r58142
2002-10-14 22:13:34 +00:00
Danny Smith 9cfa115575 stl_threads.h (_GLIBCPP_mutex, [...]): Declare in namespace __gnu_cxx.
* include/bits/stl_threads.h (_GLIBCPP_mutex,
	_GLIBCPP_mutex_init,_GLIBCPP_mutex_address,
	_GLIBCPP_mutex_address_init, _GLIBCPP_once):
	Declare in namespace __gnu_cxx.
	(_STL_mutex_lock::_M_initialize): Qualify __gnu_cxx
	names.
	Adjust copyright.

From-SVN: r58092
2002-10-13 06:35:15 +00:00
Benjamin Kosnik b0b128027b abi_check.cc (hash<string>): Specialize.
2002-10-12  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/abi_check.cc (hash<string>): Specialize.
	Simplify. Check compatible symbol versions.
	* config/linker-map.gnu: Clarify, explicitly export
	std::codecvt::c* symbols.

	* testsuite/22_locale/static_members.cc (test02): Avoid null strings.

From-SVN: r58091
2002-10-13 04:46:58 +00:00
Jonathan Wakely b06a1ea51f howto.html: Correct nasting of XHTML elements.
2002-10-12  Jonathan Wakely  <jw@kayari.org>
            Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* docs/html/21_strings/howto.html#5:  Correct nasting of XHTML
	elements.  Correct allocator-related text.

Co-Authored-By: Gabriel Dos Reis <gdr@integrable-solutions.net>

From-SVN: r58080
2002-10-12 06:14:31 +00:00
Benjamin Kosnik c0b80fecdf static_members.cc (test02): Fix.
2002-10-11  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/22_locale/static_members.cc (test02): Fix.

From-SVN: r58079
2002-10-12 04:37:51 +00:00
Benjamin Kosnik 45c7cbd930 acconfig.h (_GLIBCPP_SYMVER): Add.
2002-10-11  Benjamin Kosnik  <bkoz@redhat.com>

	* acconfig.h (_GLIBCPP_SYMVER): Add.
	(_GLIBCPP_ASM_SYMVER): Add.
	* acinclude.m4 (GLIBCPP_ENABLE_SYMVERS): Define _GLIBCPP_SYMVER.
	* aclocal.m4: Regenerate.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* include/bits/c++config (_GLIBCPP_AT_AT): Define, as an expedient
	hack around m4 issues with quoting '@'.
	* src/locale.cc: Use _GLIBCPP_ASM_SYMVER.
	* src/globals.cc: Same.

	* testsuite/22_locale/ctor_copy_dtor.cc (test04): Fix for
	non-glibc systems.

From-SVN: r58065
2002-10-11 21:10:10 +00:00
Benjamin Kosnik a7817e1db2 linker-map.gnu (GLIBCPP_3.2.1): Add.
2002-10-10  Benjamin Kosnik  <bkoz@redhat.com>

	* config/linker-map.gnu (GLIBCPP_3.2.1): Add.
	(GLIBCPP_3.2): Don't export locale::_S_*.
	* src/ios.cc: Move globals into __gnu_cxx. Make old exported
	symbols match.
	* src/locale.cc: Same.
	* src/localename.cc: Same.
	* src/globals.cc: Same.

From-SVN: r58042
2002-10-11 07:09:36 +00:00
Phil Edwards 64e8f36132 howto.html: Write #5, char_traits.
2002-10-10  Phil Edwards  <pme@gcc.gnu.org>

	* docs/html/21_strings/howto.html:  Write #5, char_traits.
	* docs/html/17_intro/porting.texi:  Expand on os_include_dir.
	* docs/html/17_intro/porting.html:  Regenerate.

From-SVN: r58031
2002-10-10 22:00:29 +00:00
Benjamin Kosnik 402a402cab locale.cc: Fix comments, move ctors together.
2002-10-09  Benjamin Kosnik  <bkoz@redhat.com>

	* src/locale.cc: Fix comments, move ctors together.
	* testsuite/22_locale/static_members.cc (test03): Add.

From-SVN: r58001
2002-10-10 05:15:29 +00:00
Paolo Carlini 0c479bf5ca 2002-10-09 Paolo Carlini <pcarlini@unitus.it>
Fix trivial typo in the last ChangeLog entry.

From-SVN: r57983
2002-10-09 11:59:59 +00:00
Jonathan Lennox 3279e88a45 PR libstdc++/8071, libstdc++/8127, c++/6745
2002-10-08  Jonathan Lennox  <lennox@cs.columbia.edu>

	PR libstdc++/8071, libstdc++/8127, c++/6745
	* streambuf.tcc (__copy_streambufs): Handle cases where
	__sbin->in_avail() returns 0, or where __sbin doesn't set gptr().
	* testsuite/27_io/ostream_inserter_other.cc (test05): Add.

From-SVN: r57970
2002-10-09 06:32:11 +00:00
Paolo Carlini aa53f832ac localefwd.h (class locale): Add static member _S_num_extra_categories...
2002-10-08  Paolo Carlini  <pcarlini@unitus.it>
	    Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/localefwd.h (class locale): Add static member
	_S_num_extra_categories, encoding the number of additional
	categories.
	Change _S_num_categories to _S_categories_size.
	(class locale::_Impl): Add _M_c_cats.
	(class locale::_Impl::_M_names): Change to array of chars.
	(class locale::_Impl::_M_check_same_name): Use
	_S_extra_categories_size, tweak.
	(locale::locale(const locale&, _Facet*)): Ditto.
    	* src/locale.cc (locale::locale(const char* )): Rewrite to deal
	with the environment in a POSIX-compliant way while being thread
	safe.
	(locale::name()): Update to output POSIX environment strings.
	* src/localename.cc
	(locale::_Impl::_Impl(const _Impl&, size_t): Use
	_S_categories_size_*, tweak.
	(locale::_Impl::_Impl(facet**, size_t, bool)): Ditto.
	(locale::_Impl::_Impl(const char*, size_t)): Name each category
	individually.
	(locale::_Impl::_M_replace_categories): Use strcpy.

	* include/bits/locale_facets.h (numpunct::_M_initialize_numpunct):
	Change default argument to NULL from _S_c_locale.
	(timepunct::_M_initialize_timepunct): Same.
	_S_c_locale cleanups.
	* src/codecvt.c: _S_c_locale simplification.
	* src/ctype.c: Same.
	* src/globals.cc: Add fake_name.
	* src/locale-inst.cc: Remove extra includes.
	* src/locale.cc: Remove extra includes.
	Add _S_extra_categories_size definition.
	Correct "C" initialization.
	(locale::facet::facet): Don't initialize _S_c_locale.
	(locale::facet::_M_remove_reference): Adjust.
	* src/localename: Use facet_vec, facet_name.
	(locale::_Impl::_Impl(facet** __f, size_t __refs, bool)): Set
	facet ref counts to one. Initialize _S_c_locale.
	(locale::_Impl::_M_install_facet(id*, facet*)): Adjust facet ref
	counts when installing unilaterally.

	* config/locale/generic/c_locale.cc: Add _S_categories definition.
	* config/locale/generic/c_locale.h: Add _GLIBCPP_NUM_CATEGORIES macro.
	* config/locale/generic/time_members.cc: _S_c_locale cleanup.

	* config/locale/gnu/c_locale.cc: Add _S_categories definition.
	(_S_destroy_c_locale): Move checks against _S_c_locale here.
	* config/locale/gnu/c_locale.h: Add _GLIBCPP_NUM_CATEGORIES macro.
	* config/locale/gnu/ctype_members.cc: Simplify _S_destroy_c_locale
	calls, _S_c_locale usage.
	* config/locale/gnu/monetary_members.cc: Same, tweaks.
	* config/locale/gnu/monetary_members.cc: Same.
	* config/locale/gnu/time_members.cc: Same.
	* config/os/gnu-linux/ctype_noninline.h: Use locale::classic().

	* docs/html/22_locale/locale.html: Add bits about global locales
	and "C" setlocale.

	* testsuite/22_locale/facet.cc (test02): Add.
	* testsuite/22_locale/static_members.cc (test02): Add.
	* testsuite/22_locale/ctor_copy_dtor.cc (test04): Add.

Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>

From-SVN: r57964
2002-10-08 23:32:23 +00:00
Jonathan Wakely ba43f4ebc4 configopts.html, [...]: Add DOCTYPEs.
2002-10-07  Jonathan Wakely  <jw@kayari.org>

	* docs/html/configopts.html, docs/html/documentation.html,
	docs/html/explanations.html, docs/html/install.html,
	docs/html/17_intro/contribute.html, docs/html/17_intro/howto.html,
	docs/html/17_intro/license.html, docs/html/18_support/howto.html,
	docs/html/19_diagnostics/howto.html, docs/html/20_util/howto.html,
	docs/html/21_strings/howto.html, docs/html/22_locale/codecvt.html,
	docs/html/22_locale/ctype.html, docs/html/22_locale/howto.html,
	docs/html/22_locale/locale.html, docs/html/22_locale/messages.html,
	docs/html/23_containers/howto.html, docs/html/24_iterators/howto.html,
	docs/html/25_algorithms/howto.html, docs/html/26_numerics/howto.html,
	docs/html/27_io/howto.html, docs/html/ext/howto.html,
	docs/html/ext/sgiexts.html, docs/html/faq/index.html:  Add DOCTYPEs.

From-SVN: r57903
2002-10-07 18:11:23 +00:00
Richard Earnshaw bfc1eae300 re PR libstdc++/3584 (arm-specific atomic operations not atomic)
PR libstdc++/3584
* config/cpu/arm/atomicity.h (__exchange_and_add): Don't try to use
ASM sequences that don't give us atomic addition operations.  Instead
just add a comment explaining why it doesn't work.
(__atomic_add): Just use __exchange_and_add.
(__test_and_set, __always_swap): Delete.

From-SVN: r57778
2002-10-03 15:58:29 +00:00
Andreas Jaeger f6c772fef4 Add forgotten ChangeLog entry.
From-SVN: r57764
2002-10-03 08:59:13 +02:00
Phil Edwards db1a6d8676 Makefile.am (check-abi): Add @ to rule.
2002-10-01  Phil Edwards  <pme@gcc.gnu.org>

	* Makefile.am (check-abi):  Add @ to rule.
	* Makefile.in:  Regenerated.

From-SVN: r57715
2002-10-02 01:05:13 +00:00