2003-12-31  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_get::_M_extract_int,
	num_get::_M_extract_float): According to 22.2.2.1.2, p8-9,
	_first_ look for thousands_sep, then for decimal_point and
	finally for digits.
	(num_get::_M_extract_float): After the decimal_point or
	'e'/'E', decimal_point and thousands_sep just break out the
	parsing loop.
	* testsuite/22_locale/num_get/get/char/11.cc: Add tests.
	* testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.

2003-12-30  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/13369
	* include/bits/locale_facets.tcc (__verify_grouping):
	Fix to deal properly with __grouping_tmp.size() >
	__grouping.size().
	* testsuite/22_locale/num_get/get/char/13.cc: New.
	* testsuite/22_locale/num_get/get/wchar_t/13.cc: Ditto.

2003-12-29  Jerry Quinn  <jlquinn@optonline.net>

	* include/bits/locale_facets.h (ctype.narrow,widen): Add cast.

2003-12-29  Paolo Carlini  <pcarlini@suse.de>

	* acinclude.m4 (GLIBCXX_CHECK_LFS): Add -fno-exceptions
	to CXXFLAGS.
	* aclocal.m4: Regenerate.
	* configure: Likewise.

2003-12-29  Mark Mitchell  <mark@codesourcery.com>

	* acconfig.h: Add _GLIBCXX_USE_C99_MATH.
	* acinclude.m4 (GLIBCXX_ENABLE_C99): Define GLIBCXX_USE_C99_MATH.
	* configure.ac: Define HAVE_S_ISREG and HAVE_S_IFREG when
	targeting newlib.
	* aclocal.m4: Regenerated.
	* config.h.in: Likewise.
	* configure: Likewise.
	* Makefile.in: Likewise.
	* include/Makefile.in: Likewise.
	* libmath/Makefile.in: Likewise.
	* libsupc++/Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.
	* src/Makefile.in: Likewise.
	* po/Makefile.in: Likewise.
	* include/c_std/std_cmath.h (_GLIBCXX_USE_C99): Replace with ...
	(_GLIBCXX_USE_C99_MATH): ... this.

	* testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: XFAIL for
	arm-none-elf.
	* testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise.
	* testsuite/27_io/basic_istream/readsome/char/6476-2.cc: Likewise.
	* testsuite/27_io/objects/char/9.cc: Likewise.
	* testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise.

2003-12-28  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/pool_allocator.h (class __pool_alloc): Use
	operator new and operator delete.

2003-12-24  Andrew Pinski  <pinskia@physics.uc.edu>

	* config/cpu/i386/atomicity.h (__exchange_and_add): Fix output
	constraint.

	PR libstdc++/13480
	* config/cpu/i386/atomicity.h: Split up read-write memory operand.

2003-12-23  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/new_allocator.h (new_allocator): Proper allocator class.
	(__new_alloc): Delete.
	* include/ext/malloc_allocator.h (malloc_allocator): Same.
	(__malloc_alloc): Delete.
 	* include/ext/mt_allocator.h: Same, but weakly.
 	* include/ext/debug_allocator.h: Convert to the new style.
	* include/ext/pool_allocator.h: Use global new and delete directly.
	* include/backward/alloc.h: Don't inject malloc_allocator, or
	debug_allocator.
	* testsuite/ext/allocators.cc: Minimal fixups for usage of new
	classes.  Comment out tests with __pool_alloc for now.
	* testsuite/performance/allocator.cc: Same.

2003-12-22  Matt Austern  <austern@apple.com>

	* include/bits/stl_bvector.h (_Bvector_alloc_base): Eliminate.
	(_Bvector_base): Inherit directly from word allocator.
	* include/bits/stl_tree.h (_Rb_tree_alloc_base): Eliminate.
	(_Rb_tree_base): Eliminate.
	(_Rb_tree): Inherit directly from node allocator.
	* include/ext/slist (_Alist_alloc_base): Eliminate.
	(_Slist_base): Inherit direcly from node allocator.

2003-12-22  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/18_support/numeric_limits.cc: Add _GLIBCXX_ASSERT to
	dg-options in testcases that use VERIFY.
	* testsuite/23_containers/vector/invalidation/1.cc: Same.
	* testsuite/23_containers/vector/invalidation/2.cc: Same.
	* testsuite/23_containers/vector/invalidation/3.cc: Same.
	* testsuite/23_containers/vector/invalidation/4.cc: Same.
	* testsuite/23_containers/vector/resize/1.cc: Same.
	* testsuite/26_numerics/complex_value.cc: Same.
	* testsuite/27_io/ios_base/storage/1.cc: Same.
	* testsuite/27_io/ios_base/storage/2.cc: Same.
	* testsuite/27_io/ios_base/storage/3.cc: Same.
	* testsuite/27_io/manipulators/standard/char/2.cc: Same.
	* testsuite/backward/11460.cc: Same.
	* testsuite/backward/strstream_members.cc: Same.

	* include/ext/hash_set (class hash_multiset): Fix typo.

2003-12-22  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/27_io/objects/char/5.cc: Don't use stdc++.h.gch.
	* testsuite/27_io/objects/wchar_t/5.cc: Same.
	* docs/html/test.html: Add docs for constructing test files that
	don't use stdc++.h.gch.
	* scripts/testsuite_flags.in (PCHFLAGS): Move to --cxxpchflags.
	* testsuite/libstdc++-dg/normal.exp: Compute DEFAULT_CXXFLAGS
	differently.

	* include/bits/ios_base.h (ios_base::Init::_S_initialized): Remove.
	* src/ios_init.cc: Same.
	* config/linker-map.gnu: Same.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Adjust line numbers.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Same.

2003-12-22  Andrew Pinski  <pinskia@physics.uc.edu>

	PR libstdc++/13462
	* include/bits/stl_multiset.h (__gnu_norm::multiset): Define pointer
	as allocator's pointer, likewise for reference, const_pointer, and
	const_reference.
	* include/bits/stl_set.h (__gnu_norm::set): Likewise.
	* include/ext/hash_set (__gnu_ext::hash_set): Likewise.
	(__gnu_ext::hash_multiset): Likewise.

2003-12-22  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_get::_M_extract_int,
	num_get::_M_extract_float): According to 22.2.2.1.2, p8-9,
	first look for decimal_point and thousands_sep, when parsing
	sign, leading zeros (and 0, Ox, 0X for integer types) too.
	* testsuite/22_locale/num_get/get/char/12.cc: New.
	* testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.

	* testsuite/22_locale/num_get/get/char/11.cc: Add a comment.
	* testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.

2003-12-20  Jason Merrill  <jason@redhat.com>

	* config/cpu/powerpc/atomicity.h: Fix oversight in previous
	change.

2003-12-20  Jerry Quinn  <jlquinn@optonline.net>

	* docs/doxygen/TODO: Update.
	* include/bits/locale_classes.h (locale, facet, id): Document.
	* include/bits/locale_facets.tcc (has_facet, use_facet): Document.

2003-12-19  Jason Merrill  <jason@redhat.com>

	* config/cpu/cris/atomicity.h: Remove memory clobbers.
	* config/cpu/mips/atomicity.h: Likewise.
	* config/cpu/i486/atomicity.h: Remove memory clobbers.
	Split up read-write memory operand.
	* config/cpu/m68k/atomicity.h: Likewise.
	* config/cpu/powerpc/atomicity.h: Make memory I/O explicit.
	* config/cpu/s390/atomicity.h: Likewise.
	* config/cpu/sparc/atomicity.h: Likewise.

2003-12-20  Carlo Wood  <carlo@alinoe.com>

	* bits/demangle.h
	namespace __gnu_cxx::demangler
	(session<Allocator>::decode_encoding): Put the postfix
	of the return type of (member) functions after the function
	instead of after the return type.

2003-12-19  Jerry Quinn  <jlquinn@optonline.net>

        * include/bits/locale_facet.h
        (__ctype_abstract_base,ctype<charT>,ctype<char>,ctype<wchar_t>):
        Document.

2003-12-19  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_get::_M_extract_int,
	num_get::_M_extract_float): According to 22.2.2.1.2, p8-9,
	first look for decimal_point and thousands_sep.
	* testsuite/22_locale/num_get/get/char/11.cc: New.
	* testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.

2003-12-19  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_get::_M_extract_float):
	When __found_sci becomes true stop eating thousands separators
	and the decimal radix separator.
	* testsuite/22_locale/num_get/get/char/9.cc: New.
	* testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.

	* config/locale/generic/c_locale.cc (__convert_to_v): Don't
	check that *__sanity == '\0': parsing may stop earlier, still
	be successful.
	* config/locale/gnu/c_locale.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/10.cc: New.
	* testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
	Tweak in one place accordingly.

	* testsuite/22_locale/money_get/get/char/1.cc: Fix typo.
	* testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.

2003-12-18  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/stl_list.h: Formatting tweaks.
	* include/bits/list.tcc: Same.

2003-12-18  Matt Austern  <austern@apple.com>

	* include/bits/demangle.h: Fix allocator type correctness,
	i.e. make sure that when we instantiate a container with a value
	type and an allocator, the allocator's value type matches the
	container's.
	* include/bits/stl_deque.h (_Deque_alloc_base): Eliminate.
	(_Deque_base): inherit directly from the deque's allocator.  Use
	rebinding instead of _Alloc_traits.  Pick up data members from
	_Deque_alloc_base.
	* include/bits/stl_list.h (_List_alloc_base): Eliminate.
	(_List_base): Inherit directly from the list's allocator.  Use
	rebinding instead of _Alloc_traits.  Pick up data members from
	_List_alloc_base.
	* include/bits/stl_vector.h (_Vector_alloc_base): Eliminate
	(_Vector_base): Inherit directly from the vector's allocator.  Use
	rebinding instead of _Alloc_traits.  Pick up data members from
	_Vector_alloc_base.
	* include/ext/hashtable.h: Fix allocator type correctness (the
	vector of buckets must be passed an allocator for objects of
	type _Node*).  Use rebinding instead of _Alloc_traits.

2003-12-17  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
	Use narrow to get from __format[__i] a char __c representing a
	formatting code, don't use it to compare *__beg to __format[__i].
	* testsuite/22_locale/time_get/get_date/wchar_t/4.cc: New.

2003-12-17  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/performance/container_benchmark.cc: Tweak outputs.

	* testsuite/performance/list_create_fill_sort.cc: Shrink a
	bit some outputs.

	* testsuite/testsuite_performance.h: Widen a few output fields.

	* testsuite/performance/ifstream_extract_int.cc: New.

2003-12-16  Phil Edwards  <phil@codesourcery.com>

	* configure.ac (AM_INIT_AUTOMAKE):  Don't warn about GNU Make.
	* configure:  Regenerated.
	* Makefile.am (check-%):  New catch-all forwarding target.
	* Makefile.in:  Regenerated.

2003-12-16  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/performance/container_benchmark.cc: New, a
	benchmark developed by Bjarne Stroustrup and Alexander
	Stepanov and made available with no restrictions.

	* testsuite/testsuite_performance.h (report_header): New,
	useful to produce header lines in the reports.

2003-12-16  Jonathan Wakely  <redi@gcc.gnu.org>

	* docs/html/21_strings/howto.html: Document shrink-to-fit reserve().
	* docs/html/faq/index.html: Reducing vector's capacity() to size().
	* docs/html/documentation.html, docs/html/faq/index.txt: Regenerate.

2003-12-16  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/performance/narrow_widen_char.cc: Tweak the
	number of iterations for each test.
	* testsuite/performance/narrow_widen_wchar_t.cc: Add a
	missing clear_counters.

2003-12-16  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/11723
	* include/bits/locale_facets.h: Add _M_bit and _M_wmask,
	used to speed up the computation of ctype::do_is.
	* config/locale/generic/ctype_members.cc
	(_M_initialize_ctype): Fill _M_bit and _M_wmask.
	(ctype::do_is): Use _M_bit and _M_wmask.
	* config/locale/gnu/ctype_members.cc: Likewise.
	* testsuite/performance/is_wchar_t.cc: New.

	* testsuite/performance/narrow_widen_wchar_t.cc: Tweak
	string literal (incorrect citation ;)

	* include/bits/locale_facets.h: Minor tweaks, const
	correctness, unsigned -> size_t.

2003-12-16  Jerry Quinn  <jlquinn@optonline.net>

	* include/bits/locale_facets.h (widen, narrow):  Uncomment the
	intended code.

2003-12-15  Jerry Quinn  <jlquinn@optonline.net>

        * config/os/aix/ctype_noninline.h,
	config/os/bsd/freebsd/ctype_noninline.h,
	config/os/bsd/netbsd/ctype_noninline.h,
	config/os/djgpp/ctype_noninline.h,
	config/os/generic/ctype_noninline.h,
	config/os/gnu-linux/ctype_noninline.h,
	config/os/hpux/ctype_noninline.h,
	config/os/irix/irix5.2/ctype_noninline.h,
	config/os/irix/irix6.5/ctype_noninline.h,
	config/os/mingw32/ctype_noninline.h,
	config/os/newlib/ctype_noninline.h,
	config/os/qnx/qnx6.1/ctype_noninline.h,
	config/os/solaris/solaris2.5/ctype_noninline.h,
	config/os/solaris/solaris2.6/ctype_noninline.h,
	config/os/solaris/solaris2.7/ctype_noninline.h,
	config/os/vxworks/ctype_noninline.h,
	config/os/windiss/ctype_noninline.h (ctype):  Initialize
	_M_narrow, _M_widen.
	* include/bits/locale_facets.h (_M_widen, _M_widen_ok,
	_M_narrow, _M_narrow_ok): New.
	(widen, narrow): Use tables to bypass virtual functions.
	(_M_widen_init, _M_narrow_init): New.

2003-12-15  Carlo Wood  <carlo@alinoe.com>

	* include/bits/ios_base.h (Init::_S_initialized): Change into
	declaration.
	* src/ios_init.cc (Init::_S_initialized): Add definition.

2003-12-15  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/12658
	* include/Makefile.am (bits_headers): Add concurrence.h.
	* include/Makefile.in: Regenerated.
	* include/bits/concurrence.h: New.
	* src/locale_init.cc: Use it.
	(locale::locale): Lock critical regions.
	(locale::global): Same.

2003-12-15  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/basic_string.h: Change _*_references to _*_refcount.
	* include/bits/locale_classes.h: Same.
	* src/locale.cc: Same.
	* src/locale_name.cc: Same.
	* src/locale_init.cc: Same.

2003-12-15  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/12855
	* include/bits/ios_base.h (Init::_S_ios_base_init): Change to
	_S_refcount, make atomic.
	* src/ios.cc: Adjust definition.
	* src/ios_init.cc (ios_base::Init::Init): Use __exchange_and_add,
	and __atomic_add.
	(ios_base::Init::~Init): Same.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.

2003-12-15  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_get::do_get(bool&)):
	Fail as soon as the begins of both truename and falsename
	stop to match; always leave __beg one position beyond the
	last char successfully matched.
	* testsuite/22_locale/num_get/get/char/8.cc: New.
	* testsuite/22_locale/num_get/get/wchar_t/8.cc: Likewise.

2003-12-15  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.h (_M_widen): Reserve space
	for all the possible widened chars.
	* config/locale/generic/ctype_members.cc (_M_initialize_ctype):
	Compute at construction time all the possible widened chars.
	(do_widen): Tweak, simplify.
	* config/locale/gnu/ctype_members.cc: Likewise.
	* testsuite/performance/narrow_widen_wchar_t.cc: Add tests
	for the array versions.

2003-12-12  Paolo Carlini  <pcarlini@suse.de>
	    Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/13341
	* include/bits/locale_facets.h (ctype<wchar_t>): Declare
	_M_initialize_ctype() and _M_narrow_ok, _M_narrow and _M_widen.
	* src/ctype.cc (ctype<wchar_t>::ctype(size_t),
	ctype<wchar_t>::ctype(__c_locale, size_t)): Use
	_M_initialize_ctype to fill _M_narrow and _M_widen.
	(ctype_byname<wchar_t>::ctype_byname(const char*, size_t)):
	Likewise.
	* config/locale/generic/ctype_members.cc (do_narrow, do_widen)
	Use _M_narrow and _M_widen when possible, instead of calling
	wctob and btowc, respectively.
	(_M_initialize_ctype): Define, it fills at construction time
	_M_narrow and _M_widen.
	* config/locale/gnu/ctype_members.cc: Likewise.
	* testsuite/performance/narrow_widen_wchar_t.cc: New.

2003-12-12  Jonathan Wakely  <redi@gcc.gnu.org>

	* docs/html/faq/index.txt: Regenerate after adding <link> tags.

2003-12-11  Neil Ferguson  <nferguso@eso.org>
            Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.tcc (reserve): Allow shrink-to-fit.
	* testsuite/21_strings/basic_string/capacity/1.cc: Tweak.
	* testsuite/21_strings/basic_string/capacity/char/1.cc: Ditto.
	* testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Ditto.

2003-12-10  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/6243
	* testsuite/lib/libstdc++.exp (v3-init): Add
	original_ld_library_path, calculate ld_library path, set
	LD_LIBRARY_PATH to both. Based on libjava.exp.

2003-12-10  Benjamin Kosnik  <bkoz@redhat.com>
            Alexandre Oliva  <aoliva@redhat.com>

	PR libstdc++/11612
	* testsuite/Makefile.am (GLIBCXX_DIR): New.
	(GLIBGCC_DIR): New.
	(CXXLINK): Use both with -R so libtool links the correct libs.

2003-12-10  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/13217
	* include/bits/fstream.tcc (underflow): Deal gracefully with
	read errors: throw ios_base::failure.

2003-12-10  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/10063
	* config/io/basic_file_stdio.cc (__basic_file::sys_open): Sync.
	* testsuite/ext/stdio_filebuf/char/10063-1.cc: New.
	* testsuite/ext/stdio_filebuf/char/10063-2.cc: New.

2003-12-10  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_put::do_put(void*)):
	Remove the try/catch, not necessary.

2003-12-10  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/22_locale/locale/cons/12438.cc: Tweak memory
	limit and iterations to avoid spurious failures on some
	64 bit machines.

2003-12-09  Benjamin Kosnik  <bkoz@redhat.com>

	* config/linker-map.gnu: Remove private ios_base members from
	export list.

	* config/cpu/alpha/atomicity.h: Consistently format.
	* config/cpu/cris/atomicity.h: Same.
	* config/cpu/generic/atomicity.h: Same.
	* config/cpu/hppa/atomicity.h: Same.
	* config/cpu/i386/atomicity.h: Same.
	* config/cpu/i486/atomicity.h: Same.
	* config/cpu/ia64/atomicity.h: Same.
	* config/cpu/m68k/atomicity.h: Same.
	* config/cpu/mips/atomicity.h: Same.
	* config/cpu/powerpc/atomicity.h: Same.
	* config/cpu/s390/atomicity.h: Same.
	* config/cpu/sparc/atomicity.h: Same.

2003-12-09  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/13296
	* acinclude.m4 (GLIBCXX_ENABLE_LIBUNWIND_EXCEPTIONS): Remove.
	* aclocal.m4: Regenerate.
	* configure.ac: Remove call to GLIBCXX_ENABLE_LIBUNWIND_EXCEPTIONS.
	* conigure: Regenerate.
	* src/Makefile.am (libstdc___la_LDFLAGS): Remove LIBUNWIND_FLAGS.
	* src/Makefile.in: Regenerate.
	* docs/html/17_intro/configury.html: Modify.

2003-12-09  Paolo Carlini  <pcaelini@suse.de>

	* include/bits/demangle.h (struct implementation_details):
	Keep in comments the names of the unused parameters.

2003-12-09  Paolo Carlini  <pcaelini@suse.de>

	* include/bits/demangle.h (struct implementation_details):
	Fix unused parameters warning.

2003-12-09  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_get::_M_extract_int):
	Slightly streamline the code dealing with overflows and the
	parsing of the sign.

2003-12-09  Bernardo Innocenti  <bernie@develer.com>

	* include/ext/algorithm, include/ext/debug_allocator.h,
	include/ext/enc_filebuf.h, include/ext/functional,
	include/ext/hash_fun.h, include/ext/hash_map, include/ext/hash_set,
	include/ext/hashtable.h, include/ext/iterator,
	include/ext/malloc_allocator.h, include/ext/memory,
	include/ext/mt_allocator.h, include/ext/numeric,
	include/ext/pod_char_traits.h, include/ext/pool_allocator.h,
	include/ext/rb_tree, include/ext/rope, include/ext/ropeimpl.h,
	include/ext/slist, include/ext/stdio_filebuf.h,
	include/ext/stdio_sync_filebuf.h: Remove trailing whitespace.

2003-12-09  Bernardo Innocenti  <bernie@develer.com>

	* include/debug/bitset, include/debug/debug.h, include/debug/deque,
	include/debug/formatter.h, include/debug/hash_map.h,
	include/debug/hash_multimap.h, include/debug/hash_multiset.h,
	include/debug/hash_set, include/debug/hash_set.h, include/debug/list,
	include/debug/map.h, include/debug/multimap.h,
	include/debug/multiset.h, include/debug/safe_base.h,
	include/debug/safe_iterator.h, include/debug/safe_iterator.tcc,
	include/debug/safe_sequence.h, include/debug/set.h,
	include/debug/string, include/debug/vector: Remove trailing whitespace.

2003-12-09  Bernardo Innocenti  <bernie@develer.com>

	* include/c_compatibility/iso646.h, include/c_compatibility/limits.h,
	include/c_compatibility/locale.h, include/c_compatibility/stdio.h,
	include/c_compatibility/string.h, include/c_compatibility/time.h,
	include/c_compatibility/wchar.h, include/c_compatibility/wctype.h:
	Remove trailing whitespace.

2003-12-09  Bernardo Innocenti  <bernie@develer.com>

	* include/c_std/cmath.tcc, include/c_std/std_cassert.h,
	include/c_std/std_cctype.h, include/c_std/std_cmath.h,
	include/c_std/std_cstddef.h, include/c_std/std_cstdio.h,
	include/c_std/std_cstdlib.h, include/c_std/std_cstring.h,
	include/c_std/std_cwchar.h, include/c_std/std_cwctype.h:
	Remove trailing whitespace.

2003-12-09  Bernardo Innocenti  <bernie@develer.com>

	* include/c/std_cctype.h, include/c/std_cmath.h,
	include/c/std_cstdlib.h include/c/std_cwchar.h,
	include/c/std_cwctype.h: Remove trailing whitespace.

2003-12-09  Bernardo Innocenti  <bernie@develer.com>

	* include/backward/algo.h, include/backward/algobase.h,
	include/backward/alloc.h, include/backward/complex.h,
	include/backward/defalloc.h, include/backward/function.h,
	include/backward/iterator.h, include/backward/new.h,
	include/backward/ostream.h, include/backward/queue.h,
	include/backward/rope.h, include/backward/stream.h,
	include/backward/streambuf.h, include/backward/strstream,
	include/backward/tempbuf.h, include/backward/tree.h,
	include/backward/vector.h: Remove trailing whitespace.

2003-12-08  Paolo Carlini  <pcarlini@suse.de>

	* config/locale/generic/c_locale.cc (__convert_to_v(long&),
	__convert_to_v(unsigned long&), __convert_to_v(long long&),
	__convert_to_v(unsigned long long&): Remove.
	(__convert_to_v(float&), __convert_to_v(double&),
	__convert_to_v(long double&)): Remove last unused parameter.
	* config/locale/gnu/c_locale.cc: Likewise.
	* include/bits/locale_facets.h: Likewise.
	(num_get::_M_extract_int): Update declaration.
	(class __num_base): Tweak _S_ie and _S_iE according to the
	_S_atoms_in changes.
	* include/bits/locale_facets.tcc (num_get::_M_extract_int):
	Provide directly the final _ValueT, not a string: accumulate
	the result checking for overflow at each digit.
	(num_get::do_get(bool&), num_get::do_get(long&),
	num_get::do_get(unsigned short&), num_get::do_get(unsigned int&),
	num_get::do_get(unsigned long&), num_get::do_get(long long&),
	num_get::do_get(unsigned long long&), num_get::do_get(void*&)):
	Use the new _M_extract_int, simplify.
	* src/locale-inst.cc (num_get::_M_extract_int(long&),
	num_get::_M_extract_int(unsigned short&),
	num_get::_M_extract_int(unsigned int&),
	num_get::_M_extract_int(unsigned long&),
	num_get::_M_extract_int(long long&),
	num_get::_M_extract_int(unsigned long long&): Instantiate.
	* src/locale_facets.cc (__num_base::_S_atoms_in): Reorder
        the chars in the natural order: abcdefABCDEF.

2003-12-08  David S. Miller  <davem@redhat.com>

	PR libstdc++/12496
	* config/cpu/sparc/atomicity.h (__exchange_and_add, __atomic_add):
	Extend increment to _Atomic_word before giving to assembler.

2003-12-06  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/ext/enc_filebuf/char/13189.cc: Guard for __enc_traits.
	* testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.

2003-12-06  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/11691
	* include/ext/stdio_filebuf.h (stdio_filebuf::stdio_filebuf):
	Remove __del argument to file descriptor constructor.
	* config/io/basic_file_stdio.h (__basic_file::sys_open): Remove
	bool argument.
	* config/io/basic_file_stdio.cc: Same.

2003-12-05  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/13189
	* include/ext/enc_filebuf.h: Fix.
	* include/bits/fstream.tcc: Tweak formatting.
	* include/bits/postypes.h: Same.
	* include/bits/sstream.tcc: Same.
	* include/bits/streambuf.tcc: Same.
	* testsuite/ext/stdio_filebuf.cc: Split.
	* testsuite/ext/stdio_filebuf_2.cc: Split.
	* testsuite/ext/stdio_sync_filebuf_char.cc: Split.
	* testsuite/ext/stdio_sync_filebuf_wchar_t.cc: Split.
	* testsuite/ext/enc_filebuf/char/13189.cc: New.
	* testsuite/ext/enc_filebuf/wchar_t/13189.cc: New.
	* testsuite/ext/stdio_filebuf/char/1.cc: New.
	* testsuite/ext/stdio_filebuf/char/2.cc: New.
	* testsuite/ext/stdio_sync_filebuf/char/1.cc: New.
	* testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: New.
	* testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: New.
	* testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: New.
	* testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: New.
	* testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: New.
	* testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: New.
	* testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: New.
	* testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: New.
	* testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: New.

2003-12-05  Carlo Wood  <carlo@alinoe.com>

	PR libstdc++/13045
	* bits/demangle.h
	namespace __gnu_cxx::demangler
	(enum substitution_nt): Removed trailing comma.
	(implementation_details): Added.
	(session<Allocator>::M_implementation_details): Added.
	(session<Allocator>::session): Pass implementation_details.
	(session<Allocator>::decode_encoding): Same.
	(session<Allocator>::decode_real): Added.
	(_GLIBCXX_DEMANGLER_STYLE_VOID _GLIBCXX_DEMANGLER_STYLE_LITERAL
	_GLIBCXX_DEMANGLER_STYLE_LITERAL_INT
	_GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS
	_GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME): Replaced with
	implementation_details equivalent.
	(session<Allocator>::decode_expression):
	Use M_implementation_details instead of macros. Add extra parentheses
	around 'larger than' operator in expressions in template arguments.
	(session<Allocator>::decode_bare_function_type): Idem.
	(session<Allocator>::decode_literal):
	Idem, and call decode_real for floating literals.
	(session<Allocator>::decode_type_with_postfix): Put the postfix
	of the return type of (member) functions after the function
	instead of after the return type.  Also, put a space after the
	prefix of qualified function pointers: "int (* const<space>".
	* src/demangle.cc: include most dependent header file first.
	* testsuite/demangle/regression/cw-16.cc: Updated two
	and added three tests.

2003-12-04  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/13284
	* include/bits/stl_algo.h (__random_number): Remove.
	(random_shuffle): Use rand, as permitted by DR 395.
	* include/ext/algorithm: Same.
	* linkage.m4 (GLIBCXX_CHECK_STDLIB_SUPPORT): Remove lrand48.
	* acconfig.h: Same.
	* crossconfig.m4: Remove HAVE_DRAND48, HAVE_LRAND48.
	* config.h.in: Regenerated.
	* configure: Same.
	* aclocal.m4: Same.

2003-12-04  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/12653
	* include/std/std_bitset.h (operator>>): Implement resolution
	of DR 303 [WP]: use widen('0') and widen('1').
	* docs/html/ext/howto.html: Add an entry for DR 303.

	* include/std/std_bitset.h (operator>>): Implement the common
	requirements of formatted input functions (27.6.1.2.1).

	* include/std/std_bitset.h (operator>>): Set the failbit when
	nothing was extracted and _Nb != 0.
	* testsuite/23_containers/bitset/input/1.cc: New.

2003-12-03  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/12791
	* include/bits/locale_facets.tcc (time_get::_M_extract_num):
	Rewrite, stop the parsing as soon as a digit cannot possibly
	lead to a final number within the bounds; otherwise, simplify,
	avoiding __ctype.is() and atoi().
	* testsuite/22_locale/time_get/get_date/char/12791.cc: New.
	* testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: New.

	* include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
	Minor tweak: a 4-digit integer cannot be bigger than 9999.

	* testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Use
	type-correct wchar_t string literals.
	* testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Ditto.
	* testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Ditto.
	* testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Ditto.
	* testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Ditto.

2003-12-02  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (time_get::do_get_year):
	Avoid using a basic_string and calling a full blown strtol
	(via __convert_to_v) for simple 2 or 4 digits, base 10,
	positive integers; simplify.

2003-12-02  Paolo Carlini  <pcarlini@suse.de>

	* config/locale/gnu/monetary_members.cc
	(money_base::_S_construct_pattern): For case 3: and 4:
	exchanging 'if (__precedes)' and 'if (__space)' allows
	to factor out a few more assignments.

2003-12-01  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/basic_ios.h (basic_ios::setstate): Revert.
	* include/bits/istream.tcc: Only call setstate if __err != goodbit.
	* include/bits/ostream.tcc: Same.
	* testsuite/27_io/basic_ios/exceptions/char/2.cc: New.

	* testsuite/testsuite_io.h (__gnu_test::fail_streambuf): Make
	internal buffer non-static.

2003-12-01  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/html/17_intro/C++STYLE: Add exception bits.
	* include/bits/fstream.tcc: Add location info to exception strings.

	* include/bits/stl_construct.h: Formatting tweaks.

2003-12-01  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/10378
	* include/bits/allocator.h (allocator::construct): Implement
	resolution of DR 402 [Ready] (in Revision 28).
	* include/bits/allocator_traits.h (__allocator::construct):
	Likewise.
	* include/bits/stl_construct.h (_Construct): Likewise.
	* testsuite/20_util/allocator_members.cc: Move to...
	* testsuite/20_util/allocator/1.cc: ... here.
	* testsuite/20_util/allocator/10378.cc: New.
	* docs/html/ext/howto.html: Add an entry for DR 402.

2003-11-30  Paolo Carlini  <pcarlini@suse.de>

	* config/locale/gnu/codecvt_members.cc (codecvt::do_in,
	codecvt::do_length): More minor tweaks.

2003-11-30  Paolo Carlini  <pcarlini@suse.de>

	* config/locale/gnu/codecvt_members.cc (codecvt::do_in):
	Minor stylistic tweak.

2003-11-30  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_put::do_put(..., bool)):
	Minor tweaks, consistent with the style used in other facets.

2003-11-29  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/fstream.tcc (underflow): Minor tweaks in
	preparation for libstdc++/13217.

2003-11-29  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc:
	Tweak for a few small problems (fix timings, use VERIFY..)

2003-11-28  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc: Remove.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: New,
	the original third testcase for libstdc++/13171 belong here.

2003-11-28  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc:
	Remove extraneous wchar_t lines.

2003-11-27  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/11544
	PR libstdc++/11603
	* include/bits/fstream.tcc (underflow): Throw ios_base::failure
	upon incomplete or invalid byte sequences in the file.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc: New.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc: New.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc: New.

2003-11-27  Paolo Carlini  <pcarlini@suse.de>

	* include/std/std_streambuf.h (__copy_streambufs): Remove
	the first, unused, basic_ios<> parameter.
	* src/streambuf-inst.cc: Likewise.
	* include/bits/streambuf.tcc: Likewise.
	* include/bits/istream.tcc (operator>>(__streambuf_type*)):
	Tweak accordingly the call.
	* include/bits/ostream.tcc (operator<<(__streambuf_type*)):
	Likewise.

	* include/bits/streambuf.tcc (__copy_streambufs): Remove
	redundant try/catch.

2003-11-26  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/9371
	PR libstdc++/9546
	PR libstdc++/10093
	PR libstdc++/10095
	* include/bits/basic_ios.h (basic_ios::setstate): Elide if goodbit.
	(basic_ios::_M_setstate): Consolidate common error handling code.
	* include/bits/basic_ios.tcc: Tweak.
	* include/bits/fstream.tcc: Tweak.
	* include/bits/istream.tcc: Use _M_setstate for common exception
	handling. Move setstate calls after catch.
	(basic_istream::tellg): Check for exceptions thrown by streambuf
	virtual functions.
	(basic_istream::seekg): Same.
	* include/bits/ostream.tcc: Same, but for ostream.
	(basic_ostream::flush): Check for exceptions thrown by streambuf
	virtual functions.
	(basic_istream::tellp): Same.
	(basic_istream::seekp): Same.
	* include/bits/locale_facets.tcc: Tweak.
	* include/bits/streambuf.tcc: Tweak.
	(__copy_streambufs): Propagate exceptions.
	* testsuite/testsuite_io.h (fail_streambuf): New.
	(fail_num_get): New.
	(fail_num_put): New.
	(facet_error): New.
	(underflow_error): New.
	(overflow_error): New.
	(positioning_error): New.
	* testsuite/27_io/basic_istream/exceptions/char/9561.cc: Tweak.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/
        exceptions_badbit_throw.cc, exceptions_failbit.cc,
        exceptions_failbit_throw.cc: New.
	* testsuite/27_io/basic_istream/extractors_other/char/
	error_failbit.cc, exceptions_badbit_throw.cc,
        exceptions_failbit_throw.cc, exceptions_null.cc: New.
	* testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc:
	New.
	* testsuite/27_io/basic_istream/tellg/char/exceptions_badbit_throw.cc:
	New.
	* testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc:
	New.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/
	exceptions_badbit_throw.cc, exceptions_failbit_throw.cc: New.
	* testsuite/27_io/basic_ostream/inserters_other/char/
	error_failbit.cc, exceptions_badbit_throw.cc,
        exceptions_failbit_throw.cc, exceptions_null.cc: New.
	* testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc:
	New.
	* testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc:
	New.

2003-11-26  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/12297
	* include/bits/istream.tcc
	(basic_istream::sentry::sentry): Set failbit and eofbit when eof.
	* testsuite/27_io/basic_istream/sentry/char/12297.cc: New.

2003-11-26  Paolo Carlini  <pcarlini@suse.de>
	    Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/13171
	* include/bits/fstream.tcc (imbue): Relax the conditions under
	which the function succeeds: allow for two consecutive calls with
	the same name; state dependent encodings are ok even after open
	if at the beginning of the file; don't check seekoff return value
	(pipes, cin, cout, etc...)
	* testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: New.
	* testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: New.
	* testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc: New.
	* testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: New.
	* testsuite/27_io/basic_filebuf/imbue/char/2.cc: Tweak comment.
	* testsuite/27_io/basic_filebuf/imbue/char/3.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Tweak comment.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: Likewise.

	* testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: More
	correctly use the UTF-8 locale appearing in the PR.

2003-11-26  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.h
	(__numpunct_cache<>::_M_cache): Avoid zeroing _M_grouping,
	_M_truename and _M_falsename: the constructor always does
	it immediately before the _M_cache call.

2003-11-25  Paolo Carlini  <pcarlini@suse.de>

	* config/locale/gnu/codecvt_members.cc (codecvt::do_length):
	Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the
	former is very fast, but stops if encounters a NUL.
	(codecvt::do_out): Tweaks.
	(codecvt::do_in): Tweaks, improve the code dealing with errors.
	* testsuite/performance/wchar_t_length.cc: New.

2003-11-24  Paolo Carlini  <pcarlini@suse.de>

	* config/locale/gnu/codecvt_members.cc (codecvt::do_in):
	Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the
	former is very fast, but stops if encounters a NUL.
	(codecvt::do_out): Tweak.
	* testsuite/performance/wchar_t_in.cc: New.

2003-11-24  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.h
	(__numpunct_cache<>::_M_cache): Set _M_allocated at the beginning
	in order to avoid memory leaks; simplify a bit.

2003-11-24  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/streambuf_iterator.h (ostreambuf_iterator): Remove
	non-standard throw specs.
	* testsuite/24_iterators/istreambuf_iterator.cc: Split into...
	* testsuite/24_iterators/istreambuf_iterator/1.cc
	* testsuite/24_iterators/istreambuf_iterator/2.cc
	* testsuite/24_iterators/istreambuf_iterator/2627.cc
	* testsuite/24_iterators/ostreambuf_iterator.cc: Split into...
	* testsuite/24_iterators/ostreambuf_iterator/1.cc
	* testsuite/24_iterators/ostreambuf_iterator/2.cc

	* testsuite/24_iterators/reverse_iterator/1.cc: Just compile,
	don't link.

	* include/bits/allocator.h: Formatting tweak.

2003-11-24  Paolo Carlini  <pcarlini@suse.de>

	* src/locale_init.cc: Cosmetic reformatting.

2003-11-23  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (__add_grouping):
	Cosmetic reformatting.

2003-11-23  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (_M_extract_float,
	_M_extract_int): Remove a wrong comment and simplify
	the corresponding code using char_traits::find().

2003-11-22  Paolo Carlini  <pcarlini@suse.de>

	* config/locale/gnu/monetary_members.cc
	(money_base::_S_construct_pattern): Factor out two assignments.

2003-11-22  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/istream.tcc (getline(basic_string<>&)):
        Fix error in comment of the previous commit.

2003-11-22  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/12593
	* include/bits/istream.tcc (operator>>(basic_string<>&),
	getline(basic_string<>&)): Implement resolution of DR 91 [WP];
	fix some minor issues with the exit conditions.
	* docs/html/ext/howto.html: Add an entry for DR 91.

2003-11-21  Paolo Carlini  <pcarlini@suse.de>

	* config/locale/gnu/monetary_members.cc
	(money_base::_S_construct_pattern): Factor out an assignment.

2003-11-21  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/12882 (partial)
	* acinclude.m4 (GLIBCXX_CHECK_LFS): Check fseeko64
	and ftello64 too.
	* include/ext/stdio_sync_filebuf.h (seekoff): Use fseeko64
	and ftello64 if available.
	* aclocal.m4: Regenerate.
	* configure: Ditto.

2003-11-20  Benjamin Kosnik  <bkoz@redhat.com>

	* include/debug/formatter.h: Use _Tp as template argument.
	* src/debug.cc: Same, instantiate std::size_t.

2003-11-20  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/13109
	* include/debug/formatter.h (_Error_formatter::_M_format_word): New.
	* src/debug.cc (__gnu_debug): Format.
	(_Error_formatter::_M_format_word): Define, use, instantiate.

2003-11-20  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/11602
	* config/locale/gnu/codecvt_members.cc (codecvt::do_out):
	Rewrite, using both wcsnrtombs and wcrtomb in a loop: the
	former is very fast, but stops if encounters a NUL.
	* testsuite/performance/wchar_t_out.cc: New, from the PR.

2003-11-19  Paolo Carlini  <pcarlini@suse.de>

	* config/locale/gnu/codecvt_members.cc (do_out): If
	we can upper bound the total number of external chars
	to something smaller than __to_end - __to, avoid the
	temporary buffer, the memcopy and simplify the loop.
	* config/locale/generic/codecvt_members.cc (do_out):
	Likewise.

2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>

	* testsuite/lib/libstdc++.exp: Add DYLD_LIBRARY_PATH for darwin.
	* testsuite/libstdc++-dg/normal.exp: Add -multiply_defined suppress
	flag.

2003-11-18  Jonathan Wakely  <redi@gcc.gnu.org>

	* docs/html/configopts.html, docs/html/debug.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: Add <link> tags.

2003-11-18  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/12868
	* include/bits/fstream.tcc (imbue): For encodings != -1 it's
	always ok to imbue a new locale, provided seekoff(0, cur, ...)
	doesn't fail, of course.
	(underflow): In order for the above to work, deal gracefully
	with _M_codecvt->in returning codecvt_base::error while
	(__ilen = __iend - this->eback()) > 0: it just means __ilen
	correctly converted internal characters before an error.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: New.

2003-11-17  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc: Fix typo in comment.

2003-11-17  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/22_locale/num_put/put/char/8.cc: New test,
	summarizing the discussion ensuing libstdc++/12988.
	* testsuite/22_locale/num_put/put/wchar_t/8.cc: Ditto.

2003-11-15  Paolo Carlini  <pcarlini@suse.de>

	* include/std/std_fstream.h: Tweak a comment.

2003-11-15  Roger Sayle  <roger@eyesopen.com>

	* include/c_std/std_cmath.h: Don't import C99's float transcendentals
	into the __gnu_cxx::__c99_binding namespace.
	(acos, asin, atan, atan2, ceil, cosh, exp, floor, fmod, frexp,
	ldexp, log, log10, modf, pow, sinh, tan, tanh): Implement using
	GCC's math builtins, i.e. __builtin_foo.
	* libmath/stubs.c (acosf, acosl, asinf, asinl, atanf, atanl,
	ceilf, ceill, floorf, floorl, fmodf, fmodl, frexpf, frexpl,
	ldexpf, ldexpl, modff, modfl): Provide stub implementations.

2003-11-14  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/22_locale/locale/cons/12352.cc: Use
	__gnu_test::try_named_locale.

2003-11-14  Paolo Carlini  <pcarlini@suse.de>

	* docs/html/ext/howto.html: Add entries for DR 63, 75
	and 305; tweak entries for DR 60 and 328.

2003-11-13  Douglas Gregor  <gregod@cs.rpi.edu>

	* docs/html/debug.html: Users are allowed to specialize in
	namespace __gnu_debug, unlike in the Apple version of the debug
	mode. Clear up a confusing double-negative. Note that
	std::basic_string does provide extra debugging capabilities, but
	not safe iterators.
	* include/bits/basic_string.tcc: Make sure there's never an
	ambiguity when calling __is_null_pointer.
	* include/debug/deque: (deque::erase) Properly handle invalidation
	when erasing at the end of the deque.
	* include/debug/vector: (vector::swap): Swap _M_guaranteed_capacity.
	(vector::clear): Set the guaranteed capacity to 0.
	* testsuite/23_containers/deque/invalidation/4.cc: (test04): Test
	iterator invalidation when erasing at the end of the deque.

2003-11-13  Paolo Carlini  <pcarlini@suse.de>
	    Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/13007
	* include/bits/fstream.tcc (imbue): Don't touch the stored
	locale.
	* include/std/std_streambuf.h (imbue): According to the
	standard, base class version does nothing.
	(pubimbue): Store the locale.
	* testsuite/27_io/basic_filebuf/imbue/char/13007.cc: New.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: New.
	* testsuite/27_io/basic_filebuf/imbue/char/2.cc: Tweak.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
	* testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc: New.
	* testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: New.
	* testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc: New.
	* testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: New.

2003-11-13  Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/12594
	* include/bits/ostream.tcc
	(basic_ostream::operator<<(basic_ostream& (*)(basic_ostream&)),
	basic_ostream::operator<<(basic_ios& (*)(basic_ios&)),
	basic_ostream::operator<<(ios_base& (*)(ios_base&))):
	Implement the resolution of DR 60 (TC): These are not formatted
	output functions so don't construct sentry objects and don't
	catch exceptions.
	(basic_ostream::put, basic_ostream::write): Implement the
	resolution of DR 63 (TC) by catching exceptions and setting
	badbit.
	(basic_ostream::flush): Implement the resolution of DR 60 (TC):
	This is not an unformatted output function so don't construct
	a sentry object.
	* testsuite/testsuite_io.h (sync_streambuf): Define.
	* testsuite/27_io/basic_ostream/flush/char/2.cc: New test.
	* testsuite/27_io/basic_ostream/inserters_other/char/5.cc: New test.
	* testsuite/27_io/basic_ostream/put/char/1.cc: New test.
	* testsuite/27_io/basic_ostream/write/char/1.cc: New test.

2003-11-13  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1:
	Fix, closely following the testcase included in the PR.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2: Ditto.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3: Ditto.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4: Ditto.

2003-11-13  Jonathan Wakely <redi@gcc.gnu.org>

	* docs/html/17_intro/configury.html: XHTML tweak.

2003-11-13  Jonathan Wakely <redi@gcc.gnu.org>

	* docs/html/debug_mode.html: XHTML fixes.

2003-11-12  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/html/debug_mode.html: Update.
	* docs/html/17_intro/TODO: Update.

2003-11-12  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/c++config: Move using directive...
	* include/debug/formatter.h: ...here.

2003-11-12  Carlo Wood  <carlo@alinoe.com>

        PR libstdc++/12947
	* bits/demangle.h
	(_GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS): Added.
	(_GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME): Added.
	(session<Allocator>::next_peek() const): Added.
	(decode_non_negative_decimal_integer(string_type&)):
	Renamed from decode_decimal_integer(string_type&).
	(session<Allocator>::decode_nested_name):
	Decode <template_param> as well.
	(session<Allocator>::add_substitution):
	Handle <template-param> for <nested-name>'s.
	(enum xary_nt): Added.
	(struct entry_st): Added member `xary_nt type' instead of `bool unary'.
	(symbol_name_table_c): Updated for `entry_st::type' and additional
	operators (unary `operator+' and `sizeof(type)').
	(offset_table_c): Updated for new operators (causing a new hash map).
	(decode_operator_name): Match the updated hash map.
	(session<Allocator>::decode_expression):
	Support for `sizeof ([typename] type)' (st),
	dependent names (sr) and casting operator (cv).  Handle
	`entry_st::type'.  Handle _GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS
	and _GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME.
	(session<Allocator>::decode_type_with_postfix):
	Support `extern "C"' function types (FY).
	* testsuite/demangle/regression/cw-16.cc: Added tests for the
	added functionality.
	* testsuite/demangle/regression/3111-2.cc: sizeof now has a space
	appended.

2003-11-11  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/12875
	* include/bits/fstream.tcc (setbuf): Don't do anything
	after open(), in particular don't discard data.
	(_M_allocate_internal_buffer): Tweak to not allocate memory
	in case the buffer is provided by the user via setbuf.
	* include/ext/stdio_filebuf.h: Tweak comment.
	* testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc: New.
	* testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/setbuf/char/2.cc: Tweak, now
	setbuf does nothing after open().
	* testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Likewise.

2003-11-11  Doug Gregor  <gregod@cs.rpi.edu>

	* docs/html/debug.html: Document libstdc++ debug mode.
	* docs/html/debug_mode.html: Document libstdc++ debug mode design.
	* docs/html/test.html: Document how to test under debug mode.
	* docs/html/17_intro/howto.html: Document debug-mode macros.
	* include/Makefile.am: Install debug-mode headers.
	* src/Makefile.am: Include debug.cc.
	* include/bits/basic_string.tcc:
	(basic_string::_S_construct): Fix NULL pointer check.
	(__is_null_pointer): New.
	Add precondition annotations.
	* include/bits/stream_iterator.h (istream_iterator,
	ostream_iterator): Added precondition annotations.
	* include/bits/streambuf_iterator.h (istreambuf_iterator): Ditto.
	* include/bits/stl_queue.h (queue, priority_queue): Ditto.
	* include/bits/stl_stack.h (stack): Ditto.
	* include/bits/basic_string.h (basic_string): Ditto.
	* include/bits/basic_string.tcc (basic_string): Ditto.
	* include/std/std_memory.h (auto_ptr): Ditto.
	* include/std/std_valarray.h (valarray): Ditto.
	* include/bits/stl_algo.h: Added algorithm precondition
	annotations.
	* include/bits/stl_algobase.h: Added algorithm precondition
	annotations.
	* include/bits/stl_numeric.h: Ditto.
	* include/ext/algorithm: Added algorithm precondition
	annotations.
	(__is_heap): Moved away from here.
	* include/bits/stl_heap.h: Added algorithm precondition
	annotations.
	(__is_heap): Moved to the top of this file.
	(__is_heap): Added iterator range overloads.
	* testsuite/20_util/auto_ptr_neg.cc: Fix line numbers to match up
	with changes in std_memory.h.
	* testsuite/23_containers/list/operators/4.cc: Don't verify
	performance guarantees when in debug mode.
	* testsuite/23_containers/bitset/invalidation/1.cc: New.
	* testsuite/23_containers/deque/invalidation/1.cc: New.
	* testsuite/23_containers/deque/invalidation/2.cc: New.
	* testsuite/23_containers/deque/invalidation/3.cc: New.
	* testsuite/23_containers/deque/invalidation/4.cc: New.
	* testsuite/23_containers/list/invalidation/1.cc: New.
	* testsuite/23_containers/list/invalidation/2.cc: New.
	* testsuite/23_containers/list/invalidation/3.cc: New.
	* testsuite/23_containers/list/invalidation/4.cc: New.
	* testsuite/23_containers/map/invalidation/1.cc: New.
	* testsuite/23_containers/map/invalidation/2.cc: New.
	* testsuite/23_containers/multimap/invalidation/1.cc: New.
	* testsuite/23_containers/multimap/invalidation/2.cc: New.
	* testsuite/23_containers/multiset/invalidation/1.cc: New.
	* testsuite/23_containers/multiset/invalidation/2.cc: New.
	* testsuite/23_containers/set/invalidation/1.cc: New.
	* testsuite/23_containers/set/invalidation/2.cc: New.
	* testsuite/23_containers/vector/invalidation/1.cc: New.
	* testsuite/23_containers/vector/invalidation/2.cc: New.
	* testsuite/23_containers/vector/invalidation/3.cc: New.
	* testsuite/23_containers/vector/invalidation/4.cc: New.
	* testsuite/25_algorithms/heap.cc: Don't verify
	performance guarantees when in debug mode.
	* include/debug/bitset: New.
	* include/debug/debug.h: New.
	* include/debug/deque: New.
	* include/debug/formatter.h: New.
	* include/debug/hash_map: New.
	* include/debug/hash_map.h: New.
	* include/debug/hash_multimap.h: New.
	* include/debug/hash_set: New.
	* include/debug/hash_set.h: New.
	* include/debug/hash_multiset.h: New.
	* include/debug/list: New.
	* include/debug/map: New.
	* include/debug/map.h: New.
	* include/debug/multimap.h: New.
	* include/debug/multiset.h: New.
	* include/debug/safe_base.h: New.
	* include/debug/safe_iterator.h: New.
	* include/debug/safe_iterator.tcc: New.
	* include/debug/safe_sequence.h: New.
	* include/debug/set: New.
	* include/debug/set.h: New.
	* include/debug/string: New.
	* include/debug/vector: New.
	* src/debug.cc: New.
	* config/linker-map.gnu: Add debug mode symbols.

2003-11-11  Benjamin Kosnik  <bkoz@redhat.com>

	* src/string-inst.cc: Tweak namespaces.
	* src/misc-inst.cc: Same.
	* docs/html/debug.html: Edits.
	* config/link-map.gnu: Remove cruft.

	* include/bits/c++config: Add in namespace associations.
	* include/std/std_bitset.h: Adjust namespace to __gnu_norm,
	comment tweaks.
	* include/bits/deque.tcc: Same.
	* include/bits/list.tcc: Same.
	* include/bits/stl_bvector.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/stl_list.h: Same.
	* include/bits/stl_map.h: Same.
	* include/bits/stl_multimap.h: Same.
	* include/bits/stl_multiset.h: Same.
	* include/bits/stl_set.h: Same.
	* include/bits/stl_vector.h: Same.
	* include/bits/vector.tcc: Same.

	* include/std/std_algorithm.h: Remove markup comments.
	* include/std/std_functional.h: Same.
	* include/std/std_iterator.h: Same.
	* include/std/std_numeric.h: Same.
	* include/std/std_utility.h: Same.
	* include/bits/stl_queue.h: Formatting tweaks.
	* include/bits/stl_stack.h: Same.
	* include/std/std_deque.h: Include debugging version in debug mode.
	* include/std/std_list.h: Same.
	* include/std/std_map.h: Same.
	* include/std/std_set.h: Same.
	* include/std/std_vector.h: Same.
	* include/std/std_queue.h: Use deque, vector.
	* include/std/std_stack.h: Same.

2003-11-09  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (_M_insert_int,
	_M_insert_float): Move a couple of vars inside an if block.

2003-11-09  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/12971
	* include/bits/locale_facets.tcc
	(money_put::do_put(..., long double)): Fix conversion
	specification as per DR 328 [WP].
	* testsuite/22_locale/money_put/put/char/12971.cc: Add.
	* testsuite/22_locale/money_put/put/wchar_t/12971.cc: Ditto.
	* docs/html/ext/howto.html: Add entry for DR 328.

2003-11-08  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/12967
	* include/bits/list.tcc (merge): Implement resolution of
	DR 300 [WP].
	* docs/html/ext/howto.html: Add entry for DR 300; tweak entry
	for DR 231.

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

2003-11-07  Jonathan Wakely  <redi@gcc.gnu.org>

	* libsupc++/vec.cc: Conform to C++STYLE.

2003-11-07  Carlo Wood  <carlo@alinoe.com>

	PR libstdc++/12736
	* bits/demangle.h (qualifier_list<Allocator>::decode_KVrA): Added.
	(qualifier_list<Allocator>::decode_qualifiers): Collect concatenated
	K, V, r and A qualifiers before processing them as a group.
	* testsuite/demangle/abi_text/01.cc: Reordered CV-qualifiers.
	* testsuite/demangle/regression/cw-16.cc: New.

2003-11-07  Robert Millan  <robertmh@gnu.org>

	* configure.host: Add kfreebsd*-gnu and knetbsd*-gnu.
	* crossconfig.m4: Likewise.
	* configure: Regenerate.

2003-11-07  Carlo Wood  <carlo@alinoe.com>

	* include/bits/demangle.h
	(qualifier_list<Allocator>::decode_qualifiers(string_type&,
	string_type&, bool member_function_pointer_qualifiers):
	Always separate the '[' of an array type with a space from
	what is left of it, except when that is the closing bracket
	of another array dimension.

2003-11-07  Carlo Wood  <carlo@alinoe.com>

	* include/bits/demangle.h
	(qualifier_list<Allocator>::decode_qualifiers(string_type&,
	string_type&, bool) const): Made const.
	(qualifier_list<Allocator>::M_printing_suppressed): Added mutable.
	(_GLIBCXX_DEMANGLER_DOUT_ENTERING3, _GLIBCXX_DEMANGLER_RETURN3,
	std::ostream& operator<<(std::ostream&, qualifier const&),
	std::ostream& operator<<(std::ostream&, qualifier_list const&),
	qualifier_list<Allocator>::decode_qualifiers(string_type&,
	string_type&, bool) const,
	session<Allocator>::decode_type_with_postfix(string_type&,
	string_type&, qualifier_list<Allocator>*))
	Added and/or changed debug-only hooks and code.

2003-11-04  Jeffrey D. Oldham  <oldham@codesourcery.com>

	* libsupc++/vec.cc (__cxa_vec_delete2): If given a NULL pointer,
	immediately return.  This reflects a C++ ABI change 2003 Nov 03.
	(__cxa_vec_delete3): Likewise.

2003-11-03  Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/12790
	* include/bits/fstream.tcc: Delete _M_last_overflowed.
	(basic_filebuf::basic_filebuf): Initialize _M_state_last.
	(basic_filebuf::open, basic_filebuf::close): Assign
	_M_state_beg to _M_state_cur and _M_state_last.
	(basic_filebuf::close): Call _M_terminate_output to handle
	unshift and flushing.
	(basic_filebuf::underflow): Assign _M_state_last, throw
	exception instead of calling abort when codecvt::max_length()
	is bad.
	(basic_filebuf::seekoff): Use _M_state_last when calling
	codecvt::length(), pass correct state to _M_seek.
	(basic_filebuf::seekpos): Pass __pos.state() to _M_seek.
	(basic_filebuf::_M_seek): Add __state_type parameter,
	set _M_state_cur correctly, store the resulting state in
	the return value and use _M_terminate_output to handle
	flushing and unshift.
	(basic_filebuf::_M_terminate_output): Flush contents of
	output buffer, if any, then call codecvt::unshift as
	needed and output the result.
	(basic_filebuf::sync): Move here, don't modify _M_writing
	or _M_reading.

	* include/std/std_fstream.h
	(basic_filebuf::_M_state_last): Declare it.
	(basic_filebuf::_M_last_overflowed): Delete.
	(basic_filebuf::_M_seek): Add __state_type parameter.
	(basic_filebuf::sync): Declare only.
	(basic_filebuf::_M_output_unshift): Delete.
	(basic_filebuf::_M_terminate_output): Declare it.

	* testsuite/testsuite_character.h:
	Define character class and state class plus char_traits and
	codecvt specializations for same for testing support for
	stateful encodings.

	* testsuite/27_io/basic_filebuf/close/12790-1.cc,
	* testsuite/27_io/basic_filebuf/close/char/12790-1.cc,
	* testsuite/27_io/basic_filebuf/close/char/12790-2.cc,
	* testsuite/27_io/basic_filebuf/close/char/12790-3.cc,
	* testsuite/27_io/basic_filebuf/close/char/12790-4.cc,
	* testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc,
	* testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc,
	* testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc,
	* testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc,
	* testsuite/27_io/basic_filebuf/open/12790-1.cc,
	* testsuite/27_io/basic_filebuf/seekoff/12790-1.cc,
	* testsuite/27_io/basic_filebuf/seekoff/12790-2.cc,
	* testsuite/27_io/basic_filebuf/seekoff/12790-3.cc,
	* testsuite/27_io/basic_filebuf/seekoff/12790-4.cc,
	* testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc,
	* testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc,
	* testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc,
	* testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc,
	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc,
	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc,
	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc,
	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc,
	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc,
	* testsuite/27_io/basic_filebuf/seekpos/12790-1.cc,
	* testsuite/27_io/basic_filebuf/seekpos/12790-2.cc,
	* testsuite/27_io/basic_filebuf/seekpos/12790-3.cc,
	* testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc,
	* testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc,
	* testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc,
	* testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc,
	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc,
	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc,
	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc,
	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc,
	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc,
	* testsuite/27_io/basic_filebuf/sync/char/1.cc,
	* testsuite/27_io/basic_filebuf/sync/wchar_t/1.cc:
	New tests.

	* testsuite/27_io/basic_filebuf/3.cc,
	* testsuite/27_io/basic_filebuf/seekoff/10132-2.cc,
	* testsuite/27_io/basic_filebuf/seekpos/10132-3.cc,
	* testsuite/27_io/basic_fstream/3.cc,
	* testsuite/27_io/basic_ifstream/3.cc,
	* testsuite/27_io/basic_ofstream/3.cc:
	Use streamoff as off_type and fpos<state_type> as pos_type.

	* testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc,
	* testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc:
	Check that sync does *not* set _M_writing to false.

2003-11-03  Anthony Green  <green@redhat.com>

	* libmath/stubs.c (sqrtf, sqrtl): Reorder so they appear before
	they're used.

2003-11-03  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.h (time_get::_M_extract_name): Add
	ctype argument.
	* include/bits/locale_facets.tcc: Same, use it to allow
	capitalized names.

	* include/bits/fstream.tcc: Spacing tweak.
	* include/bits/istream.tcc: Same.
	* include/bits/ostream.tcc: Same.

2003-10-30  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
	__mod is only assigned, never used its value, remove it.

2003-10-29  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (time_get::do_get_year):
	Absolutely avoid dereferencing end iterators.
	(time_put::put): Minor clean up.

	* include/bits/locale_facets.tcc: Cosmetic reformattings.

2003-10-29  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_get::_M_extract_float):
	Revert the last commit, is not correct, sorry.

2003-10-29  Paolo Carlini  <pcarlini@suse.de>

	* config/locale/generic/c_locale.cc: Add back <cmath> and
	<cstdlib>.

	* include/bits/locale_facets.tcc (num_get::_M_extract_float):
	Clean up.

2003-10-29  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (time_put::put): Absolutely
	avoid dereferencing end iterators; clean up.

	* include/bits/locale_facets.tcc (num_get::_M_extract_float,
	num_get::_M_extract_int): Minor tweak.

2003-10-29  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc: Remove some unnecessary
	includes.
	* config/locale/generic/c_locale.cc: Include <cerrno> here.
	* config/locale/gnu/c_locale.cc: Likewise.

2003-10-28  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc
	(money_get<>::do_get(..., string_type&)): Absolutely avoid
	dereferencing end iterators; general clean up.

2003-10-28  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (time_get::_M_extract_num):
	Absolutely avoid dereferencing end iterators.
	(time_get::_M_extract_name): Likewise.

	* include/bits/locale_facets.tcc
	(time_get::_M_extract_via_format, case 'e'): Don't try to
	be smart wrt returning the right __beg in case of parse
	error, time_get::_M_extract_num must be fixed instead.

2003-10-27  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/12778
	* acinclude.m4 (GLIBCXX_CHECK_LFS): Use the C++ compiler.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2003-10-27  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/html/17_intro/TODO: Add links.
	* testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
	Uncomment.

2003-10-27  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/12750
	* include/bits/locale_facets.tcc
	(time_get::_M_extract_via_format): Deal with code 'e'.
	* testsuite/22_locale/time_get/get_date/char/12750.cc: New.
	* testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Ditto.

	* include/bits/locale_facets.tcc
	(time_get::_M_extract_via_format): Tweak to absolutely avoid
	dereferencing end iterators.

	* include/bits/locale_facets.h (__verify_grouping):
	Const-ify second parameter.
	* include/bits/locale_facets.tcc (__verify_grouping): Ditto.
	* src/locale-inst.cc (__verify_grouping): Ditto.

2003-10-27  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_get::_M_extract_float):
	Various things: 1- Avoid absolutely end iterator dereferences;
	2- Improve performance-wise the code skipping leading zeros;
	3- Fix two bugs wrt early bail out in case of parsing errors
	(see testcases); 4- General clean up.
	(num_get::_M_extract_int): Likewise, except 3-. Additionally,
	use __builtin_expect to favor base 10 inputs.
	* testsuite/22_locale/num_get/get/char/7.cc: New.
	* testsuite/22_locale/num_get/get/wchar_t/7.cc: Ditto.

2003-10-26  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/22_locale/money_put/put/char/1.cc: Clean up.
	* testsuite/22_locale/money_put/put/wchar_t/1.cc: Ditto.

2003-10-25  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_get::_M_extract_int):
	__pos in only incremented, never used its value, remove it.

2003-10-24  Robert Millan  <robertmh@gnu.org>

	* acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Add kfreebsd*-gnu
	and knetbsd*-gnu.
	* aclocal.m4:  Regenerated.
	* configure:  Regenerated.

2003-10-24  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (money_get::do_get(...,
	long double&): Properly size the temporary buffer.
	* testsuite/22_locale/money_get/get/char/11.cc: New.
	* testsuite/22_locale/money_get/get/wchar_t/11.cc: Ditto.

	* include/bits/locale_facets.tcc (num_put::_M_group_int,
	num_put::_M_group_float, money_put::do_put(..., const
	string_type&), collate::do_compare, collate::do_transform):
	Prefer basic_string::data() to c_str() when the '\0'
	terminator is not really needed.

2003-10-24  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (__verify_grouping):
	Prefer '=' to an unnecessary '&='.

2003-10-24  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_ios.tcc (copyfmt(const basic_ios&)):
	Tweak my fix for libstdc++/12657.

2003-10-24  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (money_get::do_get(...,
	string_type&): Minor tweak to the previous commit.

2003-10-24  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (money_get::do_get(...,
	string_type&): Disregard the previous commit: doesn't hurt but
	doesn't accomplish anything useful either. This is the right
	one, speeding up greatly the function in case of early fail.

2003-10-24  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (money_get::do_get(...,
	string_type&): Move an if block, thus minimizing the amount
	of code processed anyway when __tmp_units.size() == 0.

2003-10-24  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc
	(time_get<>::_M_extract_via_format): Deal with case 'C' too,
	equivalent to 'y'.

2003-10-23  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/html/documentation.html: Add a pointer to the doxygen style
	guide.
	* docs/html/17_intro/TODO: Update.
	* docs/html/test.html: Add instructions for running a subset of
	tests, update.

2003-10-23  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (money_get<>::do_get(...,
	string_type&)): Use find_first_not_of to strip leading
	zeros; if __tmp_units == "0" never prefix it with '-';
	always fail if __tmp_units is empty.
	* testsuite/22_locale/money_get/get/char/10.cc: New.
	* testsuite/22_locale/money_get/get/wchar_t/10.cc: Ditto.

2003-10-23  Phil Edwards  <phil@codesourcery.com>

	* config/os/vxworks/ctype_noninline.h:  Adjust ctor to match
	2003-10-21 change.

2003-10-22  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (__int_to_char): Remove
	the const int parameter.
	(_M_insert_int): Update caller.
	* src/locale-inst.cc (__int_to_char): Update instantiations.

2003-10-22  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.h: Correct byname facets for "C"
	locale.
	* config/locale/generic/ctype_members.cc: Same.
	* config/locale/generic/messages_members.h: Same.
	* config/locale/gnu/ctype_members.cc: Same.
	* config/locale/gnu/messages_members.h: Same.
	* include/bits/codecvt.h: Same.
	* src/ctype.cc: Same.
	* testsuite/22_locale/codecvt_byname/1.cc: New.
	* testsuite/22_locale/collate/1.cc: Edit.
	* testsuite/22_locale/collate_byname/1.cc: Derivation tests, move to...
	* testsuite/22_locale/collate_byname/named_equivalence.cc: ...here.
	* testsuite/22_locale/ctype/1.cc: Derivation tests.
	* testsuite/22_locale/ctype/11844.cc: Move...
	* testsuite/22_locale/ctype_base/11844.cc: ...here.
	* testsuite/22_locale/ctype_base/1.cc: Move mask bits here.
	* testsuite/22_locale/ctype_byname/1.cc: Name.
	* testsuite/22_locale/messages_byname/1.cc: New.
	* testsuite/22_locale/messages_byname/named_equivalence.cc: New.
	* testsuite/22_locale/moneypunct_byname/1.cc: Derivation test.
	* testsuite/22_locale/moneypunct_byname/named_equivalence.cc: New.
	* testsuite/22_locale/numpunct/1.cc: Edit.
	* testsuite/22_locale/numpunct_byname/2.cc: Move...
	* testsuite/22_locale/numpunct/members/char/3.cc: ...here.
	* testsuite/22_locale/numpunct_byname/1.cc: Derivation tests.
	* testsuite/22_locale/numpunct_byname/named_equivalence.cc: New.

2003-10-22  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/8610
	* acinclude.m4 (GLIBCXX_CHECK_INT64_T): New macro,
	checking for the availability of int64_t.
	(GLIBCXX_CHECK_LFS): New macro, checking for LFS support.
	* configure.ac: Call here.
	* acconfig.h: Add undef for the corresponding symbols.
	* config/io/basic_file_stdio.cc	(__basic_file<char>::open):
	Depending on _GLIBCXX_USE_LFS, call fopen64 or fopen.
	(__basic_file<char>::seekoff): Likewise, call lseek64 when
	available, otherwise lseek, checking the __off parameter.
	* include/bits/postypes.h: Typedef __streamoff_base_type
	to int64_t if available, otherwise long long.
	* aclocal.m4: Regenerate.
	* config.h.in: Likewise.
	* configure: Likewise.

	* acinclude.m4 (GLIBCXX_CHECK_POLL, GLIBCXX_CHECK_WRITEV):
	Use AC_TRY_LINK instead of AC_TRY_COMPILE.

2003-10-22  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/12657
	* include/bits/basic_ios.tcc (copyfmt(const basic_ios&)):
	Implement resolution of DR 292 (WP).
	* docs/html/ext/howto.html: Add entry for DR 292.

2003-10-21  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/mt_allocator.h: Change include to gthr.h.
	* include/ext/rope: Same. Add _Refcount_base definitions.
	* include/ext/pool_allocator.h: Adjust namespaces.
	* include/bits/stl_threads.h (_Refcount_base): Move.
	Put remaining into namespace __gnu_cxx.

2003-10-21  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/9858
	* include/bits/locale_facets.h (ctype<char>): Remove
	__ctype_abstract_base.
	(ctype<char>::do_is): Remove.
	(ctype<char>::do_scan_is): Remove.
	* src/ctype.cc: Same. Inline the rest.
	* testsuite/22_locale/ctype/is/char/9858.cc: New.
	* config/os/aix/ctype_noninline.h: Adjust ctor.
	* config/os/bsd/freebsd/ctype_noninline.h: Same.
	* config/os/bsd/netbsd/ctype_noninline.h: Same.
	* config/os/djgpp/ctype_noninline.h: Same.
	* config/os/generic/ctype_noninline.h: Same.
	* config/os/gnu-linux/ctype_noninline.h: Same.
	* config/os/hpux/ctype_noninline.h: Same.
	* config/os/irix/irix5.2/ctype_noninline.h: Same.
	* config/os/irix/irix6.5/ctype_noninline.h: Same.
	* config/os/mingw32/ctype_noninline.h: Same.
	* config/os/newlib/ctype_noninline.h: Same.
	* config/os/qnx/qnx6.1/ctype_noninline.h: Same.
	* config/os/solaris/solaris2.5/ctype_noninline.h: Same.
	* config/os/solaris/solaris2.6/ctype_noninline.h: Same.
	* config/os/solaris/solaris2.7/ctype_noninline.h: Same.
	* config/os/windiss/ctype_noninline.h: Same.

2003-10-21  Paolo Carlini  <pcarlini@suse.de>

	* src/locale.cc: Tweak a comment.
	* src/localename.cc: Move a comment.

2003-10-20  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/10081
	* testsuite_hooks.h: Add pod_type, ctype and numpunct specializations.
	* testsuite_hooks.cc: Same.
	* 22_locale/numpunct/members/pod/1.cc: Edit.
	* 22_locale/numpunct/members/pod/2.cc: Same.
	* 27_io/basic_istream/sentry/char/3983-fstream.cc: Move ...
	* 27_io/basic_istream/sentry/char/3983-sstream.cc: Move ...
	* 27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc: Here.
	* 27_io/basic_istream/extractors_character/pod/3983-2.cc: Here.
	* 27_io/basic_istream/extractors_other/pod/3983-3.cc: Here.
	* 27_io/basic_ostream/sentry/char/3983-fstream.cc: Remove.
	* 27_io/basic_ostream/sentry/char/3983-sstream.cc: Remove.
	* 27_io/basic_istream/sentry/pod/1.cc: New.
	* 27_io/basic_ostream/sentry/pod/1.cc: New.
	* 21_strings/basic_string/inserters_extractors/pod/10081-in.cc: New.
	* 21_strings/basic_string/inserters_extractors/pod/10081-out.cc: New.

2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* config/cpu/mips/atomicity.h (__atomic_add): Use _ABIO32 instead
	of external _MIPS_SIM_ABI32.

2003-10-20  Phil Edwards  <phil@codesourcery.com>

	* configure.ac:  Fix comment typo.
	* configure.host:  Add vxworks to host_os switch.
	* crossconfig.m4:  Remove old commented os_include_dir variables
	left over from autotools transition.
	(*-vxworks):  New stanza.
	(*-windiss):  Add missing symbols.
	* configure:  Regenerate.
	* config/os/vxworks/ctype_base.h, config/os/vxworks/ctype_inline.h,
	config/os/vxworks/ctype_noninline.h, config/os/vxworks/os_defines.h:
	New files.
	* config/os/windiss/os_defines.h:  Define __C9X__.

2003-10-19  David Edelsohn  <edelsohn@gnu.org>

	PR other/12506
	* configure.host (aix4,aix*): Define os_include_dir to os/generic.

2003-10-18  Andreas Tobler  <a.tobler@schweiz.ch>

	* src/locale.cc (locale::_S_initialize): Re-apply workaround a
	confusion of the use of the gthr API when __gthread_active_p()
	returns true.

2003-10-17  Benjamin Kosnik  <bkoz@redhat.com>

	* src/Makefile.am: Add new files.
	* src/Makefile.in: Regenerate.
	* src/globals.cc: Split into..
	* src/globals_io.cc: New.
	* src/globals_locale.cc: New.
	* src/ios.cc: Split into...
	* src/ios_init.cc: New.
	* src/ios_locale.cc: New.
	* src/locale-inst.cc: Split into..
	* src/wlocale-inst.cc: New.
	* src/locale-misc-inst.cc: New.
	* src/locale.cc, src/localename: Split into...
	* src/locale_facets.cc: New.
	* src/locale_init.cc: New.
	* src/wstring-inst.cc: Add copyright info.

2003-10-16  Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/11450
	PR libstdc++/11543
	PR libstdc++/12065
	* config/io/basic_file_stdio.cc (__basic_file::seekoff):
	Change return value from streampos to streamoff.
	(__basic_file::seekpos): Delete.
	* config/io/basic_file_stdio.h: Same.
	* config/io/c_io_stdio.h: Remove streamoff and wstreamsize typedefs.
	* include/Makefile.am (bits_headers): Add bits/postypes.h.
	* include/bits/char_traits.h: Include bits/postypes.h instead of
	bits/fpos.h.
	* include/bits/fstream.tcc (basic_filebuf::open,
	basic_filebuf::pbackfail): Don't use < or >= to compare pos_type
	values, use == and != instead.
	(basic_filebuf::_M_seek): Use explicit conversion from streamoff
	to pos_type.
	(basic_filebuf::imbue):  Don't use ! on pos_type values, use
	== instead. Don't use __check_facet(_M_codecvt) unless is_open().
	* include/bits/postypes.h: New file.
	Add __streamoff_base_type typedef, streamsize.
	(streamoff, streampos, wstreampos): Define typedefs, with
	streamoff defined as...
	(streamoff): New class. Document implementation defined
	aspects.
	(fpos): New implementation. Document implementation defined
	aspects.
	* include/bits/sstream.tcc (basic_stringbuf::seekpos): Use
	explicit conversion from pos_type to off_type.
	* include/std/std_iosfwd.h: Include bits/postypes.h instead
	of bits/fpos.h.
	* testsuite/27_io/basic_filebuf/seekoff/char/11543.cc: New test.
	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc: New test.
	* testsuite/27_io/fpos/11450.cc: New test.
	* testsuite/27_io/fpos/mbstate_t/12065.cc: New test.
	* testsuite/27_io/fpos/mbstate_t/4_neg.cc: New test.
	* testsuite/27_io/types/3.cc: New test.

2003-10-16  Benjamin Kosnik  <bkoz@redhat.com>

	* configure.host: Remove fpos_include_dir.
	* configure.ac: Remove FPOS_INC_SRCDIR.
	* configure: Regenerate.
	* acinclude.m4 (GLIBCXX_ENABLE_CSTDIO): Remove FPOS_H.
	* aclocal.m4: Regenerate.
	* include/Makefile.am (host_headers): Remove fpos.h.
	(bits_headers): Add postypes.h.
	* include/Makefile.in: Regenerate.
	* config/os/gnu-linux/fposh: Remove.
	* config/os/generic/fpos.h: Remove.

	* testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Fixup.
	* testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Same.
	* testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Same.
	* testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Same.
	* testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Same.
	* testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Same.
	* testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Same.
	* testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Same.
	* testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Same.
	* testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Same.
	* testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Same.
	* testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Same.
	* testsuite/27_io/basic_istream/seekg/char/2.cc: Same.
	* testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Same.
	* testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Same.
	* testsuite/27_io/fpos/mbstate_t/3.cc: Same.
	* testsuite/27_io/objects/char/10.cc: Same.

2003-10-16  Paolo Carlini  <pcarlini@suse.de>

	* src/locale.cc (locale::locale(const char*)): ... one
	more comparison missed in the previous commit.

2003-10-16  Benjamin Kosnik  <bkoz@redhat.com>

        * acconfig.h: Add HAVE_DRAND48.
	* crossconfig.m4: Remove ISATTY.
	* aclocal.m4: Regenerated.
	* config.h.in: Regenerated.
	* configure: Regenerated.

2003-10-16  Bernardo Innocenti  <bernie@develer.com>

	* config/cpu/m68k/atomicity.h (__exchange_and_add): Use TAS on
	__mcf5400__. Don't rely on __mc68000__ to detect a bare 68000.
	Document SMP safeness of asm macros.

2003-10-16  Paolo Carlini  <pcarlini@suse.de>

	* src/locale.cc (locale::locale(const char*)): Tweak
	a couple of comparisons to use basic_string operators.

2003-10-16  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/12540
	* config/locale/gnu/monetary_members.cc
	(moneypunct<wchar_t, true/false>::_M_initialize_moneypunct):
	Don't leak memory if new throws.
	* src/locale.cc (locale::locale(const char*)): In order not
	to leak memory in case new throws, use a basic_string type
	for __res too and avoid strdup.

2003-10-14  Jeff Bailey  <jbailey@nisa.net>

	PR libstdc++/12562
	* crossconfig.m4: Share the config between *-linux* and *-gnu*.
	* configure: Regenerate.

2003-10-14  Carlo Wood  <carlo@alinoe.com>

	PR libstdc++/12600
	* include/bits/demangle.h (session<Allocator>::
	  decode_unqualified_name(string_type& output)): Fail on a
	  <operator-name> when decoding <template-argument>.
	* testsuite/demangle/regression/cw-15.cc: New.

2003-10-14  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/11480
	* include/bits/stl_algo.h (unique): Fix.
	* testsuite/25_algorithms/unique.cc: Move to unique/1.cc.
	* testsuite/25_algorithms/unique/11480.cc: New, from the PR.
	* testsuite/25_algorithms/unique/2.cc: New.

2003-10-14  Paolo Carlini  <pcarlini@unitus.it>

	* src/localename.cc (_M_replace_categories, M_replace_facet):
	Const-ify a couple of variables.

2003-10-14  Petur Runolfsson  <peturr02@ru.is>
	    Andreas Tobler  <a.tobler@schweiz.ch>

	* src/locale.cc (locale::_S_initialize): Workaround a confusion
	of the use of the gthr API when __gthread_active_p() returns true.

2003-10-12  Petur Runolfsson  <peturr02@ru.is>
	    Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/11460
	* src/strstream.cc (pbackfail): Fix to use to_int_type.
	* testsuite/backward/11460.cc: New, from the PR.

2003-10-12  Paolo Carlini  <pcarlini@unitus.it>

	* config/locale/ieee_1003.1-2001/codecvt_specializations.h:
	Change #ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS to a comment.
	* include/bits/basic_string.tcc: Likewise.
	* include/bits/ios_base.h: Likewise.
	* include/bits/istream.tcc: Likewise.
	* include/bits/locale_facets.tcc: Likewise.
	* include/bits/ostream.tcc: Likewise.
	* include/bits/stl_function.h: Likewise.
	* include/bits/stl_multiset.h: Likewise.
	* include/bits/stl_pair.h: Likewise.
	* include/bits/stl_set.h: Likewise.
	* include/bits/streambuf_iterator.h
	* include/std/std_iosfwd.h: Likewise.
	* include/std/std_istream.h: Likewise.
	* include/std/std_sstream.h: Likewise.
	* include/std/std_streambuf.h: Likewise.
	* src/ios.cc: Likewise.
	* include/bits/c++config:
	Comment out #define _GLIBCXX_RESOLVE_LIB_DEFECTS 1.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Tweak a
	dg-error directive due to removal of a blank line.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.

2003-10-12  Andreas Tobler  <a.tobler@schweiz.ch>
	    Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/11844/11740 (cont)
	* config/os/generic/ctype_inline.h (ctype<char>::is):
	Generically, use a bitmasksize of 15 (instead of 10);
	Fix the logic to actually return (M & m) != 0 as per
	22.2.1.1.2.

2003-10-11  Bernardo Innocenti  <bernie@develer.com>

	* crossconfig.m4 (*-uclinux*): New target.
	* configure: Regenerate.

2003-10-10  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/ostream.tcc (operator<<(basic_ostream&, _CharT))
	Avoid unnecessarily calling __builtin_alloca and dealing
	explicitly with width() smaller than zero.
	(operator<<(basic_ostream&, char), operator<<(basic_ostream&,
	const _CharT*), operator<<(basic_ostream<_CharT, _Traits>&,
	const char*), operator<<(basic_ostream<char, _Traits>&,
	const char*), operator<<(basic_ostream, const basic_string&)):
	Likewise.

2003-10-09  Benjamin Kosnik  <bkoz@redhat.com>

	* config/linker-map.gnu: Make more *_type_info bits visible.
	Move new/delete bits back into GLIBCXX space.

	* include/bits/locale_classes.h: Move _M_id out of line, so that
	locale::id::_S_highwater can be removed from the export list.
	* src/locale.cc (locale::id::_M_id): Define.

2003-10-09  Andreas Tobler  <a.tobler@schweiz.ch>

	* testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_64 for
	SPARC64.

2003-10-09  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/11844
	* config/os/aix/ctype_base.h: Fix 'alnum' and 'graph'
	to conform to the requirements of 22.2.1.
	* config/os/bsd/freebsd/ctype_base.h: Likewise.
	* config/os/djgpp/ctype_base.h: Likewise.
	* config/os/generic/ctype_base.h: Likewise.
	* config/os/gnu-linux/ctype_base.h: Likewise.
	* config/os/hpux/ctype_base.h: Likewise.
	* config/os/irix/irix6.5/ctype_base.h: Likewise.
	* config/os/solaris/solaris2.6/ctype_base.h: Likewise.
	* config/os/solaris/solaris2.7/ctype_base.h: Likewise.
	* testsuite/22_locale/ctype/11844.cc: New.

	* config/locale/generic/ctype_members.cc (do_is):
	Generically, use a bitmasksize of 15 (instead of 10), since
	we don't know the numerical encoding of the various categories
	in the underlying /usr/include/ctype.h.

2003-10-09  Benjamin Kosnik  <bkoz@redhat.com>

	* src/string-inst.cc: Prune.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.

2003-10-09  Petur Runolfsson  <peturr02@ru.is>

	* src/io-inst.cc: Don't include iostream.
	* include/bits/ios_base.h (ios_base::failure): Use string.
	* src/Makefile.am: Add ios_failure.cc.
	* src/Makefile.in: Regenerate.
	* src/ios.cc: Move ios_base::failure definitions to...
	* src/ios_failure.cc: ...here. New.

2003-10-09  Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/9874
	* include/bits/fstream.tcc (basic_filebuf::seekoff):
	Move code needed for both seekoff and seekpos...
	(basic_filebuf::_M_seek): ...here. New function.
	(basic_filebuf::seekpos): Don't call seekoff, call _M_seek.
	* include/std/std_fstream.h (basic_filebuf::_M_seek): Declare it.
	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: New test.

	* testsuite/22_locale/locale/cons/12438.cc: Increase memory limit.

2003-10-08  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/locale_facets.tcc: More minor cosmetic
	changes and const-ifications of some variables.

2003-10-07  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/locale_facets.tcc: Minor cosmetic changes
	and const-ifications of some variables.

	* include/bits/locale_facets.tcc
	(money_get::do_get(..., string_type&)): Simplify an if-else.

2003-10-06  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/11740
	* config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_is):
	Fix to actually return (M & m) != 0 as per 22.2.1.1.2.
	* config/locale/generic/ctype_members.cc: Same.
	* testsuite/22_locale/ctype/is/wchar_t/11740.cc: New.

2003-10-06  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/locale_facets.tcc (__pad<>::_S_pad):
	Improve performance-wise: avoid one traits::copy, avoid
	the __builtin_alloca, streamline.

2003-10-05  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/locale_facets.tcc
	(num_put::do_put(..., bool)): Prefer ?: to if-else.
	(time_get::_M_extract_name): Qualify min with std::.
	(__pad<>::_S_pad): Constify two variables; simplify an
	if-else statement factoring out some code.

	* include/bits/locale_facets.tcc: Minor cosmetic changes.

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

	* include/bits/locale_facets.tcc (num_get::_M_extract_float):
	Constify a couple of variables.
	(num_get::do_get(..., bool&)): Constify __c; prefer *__beg,
	++__beg to *__beg++.

2003-10-04  Paolo Carlini  <pcarlini@unitus.it>
            Petur Runolfsson  <peturr02@ru.is>

	* include/ext/stdio_sync_filebuf.h: Don't include the whole
	<fstream>, only <streambuf> and <cstdio>.

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

	PR libstdc++/12206
	* include/bits/fstream.tcc (imbue): In case a codecvt facet
	is not available, set _M_codecvt = 0.
	* testsuite/27_io/basic_filebuf/imbue/12206.cc: New.

2003-10-02  Harald Boehme  <boehme@informatik.hu-berlin.de>

	PR libstdc++/12451
	* libsupc++/cxxabi.h: Move forward declaration of __class_type_info.

2003-10-02  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_classes.h (locale::facet::_S_get_c_name): Add.
	* src/locale.cc: Define.
	* src/localename.cc: Use it.
	* config/locale/generic/time_members.h: Same.
	* config/locale/gnu/messages_members.h: Same.
	* config/locale/gnu/time_members.h: Same.

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

	PR libstdc++/12232
	* include/bits/fstream.tcc (seekoff): Ignore the openmode
	argument; simplify.
	* config/io/basic_file_stdio.h (__basic_file<char>::seekoff,
	seekpos): Remove the openmode argument.
	* config/io/basic_file_stdio.cc (__basic_file<char>::seekoff,
	seekpos): Remove redundant placeholder for the openmode argument.
	* testsuite/27_io/basic_filebuf/seekoff/char/12232.cc: New.
	* testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Tweak.
	* testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc: Likewise.

2003-10-02  Benjamin Kosnik  <bkoz@redhat.com>

	* src/locale.cc (locale::_S_initialize): Use __gthread_active_p.
	(locale::facet::_S_get_c_locale): Same.

2003-10-02  Benjamin Kosnik  <bkoz@redhat.com>

	* config/linker-map.gnu: Export _S_get_c_locale instead of
	_S_c_locale object.

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

	* config/locale/generic/c_locale.cc
	(category_names, locale::_S_categories): Const qualify.
	* config/locale/gnu/c_locale.cc: Same.
	* config/locale/generic/time_members.h (__timepunct::__timepunct):
	Copy string contents before assigning to _M_name_timepunct,
	qualify strcpy and strlen with std::.
	* config/locale/gnu/time_members.h: Same.
	* config/locale/gnu/messages_members.h (messages::messages):
	Copy string contents before assigning to _M_name_messages,
	qualify strcpy and strlen with std::.
	* config/os/gnu-linux/ctype_noninline.h
	(ctype<char>::classic_table()): Don't call locale::classic().
	* include/bits/locale_classes.h
	(locale::_S_categories): Const qualify.
	(locale::_S_once, locale::_S_initialize_once,
	locale::facet::_S_once, locale::facet::_S_initialize_once,
	locale::facet::_S_get_c_locale): Declare.
	(locale::_S_initialize): Don't define.
	(locale::facet::_S_c_locale): Make private.
	(locale::facet::_S_c_name): Same, const qualify.
	(locale::_Impl::_Impl(facet**, size_t, bool)): Drop unused
	parameters, add throw() specifier.
	* include/bits/locale_facets.h (__timepunct::_M_name_timepunct,
	messages::_M_name_messages): Const qualify.
	* src/locale.cc
	(locale::_S_once, locale::facet::_S_once): Define.
	(locale::classic): Move initialization code...
	(locale::_S_initialize_once): ...here.
	(locale::_S_initialize): Call _S_initialize_once through
	__gthread_once.
	(locale::facet::_S_initialize_once): Initialize _S_c_locale.
	(locale::facet::_S_get_c_locale): Call _S_initialize_once through
	__gthread_once before returning _S_c_locale.
	* src/localename.cc (locale::_Impl::_Impl(facet**, size_t, bool)):
	Drop unused parameters, add throw() specifier, don't initialize
	locale::facet::_S_c_locale and _S_c_name.

	* config/locale/generic/messages_members.h:
	Replace _S_c_locale with _S_get_c_locale().
	* config/locale/gnu/c_locale.cc: Same.
	* config/locale/gnu/messages_members.h: Same.
	* config/locale/gnu/numeric_members.cc: Same.
	* config/locale/gnu/time_members.cc: Same.
	* config/os/gnu-linux/ctype_noninline.h: Same.
	* include/bits/locale_facets.h: Same.
	* include/bits/locale_facets.tcc: Same.
	* src/codecvt.cc: Same.
	* src/ctype.cc: Same.

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

	* include/bits/demangle.h (demangle<Allocator>::symbol(char const*)):
	Decode symbols that start with _GLOBAL_[ID]_ differently: the
	trailing part ends with a terminating zero and is not necessarily an
	encoding.
	* src/demangle.cc (): Same.
	* testsuite/demangle/regression/cw-13.cc: Adjust for new output.

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

	* testsuite/22_locale/locale/cons/12438.cc: Use
	__gnu_test::try_named_locale("").

2003-10-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_0): Define.
	(GLIBCXX_CHECK_STDLIB_SUPPORT): Use it to test for lrand48
	instead of drand48.
	* acconfig.h (HAVE_DRAND48): Renamed to HAVE_LRAND48.
	* crossconfig.m4 (*-freebsd*): Define HAVE_LRAND48 instead of
	HAVE_DRAND48.
	* config.h.in, configure: Regenerate.
	* include/bits/stl_algo.h: Use _GLIBCXX_HAVE_LRAND48 to guard
	lrand48 use.

2003-10-01  Nathan Myers  <ncm@cantrip.org>

	* include/bits/locale_facets.tcc (time_put::put): Avoid
	expensive *__s++, in favor of *__s, ++__s.

2003-10-01  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/locale_facets.tcc (time_put::put): Minor
	tweak to the previous commit.

2003-10-01  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/12439
	* include/bits/locale_facets.tcc (time_put::put): Deal
	with the three issues pointed out by the PR.
	* testsuite/22_locale/time_put/put/char/12439_1.cc: New.
	* testsuite/22_locale/time_put/put/char/12439_3.cc: New.
	* testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: New.
	* testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: New.
	* testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: New.

2003-09-30  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/stl_algo.h: Minor cosmetic reformattings.

2003-09-30  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/stl_algo.h (search_n): Tweak, to spare the
	first --__n.

2003-09-30  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/22_locale/locale/cons/12352.cc: Explicitly
	qualify exception name.

2003-09-30  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/12438
	* include/bits/locale_facets.tcc (locale::combine): Don't
	leak memory if _M_replace_facet throws.
	* testsuite/22_locale/locale/cons/12438.cc: New, from the PR.

	* include/bits/locale_classes.h (locale::locale(const locale&,
	_Facet*)): Tweak, use consistently _M_remove_reference.

2003-09-30  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/12352 (cont)
	* src/localename.cc (locale::_Impl::_Impl(const char*, size_t)):
	Don't leak __cloc; don't leak if any of the _M_init_facet(...)
	calls fail.
	(locale::_Impl::_Impl(const _Impl&, size_t)): Tweak.
	(locale::_Impl::~_Impl): Don't do anything if !_M_facets,
	!_M_caches, !_M_names.

2003-09-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* configure.host: Handle Solaris 2.5 micro releases explicitly.
	Remove wildcards from Solaris 2.6, 7-9: there were no
	micro releases.
	Treat Solaris 10 and up like 7-9.

2003-09-29  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/stl_algo.h (search_n): Improve the previous
	fix as suggested by Martin.

2003-09-29  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/12296
	* include/bits/istream.tcc (peek): Set eofbit if sgetc
	returns eof.
	* testsuite/27_io/basic_istream/peek/char/12296.cc:
	New, from the PR.

2003-09-29  Nathan Myers  <ncm@cantrip.org>
	    Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/11400
	* include/bits/stl_algo.h (search_n):
	Use iterator_traits<>::difference_type for __n.
	* testsuite/25_algorithms/search_n/11400.cc: New, from the PR.

2003-09-29  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/22_locale/locale/cons/12352.cc:
	Use __attribute__((unused)) for test.

2003-09-26  Ulrich Weigand  <uweigand@de.ibm.com>

	* testsuite/22_locale/time_put/put/char/2.cc (test_02): Allow either
	"Son" or "So" as abbreviated name for Sunday in de_DE locale.
	* testsuite/22_locale/time_put/put/wchar_t/2.cc (test_02): Likewise.

2003-09-26  Brad Spencer  <spencer@infointeractive.com>

	* testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc:
	Explicitly qualify exceptions.
	* testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: Same.
	* testsuite/27_io/basic_istream/sentry/char/3983-sstream.cc: Same.
	* testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
	* testsuite/27_io/basic_ostream/sentry/char/3983-sstream.cc: Same.

2003-09-25  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/12352
	* src/localename.cc (locale::_Impl::_Impl(const _Impl&,
	size_t)): Don't leak if memory allocations for _M_facets,
	_M_caches, and _M_names fail.
	(locale::_Impl::_Impl(const char*, size_t)): Ditto.
	(locale::_Impl::_M_replace_categories(const _Impl*,
	category)): Ditto.
	(locale::_Impl::_M_install_facet(const locale::id*,
	const facet*)): Ditto.
	* include/bits/locale_classes.h (locale::locale(const locale&,
	_Facet*)): Don't leak memory.
	* testsuite/22_locale/locale/cons/12352.cc: New, from the PR.

	* src/localename.cc (locale::_Impl::_Impl(facet**, size_t,
	bool)): Qualify with std:: strcpy, tweak.
	* include/bits/locale_classes.h
	(locale::_Impl::_M_check_same_name): Qualify strcmp.

2003-09-25  Brad Spencer  <spencer@infointeractive.com>

	PR libstdc++/6072
	* acinclude.m4: Split out checks for vfwscanf, vswscanf, vwscanf,
	wcstof, iswblank.
	* aclocal.m4: Regenerate.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* crossconfig.m4: Add in wchar_t bits for solaris crosses.
	* config/io/basic_file_stdio.cc: Guard unistd.h.
	* include/c_compatibility/wchar.h: Guard extra wchar_t functionality.
	* include/c_std/std_cwchar.h: Same.
	* include/c_std/std_cwctype.h: Same.

2003-09-25  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/11065
	* config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_is): Fix.
	* config/locale/generic/ctype_members.cc: Same.
	* testsuite/22_locale/ctype/is/char/1.cc: Initialize mask.
	* testsuite/22_locale/ctype/is/wchar_t/1.cc: Same.

	* config/os/generic/ctype_inline.h: Update.

2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>

	* src/Makefile.am (version_dep): New variable.
	(libstdc___la_DEPENDENCIES): Use it to add dependency on
	libstdc++-symbol.ver only when using symbol versioning.
	* src/Makefile.in: Regenerate.

2003-09-23  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.tcc: Tweak to avoid warnings.
	* testsuite/testsuite_hooks.h: Same.
	* testsuite/*/*.cc: Same.

2003-09-22  Petur Runolfsson  <peturr02@ru.is>

	* include/bits/istream.tcc (basic_istream::read,
	basic_istream::readsome, basic_istream::putback,
	basic_istream::unget, operator>>(basic_istream, CharT)):
	Avoid redundant setstate(failbit) calls when sentry::operator bool()
	returns false.

2003-09-22  Carlo Wood  <carlo@alinoe.com>

	PR libstdc++/12365
	* include/bits/demangle.h (qualifier(int, cv_qualifier_nt,
	char const*, int, int)):  Remove unused identifier
	cv_qualifier for overloaded constructor.

2003-09-18  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/11504
	* acinclude.m4 (GLIBCXX_EXPORT_FLAGS): Add -Wcast-qual to
	WARN_FLAGS, remove -Wno-format.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2003-09-18  Petur Runolfsson  <peturr02@ru.is>

	* config/io/basic_file_stdio.cc (sys_getc, sys_ungetc): Delete.
	* config/io/basic_file_stdio.h: Same.
	* include/std/std_fstream.h (__ctype_type): Delete.
	* include/std/std_streambuf.h (__ctype_type, __state_type): Delete.

2003-09-17  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/12239
	* configure.host (abi_baseline_pair): Error out on solaris2
	configurations without a minor version number.

2003-09-13  Phil Edwards  <phil@codesourcery.com>

	* docs/doxygen/run_doxygen:  Clear GENERATE_TAGFILE entirely
	if man pages are on.
	* docs/doxygen/user.cfg.in:  And here.

2003-09-10  Daniel Jacobowitz  <drow@mvista.com>
	    Andreas Jaeger <aj@suse.de>

	PR libstdc++/12189
	* acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Don't build
	abi_check if cross compiling.
	* aclocal.m4: Regenerated.
	* configure: Regenerated.

2003-09-10  Jeffrey D. Oldham  <oldham@codesourcery.com>

	* libsupc++/vec.cc (__cxa_vec_new2): If the allocator returns
	NULL, return NULL.  This reflects a C++ ABI change 2003 Sep 05.
	(__cxa_vec_new3): Likewise.

2003-09-10  Petur Runolfsson  <peturr02@ru.is>

	* include/bits/fstream.tcc (basic_filebuf::seekoff):
	Use codecvt::length to handle variable-width stateless encodings
	correctly.
	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: New test.
	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc: New test.

2003-09-10  Alan Modra  <amodra@bigpond.net.au>

	* config/io/basic_file_stdio.cc (_M_open_mode): Assign __p_mode
	rather than or'ing.

2003-09-09  Alan Modra  <amodra@bigpond.net.au>

	* configure: Regenerate.

2003-09-09  David Edelsohn  <edelsohn@gnu.org>

	* src/ios.cc (ios_base::Init::Init): Remove unnecessary
	qualifier from _S_synced_with_stdio.

2003-09-09  Bernardo Innocenti  <bernie@develer.com>

	* include/c_std/std_cstdlib.h: Avoid using missing C library symbols.

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

	PR libstdc++/9028
	* include/bits/fstream.tcc
	(basic_filebuf::_M_destroy_internal_buffer): Destroy _M_ext_buf.
	(basic_filebuf::basic_filebuf): Initialize _M_ext_buf,
	_M_ext_buf_size, _M_ext_next and _M_ext_end.
	(basic_filebuf::underflow): Handle variable-width stateless
	encodings (codecvt::encoding() == 0), including UTF-8.
	* include/std/std_fstream.h (basic_filebuf):
	Declare _M_ext_buf, _M_ext_buf_size, _M_ext_next, _M_ext_end.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: New test.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: New test.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: New test.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: New test.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: New test.
	* testsuite/27_io/objects/wchar_t/12.cc: New test.
	* testsuite/27_io/objects/wchar_t/13.cc: New test.

2003-09-04  Jonathan Wakely  <redi@gcc.gnu.org>

	* docs/html/faq/index.html: Note that a namespace alias can't be
	used when specialising templates in extension namespace.
	* docs/html/faq/index.txt: Regenerate.

2003-09-03  Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/12048
	* include/ext/stdio_sync_filebuf.h
	(stdio_sync_filebuf::_M_unget_buf): Declare it.
	(stdio_sync_filebuf::stdio_sync_filebuf): Initialize _M_unget_buf.
	(stdio_sync_filebuf::uflow): Store the returned character in
	_M_unget_buf.
	(stdio_sync_filebuf::pbackfail): If argument is eof(), pass
	_M_unget_buf to syncungetc(). Set _M_unget_buf to eof().
	(stdio_sync_filebuf<char>::xsgetn): Store last read character in
	_M_unget_buf, if any, else eof().
	(stdio_sync_filebuf<wchar_t>::xsgetn: Store last read character in
	_M_unget_buf, if any, else eof().
	* testsuite/27_io/objects/char/12048.cc: Rename to...
	* testsuite/27_io/objects/char/12048-1.cc: ...this.
	* testsuite/27_io/objects/char/12048-2.cc: New test.
	* testsuite/27_io/objects/char/12048-3.cc: New test.
	* testsuite/27_io/objects/char/12048-4.cc: New test.
	* testsuite/27_io/objects/char/12048-5.cc: New test. XFAIL.
	* testsuite/27_io/objects/wchar_t/12048-1.cc: New test.
	* testsuite/27_io/objects/wchar_t/12048-2.cc: New test.
	* testsuite/27_io/objects/wchar_t/12048-3.cc: New test.
	* testsuite/27_io/objects/wchar_t/12048-4.cc: New test.
	* testsuite/27_io/objects/wchar_t/12048-5.cc: New test. XFAIL.
	* testsuite/ext/stdio_sync_filebuf_char.cc
	(test02, test03, test04, test05): New tests.
	* testsuite/ext/stdio_sync_filebuf_wchar_t.cc
	(test02, test03, test04, test05): New tests.

2003-09-03  Petur Runolfsson  <peturr02@ru.is>

	* docs/html/27_io/howto.html: setbuf(0, 0) has no effect on
	stringbuf or strstreambuf. Fix typos.

2003-09-02  Phil Edwards  <phil@codesourcery.com>

	* acinclude.m4 (GLIBCXX_ENABLE_HOSTED):  #define _GLIBCXX_HOSTED
	appropriately.
	* config.h.in:  Add _GLIBCXX_HOSTED.
	* libsupc++/eh_term_handler.cc:  Test it here; initialize
	__terminate_handler to std::abort if freestanding.
	* aclocal.m4, configure:  Regenerated.
	* docs/html/configopts.html:  Document --disable-hosted-libstdcxx.

2003-08-29  Nathan Myers  <ncm@cantrip.org>

	PR libstdc++/11990
	* include/bits/locale_facets.tcc (__pad): delete dead code.

2003-08-28  Alan Modra  <amodra@bigpond.net.au>

	* configure.ac: Test $with_cross_host against $build_alias, not $build.
	* configure: Regenerate.

2003-08-27  Petur Runolfsson  <peturr02@ru.is>

	* testsuite/27_io/objects/wchar_t/10.cc: Move wcout stuff...
	* testsuite/27_io/objects/wchar_t/11.cc: ...here. New file.

2003-08-27  Phil Edwards  <pme@gcc.gnu.org>

	* Makefile.am:  Remove trailing whitespace.  Remove needless
	"foo = @foo@" assignments.  Replace direct uses of @foo@ with $(foo).
	* include/Makefile.am:  Likewise.
	* libmath/Makefile.am:  Likewise.
	* libsupc++/Makefile.am:  Likewise.
	* po/Makefile.am:  Likewise.
	* src/Makefile.am:  Likewise.
	* testsuite/Makefile.am:  Likewise.

	* Makefile.in, include/Makefile.in, libmath/Makefile.in,
	libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
	testsuite/Makefile.in:  Regenerated.

2003-08-27  Phil Edwards  <pme@gcc.gnu.org>

	* acinclude.m4 (GLIBCXX_EXPORT_INCLUDES):  Change quoting of
	includedir.
	* aclocal.m4, configure:  Regenerate.

2003-08-27  Daniel Jacobowitz  <drow@mvista.com>

	* acinclude.m4: Include no-executables.m4.
	* configure.ac: Uncomment GCC_NO_EXECUTABLES.
	* aclocal.m4: Regenerated.
	* configure: Regenerated.

2003-08-27  Daniel Jacobowitz  <drow@mvista.com>

	* acinclude.m4: Don't call AC_ISC_POSIX.
	* aclocal.m4: Regenerated.
	* configure: Regenerated.

2003-08-27  Phil Edwards  <pme@gcc.gnu.org>

	* acinclude.m4 (GLIBCXX_CONDITIONAL):  New macro.  Wrap
	AM_CONDITIONAL.  Replace all calls to AM_CONDITIONAL with this one.
	(GLIBCXX_ENABLE_HOSTED):  New macro, sets new variable is_hosted,
	used elsewhere in this file.
	(GLIBCXX_EVALUATE_CONDITIONALS):  New macro...
	* configure.ac:  ...called here to expand all conditionals.
	* Makefile.am:  Conditionalize SUBDIRS on GLIBCXX_HOSTED.
	* include/Makefile.am:  Remove redundant gxx_include_dir assignment.
	(install-freestanding-headers):  New target, a subset of
	install-headers.  Conditionalize install-data-local on GLIBCXX_HOSTED.

	* aclocal.m4, configure, Makefile.in, include/Makefile.in,
	libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
	src/Makefile.in, testsuite/Makefile.in:  Regenerated.

2003-08-26  Phil Edwards  <pme@gcc.gnu.org>

	* docs/doxygen/run_doxygen:  Shell fixes.  Remove hardcoded local
	pathnames from generated tag file.

2003-08-26  Phil Edwards  <pme@gcc.gnu.org>

	* Makefile.am:  Add comment.
	* acinclude.m4 (GLIBCXX_CONFIGURE):  Set new glibcxx_SUBDIRS and
	SUBDIRS variables.
	* configure.ac:  Use them both here, instead of hardcoded lists.

	* fragment.am:  Add STAMP varaible.
	* include/Makefile.am:  Cosmetic whitespace cleanup.  Use $(LN_S)
	instead of @LN_S@.
	(stamp-*):  Move file creation rule outside of 'if' branches to
	ensure the stamp-* files are actually updated.  Use $(STAMP).
	* src/Makefile.am:  Remove now-nonexistant variable.
	* libsupc++/Makefile.am:  Likewise.  Snap the assignment chain
	for -prefer-pic.
	* po/Makefile.am:  Include same fragment as all the others.

	* aclocal.m4, configure, Makefile.in, include/Makefile.in,
	libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in:  Regenerated.

2003-08-26  Loren J. Rittle  <ljrittle@acm.org>

	* testsuite/data/cin_unget-1.txt: New.
	* testsuite/27_io/objects/char/12048.cc: New.

2003-08-25  Zack Weinberg  <zack@codesourcery.com>

	* config/os/hpux/os_defines.h: Unconditionally define
	_GLIBCXX_GTHREAD_USE_WEAK to 0.

2003-08-19  Geoffrey Keating  <geoffk@apple.com>

	* crossconfig.m4 (*-darwin*): Add a large and boring stanza for
	crosses to Darwin targets.
	* configure: Regenerate.

2003-08-19  Petur Runolfsson  <peturr02@ru.is>

	* include/ext/ropeimpl.h: #include <ostream> instead of <iostream>

2003-08-17  Phil Edwards  <pme@gcc.gnu.org>

	* configure.ac:  GCC_NO_EXECUTABLES was supposed to be commented
	in the patch from 3 minutes ago.  Boy, is my face red.
	* configure:  At least I remembered to regenerate this.

2003-08-17  Phil Edwards  <pme@gcc.gnu.org>

	* acinclude.m4 (GLIBCXX_EXPORT_INCLUDES):  Remove LIBMATH_INCLUDES
	and LIBSUPCXX_INCLUDES.  Re-purpose TOPLEVEL_INCLUDES to refer to
	things from the top level.
	* configure.ac (GLIBCXX_IS_NATIVE):  Determine earlier and re-order.
	Comment out the conditionals for CANADIAN and GLIBCXX_BUILD_LIBMATH
	(currently unused).  Strip the fake-VPATH shell fragment from
	automake-generated rules, if present.
	* linkage.m4:  Add comment.

	* fragment.am:  New file, containing factored-out common settings.
	(AM_CPPFLAGS):  Absorb the deprecated INCLUDES variable contents.
	* Makefile.am:  Include fragment.am.  Remove common variables.
	* include/Makefile.am:  Likewise.
	* libmath/Makefile.am:  Likewise.
	* libsupc++/Makefile.am:  Likewise.
	* po/Makefile.am:  Likewise.  Print rules during check.
	* src/Makefile.am:  Likewise.
	* testsuite/Makefile.am:  Likewise.

	* aclocal.m4, configure, Makefile.in, include/Makefile.in,
	libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
	src/Makefile.in, testsuite/Makefile.in:  Regenerate.

2003-08-11  John Levon  <levon@movementarian.org>

	* docs/html/ext/howto/guide.html (GLIBCXX_FORCE_NEW): Update
	remaining places for the name change from GLIBCPP_FORCE_NEW
	to GLIBCXX_FORCE_NEW

2003-08-11  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/basic_ios.h: Remove *_iter typedefs, change num*
	typedefs to num_*.
	* include/bits/basic_ios.tcc: Same.
	* include/bits/istream.tcc: Same.
	* include/bits/locale_facets.h: Same.
	* include/bits/ostream.tcc: Same.
	* include/std/std_istream.h: Same.
	* include/std/std_ostream.h: Same.
	* testsuite/26_numerics/complex_inserters_extractors.cc: Fix.

	* include/ext/rope: Remove build warning.

2003-08-11  Andreas Jaeger  <aj@suse.de>

	* include/Makefile.am (stamp-c_base): Add dependency on stamp-bits
	to make SMP-safe.
	* include/Makefile.in: Regenerated.

2003-08-11  Phil Edwards  <pme@gcc.gnu.org>

	* acinclude.m4 (GLIBCXX_CONFIGURE):  Unprecious CC and CFLAGS
	when calling AC_PROG_CC.
	* aclocal.m4, configure:  Regenerate.

2003-08-11  Phil Edwards  <pme@gcc.gnu.org>

	* acinclude.m4:  Properly quote variable which will be expanded
	inside makefiles.  Use CXX instead of CC to extract compiler info.
	* configure.ac (AC_INIT):  Use the new 4-arg form to finally get the
	correct form in PACKAGE.
	* aclocal.m4, configure:  Regenerate.

2003-08-08  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/Makefile.am (check-abi): Change libstdc++-v3 to libstdc++.
	(check-abi-verbose): Same.
	* testsuite/testsuite_performance.h (report_performance): Same.

2003-08-08  Loren J. Rittle  <ljrittle@acm.org>

	* testsuite/testsuite_performance.h (__FreeBSD__): Add fake mallinfo.

2003-08-07  Doug Gregor  <dgregor@apple.com>

	* include/bits/char_traits.h (char_traits::not_eof): Match operand
	types in ? :.

2003-08-07  Bernardo Innocenti  <bernie@develer.com>

	PR libstdc++/11784
	* libstdc++-v3/config/cpu/m68k/atomicity.h (__exchange_and_add):
	Replace variants with new BSET-based version.

2003-08-07  Carlo Wood  <carlo@alinoe.com>

	* include/bits/demangle.h: Do not use cctype functions that depend
	on locale.

2003-08-05  Phil Edwards  <pme@gcc.gnu.org>

	* configure.in:  Rename...
	* configure.ac:  ...to this.
	* docs/html/17_intro/porting.texi:  Update name.

	* docs/html/17_intro/porting.html:  Regenerate.
	* config.h.in, Makefile.in, include/Makefile.in, libmath/Makefile.in,
	libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
	testsuite/Makefile.in:  Regenerate (picks up new dependancy).

2003-08-05  Phil Edwards  <pme@gcc.gnu.org>

	* acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS):  Put down the crack
	pipe, open the window to let out the fumes, redo the option-handling
	logic to properly execute the detection test.
	* aclocal.m4, configure:  Regenerate.

2003-08-04  Phil Edwards  <pme@gcc.gnu.org>

	Convert to new autotools.
	* acconfig.h:  Update with correct names.
	* configure.host (ATOMICITYH):  Rename to atomicity_include_dir.
	(qnx6.[12]*):  'q' comes before 's', not after 'w'.
	* configure.in:  Update.  Split hardcoded cross-configury settings
	out to...
	* crossconfig.m4:  ...here.  New file.  Contents untouched.
	* acinclude.m4:  Reorganize and rewrite as needed.  Split large
	chunks out to...
	* linkage.m4:  ...here.  New file.  Math and stdlib linkage tests.
	Contents untouched.
	* scripts/testsuite_flags.in:  Update.

	* Makefile.am:  Remove unneeded AUTOMAKE_OPTIONS settings and other
	variables (already generated by automake).
	* include/Makefile.am:  Ditto.
	* libmath/Makefile.am:  Ditto.
	* libsupc++/Makefile.am:  Ditto.
	* po/Makefile.am:  Ditto.
	* src/Makefile.am:  Ditto.

	* aclocal.m4:  Regenerate using new versions.
	* config.h.in:  Ditto.
	* configure:  Ditto.
	* Makefile.in:  Ditto.
	* include/Makefile.in:  Ditto.
	* libmath/Makefile.in:  Ditto.
	* libsupc++/Makefile.in:  Ditto.
	* po/Makefile.in:  Ditto.
	* src/Makefile.in:  Ditto.
	* testsuite/Makefile.in:  Ditto.

2003-08-04  Phil Edwards  <pme@gcc.gnu.org>

	* po/libstdc++.pot:  Re-extract/regenerate.

2003-08-04  Phil Edwards  <pme@gcc.gnu.org>

	* testsuite/Makefile.am (DEJATOOL,EXPECT,RUNTEST,RUNTESTFLAGS):
	Remove unneeded variable assignments.  Leave them for automake.
	* testsuite/lib/libstdc++-v3.exp:  Rename...
	* testsuite/lib/libstdc++.exp:  ...to this.  Adjust function names
	accordingly.
	* testsuite/libstdc++-v3.dg/dg.exp:  Rename...
	* testsuite/libstdc++-dg/normal.exp:  ...to this.  Adjust function
	names accordingly.

2003-08-04  Phil Edwards  <pme@gcc.gnu.org>

	* docs/doxygen/guide.html:  run_doxygen uses bash.
	* docs/doxygen/mainpage.html:  We'll be shipping tag files.
	* docs/doxygen/run_doxygen:  Tweaks and improvements.
	* docs/doxygen/user.cfg.in:  Set GENERATE_TAGFILE.
	* docs/html/install.html:  Update autoconf/automake requirements.
	* docs/html/test.html:  Add section describing DejaGNU support.
	* docs/html/17_intro/confdeps.dot:  New file, generates...
	* docs/html/17_intro/confdeps.png:  ...this new file.
	* docs/html/Makefile:  Generated here.
	* docs/html/17_intro/configury.html:  New file.

2003-07-31  Phil Edwards  <pme@gcc.gnu.org>

	* testsuite/lib/libstdc++-v3-dg.exp:  Rename...
	* testsuite/lib/libstdc++-v3.exp:  ...to this.
	* testsuite/libstdc++-v3.dg/dg.exp:  No special case needed now.

2003-07-31  Doug Gregor  <dgregor@apple.com>

	Add user specialization tests.
	* testsuite/23_containers/deque/1.cc: New.
	* testsuite/23_containers/list/1.cc: New.
	* testsuite/23_containers/map/1.cc: New.
	* testsuite/23_containers/multimap/1.cc: New.
	* testsuite/23_containers/multiset/1.cc: New.
	* testsuite/23_containers/set/1.cc: New.
	* testsuite/23_containers/vector/1.cc: New.

2003-07-31  Benjamin Kosnik  <bkoz@redhat.com>

	Reshuffle 23_containers testsuite.
	* 23_containers/adaptors.cc, bitset_ctor.cc,bitset_members.cc,
	bitset_shift.cc, deque_ctor.cc, deque_operators.cc,
	list_capacity.cc, list_ctor.cc, list_modifiers.cc, list_operators.cc,
	map_insert.cc, map_operators.cc, map_operators_neg.cc, multiset.cc,
	set_operators_neg.cc, vector_bool.cc, vector_capacity.cc,
	vector_ctor.cc, vector_element_access.cc, vector_modifiers.cc,
	vector_resize.cc: Split into...
	* 23_containers/bitset/cons/1.cc: New.
	* 23_containers/bitset/cons/6282.cc: New.
	* 23_containers/bitset/count/6124.cc: New.
	* 23_containers/bitset/operations/1.cc: New.
	* 23_containers/bitset/operations/2.cc: New.
	* 23_containers/bitset/test/1.cc: New.
	* 23_containers/bitset/to_ulong/1.cc: New.
	* 23_containers/deque/cons/1.cc: New.
	* 23_containers/deque/cons/2.cc: New.
	* 23_containers/deque/operators/1.cc: New.
	* 23_containers/list/capacity/1.cc: New.
	* 23_containers/list/cons/1.cc: New.
	* 23_containers/list/cons/2.cc: New.
	* 23_containers/list/cons/3.cc: New.
	* 23_containers/list/cons/4.cc: New.
	* 23_containers/list/cons/5.cc: New.
	* 23_containers/list/cons/6.cc: New.
	* 23_containers/list/cons/7.cc: New.
	* 23_containers/list/cons/8.cc: New.
	* 23_containers/list/cons/9.cc: New.
	* 23_containers/list/modifiers/1.cc: New.
	* 23_containers/list/modifiers/2.cc: New.
	* 23_containers/list/modifiers/3.cc: New.
	* 23_containers/list/operators/1.cc: New.
	* 23_containers/list/operators/2.cc: New.
	* 23_containers/list/operators/3.cc: New.
	* 23_containers/list/operators/4.cc: New.
	* 23_containers/map/insert/1.cc: New.
	* 23_containers/map/operators/1.cc: New.
	* 23_containers/map/operators/1_neg.cc: New.
	* 23_containers/multiset/insert/1.cc: New.
	* 23_containers/priority_queue/members/7161.cc: New.
	* 23_containers/queue/members/7157.cc: New.
	* 23_containers/set/operators/1_neg.cc: New.
	* 23_containers/stack/members/7158.cc: New.
	* 23_containers/vector/bool/1.cc: New.
	* 23_containers/vector/bool/6886.cc: New.
	* 23_containers/vector/capacity/1.cc: New.
	* 23_containers/vector/capacity/2.cc: New.
	* 23_containers/vector/capacity/8230.cc: New.
	* 23_containers/vector/cons/1.cc: New.
	* 23_containers/vector/cons/2.cc: New.
	* 23_containers/vector/cons/3.cc: New.
	* 23_containers/vector/cons/4.cc: New.
	* 23_containers/vector/cons/6513.cc: New.
	* 23_containers/vector/element_access/1.cc: New.
	* 23_containers/vector/modifiers/1.cc: New.
	* 23_containers/vector/modifiers/2.cc: New.
	* 23_containers/vector/resize/1.cc: New.

2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* testsuite/thread/pthread1.cc: Add alpha*-*-osf* to dg-do run,
	dg-options.
	* 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.
	* testsuite/thread/pthread7-rope.cc: Likewise.

2003-07-30  Phil Edwards  <pme@gcc.gnu.org>

	* include/bits/c++config:  Partial reversion (comment placement) of
	previous patch.

2003-07-30  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/c++config (_GLIBCXX_FULLY_COMPLIANT_HEADERS): Remove.
	(_GLIBCXX_NO_TEMPLATE_EXPORT): To _GLIBCXX_EXPORT_TEMPLATE.
	(_GLIBCXX_AT_AT): Remove.
	(__USE_MALLOC): Remove.
	* include/std/std_fstream.h: Modify.
	* include/bits/basic_ios.h: Same.
	* include/bits/valarray_array.h: Same.
	* include/c_std/std_cmath.h: Same.
	* include/c_std/cmath.tcc: Same.
	* include/std/std_vector.h: Same.
	* include/std/std_string.h: Same.
	* include/std/std_stack.h: Same.
	* include/std/std_queue.h: Same.
	* include/std/std_list.h: Same.
	* include/std/std_deque.h: Same.
	* include/std/std_streambuf.h: Same.
	* include/std/std_sstream.h: Same.
	* include/std/std_ostream.h: Same.
	* include/std/std_istream.h: Same.
	* include/bits/valarray_array.tcc: Same, format.

	* include/c/std_cctype.h: Fix include guards.
	* include/c/std_cerrno.h: Same.
	* include/c/std_cfloat.h: Same.
	* include/c/std_climits.h: Same.
	* include/c/std_clocale.h: Same.
	* include/c/std_cmath.h: Same.
	* include/c/std_csetjmp.h: Same.
	* include/c/std_csignal.h: Same.
	* include/c/std_cstdarg.h: Same.
	* include/c/std_cstddef.h: Same.
	* include/c/std_cstdio.h: Same.
	* include/c/std_cstdlib.h: Same.
	* include/c/std_cstring.h: Same.
	* include/c/std_ctime.h: Same.
	* include/c/std_cwchar.h: Same.
	* include/c/std_cwctype.h: Same.
	* include/c_std/cmath.tcc: Same.
	* include/c_std/std_cmath.h: Same.

2003-07-30  Gawain Bolton  <gp.bolton@computer.org>

	PR libstdc++/11504.
	* include/bits/stl_tree.h: Replace C-style casts with C++-style
	casts.  Changes to avoid casting away constness.  Eliminate
	_Rb_tree_base_iterator class.  Change _Rb_tree_iterator to use
	initialization lists.  Move out implementation of __black_count()
	to...
	* src/stl_tree.cc: ...here and rename _Rb_tree_black_count().
	Rename_Rb_tree_base_iterator::_M_increment() to
	_Rb_tree_increment and _Rb_tree_base_iterator::_M_decrement() to
	_Rb_tree_decrement.
	* config/linker-map.gnu: Add and change symbols here.

2003-07-30  Jonathan Wakely  <redi@gcc.gnu.org>

	* docs/html/22_locale/howto.html: Use locale::classic() instead
	of locale("C").

2003-07-28  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/testsuite_hooks.h: Remove list include.
	(func_callback): Define as unique type, not std::list.
	Change DEBUG_ASSERT to _GLIBCXX_ASSERT.
	* testsuite/libstdc++-v3.dg/dg.exp: Same.
	* testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Same.
	* testsuite/23_containers/bitset_ctor.cc:
	* testsuite/17_intro/header_ciso646.cc: Remove DEBUG_ASSERT.
	* testsuite/18_support/numeric_limits.cc: Same.
	* testsuite/21_strings/basic_string/append/char/1.cc: Same.
	* testsuite/21_strings/basic_string/append/wchar_t/1.cc: Same.
	* testsuite/21_strings/basic_string/compare/char/1.cc: Same.
	* testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Same.
	* testsuite/21_strings/basic_string/element_access/char/1.cc: Same.
	* testsuite/21_strings/basic_string/element_access/char/2.cc: Same.
	* testsuite/21_strings/basic_string/element_access/char/3.cc: Same.
	* testsuite/21_strings/basic_string/element_access/wchar_t/1.cc: Same.
	* testsuite/21_strings/basic_string/element_access/wchar_t/2.cc: Same.
	* testsuite/21_strings/basic_string/element_access/wchar_t/3.cc: Same.
	* testsuite/21_strings/basic_string/find/char/1.cc: Same.
	* testsuite/21_strings/basic_string/find/char/2.cc: Same.
	* testsuite/21_strings/basic_string/find/char/3.cc: Same.
	* testsuite/21_strings/basic_string/find/wchar_t/1.cc: Same.
	* testsuite/21_strings/basic_string/find/wchar_t/2.cc: Same.
	* testsuite/21_strings/basic_string/find/wchar_t/3.cc: Same.
	* testsuite/21_strings/basic_string/insert/char/1.cc: Same.
	* testsuite/21_strings/basic_string/insert/char/2.cc: Same.
	* testsuite/21_strings/basic_string/insert/wchar_t/1.cc: Same.
	* testsuite/21_strings/basic_string/insert/wchar_t/2.cc: Same.
	* testsuite/21_strings/basic_string/inserters_extractors/char/1.cc:
	* testsuite/21_strings/basic_string/inserters_extractors/char/4.cc:
	* testsuite/21_strings/basic_string/inserters_extractors/char/5.cc:
	* testsuite/21_strings/basic_string/inserters_extractors/char/6.cc:
	* testsuite/21_strings/basic_string/inserters_extractors/char/7.cc:
	* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc:
	* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc:
	* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc:
	* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc:
	* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc:
	* testsuite/21_strings/basic_string/operators/char/1.cc: Same.
	* testsuite/21_strings/basic_string/operators/char/2.cc: Same.
	* testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Same.
	* testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Same.
	* testsuite/21_strings/basic_string/replace/char/1.cc: Same.
	* testsuite/21_strings/basic_string/replace/wchar_t/1.cc: Same.
	* testsuite/21_strings/basic_string/rfind/char/1.cc: Same.
	* testsuite/21_strings/basic_string/rfind/char/2.cc: Same.
	* testsuite/21_strings/basic_string/rfind/char/3.cc: Same.
	* testsuite/21_strings/basic_string/rfind/wchar_t/1.cc: Same.
	* testsuite/21_strings/basic_string/rfind/wchar_t/2.cc: Same.
	* testsuite/21_strings/basic_string/rfind/wchar_t/3.cc: Same.
	* testsuite/21_strings/basic_string/substr/char/1.cc: Same.
	* testsuite/21_strings/basic_string/substr/wchar_t/1.cc: Same.
	* testsuite/23_containers/bitset_ctor.cc: Same.
	* testsuite/23_containers/bitset_shift.cc: Same.
	* testsuite/23_containers/vector_ctor.cc: Same.
	* testsuite/23_containers/vector_element_access.cc: Same.
	* testsuite/24_iterators/istreambuf_iterator.cc: Same.
	* testsuite/24_iterators/iterator.cc: Same.
	* testsuite/24_iterators/ostreambuf_iterator.cc: Same.
	* testsuite/25_algorithms/lower_bound.cc: Same.
	* testsuite/26_numerics/complex_inserters_extractors.cc: Same.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc: Same.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc: Same.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc: Same.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc: Same.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc: Same.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc: Same.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc: Same.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc: Same.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc: Same.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
	Same.

2003-07-28  Phil Edwards  <pme@gcc.gnu.org>

	* docs/doxygen/user.cfg.in, docs/html/abi.txt, docs/html/debug.html,
	docs/html/test.html, docs/html/17_intro/headers_cc.txt,
	docs/html/17_intro/howto.html, docs/html/ext/howto.html:  Change
	GLIBCPP to GLIBCXX (and explain as needed).

2003-07-28  Phil Edwards  <pme@gcc.gnu.org>

	* README:  Update.

2003-07-28  Phil Edwards  <pme@gcc.gnu.org>

	* testsuite/22_locale/messages/members/char/1.cc,
	testsuite/22_locale/messages/members/char/2.cc,
	testsuite/22_locale/messages/members/char/3.cc,
	testsuite/22_locale/messages_byname/1.cc:  Update comment regarding
	the origin of LOCALEDIR.
	* testsuite/lib/libstdc++-v3.exp:  New file.

2003-07-25  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/char_traits.h: Update copyright, tweak.
	* testsuite/ext/pod_char_traits.cc: Explicitly qualify namespace
	std types.

2003-07-24  Matt Austern  <austern@apple.com>

	* /include/bits/char_traits.h (class char_traits): Put all the
	real work into the new class template __gnu_cxx::char_traits.
	Gave generic definitions for member functions.  Types are taken
	from the new class template __gnu_cxx::_Char_types.
	* testsuite/21_strings/char_traits/requirements/short/1.cc: New
	file.  Test of std::char_traits<short>, which serves as a test of
	the char_traits primary template.

2003-07-24  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/*: Change __gnu_cxx_test to __gnu_test.

2003-07-24  Nathan Myers  <ncm-nospam@cantrip.org>

	* testsuite/23_containers/map_operators.cc: Conform to
	container requirement as value must be Assignable.

2003-07-23  Alexandre Oliva  <aoliva@redhat.com>

	* acinclude.m4 (GLIBCXX_ENABLE_PCH): Rework test such that it
	tests not only generation of pch files, but also their use.
	* aclocal.m4, configure: Rebuilt.

2003-07-23  Steve Ellcey  <sje@cup.hp.com>

	* config/cpu/hppa/atomicity.h: Change
	_GLIBCXX_INST_GLIBCXX_ATOMICITY_LOCK to _GLIBCXX_INST_ATOMICITY_LOCK
	to match misc-inst.cc

2003-07-23  Steve Ellcey  <sje@cup.hp.com>

	* include/c_std/cmath.tcc: Use _GLIBCXX_ prefix on file guard.
	* include/c_std/std_cctype.h: Ditto.
	* include/c_std/std_cerrno.h: Ditto.
	* include/c_std/std_cfloat.h: Ditto.
	* include/c_std/std_climits.h: Ditto.
	* include/c_std/std_clocale.h: Ditto.
	* include/c_std/std_cmath.h: Ditto.
	* include/c_std/std_csetjmp.h: Ditto.
	* include/c_std/std_csignal.h: Ditto.
	* include/c_std/std_cstdarg.h: Ditto.
	* include/c_std/std_cstddef.h: Ditto.
	* include/c_std/std_cstdio.h: Ditto.
	* include/c_std/std_cstdlib.h: Ditto.
	* include/c_std/std_cstring.h: Ditto.
	* include/c_std/std_ctime.h: Ditto.
	* include/c_std/std_cwchar.h: Ditto.
	* include/c_std/std_cwctype.h: Ditto.
	* include/std/std_algorithm.h: Ditto.
	* include/std/std_bitset.h: Ditto.
	* include/std/std_complex.h: Ditto.
	* include/std/std_deque.h: Ditto.
	* include/std/std_fstream.h: Ditto.
	* include/std/std_functional.h: Ditto.
	* include/std/std_iomanip.h: Ditto.
	* include/std/std_ios.h: Ditto.
	* include/std/std_iosfwd.h: Ditto.
	* include/std/std_iostream.h: Ditto.
	* include/std/std_istream.h: Ditto.
	* include/std/std_iterator.h: Ditto.
	* include/std/std_limits.h: Ditto.
	* include/std/std_list.h: Ditto.
	* include/std/std_locale.h: Ditto.
	* include/std/std_map.h: Ditto.
	* include/std/std_memory.h: Ditto.
	* include/std/std_numeric.h: Ditto.
	* include/std/std_ostream.h: Ditto.
	* include/std/std_queue.h: Ditto.
	* include/std/std_set.h: Ditto.
	* include/std/std_sstream.h: Ditto.
	* include/std/std_stack.h: Ditto.
	* include/std/std_stdexcept.h: Ditto.
	* include/std/std_streambuf.h: Ditto.
	* include/std/std_string.h: Ditto.
	* include/std/std_utility.h: Ditto.
	* include/std/std_valarray.h: Ditto.
	* include/std/std_vector.h: Ditto.

2003-07-22  Doug Gregor  <dgregor@apple.com>

	* include/bits/basic_string.h (basic_string::insert): Deprecate
	GNU extension.

2003-07-21  Benjamin Kosnik  <bkoz@redhat.com>

	* scripts/testsuite_flags.in (--build-includes): Remove extraneous
	paths for libio.
	* testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc
	(test03): Include typeinfo for bad_cast.
	* testsuite/27_io/basic_ostream/sentry/char/3983-sstream.cc: Same.
	* testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
	* testsuite/27_io/basic_istream/sentry/char/3983-sstream.cc: Same.

2003-07-21  Doug Gregor  <dgregor@apple.com>

	* include/bits/boost_concept_check.h:
	(_EqualityComparableConcept::__constraints): Remove != from the
	list of constraints; it is not listed in Table 28 of the C++98
	standard.

2003-07-18  Andreas Jaeger  <aj@suse.de>

	* config/abi/sparc-linux-gnu/baseline_symbols.txt: New file.
	* config/abi/mips-linux-gnu/baseline_symbols.txt: New file.
	* config/abi/hppa-linux-gnu/baseline_symbols.txt: New file.
	* config/abi/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.

2003-07-17  Benjamin Kosnik  <bkoz@redhat.com>

	* config/linker-map.gnu: Add __moneypunct_cache, __timepunct_cache.
	* config/locale/generic/messages_members.h: Tweaks.
	* config/locale/generic/monetary_members.cc
	(moneypunct::_M_initialize_moneypunct): Use cache.
	(moneypunct::~moneypunct): Delete cache.
	* config/locale/generic/time_members.cc:
	(__timepunct::_M_initialize_timepunct): Use cache.
	* config/locale/generic/time_members.h:
	(__timepunct::~__timepunct): Delete cache.
	(__timepunct::__timepunct): Set cache.
	* config/locale/gnu/messages_members.h: Tweaks.
	* config/locale/gnu/monetary_members.cc:
	(moneypunct::_M_initialize_moneypunct): Use cache.
	(moneypunct::~moneypunct): Delete cache.
	* config/locale/gnu/time_members.cc:
	(__timepunct::_M_initialize_timepunct): Use cache.
	* config/locale/gnu/time_members.h:
	(__timepunct::~__timepunct): Delete cache.
	(__timepunct::__timepunct): Set cache.
	* include/bits/locale_facets.h (__timepunct_cache): New.
	(__moneypunct_cache): New.
	* include/bits/locale_facets.tcc: Tweak.
	* src/locale.cc (__timepunct::_S_timezones): Adjust for cache.
	* src/locale-inst.cc: Instantiate caches.
	* src/globals.cc: Add "C" caches.
	* src/localename.cc: Use external "C" caches.

2003-07-17  Phil Edwards  <pme@gcc.gnu.org>

	* docs/doxygen/guide.html:  Fix typo.

2003-07-16  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/pod_char_traits.h: Add state template argument.

2003-07-16  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.h (__num_base::_S_atoms_in): Add -+xX.
	(num_get::_M_convert_int): To _M_insert_int.
	(num_get::_M_convert_float): To _M_insert_float.
	* include/bits/locale_facets.tcc (num_get::_M_extract_float):
	Use caches for ctype, num_get.
	(num_get::_M_extract_int): Same.
	(num_get::get(bool)): Same.
	(__verify_grouping): Use size_t.
	* src/locale-inst.cc: Update.
	* src/locale.cc: Adjust _S_atoms_in.

2003-07-16  Phil Edwards  <pme@gcc.gnu.org>

	* docs/doxygen/mainpage.html:  Move building/writing instructions...
	* docs/doxygen/guide.html:  ...to here.  New file.

2003-07-16  Jonathan Wakely  <redi@gcc.gnu.org>

	* docs/html/ext/howto.html: Update URL for SGI STL docs.
	* docs/html/faq/index.html: Same.
	* docs/html/faq/index.txt: Regenerate.

2003-07-16  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/11528
	* include/bits/locale_facets.tcc (money_get::do_get):
	Strip only _leading_ zeros.
	* testsuite/22_locale/money_get/get/char/11528.cc: Add.
	* testsuite/22_locale/money_get/get/wchar_t/11528.cc: Add.

2003-07-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* include/ext/hash_map (class hash_multimap): Remove extra
	semicolons from __glibcxx_class_requires3 entries.
	* include/ext/hash_set (class hash_set): Ditto.
	(class hash_multiset): Ditto.

2003-07-15  Petur Runolfsson  <peturr02@ru.is>

	* include/bits/char_traits.h (char_traits<wchar_t>::move):
	Change last parameter from int_type to size_t.

2003-07-15  Jerry Quinn  <jlquinn@optonline.net>

	* include/bits/stl_algo.h (includes, set_union, set_intersection,
	set_difference, set_symmetric_difference, max_element, min_element,
	next_permutation, prev_permutation, find_first_of, find_end):
	Document.
	* include/bits/stl_algobase.h (copy,copy_backward):  Clarify overlap
	restrictions in docs.
	* include/bits/stl_heap.h (push_heap, pop_heap, make_heap, sort_heap):
	Document.
	* docs/doxygen/doxygroups.cc (setoperations):  New group.

2003-07-15  Jerry Quinn  <jlquinn@optonline.net>

	* include/bits/basic_string.h:  Document public functions.
	* docs/doxygen/TODO:  Update c21 todo.

2003-07-15  Jerry Quinn  <jlquinn@optonline.net>

	* include/bits/stl_list.h:  Document more functions.
	* docs/doxygen/TODO:  Update c23 todo.

2003-07-14  Paolo Carlini  <pcarlini@unitus.it>

	* config/locale/gnu/c_locale.h (__convert_from_v): One more
	qualification.

2003-07-14  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/stl_tempbuf.h: Qualify free with std::.
	* src/locale.cc: Include <cstdlib>, qualify getenv.

2003-07-14  Paolo Carlini  <pcarlini@unitus.it>

	* config/locale/gnu/c_locale.h (__convert_from_v): Include
	<cstdio>. Qualify names.
	* config/locale/generic/c_locale.h (__convert_from_v): Ditto.

2003-07-14  Paolo Carlini  <pcarlini@unitus.it>
	    Nathan C. Myers  <ncm-nospam@cantrip.org>

	PR libstdc++/11378
	* include/std/std_fstream.h (xsputn): Declare only.
	* include/bits/fstream.tcc (xsputn): Define, optimize for the
	always_noconv() case: when __n is sufficiently large flush
	the buffer and issue a direct write, if possible combining the
	two with writev in __basic_file<>::xsputn_2.
	* config/io/basic_file_stdio.h (__basic_file<>::xsputn_2):
	New, declare.
	* config/io/basic_file_stdio.cc (__basic_file<>::xsputn_2):
	Define.
	* acinclude.m4 (GLIBCXX_CHECK_WRITE): New macro, checking for
	the availability of writev in <sys/uio.h>.
	* configure.in: Call here.
	* acconfig.h: Add undef for the corresponding symbol.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* config.h.in: Regenerate.
	* testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Tweak.

	* include/std/std_fstream.h (sync): Constify a variable.

2003-07-14  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/27_io/ios_base/cons/assign_neg.cc: Fix line numbers.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.

2003-07-14  Gabriel Dos Reis  <gcc@integrable-solutions.net>

	* config/locale/gnu/c_locale.h (__convert_from_v): Include
	<cstring> and <cstdlib>. Qualify names.

2003-07-13  Mark Mitchell  <mark@codesourcery.com>

	* config/locale/generic/c_locale.h: Include <cstdlib> and
	<cstring>.
	* include/bits/boost_concept_check.h: Add this-> to unqualified
	method calls.
	* include/bits/deque.tcc: Likewise.
	* include/bits/locale_facets.h : Likewise.
	* include/bits/ostream.tcc: Likewise.
	* include/bits/stl_algo.h: 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/rope: Likewise.
	* include/ext/ropeimpl.h: Likewise.
	* include/ext/stdio_filebuf.h: Likewise.

2003-07-11  Jerry Quinn  <jlquinn@optonline.net>

	* include/bits/basic_ios.h (copyfmt): Document.
	* include/bits/ios_base.h (event, event_callback, register_callback,
	xalloc, iword, pword):  Document.
	(imbue, ~ios_base): Update docs on callbacks.

2003-07-11  Phil Edwards  <pme@gcc.gnu.org>

	* acinclude.m4 (GLIBCC_ENABLE_SYMVERS):  Tweak comments.  Add
	warning messages if the environment cannot support symbol versioning.
	(port_specific_symbol_file):  It's plural, add an 's' on the end.
	* configure.host:  Likewise.
	* src/Makefile.am:  Likewise.
	* config/linker-map.gnu:  Remove one semicolon, heh.
	* scripts/extract_symvers:  Don't assume useful 'export' syntax.
	Set LANG as well as LC_ALL for possibly-broken sort(1)s.
	* aclocal.m4, configure, src/Makefile.in:  Regenerated.

2003-07-09  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.tcc: Use function object for
	__use_cache instead of template function. Partially specialize for
	__numpunct<_CharT>.
	* include/bits/locale_classes.h: Update friend declaration for
	__use_cache.
	(_M_install_cache): No throw exception specs.
	* src/locale.cc: Remove __use_cache specializations.
	* include/ext/pod_char_traits.h (length): Tweak.
	* include/bits/locale_facets.h (__numpunct_cache): Remove
	char_type typedef.
	* testsuite/testsuite_hooks.h (pod_unsigned_int): Remove.
	(pod_long): Remove.
	* testsuite/22_locale/numpunct/members/char/cache_1.cc: New.
	* testsuite/22_locale/numpunct/members/char/cache_2.cc: New.
	* testsuite/22_locale/numpunct/members/wchar_t/cache_1.cc: New.
	* testsuite/22_locale/numpunct/members/wchar_t/cache_2.cc: New.
	* testsuite/22_locale/numpunct/members/pod/1.cc: New.
	* testsuite/22_locale/numpunct/members/pod/2.cc: New.

2003-07-09  Jerry Quinn  <jlquinn@optonline.net>

	* src/ios.cc (_M_grow_words):  Fix spelling.

2003-07-09  Gawain Bolton  <gp.bolton@computer.org>

	* include/bits/stl_tree.h: Move larger member functions in
	_Rb_tree_base_iterator and _Rb_tree_node to...
	* src/stl_tree.cc: Here.
	* src/Makefile.in: Add stl_tree.cc.
	* src/Makefile.in: Regenerated.
	* config/linker-map.gnu: Add symbols here.

2003-07-08  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/ext/pod_char_traits.cc: New.
	* include/ext/pod_char_traits.h: New.
	* include/Makefile.am (ext_headers): Add pod_char_traits.h.
	* include/Makefile.in: Regenerate.
	* docs/html/21_strings/howto.html: Update.

2003-07-08  Gawain Bolton  <gp.bolton@computer.org>

	* testsuite/performance/list_create_fill_sort.cc: New.

2003-07-08  Benjamin Kosnik  <bkoz@redhat.com>

	* config/locale/generic/numeric_members.cc: Correct type info.
	* config/locale/gnu/numeric_members.cc: Same.
	* include/bits/locale_facets.h: Same.

	* include/bits/char_traits.h: Correct spacing.

	* src/locale.cc: Wrap to 80 col.

2003-07-07  Paolo Carlini  <pcarlini@unitus.it>

	* include/std/std_complex.h: Partially revert last
	changes: cmath functions must not be qualified.

2003-07-06  Phil Edwards  <pme@gcc.gnu.org>

	* acinclude.m4 (GLIBCXX_ENABLE_SYMVERS):  Do not test for binutils
	2.11 with globbing backport fix.
	* aclocal.m4, configure:  Regenerated.

2003-07-06  Paolo Carlini  <pcarlini@unitus.it>

	* include/std/std_fstream.h (xsputn): Don't call _M_destroy_pback:
	if output is at all possible (!_M_reading), cannot be active.

	* include/std/std_fstream.h: Tweak comments to doxygen style.

2003-07-06  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/locale_classes.h: Fully qualify standard
	functions with std::, thus avoiding Koenig lookup.
	* include/bits/locale_facets.tcc: Likewise.
	* src/locale.cc: Likewise.
	* src/localename.cc: Likewise.

2003-07-06  Phil Edwards  <pme@gcc.gnu.org>

	* include/bits/allocator_traits.h:  Fix doxygen markup.
	* include/ext/mt_allocator.h:  Likewise.

2003-07-06  Phil Edwards  <pme@gcc.gnu.org>

	* testsuite/testsuite_hooks.h:  Guard against a missing unlink().

2003-07-05  Phil Edwards  <pme@gcc.gnu.org>

	* acinclude.m4 (GLIBCXX_ENABLE_SYMVERS):  Bump minimal version
	requirement.  Add port_specific_symbol_file variable.
	* configure.host:  Add docs for port_specific_symbol_file.
	Clean up try_cpu block for x86.
	* config/linker-map.gnu:  No more "last symbol can't have a
	semicolon" kaka.  Add hook for port-specific symbols.
	* src/Makefile.am:  Remove trailing whitespace.
	(libstdc++-symbol.ver):  Detect the presence of port-specific
	symbols, and add them accordingly.

	* docs/html/17_intro/porting.texi:  Bring up to date.

	* src/Makefile.in, aclocal.m4, configure,
	docs/html/17_intro/porting.html:  Regenerated.

2003-07-05  Phil Edwards  <pme@gcc.gnu.org>

	* scripts/create_testsuite_files:  New file.
	* testsuite/Makefile.am (all-local, check-performance):  Use it.
	* testsuite/lib/libstdc++-v3-dg.exp (v3-computer-tests):  Remove.
	* testsuite/Makefile.in:  Regenerated.

	* testsuite/performance/filebuf_sputc.cc:  Remove the temporary
	files at the end.
	* testsuite/performance/fstream_seek_write.cc:  Likewise.
	* testsuite/performance/ofstream_insert_float.cc:  Likewise.
	* testsuite/performance/ofstream_insert_int.cc:  Likewise.
	* testsuite/abi_check.cc (main):  Nicer spacing in usage output.

2003-07-05  Gawain Bolton  <gp.bolton@computer.org>

	* include/bits/stl_list.h: Performance and memory usage
	improvements. In particular, the behaviour of the constructor and
	destructor as the list header node is no longer dynamically
	allocated/de-allocated.
	* include/bits/list.tcc: Likewise.

2003-07-05  Paolo Carlini  <pcarlini@unitus.it>

	* include/std/std_complex.h: Fully qualify standard
	functions with std::, thus avoiding Koenig lookup.
	* include/std/std_memory.h: Likewise.
	* include/std/std_valarray.h: Likewise.

2003-07-05  Gawain Bolton  <gp.bolton@computer.org>

	* include/bits/stl_tree.h: _Rb_tree_rebalance():  Add local
	  variable for grandparent and use const

2003-07-05  David Billinghurst <David.Billinghurst@riotinto.com>

	* testsuite/27_io/basic_filebuf/close/char/4879.cc: xfail on cygwin
	* testsuite/27_io/basic_filebuf/close/char/9964.cc: Ditto
	* testsuite/27_io/basic_filebuf/open/char/9507.cc: Ditto
 	* testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Ditto
	* testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Ditto
 	* testsuite/27_io/objects/char/7.cc: Ditto
 	* testsuite/27_io/objects/char/9661-1.cc: Ditto

2003-07-05  Paolo Carlini  <pcarlini@unitus.it>

	* include/std/std_bitset.h: Fully qualify standard
	functions with std::, thus avoiding Koenig lookup.

	* include/std/std_fstream.h: Change comment to doxygen style.

2003-07-05  Phil Edwards  <pme@gcc.gnu.org>

	* include/std/std_limits.h:  More CPP->CXX changes.
	* scripts/check_survey.in:  Likewise.

2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>

	Move from CPP to CXX.
	* include/bits/c++config: Move to GLIBCXX from GLIBCPP.
	* testsuite/Makefile.am: Same.
	* testsuite/Makefile.in: Regenerate.
	* po/Makefile.am: Same.
	* po/Makefile.in: Regenerate.
	* libsupc++/Makefile.am: Same.
	* libsupc++/Makefile.in: Regenerate.
	* libmath/Makefile.am: Same.
	* libmath/Makefile.in: Regenerate.
	* include/Makefile.am: Same.
	* include/Makefile.in: Regenerate.
	* src/Makefile.am: Same.
	* src/Makefile.in: Regenerate.
	* acconfig.h: Same.
	* configure.host: Same.
	* configure.in: Same.
	* configure: Regenerate.
	* acinclude.m4: Same.
	* aclocal.m4: Same.
	* src: Change all files in this directory.
	* testsuite: Same.
	* include: Same, standardize include guards.
	* config: Same.
	* libsupc++: Same.

2003-07-04  Zack Weinberg  <zack@codesourcery.com>

	* testsuite/22_locale/collate/compare/wchar_t/2.cc
	* testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc
	* testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc
	* testsuite/22_locale/collate/hash/wchar_t/2.cc
	* testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc
	* testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc
	* testsuite/22_locale/collate/transform/wchar_t/2.cc
	* testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc
	* testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
	XFAIL on all targets.

2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCPP_ENABLE_PCH): Fix missed variable.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2003-07-04  Jerry Quinn  <jlquinn@optonline.net>

	* include/bits/locale_facets.tcc (__int_to_char): Move common case
	to the top.

2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
	    Petur Runolfsson  <peturr02@ru.is>

	* config/io/basic_file_stdio.cc: Revert.

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

	* include/bits/deque.tcc: Fully qualify standard
	functions with std::, thus avoiding Koenig lookup.
	* include/bits/gslice_array.h: Likewise.
	* include/bits/indirect_array.h: Likewise.
	* include/bits/list.tcc: Likewise.
	* include/bits/mask_array.h: Likewise.
	* include/bits/slice_array.h: Likewise.

2003-07-04  Gawain Bolton  <gbolton@free.fr>

	* include/bits/stl_tree.h: Performance and memory usage
	improvements.

2003-07-04  H.J. Lu <hongjiu.lu@intel.com>

	* Makefile.am: Replace PWD with PWD_COMMAND.
	* Makefile.in: Regenerated.
	* docs/html/Makefile: Likewise.

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

	* include/bits/valarray_array.h: Fully qualify standard
	functions with std::, thus avoiding Koenig lookup.
	* include/bits/vector.tcc: Likewise.

2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am: Update target_ to host_.
	* include/Makefile.in: Regenerate.
	* src/Makefile.am: Same.
	* src/Makefile.in: Regenerate.

	* config/os/gnu-linux/os_defines.h: Remove glibc-2.0 support.

2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCPP_ENABLE_DEBUG_FLAGS): To
	--enable-libstdcxx-debug-flags.
	(GLIBCPP_ENABLE_DEBUG_FLAGS): To --enable-libstdcxx-debug.
	(GLIBCPP_ENABLE_PCH): To --enable-libstdcxx-pch.
	* aclocal.m4: Regenerate.
	* configure: Same.
	* docs/html/configopts.html: Update.

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

	Revert the fix for libstdc++/11378.

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

	PR libstdc++/11378
	* include/std/std_fstream.h (xsputn): In the unbuffered case,
	provided always_noconv(), issue directly _M_file.xsputn.
	* testsuite/performance/filebuf_unbuf_sputn.cc: New.

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

	* include/bits/stl_list.h: Fully qualify standard
	functions with std::, thus avoiding Koenig lookup.
	* include/bits/stl_queue.h: Likewise.
	* include/bits/stl_raw_storage_iter.h: Likewise.
	* include/bits/stl_tempbuf.h: Likewise.
	* include/bits/stl_tree.h: Likewise.
	* include/bits/stl_uninitialized.h: Likewise.
	* include/bits/stl_vector.h: Likewise.
	* include/ext/rope: Change includes order.

2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>

	* configure.host (fpos_include_dir): Fix.

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

	* include/bits/stl_heap.h: Fully qualify standard
	functions with std::, thus avoiding Koenig lookup.
	* include/bits/stl_iterator_base_funcs.h: Likewise.

	* include/bits/stl_algo.h: Qualify __iterator_category too.
	* include/bits/stl_algobase.h: Likewise.
	* include/bits/stl_bvector.h: Likewise.

	* include/bits/stl_algo.h: Don't qualify the pair type.

2003-07-03  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am (target_headers): Add fpos.h
	(bits_headers): Remove.
	* include/Makefile.in: Regenerate.
	* configure.in: Add FPOS_INC_SRCDIR, substitute it.
	* configure: Regenerate.
	* configure.host: Add fpos_include_dir.
	* config/os/gnu-linux/fpos.h: New.
	* config/os/generic/fpos.h: Add.
	* include/bits/fpos.h: Remove.

	* config/io/c_io_stdio.h: Remove fpos_t typedef.

	* include/bits/fstream.tcc: Tweaks.
	* include/std/std_fstream.h: Same.

	* testsuite/27_io/fpos/1.cc (test01): Uncomment. Move to...
	* testsuite/27_io/fpos/mbstate_t/1.cc: ...here.
	* testsuite/27_io/fpos/mbstate_t/2.cc: Same.
	* testsuite/27_io/fpos/mbstate_t/3.cc: Same.
	* testsuite/27_io/fpos/1.cc: New.

2003-07-03  Benjamin Kosnik  <bkoz@redhat.com>
	    Petur Runolfsson  <peturr02@ru.is>

	* include/std/std_streambuf.h: Remove _M_pos.
	* config/io/basic_file_stdio.h: Use seekpos instead of seekoff.
	* config/io/basic_file_stdio.cc: Same, use fseek instead of lseek,
	use fread/fwrite instead of read/write.
	* testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Fix.
	* testsuite/27_io/basic_filebuf/sputn/char/9339.cc: Close filebufs
	before reading again.
	* testsuite/27_io/objects/char/6.cc: Tweak.

2003-07-03  David Edelsohn  <edelsohn@gnu.org>

	* testsuite/22_locale/num_put/put/char/7.cc: Guard with
	_GLIBCPP_USE_WCHAR_T.

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

	* include/bits/basic_string.tcc (_M_replace_aux): Constify
	__n1 and __off1.

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

	* include/bits/stl_bvector.h: Fully qualify standard
	functions with std::, thus avoiding Koenig lookup.
	* include/bits/stl_construct.h: Likewise.
	* include/bits/stl_deque.h: Likewise.

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

	* testsuite/22_locale/num_put/put/char/7.cc: Include
	<testsuite_hooks.h>, tweak.
	* testsuite/22_locale/num_put/put/wchar_t/7.cc: Likewise.

2003-07-01  Phil Edwards  <pme@gcc.gnu.org>

	* testsuite/Makefile.am (AM_MAKEFLAGS):  Set to -j1 (affects
	check* targets, but not libs/programs).
	* testsuite/Makefile.in:  Regenerate.

2003-07-01  Roger Sayle  <roger@eyesopen.com>

	* acinclude.m4 (GLIBCPP_CHECK_STDLIB_SUPPORT): Fix typo in CXXFLAGS.
	(GLIBCPP_CHECK_MATH_SUPPORT): Likewise.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2003-07-01  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCPP_ENABLE_PCH): Fix obvious error.
	* aclocal.m4: Regenerated.
	* configure: Regenerated.

2003-07-01  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/11389
	* include/bits/fstream.tcc (underflow): For encoding() == 0
	don't read more than __buflen chars.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc: New.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc: New.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc: New.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc: New.

2003-07-01  Jerry Quinn  <jlquinn@optonline.net>

	* 22_locale/num_put/put/char/7.cc: New.
	* 22_locale/num_put/put/wchar_t/7.cc: New.

2003-06-30  Jerry Quinn  <jlquinn@optonline.net>

	* src/locale.cc (__use_cache<numpunct>): Revert previous relocation.
	* include/bits/locale_facets.tcc (__use_cache<numpunct>): Ditto.

2003-06-30  Benjamin Kosnik  <bkoz@redhat.com>

	* 27_io/basic_filebuf/seekoff/char/1-in.cc: New.
	* 27_io/basic_filebuf/seekoff/char/1-io.cc: New.
	* 27_io/basic_filebuf/seekoff/char/1-out.cc: New.
	* 27_io/basic_filebuf/seekoff/char/2-in.cc: New.
	* 27_io/basic_filebuf/seekoff/char/2-io.cc: New.
	* 27_io/basic_filebuf/seekoff/char/2-out.cc: New.
	* 27_io/basic_filebuf/seekoff/char/2.cc: Remove.
	* 27_io/basic_filebuf/seekoff/char/3-in.cc: New.
	* 27_io/basic_filebuf/seekoff/char/3-io.cc: Change.
	* 27_io/basic_filebuf/seekoff/char/3-out.cc: New.
	* 27_io/basic_filebuf/seekoff/char/4-io.cc: Remove.
	* 27_io/basic_filebuf/seekpos/char/1-in.cc: New.
	* 27_io/basic_filebuf/seekpos/char/1-io.cc: New.
	* 27_io/basic_filebuf/seekpos/char/1-out.cc: New.
	* 27_io/basic_filebuf/seekpos/char/2-in.cc: New.
	* 27_io/basic_filebuf/seekpos/char/2-io.cc: New.
	* 27_io/basic_filebuf/seekpos/char/2-out.cc: New.
	* 27_io/basic_filebuf/seekpos/char/2.cc: Change.
	* 27_io/basic_filebuf/seekpos/char/3-in.cc: New.
	* 27_io/basic_filebuf/seekpos/char/3-io.cc: Remove.
	* 27_io/basic_filebuf/seekpos/char/3-out.cc: New.
	* 27_io/basic_filebuf/seekpos/char/4-io.cc: Remove.
 	* data/seekoff-1.tst: Remove.
	* data/seekoff-1io.tst: New.
	* data/seekoff-1out.tst: New.
	* data/seekoff-2.tst: Remove.
	* data/seekoff-2io.tst: New.
	* data/seekoff-2out.tst: New.
	* data/seekoff.txt
	* data/seekpos-1.tst: Remove.
	* data/seekpos-1io.tst: New.
	* data/seekpos-1out.tst: New.
	* data/seekpos-2.tst: Remove.
	* data/seekpos-2io.tst: New.
	* data/seekpos-2out.tst: New.
	* data/seekpos.txt: New.

2003-06-30  Jerry Quinn  <jlquinn@optonline.net>

	* src/locale.cc (__use_cache<numpunct>): Move from here ...
	* include/bits/locale_facets.tcc (__use_cache<numpunct>): To
	here.

2003-06-30  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/stl_algobase.h: Fully qualify standard
	functions with std::, thus avoiding Koenig lookup.

2003-06-30  Doug Gregor <dgregor@apple.com>

	* include/bits/locale_facets.tcc (money_get::do_get): Avoid
	subscripting empty string.

2003-06-30  Phil Edwards  <pme@gcc.gnu.org>

	* testsuite/Makefile.am (check-am):  Do not override.
	(baseline_symbols):  Declare as PHONY, so no need to 'touch' it.
	* testsuite/Makefile.in:  Regenerate.

2003-06-30  Doug Gregor <dgregor@apple.com>

	* testsuite/24_iterators/insert_iterator.cc (test01, test02):
	Don't initialize an insert_iterator with a singular iterator.

2003-06-30  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCPP_ENABLE_PCH): Add bits for --enable-pch.
	* aclocal.m4: Regenerate.
	* configure.in (GLIBCPP_CHECK_PCH): Move, change to
	GLIBCPP_ENABLE_PCH, default to yes.
	* configure: Regenerate.
	* docs/html/configopts.html: Add --enable-pch.

2003-06-30  Phil Edwards  <pme@gcc.gnu.org>

	* testsuite/lib/libstdc++-v3-dg.exp:  Add comments.
	(libstdc++-v3-init):  Also set LD_RUN_PATH.

2003-06-30  Paolo Carlini  <pcarlini@unitus.it>

	* include/std/std_streambuf.h (_M_mode): Unused by streambuf, move
	from here to filebuf and stringbuf.
	(~basic_streambuf()): Don't set _M_mode.
	(basic_streambuf()): Don't set _M_mode.
	* include/std/std_fstream.h (_M_mode): Move here, from streambuf.
	(~basic_filebuf()): Clean up.
	* include/bits/fstream.tcc (basic_filebuf()): Set _M_mode.
	* include/std/std_sstream.h (_M_mode): Move here, from streambuf.
	* testsuite/27_io/basic_streambuf/cons/char/1.cc: Don't set _M_mode.
	* testsuite/27_io/basic_streambuf/overflow/char/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise.

2003-06-30  Paolo Carlini  <pcarlini@unitus.it>

	* include/std/std_fstream.h (_M_underflow): Remove.
	(uflow): Remove, inherited from streambuf.
	(underflow): Only declare.
	* include/bits/fstream.tcc (_M_underflow): Rename to
	underflow, to which is equivalent for __bump == false,
	simplify.
	* include/std/std_sstream.h (_M_underflow): Remove.
	(uflow): Remove, inherited from streambuf.
	(underflow): Only declare.
	* include/bits/sstream.tcc (_M_underflow): Rename to
	underflow, to which is equivalent for __bump == false,
	simplify.

2003-06-29  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/stl_algo.h: Fully qualify standard functions
	with std::, thus avoiding Koenig lookup.

2003-06-29  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc:
	Improve type correctness-wise.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc:
	Likewise.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc:
	Likewise.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc:
	Likewise.

2003-06-29  Paolo Carlini  <pcarlini@unitus.it>

	* include/std/std_streambuf.h (uflow): According to
	27.5.2.4.3,p16, don't check gptr() < egptr().

2003-06-28  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9875
	* include/bits/fstream.tcc (seekoff): Fix for encoding() > 0.
	(seekpos): Likewise.
	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc:
	New test.
	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc:
	New test.

2003-06-27  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/testsuite_performance.h (__gnu_cxx_test): Change
	output name to libstdc++-v3-performance.sum.
	* testsuite/Makefile.am (CLEANFILES): Remove .performance.
	* testsuite/Makefile.in: Regenerate.

2003-06-27  Matthias Klose  <doko@debian.org>

	* testsuite/Makefile.am (check-abi, check-abi-verbose): Save
	output of abi-check in libstdc++-v3-abi.sum.
	* testsuite/Makefile.in: Regenerate.

2003-06-27  Krister Walfridsson  <cato@df.lth.se>

	* config/os/bsd/netbsd/ctype_noninline.h
	(_C_ctype_): Declare.
	(ctype<char>::classic_table): Return _C_ctype_ + 1.
	(ctype<char>::ctype): Use classic_table.

2003-06-27  Paolo Carlini  <pcarlini@unitus.it>
	    Nathan C. Myers  <ncm-nospam@cantrip.org>

	PR libstdc++/9178
	* include/bits/fstream.tcc (_M_underflow): Properly estimate
	the worst-case number of external bytes for a given get area.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: New.

2003-06-27  Paolo Carlini  <pcarlini@unitus.it>
	    Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/11305
	* include/bits/fstream.tcc (overflow): Properly estimate the
	worst-case number of external bytes for a given put area
	(by using codecvt::max_length()).
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1: New.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2: New.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3: New.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4: New.

2003-06-27  Nathan Sidwell  <nathan@codesourcery.com>

	* config/linker-map.gnu: Remove ; after __numpunct_cache.

2003-06-26  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/ios_base.h (ios_base::_M_getloc): Return reference
	to the imbued locale.
	* include/bits/locale_facets.tcc (num_put::_M_convert_int): Use
	_M_getloc.
	(num_put::_M_convert_float): Use.

2003-06-26  Benjamin Kosnik  <bkoz@redhat.com>
	    Jerry Quinn  <jlquinn@optonline.net>

	* config/linker-map.gnu: Add __numpunct_cache.
	* config/locale/gnu/numeric_members.cc
	(numpunct::_M_initialize_numpunct): Account for _M_data, fill in
	all elements for "C" locale.
	(numpunct::~numpunct): Delete _M_data.
	* config/locale/generic/numeric_members.cc: Same.
	* include/bits/basic_ios.tcc
	(basic_ios::init): Remove __locale_cache bits.
	(basic_ios::_M_cache_locale): Same.
	* include/bits/ios_base.h: Same. Tweaks.
	* include/bits/locale_classes.h: Tweaks. Reorder classes.
	(__use_cache): Make friends with _Impl, locale.
	(_Impl::_M_caches): Add.
	(_Impl::_M_install_cache): Add.
	* include/bits/locale_facets.h (__numpunct_cache): New.
	(numpunct): Encapsulate data members in __numpunct_cache member,
	_M_data. Adjust virtuals.
	(numpunct::numpunct): New ctor for the same.
	(__locale_cache_base): Remove.
	(__locale_cache): Remove.
	* include/bits/locale_facets.tcc (__use_cache): New function,
	specializations.
	(num_put::_M_convert_int, _M_convert_float, do_put): Use it.
	* src/globals.cc: Add cache_vec, numpunct_cache_c, numpunct_cache_w.
	* src/ios.cc (ios_base::ios_base): Remove __locale_cache.
	* src/locale-inst.cc: Same. Add __numpunct_cache.
	* src/locale.cc: Tweak inlines.
	(__use_cache): Define specializations.
	* src/localename.cc: Use global bits.
	(_Impl::~Impl): Deal with __numpunct_cache destruction.
	(_Impl::_Impl): Same. Pre-cache standard numpunct facets.
	(_Impl::_M_init_facet): Take into account __numpunct_cache.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Update line numbers.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.

2003-06-26  Nathan C. Myers  <ncm-nospam@cantrip.org>
	    Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/performance/filebuf_copy.cc: New, testing char
	by char file copy.

2003-06-26  Paolo Carlini  <pcarlini@unitus.it>
	    Nathan C. Myers  <ncm-nospam@cantrip.org>

	* include/bits/fstream.tcc (_M_underflow): When the actual
	end of file is reached, set 'uncommitted' mode to allow a
	next write without an intervening seek (see C++98 27.8.1.1,2
	and C89 7.9.5.3).
	* testsuite/27_io/basic_filebuf/underflow/char/2.cc: New.

2003-06-25  Nathan C. Myers  <ncm-nospam@cantrip.org>

	* include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc,
	sputc): Move inline, from here...
	* include/std/std_streambuf.h: ... to here.

	* include/std/std_streambuf.h (snextc, sbumpc, sgetc,
	sputbackc, sungetc, sputc): Use __builtin_expect.

2003-06-24  Phil Edwards  <pme@gcc.gnu.org>

	* docs/doxygen/mainpage.html:  Use a useful title.

2003-06-24  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/html/documentation.html: Remove assignment info.
	* docs/html/17_intro/contribute.html: Edits.
	* docs/html/17_intro/libstdc++-assign.tx: Remove.

	* docs/html/test.html: Update.

	* README: Update.

2003-06-24  Benjamin Kosnik  <bkoz@redhat.com>
	    Ulrich Drepper  <drepper@redhat.com>

	* testsuite/testsuite_performance.h: Tweak mallinfo.

2003-06-24  Paolo Carlini  <pcarlini@unitus.it>
	    Nathan C. Myers  <ncm-nospam@cantrip.org>

	* include/std/std_fstream.h (_M_filepos): Remove.
	(_M_reading, _M_writing): New, encode the various I/O modes:
	'read', 'write' and 'uncommitted'.
	(sync): If there is something to flush, do it, then go to
	'uncommitted' mode.
	* include/bits/fstream.tcc (_M_set_buffer): Overhaul to deal
	with three different cases: __off > 0 (upon underflow),
	__off == 0 (upon overflow), __off == -1 (upon open, setbuf,
	seekoff/pos).
	(_M_underflow): Don't call overflow, set _M_reading to true
	on success, tweak.
	(pbackfail): Set _M_reading to true on pback creation, tweak.
	(overflow): Don't seek, deal with overflow in 'uncommitted' mode,
	set _M_writing to true on success, tweak.
	(seekoff): Simplify, set _M_reading, _M_writing to false, call
	_M_set_buffer(-1) ('uncommitted').
	(open, close, setbuf): Set _M_reading, _M_writing to false and
	call _M_set_buffer(-1), tweak.
	(basic_filebuf): Don't set _M_buf_unified.
	(_M_destroy_internal_buffer): Don't call setg and setp.
	* include/ext/stdio_filebuf.h (stdio_filebuf): Use _M_reading,
	_M_writing and _M_set_buffer(-1).
	* include/std/std_streambuf.h (_M_move_out_cur, _M_move_in_cur,
	_M_out_lim, _M_buf_unified): Remove.
	(basic_streambuf): Don't set _M_out_lim and _M_buf_unified.
	(setp): Don't set _M_out_lim.
	* testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Fix for
	the new logic ('read', 'write' and 'uncommitted' modes): e.g.,
	upon open the mode is 'uncommitted' and therefore the put area
	pointers are null.
	* testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: Ditto.
	* testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Ditto.
	* testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Ditto.
	* testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: Ditto.
	* testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Ditto.
	* testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: Ditto.

	* include/bits/fstream.tcc (showmanyc): Use only the
	documented derivation interface to basic_streambuf (gptr(),
	setg(), etc.) to work right with user specializations.
	* include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc,
	sputc, xsgetn, xsputn, __copy_streambufs): Likewise.
	* include/std/std_streambuf.h (in_avail, sgetc, uflow, stossc):
	Likewise.
	* include/std/std_fstream.h (_M_create_pback, _M_destroy_pback,
	xsgetn): Likewise.

2003-06-23  Loren J. Rittle  <ljrittle@acm.org>

	* configure.host (freebsd*): Set abi_baseline_pair.
	* config/abi/i386-freebsd4/baseline_symbols.txt: Update from 3.2
	(at or near first release) to 3.3.
	* config/abi/i386-freebsd5/baseline_symbols.txt: New file.
	* config/abi/alpha-freebsd5/baseline_symbols.txt: New file.
	* config/abi/sparc-freebsd5/baseline_symbols.txt: New file.

	* include/ext/mt_allocator.h: Portability.
	* testsuite/testsuite_performance.h: Likewise.

2003-06-23  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/html/17_intro/libstdc++-assign.txt: Update address.

	* testsuite/performance/ifstream_getline.cc: Fix.

2003-06-23  Doug Gregor <dgregor@apple.com>

	* include/bits/boost_concept_check.h: Don't use _D or _R for type
	names.

2003-06-22  Paolo Carlini  <pcarlini@unitus.it>
	    Nathan C. Myers  <ncm-nospam@cantrip.org>

	* include/std/std_streambuf.h (_M_move_out_cur): _M_out_lim
	is now used only for filebuf, when _M_buf_unified is true.
	epgtr() plays the role of _M_out_lim but it's only updated
	upon overflow, underflow, uflow, seekoff/pos.
	* include/bits/sstream.tcc (_M_underflow): New, implements
	stringbuf::underflow and uflow.
	(seekoff, seekpos): Tweak, use  _M_update_egptr.
	* include/std/std_sstream.h (str): Rewrote, deal correctly
	with the new logic, in particular, when pptr() > egptr().
	(_M_sync): When __testout && !__testin set all the get area
	pointers to the current string end.
	(_M_update_egptr): New, internal function updating egptr()
	to the actual string end.
	(_M_underflow): New, declare.
	(underflow): Dispatch to _M_underflow(false).
	(uflow): Dispatch to _M_underflow(true).

	* include/bits/sstream.tcc (pbackfail, overflow, seekoff,
	seekpos): Use only the documented derivation interface to
	basic_streambuf (gptr(), setg(), etc.) to work right with
	user specializations.
	* include/std/std_sstream.h (str, _M_sync): Likewise.

2003-06-20  Doug Gregor <dgregor@apple.com>

	* testsuite/20_util/auto_ptr.cc: Don't dereference NULL auto_ptr
	* testsuite/21_strings/basic_string/replace/char/4.cc: Don't
	dereference end iterator.
	* testsuite/21_strings/basic_string/replace/wchar_t/4.cc: Same.
	* testsuite/22_locale/ctype/narrow/char/1.cc: Don't subscript with
	index equal to the length of a string.
	* testsuite/22_locale/ctype/narrow/char/2.cc: Same.
	* testsuite/22_locale/ctype/narrow/wchar_t/1.cc: Same.
	* testsuite/22_locale/ctype/narrow/wchar_t/2.cc: Same.
	* testsuite/22_locale/ctype/widen/char/1.cc: Same.
	* testsuite/22_locale/ctype/widen/wchar_t/1.cc: Same.
	* testsuite/23_containers/list_modifiers.cc: Don't dereference
	singular reverse iterator.
	* testsuite/23_containers/vector_bool.cc: Don't increment singular
	iterator.
	* testsuite/24_iterators/rel_ops.cc: Don't compare singular iterator.

2003-06-20  Doug Gregor <dgregor@apple.com>

	* include/bits/basic_string.h (basic_string::replace): Dispatch
	_InputIterator version based on _Is_integer.
	* include/bits/basic_string.tcc (basic_string::replace):
	Renamed replace(iterator, iterator, size_type, _CharT) to
	_M_replace_aux.
	* testsuite/21_strings/basic_string/assign/char/1.cc (test01):
	Test basic_string::assign(_InputIterator, _InputIterator),
	which calls basic_string::replace(iterator, iterator,
	_Input_iterator, _InputIterator).

2003-06-20  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/testsuite_performance.h (resource_counter): Don't use
	mallinfo at the moment.

2003-06-20  Matthias Klose  <doko@debian.org>

	* configure.host: Set try_cpu to target_cpu for existing
	baseline files.

2003-06-19  Andreas Jaeger  <aj@suse.de>

	* testsuite/Makefile.am (extract_symvers): Revert accidental
	change.
	* testsuite/Makefile.in: Regenerate.

	* configure.in: Pass MULTISUBDIR to testsuite/Makefile.
	* configure: Regenerated.

2003-06-19  Paolo Carlini  <pcarlini@unitus.it>

	* include/std/std_sstream.h (_M_sync): Make non virtual.

2003-06-18  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/testsuite_performance.h (time_counter): New.
	(resource_counter): New.
	(report_performance): New.
	(start_counters): New.
	(stop_counters): New.
	(clear_counters): New.
	* testsuite/performance/allocator.cc: Instrument.
	* testsuite/performance/cout_insert_int.cc: Same.
	* testsuite/performance/complex_norm.cc: Same.
	* testsuite/performance/filebuf_sputc.cc: New.
	* testsuite/performance/fstream_seek_write.cc: Same.
	* testsuite/performance/ifstream_getline.cc: Same.
	* testsuite/performance/map_create_fill.cc: Same.
	* testsuite/performance/ofstream_insert_float.cc: Same.
	* testsuite/performance/ofstream_insert_int.cc: Same.
	* testsuite/performance/string_append.cc: Convert.
	* scripts/check_performance: New.
	* testsuite/Makefile.am (check-performance): New.
	(CLEANFILES): Add.

2003-06-18  Paolo Carlini  <pcarlini@unitus.it>
	    Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/std_sstream.h (setbuf): Check __n >= 0.
	* include/bits/fstream.tcc (setbuf): Tweak.

2003-06-18  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/sstream.tcc (seekoff): We can't seek beyond
	_M_out_lim, therefore _M_move_out_cur boils down to simply
	updating _M_out_cur.
	(seekpos): Likewise, clean up.

2003-06-18  Nathan C. Myers  <ncm-nospam@cantrip.org>
	    Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/fstream.tcc (setbuf): Allow (__s, 1) too,
	simply equivalent to the unbuffered case (0, 0) as far as
	_M_buf_size is concerned.

2003-06-18  Andreas Jaeger  <aj@suse.de>

	* testsuite/Makefile.am (new-abi-baseline): Create baseline
	directory.
	(baseline_file): Use baseline_dir.
	(baseline_dir): New.
	(mkinstalldirs): New.

	* acinclude.m4: Rename baseline_file to baseline_dir, strip
	filename from baseline_dir.

	* testsuite/Makefile.in: Regenerated.
	* Makefile.in: Regenerated.
	* aclocal.m4: Regenerated.
	* configure: Regenerated.

2003-06-17  Benjamin Kosnik  <bkoz@redhat.com>

	* configure.in: Missed check_survey bit.
	* configure: Regenerated.

2003-06-17  Benjamin Kosnik  <bkoz@redhat.com>

	* scripts: New.
	* config/abi/extract_symvers: Move to...
	* scripts/extract_symvers: ...here.
	* mkcheck.in: Move to..
	* scripts/check_survey.in: ...here.
	* testsuite_flags.in: Move to..
	* scripts/testsuite_flags.in: ...here.
	* configure.in: Change check and testsuite_flags locations.
	* configure: Regenerate.
	* testsuite/Makefile.am (current_symbols.txt): Change location.
	* testsuite/Makefile.in: Regenerate.
	* testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Modify
	location of testsuite_flags.
	* Makefile.am (check-script): Move..
	(check-script-install): Move...
	* testsuite/Makefile.am: ... here.
	* testsuite/Makefile.in: Regenerate.
	* Makefile.in: Regenerate.

2003-06-17  Benjamin Kosnik  <bkoz@redhat.com>

	* config/abi/i486-linux-gnu/baseline_symbols.txt: Update to 3.3.0.

2003-06-16  Benjamin Kosnik  <bkoz@redhat.com>

	* Makefile.am (check-abi): Move...
	(new-abi-baseline): Move...
	* testsuite/Makefile.am: ...here.
	(new-abi-baseline): Conditionalize.
	(check-abi): Conditionalize.
	(check-abi-verbose): New.
	* Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.
	* configure.in: Consolidate testsuite configure bits.
	* acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Same.
	* configure: Regenerate.
	* aclocal.m4: Regenerate.
	* testsuite/abi_check.cc: Add --check-verbose.
	Only output detailed information if --check-verbose.

2003-06-16  Andreas Jaeger  <aj@suse.de>

	* testsuite/abi_check.cc: Create summary report.

2003-06-16  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Fix
	for systems with BUFSIZ != 8192.
	* testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc:
	Minor tweaks.

2003-06-16  Andreas Jaeger  <aj@suse.de>

	* acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Make
	check-abi multilib aware.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2003-06-16  Benjamin Kosnik  <bkoz@redhat.com>
	    Andreas Jaeger  <aj@suse.de>

	* configure.host: Set x86_64 abi_baseline pair correctly.

2003-06-16  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/27_io/basic_filebuf/sungetc/char/1.cc: Split and
	fix for missing seeks between gets and puts into...
	* testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc: New.
	* testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: New.
	* testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: New.
	* testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc: New.
	* testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: New.
	* testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc: New.

2003-06-15  Richard Henderson  <rth@redhat.com>

	* config/linker-map.gnu: Export virtual function thunks for
	64-bit systems too.

2003-06-13  Benjamin Kosnik  <bkoz@redhat.com>

	* config/abi/i686-pc-linux-gnu: To..
	* config/abi/i486-linux-gnu: ...this.
	* config/abi/alphaev67-unknown-linux-gnu: To..
	* config/abi/alpha-linux-gnu: ...this.
	* config/abi/ia64-unknown-linux-gnu: To...
	* config/abi/ia64-linux-gnu: ...this.
	* config/abi/x86_64-unknown-linux-gnu: To...
	* config/abi/x86_64-linux-gnu: ...this.
	* config/abi/i386-unknown-freebsd4: To...
	* config/abi/i386-freebsd4: ...this.
	* config/linker-map.gnu: Cleanups, move libsupc++ bits into
	CXXABI.
	* configure.host: abi_baseline_triplet to abi_baseline_pair.
	Simplify cpu bits so that abi_baseline_pair can use the same
	cpu configuration.
	* acinclude.m4: Same.
	* aclocal.m4: Regenerate.
	* configure.in: Can't get enable_abi_check to yes unless native.
	* configure: Regenerate.

2003-06-13  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/27_io/basic_filebuf/seekoff/char/1.cc: Split and
	fix for missing seeks between gets and puts into...
	* testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: New.
	* testsuite/27_io/basic_filebuf/seekoff/char/4-io.cc: New.
	* testsuite/27_io/basic_filebuf/seekpos/char/1.cc: Same, into...
	* testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: New.
	* testsuite/27_io/basic_filebuf/seekpos/char/4-io.cc: New.
	* testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Fix
	for missing seeks between gets and puts.
	* testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: Ditto.
	* testsuite/data/seekoff-1.tst: New.
	* testsuite/data/seekoff-2.tst: New.
	* testsuite/data/seekpos-1.tst: New.
	* testsuite/data/seekpos-2.tst: New.

2003-06-13  Nathan C. Myers <ncm-nospam@cantrip.org>

	Avoid multi-processor bus contention on increment/decrement-and-
	test of the reference count in the empty-string object, by comparing
	addresses first, and never touching the reference count of the empty-
	string object.
	* include/bits/basic_string.h:
	(_S_empty_rep_storage): Move into basic_string<>::_Rep for use by its
	members.
	(_Rep::_S_empty_rep()): New accessor.
	(_Rep::_M_length, _Rep::_M_capacity, _Rep::_M_references): Move to
	a base class _Rep_base.
	(_Rep::_M_dispose, _Rep::_M_refcopy): Check for the empty string.
	(basic_string()): Change to use _M_refdata() in place of _M_refcopy(),
	since no longer must increment its refcount.
	* include/bits/basic_string.tcc:
	(_Rep::_M_destroy, _M_leak_hard): Check for the empty string and
	return immediately.  The former might be unnecessary.  The latter
	prevents begin() and end() from cloning it unnecessarily.
	(_S_construct(_InIterator, _InIterator, const _Alloc&,
	input_iterator_tag), _S_construct(_InIterator, _InIterator,
	const _Alloc&, forward_iterator_tag), _S_construct(size_type, _CharT,
	const _Alloc&)): Change to use _M_refdata() in place of _M_refcopy().
	(_M_mutate): Check for the empty string and treat it as shared.
	This is necessary here because _M_mutate is sometimes called with
	all-zero arguments; in all other uses of _M_is_shared, the test comes
	out right anyhow.

2003-06-12  Benjamin Kosnik  <bkoz@redhat.com>

	* src/allocator-inst.cc: Explicitly instantiate.
	* include/ext/pool_allocator.h: Inhibit implicit instantiations.
	Tweaks.
	* config/linker-map.gnu: Add __pool_alloc bits. Tweaks.

2003-06-11  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Simplify.
	* aclocal.m4: Regenerate.
	* Makefile.am (SUBDIRS): Remove libio.
	* Makefile.in: Regenerate.
	* configure.in: Same.
	* configure: Regenerate.
	* config/io/basic_file_libio.cc: Remove.
	* config/io/basic_file_libio.h: Remove.
	* config/io/c_io_libio_codecvt.c: Remove.
	* config/io/c_io_libio.h: Remove.
	* libio/*: Remove.
	* src/Makefile.am: Same.
	* src/Makefile.in: Regenerate.
	* docs/html/configopts.html: Edits.
	* docs/html/explanations.html: Edits.

2003-06-11  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/stl_alloc.h (__debug_alloc): Move out.
	(__malloc_alloc): Same.
	(__pool_alloc): Same.
	(__new_alloc): Same.
	Rename to..
	* include/bits/allocator.h: ...this.
	* include/bits/stl_deque.h: Modify comment.
	* include/bits/stl_tree.h: Modify include.
	* include/std/std_memory.h: Same.
	* include/ext/rope: Same.
	* include/ext/slist: Same.
	* include/std/std_vector.h: Same.
	* include/std/std_stack.h: Same.
	* include/std/std_queue.h: Same.
	* include/std/std_list.h: Same.
	* include/std/std_deque.h: Same.
	* include/backward/alloc.h: Same.
	* include/ext/debug_allocator.h: New.
	* include/ext/malloc_allocator.h: New.
	* include/ext/pool_allocator.h: New.
	* include/ext/new_allocator.h: New.
	* include/bits/pthread_allocimpl.h: Remove.
	* include/bits/stl_pthread_alloc.h: Remove.
	* include/Makefile.am (ext_headers): Add.
	* include/Makefile.in: Regenerate.
	* src/stl-inst.cc: Use __gnu_cxx namespace.
	* src/stl-inst.cc: Move to...
	* src/allocator-inst.cc: Here.
	* src/Makefile.am (sources): Update.
	* src/Makefile.in: Regenerate.
	* config/linker-map.gnu: Remove __pool_alloc bits.
	* testsuite/ext/headers.cc: Add.
	* testsuite/ext/allocators.cc: Fixup.

2003-06-11  Stefan Olsson  <stefan@snon.net>
	    Ola Rönnerup  <fnolis@home.se>

	* include/Makefile.am (ext_headers): Add.
	* include/Makefile.in: Regenerate.
	* include/ext/mt_allocator.h: New file.

2003-06-10  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/fstream.tcc (close): Clean up a bit.

	* include/bits/streambuf.tcc (sbumpc): Clean up a bit.

	* include/std/std_fstream.h (_M_destroy_pback): _M_pback_cur_save
	- the saved _M_in_cur, that is - cannot be null.
	(sync): Constify a variable.

	* include/std/std_streambuf.h: Tweak a comment.
	(in_avail): Constify a variable.

2003-06-10  Phil Edwards  <pme@gcc.gnu.org>

	* docs/html/17_intro/BUGS:  Update from 2.90.8 snapshot.
	* docs/html/17_intro/CHECKLIST:  Bring up to date with respect to
	correctness of container::iterator typedefs.  Fix whitespace.
	* docs/html/20_util/howto.html, docs/html/ext/howto.html:  Add links
	to allocator docs.
	* docs/html/documentation.html:  Regenerate.

	* include/bits/basic_string.h, include/bits/basic_string.tcc,
	include/bits/deque.tcc, include/bits/list.tcc, include/bits/stl_algo.h,
	include/bits/stl_algobase.h, include/bits/stl_bvector.h,
	include/bits/stl_deque.h, include/bits/stl_iterator_base_funcs.h,
	include/bits/stl_list.h, include/bits/stl_uninitialized.h,
	include/bits/stl_vector.h, include/bits/vector.tcc,
	include/ext/algorithm, include/ext/slist, include/std/std_bitset.h:
	Change _Iter names to _Iterator, and __pos to __position.

	* include/bits/stl_relops.h, include/bits/stl_numeric.h,
	include/bits/stl_multiset.h, include/bits/stl_set.h:
	Remove emacs markers.

	* include/bits/stl_threads.h (_STL_auto_lock):  Add __unused__.

2003-06-10  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/fstream.tcc (overflow): According to
	27.5.2.4.5, overflow() returns not_eof(eof()).
	* testsuite/27_io/basic_filebuf/overflow/char/2.cc: New.
	* testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc: Ditto.

2003-06-10  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/fstream.tcc (_M_underflow): Check overflow return
	value; tweak slightly.

2003-06-09  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/fstream.tcc (_M_underflow): Do not special
	case the unbuffered case, which really means simply a one char
	get area.
	(basic_filebuf): Initialize _M_buf_size.
	(setbuf): Unbuffered means _M_buf_size == 1, since only
	_M_buf_size - 1 == 0 chars are going to be used for the
	put area and 1 for the get area.
	* include/std/std_streambuf.h (_M_buf_size): Move to basic_filebuf.
	(~basic_streambuf): Tweak.
	(basic_streambuf): Do not initialize _M_buf_size.
	* include/std/std_fstream.h (_M_buf_size): Add from basic_streambuf.
	(~basic_filebuf): Tweak.
	(_M_set_buffer): Tweak, considering that _M_buf_size == 1 is the
	unbuffered situation (i.e., put area pointers NULL).
	* include/bits/streambuf.tcc (sbumpc): Clean up.
	* testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Split into...
	* testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc: New.
	* testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: New.
	* testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: New.
	* testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc: New.
	* testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: New.
	* testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: New.

2003-06-09  Phil Edwards  <pme@gcc.gnu.org>

	* acinclude.m4:  Move all AM_CONDITIONAL calls out.
	(GLIBCPP_CONFIGURE):  Set defaults for variables used in AM_CONDITIONAL
	statements.
	* configure.in:  Centralize AM_CONDITIONALs so that they are always
	run.  Make use of GLIBCPP_IS_CROSS_COMPILING.
	* aclocal.m4, configure:  Regenerated.

2003-06-09  Paolo Carlini  <pcarlini@unitus.it>

	* docs/html/ext/howto.html ('LWG Issues'):  Add issue 235.

2003-06-06  Nathan Myers  <ncm-nospam@cantrip.org>

	* include/bits/stl_iterator.h
	(reverse_iterator::reverse_iterator()): Apply DR235: default
	constructor default-initializes data member.  Instantiated on a
	pointer type, the member has to end up equal to zero.

2003-06-06  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/stl_alloc.h: Cleanups.
	* include/ext/functional: Same.
	* include/ext/hash_map: Same.
	* include/ext/hash_set: Same.
	* include/ext/iterator: Same.
	* include/ext/memory: Same.
	* include/ext/numeric: Same.
	* include/ext/rb_tree: Same.
	* include/ext/ropeimpl.h: Same.
	* include/ext/slist: Same.
	* include/ext/stdio_filebuf.h: Same.
	* include/ext/stdio_sync_filebuf.h: Same.
	* include/ext/stl_rope.h: Move to...
	* include/ext/rope: ...here.
	* include/ext/stl_hash_fun.h: Move to...
	* include/ext/hash_fun.h: ...here.
	* include/ext/stl_hashtable.h: Move to...
	* include/ext/hashtable.h: ...here.
	* include/backward/hashtable.h: Reflect new names.
	* include/Makefile.am: Same.
	* include/Makefile.in: Regenerated.

2003-06-05  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/9024
	* include/bits/fstream.tcc (_M_underflow): Fix for unbuffered.
	* include/bits/stl_algobase.h: Tweak.
	* include/std/std_fstream.h: Move _M_buf_size to...
	* include/std/std_streambuf.h: ...here. Modify.
	* include/bits/streambuf.tcc: Same.
	* testsuite/testsuite_hooks.h: Tweak.
	* testsuite/testsuite_io.h (constraint_filebuf): New.
	* testsuite/27_io/basic_filebuf/sbumpc/char/1.cc: Split into...
	* testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: New.
	* testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: New.
	* testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: New.
	* testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: New.
	* testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: New.
	* testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc: New.
	* testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Split into...
	* testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: New.
	* testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: New.
	* testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: New.
	* testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: New.
	* testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: New.
	* testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc: New.
	* testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Split into...
	* testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: New.
	* testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: New.
	* testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: New.
	* testsuite/27_io/basic_filebuf/sgetn/char/2.cc: Split into...
	* testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: New.
	* testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: New.
	* testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc: New.
	* testsuite/27_io/basic_filebuf/sgetn/char/3.cc: New.
	* testsuite/27_io/basic_filebuf/snextc/char/1.cc: Split into...
	* testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: New.
	* testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: New.
	* testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: New.
	* testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: New.
	* testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: New.
	* testsuite/27_io/basic_filebuf/snextc/char/2-out.cc: New.
	* testsuite/27_io/basic_filebuf/sputc/char/1.cc: Split into...
	* testsuite/27_io/basic_filebuf/sputc/char/1-in.cc: New.
	* testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: New.
	* testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: New.
	* testsuite/27_io/basic_filebuf/sputc/char/2.cc: Split into...
	* testsuite/27_io/basic_filebuf/sputc/char/2-in.cc: New.
	* testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: New.
	* testsuite/27_io/basic_filebuf/sputc/char/2-out.cc: New.
	* testsuite/27_io/basic_filebuf/sputn/char/1.cc: Split into...
	* testsuite/27_io/basic_filebuf/sputn/char/1-in.cc: New.
	* testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: New.
	* testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: New.
	* testsuite/27_io/basic_filebuf/sputn/char/2-in.cc: New.
	* testsuite/27_io/basic_filebuf/sputn/char/2-io.cc: New.
	* testsuite/27_io/basic_filebuf/sputn/char/2-out.cc: New.
	* testsuite/data/sgetc.txt: New.
	* testsuite/data/sgetn.txt: New.

2003-06-05  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/11095
	* include/bits/istream.tcc (operator>>(basic_istream&, _CharT*)):
	Deal with width() smaller than zero.
	* include/bits/ostream.tcc (operator<<(basic_ostream&, _CharT),
	operator<<(basic_ostream&, char), operator<<(basic_ostream&, const
	_CharT*), operator<<(basic_ostream<_CharT, _Traits>&, const
	char*), operator<<(basic_ostream<char, _Traits>&, const char*),
	operator<<(basic_ostream, const basic_string&)): Likewise.

	* testsuite/27_io/basic_istream/extractors_character/char/
	(11095-i.cc, 11095-oa.cc, 11095-ob.cc, 11095-oc.cc): New.
	* testsuite/27_io/basic_ostream/inserters_character/char/
	(11095-oa.cc, 11095-ob.cc, 11095-oc.cc): New.
	* testsuite/27_io/basic_ostream/inserters_character/wchar_t/
	(11095-od.cc, 11095-oe.cc, 11095-of.cc): New.

2003-06-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* acinclude.m4 (GLIBCPP_CHECK_PCH): Only set glibcpp_PCHFLAGS if
	.gch compilation works.
	* aclocal.m4, configure: Regenerate.
	* testsuite_flags.in (--build-cxx): Use glibcpp_PCHFLAGS to
	initialize PCHFLAGS.

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

	* include/bits/basic_string.h (_M_fold, insert(iterator, _CharT),
	erase(iterator), erase(iterator, iterator), c_str,
	compare(const basic_string&)): Constify various variables.
	* include/bits/basic_string.tcc (_S_construct(_InIter, _InIter,
	const _Alloc&, input_iterator_tag), _M_destroy, _M_mutate,
	_S_create, resize, _M_replace, _M_replace_safe,
	append(const basic_string&), append(const basic_string&, size_type,
	size_type), append(const _CharT*, size_type), append(size_type,
	_CharT), operator+(const _CharT*, const basic_string&),
	operator+(_CharT, const basic_string&), replace(iterator, iterator,
	size_type, _CharT), find(const _CharT*, size_type, size_type),
	find(_CharT, size_type), rfind(const _CharT*, size_type, size_type),
	rfind(_CharT, size_type), compare(size_type, size_type,
	const basic_string&), compare(size_type, size_type,
	const basic_string&, size_type, size_type), compare(const _CharT*),
	compare(size_type, size_type, const _CharT*), compare(size_type,
	size_type, const _CharT*, size_type)): Likewise.

2003-06-03  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/fstream.tcc (pbackfail): Make a rarely taken
	'if' branch less obscure.

2003-06-02  Andrew Pinski  <pinskia@physics.uc.edu>

	PR libstdc++/9815
	* config/cpu/i386/atomicity.h (__exchange_and_add): add intel
	asm case to asm.
	* config/cpu/i486/atomicity.h (__exchange_and_add): Likewise.
	(__atomic_add): likewise.

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

	* include/bits/sstream.tcc (pbackfail): Minor clean up and
	reformatting, consistent with basic_filebuf::pbackfail.

2003-06-02  Richard Kreckel  <Richard.Kreckel@GiNaC.DE>

	PR libstdc++/11062
	* config/cpu/mips/atomicity.h:  Change __attribute__ ((unused)) to
	__attribute__ ((__unused__)).
	* config/os/aix/atomicity.h:  Likewise.

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

	PR libstdc++/9761
	* include/bits/fstream.tcc (pbackfail): If the pback buffer
	is already active don't try to store in it a second char.
	* testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc: New.

	* include/bits/fstream.tcc (pbackfail): Add unbuffered bits.

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

	* testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: Tweak
	line spacing.

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

	* include/std/std_fstream.h (_M_destroy_pback): Use _M_in_beg
	instead of unnecessarily taking the address of _M_pback.
	(xsgetn): Simplify slightly for a single char pback buffer.

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

	* include/bits/sstream.tcc (seekoff): Remove four unnecessary
	variables and two 'if', clean up.

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

	* include/bits/sstream.tcc (seekpos): Test against _M_out_lim
	not _M_out_end, since the former actually points to the string
	end (vs buffer end).
	* testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: New.

2003-05-30  Phil Edwards  <pme@gcc.gnu.org>

	* docs/doxygen/filter:  New file.
	* docs/doxygen/filter.sed:  New file.
	* docs/doxygen/run_doxygen:  Add g flag to sed substitutions.  Duh.
	* docs/doxygen/user.cfg.in (INPUT_FILTER):  Point to new filter.
	* docs/html/documentation.html:  Fix links to doxygen pages.

2003-05-30  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/fstream.tcc (_M_convert_to_external): Don't
	check for __ilen > 0.

2003-05-29  Sylvain Pion  <Sylvain.Pion@mpi-sb.mpg.de>

	PR libstdc++/10783
	* include/bits/stl_iterator.h (class __normal_iterator):
	Don't inherit from iterator, add missing typedefs.

2003-05-29  Paolo Carlini <pcarlini@unitus.it>

	* testsuite/24_iterators/reverse_iterator.cc: Split up, as follows.
	* testsuite/24_iterators/reverse_iterator/1.cc: New.
	* testsuite/24_iterators/reverse_iterator/2.cc: New.
	* testsuite/24_iterators/reverse_iterator/3.cc: New, from
	PR libstdc++/10783.

2003-05-27  Steve Ellcey  <sje@cup.hp.com>

	* config/os/hpux/os_defines.h: Define _LIBUNWIND_STD_ABI if we are
	on IA64 HP-UX.
	* libsupc++/eh_throw.cc: Don't call _Unwind_Resume_or_Rethrow if
	_LIBUNWIND_STD_ABI is set.

2003-05-26  Brendan Kehoe  <brendan@zen.org>

	* include/bits/locale_facets.tcc (do_get): Honor $22.2.6.3.3/8 and
	make sure the number of digits required after the decimal-point
	(if any) is exactly the value returned by frac_digits().
	* testsuite/22_locale/money_get/get/char/9.cc: New.
	* testsuite/22_locale/money_get/get/wchar_t/9.cc: New.

2003-05-27  Jonathan Wakely  <redi@gcc.gnu.org>

	* include/std/std_istream.h, include/std/std_ostream.h: Typo in
	comment.

2003-05-26  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/9339
	* include/std/std_fstream.h (basic_filebuf::_M_overflow): Remove.
	(_M_pback): No array necessary.
	* include/bits/fstream.tcc (basic_filebuf::_M_overflow): Add
	unbuffered case, coalesec into ...
	(basic_filebuf::overflow): ...this.
	* testsuite/27_io/basic_filebuf/sputn/char/9339.cc: New.
	* testsuite/27_io/basic_filebuf/sputc/char/2.cc: Unbuffered.

2003-05-24  Nathanael Nerode  <neroden@gcc.gnu.org>

	* libsupc++/Makefile.am, libsupc++/cxxabi.h, libsupc++/del_op.cc,
	libsupc++/del_opnt.cc, libsupc++/del_opv.cc, libsupc++/del_opvnt.cc,
	libsupc++/eh_alloc.cc, libsupc++/eh_aux_runtime.cc,
	libsupc++/eh_catch.cc, libsupc++/eh_exception.cc,
	libsupc++/eh_globals.cc, libsupc++/eh_personality.cc,
	libsupc++/eh_term_handler.cc, libsupc++/eh_terminate.cc,
	libsupc++/eh_throw.cc, libsupc++/eh_type.cc,
	libsupc++/eh_unex_handler.cc, libsupc++/exception,
	libsupc++/new, libsupc++/new_handler.cc, libsupc++/new_op.cc,
	libsupc++/new_opnt.cc, libsupc++/new_opv.cc, libsupc++/new_opvnt.cc,
	libsupc++/pure.cc, libsupc++/tinfo.cc, libsupc++/tinfo2.cc,
	libsupc++/typeinfo, libsupc++/unwind-cxx.h, libsupc++/vec.cc:
	Replace "GNU CC" with "GCC".

	* include/backward/new.h: Replace "GNU CC" with "GCC".

2003-05-22  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/3066.
	* configure.in: Switch target to host, don't assume newlib.
	(target_alias): Remove.
	* configure: Regenerate.
	* acinclude.m4: Same.
	* aclocal.m4: Regenerate.
	* configure.target: Same. Rename to...
	* configure.host: This.

2003-05-22  Paolo Carlini  <pcarlini@unitus.it>

	* include/std/std_fstream.h (_S_pback_size): Remove definition.
	(_M_create_pback(), _M_destroy_pback()): Simplify for a single-char
	pback buffer.
	* include/bits/fstream.tcc (_S_pback_size): Remove declaration.
	* testsuite/27_io/basic_filebuf/3.cc: Remove explicit instantiation
	of _S_pback_size for systems with no COMDAT or weak support.
	* testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: Likewise.
	* testsuite/27_io/basic_filebuf/underflow/10096.cc: Likewise.
	* testsuite/27_io/basic_fstream/3.cc: Likewise.
	* testsuite/27_io/basic_ifstream/3.cc: Likewise.
	* testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: Likewise.
	* testsuite/27_io/basic_ofstream/3.cc: Likewise.
	* testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Likewise.
	* testsuite/27_io/basic_streambuf/3.cc: Likewise.

2003-05-22  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/fstream.tcc (_M_underflow): Simplify:
	!__testout implies _M_filepos == _M_in_end, therefore
	the first _M_file.seekoff call is never issued.

2003-05-22  Benjamin Kosnik  <bkoz@redhat.com>

	* configure.in: Sort cross table.
	* configure: Regenerate.

2003-05-22  Brad Spencer  <spencer@infointeractive.com>

	PR libstdc++/10106
	* configure.in: Add Solaris cross bits.

2003-05-21  Danny Smith  <dannysmith@users.sourceforge.net>

	* libstdc++-v3/config/os/mingw32/os_defines.h
	(__GTHREAD_HIDE_WIN32API): Define to 1 by defualt.
	(NOMINMAX): Define.  Update copyright year.

2003-05-21  Paolo Carlini  <pcarlini@unitus.it>

	* include/std/std_fstream.h (_M_set_buffer): Fix indentation.

2003-05-21  Jonathan Wakely  <redi@gcc.gnu.org>

	* docs/html/faq/index.html: Fix typo.
	* docs/html/faq/index.txt: Regenerate.

2003-05-21  Jonathan Wakely  <redi@gcc.gnu.org>

	* docs/html/test.html: Fix markup.

2003-05-21  Danny Smith  <dannysmith@users.sourceforge.net>

	* libmath/stubs.c (hypot, hypotf, hypotl): Don't divide by
	zero.
	Update copyright year.

2003-05-20  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/27_io/basic_filebuf/close/char/4.cc: Fix typo.

2003-05-20  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/27_io/basic_filebuf/close/char/5.cc: New file,
	further testing that upon filebuf::close() 27.8.1.1,3 is enforced.

2003-05-20  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* include/bits/stl_alloc.h (__default_alloc_template::_S_chunk_alloc):
	Cast via void* to avoid -Wcast-align warnings.
	(__default_alloc_template::_S_refill): Likewise.

2003-05-20  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/README: Move to...
	* docs/html/test.html: ...here. Add documentation.
	* docs/html/install.html: Move testing bits out..
	* docs/html/documentation.html: Add separate testing link.
	* testsuite/performance: Add.
	* testsuite/performance/allocator.cc: New.
	* testsuite/performance/complex_norm.cc: New.
	* testsuite/performance/cout_insert_int.cc: New.
	* testsuite/performance/fstream_seek_write.cc: New.
	* testsuite/performance/ifstream_getline.cc: New.
	* testsuite/performance/map_create_fill.cc: New.
	* testsuite/performance/ofstream_insert_float.cc: New.
	* testsuite/performance/ofstream_insert_int.cc: New.
	* testsuite/performance/string_append.cc: New.
	* testsuite/lib/libstdc++-v3-dg.exp (v3-compute-tests): Filter
	performance tests.

2003-05-20  Gabriel Dos Reis <gdr@integrable-solutions.net>

	PR libstdc++/10689
	* include/std/std_complex.h (pow): Tidy.

2003-05-19  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/27_io/basic_filebuf/close/char/4.cc: New file, testing
	that upon filebuf::close() 27.8.1.1,3 is enforced.

2003-05-15  Loren J. Rittle  <ljrittle@acm.org>

	* testsuite/thread/pthread4.cc: Further tweak to avoid fini race.

2003-05-15  Paolo Carlini  <pcarlini@unitus.it>
	    Nathan Myers  <ncm@cantrip.org>

	* include/bits/fstream.tcc (_M_overflow): Rewrote to call
	_M_convert_to_external only once (_M_buf_size is now the size of
	the put area + 1 for the overflow char of a full area); call
	_M_set_buffer instead of _M_set_indeterminate.
	(setbuf): Don't accept a buffer smaller than 2 chars.
	(_M_underflow): Refill _M_buf_size - 1 chars; call _M_set_buffer,
	instead of _M_set_determinate.
	(open): Call _M_set_buffer, instead of _M_set_indeterminate.
	(seekoff): Likewise.
	* include/ext/stdio_filebuf.h (stdio_filebuf(int,
	std::ios_base::openmode, bool, size_t),
	stdio_filebuf(std::__c_file*, std::ios_base::openmode, size_t):
	Likewise.
	* include/std/std_fstream.h (_M_set_indeterminate): Remove.
	(_M_set_determinate): Rename as _M_set_buffer, _M_buf_size ->
	_M_buf_size - 1.
	* include/std/std_streambuf.h: Tweak _M_out_lim comment.
	* testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Tweak, taking
	into account that, for _M_buf_size == BUFSIZ == 8192, the size of
	the put area is now BUFSIZ - 1.
	* testsuite/ext/stdio_filebuf_2.cc: Tweak, taking into account
	that now the smallest _M_buf_size is 2 (still fails, for the same
	reason, with 3.2.3)

2003-05-14  Loren J. Rittle  <ljrittle@acm.org>

	* testsuite/thread/pthread4.cc: Tweak test.

2003-05-13  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/27_io/ios_base/cons/copy_neg.cc: Remove
	excess errors dg marker, use dg-errors instead.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Same.
	* testsuite/20_util/auto_ptr_neg.cc: Same.

2003-05-12  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/std_fstream.h (basic_filebuf::_M_codecvt): Add
	cached member.
	* include/bits/fstream.tcc (basic_filebuf::basic_filebuf):
	Initialize _M_codecvt.
	(basic_filebuf::imbue): Same.
	(basic_filebuf::showmanyc): Use it.
	(basic_filebuf::underflow): Use it.
	(basic_filebuf::_M_convert_to_external): Use it.
	(basic_filebuf::seekoff): Use it.
	(basic_filebuf::imbue): Use it, tweaks.
	* include/bits/localefwd.h (__check_facet): New.
	* include/bits/locale_classes.h: Tweaks.
	* include/bits/locale_facets.tcc: Tweaks.
	* include/bits/basic_ios.h (basic_ios::_M_check_facet): Remove.
	_M_fctype to _M_ctype, _M_fnumput to _M_num_put, _M_fnumget to
	_M_num_get. Change _M_check_facet to __check_facet. Tweaks.
	* include/bits/basic_ios.tcc: Same.
	* include/bits/istream.tcc: Same.
	* include/bits/ostream.tcc: Same.
	* include/std/std_streambuf.h: Same.
	* testsuite/27_io/basic_filebuf/imbue/char/2.cc: New.
	* testsuite/27_io/basic_filebuf/imbue/char/3.cc: New.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/1.cc: New.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: New.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: New.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: New.

2003-05-12  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Remove
	unnecessary includes and unused string literals.
	* testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sputc/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sputn/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sungetc/char/1.cc: Likewise.

2003-05-12  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/fstream.tcc (_M_overflow): Remove unbuffered bits.

2003-05-12  Paolo Carlini  <pcarlini@unitus.it>

	* include/std/std_fstream.h (_M_convert_to_external): Change
	to return bool, take two less streamsize parameters.
	* include/bits/fstream.tcc (_M_convert_to_external): Tweak
	consistently definition.
	(_M_overflow): Adjust call points.

2003-05-12  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/27_io/basic_filebuf/underflow/10096.cc: Add weak bits.

2003-05-11  Phil Edwards  <pme@gcc.gnu.org>

	* testsuite/Makefile.am:  Properly quote /both/ LD_RUN_PATHs.
	* testsuite/Makefile.in:  Regenerate.

2003-05-11  Phil Edwards  <pme@gcc.gnu.org>

	* testsuite/Makefile.am:  Properly quote LD_RUN_PATH.
	* testsuite/Makefile.in:  Regenerate.

2003-05-11  Gabriel Dos Reis <gdr@integrable-solutions.net>

	PR libstdc++/3181
	* include/c_std/std_cmath.h: #include <bits/cpp_type_traits.h>
	(acos): Handle integer argument.
	(asin): Likewise.
	(atan): Likewise.
	(atan2): Likewise.
	(ceil): Likewise.
	(cos): Likewise.
	(cosh): Likewise.
	(exp): Likewise.
	(fabs): Likewise.
	(floor): Likewise.
	(frexp): Likewise.
	(ldexp): Likewise.
	(log): Likewise.
	(log10): Likewise.
	(sin): Likewise.
	(sinh): Likewise.
	(sqrt): Likewise.
	(tan): Likewise.
	(tanh): Likewise.
	* include/bits/cpp_type_traits.h (__are_same<>): New traits.
	(__enable_if): Likewise.
	* testsuite/26_numerics/cmath/overloads.C: New test.

2003-05-10  Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/9027
	PR libstdc++/9520
	PR libstdc++/10096
	* include/bits/fstream.tcc (basic_file::_M_underflow):  Add generic
	implementation, based on old wchar_t specialization, add support
	for codecvt::in() return value of codecvt_base::noconv, remove
	_M_file.sys_ungetc() call.
	* include/std/std_fstream.h (basic_file::underflow,
	basic_file::uflow, basic_file::_M_underflow):  Remove
	specialization declarations, call _M_underflow from generic versions
	of underflow and uflow.
	* src/fstream.cc (basic_file::underflow, basic_file::uflow,
	basic_file::_M_underflow):  Remove specializations.
	* src/Makefile.am (sources):  Remove fstream.cc.
	* src/Makefile.in:  Regenerated.
	* testsuite/27_io/basic_filebuf/underflow/10096.cc:  New test.
	* testsuite/27_io/basic_filebuf/underflow/char/1.cc:  New test.
	* testsuite/27_io/basic_filebuf/underflow/char/9027.cc:  New test.
	* testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc:  New test.

2003-05-10  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/stdio_filebuf.h (__stdio_filebuf): Remove stack
	buffer.
	* config/io/basic_file_stdio.h (__basic_file::xsgetn): Remove
	unbuffered bits.
	(__basic_file::xsputn): Same.
	(__basic_file::seekoff): Same.
	(__basic_file::seekpos): Same.
	(__basic_file::showmanyc): Same.
	* config/io/basic_file_stdio.cc: Same.
	* include/std/std_fstream.h: Same.
	* include/bits/fstream.tcc: Same.
	* src/fstream.cc: Same.
	* testsuite/27_io/basic_filebuf/sgetn/char/1.cc (test05): Tidy.

2003-05-10  Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/9520
	PR libstdc++/9661
	PR libstdc++/9662
	* include/ext/stdio_sync_filebuf.h:  New file.
	(basic_stdiobuf):  New.
	* include/Makefile.am (ext_headers): Add ext/stdio_sync_filebuf.h
	* include/Makefile.in: Regenerate.
	* include/bits/ios_base.h (Init::_S_create_buffers,
	Init::_S_destroy_buffers):  Remove declarations.
	* src/globals.cc (buf_cout_sync, buf_cin_sync, buf_cerr_sync,
	buf_wcout_sync, buf_wcin_sync, buf_wcerr_sync):  Define.
	* src/ios.cc (Init::_S_create_buffers,
	Init::_S_destroy_buffers):  Remove.
	(Init::Init):  Create and use syncronized buffers.
	(ios_base::sync_with_stdio):  Destroy syncronized buffers,
	create and install unsyncronized buffers.
	* testsuite/27_io/objects/char/10.cc:  New test.
	* testsuite/27_io/objects/char/9.cc:  New test.
	* testsuite/27_io/objects/char/9661-1.cc:  New test.
	* testsuite/27_io/objects/char/9661-2_xin.cc:  New test.
	* testsuite/27_io/objects/char/9661-2_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/1.cc:  New test.
	* testsuite/27_io/objects/wchar_t/10.cc:  New test.
	* testsuite/27_io/objects/wchar_t/2.cc:  New test.
	* testsuite/27_io/objects/wchar_t/2523-1_xin.cc:  New test.
	* testsuite/27_io/objects/wchar_t/2523-1_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/2523-2_xin.cc:  New test.
	* testsuite/27_io/objects/wchar_t/2523-2_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/3045.cc:  New test.
	* testsuite/27_io/objects/wchar_t/3647.cc:  New test.
	* testsuite/27_io/objects/wchar_t/3_xin.cc:  New test.
	* testsuite/27_io/objects/wchar_t/3_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/4_xin.cc:  New test.
	* testsuite/27_io/objects/wchar_t/4_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/5.cc:  New test.
	* testsuite/27_io/objects/wchar_t/5268.cc:  New test.
	* testsuite/27_io/objects/wchar_t/5280_xin.cc:  New test.
	* testsuite/27_io/objects/wchar_t/5280_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/6.cc:  New test.
	* testsuite/27_io/objects/wchar_t/6548_xin.cc:  New test.
	* testsuite/27_io/objects/wchar_t/6548_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/6648-1_xin.cc:  New test.
	* testsuite/27_io/objects/wchar_t/6648-1_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/6648-2_xin.cc:  New test.
	* testsuite/27_io/objects/wchar_t/6648-2_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/7.cc:  New test.
	* testsuite/27_io/objects/wchar_t/7744_xin.cc:  New test.
	* testsuite/27_io/objects/wchar_t/7744_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/8.cc:  New test.
	* testsuite/27_io/objects/wchar_t/9_xin.cc:  New test.
	* testsuite/27_io/objects/wchar_t/9_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/9520.cc:  New test.
	* testsuite/27_io/objects/wchar_t/9661-1.cc:  New test.
	* testsuite/27_io/objects/wchar_t/9661-2_xin.cc:  New test.
	* testsuite/27_io/objects/wchar_t/9661-2_xin.in:  New.
	* testsuite/27_io/objects/wchar_t/9662.cc:  New test.
	* testsuite/ext/stdiobuf_char.cc:  New test.
	* testsuite/ext/stdiobuf_wchar_t.cc:  New test.

2003-05-10  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/27_io/basic_filebuf/close/char/3.cc: Remove
	unnecessary includes and unused string literals.
	* testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.

2003-05-08  Paolo Carlini  <pcarlini@unitus.it>

	* include/std/std_streambuf.h (setg, setp): Don't touch _M_mode.

2003-05-07  Richard Henderson  <rth@redhat.com>

	PR c++/10570
	* libsupc++/eh_catch.cc (__cxa_begin_catch): Handle foreign exceptions.
	(__cxa_end_catch): Likewise.
	* libsupc++/eh_throw.cc (__cxa_rethrow): Likewise.  Use
	_Unwind_Resume_or_Rethrow.
	* libsupc++/eh_personality.cc (empty_exception_spec): New.
	(PERSONALITY_FUNCTION): Don't ignore terminate or catch-all
	for _UA_FORCE_UNWIND.  Honor empty filter spec for foreign
	exceptions.  Don't push terminate/unexpected to cxa functions.
	(__cxa_call_unexpected): Remove foreign exception fixmes.

2003-05-07  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/27_io/ios_base/cons: New.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: New.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: New.

2003-05-07  Paolo Carlini  <pcarlini@unitus.it>

	* include/std/std_fstream.h (_M_is_indeterminate): Remove.
	* src/fstream.cc
	(basic_filebuf<char/wchar_t>::_M_underflow): Simplify: either
	there is no buffer or __testget == !__testinit.

	* src/fstream.cc
	(basic_filebuf<char/wchar_t>::_M_underflow): _M_set_determinate()
	automatically sets, if appropriate, _M_out_cur == _M_in_cur.

	* include/std/std_fstream.h (_M_destroy_pback): Don't set
	unnecessarily _M_pback_cur_save and _M_pback_end_save.

	* include/std/std_fstream.h (_M_set_determinate): Minor tweak.

	* include/std/std_sstream.h (_M_sync): Minor tweak.

	* include/bits/fstream.tcc (close): No need to call
	_M_destroy_pback, setting _M_pback_init to false suffices
	to clean up.

2003-05-06  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/stl_algo.h: Enums as _S_.
	* include/bits/stl_tree.h: Same.
	* include/bits/stl_bvector.h: Same.
	* include/bits/ios_base.h: Same.
	* include/bits/stl_alloc.h: Same.
	* include/ext/stl_hashtable.h: Same.
	* src/ios.cc: And here.

	* include/std/std_sstream.h: Replace _M_really_sync to _M_sync.
	* include/bits/sstream.tcc: Same.

	* include/bits/basic_ios.h: Correct spacing for '< ctype'.

	* include/bits/locale_facets.tcc: Replace __temp to __tmp.

	* include/bits/locale_facets.h (__num_base): Remove protected.
	Use _S_[io]* names for enumerations.
	(_S_format_int): Remove.
	* include/bits/locale_facets.tcc: Same.
	* src/locale.cc: Same.

	* include/std/std_sstream.h (stringbuf::str): Tweak formatting.

2003-05-06  Phil Edwards  <pme@gcc.gnu.org>

	* docs/html/faq/index.html (3.10):  Add note about mips atomicity.h.
	* docs/html/faq/index.txt:  Regenerated.

2003-05-06  Michael Ritzert <Ritzert@t-online.de>
	    Matt Kraai <kraai@alumni.cmu.edu>

	* include/ext/stl_rope.h (_Rope_RopeRep<>::_M_c_string_lock): Tweak.
	And retweak.

2003-05-06  Richard Sandiford  <rsandifo@redhat.com>

	* configure.target (mips*): Use the generic atomicity.h by default.

2003-05-05  Loren J. Rittle  <ljrittle@acm.org>
	    (Inspired by an alternate patch from Danny Smith.)

	* include/bits/stl_threads.h (_Atomic_swap): Kill it...
	(_Swap_lock_struct<>): ...and the horse it rode in on.
	* src/globals.cc (_Swap_lock_struct<>): Likewise.
	* include/ext/stl_rope.h (_Rope_RopeRep<>::_M_c_string_lock): New
	member to support...
	* include/ext/ropeimpl.h (rope<>::c_str): Follow *all* memory
	visibility rules related to POSIX threads.
	* testsuite/thread/pthread7-rope.cc: New test.

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

	* testsuite/21_strings/basic_string/find/char/3.cc: New
	file, testing basic_string<char>::find_first_not_of.
	* testsuite/21_strings/basic_string/find/wchar_t/3.cc:
	Likewise for basic_string<wchar_t>.

2003-05-03  Loren J. Rittle  <ljrittle@acm.org>

	* testsuite/thread/pthread1.cc: Remove special case for FreeBSD.

2003-05-02  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am (CLEANFILES): Remove PCH files in target
	directory.
	* include/Makefile.in: Regenerate.

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

	* include/std/std_sstream.h (str()): Tidy.

2003-05-02  Nathan Myers  <ncm@cantrip.org>
	    Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/streambuf.tcc (__copy_streambufs): Rewrote.

2003-05-02  Jonathan Wakely  <redi@gcc.gnu.org>

	* include/bits/basic_string.h (swap): Remove redundant template
	parameters from declaration of non-template member function.

2003-05-01  Phil Edwards  <pme@gcc.gnu.org>

	* acconfig.h (_GLIBCPP_USE_NLS):  New symbol.
	* configure.in:  Move libintl.h header test...
	* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE):  ...to here.  Gather all
	the NLS-related test results into one symbol.
	* src/functexcept.cc:  Use it here.
	* aclocal.m4, config.h.in, configure:  Regenerated.

2003-05-01  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/sstream.tcc (overflow): Instead of calling
	str(), then _M_string.reserve, thus copying the contents
	of the current buffer two times, just copy the latter in
	a temporary, then use the 'swap trick'.

2003-05-01  Paolo Carlini  <pcarlini@unitus.it>

	* include/std/std_sstream.h (str()): Revert the best of the
	previous 'improvement', incorrect due to the COW nature of
	v3 basic_string; simplify.

2003-05-01  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/streambuf.tcc (__copy_streambufs): Adjust the
	type of __avail to ptrdiff_t to avoid signed-unsigned warning.

2003-05-01  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/abi_check.cc (check_version): Update known versions.
	Check added symbols for version_name != base version. Add missing
	symbols to incompatible list.

2003-05-01  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCPP_EXPORT_FLAGS): Remove -Winline.
	* aclocal.m4: Regenerated.
	* configure: Regenerated.

2003-05-01  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/streambuf.tcc (basic_streambuf::xsgetn):
	Const-ify some variables.
	(basic_streambuf::xsputn): Likewise; change the type of some
	variables to size_t.
	(__copy_streambufs): Change some variables to size_t.

2003-05-01  Paolo Carlini  <pcarlini@unitus.it>

	* include/std/std_sstream.h (str()): Avoid constructing
	a basic_string temporary not only when it would turn out
	to be zero-sized but also when identical to the current
	_M_string buffer.

2003-05-01  Paolo Carlini  <pcarlini@unitus.it>

	* include/ext/stdio_filebuf.h
	(stdio_filebuf(int, std::ios_base::openmode, bool, size_t),
	stdio_filebuf(std::__c_file*, std::ios_base::openmode, size_t)):
	Shorten a bit (-10 lines) by factoring out some code.

2003-04-30  Phil Edwards  <pme@gcc.gnu.org>

	* acinclude.m4:  Add bit missing from previous patch.
	* aclocal.m4, configure:  Regenerated.

2003-04-29  Phil Edwards  <pme@gcc.gnu.org>

	* docs/doxygen/mainpage.html:  Bring up to date.
	* docs/doxygen/run_doxygen:  Cosmetic tweaks.  Work around a bug
	in Doxygen.
	* docs/doxygen/user.cfg.in:  Scanning the precompiled headers
	breaks everything.  Don't scan them.
	* docs/html/documentation.html:  Point to "Write after approval"
	notes.

2003-04-29  Phil Edwards  <pme@gcc.gnu.org>

	* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE):  Search for gettext outside
	of libc if message translations are being used.  Fix info text in
	xieee_1003.1-2001 case.
	* aclocal.m4, configure:  Regenerate.

2003-04-29 Joel Sherrill  <joel.sherrill@OARcorp.com>
	   Loren J. Rittle <ljrittle@acm.org>
	   Martin v. Löwis  <martin@v.loewis.de>

	* config/cpu/i386/atomicity.h: New file.

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

	* include/bits/fstream.tcc (open): Change to single return.

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

	* include/std/std_sstream.h (underflow): Change to single return.

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

	* include/std/std_streambuf.h (_M_buf): is currently
	used only for basic_filebuf, therefore move it there.
	(basic_streambuf(), ~basic_streambuf()): Adjust.
	* include/std/std_fstream.h (_M_buf): Moved here.
	* include/std/std_sstream.h (setbuf): Don't set _M_buf,
	is actually redundant for basic_stringbuf.
	(_M_really_sync): Likewise.
	* include/bits/fstream.tcc (basic_filebuf()): Adjust.
	* include/bits/sstream.tcc (seekoff): Adjust.

2003-04-28  Benjamin Kosnik  <bkoz@redhat.com>

	* src/localename.cc: Standardize exception strings.
	* src/locale.cc: Same.
	* src/ios.cc: Same.
	* include/bits/basic_string.tcc: Same.
	* include/bits/basic_ios.tcc: Same.
	* include/std/std_bitset.h: Same.
	* include/ext/ropeimpl.h: Same.
	* include/bits/stl_vector.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/stl_bvector.h: Same.
	* config/locale/generic/c_locale.cc: Same.
	* config/locale/gnu/c_locale.cc: Same.
	* config/locale/ieee_1003.1-2001/codecvt_specializations.h: Same.

	* testsuite/testsuite_hooks.cc (__gnu_cxx_test): Modify.

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

	* include/std/std_streambuf.h (_M_buf_size): is currently
	used only for basic_filebuf, therefore move it there.
	(basic_streambuf(), ~basic_streambuf()): Adjust.
	* include/std/std_fstream.h (_M_buf_size): Moved here.
	* include/bits/fstream.tcc (basic_filebuf()): Adjust.

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

	* include/bits/streambuf.tcc (__copy_streambufs): Don't use
	_M_buf_size (synced input is now correctly dealt with
	elsewhere); when the output buffer is full don't fall back
	to a snextc-sputc loop, call overflow instead.

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

	* include/bits/sstream.tcc (pbackfail): Shorten a bit (6 lines)
	the innermost 'if' by factoring out some code.

2003-04-28  Phil Edwards  <pme@gcc.gnu.org>

	* configure.in:  Test for libintl.h.
	* include/bits/c++config:  Define __N for everybody.
	* include/bits/basic_string.h, include/bits/stl_bvector.h,
	include/bits/stl_deque.h, include/bits/stl_vector.h,
	include/std/std_bitset.h:  Wrap all __throw* text with __N.
	* po/Makefile.am (pot):  New rule, mostly working.
	* src/functexcept.cc:  Call gettext on all __throw* arguments when
	-fexceptions is in effect.
	* po/Makefile.in, config.h.in, configure:  Regenerate.

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

	PR libstdc++/9523
	* include/bits/ios_base.h (Init::_S_ios_create,
	Init::_S_ios_destroy):  Remove declarations.
	(Init::_S_create_buffers,
	Init::_S_destroy_buffers):  Declare
	* src/ios.cc (Init::_S_ios_create):  Remove
	(Init::_S_create_buffers):  Create buffers and add to streams.
	(Init::_S_ios_destroy):  Rename to...
	(Init::_S_destroy_buffers):  this.
	(Init::Init):  Only construct streams once.
	(Init::~Init):  Flush streams, don't destroy them.
	(ios_base::sync_with_stdio):  Don't destroy streams, only buffers.
	* testsuite/27_io/ios_base/sync_with_stdio/9523.cc:  New test.
	* testsuite/27_io/objects/char/5.cc:  New test.
	* testsuite/27_io/objects/char/5268.cc:  Avoid undefined behavior.
	* testsuite/27_io/objects/char/6.cc:  New test.
	* testsuite/27_io/objects/char/7.cc:  New test.

2003-04-28  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/27_io/objects/char/8.cc:  New test.

2003-04-28  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/22_locale/codecvt/unicode/char.cc: Remove bom usage.
	* testsuite/22_locale/codecvt/unicode/wchar_t.cc: Same.

2003-04-27  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/std_fstream.h (basic_filebuf): _M_pback_destroy to
	_M_destroy_pback. _M_pback_create to
	_M_create_pback. _M_underflow_common to
	_M_underflow. _M_really_overflow to _M_overflow.
	* include/bits/fstream.tcc: Same.
	* src/fstream.cc: Same.
	* include/std/std_streambuf.h (basic_streambuf): _M_in_cur_move to
	_M_move_in_cur.  _M_out_cur_move to _M_move_out_cur.
	* include/bits/streambuf.tcc: Same.
	* include/bits/fstream.tcc: Same.
	* include/bits/sstream.tcc: Same.

2003-04-27  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_classes.h (locale::_Impl): Change _M_names
	from fixed size array.
	(locale): Change _S_categories as well.
	Formatting tweaks.
	* include/bits/locale_facets.tcc: Tweak.
	* config/locale/gnu/c_locale.cc: Assign _S_categories.
	* config/locale/generic/c_locale.cc: Same.
	* src/locale.cc: Tweak.
	* src/globals.cc: Change facet_name to name_vec, add names_c.
	* src/localename.cc: Use them.
	(locale::_Impl::~_Impl): Destroy _M_names.
	(locale::_Impl::_Impl): Create _M_names.

2003-04-27  Andreas Schwab  <schwab@suse.de>

	* config/locale/ieee_1003.1-2001/codecvt_specializations.h
	(__enc_traits): Use __ibom and __ebom instead of ignoring them.

2003-04-27  Nathan Myers  <ncm@cantrip.org>

	Move some basic_string members out of line because
	they are too big to reasonably be inline.
	* include/bits/basic_string.h
	(assign(const basic_string&, size_type, size_type),
	assign(const _CharT*, size_type),
	insert(size_type, const basic_string&, size_type, size_type),
	insert(size_type, const _CharT*, size_type),
	replace(size_type, size_type, const _CharT*, size_type)):
	Move from here to...
	* include/bits/basic_string.tcc: ...here.

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

	* include/bits/fstream.tcc (pbackfail): Shorten a bit (10 lines)
	the innermost 'if' by factoring out some code.

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

	* include/bits/streambuf.tcc (__copy_streambufs): Don't
	use in_avail(), simplify.

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

	* include/std/std_sstream.h (setbuf): don't set _M_buf_size,
	in basic_stringbuf it's unused.

	* include/std/std_sstream.h (underflow): consistently use
	_M_in_cur, not gptr().

2003-04-25  Ranjit Mathew  <rmathew@hotmail.com>
	    Phil Edwards  <pme@gcc.gnu.org>

	* testsuite_flags.in: Guard against the possibility
	of having "xgcc" as a part of a folder name in the
	path to the GCC build folder.
	* testsuite/Makefile.am: Likewise.
	* testsuite/Makefile.in: Regenerated.

2003-04-25  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/10132
	* include/std/std_fstream.h (basic_filebuf::is_open): Add throw()
	exception specifications.
	(basic_filebuf::close): Same.
	(basic_filebuf::_M_pback_destroy): Same.
	(basic_filebuf::_M_destroy_internal_buffer): Same.
	(basic_filebuf): Remove __res_type typedef.
	* src/fstream.cc: Same.
	* include/bits/fstream.tcc
	(basic_filebuf::_M_convert_to_external): Simplify.
	(basic_filebuf::seekoff): Use has_facet	before use_facet.
	(basic_filebuf::close): Add exception specification of throw().
	* testsuite/27_io/basic_filebuf/cons: New.
	* testsuite/27_io/basic_filebuf/cons/wchar_t: New.
	* testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc: New.
	* testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: New.
	* testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: New.

2003-04-25  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_classes.h
	(locale::_S_extra_categories_size): Remove.
	* src/locale.cc: Remove _S_extra_categories_size.
	* src/localename.cc: Same.
	* config/locale/gnu/c_locale.cc: Same.
	* config/locale/generic/c_locale.cc: Same.

2003-04-24  Richard Sandiford  <rsandifo@redhat.com>

	* src/localename.cc (__gnu_cxx::facet_vec): Correct types.

2003-04-24  Phil Edwards  <pme@gcc.gnu.org>

	* docs/html/17_intro/howto.html:  Update some links.
	* docs/html/18_support/howto.html:  Link doxygen numeric_limits notes.
	* docs/html/27_io/howto.html:  Link doxygen stdio_filebuf notes.
	* docs/html/ext/howto.html:  Link to demangler notes and API.
	* docs/html/faq/index.html:  Remove trailing whitespace.
	(1.4, 2.4, 3.8, 4.1):  Bring up to date.
	(5.6):  Change to a bulleted list.

	* docs/html/faq/index.txt, docs/html/documentation.html,
	docs/html/17_intro/porting.html:  Regenerate.

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

	* testsuite/27_io/basic_filebuf/3.cc: _S_pback_size now
	belongs to basic_filebuf.
	* testsuite/27_io/basic_fstream/3.cc: Likewise.
	* testsuite/27_io/basic_ifstream/3.cc: Likewise.
	* testsuite/27_io/basic_ios/3.cc: Remove _S_pback_size
	instantiation (now belongs to basic_filebuf).
	* testsuite/27_io/basic_iostream/3.cc: Likewise.
	* testsuite/27_io/basic_istream/3.cc: Likewise.
	* testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc:
	_S_pback_size now belongs to basic_filebuf.
	* testsuite/27_io/basic_istringstream/3.cc: Remove _S_pback_size
	instantiation (now belongs to basic_filebuf).
	* testsuite/27_io/basic_ofstream/3.cc: _S_pback_size now
	belongs to basic_filebuf.
	* testsuite/27_io/basic_ostream/3.cc: Remove _S_pback_size
	instantiation (now belongs to basic_filebuf).
	* testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc:
	_S_pback_size now belongs to basic_filebuf.
	* testsuite/27_io/basic_ostringstream/3.cc: Remove _S_pback_size
	instantiation (now belongs to basic_filebuf).
	* testsuite/27_io/basic_streambuf/3.cc: _S_pback_size now belongs
	to basic_filebuf.
	* testsuite/27_io/basic_stringbuf/3.cc: Remove _S_pback_size
	instantiation (now belongs to basic_filebuf).
	* testsuite/27_io/basic_stringstream/3.cc: Likewise.

2003-04-23  Benjamin Kosnik  <bkoz@redhat.com>

	* configure.in: Move GLIBCPP_CHECK_PCH before native/cross conditions.
	* configure: Regenerated.

2003-04-23  Benjamin Kosnik  <bkoz@redhat.com>

	* config/locale/generic/c_locale.h (__convert_from_v): Use
	attribute unused.

2003-04-23  Phil Edwards  <pme@gcc.gnu.org>

	* docs/html/ext/howto.html ('LWG Issues'):  Add issue 60, partial
	implementation only.
	* include/bits/istream.tcc (putback, unget, sync, tellg, seekg):
	Comment and change to comply with DR 60 and the effect on gcount().
	* include/std/std_istream.h:  Update comments.
	* testsuite/27_io/basic_istream/putback/char/1.cc (test01):  Add
	comments about reasons for tests.  Test sync() against gcount().
	* testsuite/27_io/basic_istream/seekg/char/2.cc:  New file, test
	for effect on gcount().
	* testsuite/27_io/basic_istream/tellg/char/2.cc:  New file, test
	for effect on gcount().

2003-04-22  Loren J. Rittle  <ljrittle@acm.org>

	* testsuite/27_io/basic_filebuf/close/char/9964.cc (test_07):
	Adjust timing.

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

	* include/std/std_streambuf.h (_S_pback_size, _M_pback,
	_M_pback_cur_save, _M_pback_end_save, _M_pback_init,
	_M_pback_create(), _M_pback_destroy()): Move to basic_filebuf.
	(basic_streambuf::basic_streambuf()): Adjust.
	* include/std/std_fstream.h (_S_pback_size, _M_pback,
	_M_pback_cur_save, _M_pback_end_save, _M_pback_init,
	_M_pback_create(), _M_pback_destroy()): Moved here
	from basic_streambuf.
	* include/bits/fstream.tcc (basic_filebuf::basic_filebuf()):
	Adjust.
	(basic_filebuf::_S_pback_size): Add declaration.
	* include/bits/streambuf.tcc (basic_streambuf::_S_pback_size):
	Remove declaration.

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

	Consistently use _M_in_beg instead of eback(), _M_in_cur
	instead of gptr(), and so on.
	* include/bits/fstream.tcc (pbackfail, imbue): Here.
	* include/bits/sstream.tcc (pbackfail, seekoff, seekpos): Ditto.
	* include/bits/streambuf.tcc (sbumpc, sputbackc,
	__copy_streambufs): Ditto.
	* include/std/std_streambuf.h (sgetc): Ditto.

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

	* include/bits/sstream.tcc (pbackfail, overflow):
	Formatting fixes.

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

	* include/std/std_streambuf.h (uflow()): It's used only by
	basic_stringbuf (i.e., basic_filebuf provide its own uflow()),
	therefore do not consider the _M_buf_unified == true case.

	* include/std/std_streambuf.h (sgetc()): Restore __ret variable.

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

	* docs/html/ext/howto.html ('LWG Issues'):
	Add issues 19, 90, 171, 231, 271.

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

	* include/bits/sstream.tcc (pbackfail): Remove redundant
	NULL pointer check from test involving _M_in_*.
	(overflow, seekoff, seekpos): Const qualify bool variables.
	* include/std/std_sstream.h (underflow): Remove redundant
	NULL pointer check from test involving _M_in_*.
	(_M_really_sync): Const qualify bool variables.
	* src/fstream.cc (_M_underflow_common): Remove redundant
	NULL pointer check from test involving _M_in_*, const qualify
	bool variables.

	* include/std/std_streambuf.h (sgetc): Remove redundant
	variable.

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

	According to 5.9 para 2 (second bullet) for pointers p, q
	pointing to the same type, with  p == 0 and q == 0, (p < q)
	is false.
	* include/bits/fstream.tcc (close, overflow, _M_really_overflow,
	seekoff): Remove redundant NULL pointer checks from tests
	involving _M_out_* and _M_in_*, const qualify bool variables.
	(showmanyc, pbackfail, _M_convert_to_external, imbue): Const
	qualify bool variables.
	* include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc, sputc):
	Remove redundant NULL pointer checks from tests involving
	_M_out_* and _M_in_*, const qualify bool variables.
	* include/std/std_fstream.h (sync): Likewise.
	(_M_is_indeterminate): Const qualify bool variables.
	* include/std/std_streambuf.h (sgetc, uflow): Remove redundant
	NULL pointer checks from tests involving _M_out_* and _M_in_*,
	const qualify bool variables.
	(_M_in_cur_move, _M_out_cur_move, uflow): Const qualify bool
	variables.

2003-04-18  Loren J. Rittle  <ljrittle@acm.org>

	* include/c_std/std_cmath.h (C99 FP capture): Only undefine said
	C99 FP macros, if actually captured.

	* docs/html/17_intro/porting.texi (_GLIBCPP_USE_C99_CHECK): New macro.
	(_GLIBCPP_USE_C99_DYNAMIC): New macro.
	(_GLIBCPP_USE_C99_LONG_LONG_CHECK): New macro.
	(_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC): New macro.
	* config/os/bsd/freebsd/os_defines.h (_GLIBCPP_USE_C99_CHECK):
	New macro.
	(_GLIBCPP_USE_C99_DYNAMIC): New macro.
	(_GLIBCPP_USE_C99_LONG_LONG_CHECK): New macro.
	(_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC): New macro.
	* include/c_std/std_cstdlib.h: Use new macros.
	* include/c_std/std_cstdio.h: Use new macros.
	* include/c_std/std_cwchar.h: Use new macros.

2003-04-17  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/9555
	* include/bits/ostream.tcc: Catch all exceptions for formatted
	output, instead of std::exception and derivatives.
	* include/bits/istream.tcc: Same.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc:
	* testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc:
	* testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc:
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc:
	* testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
	* testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc:
	New.

2003-04-17  Phil Edwards  <pme@gcc.gnu.org>

	* include/bits/c++config:  Minor cosmetic tweaks.

2003-04-17  Loren J. Rittle  <ljrittle@acm.org>

	* testsuite_flags.in (PCHFLAGS): Find PCH in new home.
	* include/Makefile.am (pch_input): Find in ${target_builddir}.
	(pch_output): Rename to...
	(pch_output_builddir): ..this.  Find in ${target_builddir}.
	(pch_source): Tweak.
	(pch_build): Key off a built file.
	(pch_output rule): Rename to...
	(pch_input rule): ...this.  Produce ${pch_output_builddir}
	instead of ${pch_output}.
	(install-pch rule): Install ${pch_output_builddir}.
	* include/Makefile.in: Regenerated.

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

	* include/std/std_streambuf.h (setp): _M_out_lim, being
	the end limit of used put area, is set equal to _M_out_beg.

2003-04-16  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCPP_CHECK_PCH): New.
	* aclocal.m4: Regenerated.
	* configure.in: Remove old demangler bits.
	Call pch checks.
	* configure: Regenerate.
	* config.h.in: Regenerate.
	* include/Makefile.am (allstamps): Now allstamped.
	(allcreated): Define this.
	(all-local): Use 'em.
	Conditionally define pch_build, pch_install based on
	GLIBCPP_BUILD_PCH.
	(${pch_output}): New rule.
	(install-pch): New rule.
	(install-headers): New rule.
	(install-data-local): Install headers and conditionally pch.
	* include/Makefile.in: Regenerate.
	* testsuite_flags.in (--build-cxx): Use pch file.

2003-04-16  Jonathan Wakely  <redi@gcc.gnu.org>

	* docs/html/ext/sgiexts.html: Fix path to stylesheet.

2003-04-15  Benjamin Kosnik  <bkoz at redhat dot com>
	    Paolo Carlini  <pcarlini at unitus dot it>

	PR libstdc++/9423
	* docs/html/27_io/howto.html
	('The buffering is screwing up my program!'): Explain that
	opening counts as an I/O operation.

2003-04-15  Andreas Tobler  <a.tobler@schweiz.ch>

	* testsuite/thread/pthread1.cc: Enable for darwin test.
	* testsuite/thread/pthread2.cc: Same.
	* testsuite/thread/pthread3.cc: Same.
	* testsuite/thread/pthread4.cc: Same.
	* testsuite/thread/pthread5.cc: Same.
	* testsuite/thread/pthread6.cc: Same.

2003-04-15  Loren J. Rittle  <ljrittle@acm.org>

	libstdc++/7680
	* include/c_std/std_cmath.h (__gnu_cx::__c99_binding): New namespace.
	Populate it with multiple legal ways to obtain the C99 float
	transcendentals.  Use them instead of direct global reference.
	(C99 FP capture): Guard usage with _GLIBCPP_USE_C99_FP_MACROS_DYNAMIC.
	* docs/html/17_intro/porting.texi
	(_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK): New macro.
	(_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): New macro.
	(_GLIBCPP_USE_C99_FP_MACROS_DYNAMIC): New macro.
	* config/os/bsd/freebsd/os_defines.h
	(_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK): New macro.
	(_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): New macro.
	* testsuite/26_numerics/c_math_dynamic.cc: New file.

2003-04-14  Andreas Tobler  <toa@pop.agri.ch>
	    Benjamin Kosnik  <bkoz@redhat.com>

	* config/os/generic/ctype_inline.h: Fix.

2003-04-14  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/testsuite_hooks.h
	(__gnu_cxx_test::run_test_wrapped_generic_locale_exception_catcher):
	Change to try_named_locale.
	* testsuite/testsuite_hooks.cc (__gnu_cxx_test): Same.

	* testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Use
	try_named_locale.
	* testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Same.
	* testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Same.
	* testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Same.
	* testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Same.
	* testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: Same.
	* testsuite/22_locale/codecvt/in/wchar_t/2.cc: Same.
	* testsuite/22_locale/codecvt/in/wchar_t/3.cc: Same.
	* testsuite/22_locale/codecvt/in/wchar_t/4.cc: Same.
	* testsuite/22_locale/codecvt/in/wchar_t/7.cc: Same.
	* testsuite/22_locale/codecvt/in/wchar_t/8.cc: Same.
	* testsuite/22_locale/codecvt/in/wchar_t/9.cc: Same.
	* testsuite/22_locale/codecvt/length/wchar_t/2.cc: Same.
	* testsuite/22_locale/codecvt/length/wchar_t/3.cc: Same.
	* testsuite/22_locale/codecvt/length/wchar_t/4.cc: Same.
	* testsuite/22_locale/codecvt/length/wchar_t/7.cc: Same.
	* testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Same.
	* testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Same.
	* testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Same.
	* testsuite/22_locale/codecvt/out/wchar_t/2.cc: Same.
	* testsuite/22_locale/codecvt/out/wchar_t/3.cc: Same.
	* testsuite/22_locale/codecvt/out/wchar_t/4.cc: Same.
	* testsuite/22_locale/codecvt/out/wchar_t/7.cc: Same.
	* testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Same.
	* testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Same.
	* testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Same.
	* testsuite/22_locale/collate/compare/char/1.cc: Same.
	* testsuite/22_locale/collate/compare/char/2.cc: Same.
	* testsuite/22_locale/collate/compare/char/3.cc: Same.
	* testsuite/22_locale/collate/compare/wchar_t/1.cc: Same.
	* testsuite/22_locale/collate/compare/wchar_t/2.cc: Same.
	* testsuite/22_locale/collate/compare/wchar_t/3.cc: Same.
	* testsuite/22_locale/collate/hash/char/2.cc: Same.
	* testsuite/22_locale/collate/hash/wchar_t/2.cc: Same.
	* testsuite/22_locale/collate/transform/char/2.cc: Same.
	* testsuite/22_locale/collate/transform/char/3.cc: Same.
	* testsuite/22_locale/collate/transform/wchar_t/2.cc: Same.
	* testsuite/22_locale/collate/transform/wchar_t/3.cc: Same.
	* testsuite/22_locale/collate_byname/1.cc: Same.
	* testsuite/22_locale/ctype/is/char/2.cc: Same.
	* testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
	* testsuite/22_locale/ctype/narrow/wchar_t/3.cc: Same.
	* testsuite/22_locale/ctype/widen/wchar_t/2.cc: Same.
	* testsuite/22_locale/ctype/widen/wchar_t/3.cc: Same.
	* testsuite/22_locale/facet/2.cc: Same.
	* testsuite/22_locale/locale/cons/2.cc: Same.
	* testsuite/22_locale/locale/cons/4.cc: Same.
	* testsuite/22_locale/locale/cons/5.cc: Same.
	* testsuite/22_locale/locale/cons/7.cc: Same.
	* testsuite/22_locale/locale/cons/7222-c.cc: Same.
	* testsuite/22_locale/locale/cons/7222-env.cc: Same.
	* testsuite/22_locale/locale/global_locale_objects/2.cc: Same.
	* testsuite/22_locale/messages/members/char/1.cc: Same.
	* testsuite/22_locale/messages/members/char/2.cc: Same.
	* testsuite/22_locale/messages/members/char/3.cc: Same.
	* testsuite/22_locale/messages_byname/1.cc: Same.
	* testsuite/22_locale/money_get/get/char/1.cc: Same.
	* testsuite/22_locale/money_get/get/char/2.cc: Same.
	* testsuite/22_locale/money_get/get/char/3.cc: Same.
	* testsuite/22_locale/money_get/get/char/4.cc: Same.
	* testsuite/22_locale/money_get/get/wchar_t/1.cc: Same.
	* testsuite/22_locale/money_get/get/wchar_t/2.cc: Same.
	* testsuite/22_locale/money_get/get/wchar_t/3.cc: Same.
	* testsuite/22_locale/money_get/get/wchar_t/4.cc: Same.
	* testsuite/22_locale/money_put/put/char/1.cc: Same.
	* testsuite/22_locale/money_put/put/char/2.cc: Same.
	* testsuite/22_locale/money_put/put/char/3.cc: Same.
	* testsuite/22_locale/money_put/put/wchar_t/1.cc: Same.
	* testsuite/22_locale/money_put/put/wchar_t/2.cc: Same.
	* testsuite/22_locale/money_put/put/wchar_t/3.cc: Same.
	* testsuite/22_locale/moneypunct/members/char/2.cc: Same.
	* testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Same.
	* testsuite/22_locale/moneypunct_byname/1.cc: Same.
	* testsuite/22_locale/num_get/get/char/1.cc: Same.
	* testsuite/22_locale/num_get/get/char/2.cc: Same.
	* testsuite/22_locale/num_get/get/char/3.cc: Same.
	* testsuite/22_locale/num_get/get/char/5.cc: Same.
	* testsuite/22_locale/num_get/get/char/6.cc: Same.
	* testsuite/22_locale/num_get/get/wchar_t/1.cc: Same.
	* testsuite/22_locale/num_get/get/wchar_t/2.cc: Same.
	* testsuite/22_locale/num_get/get/wchar_t/3.cc: Same.
	* testsuite/22_locale/num_get/get/wchar_t/5.cc: Same.
	* testsuite/22_locale/num_get/get/wchar_t/6.cc: Same.
	* testsuite/22_locale/num_put/put/char/1.cc: Same.
	* testsuite/22_locale/num_put/put/char/2.cc: Same.
	* testsuite/22_locale/num_put/put/char/3.cc: Same.
	* testsuite/22_locale/num_put/put/char/5.cc: Same.
	* testsuite/22_locale/num_put/put/wchar_t/1.cc: Same.
	* testsuite/22_locale/num_put/put/wchar_t/2.cc: Same.
	* testsuite/22_locale/num_put/put/wchar_t/3.cc: Same.
	* testsuite/22_locale/num_put/put/wchar_t/5.cc: Same.
	* testsuite/22_locale/numpunct/members/char/1.cc: Same.
	* testsuite/22_locale/numpunct/members/char/2.cc: Same.
	* testsuite/22_locale/numpunct/members/wchar_t/1.cc: Same.
	* testsuite/22_locale/numpunct/members/wchar_t/2.cc: Same.
	* testsuite/22_locale/numpunct_byname/1.cc: Same.
	* testsuite/22_locale/numpunct_byname/2.cc: Same.
	* testsuite/22_locale/time_get/date_order/char/1.cc: Same.
	* testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Same.
	* testsuite/22_locale/time_get/get_date/char/1.cc: Same.
	* testsuite/22_locale/time_get/get_date/char/2.cc: Same.
	* testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Same.
	* testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Same.
	* testsuite/22_locale/time_get/get_monthname/char/1.cc: Same.
	* testsuite/22_locale/time_get/get_monthname/char/2.cc: Same.
	* testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Same.
	* testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Same.
	* testsuite/22_locale/time_get/get_time/char/1.cc: Same.
	* testsuite/22_locale/time_get/get_time/char/2.cc: Same.
	* testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Same.
	* testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Same.
	* testsuite/22_locale/time_get/get_weekday/char/1.cc: Same.
	* testsuite/22_locale/time_get/get_weekday/char/2.cc: Same.
	* testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Same.
	* testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Same.
	* testsuite/22_locale/time_get/get_year/char/1.cc: Same.
	* testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Same.
	* testsuite/22_locale/time_put/put/char/1.cc: Same.
	* testsuite/22_locale/time_put/put/char/2.cc: Same.
	* testsuite/22_locale/time_put/put/char/3.cc: Same.
	* testsuite/22_locale/time_put/put/char/4.cc: Same.
	* testsuite/22_locale/time_put/put/char/5.cc: Same.
	* testsuite/22_locale/time_put/put/char/6.cc: Same.
	* testsuite/22_locale/time_put/put/char/7.cc: Same.
	* testsuite/22_locale/time_put/put/char/8.cc: Same.
	* testsuite/22_locale/time_put/put/wchar_t/1.cc: Same.
	* testsuite/22_locale/time_put/put/wchar_t/2.cc: Same.
	* testsuite/22_locale/time_put/put/wchar_t/3.cc: Same.
	* testsuite/22_locale/time_put/put/wchar_t/4.cc: Same.
	* testsuite/22_locale/time_put/put/wchar_t/5.cc: Same.
	* testsuite/22_locale/time_put/put/wchar_t/6.cc: Same.
	* testsuite/22_locale/time_put/put/wchar_t/7.cc: Same.
	* testsuite/22_locale/time_put/put/wchar_t/8.cc: Same.
	* testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Same.
	* testsuite/27_io/basic_ios/copyfmt/char/2.cc: Same.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc: Same.
	* testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Same.
	* testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Same.

2003-04-14  Andreas Tobler  <toa@pop.agri.ch>

	* configure.target (_cpu_incdir_fullpath): Solaris 2.9 uses
	solaris includes, not generic.

2003-04-14  Loren J. Rittle  <ljrittle@acm.org>

	* testsuite/26_numerics/c99_classification_macros_c.cc: Add XFAIL.

	* include/std/std_bitset.h (_M_do_find_next): Fix -Wall nit.
	* include/bits/concept_check.h: Fix multi-line comment.
	* testsuite/17_intro/headers.cc (dg-options): Add -Wall -Wsystem-header
	when target is *-*-freebsd*.

2003-04-14  Nathan Myers  <ncm@cantrip.org>
	    Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9701 (in_avail())
	* include/std/std_streambuf.h (in_avail): Simplify, in_avail
	doesn't care if there is anything in some putback cell.
	* testsuite/27_io/basic_streambuf/in_avail/char/9701-3.cc: Add.

	* testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Remove some
	unused string literals.

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

	* include/bits/fstream.tcc (basic_filebuf::setbuf): Don't set
	_M_out_end, _M_set_indeterminate() does it.

2003-04-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	* os/hpux/ctype_inline.h: Replace with gnu-linux version.

2003-04-12  David Edelsohn  <edelsohn@gnu.org>

	* testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc:
	Change basic_streambuf instantiation to "unsigned char".
	* testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.

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

	Remove _M_buf_size_opt, use directly _M_buf_size instead.
	* include/bits/fstream.tcc
	(basic_filebuf::_M_allocate_internal_buffer, setbuf): Remove
	references to _M_buf_size_opt.
	* include/bits/sstream.tcc (basic_stringbuf::overflow): Likewise.
	* include/bits/streambuf.tcc (__copy_streambufs): Likewise, rename
	__bufsize to __in_avail and __size_opt to __buf_size.
	* include/ext/stdio_filebuf.h (stdio_filebuf::stdio_filebuf): Likewise.
	* include/std/std_sstream.h (_M_stringbuf_init, setbuf): Likewise.
	* include/std/std_streambuf.h (~basic_streambuf(),
	basic_streambuf()): Likewise, remove _M_buf_size_opt member.
	* testsuite/27_io/basic_filebuf/close/char/3.cc: Set _M_buf_size.
	* testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sbumpc/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekoff/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekpos/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/snextc/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sputc/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sputn/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sungetc/char/1.cc: Likewise.

2003-04-12  Paolo Carlini  <pcarlini at unitus dot it>

	* include/ext/stdio_filebuf.h
	(stdio_filebuf::stdio_filebuf(int, openmode, bool, size_t),
	stdio_filebuf::stdio_filebuf(__c_file*, openmode, size_t):
	_M_buf_size_opt == 0 only means "not to use an allocated buffer"
	since a stack-based buffer is used for small values of the size_t
	parameter.
	* include/bits/fstream.tcc (basic_filebuf::_M_really_overflow).
	If _M_buf_size != 0 flush out the buffer (any kind, stack-based too).
	* testsuite/ext/stdio_filebuf_2.cc: New testfile.

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

	PR libstdc++/9533
	* testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: New.
	* testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Ditto.

2003-04-11  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/22_locale/locale/cons/3.cc: Split.
	* testsuite/22_locale/locale/cons/7222-c.cc: New.
	* testsuite/22_locale/locale/cons/7222-env.cc: New.
	Check before trying to create a locale from the environment.
	* testsuite/27_io/ios_base/state/1.cc (test02): Use "C" locale.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
	Adjust includes.

2003-04-11  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/22_locale/ctype/is/char/3.cc (test03): Use the classic
	locale to construct this hybrid locale, not the global locale.

2003-04-11  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: Add
	instantiation for AIX.
	* testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
	* testsuite/25_algorithms/min_max.cc: Same.

2003-04-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	* basic_file_stdio.cc (__basic_file<char>::close): Don't flush stream
	twice.  Always set _M_cfile to 0 when stream was open.

2003-04-09  Benjamin Kosnik  <bkoz@redhat.com>

	Reshuffle 27_io testsuite.
	* testsuite/27_io/filebuf.cc,
	filebuf_members-1.tst, filebuf_members-1.txt, filebuf_members.cc,
	filebuf_virtuals-1.tst, filebuf_virtuals-1.txt,
	filebuf_virtuals-2.tst, filebuf_virtuals-3.tst,
	filebuf_virtuals.cc, fpos.cc, fstream.cc, fstream_members.cc,
	ifstream.cc, ifstream_members-1.tst, ifstream_members-1.txt,
	ifstream_members.cc, instantiations.cc, ios.cc,
	ios_base_callbacks.cc, ios_base_members_static-1.tst,
	ios_base_members_static.cc, ios_base_storage.cc,
	ios_base_types.cc, ios_ctor.cc, ios_init.cc,
	ios_manip_basefield.cc, ios_manip_fmtflags.cc, ios_members.cc,
	iostream.cc, iostream_members.cc, istream.cc,
	istream_exception.cc, istream_extractor_char.cc,
	istream_extractor_other-1.tst, istream_extractor_other-1.txt,
	istream_extractor_other-2.tst, istream_extractor_other.cc,
	istream_manip.cc, istream_seeks-1.tst, istream_seeks-1.txt,
	istream_seeks-2.tst, istream_seeks-3.tst, istream_seeks.cc,
	istream_sentry.cc, istream_unformatted-1.tst,
	istream_unformatted-1.txt, istream_unformatted.cc,
	istringstream.cc, istringstream_members.cc,
	narrow_stream_objects.cc, ofstream.cc, ofstream_members-1.tst,
	ofstream_members.cc, ostream.cc, ostream_exception.cc,
	ostream_fail.cc, ostream_inserter_arith.cc,
	ostream_inserter_char-1.tst, ostream_inserter_char-1.txt,
	ostream_inserter_char.cc, ostream_inserter_other-1.tst,
	ostream_inserter_other-2.tst, ostream_inserter_other.cc,
	ostream_manip.cc, ostream_seeks-1.tst, ostream_seeks.cc,
	ostream_sentry.cc, ostream_unformatted.cc, ostringstream.cc,
	ostringstream_members.cc, standard_manipulators.cc, streambuf.cc,
	streambuf_members.cc, stringbuf.cc, stringbuf_members.cc,
	stringbuf_virtuals.cc, stringstream.cc, stringstream_members.cc,
	wide_stream_objects.cc, istream_extractor_arith/01.cc,
	istream_extractor_arith/02.cc, istream_extractor_arith/03.cc,
	istream_extractor_arith/06.cc, istream_extractor_arith/07.cc,
	istream_extractor_arith/08.cc, istream_extractor_arith/09.cc,
	istream_extractor_arith/10.cc, istream_extractor_arith/11.cc,
	istream_extractor_arith/12.cc, istream_extractor_arith/13.cc:
	Split into...
	* 27_io/basic_filebuf/1.cc: New.
	* 27_io/basic_filebuf/2.cc: New.
	* 27_io/basic_filebuf/3.cc: New.
	* 27_io/basic_filebuf/4.cc: New.
	* 27_io/basic_filebuf/close/char/1.cc: New.
	* 27_io/basic_filebuf/close/char/2.cc: New.
	* 27_io/basic_filebuf/close/char/3.cc: New.
	* 27_io/basic_filebuf/close/char/4879.cc: New.
	* 27_io/basic_filebuf/close/char/9964.cc: New.
	* 27_io/basic_filebuf/imbue/char/1.cc: New.
	* 27_io/basic_filebuf/imbue/char/9322.cc: New.
	* 27_io/basic_filebuf/in_avail/char/1.cc: New.
	* 27_io/basic_filebuf/is_open/char/1.cc: New.
	* 27_io/basic_filebuf/open/char/1.cc: New.
	* 27_io/basic_filebuf/open/char/2.cc: New.
	* 27_io/basic_filebuf/open/char/3.cc: New.
	* 27_io/basic_filebuf/open/char/9507.cc: New.
	* 27_io/basic_filebuf/overflow/char/1.cc: New.
	* 27_io/basic_filebuf/overflow/char/3599.cc: New.
	* 27_io/basic_filebuf/overflow/char/9169.cc: New.
	* 27_io/basic_filebuf/overflow/char/9182-2.cc: New.
	* 27_io/basic_filebuf/overflow/char/9988.cc: New.
	* 27_io/basic_filebuf/sbumpc/char/1.cc: New.
	* 27_io/basic_filebuf/sbumpc/char/9825.cc: New.
	* 27_io/basic_filebuf/seekoff/char/1.cc: New.
	* 27_io/basic_filebuf/seekoff/char/2.cc: New.
	* 27_io/basic_filebuf/seekpos/char/1.cc: New.
	* 27_io/basic_filebuf/seekpos/char/2.cc: New.
	* 27_io/basic_filebuf/setbuf/char/1.cc: New.
	* 27_io/basic_filebuf/setbuf/char/2.cc: New.
	* 27_io/basic_filebuf/setbuf/char/3.cc: New.
	* 27_io/basic_filebuf/sgetc/char/1.cc: New.
	* 27_io/basic_filebuf/sgetn/char/1.cc: New.
	* 27_io/basic_filebuf/sgetn/char/2.cc: New.
	* 27_io/basic_filebuf/snextc/char/1.cc: New.
	* 27_io/basic_filebuf/sputbackc/char/1.cc: New.
	* 27_io/basic_filebuf/sputbackc/char/9425.cc: New.
	* 27_io/basic_filebuf/sputc/char/1.cc: New.
	* 27_io/basic_filebuf/sputc/char/1057.cc: New.
	* 27_io/basic_filebuf/sputc/char/9701-2.cc: New.
	* 27_io/basic_filebuf/sputn/char/1.cc: New.
	* 27_io/basic_filebuf/sputn/char/1057.cc: New.
	* 27_io/basic_filebuf/sputn/char/9701-1.cc: New.
	* 27_io/basic_filebuf/sungetc/char/1.cc: New.
	* 27_io/basic_filebuf/sync/char/1057.cc: New.
	* 27_io/basic_filebuf/sync/char/9182-1.cc: New.
	* 27_io/basic_filebuf/underflow/char/10097.cc: New.
	* 27_io/basic_fstream/1.cc: New.
	* 27_io/basic_fstream/2.cc: New.
	* 27_io/basic_fstream/3.cc: New.
	* 27_io/basic_fstream/4.cc: New.
	* 27_io/basic_fstream/rdbuf/char/2832.cc: New.
	* 27_io/basic_ifstream/1.cc: New.
	* 27_io/basic_ifstream/2.cc: New.
	* 27_io/basic_ifstream/3.cc: New.
	* 27_io/basic_ifstream/4.cc: New.
	* 27_io/basic_ifstream/cons/char/1.cc: New.
	* 27_io/basic_ifstream/open/char/1.cc: New.
	* 27_io/basic_ifstream/rdbuf/char/2832.cc: New.
	* 27_io/basic_ios/1.cc: New.
	* 27_io/basic_ios/2.cc: New.
	* 27_io/basic_ios/3.cc: New.
	* 27_io/basic_ios/4.cc: New.
	* 27_io/basic_ios/clear/char/1.cc: New.
	* 27_io/basic_ios/cons/char/1.cc: New.
	* 27_io/basic_ios/cons/char/2.cc: New.
	* 27_io/basic_ios/cons/char/3.cc: New.
	* 27_io/basic_ios/copyfmt/char/1.cc: New.
	* 27_io/basic_ios/copyfmt/char/2.cc: New.
	* 27_io/basic_ios/exceptions/char/1.cc: New.
	* 27_io/basic_ios/locales/char/1.cc: New.
	* 27_io/basic_iostream/1.cc: New.
	* 27_io/basic_iostream/2.cc: New.
	* 27_io/basic_iostream/3.cc: New.
	* 27_io/basic_iostream/4.cc: New.
	* 27_io/basic_istream/1.cc: New.
	* 27_io/basic_istream/2.cc: New.
	* 27_io/basic_istream/3.cc: New.
	* 27_io/basic_istream/4.cc: New.
	* 27_io/basic_istream/exceptions/char/9561.cc: New.
	* 27_io/basic_istream/extractors_arithmetic/char/01.cc: New.
	* 27_io/basic_istream/extractors_arithmetic/char/02.cc: New.
	* 27_io/basic_istream/extractors_arithmetic/char/03.cc: New.
	* 27_io/basic_istream/extractors_arithmetic/char/06.cc: New.
	* 27_io/basic_istream/extractors_arithmetic/char/07.cc: New.
	* 27_io/basic_istream/extractors_arithmetic/char/08.cc: New.
	* 27_io/basic_istream/extractors_arithmetic/char/09.cc: New.
	* 27_io/basic_istream/extractors_arithmetic/char/10.cc: New.
	* 27_io/basic_istream/extractors_arithmetic/char/11.cc: New.
	* 27_io/basic_istream/extractors_arithmetic/char/12.cc: New.
	* 27_io/basic_istream/extractors_arithmetic/char/13.cc: New.
	* 27_io/basic_istream/extractors_character/char/1.cc: New.
	* 27_io/basic_istream/extractors_character/char/2.cc: New.
	* 27_io/basic_istream/extractors_character/char/3.cc: New.
	* 27_io/basic_istream/extractors_character/char/9826.cc: New.
	* 27_io/basic_istream/extractors_other/char/1.cc: New.
	* 27_io/basic_istream/extractors_other/char/2.cc: New.
	* 27_io/basic_istream/extractors_other/char/3.cc: New.
	* 27_io/basic_istream/extractors_other/char/9318-in.cc: New.
	* 27_io/basic_istream/extractors_other/char/9424-in.cc: New.
	* 27_io/basic_istream/get/char/1.cc: New.
	* 27_io/basic_istream/get/char/2.cc: New.
	* 27_io/basic_istream/getline/char/1.cc: New.
	* 27_io/basic_istream/getline/char/2.cc: New.
	* 27_io/basic_istream/getline/char/3.cc: New.
	* 27_io/basic_istream/ignore/char/1.cc: New.
	* 27_io/basic_istream/ignore/char/6360.cc: New.
	* 27_io/basic_istream/ignore/char/7220.cc: New.
	* 27_io/basic_istream/peek/char/1.cc: New.
	* 27_io/basic_istream/peek/char/6414.cc: New.
	* 27_io/basic_istream/putback/char/1.cc: New.
	* 27_io/basic_istream/read/char/1.cc: New.
	* 27_io/basic_istream/read/char/2.cc: New.
	* 27_io/basic_istream/read/char/3.cc: New.
	* 27_io/basic_istream/readsome/char/6746-1.cc: New.
	* 27_io/basic_istream/readsome/char/6746-2.cc: New.
	* 27_io/basic_istream/readsome/char/8258.cc: New.
	* 27_io/basic_istream/seekg/char/2346-fstream.cc: New.
	* 27_io/basic_istream/seekg/char/2346-sstream.cc: New.
	* 27_io/basic_istream/seekg/char/8348-1.cc: New.
	* 27_io/basic_istream/seekg/char/8348-2.cc: New.
	* 27_io/basic_istream/seekg/char/fstream.cc: New.
	* 27_io/basic_istream/seekg/char/sstream.cc: New.
	* 27_io/basic_istream/sentry/char/1.cc: New.
	* 27_io/basic_istream/sentry/char/2.cc: New.
	* 27_io/basic_istream/sentry/char/3.cc: New.
	* 27_io/basic_istream/sentry/char/3983-fstream.cc: New.
	* 27_io/basic_istream/sentry/char/3983-sstream.cc: New.
	* 27_io/basic_istream/tellg/char/1.cc: New.
	* 27_io/basic_istream/tellg/char/8348.cc: New.
	* 27_io/basic_istream/tellg/char/fstream.cc: New.
	* 27_io/basic_istream/tellg/char/sstream.cc: New.
	* 27_io/basic_istream/ws/char/1.cc: New.
	* 27_io/basic_istringstream/1.cc: New.
	* 27_io/basic_istringstream/2.cc: New.
	* 27_io/basic_istringstream/3.cc: New.
	* 27_io/basic_istringstream/4.cc: New.
	* 27_io/basic_istringstream/rdbuf/char/2832.cc: New.
	* 27_io/basic_istringstream/str/char/1.cc: New.
	* 27_io/basic_ofstream/1.cc: New.
	* 27_io/basic_ofstream/2.cc: New.
	* 27_io/basic_ofstream/3.cc: New.
	* 27_io/basic_ofstream/4.cc: New.
	* 27_io/basic_ofstream/cons/char/2.cc: New.
	* 27_io/basic_ofstream/open/char/1.cc: New.
	* 27_io/basic_ofstream/rdbuf/char/2832.cc: New.
	* 27_io/basic_ostream/1.cc: New.
	* 27_io/basic_ostream/2.cc: New.
	* 27_io/basic_ostream/3.cc: New.
	* 27_io/basic_ostream/4.cc: New.
	* 27_io/basic_ostream/cons/char/9827.cc: New.
	* 27_io/basic_ostream/endl/char/1.cc: New.
	* 27_io/basic_ostream/ends/char/1.cc: New.
	* 27_io/basic_ostream/ends/char/2.cc: New.
	* 27_io/basic_ostream/exceptions/char/9561.cc: New.
	* 27_io/basic_ostream/flush/char/1.cc: New.
	* 27_io/basic_ostream/inserters_arithmetic/char/1.cc: New.
	* 27_io/basic_ostream/inserters_arithmetic/char/2.cc: New.
	* 27_io/basic_ostream/inserters_arithmetic/char/3.cc: New.
	* 27_io/basic_ostream/inserters_arithmetic/char/4.cc: New.
	* 27_io/basic_ostream/inserters_arithmetic/char/4402.cc: New.
	* 27_io/basic_ostream/inserters_arithmetic/char/5.cc: New.
	* 27_io/basic_ostream/inserters_arithmetic/char/6.cc: New.
	* 27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc: New.
	* 27_io/basic_ostream/inserters_character/char/1.cc: New.
	* 27_io/basic_ostream/inserters_character/char/2.cc: New.
	* 27_io/basic_ostream/inserters_character/char/3.cc: New.
	* 27_io/basic_ostream/inserters_character/char/4.cc: New.
	* 27_io/basic_ostream/inserters_character/char/5.cc: New.
	* 27_io/basic_ostream/inserters_character/char/6.cc: New.
	* 27_io/basic_ostream/inserters_character/char/8.cc: New.
	* 27_io/basic_ostream/inserters_character/wchar_t/7.cc: New.
	* 27_io/basic_ostream/inserters_character/wchar_t/8.cc: New.
	* 27_io/basic_ostream/inserters_other/char/1.cc: New.
	* 27_io/basic_ostream/inserters_other/char/2.cc: New.
	* 27_io/basic_ostream/inserters_other/char/3.cc: New.
	* 27_io/basic_ostream/inserters_other/char/4.cc: New.
	* 27_io/basic_ostream/inserters_other/char/9318-out.cc: New.
	* 27_io/basic_ostream/inserters_other/char/9424-out.cc: New.
	* 27_io/basic_ostream/sentry/char/1.cc: New.
	* 27_io/basic_ostream/sentry/char/2.cc: New.
	* 27_io/basic_ostream/sentry/char/3983-fstream.cc: New.
	* 27_io/basic_ostream/sentry/char/3983-sstream.cc: New.
	* 27_io/basic_ostream/tellp/char/1.cc: New.
	* 27_io/basic_ostream/tellp/char/2.cc: New.
	* 27_io/basic_ostringstream/1.cc: New.
	* 27_io/basic_ostringstream/2.cc: New.
	* 27_io/basic_ostringstream/3.cc: New.
	* 27_io/basic_ostringstream/4.cc: New.
	* 27_io/basic_ostringstream/cons/char/3.cc: New.
	* 27_io/basic_ostringstream/rdbuf/char/2832.cc: New.
	* 27_io/basic_ostringstream/str/char/1.cc: New.
	* 27_io/basic_ostringstream/str/char/2.cc: New.
	* 27_io/basic_streambuf/1.cc: New.
	* 27_io/basic_streambuf/2.cc: New.
	* 27_io/basic_streambuf/3.cc: New.
	* 27_io/basic_streambuf/cons/char/1.cc: New.
	* 27_io/basic_streambuf/imbue/char/1.cc: New.
	* 27_io/basic_streambuf/imbue/char/9322.cc: New.
	* 27_io/basic_streambuf/overflow/char/1.cc: New.
	* 27_io/basic_streambuf/overflow/char/2.cc: New.
	* 27_io/basic_streambuf/overflow/char/3599.cc: New.
	* 27_io/basic_streambuf/sgetc/char/1.cc: New.
	* 27_io/basic_streambuf/sgetn/char/1.cc: New.
	* 27_io/basic_streambuf/sputbackc/char/9538.cc: New.
	* 27_io/basic_streambuf/sputc/char/1057.cc: New.
	* 27_io/basic_streambuf/sputn/char/1.cc: New.
	* 27_io/basic_streambuf/sputn/char/1057.cc: New.
	* 27_io/basic_streambuf/sync/char/1057.cc: New.
	* 27_io/basic_stringbuf/1.cc: New.
	* 27_io/basic_stringbuf/2.cc: New.
	* 27_io/basic_stringbuf/3.cc: New.
	* 27_io/basic_stringbuf/4.cc: New.
	* 27_io/basic_stringbuf/5.cc: New.
	* 27_io/basic_stringbuf/imbue/char/1.cc: New.
	* 27_io/basic_stringbuf/imbue/char/9322.cc: New.
	* 27_io/basic_stringbuf/in_avail/char/1.cc: New.
	* 27_io/basic_stringbuf/overflow/char/2.cc: New.
	* 27_io/basic_stringbuf/overflow/char/3599.cc: New.
	* 27_io/basic_stringbuf/overflow/char/9988.cc: New.
	* 27_io/basic_stringbuf/sbumpc/char/1.cc: New.
	* 27_io/basic_stringbuf/sbumpc/char/9825.cc: New.
	* 27_io/basic_stringbuf/seekoff/char/1.cc: New.
	* 27_io/basic_stringbuf/seekoff/char/2.cc: New.
	* 27_io/basic_stringbuf/seekpos/char/1.cc: New.
	* 27_io/basic_stringbuf/seekpos/char/2.cc: New.
	* 27_io/basic_stringbuf/setbuf/char/1.cc: New.
	* 27_io/basic_stringbuf/setbuf/char/2.cc: New.
	* 27_io/basic_stringbuf/setbuf/char/3.cc: New.
	* 27_io/basic_stringbuf/sgetc/char/1.cc: New.
	* 27_io/basic_stringbuf/sgetn/char/1.cc: New.
	* 27_io/basic_stringbuf/snextc/char/1.cc: New.
	* 27_io/basic_stringbuf/sputbackc/char/1.cc: New.
	* 27_io/basic_stringbuf/sputbackc/char/9425.cc: New.
	* 27_io/basic_stringbuf/sputc/char/1.cc: New.
	* 27_io/basic_stringbuf/sputc/char/1057.cc: New.
	* 27_io/basic_stringbuf/sputc/char/9404-1.cc: New.
	* 27_io/basic_stringbuf/sputn/char/1.cc: New.
	* 27_io/basic_stringbuf/sputn/char/1057.cc: New.
	* 27_io/basic_stringbuf/sputn/char/9404-2.cc: New.
	* 27_io/basic_stringbuf/str/char/1.cc: New.
	* 27_io/basic_stringbuf/str/char/2.cc: New.
	* 27_io/basic_stringbuf/str/char/3.cc: New.
	* 27_io/basic_stringbuf/str/char/3955.cc: New.
	* 27_io/basic_stringbuf/sungetc/char/1.cc: New.
	* 27_io/basic_stringbuf/sync/char/1057.cc: New.
	* 27_io/basic_stringstream/1.cc: New.
	* 27_io/basic_stringstream/2.cc: New.
	* 27_io/basic_stringstream/3.cc: New.
	* 27_io/basic_stringstream/4.cc: New.
	* 27_io/basic_stringstream/rdbuf/char/2832.cc: New.
	* 27_io/basic_stringstream/str/char/1.cc: New.
	* 27_io/basic_stringstream/str/char/2.cc: New.
	* 27_io/basic_stringstream/str/char/3.cc: New.
	* 27_io/basic_stringstream/str/char/4.cc: New.
	* 27_io/fpos/1.cc: New.
	* 27_io/fpos/2.cc: New.
	* 27_io/fpos/3.cc: New.
	* 27_io/ios_base/callbacks/1.cc: New.
	* 27_io/ios_base/state/1.cc: New.
	* 27_io/ios_base/storage/1.cc: New.
	* 27_io/ios_base/storage/2.cc: New.
	* 27_io/ios_base/storage/3.cc: New.
	* 27_io/ios_base/sync_with_stdio/1.cc: New.
	* 27_io/ios_base/sync_with_stdio/2.cc: New.
	* 27_io/manipulators/adjustfield/char/1.cc: New.
	* 27_io/manipulators/adjustfield/char/2.cc: New.
	* 27_io/manipulators/basefield/char/1.cc: New.
	* 27_io/manipulators/standard/char/1.cc: New.
	* 27_io/manipulators/standard/char/2.cc: New.
	* 27_io/objects/char/1.cc: New.
	* 27_io/objects/char/2.cc: New.
	* 27_io/objects/char/2523-1_xin.cc: New.
	* 27_io/objects/char/2523-1_xin.in: New.
	* 27_io/objects/char/2523-2_xin.cc: New.
	* 27_io/objects/char/2523-2_xin.in: New.
	* 27_io/objects/char/3045.cc: New.
	* 27_io/objects/char/3647.cc: New.
	* 27_io/objects/char/3_xin.cc: New.
	* 27_io/objects/char/3_xin.in: New.
	* 27_io/objects/char/4_xin.cc: New.
	* 27_io/objects/char/4_xin.in: New.
	* 27_io/objects/char/5268.cc: New.
	* 27_io/objects/char/5280_xin.cc: New.
	* 27_io/objects/char/5280_xin.in: New.
	* 27_io/objects/char/6548_xin.cc: New.
	* 27_io/objects/char/6548_xin.in: New.
	* 27_io/objects/char/6648-1_xin.cc: New.
	* 27_io/objects/char/6648-1_xin.in: New.
	* 27_io/objects/char/6648-2_xin.cc: New.
	* 27_io/objects/char/6648-2_xin.in: New.
	* 27_io/objects/char/7744_xin.cc: New.
	* 27_io/objects/char/7744_xin.in: New.
	* 27_io/objects/wchar_t/1.cc: New.
	* 27_io/types/1.cc: New.
	* 27_io/types/2.cc: New.
	* data/filebuf_members-1.tst: New.
	* data/filebuf_members-1.txt: New.
	* data/filebuf_virtuals-1.tst: New.
	* data/filebuf_virtuals-1.txt: New.
	* data/filebuf_virtuals-2.tst: New.
	* data/filebuf_virtuals-3.tst: New.
	* data/ifstream_members-1.tst: New.
	* data/ifstream_members-1.txt: New.
	* data/ios_base_members_static-1.tst: New.
	* data/istream_extractor_other-1.tst: New.
	* data/istream_extractor_other-1.txt: New.
	* data/istream_extractor_other-2.tst: New.
	* data/istream_seeks-1.tst: New.
	* data/istream_seeks-1.txt: New.
	* data/istream_seeks-2.tst: New.
	* data/istream_seeks-3.tst: New.
	* data/istream_unformatted-1.tst: New.
	* data/istream_unformatted-1.txt: New.
	* data/ofstream_members-1.tst: New.
	* data/ostream_inserter_char-1.tst: New.
	* data/ostream_inserter_char-1.txt: New.
	* data/ostream_inserter_other-1.tst: New.
	* data/ostream_inserter_other-2.tst: New.
	* data/ostream_seeks-1.tst: New.

2003-04-09  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/sstream.tcc (basic_stringbuf::seekpos): Remove
	requirement that __mode must be strict input or output.

	* include/std/std_streambuf.h (basic_streambuf::setp): Set
	_M_out_lim.

	* include/std/std_sstream.h (basic_strinbuf::str): Zero length
	output string shouldn't core.
	(basic_stringbuf::_M_really_sync): Add base argument. Remove rturn
	type.
	* include/bits/sstream.tcc: Adjust _M_really_sync bits here.

	* include/bits/istream.tcc (basic_istream::putback): Set gcount to
	zero.

2003-04-09  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/data: New directory.
	* testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Modify
	to copy files from the testsuite data directory.
	(libstdc++-v3-list-sourcefiles): Add another test list filter, for
	testfiles containing _xin, which now means this is an interactive
	test and should be run with the interactive dejagnu hooks.
	* testsuite/Makefile.am: Remove testsuite_* files.
	* testsuite/Makefile.in: Regenerate.

2003-04-09  Zack Weinberg  <zack@codesourcery.com>

	* docs/html/install.html: Document complete list of locales
	required by test suite.  Document procedure for installing
	said locales under Debian.  Solicit instructions for other
	operating systems.

2003-04-08  Alexandre Oliva  <aoliva@redhat.com>

	* include/bits/sstream.tcc (overflow): Make sure operands of min
	and max have the same type.

2003-04-04  Jerry Quinn  <jlquinn@optonline.net>

	PR libstdc++/10276
	* src/ios.cc (ios_base::_M_init): Remove _M_callbacks
	initialization.

2003-03-31  Paolo Carlini  <pcarlini@unitus.it>

	* include/std/std_streambuf.h (_M_out_buf_size()): Remove.
	* include/bits/fstream.tcc (_M_allocate_internal_buffer):
	Don't set _M_out_end.
	(basic_filebuf::overflow): Replace _M_out_buf_size() with
	this->_M_out_cur && this->_M_out_cur < this->_M_out_end.
	* include/bits/sstream.tcc (basic_stringbuf::overflow):
	Replace _M_out_buf_size() with this->_M_out_cur < this->_M_out_end;
	* include/bits/streambuf.tcc (basic_streambuf::sputc):
	Replace _M_out_buf_size() with _M_out_cur && _M_out_cur < _M_out_end.
	(basic_streambuf::xsputn): Replace _M_out_buf_size() with
	_M_out_end - _M_out_cur.
	(__copy_streambufs): Likewise.
	* include/std/std_fstream.h (_M_set_determinate): Set
	_M_out_end here.

2003-03-30  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/fstream.tcc (basic_filebuf::showmanyc,
	_M_convert_to_external, _M_really_overflow, seekoff): Fix
	test for synced buffer.
	* include/std/std_fstream.h (sync): Likewise.
	* src/fstream.cc (basic_filebuf<char>::_M_underflow_common,
	basic_filebuf<wchar_t>::_M_underflow_common): Likewise.

2003-03-28  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/std_sstream.h (basic_istringstream): Adjust
	initialization.
	(basic_ostringstream): Same.
	(basic_stringstream): Same.
	* include/std/std_fstream.h (basic_ifstream): Adjust initialization.
	(basic_ofstream): Same.
	(basic_fstream): Same.
	* include/std/std_ostream.h (basic_ostrem): Add protected ctor
	that does not call init.
	* include/std/std_istream.h (basic_istream): Same.
	(basic_iostream): Construct istream, ostream uninitialized, use
	init to initialize just once. Add protected ctor that does not
	call init.

2003-03-28  Paolo Carlini  <pcarlini@unitus.it>
	    Nathan Myers  <ncm@cantrip.org>

	PR libstdc++/9533
	* include/bits/fstream.tcc (basic_filebuf<>::open): Don't
	call underflow().
	(basic_filebuf<>::showmanyc): Use the information provided
	by codecvt and __basic_file<>::showmanyc_helper to implement
	a non-trivial showmanyc.
	* config/io/basic_file_stdio.h
	(__basic_file<>::showmanyc_helper): New, declare.
	* config/io/basic_file_stdio.cc
	(__basic_file<>::showmanyc_helper): Define.
	(__basic_file<>::_M_open_mode): Don't set O_NONBLOCK.
	(__basic_file<char>::open): Don't call fcntl().
	* acinclude.m4 (GLIBCPP_CHECK_S_ISREG_OR_S_IFREG,
	GLIBCPP_CHECK_POLL): New macros.
	* configure.in: Call here.
	* acconfig.h: Add #undefs for the corresponding symbols.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* config.h.in: Regenerate.

2003-03-24  Benjamin Kosnik  <bkoz@redhat.com>

	* config/linker-map.gnu: Remove string export restrictions.

2003-03-24  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/21_strings/basic_string/find/char/1.cc: Remove
	find_first_of, find_last_of and find_last_not_of tests.
	* testsuite/21_strings/basic_string/find/char/2.cc: find_first_of
	tests here, new file.
	* testsuite/21_strings/basic_string/find/wchar_t/1.cc: Likewise,
	remove wchar_t find_first_of, find_last_of and find_last_not_of tests.
	* testsuite/21_strings/basic_string/find/wchar_t/2.cc: Likewise,
	wchar_t find_first_of tests here, new file.
	* testsuite/21_strings/basic_string/rfind/char/2.cc: find_last_of
	tests here.
	* testsuite/21_strings/basic_string/rfind/char/3.cc: find_last_not_of
	tests here.
	* testsuite/21_strings/basic_string/rfind/wchar_t/2.cc: likewise,
	wchar_t find_last_of tests here.
	* testsuite/21_strings/basic_string/rfind/wchar_t/3.cc: likewise,
	wchar_t find_last_not_of tests here.

2003-03-22  Loren J. Rittle  <ljrittle@acm.org>

	* config/os/hpux/ctype_noninline.h (ctype<char>::classic_table):
	Correct return value.

2003-03-21  Jerry Quinn  <jlquinn@optonline.net>

	PR libstdc++/5730
	* include/bits/c++config (_GLIBCPP_FAST_MATH): Define.
	* include/std/std_complex.h (norm):  Use faster,
	less accurate computation for builtin float types under --fast-math.

2003-03-21  Magnus Fromreide  <gnats@magfr.user.lysator.liu.se>

	* testsuite/testsuite_hooks.h: Fix warning nits.

2003-03-19  Alexandre Oliva  <aoliva@redhat.com>

	* config/cpu/mips/atomicity.h (__exchange_and_add, __atomic_add):
	Only .set mips2 for the o32 ABI.

2003-03-19  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/21_strings/char_traits/requirements/char/1.cc:
	Test char not wchar_t.

2003-03-18  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/21_strings/basic_string/append/wchar_t/1.cc:
	Correct size, taking into account sizeof(wchar_t).

2003-03-18  Paolo Carlini  <pcarlini@unitus.it>

	Reshuffle 21_strings testsuite.
	* testsuite/21_strings/append.cc, c_strings.cc, invariants.cc,
	assign.cc, ctor_copy_dtor.cc, nonmember.cc, capacity.cc,
	element_access.cc, operations.cc, char_traits_requirements.cc,
	find.cc, replace.cc, char_traits_typedefs.cc, insert.cc, rfind.cc,
	compare.cc, inserters_extractors.cc, substr.cc: Split up, add
	wchar_t tests as follows.
	* 21_strings/basic_string/append/char/1.cc: New.
	* 21_strings/basic_string/append/wchar_t/1.cc: New.
	* 21_strings/basic_string/assign/char/1.cc: New.
	* 21_strings/basic_string/assign/char/2.cc: New.
	* 21_strings/basic_string/assign/char/3.cc: New.
	* 21_strings/basic_string/assign/wchar_t/1.cc: New.
	* 21_strings/basic_string/assign/wchar_t/2.cc: New.
	* 21_strings/basic_string/assign/wchar_t/3.cc: New.
	* 21_strings/basic_string/capacity/1.cc: New.
	* 21_strings/basic_string/capacity/char/1.cc: New.
	* 21_strings/basic_string/capacity/char/2.cc: New.
	* 21_strings/basic_string/capacity/wchar_t/1.cc: New.
	* 21_strings/basic_string/capacity/wchar_t/2.cc: New.
	* 21_strings/basic_string/compare/char/1.cc: New.
	* 21_strings/basic_string/compare/wchar_t/1.cc: New.
	* 21_strings/basic_string/cons/char/1.cc: New.
	* 21_strings/basic_string/cons/char/2.cc: New.
	* 21_strings/basic_string/cons/char/3.cc: New.
	* 21_strings/basic_string/cons/char/4.cc: New.
	* 21_strings/basic_string/cons/char/5.cc: New.
	* 21_strings/basic_string/cons/wchar_t/1.cc: New.
	* 21_strings/basic_string/cons/wchar_t/2.cc: New.
	* 21_strings/basic_string/cons/wchar_t/3.cc: New.
	* 21_strings/basic_string/cons/wchar_t/4.cc: New.
	* 21_strings/basic_string/cons/wchar_t/5.cc: New.
	* 21_strings/basic_string/element_access/char/1.cc: New.
	* 21_strings/basic_string/element_access/char/2.cc: New.
	* 21_strings/basic_string/element_access/char/3.cc: New.
	* 21_strings/basic_string/element_access/wchar_t/1.cc: New.
	* 21_strings/basic_string/element_access/wchar_t/2.cc: New.
	* 21_strings/basic_string/element_access/wchar_t/3.cc: New.
	* 21_strings/basic_string/find/char/1.cc: New.
	* 21_strings/basic_string/find/wchar_t/1.cc: New.
	* 21_strings/basic_string/insert/char/1.cc: New.
	* 21_strings/basic_string/insert/char/2.cc: New.
	* 21_strings/basic_string/insert/wchar_t/1.cc: New.
	* 21_strings/basic_string/insert/wchar_t/2.cc: New.
	* 21_strings/basic_string/inserters_extractors/char/1.cc: New.
	* 21_strings/basic_string/inserters_extractors/char/4.cc: New.
	* 21_strings/basic_string/inserters_extractors/char/5.cc: New.
	* 21_strings/basic_string/inserters_extractors/char/6.cc: New.
	* 21_strings/basic_string/inserters_extractors/char/7.cc: New.
	* 21_strings/basic_string/inserters_extractors/char/8.cc: New.
	* 21_strings/basic_string/inserters_extractors/char/9.cc: New.
	* 21_strings/basic_string/inserters_extractors/wchar_t/1.cc: New.
	* 21_strings/basic_string/inserters_extractors/wchar_t/4.cc: New.
	* 21_strings/basic_string/inserters_extractors/wchar_t/5.cc: New.
	* 21_strings/basic_string/inserters_extractors/wchar_t/6.cc: New.
	* 21_strings/basic_string/inserters_extractors/wchar_t/7.cc: New.
	* 21_strings/basic_string/inserters_extractors/wchar_t/8.cc: New.
	* 21_strings/basic_string/inserters_extractors/wchar_t/9.cc: New.
	* 21_strings/basic_string/operators/char/1.cc: New.
	* 21_strings/basic_string/operators/char/2.cc: New.
	* 21_strings/basic_string/operators/wchar_t/1.cc: New.
	* 21_strings/basic_string/operators/wchar_t/2.cc: New.
	* 21_strings/basic_string/replace/char/1.cc: New.
	* 21_strings/basic_string/replace/char/2.cc: New.
	* 21_strings/basic_string/replace/char/3.cc: New.
	* 21_strings/basic_string/replace/char/4.cc: New.
	* 21_strings/basic_string/replace/char/5.cc: New.
	* 21_strings/basic_string/replace/wchar_t/1.cc: New.
	* 21_strings/basic_string/replace/wchar_t/2.cc: New.
	* 21_strings/basic_string/replace/wchar_t/3.cc: New.
	* 21_strings/basic_string/replace/wchar_t/4.cc: New.
	* 21_strings/basic_string/replace/wchar_t/5.cc: New.
	* 21_strings/basic_string/rfind/char/1.cc: New.
	* 21_strings/basic_string/rfind/char/2.cc: New.
	* 21_strings/basic_string/rfind/char/3.cc: New.
	* 21_strings/basic_string/rfind/wchar_t/1.cc: New.
	* 21_strings/basic_string/rfind/wchar_t/2.cc: New.
	* 21_strings/basic_string/rfind/wchar_t/3.cc: New.
	* 21_strings/basic_string/substr/char/1.cc: New.
	* 21_strings/basic_string/substr/wchar_t/1.cc: New.
	* 21_strings/c_strings/char/1.cc: New.
	* 21_strings/c_strings/char/2.cc: New.
	* 21_strings/c_strings/wchar_t/1.cc: New.
	* 21_strings/c_strings/wchar_t/2.cc: New.
	* 21_strings/char_traits/requirements/char/1.cc: New.
	* 21_strings/char_traits/requirements/wchar_t/1.cc: New.
	* 21_strings/char_traits/typedefs/char/1.cc: New.

2003-03-17  Paolo Carlini  <pcarlini@unitus.it>
	    Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/10097
	* src/fstream.cc (basic_filebuf<char>::_M_underflow_common,
	basic_filebuf<wchar_t>::_M_underflow_common):
	if (gptr() < egptr()) return *gptr().
	* testsuite/27_io/filebuf_virtuals.cc (test16): Add.

	* testsuite/27_io/filebuf_members.cc (test_04): Minor
	changes: unlink fifo before making it, fix spelling error.

2003-03-17  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/Makefile.am (CLEANFILES): Add tmp*.
	* testsuite/Makefile.in: Regenerate.
	* testsuite/27_io/filebuf_members.cc: Consistently name tmp files.
	Cleanups.

2003-03-17  Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/9964
	* include/bits/fstream.tcc (basic_filebuf::close):
	Always close file, even when write fails.
	* testsuite/27_io/filebuf_members.cc (test_07):  New test.

2003-03-17  Danny Smith  <dannysmith@users.sourceforge.net>

	* libsupc++/Makefile.am (C_COMPILE): Remove.
	(LTCOMPILE): Likewise.
	* libsupc++/Makefile.in: Regenerate.

2003-03-14  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/23_containers/bitset_members.cc: Add test variable.
	* testsuite/23_containers/map_insert.cc: Same.
	* testsuite/22_locale/ctype/cons/char/1.cc: Same.
	* testsuite/22_locale/codecvt/max_length/wchar_t/1.cc: Same.
	* testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Same.
	* testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Same.
	* testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Same.
	* testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc: Same.
	* testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Same.
	* testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Same.
	* testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Same.
	* testsuite/27_io/istream_exception.cc: Same.
	* testsuite/27_io/filebuf_virtuals.cc: Same.
	* testsuite/27_io/stringbuf_virtuals.cc: Same.
	* testsuite/27_io/ostream_inserter_arith.cc: Same.
	* testsuite/26_numerics/valarray_operators.cc: Same.
	* testsuite/26_numerics/slice.cc: Same.
	* testsuite/26_numerics/slice_array_assignment.cc: Same.
	* testsuite/24_iterators/istream_iterator.cc: Same.
	* mkcheck.in (TESTS_FILE): Use dejagnu-generated file if possible.

2003-03-14  Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/9581
	PR libstdc++/9870
	* config/locale/generic/ctype_members.cc,
	* config/locale/gnu/ctype_members.cc
	(ctype<wchar_t>::do_widen(char)):  Cast argument to
	unsigned char before passing to btowc.
	(ctype<wchar_t>::do_widen(const char*, const char*, wchar_t*)):
	Convert characters with btowc instead of mbsrtowcs.
	(ctype<wchar_t>::do_narrow(const wchar_t*, const wchar_t*,
	char, char*):
	Convert characters with wctob instead of wcsrtombs.
	* testsuite/22_locale/ctype/narrow/wchar_t/3.cc:  New test.
	* testsuite/22_locale/ctype/widen/wchar_t/2.cc:  New test.
	* testsuite/22_locale/ctype/widen/wchar_t/3.cc:  New test.

2003-03-14  Benjamin Kosnik  <bkoz@redhat.com>

	* include/stdc++.h: New.
	* libsupc++/exception_defines.h (__EXCEPTION_DEFINES_H): Add guard.
	* include/Makefile.am (stamp-std-precompile): Generate stdc++.h.gch
	* include/Makefile.in: Regenerate.
	* testsuite_flags.in (--build-cxx): Add, but don't use PCHFLAGS.
	(--cxxflags): Put -g -O2 here.
	* testsuite/libstdc++-v3.dg/dg.exp: Remove -g -O2 here.

2003-03-14  Loren J. Rittle  <ljrittle@acm.org>

	* testsuite/testsuite_hooks.h: Suppress runtime exception thrown by
	missing named locale.

2003-03-14  Andreas Schwab  <schwab@suse.de>

	* configure.in: Only append to makefiles that are newly created to
	avoid multiple multi-do/multi-clean rules.
	* configure: Rebuilt.

2003-03-13  Jonathan Wakely  <redi@gcc.gnu.org>

	* docs/html/configopts.html, docs/html/documentation.html,
	docs/html/explanations.html, docs/html/install.html,
	docs/html/19_diagnostics/howto.html, docs/html/faq/index.html: Fix
	invalid XHTML and make page header style consistent.

2003-03-12  Jonathan Wakely  <redi@gcc.gnu.org>

	* docs/html/faq/index.html: Explain memory "leaks" due to allocators.
	* docs/html/faq/index.txt: Regenerate.
	* docs/html/debug.html: Add a bit to allocator text and fix XHTML.

2003-03-12  Andreas Schwab  <schwab@suse.de>

	* acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Avoid trailing /. in
	glibcpp_toolexeclibdir.
	* aclocal.m4, configure: Rebuilt.

2003-03-11  Jonathan Wakely  <redi@gcc.gnu.org>

	* docs/html/faq/index.html: Update text about location of headers.
	* docs/html/faq/index.txt: Regenerate.

2003-03-11  Carlo Wood  <carlo@alinoe.com>

	* include/bits/demangle.h: Prepend accessors of
	class qualifier with 'get_' in order to fix warnings
	when compiling with -Wshadow.

2003-03-11  Loren J. Rittle  <ljrittle@acm.org>

	* config/os/bsd/freebsd/ctype_inline.h:  Support _M_table
	when so installed.
	* testsuite/22_locale/ctype/cons/char/1.cc: Fix typo.

	* testsuite/testsuite_hooks.h (run_tests_wrapped_env): Do not
	report lack of setenv().

2003-03-09  Paolo Carlini  <pcarlini@unitus.it>

	* config/io/basic_file_stdio.cc: include <unistd.h>.

2003-03-09  Paolo Carlini  <pcarlini@unitus.it>
	    Nathan Myers  <ncm@cantrip.org>

	PR libstdc++/7744
	* config/io/basic_file_stdio.h (__basic_file<>::xsgetn, xsputn,
	seekoff, seekpos): Add a boolean parameter __stdio.
	* config/io/basic_file_stdio.cc (__basic_file<>::xsgetn, xsputn,
	seekoff, seekpos): If __stdio == true, use fread (fwrite, fseek/ftell,
	fseek/ftell, respectively), otherwise read (write, lseek, lseek,
	respectively).
	* include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external,
	_M_really_overflow, seekoff): Use the boolean parameter in the calls.
	* include/std/std_fstream.h (sync): Likewise.
	* src/fstream.cc (basic_filebuf<>::_M_underflow_common): Likewise.
	* src/ios.cc (ios_base::Init::_S_ios_create(bool)): Revert
	libstdc++/8399 commit involving isatty(0).
	* acinclude.m4 (GLIBCPP_CHECK_UNISTD_DECL_AND_LINKAGE_1): Remove.
	(GLIBCPP_CHECK_UNISTD_SUPPORT): Remove
	* configure.in: Remove call.
	* aclocal.m4: Regenerate.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* testsuite/27_io/narrow_stream_objects.cc (test11): Add.

2003-03-09  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9988
	* include/bits/fstream.tcc (overflow): don't write EOF to file.
	* testsuite/27_io/filebuf_virtuals.cc (test15): Add.

2003-03-08  Jerry Quinn  <jlquinn@optonline.net>

	PR libstdc++/9561
	* include/bits/basic_ios.h (_M_setstate): New.
	* include/bits/ostream.tcc (operator<<): Use it.
	* include/bits/istream.tcc (operator>>): Use it.
	* include/std/std_ostream.h (operator<<): Make friends.
	* include/std/std_istream.h (operator>>): Make friends.
	* testsuite/27_io/ostream_exception.cc,
	testsuite/27_io/istream_exception.cc: New tests.

2003-03-08  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.tcc: Fix typo.

2003-03-08  Loren J. Rittle  <ljrittle@acm.org>

	* testsuite/26_numerics/c99_classification_macros_c.cc: Tweak test.

	* config/locale/generic/c_locale.cc
	(locale::facet::_S_create_c_locale): Throw runtime exception when
	unsupported language is specified.
	* testsuite/testsuite_hooks.h
	(run_test_wrapped_generic_locale_exception_catcher): New function.
	* testsuite/testsuite_hooks.cc (run_tests_wrapped_locale):
	Suppress runtime exception thrown by generic implementation.
	(run_tests_wrapped_env): Likewise.
	(run_test_wrapped_generic_locale_exception_catcher): New function.
	* testsuite/22_locale/collate/compare/char/1.cc: New test wrap.
	* testsuite/22_locale/collate/compare/char/2.cc: New test wrap.
	* testsuite/22_locale/collate/compare/char/3.cc: New test wrap.
	* testsuite/22_locale/collate/hash/char/2.cc: New test wrap.
	* testsuite/22_locale/collate/transform/char/2.cc: New test wrap.
	* testsuite/22_locale/collate/transform/char/3.cc: New test wrap.
	* testsuite/22_locale/collate_byname/1.cc: New test wrap.
	* testsuite/22_locale/ctype/is/char/2.cc: New test wrap.
	* testsuite/22_locale/facet/2.cc: New test wrap.
	* testsuite/22_locale/locale/cons/4.cc: New test wrap.
	* testsuite/22_locale/locale/cons/5.cc: New test wrap.
	* testsuite/22_locale/locale/cons/7.cc: New test wrap.
	* testsuite/22_locale/messages/members/char/1.cc: New test wrap.
	* testsuite/22_locale/messages/members/char/2.cc: New test wrap.
	* testsuite/22_locale/messages/members/char/3.cc: New test wrap.
	* testsuite/22_locale/messages_byname/1.cc: New test wrap.
	* testsuite/22_locale/money_get/get/char/1.cc: New test wrap.
	* testsuite/22_locale/money_get/get/char/2.cc: New test wrap.
	* testsuite/22_locale/money_get/get/char/3.cc: New test wrap.
	* testsuite/22_locale/money_get/get/char/4.cc: New test wrap.
	* testsuite/22_locale/money_put/put/char/1.cc: New test wrap.
	* testsuite/22_locale/money_put/put/char/2.cc: New test wrap.
	* testsuite/22_locale/money_put/put/char/3.cc: New test wrap.
	* testsuite/22_locale/moneypunct/members/char/2.cc: New test wrap.
	* testsuite/22_locale/moneypunct_byname/1.cc: New test wrap.
	* testsuite/22_locale/num_get/get/char/1.cc: New test wrap.
	* testsuite/22_locale/num_get/get/char/2.cc: New test wrap.
	* testsuite/22_locale/num_get/get/char/3.cc: New test wrap.
	* testsuite/22_locale/num_get/get/char/5.cc: New test wrap.
	* testsuite/22_locale/num_get/get/char/6.cc: New test wrap.
	* testsuite/22_locale/num_put/put/char/1.cc: New test wrap.
	* testsuite/22_locale/num_put/put/char/2.cc: New test wrap.
	* testsuite/22_locale/num_put/put/char/3.cc: New test wrap.
	* testsuite/22_locale/num_put/put/char/5.cc: New test wrap.
	* testsuite/22_locale/numpunct/members/char/1.cc: New test wrap.
	* testsuite/22_locale/numpunct/members/char/2.cc: New test wrap.
	* testsuite/22_locale/numpunct_byname/1.cc: New test wrap.
	* testsuite/22_locale/numpunct_byname/2.cc: New test wrap.
	* testsuite/22_locale/time_get/date_order/char/1.cc: New test wrap.
	* testsuite/22_locale/time_get/get_date/char/1.cc: New test wrap.
	* testsuite/22_locale/time_get/get_date/char/2.cc: New test wrap.
	* testsuite/22_locale/time_get/get_monthname/char/1.cc: New test wrap.
	* testsuite/22_locale/time_get/get_monthname/char/2.cc: New test wrap.
	* testsuite/22_locale/time_get/get_time/char/1.cc: New test wrap.
	* testsuite/22_locale/time_get/get_time/char/2.cc: New test wrap.
	* testsuite/22_locale/time_get/get_weekday/char/1.cc: New test wrap.
	* testsuite/22_locale/time_get/get_weekday/char/2.cc: New test wrap.
	* testsuite/22_locale/time_get/get_year/char/1.cc: New test wrap.
	* testsuite/22_locale/time_put/put/char/1.cc: New test wrap.
	* testsuite/22_locale/time_put/put/char/2.cc: New test wrap.
	* testsuite/22_locale/time_put/put/char/3.cc: New test wrap.
	* testsuite/22_locale/time_put/put/char/4.cc: New test wrap.
	* testsuite/22_locale/time_put/put/char/5.cc: New test wrap.
	* testsuite/22_locale/time_put/put/char/6.cc: New test wrap.
	* testsuite/22_locale/time_put/put/char/7.cc: New test wrap.
	* testsuite/22_locale/time_put/put/char/8.cc: New test wrap.
	* testsuite/27_io/filebuf_virtuals.cc: New test wrap.
	* testsuite/27_io/ios_members.cc: New test wrap.
	* testsuite/27_io/ostream_inserter_arith.cc (test02): Make void.
	New test wrap.
	* testsuite/27_io/streambuf_members.cc: New test wrap.
	* testsuite/27_io/stringbuf_virtuals.cc: New test wrap.

2003-03-08  Paolo Carlini <pcarlini@unitus.it>
	    Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/9424
	* include/bits/streambuf.tcc (__copy_streambufs): Use
	sgetn-sputn only when sputn cannot fail, otherwise fall back
	to safe snextc-sputc.
	* testsuite/27_io/streambuf_members.cc (test11, test12): Add.

2003-03-08  Jerry Quinn  <jlquinn@optonline.net>

	* include/bits/locale_facets.tcc (num_put::do_put(bool)): Use
	locale cache for truename and falsename.

2003-03-08  Jerry Quinn  <jlquinn@optonline.net>

	* src/ios.cc (ios_base::ios_base): Correct order of _M_word and
	_M_word_size initialization.

2003-03-07  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/fstream.tcc (_M_convert_to_external):
	Set __elen to zero if codecvt::out eventually fails.

2003-03-07  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9182
	* include/bits/fstream.tcc (_M_really_overflow): Check
	for _M_convert_to_external possible failures.
	* include/std/std_fstream.h (sync): Check _M_really_overflow
	return value and return -1 in case of failure.
	* testsuite/27_io/filebuf_virtuals.cc (test13, test14): Add.

2003-03-07  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/9826
	* include/bits/istream.tcc (operator>>(_CharT*),
	operator>>(basic_string&), ws): Pass a char_type to __ctype.is.
	* testsuite/27_io/stringstream.cc (test02): Add.

	* include/bits/istream.tcc (operator>>(_CharT*)):
	Assign a char_type to *__s.

2003-03-07  Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/9817
	* include/bits/locale_facets.tcc
	(collate::do_compare, collate::do_transform):
	Handle nul characters in input.
	* testsuite/22_locale/collate/compare/char/3.cc:  New test.
	* testsuite/22_locale/collate/compare/wchar_t/3.cc:  New test.
	* testsuite/22_locale/collate/transform/char/3.cc:  New test.
	* testsuite/22_locale/collate/transform/wchar_t/3.cc:  New test.

2003-03-07  Jerry Quinn  <jlquinn@optonline.net>

	* include/bits/streambuf_iterator.h (_M_put): Set _M_failed if
	sputn fails.
	* testsuite/27_io/ostream_fail.cc: New test.

2003-03-07  Matthias Klose  <doko@debian.org>

	* Makefile.am (AM_MAKEFLAGS): Also pass gxx_include_dir.
	FLAGS_TO_PASS: Set to AM_MAKEFLAGS
	* Makefile.in: Regenerate.
	* libsupc++/Makefile.am: Express glibcppinstalldir in terms
	of gxx_include_dir.
	AM_MAKEFLAGS: Pass gxx_include_dir.
	* libsupc++/Makefile.in: Regenerate.

2003-03-06  Jerry Quinn  <jlquinn@optonline.net>

	* testsuite/27_io/ios_base_storage.cc (test02): Set exception
	mask.  Test setting small-numbered pword and iword slots.  Test
	behavior at limit of numeric_limits::max.  Check that values are
	still good after failures.

2003-03-06  Jerry Quinn  <jlquinn@optonline.net>

	* src/ios.cc (ios_base::_M_init): Remove _M_word_size.
	(ios_base::ios_base): Set _M_word, _M_word_size.
	(ios_base::~ios_base): Remove redundant test.
	* testsuite/27_io/ios_base_storage.cc (test03): New.

2003-03-04  Alexandre Oliva  <aoliva@redhat.com>

	* src/strstream.cc, include/bits/basic_string.tcc: Remove
	incorrect whitespace added in my previous change.

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.

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.

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.

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().

2003-03-04  Alexandre Oliva  <aoliva@redhat.com>

	* 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.

2003-03-04  Benjamin Kosnik  <bkoz@redhat.com>

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

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.

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

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

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.

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.

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.

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.

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.

2003-02-24  Benjamin Kosnik  <bkoz@redhat.com>

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

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.

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.

2003-02-20  Phil Edwards  <pme@gcc.gnu.org>

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

2003-02-20  Alexandre Oliva  <aoliva@redhat.com>

	* configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to
	config.status.
	* configure: Rebuilt.

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).

2003-02-19  Phil Edwards  <pme@gcc.gnu.org>

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

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.

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

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

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.
	* src/ios.cc: Clear _M_locale_cache in constructor.
	* src/locale-inst.cc (__locale_cache<char>, __locale_cache<_char_t>):
	New.

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

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

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.

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.

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.

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

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

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.

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.

2003-02-11  Benjamin Kosnik  <bkoz@redhat.com>

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

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.

2003-02-11  Scott Snyder  <snyder@fnal.gov>

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

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.

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.

2002-02-11  DJ Delorie  <dj@redhat.com>

	* acinclude.m4: Check for native targets that can't link at
	this point in the build.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2003-02-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	* 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.

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

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

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.

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.

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.

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.

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.

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

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

2003-02-04  Nathan Myers  <ncm@cantrip.org>

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

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.

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.

2003-02-04  Benjamin Kosnik  <bkoz@redhat.com>

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

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.

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).

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.

2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>

	* docs/html/17_intro/porting.texi: Update to GFDL 1.2.
	* docs/html/17_intro/porting.html: Regenerate.

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.

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.

2003-02-03  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>

	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.

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.

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.

2003-01-29  Mark Mitchell  <mark@codesourcery.com>

	* 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.

2003-01-28  Nathan Sidwell  <nathan@codesourcery.com>

	PR c++/9433
	* libsupc++/tinfo.cc (__vmi_class_type_info::__do_dyncast): Cope
	with bases which are very ambiguous.

2003-01-28  Danny Smith  <dannysmith@users.sourceforge.net>

	* 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.

2003-01-27  Alexandre Oliva  <aoliva@redhat.com>

	* acinclude.m4 (glibcpp_toolexeclibdir): Instead of
	$(MULTISUBDIR), use `$CC -print-multi-os-directory`, unless
	version_specific_libs is enabled.
	* aclocal.m4, configure: Rebuilt.

2003-01-24  Nathan Sidwell  <nathan@codesourcery.com>

	* include/bits/valarray_meta.h: Remove, split into ...
	* include/bits/valarray_before.h: ... this, and ...
	* include/bits/valarray_after.h: ... this.
	* include/std/std_valarray.h: Adjust.
	* include/Makefile.am (bits_headers): Adjust.
	* include/Makefile.in: Regenerate.

2003-01-24  Andreas Schwab  <schwab@suse.de>

	* config/linker-map.gnu: Fix for size_t variance.

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
	* 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.

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.

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.

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.

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.

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):
	Split 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.

2003-01-16  Jeffrey D. Oldham  <oldham@codesourcery.com>

	* config/locale/generic/messages_members.h
	(messages_byname<_CharT>::messages_byname): Use this-> to refer to
	unqualified members of base clasess.

2003-01-16  Mark Mitchell  <mark@codesourcery.com>
	    Jeffrey Oldham <oldham@codesourcery.com>

	* 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.

2003-01-15  Phil Edwards  <pme@gcc.gnu.org>

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

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.

2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* config/os/hpux/os_defines.h (_GLIBCPP_GTHREAD_USE_WEAK): Define for
	__hppa__.

2003-01-14  Jeffrey D. Oldham  <oldham@codesourcery.com>

	Further conform g++'s __vmi_class_type_info to the C++ ABI
	specification.
	* libsupc++/cxxabi.h
	(__vmi_class_type_info::__flags_masks): Remove enumerations not
	required by the specification.

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.

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.

2003-01-09  Benjamin Kosnik  <bkoz@redhat.com>

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

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.

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.

2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>

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

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.

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.

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.

2003-01-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* 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*.

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.

2003-01-02  Jason Merrill  <jason@redhat.com>

	* config/cpu/i486/atomicity.h (__exchange_and_add, __atomic_add):
	*__mem is also an output.
	* config/cpu/m68k/atomicity.h (__exchange_and_add): Likewise.

Copyright (C) 2003 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
