2001-12-31  Paolo Carlini  <pcarlini@unitus.it>

	* include/ext/iterator:  Add #include <bits/std_iterator.h>, tweak.
	* testsuite/ext/headers.cc:  Add <ext/iterator>.

2001-12-31  Paolo Carlini  <pcarlini@unitus.it>

	* include/backward/algo.h:  Add two more using declarations.
	* include/backward/iterator.h:  Include <ext/iterator>,
	add using declaration.
	* include/ext/algorithm:  Add #pragma GCC system_header.

2001-12-31  Phil Edwards  <pme@gcc.gnu.org>

	* include/bits/stl_bvector.h:  Change calls to 3-argument distance()
	into standard 2-argument version.
	* include/bits/stl_deque.h:  Likewise.
	* include/bits/stl_tempbuf.h:  Likewise.
	* include/bits/stl_tree.h:  Likewise.
	* include/bits/stl_vector.h:  Likewise.
	* include/ext/stl_hashtable.h:  Likewise.
	* include/bits/stl_iterator_base_funcs.h:  Move distance() extension...
	* include/ext/iterator:  to here.  New file.
	* include/Makefile.am (ext_headers):  Add new file, alphabetize.
	* include/Makefile.in:  Regenerate.

2001-12-31  Phil Edwards  <pme@gcc.gnu.org>

	* include/bits/stl_deque.h:  Doxygenate with initial/example hooks.
	Clean up spacing and indentation.

2001-12-31  Paolo Carlini  <pcarlini@unitus.it>

	* include/ext/slist:  Move into __gnu_cxx,
        tweak, add using declarations.

2001-12-31  Paolo Carlini  <pcarlini@unitus.it>

	* include/ext/hash_map:  Move into __gnu_cxx,
	tweak, add using declarations.
	* include/ext/hash_set:  Ditto.
	* include/ext/ropeimpl.h:  Ditto.
	* include/ext/stl_hash_fun.h:  Ditto.
	* include/ext/stl_hashtable.h:  Ditto.
	* include/ext/stl_rope.h:  Ditto.
	* src/ext-inst.cc: Tweak.
	* testsuite/ext/rope.cc: Tweak.

2001-12-31  Paolo Carlini  <pcarlini@unitus.it>

	* include/backward/algo.h:  Include <ext/algorithm>,
	tweak using declarations.

2001-12-29  Richard Henderson  <rth@redhat.com>

	* config/os/hpux/bits/os_defines.h: Don't define __glibcpp_long_bits.
	* config/os/hpux/bits/cpu_limits.h: New file.
	* configure.target (CPULIMITSH): Use it.

2001-12-28  Richard Henderson  <rth@redhat.com>

	* config/cpu/ia64/bits/cpu_limits.h: New file.
	* config/os/osf/osf5.0/bits/cpu_limits.h: New file.
	* configure.target (CPULIMITSH): Use them.

2001-12-28  Phil Edwards  <pme@gcc.gnu.org>

	* include/bits/c++config:  Move doxygen hook comment...
	* docs/doxygen/doxygroups.cc:  ...to here.

2001-12-28  Phil Edwards  <pme@gcc.gnu.org>

	PR libstdc++/2054
	* include/bits/stl_algo.h (lower_bound):  Relax concept checks.
	* testsuite/ext/concept_checks.cc:  New file.

2001-12-28  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/stl_algo.h (count returning void,
	count_if returning void, __random_sample, random_sample,
	random_sample_n, __is_heap, is_heap, is_sorted):  Move to...
	* include/ext/algorithm:  ...here, new file.
	* include/Makefile.am (ext_headers):  Add new file.
	* include/Makefile.in:  Regenerate.
	* testsuite/ext/headers.cc:  Include <ext/algorithm>.

2001-12-28  Paolo Carlini  <pcarlini@unitus.it>
	    Nathan Myers  <ncm@cantrip.org>

	* include/bits/basic_string.h (insert(__pos, __s, __n)):
	Optimize by avoiding temporaries and working in-place when possible.
	(insert(__pos1, __str)): Call insert(__pos1, __str, __pos2, __n).
	(insert(__pos1, __str, __pos2, __n)): Call insert(__pos, __s, __n).
	* testsuite/21_strings/insert.cc (test02): New testcases.

2001-12-27  Phil Edwards  <pme@gcc.gnu.org>

	* testsuite/testsuite_hooks.h (gnu_counting_struct):  Add.
	* testsuite/23_containers/deque_ctor.cc:  New file.

2001-12-27  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/locale_facets.tcc (collate::do_transform):
	Adjust implicit typename.
	* config/locale/messages_members_generic.h (messages::open,
	messages::do_open, messages::do_get): Adjust implicit typename.
	* config/locale/messages_members_gnu.h (messages::open,
	messages::do_open, messages::do_get): Adjust Implicit typename.
	* config/locale/messages_members_ieee_1003.1-200x.h (messages::open,
	messages::do_open, messages::do_get): Adjust implicit typename.

2001-12-27  Phil Edwards  <pme@gcc.gnu.org>

	PR libstdc++/3829
	* src/misc-inst.cc:  Many additional I/O-related instantiations.
	* testsuite/27_io/instantiations.cc:  New file.

2001-12-26  Benjamin Kosnik  <bkoz@waller.constant.com>

	* testsuite/24_iterators/insert_iterator.cc (test02): Add.
	* testsuite/24_iterators/front_insert_iterator.cc (test02): Add.
	* testsuite/24_iterators/back_insert_iterator.cc (test02): Add.
	* testsuite/24_iterators/reverse_iterator.cc (test02): Add.

	* include/bits/stl_iterator.h (reverse_iterator): Uglify member
	current to _M_current.
	(back_insert_iterator): Uglify member container to _M_container.
	(front_insert_iterator): Same.
	(insert_iterator): Same.

2001-12-25  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>

	* include/bits/std_limits.h (__glibcpp_xxx_is_modulo): New
	macros for signed types; default value is true.
	(numeric_limits<>::is_modulo): Get value from corresponding
	__glibcpp_xxx_is_modulo macro.

2001-12-23  Jeffrey A Law  <law@redhat.com>

	* config/os/hpux/bits/os_defines.h: Do not include <_sys/inttypes.h>.
	Twiddle return types for strtoll and strtoull to avoid using
	intmax_t and uintmax-t.

2001-12-22  Richard Henderson  <rth@redhat.com>

	* configure.target (CPULIMITSH): Fix typo in alpha case.

2001-12-22  Jeffrey A Law  <law@redhat.com>

	* config/os/hpux/bits/os_defines.h: Update to avoid #defines
	for strtoll and strtoull.

2001-12-21  Jeffrey A Law  <law@redhat.com>

	* config/os/hpux/bits/os_defines.h: Include <sys/_inttypes.h.
	Define strtoll and strtoull.  Provide prototypes for
	__strtoll and __strtoull.  Define _GLIBCPP_USE_LONG_LONG
	unconditionally.

	* src/locale-inst.cc: Include <bits/std_cstdlib.h>

	* configure.target: Fix typo in hpux case.

2001-12-21  Paolo Carlini  <pcarlini@unitus.it>

	* include/ext/stl_rope.h (_Rope_iterator):
	Add local typedef to fix implicit typename problems.

2001-12-19  Phil Edwards  <pme@gcc.gnu.org>

	* docs/doxygen/Intro.3:  New 'Allocators' module.
	* docs/doxygen/TODO:  Update.
	* docs/doxygen/doxygroups.cc:  Update.
	* docs/doxygen/run_doxygen:  Update.

	* include/bits/stl_alloc.h:  Tweak doxygen hooks in comments.
	* include/bits/std_memory.h:  Doxygenate.
	* include/bits/stl_iterator_base_types.h:  Likewise.
	* include/bits/stl_raw_storage_iter.h:  Likewise.
	* include/bits/stl_tempbuf.h:  Likewise.
	(get_temporary_buffer):  Remove unused nonstandard overload.
	* include/bits/stl_uninitialized.h:  Likewise.

	* include/bits/stl_iterator_base_types.h (input_iterator,
	output_iterator, forward_iterator, bidirectional_iterator,
	random_access_iterator):  Move old names...
	* include/backward/iterator.h:  ...to here.
	* include/bits/stl_bvector.h:  Update.
	* include/ext/stl_rope.h:  Update.

2001-12-19  Phil Edwards  <pme@gcc.gnu.org>

	* docs/html/configopts.html:  Describe recent options.
	* docs/html/documentation.html:  Point to new doxygen tarballs.
	* docs/html/install.html:  Brief updates.
	* docs/html/17_intro/RELEASE-NOTES:  Remove weird control character.
	* docs/html/ext/howto.html:  Fix typos, describe filebuf::fd().
	* docs/html/faq/index.html:  Update for 3.0.95.
	* docs/html/faq/index.txt:  Regenerate.

2001-12-19  David Billinghurst <David.Billinghurst@riotinto.com>

	libstdc++-v3/5148
	* testsuite/lib/libstdc++-v3-dg.exp:  Append .exe to
	executable filenames

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

	* docs/html/17_intro/TODO: Update.
	* docs/html/17_intro/RELEASE-NOTES: Edits, update.
	* README: Edit for clarity, update to reflect current directory
	structure.

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

	* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Extended checking before
	enabling gnu model.
	* aclocal.m4: Rebuild.
	* configure: Rebuild.

2001-12-18  Paolo Carlini  <pcarlini@unitus.it>
	    Nathan Myers  <ncm@cantrip.org>

	* include/bits/basic_string.h (assign(__str, __pos, __n)):
	Call assign(__s, __n).
	(assign(__s, __n)): Terminate the string with _S_terminal.

2001-12-17  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/std_limits.h (__glibcpp_long_double_is_bounded):
	Set to true, like float and double.

2001-12-17  David Billinghurst <David.Billinghurst@riotinto.com>

	libstdc++/5136
	* testsuite/lib/prune.exp: New file
	* testsuite/lib/libstdc++-v3-dg.exp: Use it

2001-12-17  Phil Edwards  <pme@gcc.gnu.org>

	* include/bits/basic_file.h (__basic_file::fd):  New function.
	* config/io/basic_file_stdio.h (__basic_file::fd):  Define.
	* include/bits/std_fstream.h (basic_filebuf::fd):  New function.
	* include/bits/fstream.tcc (basic_filebuf::fd):  Define.
	* testsuite/27_io/filebuf_members.cc (test_02):  New test.

2001-12-16  Nathan Sidwell  <nathan@codesourcery.com>

	* po/Makefile.am (.po.mo): Use POSIXLY_CORRECT argument ordering.
	* po/Makefile.in: Regenerated.

2001-12-16  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/21_strings/assign.cc (test01): Add tests.

2001-12-15  Paolo Carlini  <pcarlini@unitus.it>
	    Nathan Myers  <ncm@cantrip.org>

	* include/bits/basic_string.h
	(assign(__str, __pos, __n), assign(__s, __n)):  Optimize
	by avoiding unnecessary temporaries.
	(assign(__s)): Call assign(__s, __n).
	* include/bits/basic_string.tcc (_M_replace_safe): Adjust comment.
	* include/bits/std_string.h: include stl_function.h.
	* testsuite/21_strings/assign.cc (test02, test03): New tests.

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

	* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Enable gnu locale model
	on linux by default.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2001-12-14  Benjamin Kosnik  <bkoz@redhat.com>

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

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

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

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

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

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

2001-12-13  Roger Sayle <roger@eyesopen.com>

	* acconfig.h: Test for __builtin_sqrt instead of
	__builtin_fsqrt.
	* acinclude.m4: Same.
	* include/c_shadow/bits/std_cmath.h: Same.
	* aclocal.m4: Regenerated.
	* config.h.in: Regenerated.
	* configure: Regenerated.

2001-12-13  Phil Edwards  <pme@gcc.gnu.org>

	* docs/html/ext/howto.html:  Fix typos.

2001-12-13  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/3679
	* src/locale.cc (locale::locale(const char*)): Deal with locales
	named "".
	* testsuite/22_locale/ctor_copy_dtor.cc (test01): Modify.

2001-12-12  Paolo Carlini  <pcarlini@unitus.it>

	* include/ext/ropeimpl.h (rope::_S_leaf_concat_char_iter,
	_S_destr_leaf_concat_char_iter, _S_tree_concat, _S_concat_char_iter,
	_S_destr_concat_char_iter, _S_concat, _S_substring, _S_balance)
	: Adjust implicit typename.
	* include/ext/stl_rope.h (_Rope_iterator::operator=, rope::npos):
	Adjust implicit typename.
	* testsuite/27_io/streambuf.cc: Adjust implicit typename.

2001-12-12  Benjamin Kosnik  <bkoz@redhat.com>

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

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

2001-12-12  Philip Martin  <philip@codematters.co.uk>
	    Ross Smith     <r-smith@ihug.co.nz>
	    Paolo Carlini  <pcarlini@unitus.it>

	libstdc++/5045
	* include/bits/std_limits.h (defines, numeric_limits<bool>::digits10):
	Fix digits10 values for integral types.
	* include/bits/locale_facets.tcc (num_get::do_get for integral types):
	Tweak _M_extract_int call.
	* testsuite/27_io/istream_extractor_arith.cc (test13, test12_aux):
	Tweak overflowing number of digits.
	* testsuite/18_support/numeric_limits.cc (test03): New testcase.

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

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

2001-12-11  Phil Edwards  <pme@gcc.gnu.org>

	* testsuite/ext/allocators.cc:  New file.

2001-12-11  Jason Merrill  <jason@redhat.com>

	* include/bits/locale_facets.tcc (_M_extract_int): Avoid
	uninitialized warning.

2001-12-11  Loren Rittle <ljrittle@acm.org>

	* config/cpu/sparc/sparc32/bits/atomicity.h
	(__Atomicity_lock<0>::_S_atomicity_lock): Add.

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

	* include/bits/basic_string.tcc (_M_replace_safe):  Fix typos.
	* include/bits/basic_string.h:  Fix typos.

2001-12-10  Paolo Carlini  <pcarlini@unitus.it>
	    Nathan Myers  <ncm@cantrip.org>

	* include/bits/basic_string.tcc (_M_replace_safe):  New function.
	(_M_replace(input_iterator_tag), append members):  Use it.
	(_M_replace(forward_iterator_tag)):  Remove.
	* include/bits/basic_string.h:  Adjust declarations.
	* src/string-inst.cc:  Adjust declarations.

2001-12-09  Benjamin Kosnik  <bkoz@redhat.com>
	    Philip Martin <pmartin@uklinux.net>

	* include/bits/locale_facets.h (__num_base::_S_scale_hex): Add.
	(__num_base::_S_scale_oct): Add.
	* include/bits/locale_facets.tcc (_M_extract_int): Use them.
	* src/locale.cc: Add definitions.
	* testsuite/27_io/istream_extractor_arith.cc (main): Call test13.

	* testsuite/testsuite_hooks.h: Remove duplicate VERIFY define.

2001-12-07  Nathan Myers  <ncm@cantrip.org>
	    Loren Rittle <ljrittle@acm.org>

	libstdc++/5037
	* config/cpu/sparc/sparc32/bits/atomicity.h
	(struct __Atomicity_lock<__inst>): Add.
	(__Atomicity_lock<__inst>::_S_atomicity_lock): Add.
	(__exchange_and_add): Use __Atomicity_lock<0>::_S_atomicity_lock
	instead of lock local to static function.
	(__atomic_add): Likewise.

2001-12-07  Phil Edwards  <pme@gcc.gnu.org>

	* src/globals.cc:  Remove __GTHREADS guard.

2001-12-07  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/locale_facets.tcc (num_put::_M_convert_float):
	Extend comment, reduce __cs_size for non-fixed outputs.

2001-12-07  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/basic_string.tcc (_M_mutate): Fix typo
	in the previous check in.

2001-12-06  Paolo Carlini  <pcarlini@unitus.it>
	    Loren J. Rittle <ljrittle@acm.org>

	* include/bits/basic_string.tcc (_M_mutate, _M_clone): Implement
	exponential growth policy to meet linear amortized time
	requirements of the standard.
	(_S_create): Adjust comment.

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

	libstdc++/3720
	* include/bits/locale_facets.tcc (num_put): Clean.
	(num_get::_M_extract_float): Change argument to string.
	(num_get::do_get(float)): Fixup.
	(num_get::do_get(double)): Same.
	(num_get::do_get(long double)): Same.
	(num_get::_M_extract_int): Add maximum length parameter, __max.
	(num_get::_M_extract_float): Correct zeros, use string.
	* include/bits/locale_facets.h (num_get::_M_extract_float): Change
	declaration here.
	* src/locale.cc (__num_base::_S_atoms): Remove x, X.
	* testsuite/27_io/istream_extractor_arith.cc (test13): Add.

2001-12-06  Philip Martin  <pmartin@uklinux.net>

	* testsuite/27_io/istream_extractor_arith.cc (test12): Add
	tests for excess input digits.

2001-12-06  Phil Edwards  <pme@gcc.gnu.org>

	* include/bits/std_bitset.h:  Use GLIBCPP in multiple-inclusion guard.
	* include/bits/stl_algo.h:  Likewise.
	* include/bits/stl_algobase.h:  Likewise.
	* include/bits/stl_bvector.h:  Likewise.
	* include/bits/stl_deque.h:  Likewise.
	* include/bits/stl_function.h:  Likewise.
	* include/bits/stl_iterator.h:  Likewise.
	* include/bits/stl_iterator_base_funcs.h:  Likewise.
	* include/bits/stl_iterator_base_types.h:  Likewise.
	* include/bits/stl_list.h:  Likewise.
	* include/bits/stl_multimap.h:  Likewise.
	* include/bits/stl_multiset.h:  Likewise.
	* include/bits/stl_pair.h:  Likewise.
	* include/bits/stl_queue.h:  Likewise.
	* include/bits/stl_set.h:  Likewise.
	* include/bits/stl_stack.h:  Likewise.
	* include/bits/stl_tempbuf.h:  Likewise.
	* include/bits/stl_tree.h:  Likewise.
	* include/bits/stl_vector.h:  Likewise.

	* include/bits/stl_alloc.h:  Use our own multiple inclusion guards.
	Doxygenate more comments.  Correct historical artifacts in comments.
	(alloc, single_alloc):  Uglify non-standard names.
	(__default_alloc_template::_NFREELISTS):  Calculate from other
	parameters.
	(__default_alloc_template::_S_free_list):  Remove SunPro workaround.
	(__default_alloc_template::_Lock):  Mark as "unused".
	* include/backward/alloc.h:  Update.
	* include/bits/stl_bvector.h:  Likewise.
	* include/ext/ropeimpl.h:  Likewise.
	* include/ext/stl_hashtable.h:  Likewise.

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

	DR/282
	* include/bits/locale_facets.tcc (num_put::_M_widen_float): Add
	grouping to floating point types.
	* testsuite/27_io/ostream_inserter_arith.cc (test02): Add test.

2001-12-04  Paolo Carlini <pcarlini@unitus.it>

	libstdc++/4402
	* testsuite/27_io/ostream_inserter_arith.cc (test02): Add testcase
	from the PR.
	* include/bits/locale_facets.tcc (num_put::_M_convert_float):
	Deal properly with long ios_base::fixed floats.
	(num_put::_M_widen_float): use
	__len in __builtin_alloca call.

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

	* src/Makefile.am (sources): Add ext-inst.cc.
	* src/Makefile.in: Regenerate.
	* src/ext-inst.cc: New file.
	* include/bits/stl_threads.h: Format.
	* src/globals.cc: Add instantiation for _S_swap_lock.

	* testsuite/18_support/numeric_limits.cc: Add numeric_limits<B>
	instantiation.

2001-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* testsuite/22_locale/numpunct_members_wchar_t.cc: Only compile
	and execute test01 if _GLIBCPP_USE_WCHAR_T is defined.
	* testsuite/26_numerics/complex_inserters_extractors.cc: Provide
	for explicit instantiation of class std::basic_string<char,
	gnu_char_traits, std::allocator<char> >.

2001-12-03  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/22_locale/collate.cc: Compile-only.
	* testsuite/22_locale/time_get.cc: Same.
	* testsuite/22_locale/time_put.cc: Same.
	* testsuite/22_locale/numpunct.cc: Same.
	* testsuite/22_locale/num_put.cc: Same.
	* testsuite/22_locale/num_get.cc: Same.
	* testsuite/22_locale/moneypunct.cc: Same.
	* testsuite/22_locale/money_get.cc: Same.
	* testsuite/22_locale/messages.cc: Same.
	* testsuite/22_locale/ctype.cc: Same.

2001-12-03  Benjamin Kosnik  <bkoz@redhat.com>

	* src/string-inst.cc (string::_Rep::_S_terminal): Add static data
	member instantiations.

2001-12-03  Steve Ellcey  <sje@cup.hp.com>

	* libstdc++-v3/configure.in: Add support for hpux cross compiles,
	combine common linux/hpux/generic cross compile support to reduce
	redundent lines.
	* libstdc++-v3/configure: Regenerate.

2001-12-03  Loren J. Rittle  <ljrittle@acm.org>

	* docs/html/ext/howto.html: Update commentary.
	* include/bits/c++config: Update threading configuration comment.
	(__STL_GTHREADS): Remove macro definition.
	(__STL_THREADS): Likewise.
	* include/bits/stl_threads.h: Leave only the configuration
	path which had been guarded by __STL_GTHREADS.  Remove all
	guards related to __STL_GTHREADS, __STL_SGI_THREADS,
	__STL_PTHREADS, __STL_UITHREADS and __STL_WIN32THREADS.
	* include/bits/stl_alloc.h: Leave only the configuration path
	which had been guarded by __STL_THREADS.  Remove configuration
	path and guards for __STL_SGI_THREADS.
	(__NODE_ALLOCATOR_THREADS): Remove macro definition.  Unroll its use.
	(__NODE_ALLOCATOR_LOCK): Likewise.
	(__NODE_ALLOCATOR_UNLOCK): Likewise.
	(_NOTHREADS): Remove guards related to macro.
	* include/ext/stl_rope.h: Remove configuration path and guards
	for __STL_SGI_THREADS.
	* src/stl-inst.cc: Remove use of __NODE_ALLOCATOR_THREADS.

2001-12-02  Phil Edwards  <pme@gcc.gnu.org>

	* docs/html/ext/howto.html:  Update list of implemented DRs.
	* docs/html/ext/lwg-active.html:  Import R20 from upstream.
	* docs/html/ext/lwg-defects.html:  Import R20 from upstream.

2001-11-30  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/3150
	DR/266
	* libsupc++/exception (bad_exception::~bad_exception()): Remove
	declaration.
	* libsupc++/new (bad_alloc::~bad_alloc()): Remove.
	* libsupc++/typeinfo (bad_cast::~bad_cast()): Remove.
	(bad_typeid::~bad_typeid()): Remove.
	* libsupc++/tinfo.cc (bad_cast::~bad_cast()): Remove definition.
	(bad_typeid::~bad_typeid()): Same.
	* libsupc++/new_handler.cc (bad_alloc::~bad_alloc()): Same.
	* libsupc++/eh_exception.cc (bad_exception::~bad_exception()): Same.

	* include/bits/std_iomanip.h: Tweak.

2001-11-29  Paolo Carlini  <pcarlini@unitus.it>

	libstdc++/3655
	* include/bits/locale_facets.tcc (__pad): Add bool parameter to
	correctly pad internal-adjusted const char*-type objects.
	* include/bits/locale_facts.tcc (num_put::_M_insert): Update call.
	* include/bits/ostream.tcc (operator<<(_CharT , char, const
	_CharT*, const char*, const basic_string&): Update calls.
	* src/locale-inst.tcc: Update declarations.
	* testsuite/27_io/ostream_inserter_arith.cc (test04): Add test.

2001-11-29  Phil Edwards  <pme@gcc.gnu.org>

	* docs/html/ext/howto.html:  Finish allocator notes (inst and 3.0).

2001-11-29  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.tcc (num_get::do_get(long double)):
	Fix __traits_type typo.

2001-11-28  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/locale_facets.tcc (__pad): Correctly pad
	internal-adjusted hex numbers.
	* testsuite/27_io/ostream_inserter_arith.cc: Add testcase.

2001-11-28  Paolo Carlini <pcarlini@unitus.it>
	    Loren J. Rittle <ljrittle@acm.org>

	* include/bits/basic_string.h
	(basic_string::_Rep::__default_excess, _S_excess_slop):
	Unused, remove.
	* include/bits/basic_string.tcc: Remove dead code.
	* include/bits/c++config: Remove comment.

2001-11-28  Benjamin Kosnik  <bkoz@redhat.com>
	    Jakub Jelinek  <jakub@redhat.com>

	* config/locale/moneypunct_members_gnu.cc
	(moneypunct<wchar_t>::_M_initialize_moneypunct): Correctly cast
	for ia64, others.
	* config/locale/numpunct_members_gnu.cc
	(numpunct<wchar_t>::_M_initialize_numpunct): Same.

2001-11-27  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.tcc: Formatting tweaks.

	* testsuite/23_containers/map_operators.cc: Don't xfail.
	* testsuite/23_containers/set_operators.cc: Same.
	* testsuite/backward/header_iterator_h.cc: Pass in -Wno-deprecated.
	* testsuite/backward/header_deque_h.cc: Same.

2001-11-27  Loren J. Rittle  <ljrittle@acm.org>
	    Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/basic_string.tcc (basic_string::_Rep::_S_create):
	Enforce allocation size blocking policy to reduce
	fragmentation and enhance performance with common malloc
	implementations.

2001-11-27  Benjamin Kosnik  <bkoz@redhat.com>

	Numeric facets cleanup.
	* include/bits/locale_facets.h (__num_base::_S_atoms): Add, remove
	+ and - signs.
	(__num_base::_M_zero): Add
	(__num_base::_M_e): Add.
	(__num_base::_M_E): Add.
	* include/bits/locale_facets.tcc (num_get::_M_extract): Remove.
	(num_get::_M_extract_float): New.
	(num_get::_M_extract_int): New.
	* src/locale.cc (num_get::_M_extract): Remove.

	* include/bits/locale_facets.tcc (num_put::_M_insert_float):
	Simplify, use _M_insert.
	(num_put::do_put(bool)): Simplify, remove __pad.
	(__pad): Remove.
	(__pad_output): Change to __pad.
	* include/bits/ostream.tcc: And here.
	* src/locale-inst: Remove instantiations.

	* include/bits/locale_facets.h: Move helper functions in to class
	num_put.
	(num_put::_M_insert_float): Same, for __output_integer.
	(num_put::_M_insert_int): Same, for __output_float.
	(num_put::_M_insert): New.
	(__num_base): Add.
	(__num_base::_S_format_float): Move
	__build_float_format into class __num_base.
	(__num_base::_S_format_int): Move __build_int_format into class
	__num_base.
	* include/bits/locale_facets.tcc (__group_digits): Change to
	(__add_grouping): This.
	* src/locale-inst.cc: And here. Tweak instantiations.
	* src/misc-inst.cc: Remove instantiations.

	* include/bits/ostream.tcc (__pad_char): Rename, adjust inserters
	for new calling conventions, move to...
	* include/bits/locale_facets.tcc (__pad_output): Here. Adjust
	signature to make it useful for both ostream and num_put.
	(__pad_numeric): Remove.
	* src/misc-inst.cc: Remove instantiations.
	* src/locale-inst.cc: Same.

	* include/bits/locale_facets.h (_Numeric_get): Remove.
	(_Numeric_put): Remove.
	(num_get::get(short)): Remove.
	(num_get::get(int)): Remove.
	(num_get::do_get(short)): Remove.
	(num_get::do_get(int)): Remove.
	* include/bits/istream.tcc (istream::operator>>(short)): Fix as
	per DR 118.
	(istream::operator>>(int)): Same.

	* include/bits/locale_facets.h (_Format_cache): Remove.
	* include/bits/locale_facets.tcc: Same.
	* src/locale.cc: Same.
	* src/locale-inst.cc: Same.
	* include/bits/ostream.tcc: Same.
	* src/ios.cc (ios_base::imbue): Remove here as well.

	* testsuite/22_locale/num_get.cc: New file.
	* testsuite/22_locale/num_get_members_char.cc: New file.
	* testsuite/22_locale/num_get_members_wchar_t.cc: New.
	* testsuite/22_locale/numpunct_members_wchar_t.cc: New file.
	* testsuite/22_locale/num_put.cc: New file.
	* testsuite/22_locale/num_put_members_char.cc: New file.
	* testsuite/22_locale/num_put_members_wchar_t.cc: New file.
	* testsuite/27_io/ostream_inserter_arith.cc: Fix.
	* testsuite/27_io/istream_extractor_arith.cc: Fix.

2001-11-27  Phil Edwards  <pme@gcc.gnu.org>

	* docs/html/explanations.html:  New section, empty for now.
	* docs/html/17_intro/howto.html:  Cleanup.  Move unrelated link...
	* docs/html/23_containers/howto.html:  ...to here.  Break up and
	rewrap threading discussion to emphasize warning.  Move malloc text...
	* docs/html/ext/howto.html:  ...to here.  New section.  Describe
	allocators and __USE_MALLOC effects.
	* docs/html/ext/sgiexts.html:  Mention their code.

2001-11-24  Joseph S. Myers  <jsm28@cam.ac.uk>

	* docs/doxygen/maint.cfg.in, docs/doxygen/user.cfg.in,
	docs/html/27_io/binary_iostreams_kuehl.txt: Revert previous
	changes.

2001-11-23  Phil Edwards  <pme@gcc.gnu.org>

	* Makefile.am (doxygen-maint):  The script isn't executable in CVS.
	* Makefile.in:  Regenerated.
	* docs/doxygen/TODO:  New file listing doxygen work to be done.
	* docs/doxygen/run_doxygen:  Fix up man pages.
	* docs/doxygen/user.cfg.in:  Insert maint-only toggles.
	* docs/doxygen/maint.cfg.in:  Copy from user.cfg and turn toggles on.
	* include/bits/stl_construct.h:  Use new hooks for internal functions.

	* docs/html/17_intro/TODO:  Small updates.
	* docs/html/faq/index.html:  Likewise.
	* docs/html/faq/index.txt:  Regenerated.

	* include/bits/stl_alloc.h:  Doxygenate, reindent comments, remove
	SGI-isms and wrappers.
	(simple_alloc, debug_alloc):  Uglify class names.
	(__default_alloc_template):  Uglify "threads" template parameter and
	update corresponding macros.
	* include/backward/alloc.h:  Bring up to date.

2001-11-23  Jason Merrill  <jason@redhat.com>

	* src/vterminate.cc (__verbose_terminate_handler): Add leading
	underscores.

2001-11-23  Joseph S. Myers  <jsm28@cam.ac.uk>

	* ChangeLog, docs/doxygen/maint.cfg.in, docs/doxygen/user.cfg.in,
	docs/doxygen/doxygroups.cc, docs/doxygen/Intro.3,
	docs/html/17_intro/BUGS, docs/html/17_intro/C++STYLE,
	docs/html/17_intro/CHECKLIST, docs/html/17_intro/DESIGN,
	docs/html/17_intro/howto.html, docs/html/17_intro/porting.html,
	docs/html/17_intro/porting.texi, 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/23_containers/howto.html,
	docs/html/26_numerics/howto.html, docs/html/27_io/howto.html,
	docs/html/27_io/binary_iostreams_kuehl.txt,
	docs/html/ext/sgiexts.html, docs/html/faq/index.html,
	docs/html/faq/index.txt, testsuite/24_iterators/iterator.cc,
	include/bits/basic_file.h, include/bits/locale_facets.h,
	include/bits/locale_facets.tcc, include/bits/std_sstream.h,
	include/ext/ropeimpl.h, include/ext/stl_rope.h,
	libsupc++/tinfo.cc, libsupc++/cxxabi.h, libsupc++/typeinfo,
	libsupc++/eh_throw.cc, acinclude.m4, aclocal.m4, configure,
	configure.target, ChangeLog-2000: Fix spelling errors.

	* config/locale/moneypunct_members_gnu.cc,
	include/bits/locale_facets.h: Fix spelling errors.

2001-11-22  Stephen M. Webb  <stephen@bregmasoft.com>

	* testsuite/23_containers/list_capacity.cc: New file.
	* testsuite/23_containers/list_ctor.cc: New file.
	* testsuite/23_containers/list_modifiers.cc: New file.
	* testsuite/23_containers/list_operators.cc: New file.

2001-11-22  Stephen M. Webb  <stephen@bregmasoft.com>

	* include/bits/stl_list.h: Reformatted according to C++STYLE rules.
	(size): Replaced nonstandard distance() call with the standard one.
	(transfer): Uglified to _M_transfer.

2001-11-21  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/4548
	* include/bits/basic_string.tcc (basic_string::reserve):  Never shrink
	below the current size.
	* testsuite/21_strings/capacity.cc (test02):  Add test.

2001-11-19  Phil Edwards  <pme@gcc.gnu.org>

	* docs/doxygen/Intro.3:  More notes.
	* docs/doxygen/style.css:  Update to default style from Doxygen 1.2.10.
	* include/bits/stl_algobase.h:  Add doxygen hooks for functions.
	* include/ext/hash_map:  Add @file hook.
	* include/ext/hash_set:  Likewise.
	* include/ext/rope:  Likewise.
	* include/ext/ropeimpl.h:  Likewise.
	* include/ext/slist:  Likewise.
	* include/ext/stl_hash_fun.h:  Likewise.
	* include/ext/stl_hashtable.h:  Likewise.
	* include/ext/stl_rope.h:  Likewise.

	* docs/html/17_intro/license.html:  Remove "experimental" sentence.
	* docs/html/19_diagnostics/howto.html:  Document new verbose
	terminate handler.
	* testsuite/27_io/filebuf.cc:  Fix comment, move tweakable parameter
	to more visible (closer to description) position.

	* libsupc++/eh_type.cc:  Formatting tweak.
	* libsupc++/exception:  Likewise.
	* src/vterminate.cc:  Likewise.

	* docs/html/17_intro/porting.html:  Regenerate.
	* docs/html/faq/index.txt:  Regenerate.

2001-11-18  Jason Merrill  <jason@redhat.com>

	* libsupc++/eh_personality.cc (__cxa_call_unexpected): Take void*.
	* libsupc++/eh_catch.cc (__cxa_begin_catch): Likewise.
	* libsupc++/unwind-cxx.h: Adjust.
	* src/Makefile.am (strstream.o): Pass -Wno-deprecated.

	* libsupc++/eh_type.cc (__cxa_current_exception_type): New file.
	* libsupc++/cxxabi.h: Declare it.
	* libsupc++/Makefile.am (sources): Add it.
	* src/vterminate.cc (verbose_terminate_handler): New file.
	* libsupc++/exception: Declare it.
	* src/Makefile.am (sources): Add it.

	* src/Makefile.am (VPATH): Check the src directory before the top one.

2001-11-16  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/stl_deque.h (deque::erase()):  Fix memory leak.

2001-11-16  Loren J. Rittle  <ljrittle@acm.org>

	* docs/html/17_intro/howto.html (Thread-safety): Rename
	section to ``The Standard C++ library and multithreading'' and
	update information based on recent mailing list traffic.  Move
	all discussion of __USE_MALLOC to...
	* docs/html/23_containers/howto.html (Containers and multithreading):
	...here and rework it based on recent mailing list traffic.

2001-11-15  Loren J. Rittle  <ljrittle@acm.org>

	* docs/html/faq/index.html (Is libstdc++-v3 thread-safe?): Clarify
	wording.

2001-11-15  <bjornw@planetarion.com>
	    Loren J. Rittle  <ljrittle@acm.org>

	libstc++/4219
	* include/bits/stl_alloc.h (alloc): Update to use __mem_interface.
	(single_client_alloc): Likewise.

2001-11-08  Danny Smith  <dannysmith@users.sourceforge.net>

	* configure.target: Add os_include_dir for mingw32* target.
	* docs/html/17_intro/porting.texi: Mention mingw32 as target benefiting
	from _GLIBCPP_AVOID_FSEEK.
	* config/os/mingw32/bits/ctype_base.h: New file.
	* config/os/mingw32/bits/ctype_inline.h: New file.
	* config/os/mingw32/bits/ctype_noninline.h: New file.
	* config/os/mingw32/bits/os_defines.h: New file.

2001-11-07  Nathan Myers  <ncm@cantrip.org>

	* docs/html/faq/index.html (5.8):  New entry on ABIs.
	* docs/html/faq/index.txt:  Regenerate.

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

	* docs/html/faq/index.html:  Explain libsupc++, mention 'long long'
	bugfixes on Solaris.
	* docs/html/faq/index.txt:  Regenerate.

2001-11-06  Phil Edwards  <pme@gcc.gnu.org>

	* acinclude.m4 (GLIBCPP_ENABLE_LONG_LONG):  Run the test in
	LANG_CPLUSPLUS mode.
	* aclocal.m4:  Regenerate.
	* configure:  Regenerate.

2001-11-05  Phil Edwards  <pme@gcc.gnu.org>

	* porting.texi:  Move...
	* docs/html/17_intro/porting.texi:  ...to here.
	* docs/html/Makefile:  Add rule to rebuild...
	* docs/html/17_intro/porting.html:  ...this.  New file.

2001-11-05  Felix Natter  <fnatter@gmx.net>

	* docs/html/17_intro/porting-howto.xml:  check in v0.9.4
	* docs/html/17_intro/porting-howto.html:  regenerate

2001-11-02  Loren J. Rittle  <ljrittle@acm.org>

	* include/bits/stl_threads.h (_Atomic_swap): Only enable path
	when platform supports __GTHREAD_MUTEX_INIT.

2001-11-02  Phil Edwards  <pme@gcc.gnu.org>

	* acconfig.h:  Update comments.
	* acinclude.m4 (GLIBCPP_ENABLE_C99):  Move strtoll, strtoull tests...
	(GLIBCPP_ENABLE_LONG_LONG):  ...to here.  Don't check enable_c99.
	* aclocal.m4:  Regenerate.
	* config.h.in:  Regenerate.
	* configure:  Regenerate.

	* include/bits/boost_concept_check.h:  Unconditionally compile uses
	of 'long long' which require only compiler support, not C lib support.
	* include/bits/cpp_type_traits.h:  Likewise.
	* include/bits/std_limits.h:  Likewise.
	* include/bits/type_traits.h:  Likewise.
	* src/concept-inst.cc:  Likewise.
	* src/limits.cc:  Likewise.
	* include/c_shadow/stdlib.h:  Compile conditionally on _GLIBCPP_USE_C99
	instead of _GLIBCPP_USE_LONG_LONG.
	* include/c_shadow/bits/std_cstdlib.h:  Likewise.

2001-11-02  Phil Edwards  <pme@gcc.gnu.org>

	* config/io/c_io_stdio.h:  Correct grammar in comments.
	* docs/doxygen/Intro.3:  Expand "top-level" man page.
	* docs/doxygen/doxygroups.cc:  New module definitions (comments).
	* docs/doxygen/mainpage.doxy:  Tweaks.
	* docs/doxygen/run_doxygen:  Update Doxygen version, massage man pages.

	Add @file hooks so that headers are considered to be documented.
	* include/bits/basic_ios.h, include/bits/basic_file.h,
	include/bits/basic_string.h, include/bits/boost_concept_check.h,
	include/bits/char_traits.h, include/bits/codecvt.h,
	include/bits/concept_check.h, include/bits/cpp_type_traits.h,
	include/bits/fpos.h, include/bits/gslice.h, include/bits/gslice_array.h,
	include/bits/indirect_array.h, include/bits/ios_base.h,
	include/bits/locale_facets.h, include/bits/localefwd.h,
	include/bits/mask_array.h, include/bits/pthread_allocimpl.h,
	include/bits/slice.h, include/bits/slice_array.h,
	include/bits/std_algorithm.h, include/bits/std_bitset.h,
	include/bits/std_complex.h, include/bits/std_deque.h,
	include/bits/std_fstream.h, include/bits/std_functional.h,
	include/bits/std_iomanip.h, include/bits/std_ios.h,
	include/bits/std_iosfwd.h, include/bits/std_iostream.h,
	include/bits/std_istream.h, include/bits/std_iterator.h,
	include/bits/std_limits.h, include/bits/std_list.h,
	include/bits/std_locale.h, include/bits/std_map.h,
	include/bits/std_memory.h, include/bits/std_numeric.h,
	include/bits/std_ostream.h, include/bits/std_queue.h,
	include/bits/std_set.h, include/bits/std_sstream.h,
	include/bits/std_stack.h, include/bits/std_streambuf.h,
	include/bits/std_string.h, include/bits/std_utility.h,
	include/bits/std_valarray.h, include/bits/std_vector.h,
	include/bits/stl_algo.h, include/bits/stl_alloc.h,
	include/bits/stl_bvector.h, include/bits/stl_construct.h,
	include/bits/stl_deque.h, include/bits/stl_heap.h,
	include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
	include/bits/stl_iterator_base_types.h, include/bits/stl_list.h,
	include/bits/stl_map.h, include/bits/stl_multimap.h,
	include/bits/stl_multiset.h, include/bits/stl_numeric.h,
	include/bits/stl_pair.h, include/bits/stl_pthread_alloc.h,
	include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
	include/bits/stl_relops.h, include/bits/stl_set.h,
	include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
	include/bits/stl_threads.h, include/bits/stl_tree.h,
	include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
	include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
	include/bits/stringfwd.h, include/bits/type_traits.h,
	include/bits/valarray_array.h, include/bits/valarray_meta.h:
	Add hooks, tweak comments only.

	* include/bits/stl_algobase.h (swap, min, iter_swap):  Also
	document these functions.
	* include/bits/stl_function.h:  Tweak link comments.

2001-11-01  Paolo Carlini  <pcarlini@unitus.it>
	    Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/27_io/ios_manip_fmtflags.cc: Fix for non-interactive
	output.
	* include/bits/locale_facets.tcc (num_put::do_put(bool)): Fix.

2001-11-01  Egor Duda  <deo@logos-m.ru>

	* config/os/newlib/bits/ctype_noninline.h
	(ctype<char>::do_toupper(char __c)): Check for proper character class.
	(ctype<char>::do_tolower(char __c)): Ditto.

2001-11-01  Phil Edwards  <pme@gcc.gnu.org>

	* acinclude.m4:  Fix spacing.
	(GLIBCPP_ENABLE_CONCEPT_CHECKS):  New macro.
	* configure.in:  Call here.
	* acconfig.h:  Add _GLIBCPP_CONCEPT_CHECKS.
	* include/bits/boost_concept_check.h:  Fix headers.
	(__function_requires):  Make inline.
	* include/bits/c++config (_GLIBCPP_CONCEPT_CHECKS):  Remove.
	* aclocal.m4:  Regenerate.
	* config.h.in:  Regenerate.
	* configure:  Regenerate.

	Move trailing ';' inside macro, PR libstdc++/3666.
	* include/bits/concept_check.h:  Add semicolon.
	* include/bits/stl_algo.h:  Remove semicolon.
	* include/bits/stl_algobase.h:  Likewise.
	* include/bits/stl_deque.h:  Likewise.
	* include/bits/stl_heap.h:  Likewise.
	* include/bits/stl_iterator_base_funcs.h:  Likewise.
	* include/bits/stl_list.h:  Likewise.
	* include/bits/stl_map.h:  Likewise.
	* include/bits/stl_multimap.h:  Likewise.
	* include/bits/stl_multiset.h:  Likewise.
	* include/bits/stl_numeric.h:  Likewise.
	* include/bits/stl_queue.h:  Likewise.
	* include/bits/stl_set.h:  Likewise.
	* include/bits/stl_stack.h:  Likewise.
	* include/bits/stl_vector.h:  Likewise.
	* include/ext/hash_map:  Likewise.
	* include/ext/hash_set:  Likewise.
	* include/ext/slist:  Likewise.

	* src/concept-inst.cc:  New file with explicit instantiations.
	* src/Makefile.am (sources):  Add here, with special build rules.
	* src/Makefile.in:  Regenerate.

2001-11-01  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>

	* include/bits/std_complex.h (_Norm_helper): New class template.
	(norm): Tweak.
	(abs): Tweak. Fix Thinko.

2001-10-31  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/4749
	* include/bits/codecvt.h: Add virtual member function declarations.
	* src/codecvt.cc: Tweaks.
	* testsuite/22_locale/codecvt.cc: Test compilation only,
	non-required facets not required to have linkage.

2001-10-31  Edward E. Meyer  <edward.e.meyer@boeing.com>

	libstdc++/4622
	* include/bits/std_complex.h (complex::operator/=): Correct sign.

2001-10-30  Paolo Carlini  <pcarlini@unitus.it>
	    Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/4354
	* include/bits/basic_string.h: Tweaks.
	* include/bits/basic_string.tcc (string::_M_replace(iterator,
	iterator, _ForwardIter, _ForwardIter, forward_iterator_tag): Fix.
	* src/string-inst.cc: Tweaks, add instantiation.
	* testsuite/21_strings/replace.cc (test02): Add test.
	* testsuite/21_strings/assign.cc (test01): New file.

2001-10-30  Jakub Jelinek  <jakub@redhat.com>

	* include/bits/stl_deque.h (_M_new_elements_at_front): Use
	__throw_exception_again.
	(_M_new_elements_at_back): Likewise.

2001-10-29  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/3647
	* include/bits/fstream.tcc (filebuf::showmanyc): Simplify.
	* testsuite/27_io/filebuf.cc (test07): New test.
	(test03): Modify showmanyc test.

2001-10-26  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/4503
	* config/locale/codecvt_specializations_ieee_1003.1-200x.h
	(__enc_traits::~__enc_traits): Fix.
	(__enc_traits::_M_init): Add error checking.

2001-10-25  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/4542
	* include/bits/locale_facets.tcc (time_get::_M_extract_name): Fix.

2001-10-25  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/4545
	* include/bits/ostream.tcc (ostream::operator<<(streambuf*)): Fix
	exceptions.
	* include/bits/istream.tcc (istream::operator>>(streambuf*): Make
	consistent, where possible.
	* include/bits/streambuf.tcc: Tweak.

2001-10-25  Brendan Kehoe  <brendan@zen.org>

	libstdc++/4536
	* bits/ostream.tcc (seekp): Scope use as ios_base::failbit.
	* bits/istream.tcc (seekg): Likewise.

2001-10-25  Benjamin Kosnik  <bkoz@redhat.com>
	    Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
	    Ulrich Weigand <Ulrich.Weigand@de.ibm.com>

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

2001-10-25  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.tcc (collate::do_transform): Fix.

2001-10-25  Phil Edwards  <pme@gcc.gnu.org>

	* docs/html/documentation.html:  Fix typo.

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

	Make -fno-exceptions work.
	* config/locale/c_locale_gnu.cc: Use functexcept.
	* include/bits/c++config (__stl_assert): Remove.
	(__STL_USE_EXCEPTIONS): Same.
	(__STL_TRY): Same.
	(__STL_CATCH_ALL): Same.
	(__STL_THROW): Same.
	(__STL_RETHROW): Same.
	(__STL_NOTHROW): Same.
	(__STL_UNWIND): Same.
	* include/bits/pthread_allocimpl.h: Fix.
	* include/bits/std_bitset.h: Same.
	* include/bits/std_list.h: Same.
	* include/bits/std_memory.h: Same.
	* include/bits/std_queue.h: Same.
	* include/bits/stl_alloc.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/stl_list.h: Same.
	* include/bits/stl_queue.h: Same.
	* include/bits/stl_tempbuf.h: Same.
	* include/bits/stl_tree.h: Same.
	* include/bits/stl_uninitialized.h: Same.
	* include/bits/stl_vector.h: Same.
	* include/ext/ropeimpl.h: Same.
	* include/ext/slist: Same.
	* include/ext/stl_hashtable.h: Same.
	* include/ext/stl_rope.h: Same.
	* libsupc++/new_op.cc: Include cstdlib.
	* libsupc++/eh_personality.cc: Add exception_defines include. Use
	__throw_exception_again, tweak.
	* libsupc++/eh_aux_runtime.cc: Include stdlib for abort.
	* libsupc++/vec.cc: Tweak.
	* src/functexcept.cc: Remove unused arguments.
	* testsuite/23_containers/bitset_members.cc: Tweak.

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

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

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

2001-10-20  Brendan Kehoe  <brendan@zen.org>

	* bits/type_traits.h (_Bool): Removed this type.
	(__true_type, __false_type): Change to be plain structs.
	* src/string-inst.cc (__destroy_aux): Change third parm to be
	__false_type instead of _Bool<false>.
	* src/misc-inst.cc (__uninitialized_fill_n_aux,
	__uninitialized_copy_aux): Likewise.

2001-10-19  Benjamin Kosnik  <bkoz@redhat.com>

	* mkcheck.in (static_fail): Remove older memory limit functionality.
	Disable E_TIME due to formatting issues.

	* README: Update.

2001-10-19  Brendan Kehoe  <brendan@zen.org>

	* include/bits/std_complex.h: Default initialize second argument
	of polar to 0, as specified in Library DR #79

2001-10-19  Brendan Kehoe  <brendan@zen.org>

	* include/bits/stl_raw_storage_iter.h (operator=): Fix to call
	_Construct instead of construct.

2001-10-19  Brendan Kehoe  <brendan@zen.org>

	* include/bits/basic_string.tcc (find_first_not_of): Take out check for
	__n being non-zero, since the standard does not mandate that.
	e.g., a search for "" in "" should yield position 0, not npos.
	(find_last_not_of): Likewise.

2001-10-19  Brendan Kehoe  <brendan@zen.org>

	* include/bits/stl_bvector.h (vector<bool>::_M_range_check): Fix
	to throw out_of_range, not range_error, thus sayeth $23.1.1.13.

2001-10-19  Brendan Kehoe  <brendan@zen.org>

	* include/bits/stl_iterator.h (reverse_iterator::current): Rename
	member from _M_current, and change all uses; thus sayeth $24.4.1.1.

2001-10-19  Brendan Kehoe  <brendan@zen.org>

	* include/bits/stl_algo.h (partial_sort): Add missing `>' on the
	template parameter _ValueType.

2001-10-19  Brendan Kehoe  <brendan@zen.org>

	* include/bits/std_limits.h: Clean up extra semicolons.
	* include/bits/locale_facets.h: Likewise.
	* include/bits/type_traits.h: Likewise.

2001-10-19  Brendan Kehoe  <brendan@zen.org>

	* include/bits/localefwd.h (locale::combine): Add const for lib DR 14.
	* include/bits/locale_facets.tcc (locale::combine): Likewise.

2001-10-19  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.h (__timepunct::_M_put_helper):
	Declare specializations for char, wchar_t.

2001-10-19  Andreas Jaeger  <aj@suse.de>

	* config/cpu/x86-64/bits/limits.h: New file.
	* config/cpu/x86-64/bits/atomicity.h: New file.
	* configure.target: Add x86-64.

2001-10-17  Phil Edwards  <pme@gcc.gnu.org>

	* docs/html/17_intro/howto.html:  Remove 1999 links (and explain
	why).  Add link to recent message.
	* docs/html/faq/index.html (5.6):  Reformat text only; fixup <pre>
	markup.
	* docs/html/faq/index.txt:  Regenerate.

2001-10-12  Loren J. Rittle  <ljrittle@acm.org>

	* docs/html/faq/index.html (Is libstdc++-v3 thread-safe?): Update
	based on Nathan's review.  Use Nathan's words.

2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>

	* docs/html/configopts.html: Quote StyleSheet attribute values.
	* docs/html/documentation.html: Likewise.
	* docs/html/explanations.html: Likewise.
	* docs/html/install.html: Likewise.
	* docs/html/17_intro/howto.html: Likewise.
	* docs/html/17_intro/license.html: Likewise.
	* docs/html/18_support/howto.html: Likewise.
	* docs/html/19_diagnostics/howto.html: Likewise.
	* docs/html/20_util/howto.html: Likewise.
	* docs/html/21_strings/howto.html: Likewise.
	* docs/html/22_locale/howto.html: Likewise.
	* docs/html/23_containers/howto.html: Likewise.
	* docs/html/24_iterators/howto.html: Likewise.
	* docs/html/25_algorithms/howto.html: Likewise.
	* docs/html/26_numerics/howto.html: Likewise.
	* docs/html/27_io/howto.html: Likewise.
	* docs/html/ext/howto.html: Likewise.
	* docs/html/ext/sgiexts.html: Likewise.
	* docs/html/faq/index.html: Likewise.

2001-10-11  Loren J. Rittle  <ljrittle@acm.org>

	* docs/html/faq/index.html (Is libstdc++-v3 thread-safe?): Rewrite.
	* docs/html/23_containers/howto.html (Containers and multithreading):
	Update.

2001-10-09  Phil Edwards  <pme@gcc.gnu.org>

	* docs/html/17_intro/howto.html:  Tweak markup and value type.
	* docs/html/27_io/howto.html:  Tweak markup, describe setbuf() for
	nonzero arguments, add new note on threading.
	* docs/html/faq/index.html:  Update.
	* docs/html/faq/index.txt:  Regenerate.

2001-10-09  Phil Edwards  <pme@gcc.gnu.org>

	* docs/html/configopts.html:  More HTML->XHTML and lowercasing of tags.
	* docs/html/documentation.html:  Likewise.
	* docs/html/explanations.html:  Likewise.
	* docs/html/install.html:  Likewise.
	* docs/html/17_intro/howto.html:  Likewise.
	* docs/html/17_intro/license.html:  Likewise.  Tighten up language.
	* docs/html/18_support/howto.html:  Likewise.
	* docs/html/19_diagnostics/howto.html:  Likewise.
	* docs/html/20_util/howto.html:  Likewise.
	* docs/html/21_strings/howto.html:  Likewise.
	* docs/html/22_locale/howto.html:  Likewise.
	* docs/html/23_containers/howto.html:  Likewise.
	* docs/html/24_iterators/howto.html:  Likewise.
	* docs/html/25_algorithms/howto.html:  Likewise.
	* docs/html/26_numerics/howto.html:  Likewise.
	* docs/html/27_io/howto.html:  Likewise.
	* docs/html/ext/howto.html:  Likewise.
	* docs/html/ext/sgiexts.html:  Likewise.
	* docs/html/faq/index.html:  Likewise.  Not so many absolute links.
	* docs/html/faq/index.txt:  Regenerate.

2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>

	* docs/html/22_locale/locale.html, docs/html/faq/index.html: Fix
	spelling errors of "separate" as "seperate", and corresponding
	spelling errors of related words.
	* docs/html/faq/index.txt: Regenerate.

2001-10-05  Phil Edwards  <pme@gcc.gnu.org>

	* config/cpu/alpha/bits/atomicity.h (__compare_and_swap):  Remove
	unused function.
	* config/cpu/arm/bits/atomicity.h:  Likewise.
	* config/cpu/generic/bits/atomicity.h:  Likewise.
	* config/cpu/i486/bits/atomicity.h:  Likewise.
	* config/cpu/ia64/bits/atomicity.h:  Likewise.
	* config/cpu/mips/bits/atomicity.h:  Likewise.
	* config/cpu/powerpc/bits/atomicity.h:  Likewise.
	* config/cpu/sparc/sparc32/bits/atomicity.h:  Likewise.
	* config/cpu/sparc/sparc64/bits/atomicity.h:  Likewise.

2001-10-04  Phil Edwards  <pme@gcc.gnu.org>

	* docs/html/faq/index.html:  Describe DR #22, and a workaround.
	* docs/html/faq/index.txt:  Regenerate.

2001-10-04  Phil Edwards  <pme@gcc.gnu.org>

	* docs/html/17_intro/COPYING.DOC:  New file, GFDL v1.1 from the FSF.
	* docs/html/17_intro/license.html:  New file.  Explain the licenses
	in use.

	* docs/html/configopts.html:  Link to license.html.
	* docs/html/documentation.html:  Likewise.
	* docs/html/explanations.html:  Likewise.
	* docs/html/install.html:  Likewise.
	* docs/html/17_intro/howto.html:  Likewise.
	* docs/html/18_support/howto.html:  Likewise.
	* docs/html/19_diagnostics/howto.html:  Likewise.
	* docs/html/20_util/howto.html:  Likewise.
	* docs/html/21_strings/howto.html:  Likewise.
	* docs/html/22_locale/howto.html:  Likewise.
	* docs/html/23_containers/howto.html:  Likewise.
	* docs/html/24_iterators/howto.html:  Likewise.
	* docs/html/25_algorithms/howto.html:  Likewise.
	* docs/html/26_numerics/howto.html:  Likewise.
	* docs/html/27_io/howto.html:  Likewise.
	* docs/html/ext/howto.html:  Likewise.
	* docs/html/ext/sgiexts.html:  Likewise.
	* docs/html/faq/index.html:  Likewise.  New question, linking to
	the new license.html.

2001-10-04  Phil Edwards  <pme@gcc.gnu.org>

	* docs/html/17_intro/howto.html:  Fix mis-sed in header from 20010917.
	* docs/html/18_support/howto.html:  Likewise.
	* docs/html/19_diagnostics/howto.html:  Likewise.
	* docs/html/20_util/howto.html:  Likewise.
	* docs/html/21_strings/howto.html:  Likewise.
	* docs/html/22_locale/howto.html:  Likewise.
	* docs/html/23_containers/howto.html:  Likewise.
	* docs/html/24_iterators/howto.html:  Likewise.
	* docs/html/25_algorithms/howto.html:  Likewise.
	* docs/html/26_numerics/howto.html:  Likewise.
	* docs/html/27_io/howto.html:  Likewise.
	* docs/html/ext/howto.html:  Likewise.
	* docs/html/faq/index.html:  Likewise.  Spacing fix.

2001-10-03  Dimitris Vyzovitis  <vyzo@media.mit.edu>

	* include/bits/stl_threads.h (_Atomic_swap): New function.
	(_Swap_lock_struct<__dummy>::_S_swap_lock): New data.
	* testsuite/ext/rope.cc: New file.

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

	* config/locale/time_members_gnu.h: Remove.
	* config/locale/time_members_generic.h: Remove.
	* config/locale/time_members_gnu.cc (__timepunct::_M_put_helper): Add.
	* config/locale/time_members_generic.cc: Same.
	* include/bits/locale_facets.h: Add data members.
	(__timepunct::_M_put_helper): Change signature.
	(__timepunct::_M_date_formats): Same.
	(__timepunct::_M_time_formats): Same.
	(__timepunct::_M_ampm): Add.
	(__timepunct::_M_date_time_formats): Add.
	(time_get::_M_extract_via_format): Add.
	(time_get::_M_extract_time): Change to...
	(time_get::_M_extract_num): ... this, modify signature.
	* include/bits/locale_facets.tcc (time_get::do_get_year): Fix.
	(time_get::do_get_time): Fix.
	(time_get::do_get_date): Fix.

	* acinclude.m4: Remove CTIME_H.
	* aclocal.m4: Regenerate.
	* include/Makefile.am: Same.
	* include/Makefile.in: Regenerate.
	* configure: Regenerate.

	* testsuite/22_locale/time_get_members_char.cc: Fix.
	* testsuite/22_locale/time_get_members_wchar_t.cc: Add.
	* testsuite/22_locale/time_put_members_wchar_t.cc: Add.

2001-10-01  Hans-Peter Nilsson  <hp@axis.com>

	* config/cpu/cris/bits/atomicity.h: Correct file header.

2001-09-29  Hans-Peter Nilsson  <hp@axis.com>

	* configure.target (LIMITSH): Set for cris.
	(cpu_include_dir): Set for cris-*-*.
	* config/cpu/cris/bits/atomicity.h: New file.
	* config/cpu/cris/bits/limits.h: New file.

2001-09-28  Benjamin Kosnik  <bkoz@redhat.com>

	* config/locale/time_members_gnu.h (__timepunct::_M_get_helper): Add.
	(__timepunct::_M_put_helper): Add.
	* config/locale/time_members_generic.h: Same.
	* include/bits/locale_facets.h (__match_parallel): Remove. Format.
	(__timepunct): Add data members.
	(__timepunct::_M_days): Add.
	(__timepunct::_M_days_abbreviated): Add.
	(__timepunct::_M_months): Add.
	(__timepunct::_M_months_abbreviated): Add.
	(__timepunct::_M_initialize_timepunct): Add.
	* include/bits/locale_facets.tcc: Same.
	* src/locale-inst.cc: Remove instantiations for __match_parallel.
	* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add CTIME_CC.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/22_locale/time_put_members_char.cc: Mark XFAIL.
	* testsuite/22_locale/time_put_members_char.cc (test01): New file.
	* testsuite/22_locale/time_get.cc: New file.

2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Use
	correct multilib builddir.
	Properly locate libgcc_s.

2001-09-27  Phil Edwards  <pme@gcc.gnu.org>

	* include/std/*:  Add Doxygen hooks.
	* docs/doxygen/Intro.3:  New file, general intro to the man pages.
	* docs/doxygen/mainpage.doxy:  Formatting tweaks.  List our own links
	rather than using a generated index.
	* docs/doxygen/user.cfg.in:  Disable the index, enable man pages.
	* docs/doxygen/run_doxygen:  Massage the generated man pages, using...
	* docs/doxygen/stdheader.cc:  ...this new file.

2001-09-26  Stan Shebs  <shebs@apple.com>

	* include/Makefile.am: Remove RCS Id strings.
	* src/Makefile.am: Ditto.
	* docs/doxygen/run_doxygen: Ditto.
	* docs/html/configopts.html: Ditto.
	* docs/html/documentation.html: Ditto.
	* docs/html/explanations.html: Ditto.
	* docs/html/install.html: Ditto.
	* docs/html/17_intro/howto.html: Ditto.
	* docs/html/18_support/howto.html: Ditto.
	* docs/html/19_diagnostics/howto.html: Ditto.
	* docs/html/20_util/howto.html: Ditto.
	* docs/html/21_strings/howto.html: Ditto.
	* docs/html/22_locale/howto.html: Ditto.
	* docs/html/23_containers/howto.html: Ditto.
	* docs/html/24_iterators/howto.html: Ditto.
	* docs/html/25_algorithms/howto.html: Ditto.
	* docs/html/26_numerics/howto.html: Ditto.
	* docs/html/27_io/howto.html: Ditto.
	* docs/html/ext/howto.html: Ditto.
	* docs/html/ext/sgiexts.html: Ditto.
	* docs/html/faq/index.html: Ditto.
	* docs/html/faq/index.txt: Ditto.

2001-09-25  Phil Edwards  <pme@gcc.gnu.org>

	* testsuite/21_strings/c_strings.cc (test01, test02):  Increase
	`carray' size.

2001-09-25  Phil Edwards  <pme@gcc.gnu.org>

	* docs/html/20_util/howto.html:  Add anchor name.
	* docs/html/23_containers/howto.html:  Line wrapping, another link.
	* docs/html/25_algorithms/howto.html:  Another note.

	* docs/html/ext/howto.html:  Link to SGI extensions.  List DRs and
	link to them...
	* docs/html/ext/lwg-active.html:  ...in this new file (from R19),
	* docs/html/ext/lwg-defects.html:  and this new file (from R19).
	* docs/html/ext/sgiexts.html:  New file.  Mention SGI extensions
	carried over to libstdc++-v3.
	* docs/html/faq/index.html:  Link to SGI extensions.  Mention the
	"missing .." pseudobug.
	* docs/html/faq/index.txt:  Regenerate.

	* include/bits/ios_base.h:  DR-related comment cleanup.
	* include/bits/istream.tcc:  Likewise.
	* include/bits/locale_facets.h:  Likewise.
	* include/bits/locale_facets.tcc:  Likewise.
	* include/bits/ostream.tcc:  Likewise.
	* include/bits/std_bitset.h:  Likewise.
	* include/bits/std_iosfwd.h:  Likewise.
	* include/bits/std_istream.h:  Likewise.
	* include/bits/std_ostream.h:  Likewise.
	* include/bits/std_streambuf.h:  Likewise.
	* include/bits/stl_pair.h:  Likewise.
	* include/bits/streambuf_iterator.h:  Likewise.

	* include/bits/std_map.h:  Remove unused header inclusion guard
	_CPP_BITS_STL_TREE_H from around bits/stl_tree.h.
	* include/bits/std_set.h:  Likewise.

	* include/bits/stl_function.h:  Doxygen markup.
	* docs/doxygen/doxygroups.cc:  New file, specifying module grouping.
	* libsupc++/typeinfo:  Doxygen markup tweak.

2001-09-20  Scott Johnston <scott@accom.com>
	    Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>

	* include/backward/alloc.h: Conditionally define malloc_alloc
	* testsuite/backward/header_deque_h.cc: New file.

2001-09-20  Sylvain Pion <Sylvain.Pion@sophia.inria.fr>

	* libstdc++-v3/include/bits/locale_facets.tcc (money_put::do_put):
	change variable name so that it works with -fno-for-scope.

2001-09-20  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/22_locale/numpunct_members_char.cc (test01): Remove
	redundant sanity checks.
	* testsuite/22_locale/money_put_members_wchar_t.cc (test01): Same.
	(test02): Same.
	* testsuite/22_locale/money_put_members_char.cc (test01): Same.
	(test02): Same.
	* testsuite/22_locale/moneypunct_members_wchar_t.cc (test01): Same.
	* testsuite/22_locale/moneypunct_members_char.cc (test01): Same.
	* testsuite/22_locale/money_get_members_wchar_t.cc (test01): Same.
	(test02): Same.
	* testsuite/22_locale/money_get_members_char.cc (test01): Same.
	(test02): Same.

2001-09-19  Benjamin Kosnik  <bkoz@redhat.com>

	Implement std::time_put.
	* include/bits/locale_facets.h: Include time_members.h.
	(__timepunct): New.
	(time_put): Implement.
	* include/bits/locale_facets.tcc (do_put): Put generic versions here.
	* include/bits/localefwd.h: Bump number of facets.
	* config/locale/time_members_generic.h: New file.
	* config/locale/time_members_gnu.h: New file.
	* config/locale/c_locale_generic.h: Include clocale.
	* src/locale-inst.cc: Add use_facet instantiations for __timepunct.
	* src/locale.cc: Add __timepunct initializations.
	* src/localename.cc (locale::_Impl::_Impl(string, size_t)): Same.
	* include/Makefile.am (stamp-target): Add time_members.h.
	* include/Makefile.in: Regenerate.
	* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add CTIME_H.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/22_locale/time_put.cc: New file.
	* testsuite/22_locale/time_put_members_char.cc: New file.

	* docs/html/22_locale/locale.html: Add note.

2001-09-17  Phil Edwards  <pme@gcc.gnu.org>

	* docs/html/configopts.html:  HTML to XHTML change.  Lowercase tags.
	* docs/html/documentation.html:  Likewise.
	* docs/html/explanations.html:  Likewise.
	* docs/html/install.html:  Likewise.
	* docs/html/17_intro/howto.html:  Likewise.
	* docs/html/18_support/howto.html:  Likewise.
	* docs/html/19_diagnostics/howto.html:  Likewise.
	* docs/html/20_util/howto.html:  Likewise.
	* docs/html/21_strings/howto.html:  Likewise.
	* docs/html/22_locale/codecvt.html:  Likewise.
	* docs/html/22_locale/ctype.html:  Likewise.
	* docs/html/22_locale/howto.html:  Likewise.
	* docs/html/22_locale/locale.html:  Likewise.
	* docs/html/22_locale/messages.html:  Likewise.
	* docs/html/23_containers/howto.html:  Likewise.
	* docs/html/24_iterators/howto.html:  Likewise.
	* docs/html/25_algorithms/howto.html:  Likewise.
	* docs/html/26_numerics/howto.html:  Likewise.
	* docs/html/27_io/howto.html:  Likewise.
	* docs/html/ext/howto.html:  Likewise.
	* docs/html/faq/index.html:  Likewise.
	* docs/html/faq/index.txt:  Regenerated.

2001-09-14  Phil Edwards  <pme@sources.redhat.com>

	* docs/html/17_intro/headers_cc.txt:  "Sync"/copy real file over.
	* docs/html/17_intro/howto.html:  Spacing and HTML markup fixes.
	* docs/html/18_support/howto.html:  It won't compile; it's not code.
	* docs/html/19_diagnostics/howto.html:  Point diagram seekers to
	doxygen'd pages.
	* docs/html/22_locale/howto.html:  Comment for future work.
	* docs/html/23_containers/howto.html:  More comments.
	* docs/html/25_algorithms/howto.html:  It's a comment, not a
	blunt command to the reader.  (English grammar.)

2001-09-14  Benjamin Kosnik  <bkoz@redhat.com>

	* config/locale/moneypunct_members_gnu.cc: Fix initialization of
	wchar_t members.
	* testsuite/22_locale/money_get_members_wchar_t.cc (test02): New file.
	* testsuite/22_locale/money_put_members_wchar_t.cc (test02): Fix.

2001-09-14  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.tcc: Conditionalize use of strtold.

2001-09-13  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* testsuite/22_locale/money_get_members_char.cc: Fixed typo in comment.
	* testsuite/22_locale/money_put_members_char.cc: Likewise.
	* testsuite/22_locale/money_put_members_wchar_t.cc: Likewise.

2001-09-13  Benjamin Kosnik  <bkoz@redhat.com>

	Implement std::money_get.
	* include/bits/locale_facets.tcc (money_get::do_get): Implement.
	* include/bits/locale_facets.h (money_get): Correct signatures.
	* testsuite/22_locale/money_get.cc: New file.
	* testsuite/22_locale/money_get_members_char.cc: New file.

	* include/bits/locale_facets.tcc (__verify_grouping): New
	function. Consolidate num_get and money_get group checking into
	one function.
	(money_get): Use it.
	* src/locale.cc (num_get::_M_extract): Use it.
	* src/locale-inst.cc: Add instantiation.

2001-09-12  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>

	* include/bits/std_limits.h (numeric_limits<float>::radix,
	numeric_limits<float>::epsilon:  Fix thinko.

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

	* configure.in: Fix cross compiling math routines. Correct
	comments for cross compiling and limits. Add floating point math
	routines found in newlib.
	* configure: Regenerate.
	* acconfig.h: Add macros.
	* config.h.in: Regenerate.

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

	* config/locale/moneypunct_members_generic.cc
	(money_base::_S_construct_pattern): Remove unused parameters.

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

	* include/Makefile.am (stamp-target): Remove link to self.
	* inclulde/Makefile.in: Regenerate.

2001-09-09  Benjamin Kosnik  <bkoz@redhat.com>

	Implement std::money_put.
	* include/bits/locale_facets.h
	(moneypunct::_M_initialize_moneypunct): Split up specializations
	to account for _Intl.  More grody hacking to get around the
	ill-considered use of const bool as a template parameter.
	* config/locale/moneypunct_members_gnu.cc: And here.
	* config/locale/moneypunct_members_generic.cc: And here.
	* testsuite/22_locale/moneypunct_members_char.cc: Add tests.
	* testsuite/22_locale/moneypunct.cc: Add tests.
	* testsuite/22_locale/money_put_members_wchar_t.cc: New file.
	* testsuite/22_locale/moneypunct_members_wchar_t.cc: New file.

	* src/locale.cc (money_base::_S_construct_pattern): Move into
	gnu-specific file.
	* config/locale/moneypunct_members_gnu.cc: Add here.
	* config/locale/moneypunct_members_generic.cc: Add generic version
	here.

	* include/bits/locale_facets.tcc (money_put::do_put): Move member
	function definitions here.
	* include/bits/locale_facets.h (money_put): Implement.
	* src/locale-inst.cc: Add use_facet instantiations for moneypunct.
	Correct money_get, money_put instantiations.
	* src/locale.cc (money_base::_S_construct_pattern): Handle case
	where __posn == 0.
	* testsuite/22_locale/money_put_members_char.cc: Add tests.

2001-09-05  Phil Edwards  <pme@sources.redhat.com>

	* testsuite_flags.in:  No longer need to search testsuite builddir.
	* src/stl-inst.cc (__sink_unused_warning):  Unused, remove.
	* Makefile.am:  The testsuite directory never needs to be made here.
	* Makefile.in:  Regenerate.
	* include/Makefile.in:  Regenerate.
	* libio/Makefile.in:  Regenerate.
	* libmath/Makefile.in:  Regenerate.
	* libsupc++/Makefile.in:  Regenerate.
	* po/Makefile.in:  Regenerate.
	* src/Makefile.in:  Regenerate.
	* testsuite/Makefile.in:  Regenerate.

2001-09-04  Scott Johnston  <scott@accom.com>
	    Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>

	* include/backward/iterator.h: Include <bits/std_iterator.h>,
	remove reverse_bidirectional_iterator.
	* testsuite/backward: New directory.
	* testsuite/backward/header_iterator_h.cc: New file.

2001-09-04  Benjamin Kosnik  <bkoz@redhat.com>

	* include/c_std/bits/std_c*.h: Don't use include_next.

2001-09-03  Richard Sandiford  <rsandifo@redhat.com>

	* libsupc++/eh_personality.cc (parse_lsda_header): Change type of
	tmp from _Unwind_Ptr to _Unwind_Word.

2001-08-31  Jason Merrill  <jason_merrill@redhat.com>

	* libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Simplify
	leb128 handling.

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

	* include/Makefile.am: Use toplevel_srcdir to refer to src files
	outside this component.
	* include/Makefile.in: Regenerate.

2001-08-27  Benjamin Kosnik  <bkoz@redhat.com>

	* config/locale/c_locale_gnu.cc: Move facet info to separate files...
	* config/locale/c_locale_generic.cc: Same.
	* config/locale/moneypunct_members_gnu.cc: New file.
	* config/locale/moneypunct_members_generic.cc: New file.
	* config/locale/numpunct_members_gnu.cc: New file.
	* config/locale/numpunct_members_generic.cc: New file.
	* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add moneypunct, numpunct
	options.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* src/Makefile.am (sources): And here.
	* src/Makefile.in: Regenerate.

	Rename for consistency with rest of testsuite.
	* testsuite/22_locale/codecvt.cc: New file.
	* testsuite/22_locale/money_put.cc: New file.
	* testsuite/22_locale/money_put_members_char.cc: New file.

2001-08-27  Phil Edwards  <pme@sources.redhat.com>

	PR libstdc++/4143
	* acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO):  Handle enable/disable
	correctly for version-specific-runtime-libs.
	* aclocal.m4:  Regenerate.
	* configure:  Regenerate.

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

	* config/cpu/i386/bits/limits.h (__glibcpp_long_double_bits): Only
	define if not already provided by per-OS file.
	* config/os/bsd/freebsd/bits/os_defines.h (__glibcpp_long_double_bits):
	Define.

2001-08-24  Jan van Male <jan.vanmale@fenk.wau.nl>

	* docs/html/17_intro/C++STYLE:  Fix typo.

2001-08-24  Phil Edwards  <pme@sources.redhat.com>

	* docs/html/23_containers/howto.html:  Describe implementation of
	insertion with hints.

2001-08-24  Kenny Simpson  <kenny.simpson@gs.com>

	libstdc++/3740
	* include/bits/std_sstream.h (basic_ostringstream): Fix ctor.

2001-08-24  Sylvain Pion <Sylvain.Pion@sophia.inria.fr>
	    Phil Edwards  <pme@sources.redhat.com>

	PR libstdc++/3349
	* include/bits/stl_tree.h (insert_unique):  Revert last change.
	Values inserted at begin() must be less, not greater, than *begin()'s.
	* testsuite/23_containers/map_insert.cc:  New file.

2001-08-23  Benjamin Kosnik  <bkoz@redhat.com>

	* config/locale/c_locale_gnu.cc: Minor tweaks.
	(moneypunct<wchar_t>): Implement.
	* include/bits/locale_facets.h: Same.
	* testsuite/22_locale/moneypunct.cc: New file.
	* testsuite/22_locale/moneypunct_byname.cc: New file.
	* testsuite/22_locale/moneypunct_char_members.cc: New file.

2001-08-23  David Edelsohn  <edelsohn@gnu.org>

	* config/os/gnu-linux/bits/os_defines.h: Correct __s390__ definitions.
	Set __powerpc__ long double definition based on __LONG_DOUBLE_128__.

2001-08-23  Jason Merrill  <jason_merrill@redhat.com>

	* testsuite_flags.in (build-includes): Re-add backward.

2001-08-22  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/22_locale/collate_wchar_t_members.cc: Guard
	with _GLIBCPP_USE_WCHAR_T.

2001-08-21  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/22_locale/collate_byname.cc (test01): Fix.

2001-08-18  Vladimir A Merzliakov  <wanderer@rsu.ru>

	* include/bits/locale_facets.tcc (collate::do_transform): Add typename.

2001-08-18  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/22_locale/operators.cc: Add test.

2001-08-17  Benjamin Kosnik  <bkoz@redhat.com>

	Implement std::collate.
	* config/locale/collate_specializations_gnu.cc: Add here, implement in
	MT-safe way.
	* config/locale/collate_specializations_generic.cc: Add here, but
	in a less sophisticated manner.
	* include/bits/locale_facets.tcc (collate): Add generic definition.
	* include/bits/locale_facets.h (~collate): Mark virtual.
	(collate::_M_compare_helper): New.
	(collate::_M_transform_helper): New.
	* src/locale.cc: Remove unnecessary specializations.
	* src/string-inst.cc: Tweak instantiation of ctors.

	* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Do configury for collate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* src/Makefile.am (sources): Add collate.cc.
	* src/Makefile.in: Regenerate.

	* testsuite/22_locale/collate_byname.cc: New.
	* testsuite/22_locale/collate.cc: New file.
	* testsuite/22_locale/collate_char_members.cc: New file.
	* testsuite/22_locale/collate_wchar_t_members.cc: New file.

2001-08-16  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	* configure.target: Set LIMITSH for powerpc-*-*.
	* config/cpu/powerpc/bits/limits.h: New file.

2001-08-16  Marc Espie <espie@openbsd.org>

	* configure.in:  Check for <sys/types.h>.
	* configure:  Rebuild.
	* config.h.in:  Rebuild.
	* libmath/mathconf.h:  Include <sys/types.h> prior to
	<machine/endian.h> if available.

2001-08-15  Andreas Schwab  <schwab@suse.de>

	* configure.target (cpu_include_dir): Set to `config/cpu/m68k' for
	m68k and m680[246]0.
	* config/cpu/m68k/bits/atomicity.h: New file.

	* include/bits/std_limits.h [__glibcpp_long_double_bits == 96]:
	Define appropriate long double limits for m68k extended floating
	point.
	(__glibcpp_f32_digits10): Corrected, off by one.
	(__glibcpp_f80_digits10): Likewise.
	(__glibcpp_f128_digits10): Likewise.
	* config/os/gnu-linux/bits/os_defines.h
	(__glibcpp_long_double_bits) [__mc68000__]: Define to 96.

2001-08-15  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>

	* testsuite/18_support/numeric_limits.cc: Add more tests.
	* include/bits/std_limits.h (numeric_limits<char>::max): Fix
	typo.

2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>

	* configure.target (cpu_include_dir): Set to `config/cpu/s390'
	for s390 and s390x.

	* config/cpu/s390/bits/atomicity.h: New.

2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>

	* include/bits/std_limits.h: Fix thinko.

2001-08-14  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am: Consolidate target rules. Don't clean stamp
	files. Tweak target build directory stamp.
	* include/Makefile.in: Regenerate.

2001-08-14  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>

	* libstdc++-v3/libmath/stubs.c: Fix PR/3988, replace
	_GBLICPP_HAVE_LOGL with HAVE_LOGL

2001-08-13  Benjamin Kosnik  <bkoz@redhat.com>

	* configure.in (libtool_VERSION): Add.
	(VERSION): Change to
	(release_VERSION): This.
	* configure: Regenerate.
	* src/Makefile.am (libstdc___la_LDFLAGS): Use -version-info with
	libtool_VERSION.
	* src/Makefile.in: Regenerate.

	* intl/Makefile.am: Remove.
	* intl/Makefile.in: Remove.
	* intl: Remove.
	* Makefile.am (SUBDIRS): Remove intl.
	* po/Makefile.am (DISTFILES): Add string_literals.cc
	(MSGFMT): Add.
	* po/string_literals.cc: Add.
	* po/POTFILES.in: Fix path.
	* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Don't call AM_GNU_GETTEXT.
	* aclocal.m4: Regenerate.
	* configure.in: Remove AC_OUTPUT of intl/Makefile.

	* include/backward/backward_warning.h: Clarify message.

	* testsuite_flags.in (--cxxflags): Use same debug flags for
	library and testsuite.

	* include/Makefile.am (c_compatibility): Remove.
	* include/Makefile.in: Regenerate.

2001-08-13  Mark Mitchell  <mark@codesourcery.com>

	* configure.in (LIMITS_INC_SRCDIR): New variable.
	* configure.target (LIMITSH): New variable.
	* porting.texi: Discuss numeric limits.
	* config/cpu/generic/bits/limits.h: New file.
	* config/cpu/i386/bits/limits.h: New file.
	* include/Makefile.am: Install bits/limits.h.
	* include/bits/c++config: Include bits/limits.h.

2001-08-13  H.J. Lu  (hjl@gnu.org)

	* testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-copy-files):
	New. Copy files.
	(libstdc++-v3-init ): Use it.

2001-08-13  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>

	* include/bits/ostream.tcc (__pad_char): Change toplevel '__fmt'
	to '__adjust' to avoid shadowing in nested scope.

2001-08-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>

	* include/bits/std_limits.h(__glibcpp_char_is_signed): Use
	__CHAR_UNSIGNED__.

	* config/os/gnu-linux/bits/os_defines.h(__glibcpp_char_is_signed):
	Likewise.
	* config/os/aix/bits/os_defines.h(__glibcpp_plain_char_is_signed):
	Remove.

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

	* testsuite/testsuite_hooks.h (__set_testsuite_memlimit): Add
	dummy default argument to the non-limit implementation.

	bootstrap/3963
	* include/Makefile.am: Use relative file path in rule to allow
	colon in $(objdir).
	* include/Makefile.in: Rebuilt.

2001-08-10  Gunter Winkler  <gunter.winkler@mathematik.tu-chemnitz.de>

	* include/bits/std_complex.h (complex<long double>::operator*=,
	complex<long double>::operator/=): Fix thinko.

2001-08-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>

	* include/bits/std_limits.h: New file.
	* include/Makefile.am (bits_headers): Add std_limits.h
	(all-local): std_limits.h is no longer built.
	(${target_builddir}/std_limits.h): Remove.
	* include/Makefile.in: Regenerate.
	* src/limits.cc: New file.
	* src/Makefile.am (sources): Add limits.cc in replacement of
	limitsMEMBERS.cc.
	* src/Makefile.in: Regenerate.

2001-08-09  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>

	* src/gen-num-limits.cc (digits10): Fix thinko.

2001-08-09  Benjamin Kosnik  <bkoz@redhat.com>

	* po/Makefile.am (check-no): Add.
	(check-yes): Same.
	* po/Makefile.in: Regenerate.

2001-08-09  Benjamin Kosnik  <bkoz@redhat.com>

	* acconfig.h (_GLIBCPP_MEM_LIMITS): Define.
	* config.h.in: Regenerate.
	* acinclude.m4 (GLIBCPP_CHECK_SETRLIMIT): Check for setrlimit
	function.
	* aclocal.m4: Regenerate.
	* configure.in: Remove duplicate AM_CONFIG_HEADER.
	(AM_CONFIG_HEADER): Remove testsuite/testsuite_hooks.h.
	Only call GLIBCPP_CHECK_SETRLIMIT for native compiles.
	* configure: Regenerate.
	* testsuite_hooks.h.in: Move to...
	* testsuite_hooks.h: Here, include c++config.h. Use it.

	* Makefile.am (SUBDIRS): Move testsuite to last directory.
	* Makefile.in: Regenerate.
	* po/Makefile.am (stamp-po): Add.

2001-08-09  David Edelsohn  <edelsohn@gnu.org>

	* config/os/aix/bits/os_defines.h: Define std_limits.h macros.
	* config/os/generic/bits/os_defines.h: Likewise.
	* config/os/gnu-linux/bits/os_defines.h: Likewise.
	* config/os/hpux/bits/os_defines.h: Likewise.
	* config/os/irix/irix6.5/bits/os_defines.h: Likewise.
	* config/os/solaris/solaris2.7/bits/os_defines.h: Likewise.

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

	* src/Makefile.am (libstdc___la_LDFLAGS): Use -release instead of
	-version-info, use substituted VERSION info.
	* src/Makefile.in: Regenerate.

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

	Implement std::messages.
	Make config a fully-nested directory.
	* config/locale: New directory.
	* config/c_locale_generic.cc: Move into locale subdirectory.
	* config/c_locale_generic.h: Same.
	* config/c_locale_gnu.cc: Same.
	* config/c_locale_gnu.h: Same.
	* config/c_locale_ieee_1003.1-200x.cc: Same.
	* config/c_locale_ieee_1003.1-200x_.h: Same.
	* config/codecvt_specializations_generic.h: Same.
	* config/codecvt_specializations_ieee_1003.1-200x.h: Same.
	* config/messages_members_gnu.h: Same.
	* config/messaages_members_gnu.cc: Same.
	* config/messages_members_generic.h: Same.
	* config/messaages_members_generic.cc: Same.
	* config/messages_members_ieee_1003.1-200x.h: Same.
	* config/messaages_members_ieee_1003.1-200x.cc: Same.
	* config/io: New directory.
	* config/basic_file_libio.h: Move into io subdirectory.
	* config/basic_file_libio.cc: Same.
	* config/c_io_libio.h: Same.
	* config/c_io_libio_codecvt.c: Same.
	* config/basic_file_stdio.h: Same.
	* config/basic_file_stdio.cc: Same.
	* config/c_io_stdio.h: Same.

	* po: New directory.
	* po/POTFILES.in: New file.
	* po/Makefile.am: New file.
	* po/Makefile.in: New file.
	* po/libstdc++.pot: Generic translation file.
	* po/fr.po: Preliminary French translation.
	* po/de.po: Preliminary German translation.
	* intl: New directory.
	* intl/Makefile.am: New file.
	* intl/Makefile.in: New file.
	* intl/string_literals.cc: New file.
	* acinclude.m4 (GLIBCPP_CONFIGURE): Bump VERSION to 3.1.0. Add
	requisite setup for gettext. Re-arrange.
	* aclocal.m4: Regenerate.
	* configure.in: Don't call GLIBCPP_CHECK_COMPILER_VERSION.
	Output Makefile bits for po and intl.
	* configure: Regenerate.
	* Makefile.am (SUBDIRS): Add intl, po. Add rule for dist.
	* Makefile.in: Regenerate.
	* acconfig.h: Add ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_STPCPY.
	* config.h.in: Regenerate.

	* acinclude.m4 (AC_REPLACE_STRINGFUNCS): Remove.

	* include/Makefile.am (install-data-local): Don't install Makefile.
	* include/Makefile.in: Regenerate.

	* include/bits/locale_facet.h (locale::facet::_S_clone_c_locale):
	Add member.
	* config/locale/c_locale_gnu.cc (_S_clone_c_locale): Add definition.
	* config/locale/c_locale_generic.cc: Same.
	* config/locale/c_locale_ieee_1003.1-200x.cc: Same.

	* include/bits/codecvt.h: Excise non-standard, non-required
	bits. This includes __enc_traits, and partial specializations of
	codecvt for __enc_traits.
	* src/codecvt.cc (__enc_traits::_S_max_size): Guard
	* config/codecvt_partials_ieee_1003.1-200x.h: New file.
	* config/codecvt_partials_generic.h: New file.
	* include/Makefile.am (allstamps): Add stamp-codecvt_model.
	(stamp-codecvt_model): Add.
	* include/Makefile.in: Regenerate.
	* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add in codecvt configury.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/22_locale/codecvt_unicode_wchar_t.cc: Use macro guard.
	* testsuite/22_locale/codecvt_unicode_char.cc: Same.
	* testsuite/22_locale/ctor_copy_dtor.cc: And here.

	* include/bits/localefwd.h (class locale::facet): Add __enc_traits
	as a friend for _S_*_c_locale functions.
	* include/bits/codecvt.h (__enc_traits::__enc_traits): Add locale
	argument to default constructor so that CODESET information can be
	deduced.
	* include/bits/locale_facets.h (messages_byname):
	Re-implement. Remove specializations.
	* src/locale.cc (messages_byname<char>): Remove specialization.
	(messages_byname<wchar_t>): Same.
	* config/locale/c_locale_ieee_1003.1-200x.cc: New file.
	* config/locale/c_locale_ieee_1003.1-200x.h: New file.
	* config/locale/messages_members_ieee_1003.1-200x.cc: New file.
	* config/locale/messages_members_ieee_1003.1-200x.h: New file.
	* config/locale/messages_members_gnu.cc: New file.
	* config/locale/messages_members_gnu.h: New file.
	* config/locale/messages_members_generic.cc: New file.
	* config/locale/messages_members_generic.h: New file.

	* docs/html/configopts.html: Add documentation for new locale
	model, ieee_1003.1. Adjust other flags for current defaults.
	* docs/html/22_locale/locale.html: Update.
	* docs/html/22_locale/howto.html: Add link to messages.html. Organize.
	* docs/html/22_locale/messages.html: New.

	* src/Makefile.am (sources): Add messages_virtuals.cc.
	* src/Makefile.in: Regenerate.
	* include/Makefile.am (allstamps): Add stamp-messages_model.
	(stamp-messages_model): Add.
	* include/Makefile.in: Regenerate.
	* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add in messages configury.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

	* testsuite_flags.in (--cxxflags): Add LOCALEDIR.
	* testsuite/lib/libstdc++-v3-dg.exp: Remove broken LD_LIBRARY_PATH
	bits for Irix.
	* acinclude (GLIBCPP_ENABLE_CLOCALE): Set glibcpp_localedir to the
	build directories message catalog base directory, and export.
	Eventually this should probably be made to deal with build and
	install directories. For now, punt on this as the library itself
	doesn't use message catalogs (yet).
	* testsuite/22_locale/messages.cc: New file.
	* testsuite/22_locale/messages_char_members.cc: New file.
	* testsuite/22_locale/messages_byname.cc: New file.

2001-08-06  Phil Edwards  <pme@sources.redhat.com>

	* acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE):  New macro, calls...
	(GLIBCPP_CHECK_SETRLIMIT):  ...this new macro, which also uses...
	(GLIBCPP_CHECK_SETRLIMIT_ancilliary):  ...this new macro.
	* configure.in (AM_CONFIG_HEADER):  Also generate testsuite_hooks.h.
	Call GLIBCPP_CONFIGURE_TESTSUITE.
	* aclocal.m4:  Regenerate.
	* config.h.in:  Regenerate.
	* configure:  Regenerate.

	* testsuite/lib/libstdc++-v3-dg.exp:  Download new header instead
	of old header.

	* testsuite_flags.in:  Add build dir's testsuite to INCLUDES.
	* testsuite/debug_assert.h:  Removed; contents merged into...
	* testsuite/testsuite_hooks.h.in:  ...here.  New file.
	* testsuite/17_intro/header_ciso646.cc:  No longer include
	debug_assert.h, include testsuite_hooks.h instead.
	* testsuite/17_intro/header_fstream.cc:  Likewise.
	* testsuite/17_intro/header_iomanip.cc:  Likewise.
	* testsuite/17_intro/header_ios.cc:  Likewise.
	* testsuite/17_intro/header_iosfwd.cc:  Likewise.
	* testsuite/17_intro/header_iostream.cc:  Likewise.
	* testsuite/17_intro/header_istream.cc:  Likewise.
	* testsuite/17_intro/header_ostream.cc:  Likewise.
	* testsuite/17_intro/header_sstream.cc:  Likewise.
	* testsuite/17_intro/header_streambuf.cc:  Likewise.
	* testsuite/18_support/numeric_limits.cc:  Likewise.
	* testsuite/19_diagnostics/stdexceptions.cc:  Likewise.
	* testsuite/20_util/allocator_members.cc:  Likewise.
	* testsuite/20_util/auto_ptr.cc:  Likewise.
	* testsuite/20_util/pairs.cc:  Likewise.
	* testsuite/21_strings/append.cc:  Likewise.
	* testsuite/21_strings/capacity.cc:  Likewise.
	* testsuite/21_strings/char_traits_requirements.cc:  Likewise.
	* testsuite/21_strings/compare.cc:  Likewise.
	* testsuite/21_strings/ctor_copy_dtor.cc:  Likewise.  Also set up
	call to (disabled) __set_testsuite_memlimit() wrapper.
	* testsuite/21_strings/element_access.cc:  Likewise.
	* testsuite/21_strings/find.cc:  Likewise.
	* testsuite/21_strings/insert.cc:  Likewise.  Also set up call to
	(disabled) __set_testsuite_memlimit() wrapper.
	* testsuite/21_strings/inserters_extractors.cc:  Likewise.
	* testsuite/21_strings/invariants.cc:  Likewise.
	* testsuite/21_strings/nonmember.cc:  Likewise.
	* testsuite/21_strings/operations.cc:  Likewise.
	* testsuite/21_strings/replace.cc:  Likewise.
	* testsuite/21_strings/rfind.cc:  Likewise.
	* testsuite/21_strings/substr.cc:  Likewise.
	* testsuite/22_locale/codecvt_char_char.cc:  Likewise.
	* testsuite/22_locale/codecvt_unicode_char.cc:  Likewise.
	* testsuite/22_locale/codecvt_unicode_wchar_t.cc:  Likewise.
	* testsuite/22_locale/codecvt_wchar_t_char.cc:  Likewise.
	* testsuite/22_locale/ctor_copy_dtor.cc:  Likewise.
	* testsuite/22_locale/ctype_char_members.cc:  Likewise.
	* testsuite/22_locale/ctype_wchar_t_members.cc:  Likewise.
	* testsuite/22_locale/facet.cc:  Likewise.
	* testsuite/22_locale/global_templates.cc:  Likewise.
	* testsuite/22_locale/members.cc:  Likewise.
	* testsuite/22_locale/numpunct_byname.cc:  Likewise.
	* testsuite/22_locale/numpunct_char_members.cc:  Likewise.
	* testsuite/22_locale/operators.cc:  Likewise.
	* testsuite/22_locale/static_members.cc:  Likewise.
	* testsuite/23_containers/bitset_ctor.cc:  Likewise.
	* testsuite/23_containers/bitset_members.cc:  Likewise.
	* testsuite/23_containers/bitset_shift.cc:  Likewise.
	* testsuite/23_containers/vector_capacity.cc:  Likewise.
	* testsuite/23_containers/vector_ctor.cc:  Likewise.
	* testsuite/23_containers/vector_element_access.cc:  Likewise.
	* testsuite/23_containers/vector_modifiers.cc:  Likewise.
	* testsuite/24_iterators/istreambuf_iterator.cc:  Likewise.
	* testsuite/24_iterators/iterator.cc:  Likewise.
	* testsuite/24_iterators/ostreambuf_iterator.cc:  Likewise.
	* testsuite/25_algorithms/binary_search.cc:  Likewise.
	* testsuite/25_algorithms/copy.cc:  Likewise.
	* testsuite/25_algorithms/heap.cc:  Likewise.
	* testsuite/25_algorithms/lower_bound.cc:  Likewise.
	* testsuite/25_algorithms/min_max.cc:  Likewise.
	* testsuite/25_algorithms/partition.cc:  Likewise.
	* testsuite/25_algorithms/rotate.cc:  Likewise.
	* testsuite/25_algorithms/sort.cc:  Likewise.
	* testsuite/26_numerics/c_math.cc:  Likewise.
	* testsuite/26_numerics/complex_inserters_extractors.cc:  Likewise.
	* testsuite/26_numerics/complex_value.cc:  Likewise.
	* testsuite/27_io/filebuf.cc:  Likewise.
	* testsuite/27_io/filebuf_members.cc:  Likewise.
	* testsuite/27_io/filebuf_virtuals.cc:  Likewise.
	* testsuite/27_io/fpos.cc:  Likewise.
	* testsuite/27_io/fstream_members.cc:  Likewise.
	* testsuite/27_io/ifstream_members.cc:  Likewise.
	* testsuite/27_io/ios_base_callbacks.cc:  Likewise.
	* testsuite/27_io/ios_base_members_static.cc:  Likewise.
	* testsuite/27_io/ios_base_storage.cc:  Likewise.
	* testsuite/27_io/ios_ctor.cc:  Likewise.
	* testsuite/27_io/ios_init.cc:  Likewise.
	* testsuite/27_io/ios_manip_basefield.cc:  Likewise.
	* testsuite/27_io/ios_manip_fmtflags.cc:  Likewise.
	* testsuite/27_io/ios_members.cc:  Likewise.
	* testsuite/27_io/istream_extractor_arith.cc:  Likewise.
	* testsuite/27_io/istream_extractor_char.cc:  Likewise.
	* testsuite/27_io/istream_extractor_other.cc:  Likewise.
	* testsuite/27_io/istream_manip.cc:  Likewise.
	* testsuite/27_io/istream_seeks.cc:  Likewise.
	* testsuite/27_io/istream_sentry.cc:  Likewise.
	* testsuite/27_io/istream_unformatted.cc:  Likewise.
	* testsuite/27_io/istringstream_members.cc:  Likewise.
	* testsuite/27_io/narrow_stream_objects.cc:  Likewise.
	* testsuite/27_io/ofstream_members.cc:  Likewise.
	* testsuite/27_io/ostream_inserter_arith.cc:  Likewise.
	* testsuite/27_io/ostream_inserter_char.cc:  Likewise.
	* testsuite/27_io/ostream_inserter_other.cc:  Likewise.
	* testsuite/27_io/ostream_manip.cc:  Likewise.
	* testsuite/27_io/ostream_seeks.cc:  Likewise.
	* testsuite/27_io/ostream_unformatted.cc:  Likewise.
	* testsuite/27_io/ostringstream_members.cc:  Likewise.
	* testsuite/27_io/streambuf.cc:  Likewise.
	* testsuite/27_io/stringbuf.cc:  Likewise.
	* testsuite/27_io/stringbuf_virtuals.cc:  Likewise.
	* testsuite/27_io/stringstream.cc:  Likewise.
	* testsuite/27_io/stringstream_members.cc:  Likewise.
	* testsuite/27_io/wide_stream_objects.cc:  Likewise.

2001-07-31  Loren J. Rittle  <ljrittle@acm.org>

	* src/gen-num-limits.cc:  Use __LONG_LONG_MAX__.

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

	* configure.target: Remove mips from cpu table.
	* config/cpu/mips/bits/atomicity.h: Remove generic
	versions. Comment sgidefs include.

2001-07-25  H.J. Lu <hjl@gnu.org>

	* configure.target (cpu_include_dir): Set to `config/cpu/mips'
	for mips.

	* config/cpu/mips/bits/atomicity.h: New.

2001-07-25  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>

	* acinclude.m4: CHECK_MATH_DECL_AND_LINKAGE for hypot, hypotf,
	hypotl, atan2f, atan2l.  Remove from REPLACE_MATHFUNCS list.
	* aclocal.m4: Regenerate.
	* config.h.in: Likewise.
	* configure: Likewise.
	* libmath/Makefile.am (EXTRA_LONG_DOUBLE_yes): Remove hypotl.c
	(EXTRA_DIST): Remove hypot.c hypotf.c.
	* libmath/Makefile.am: Regenerate.
	* libmath/hypotf.c: Remove.
	* libmath/hypot.c: Likewise.
	* libmath/hypotl.c: Likewise.
	* libmath/stubs.c: The macros seen here are HAVE_xxx, not
	_GLIBCPP_HAVE_xxx.  Add long double versions.

2001-07-23  David Edelsohn  <edelsohn@gnu.org>

	* include/bits/limits_generic.h (int): Set digits and digits10
	appropriately for word size.
	(unsigned int,long,unsigned long): Likewise.

2001-07-19  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>

	* include/bits/stl_algo.h : Fix typos.
	* testsuite/25_algorithms/unique.cc: New file.

2001-07-19  Phil Edwards  <pme@sources.redhat.com>
	    Mark Mitchell <mark@codesourcery.com>

	Merge from cp-parser-branch.
	* include/bits/basic_string.h:  Qualify symbols with 'template'.
	* include/bits/basic_string.tcc:  Likewise.
	* include/bits/fstream.tcc:  Likewise.
	* include/bits/istream.tcc:  Likewise.
	* include/bits/sstream.tcc:  Likewise.
	* include/bits/std_istream.h:  Likewise.
	* include/bits/stl_iterator.h:  Likewise.
	* include/bits/streambuf.tcc:  Likewise.
	* src/gen-num-limits.cc:  Add 'template<>' to specializations.
	* src/locale.cc:  Likewise.

2001-07-19  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
	    Bert De Knuydt <Bert.Deknuydt@esat.kuleuven.ac.be>

	* src/gen-num-limits.cc (set_signals_handler): New function.
	Factor out signals setting.  Set signal handler for SIGILL.

2001-07-18  Phil Edwards  <pme@sources.redhat.com>

	* docs/html/27_io/howto.html:  Fix typo.
	* docs/html/faq/index.html:  Minor updates for 3.0 all around.
	* docs/html/faq/index.txt:  Regenerated.

2001-07-18  Stephen M. Webb  <stephen@bregmasoft..com>
	    Roman Sulzhyk  <roman_sulzhyk@yahoo.com>

	libstdc++/3599
	* include/bits/ostream.tcc (ostream::put): Fixed error condition check.
	* testsuite/27_io/streambuf.cc (test07): Added new regression test.

2001-07-17  Stephen M. Webb   <stephen@bregmasoft.com>r

	All occurrences of the __value_type() and __distance_type()
	functions, which were required to support the HP STL, have been
	removed along with all the auxiliary forwarding functions that
	were required to support their use.

	The __iterator_category() function was pretty much left alone
	because there was no benefit to removing it and its use made code
	just a little more readable.

	Incidences of distance() with nonstandard argument list were
	replaced by calls to the standard function (only in the files
	affected by the removal of the other HP functions).

	The signature of the rotate() algorithm was changed to match the
	standard.

	Headers were reformatted under C++STYLE guidelines (indentation,
	linebreaks, typename keyword).

	* include/bits/stl_algo.h: replaced __value_type() and
	__distance_type() with iterator_traits, eliminated auxiliary
	support functions required to support said function usage.
	Changed nonstandard distance() call to standard call.

	* include/bits/stl_algobase.h: Same.
	* include/bits/stl_heap.h: Same.
	* include/bits/stl_numeric.h: Same.
	* include/bits/stl_uninitialized.h: Same.
	* include/bits/stl_iterator_base_types.h (__value_type()):
	Removed.
	(__distance_type()): Removed.
	(value_type()): Gone.
	(distance_type()): Done in.
	(iterator_category()): Hasta la vista, baby.

	* include/bits/stl_iterator_base_funcs.h (iterator_category()):
	Replaced with __iterator_category().
	* include/backward/iterator.h: moved definition of value_type(),
	distance_type(), and iterator_category() out of std:: and into
	here.
	* testsuite/23_containers/vector_ctor.cc (test03): New testcases.
	* testsuite/23_containers/vector_modifiers.cc (test03): New testcases.
	* testsuite/25_algorithms/rotate.cc: New testcase.
	* testsuite/25_algorithms/copy.cc: New testcase.
	* testsuite/25_algorithms/sort.cc: Same.
	* testsuite/25_algorithms/heap.cc: Same.
	* testsuite/25_algorithms/partition.cc: Same.
	* testsuite/25_algorithms/binary_search.cc: Same.
	* testsuite/26_numerics/sum_diff.cc: Ditto.

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

	* testsuite/README: Add notes on naming test cases.
	* testsuite/22_locale/members.cc: Mark as xfail.
	* testsuite/22_locale/numpunct_char_members.cc: Same.

2001-07-16  Stephen M. Webb  <stephen@bregmasoft.com>

	* acinclude.m4 (GLIBCPP_ENABLE_CHEADERS):  Use glibcpp_srcdir when
	setting C_INCLUDE_DIR.
	* configure.in:  Revert yesterday's LN_S change.
	* aclocal.m4:  Regenerate.
	* configure:  Regenerate.

2001-07-15  Phil Edwards  <pme@sources.redhat.com>

	* configure.in:  Temporarily force LN_S to copy instead of symlink.
	* configure:  Regenerate.

2001-07-13  Phil Edwards  <pme@sources.redhat.com>

	* include/bits/std_sstream.h (basic_stringbuf::basic_stringbuf(string):
	Initialize _M_string with pointer-and-size constructor, not just
	pointer.  Fix some comments.
	* testsuite/21_strings/ctor_copy_dtor.cc (test03):  New test.
	* testsuite/27_io/stringbuf.cc (test02):  Remove unused variable.
	(test03):  Add embedded-NUL tests.

	* mkcheck.in:  When printing totals, match the order of the tests.
	* include/bits/stringfwd.h:  Use same declaration keywords.
	* include/bits/std_iosfwd.h:  Cosmetic spacing.

2001-07-13  Stephen M. Webb  <stephen@bregmasoft.com>
	    Loren J. Rittle  <ljrittle@acm.org>
	    Phil Edwards  <pme@sources.redhat.com>

	* include/Makefile.am:  New file encapsulating header generation rules.
	* Makefile.am (SUBDIRS):  Prepend 'include' directory.
	* acinclude.m4:  Moved/removed rules for building various headers.
	* configure.in (AC_OUTPUT):  Add include/Makefile.
	* mkc++config:  Removed.

	* testsuite_flags.in:  Changed build-includes to match new scheme.
	* mknumeric_limits:  Likewise.
	* libio/Makefile.am:  Changed INCLUDES to maatch new header scheme.
	* libmath/Makefile.am:  Likewise.
	* libsupc++/Makefile.am:  Likewise.
	* src/Makefile.am:  Likewise; removed rules to build headers.
	* libmath/mathconf.h:  Changed #include'd header names to match.
	* libmath/stubs.c:  Likewise.
	* src/gen-num-limits.cc:  Likewise.

	* configure:  Regenerated.
	* config.h.in:  Regenerated.
	* aclocal.m4:  Regenerated.
	* Makefile.in:  Regenerated.
	* include/Makefile.in:  Regenerated.
	* libio/Makefile.in:  Regenerated.
	* libmath/Makefile.in:  Regenerated.
	* libsupc++/Makefile.in:  Regenerated.
	* src/Makefile.in:  Regenerated.
	* testsuite/Makefile.in:  Regenerated.

2001-07-11   Felix Natter  <fnatter@gmx.net>

	* docs/html/17_intro/porting-howto.xml:  Initial checkin of
	master copy.
	* docs/html/17_intro/porting-howto.html:  check in v0.9.3

2001-07-11  Phil Edwards  <pme@sources.redhat.com>

	* docs/doxygen/run_doxygen:  Don't keep output from previous run.
	* docs/doxygen/user.cfg.in:  Tweaks.
	* include/bits/c++config:  Documentation comments for Doxygen.
	* include/bits/char_traits.h:  Likewise.
	* include/bits/limits_generic.h:  Likewise.
	* include/bits/std_stdexcept.h:  Likewise.
	* include/bits/stl_pair.h:  Likewise.
	* libsupc++/exception:  Likewise.
	* libsupc++/new:  Likewise.
	* libsupc++/typeinfo:  Likewise.
	* libmath/Makefile.am:  Update and correct copyright.

2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>

	* acinclude.m4: Don't AC_REPLACE_MATHFUNCS expf and atan2f.
	* aclocal.m4: Regenerate.
	* configure: Same.

2001-07-09  Phil Edwards  <pme@sources.redhat.com>

	* docs/html/configopts.html:  Fix thinko.
	* docs/html/27_io/howto.html:  Fix thinko and HTML markup.
	* include/bits/stl_iterator.h:  Fix typo.

2001-07-09  Phil Edwards  <pme@sources.redhat.com>

	* docs/html/explanations.html:  New file.
	* docs/html/configopts.html:  Link to it to provide more notes
	on cstdio.  Minor markup and spacing fixes.
	* docs/html/27_io/howto.html:  Talk about sync_with_stdio.

2001-07-09  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>

	* include/bits/valarray_meta.h (_Expr::operator+): Use qualified id
	for _Expr template template argument.
	(_Expr::operator-): Likewise.
	(_Expr::operator~): Likewise.
	(_Expr::operator!): Likewise.
	(_DEFINE_EXPR_UNARY_OPERATOR): Likewise.

2001-07-06  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>

	* libmath/Makefile.am (EXTRA_DIST): Remove atan2f.c and expf.c
	* libmath/Makefile.in: Regenerate.
	* libmath/expf.c: Remove.
	* libmath/atan2f.c: Likewise.

2001-07-06  Daniel Jacobowitz  <drow@mvista.com>

	* configure.in: Remove NATIVE, NULL_TARGET.
	Set CANADIAN only for Canadian crosses.  Set xcompiling
	for both Canadian crosses and host-x-host crosses.
	* configure: Regenerated.

2001-07-06  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>

	* include/bits/stl_vector.h (vector::_M_initialize_aux): Fix typo.

2001-07-05  Jason Merrill  <jason_merrill@redhat.com>

	* testsuite_flags.in (--build-includes): backward, not backwards.

2001-07-04  Jeffrey Oldham  <oldham@codesourcery.com>

	* include/ext/ropeimpl.h (_Rope_RopeRep::_M_free_c_string):
	Replace destroy by _Destroy.
	(_Rope_RopeRep::_S_free_string): Likewise.
	(rope::c_str()): Likewise.
	* include/ext/slist (_Slist_base::_M_erase_after>): Likewise.
	(_Slist_base::_M_erase_after): Likewise.
	(slist::_M_create_node): Replace construct by _Construct.
	(slist::pop_front): Replace destroy by _Destroy.
	* include/ext/stl_hashtable.h (hashtable::_M_new_node): Replace
	construct by _Construct.
	(hashtable::_M_delete_node): Replace destroy by _Destroy.
	* include/ext/stl_rope.h (rope::rope): Replace construct by
	_Construct.
	(rope::copy): Replace destroy by _Destroy.

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

	* include/bits/localefwd.h: Format.
	* include/bits/locale_facts.tcc (locale::combine): Adjust.
	* src/locale.cc (locale::locale::(_Impl)): Don't call
	_M_add_reference.
	(locale::facet::_M_remove_reference): Simplify.
	* src/globals.cc (locale_impl_c): New. Format.
	(locale_c): New.
	* src/ios.cc (ios_base::Init::Init): Increment _S_ios_base_init last.

2001-07-02  Loren J. Rittle  <ljrittle@acm.org>

	* acinclude.m4 (GLIBCPP_ENABLE_THREADS): Protect variable from shell
	expansion (thanks to Alexandre Oliva).
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2001-07-02  Benjamin Kosnik  <bkoz@redhat.com>

	* src/locale.cc (locale::locale(const char*)): Make sure global
	locales are initialized.
	* include/bits/locale_facets.tcc (locale::combine): Refcout should
	be zero, not one as it's return-by-value.
	* testsuite/27_io/ios_base_callbacks.cc (test01): Don't check for
	named locales here.
	* testsuite/22_locale/ctor_copy_dtor.cc (test01): Instead, check
	for it here.
	(test02): Add test.
	* libsupc++/eh_alloc.cc: Use climits, not limits.h.

2001-07-02  Loren J. Rittle  <ljrittle@acm.org>

	libstdc++/3284
	* acinclude.m4 (GLIBCPP_ENABLE_THREADS): Portability enhancement.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2001-07-02  Loren J. Rittle  <ljrittle@acm.org>

	libstdc++/3243
	* acinclude.m4 (GLIBCPP_ENABLE_THREADS): Add relative path to
	staged/installed area to support -I-.  Document.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2001-07-02  Loren J. Rittle  <ljrittle@acm.org>

	libstdc++/2211
	* src/ios.cc (ios_base::Init::_S_ios_create): Rename __bufsize to
	__out_bufsize.  Add __in_bufsize, document it and use it.

2001-07-01  Stephen M. Webb <stephen@bregmasoft.com>

	* include/bits/stl_construct.h (construct): Remove.
	(destroy): Remove.
	(__destroy): Replaced by use of iterator_traits.
	* include/bits/stl_deque.h: replaced HP iterator functions with
	iterator_traits.
	(construct): changed to _Construct.
	(destroy): changed to _Destroy.
	* include/bits/stl_tempbuf.h: Same.
	* include/bits/stl_tree.h: Same.
	* include/bits/stl_vector.h: Same.
	* include/backward/iterator.h (construct): moved definition to here.
	(destroy): Same.

2001-06-29  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.tcc (locale::combine): Clone _Impl.
	before replacing facet.
	* include/bits/localefwd.h (locale::_Impl::_M_remove_reference):
	Correct decrement.
	* src/localename.cc (locale::_Impl): Correct ctor initialization
	lists. Initialize ref count with one. Simplify.
	* src/locale.cc: Add comment.
	* testsuite/22_locale/numpunct.cc (test01): Add derivation test.
	* testsuite/22_locale/numpunct_char_members.cc (test01): Add tests.
	* testsuite/22_locale/members.cc (test02): Fix.

2001-06-27  Phil Edwards  <pme@sources.redhat.com>

	* include/backward/algo.h:  Add "GPL plus runtime exception" comment
	block, this time for real.
	* include/backward/algobase.h:  Likewise.
	* include/backward/alloc.h:  Likewise.
	* include/backward/bvector.h:  Likewise.
	* include/backward/defalloc.h:  Likewise.
	* include/backward/deque.h:  Likewise.
	* include/backward/function.h:  Likewise.
	* include/backward/hash_map.h:  Likewise.
	* include/backward/hash_set.h:  Likewise.
	* include/backward/hashtable.h:  Likewise.
	* include/backward/heap.h:  Likewise.
	* include/backward/iterator.h:  Likewise.
	* include/backward/list.h:  Likewise.
	* include/backward/map.h:  Likewise.
	* include/backward/multimap.h:  Likewise.
	* include/backward/multiset.h:  Likewise.
	* include/backward/pair.h:  Likewise.
	* include/backward/rope.h:  Likewise.
	* include/backward/set.h:  Likewise.
	* include/backward/slist.h:  Likewise.
	* include/backward/stack.h:  Likewise.
	* include/backward/strstream:  Likewise.
	* include/backward/tempbuf.h:  Likewise.
	* include/backward/tree.h:  Likewise.
	* include/backward/vector.h:  Likewise.
	* include/bits/pthread_allocimpl.h:  Likewise.
	* include/bits/std_algorithm.h:  Likewise.
	* include/bits/std_bitset.h:  Likewise.
	* include/bits/std_deque.h:  Likewise.
	* include/bits/std_functional.h:  Likewise.
	* include/bits/std_iterator.h:  Likewise.
	* include/bits/std_list.h:  Likewise.
	* include/bits/std_map.h:  Likewise.
	* include/bits/std_memory.h:  Likewise.
	* include/bits/std_numeric.h:  Likewise.
	* include/bits/std_queue.h:  Likewise.
	* include/bits/std_set.h:  Likewise.
	* include/bits/std_stack.h:  Likewise.
	* include/bits/std_utility.h:  Likewise.
	* include/bits/std_vector.h:  Likewise.
	* include/bits/stl_algo.h:  Likewise.
	* include/bits/stl_algobase.h:  Likewise.
	* include/bits/stl_alloc.h:  Likewise.
	* include/bits/stl_bvector.h:  Likewise.
	* include/bits/stl_construct.h:  Likewise.
	* include/bits/stl_deque.h:  Likewise.
	* include/bits/stl_function.h:  Likewise.
	* include/bits/stl_heap.h:  Likewise.
	* include/bits/stl_iterator.h:  Likewise.
	* include/bits/stl_iterator_base_funcs.h:  Likewise.
	* include/bits/stl_iterator_base_types.h:  Likewise.
	* include/bits/stl_list.h:  Likewise.
	* include/bits/stl_map.h:  Likewise.
	* include/bits/stl_multimap.h:  Likewise.
	* include/bits/stl_multiset.h:  Likewise.
	* include/bits/stl_numeric.h:  Likewise.
	* include/bits/stl_pair.h:  Likewise.
	* include/bits/stl_pthread_alloc.h:  Likewise.
	* include/bits/stl_queue.h:  Likewise.
	* include/bits/stl_raw_storage_iter.h:  Likewise.
	* include/bits/stl_relops.h:  Likewise.
	* include/bits/stl_set.h:  Likewise.
	* include/bits/stl_stack.h:  Likewise.
	* include/bits/stl_tempbuf.h:  Likewise.
	* include/bits/stl_threads.h:  Likewise.
	* include/bits/stl_tree.h:  Likewise.
	* include/bits/stl_uninitialized.h:  Likewise.
	* include/bits/stl_vector.h:  Likewise.
	* include/bits/type_traits.h:  Likewise.
	* include/ext/hash_map:  Likewise.
	* include/ext/hash_set:  Likewise.
	* include/ext/rope:  Likewise.
	* include/ext/ropeimpl.h:  Likewise.
	* include/ext/slist:  Likewise.
	* include/ext/stl_hash_fun.h:  Likewise.
	* include/ext/stl_hashtable.h:  Likewise.
	* include/ext/stl_rope.h:  Likewise.
	* src/bitset.cc:  Likewise.
	* src/strstream.cc:  Likewise.

2001-06-26  Benjamin Kosnik  <bkoz@redhat.com>
	                     <vakatov@ncbi.nlm.nih.gov>

	libstdc++/3272
	* include/bits/streambuf.tcc (__copy_streambufs): Don't set eofbit.
	* testsuite/27_io/ostream_inserter_other.cc (test04): Add test.
	* testsuite/27_io/istream_extractor_other.cc: Fix.

2001-06-26  Zoltan Hidvegi  <hzoli@austin.ibm.com>

	* acinclude.m4 (glibcpp_toolexeclibdir): Make multilib safe.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2001-06-26  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/stream_iterator.h (istream_iterator): Add copy ctor.
	(ostream_iterator): Same.
	* include/bits/stl_iterator.h (front_insert_iterator::operator=):
	Change argument to const_reference.
	(back_insert_iterator): Same.

2001-06-26  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/sbuf_iter.h: Change to..
	* include/bits/streambuf_iterator.h: This.
	* include/bits/stl_iterator.h: Take out of here...
	* include/bits/stream_iterator.h: Add.
	* src/Makefile.am (base_headers): Add streambuf_iterator,
	stream_iterator.h
	* src/Makefile.in: Regenerate.
	* include/bits/std_string.h: Adjust includes.
	* include/bits/basic_ios.h: Same.
	* include/bits/locale_facets.tcc: Same.
	* include/bits/std_iosfwd.h: Same.

	* include/bits/std_iterator.h: Add istream, ostream includes.
	* include/bits/stl_iterator.h: Tweak.
	* testsuite/24_iterators/ostream_iterator.cc: Add test.
	* testsuite/24_iterators/istream_iterator.cc: Same.
	* testsuite/23_containers/multiset.cc: Add iterator include.

2001-06-26  Phil Edwards  <pme@sources.redhat.com>

	* acinclude.m4:  Clean extraneous tabs, rewrap 'test' lines.
	* aclocal.m4:  Regenerate.
	* configure:  Regenerate.

2001-06-26  Felix Natter  <f.natter@ndh.net>

	* docs/html/17_intro/porting-howto.html:  Fixed some errors.

2001-06-26  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/stl_iterator.h (istream_iterator::operator->): Fix
	return values.
	(istream_iterator::operator*): Same.

2001-06-26  Benjamin Kosnik  <bkoz@redhat.com>
	    Alexandre Petit-Bianco  <apbianco@redhat.com>

	* testsuite/21_strings/element_access.cc (test01): Chill Out Cafe
	is on 41st, not 14th.

2001-06-26  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/std_iterator.h: Include sbuf_iter.h via std_ios.h.

	* include/bits/stl_iterator.h (istream_iterator): Inherit from
	iterator.
	(ostream_iterator): Same.
	* testsuite/24_iterators/istream_iterator.cc: New file.
	* testsuite/24_iterators/ostream_iterator.cc: New file.

	* include/bits/sbuf_iter.h: Remove self typedef.
	* testsuite/24_iterators/ostreambuf_iterator.cc: Add test.
	* testsuite/24_iterators/istreambuf_iterator.cc: Add test.

	* include/bits/stl_iterator.h (reverse_iterator): Remove
	extraneous typedefs. Add typename.
	(__normal_iterator): Remove typedefs referring to self. Add typename.
	(reverse_bidiretional_iterator): Remove, not longer required.

2001-06-26  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>

	* include/bits/stl_iterator.h (__normal_iterator<>): Qualify
	dependent names with `typename'.  Bring in various required
	iterator_traits members.  Can't imagine why that used to work.

2001-06-25  Phil Edwards  <pme@sources.redhat.com>
	    Kurt Garloff <garloff@suse.de>

	PR libstdc++/3377
	* src/cmath.cc:  New [version of an old] file; instantiate
	__cmath_power to start with.
	* src/Makefile.am (sources):  Add cmath.cc (and alphabetize).
	* Makefile.in:  Regenerate.
	* libio/Makefile.in:  Regenerate.
	* libmath/Makefile.in:  Regenerate.
	* libsupc++/Makefile.in:  Regenerate.
	* src/Makefile.in:  Regenerate.
	* testsuite/Makefile.in:  Regenerate.

2001-06-24  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>

	* libmath/stubs.c: Fix thinko.

2001-06-24  David Edelsohn <dje@watson.ibm.com>

	* libmath/stubs.c (sqrtf): Define.
	(tanf): Correct typo.

2001-06-22  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/stl_iterator.h (reverse_iterator): Inherit from
	iterator.
	(back_insert_iterator): Same.
	(front_insert_iterator): Same.
	(insert_iterator): Same.

	* testsuite/20_util/raw_storage_iterator.cc: Modify.
	* testsuite/24_iterators/reverse_iterator.cc: New file.
	* testsuite/24_iterators/back_insert_iterator.cc: New file.
	* testsuite/24_iterators/front_insert_iterator.cc: New file.
	* testsuite/24_iterators/insert_iterator.cc: New file.

2001-06-22  Phil Edwards  <pme@sources.redhat.com>

	* include/*:  Revert comment/license change from yesterday for all
	except libsupc++/unwind-cxx.h.
	* src/bitset.cc:  Likewise.
	* src/strstream.cc:  Likewise.

2001-06-22  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>

	* libmath/stubs.c: New file.
	(tanhf): Fix typo.
	(powf): Likewise.

	* libmath/Makefile.am (libmath_la_SOURCES): Add.
	* libmath/Makefile.in.  Regenerate.

2001-06-21  Phil Edwards  <pme@sources.redhat.com>

	* include/backward/algo.h:  Add "GPL plus runtime exception" comment.
	* include/backward/algobase.h:  Likewise.
	* include/backward/alloc.h:  Likewise.
	* include/backward/bvector.h:  Likewise.
	* include/backward/defalloc.h:  Likewise.
	* include/backward/deque.h:  Likewise.
	* include/backward/function.h:  Likewise.
	* include/backward/hash_map.h:  Likewise.
	* include/backward/hash_set.h:  Likewise.
	* include/backward/hashtable.h:  Likewise.
	* include/backward/heap.h:  Likewise.
	* include/backward/iterator.h:  Likewise.
	* include/backward/list.h:  Likewise.
	* include/backward/map.h:  Likewise.
	* include/backward/multimap.h:  Likewise.
	* include/backward/multiset.h:  Likewise.
	* include/backward/pair.h:  Likewise.
	* include/backward/rope.h:  Likewise.
	* include/backward/set.h:  Likewise.
	* include/backward/slist.h:  Likewise.
	* include/backward/stack.h:  Likewise.
	* include/backward/strstream:  Likewise.
	* include/backward/tempbuf.h:  Likewise.
	* include/backward/tree.h:  Likewise.
	* include/backward/vector.h:  Likewise.
	* include/bits/pthread_allocimpl.h:  Likewise.
	* include/bits/std_algorithm.h:  Likewise.
	* include/bits/std_bitset.h:  Likewise.
	* include/bits/std_deque.h:  Likewise.
	* include/bits/std_functional.h:  Likewise.
	* include/bits/std_iterator.h:  Likewise.
	* include/bits/std_list.h:  Likewise.
	* include/bits/std_map.h:  Likewise.
	* include/bits/std_memory.h:  Likewise.
	* include/bits/std_numeric.h:  Likewise.
	* include/bits/std_queue.h:  Likewise.
	* include/bits/std_set.h:  Likewise.
	* include/bits/std_stack.h:  Likewise.
	* include/bits/std_utility.h:  Likewise.
	* include/bits/std_vector.h:  Likewise.
	* include/bits/stl_algo.h:  Likewise.
	* include/bits/stl_algobase.h:  Likewise.
	* include/bits/stl_alloc.h:  Likewise.
	* include/bits/stl_bvector.h:  Likewise.
	* include/bits/stl_construct.h:  Likewise.
	* include/bits/stl_deque.h:  Likewise.
	* include/bits/stl_function.h:  Likewise.
	* include/bits/stl_heap.h:  Likewise.
	* include/bits/stl_iterator.h:  Likewise.
	* include/bits/stl_iterator_base_funcs.h:  Likewise.
	* include/bits/stl_iterator_base_types.h:  Likewise.
	* include/bits/stl_list.h:  Likewise.
	* include/bits/stl_map.h:  Likewise.
	* include/bits/stl_multimap.h:  Likewise.
	* include/bits/stl_multiset.h:  Likewise.
	* include/bits/stl_numeric.h:  Likewise.
	* include/bits/stl_pair.h:  Likewise.
	* include/bits/stl_pthread_alloc.h:  Likewise.
	* include/bits/stl_queue.h:  Likewise.
	* include/bits/stl_raw_storage_iter.h:  Likewise.
	* include/bits/stl_relops.h:  Likewise.
	* include/bits/stl_set.h:  Likewise.
	* include/bits/stl_stack.h:  Likewise.
	* include/bits/stl_tempbuf.h:  Likewise.
	* include/bits/stl_threads.h:  Likewise.
	* include/bits/stl_tree.h:  Likewise.
	* include/bits/stl_uninitialized.h:  Likewise.
	* include/bits/stl_vector.h:  Likewise.
	* include/bits/type_traits.h:  Likewise.
	* include/ext/hash_map:  Likewise.
	* include/ext/hash_set:  Likewise.
	* include/ext/rope:  Likewise.
	* include/ext/ropeimpl.h:  Likewise.
	* include/ext/slist:  Likewise.
	* include/ext/stl_hash_fun.h:  Likewise.
	* include/ext/stl_hashtable.h:  Likewise.
	* include/ext/stl_rope.h:  Likewise.
	* libsupc++/unwind-cxx.h:  Likewise.
	* src/bitset.cc:  Likewise.
	* src/strstream.cc:  Likewise.

2001-06-21  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>

	* include/bits/indirect_array.h (indirect_array<>::operator=):
	Make copy and assignment operator public.  Implement.  Format.

	* include/bits/valarray_array.h (__valarray_copy): Add overloads
	for copy between index arrays.  Format.

2001-06-19  Benjamin Kosnik  <bkoz@redhat.com>

	* mknumeric_limits: Add static definitions, format.
	* testsuite/18_support/numeric_limits.cc (test02): Add test.

	* include/c_std/bits/std_cwchar.h: Include ctime.
	* testsuite/17_intro/header_cwchar.cc : Check.

	* include/c_std/bits/std_cwctype.h: Inject wctype.
	* testsuite/17_intro/header_cwctype.cc: Update.

2001-06-18  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/stl_raw_storage_iter.h: Format. Correct derivation.
	* testsuite/20_util/raw_storage_iterator.cc: Same.

	* include/bits/stl_alloc.h (_S_chunk_alloc): Change malloc to
	operator new.
	(__mem_interface): New typedef for switching between malloc and new.
	* testsuite/20_util/allocator_members.cc: New file.

	* testsuite/20_util/comparisons.cc: New file.
	* testsuite/20_util/pairs.cc: New file.

2001-06-15  Phil Edwards  <pme@sources.redhat.com>

	* docs/html/documentation.html:  Point to new doxygen'ed collection.

2001-06-14  Nathan Sidwell  <nathan@codesourcery.com>

	* configure.in (auxdir): Replace by ...
	(toprel): ... new variable.
	(toplevel_srcdir): Construct from $toprel.
	* acinclude.m4 (GLIBCPP_ENABLE_THREADS): Use $toprel
	rather than .. to locate gcc source directory.
	(GLIBCPP_CONFIGURE): Replace $auxdir with $srcdir/$toprel.
	* aclocal.m4, configure: Rebuilt.

2001-06-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	(Approved by Mark and Benjamin.  Applied by Loren.)

	* src/globals.cc: Define globals _GLIBCPP_mutex_init (),
	_GLIBCPP_mutex_address_init (), _GLIBCPP_once, _GLIBCPP_mutex
	and _GLIBCPP_mutex_address.
	* include/bits/stl_threads.h (_STL_mutex_lock): Use above to provide
	once-only runtime initialization of _M_lock mutex when
	__GTHREAD_MUTEX_INIT_FUNCTION is defined.
	(__STL_MUTEX_INITIALIZER): Provide initializer for _STL_mutex_lock
	for __GTHREAD_MUTEX_INIT_FUNCTION case.

2001-06-13  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>

	* testsuite/26_numerics/slice_array_assignment.cc (main): New test.

	* include/bits/slice_array.h (slice_array<>::operator=): Make
	public and implement.
	(slice_array<>::slice_array): Make copy-constructor public.

	* include/bits/valarray_array.h (__valarray_copy): Add another
	overload to copy between strided arrays.

2001-06-13  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCPP_CONFIGURE): Bump version to 3.0.0.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* include/bits/c++config (__GLIBCPP__): Update date.

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

	* include/bits/fpos.h (fpos::operator-): Don't return reference,
	return original, non-modified version.
	(fpos::operator+): Same.
	* testsuite/27_io/fpos.cc: Add test.

2001-06-12  Loren J. Rittle  <ljrittle@acm.org>

	libstdc++/2071
	* porting.texi: Add documentation about libstdc++-v3-specific
	macros that are currently included in os_defines.h files.

	* config/basic_file_stdio.h (sys_getc): New method.
	(sys_ungetc): New method.
	* include/bits/basic_file.h: (sys_getc): New method signature.
	(sys_ungetc): New method signature.

	* include/bits/fstream.tcc (underflow): Add conditional code
	paths which avoid using short seeks on streams (especially
	useful when the stream might be interactive or a pipe).  At
	the moment, this alternate path only avoids seeking when the
	``buffer size'' of underflow() is 1 since the C standard only
	guarantees buffer space for one ungetc (this technique could
	be extended since *-*-solaris* supports buffering for 4 calls
	to ungetc and *-*-*bsd* supports buffering limited only by
	memory resources).  Also, _GLIBCPP_AVOID_FSEEK must be defined
	in a port's os_defines.h file for this alternate path to even
	be considered.  As a bonus, the idiom of using getc/ungetc
	requires no system calls whereas fseek maps to one or two
	system call(s) on many platforms.

	* config/os/bsd/freebsd/bits/os_defines.h (_GLIBCPP_AVOID_FSEEK):
	Define it.
	* config/os/solaris/solaris2.5/bits/os_defines.h
	(_GLIBCPP_AVOID_FSEEK): Likewise.
	* config/os/solaris/solaris2.6/bits/os_defines.h
	(_GLIBCPP_AVOID_FSEEK): Likewise.
	* config/os/solaris/solaris2.7/bits/os_defines.h
	(_GLIBCPP_AVOID_FSEEK): Likewise.

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

	* acinclude.m4 (GLIBCPP_CHECK_COMPILER_VERSION): Change to
	AC_TRY_COMPILE, so that the built compiler is checked, and
	bootstraps or cross compiles with an older compile still work.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

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

	libstdc++/3142
	* include/bits/std_sstream.h: Add allocator_type, as per DR 251.

	libstdc++/3141
	* include/bits/istream.tcc (getline, get): Fix as per DR 243.

	libstdc++/3140
	* include/bits/std_bitset.h (bitset::set): Fix as per DR 186.

	libstdc++/3139
	* include/bits/limits_generic.h: Fix as per DR 184.

2001-06-11  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/3126
	* include/bits/basic_string.h (string::compare): Adjust signatures
	as per DR 5.
	* include/bits/basic_string.tcc: And here.

	libstdc++/2346
	* config/c_io_stdio.h: Remove whitespace.
	* testsuite/27_io/istream_seeks.cc (test03): Add regression.
	(test02): Add regression.
	* testsuite/27_io/istream_seeks-3.tst: New file.

2001-06-11  Phil Edwards  <pme@sources.redhat.com>

	* README:  Update to reflect reality.
	* acinclude.m4:  Update descriptions, fix typos.  Comment changes only.
	* configure.in:  Make certain target_alias is set and subst'd for 2.50.
	* aclocal.m4:  Regenerate.
	* configure:  Regenerate (with 2.13).

2001-06-11  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/3114
	* include/bits/ostream.tcc (ostream::seekp): Add error checking as
	per DR 129.
	* include/bits/istream.tcc (istream::seekg): Same.
	* testsuite/27_io/istream_seeks.cc: Fix.

	libstdc++/3113
	* include/bits/stl_function.h (binder2nd): Fix as per DR 109.
	(binder1st): Same.
	* include/bits/std_queue.h: Add c++config.h.
	* testsuite/20_util/binders.cc: New test.

2001-06-11  Matthias Klose  <doko@debian.org>
	    Phil Edwards  <pme@sources.redhat.com>

	* docs/doxygen/run_doxygen (find_doxygen):  Tweak version check.
	(main script):  Echo more information.

2001-06-10  Benjamin Kosnik  <bkoz@redhat.com>

	* include/c_std/bits/std_cwchar.h: Alphabetize.
	* include/bits/char_traits.h: Tweak.
	* acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Check for
	everything used by std_cwchar.h.
	* aclocal.m4: Regenerate.
	* configure.in: Regenerate.
	* config.h.in: Regenerate.

2001-06-10  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCPP_ENABLE_C99): Add stdio.h checking.
	Add checking for strtof, _Exit in stdlib.h
	* aclocal.m4: Regenerate.
	* configure.in: Regenerate.
	* include/c_std/bits/std_cstdio.h: Alphabetize lists.
	(snprintf): Put C99 functions into __gnu_cxx namespace.
	(vfscanf): Same.
	(vscanf): Same.
	(vsnprintf): Same.
	(vsscanf): Same.
	* include/c_std/bits/std_cstdlib.h: Alphabetize lists. Put undefs
	for C99 functions within _GLIBCPP_USE_C99 guard.
	(_Exit): Same.
	(strtof): Same.
	(strtold): Same.
	* include/bits/locale_facets.tcc: Check if C99 is enabled.
	* include/c_std/bits/std_cwchar.h (__gnu_cxx): Put undefs within
	C99 guard.
	* include/c_std/bits/cmath.tcc: Formatting tweak.
	* include/c_std/bits/std_cmath.h: Same.

2001-06-10  Benjamin Kosnik  <bkoz@redhat.com>

	* include/c_std/bits/std_cstdio.h: Include cstddef for size_t.

2001-06-09  Alexandre Oliva  <aoliva@redhat.com>
	    Stephen L Moshier  <moshier@mediaone.net>

	* acinclude.m4 (AC_EXEEXT): Work around in case it expands to
	nothing, as in autoconf 2.50.
	* configure: Rebuilt.

2001-06-09  Benjamin Kosnik  <bkoz@redhat.com>

	* include/c_std/bits/std_cwchar.h: Remove size_t injection,
	include std_cstddef.
	* include/c_std/bits/std_ctime.h: Same.
	* include/c_std/bits/std_cstring.h: Same.
	* include/c_std/bits/std_cstdlib.h: Same.

	* include/c_std/bits/std_cstdio.h: Remove vsnprintf, snprintf.
	* include/c_std/bits/std_cctype.h: Remove isblank.

2001-06-09  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Check for fgetwc,
	fgetws.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* include/c_std/bits/std_cwchar.h: Remove duplicate fgetwc
	injection, guard fgetwc, fgetws.
	* include/c_std/bits/std_cstdio.h: Remove superfluous includes.
	* include/c_std/bits/std_clocale.h: And here.
	* include/c_std/bits/std_cctype.h: And here.
	* include/c_std/bits/std_cstdlib.h (strtof): Guard strtof injection.

	* config/basic_file_stdio.h: Don't include unistd.h.
	* config/c_io_stdio.h: Don't use compatibility headers.
	* libsupc++/eh_terminate.cc: Qualify abort.
	(__terminate): And here.
	* libsupc++/eh_catch.cc (__cxa_end_catch): Qualify abort.

2001-06-08  Benjamin Kosnik  <bkoz@redhat.com>

	* include/c_std/bits/std_cstdlib.h: Remove _Exit, strtof injections.

2001-06-08  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/2767
	libstdc++/2989
	libstdc++/2992
	* include/std/*: Add copyright notice.
	* include/c_std/bits/*: Use using statements instead of extern "C".
	* include/c_std/bits/std_cmath.h: Don't overload double versions
	of math functions with __buitin versions, use global version to
	prevent ambiguities. Remove define hacks.
	* include/c_std/bits/std_cwchar.h: Using declarations for "C"
	functions that have changed signatures and std::
	declarations. Remove define hacks.
	* include/c_std/bits/std_cwchar.h: Same, plus remove ambiguous
	__builtins in std::. Remove define hacks.
	* testsuite/17_intro/headers_c.cc: Add tests.
	* testsuite/17_intro/headers_c++.cc: Add test.

2001-06-07  Loren J. Rittle  <ljrittle@acm.org>
	    John David Anglin  <dave@hiauly1.hia.nrc.ca>

	c++/3082
	* libsupc++/eh_alloc.cc: Ensure that required macros are
	defined before including gthr.h.  Ensure that we get the
	version of gthr.h for which we know how to provide a
	configuration.
	* libsupc++/eh_globals.cc: Likewise.  And, bring the threading
	code path into line with the current EH model.  Use std, where
	appropriate.

2001-06-07  Loren J. Rittle  <ljrittle@acm.org>
	    John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* config/threads-no.h: Remove file.
	* config/threads-posix.h: Remove file.

	* acconfig.h (_GLIBCPP_USE_THREADS): Remove.
	(_GLIBCPP_SUPPORTS_WEAK): Add (required by namespace-clean gthr*.h).
	(_GLIBCPP_HAVE_GTHR_DEFAULT): Likewise.
	* config.h.in: Regenerate.

	* acinclude.m4 (GLIBCPP_ENABLE_THREADS): Completely rework to
	setup and use gthr*.h files.  In particular, make gthr.h files
	namespace-clean in the staging area (they don't have to be for
	libgcc.a).
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

	* src/Makefile.am (build_headers): Remove bits/c++threads.h
	and add bits/gthr.h bits/gthr-single.h bits/gthr-default.h.
	* src/Makefile.in: Regenerate.

	* include/bits/c++config: Cleanup threading configuration macros.
	In particular, define __STL_GTHREADS macro which controls...
	* include/bits/stl_threads.h: ...a brand new gthr.h-based
	configuration here.

	* config/c_io_stdio.h: Include staged gthr.h instead of local
	thread configuration file.  Always use __gthread_mutex_t
	instead of __mutext_type (or int).
	* include/bits/std_fstream.h: Likewise.

	* docs/html/17_intro/howto.html: Remove placeholder comment in
	case this configuration patch didn't make it.  Add advice that
	section only applies if configured with --enable-threads.
	* docs/html/23_containers/howto.html: Reword to make clear
	that _PTHREADS is no longer required for any port to be
	correctly using STL with threads.  Add advice that section
	only applies if configured with --enable-threads.

2001-06-06  Benjamin Kosnik  <bkoz@redhat.com>

	* src/string-inst.cc (_Rep::_S_max_size): Add instantiation.

2001-06-05  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/3045
	* include/bits/basic_ios.tcc: Formatting tweaks.
	* include/bits/ios_base.h: Formatting tweaks.
	* src/ios.cc (ios_base::Init::_S_ios_create): Use filebufs here.
	(ios_base::Init::_S_ios_destroy): ..and here. Explicitly call dtors.
	* src/globals.cc: Allocate filebufs for standard streams here.
	(buf_cout, buf_cin, buf_cerr): Like so.
	(buf_wcout, buf_wcin, buf_wcerr): And so.
	* testsuite/27_io/ios_init.cc: Add.

2001-06-04  Brendan Kehoe  <brendan@zen.org>
	    Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/3017
	* include/bits/locale_facets.h (ctype<_CharT>): Add definitions
	for generic ctype virtuals.
	* src/locale.cc: Minor tweaks, naming consistency.
	* testsuite/22_locale/ctype.cc: Add test.

2001-06-04  Kenny Simpson <theonetruekenny@yahoo.com>
	    Phil Edwards  <pme@sources.redhat.com>

	PR libstdc++/3035 and PR libstdc++/3036
	* include/bits/stl_pair.h:  Fix pair ctor and make_pair according
	to LWG DR 181 and 265.

2001-06-04  Phil Edwards  <pme@sources.redhat.com>

	PR libstdc++/3034
	* include/bits/stl_multiset.h (find, lower_bound, upper_bound,
	equal_range):  Add const overloads as per LWG DR 214.
	* include/bits/stl_set.h:  Likewise.

2001-06-04  Brendan Kehoe  <brendan@zen.org>
	    Phil Edwards  <pme@sources.redhat.com>

	PR libstdc++/3018
	* include/bits/std_bitset.h (bitset::test):  Fix __pos >= _Nb
	comparison; all positions must be < _Nb.
	* testsuite/23_containers/bitset_members.cc:  New file.

2001-06-04  Brendan Kehoe  <brendan@zen.org>

	PR libstdc++/3016
	* include/bits/stl_queue.h (classes queue, priority_queue):  Fix
	ctors to match the standard.

2001-06-04  Jeffrey Oldham  <oldham@codesourcery.com>

	* include/bits/char_traits.h (move): Reverse qualification of
	memmove with std::.
	(copy): Reverse qualification of memcpy with std::.

2001-06-04  Jeffrey Oldham  <oldham@codesourcery.com>

	* include/bits/char_traits.h (move): Qualify memmove with std::.
	(copy): Qualify memcpy with std::.
	* testsuite/27_io/filebuf_virtuals.cc (test01): Qualify strlen and
	strncmp with std::.
	(test02): Likewise.
	* testsuite/27_io/stringbuf_virtuals.cc (test01): Likewise.

2001-06-04  Hans-Peter Nilsson  <hp@axis.com>

	* libsupc++/Makefile.am (install-glibcppinstallHEADERS,
	uninstall-glibcppinstallHEADERS): Have explicit rules catering to
	SUN make VPATH peculiarities.
	* libsupc++/Makefile.in: Regenerate.

2001-06-01  Hans-Peter Nilsson  <hp@axis.com>

	* src/Makefile.am (VPATH): Delimit with ":", not space.
	* src/Makefile.in: Regenerate.

	* configure.in (use of GLIBCPP_CHECK_GNU_MAKE): Don't fail if GNU
	make isn't found.
	* configure: Regenerate.

2001-05-31  scott snyder  <snyder@fnal.gov>

	libstdc++/2976
	* include/bits/istream.tcc: Include std_ostream.h.

2001-05-31  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/2997
	* src/bitset.cc: Qualify size_t with std::.

2001-05-30  Benjamin Kosnik  <bkoz@redhat.com>

	* acconfig.h (_GLIBCPP_BUGGY_FLOAT_COMPLEX): Remove.
	(_GLIBCPP_BUGGY_COMPLEX): Remove.
	* config.h.in: Regenerate.
	* acinclude.m4 (GLIBCPP_CHECK_COMPLEX_MATH_COMPILER_SUPPORT): Remove.
	* aclocal.m4: Regenerate.
	* configure.in: Don't call it.
	* configure: Regenerate.

	libstdc++/2970
	* src/complex_io.cc (operator<<(ostream&, const complex&): Fix.
	* testsuite/26_numerics/complex_inserters_extractors.cc (test01):
	New test.

	libstdc++/2985
	* include/bits/std_complex.h: Include sstream. Put definitions for
	complex inserters and extractors here, and remove them from...
	* src/complex_io.cc: ...here.
	* include/bits/basic_ios.h (basic_ios::__numput_type): Add _Traits
	parameter.
	(basic_ios::__numget_type): Same.
	* include/bits/std_istream.h: Same.
	* include/bits/std_ostream.h: Same.
	* include/bits/sbuf_iter.h (ostreambuf_iterator): Fix typo in base
	class iterator template arguments.
	* src/locale-inst.cc: Add explicit has_facet instantiations.
	* include/bits/basic_ios.h (basic_ios::_M_get_fctype_ios): Remove.
	(_M_get_fnumput): Remove.
	(_M_get_fnumget): Remove.
	(basic_ios::_M_check_facet): New function.
	(basic_ios::_M_cache_facets): New function.
	* include/bits/basic_ios.tcc: Definition for _M_cache_facets.
	(basic_ios::imbue): Call _M_cache_facets.
	(basic_ios::init): Same.
	* include/bits/istream.tcc: Format, use _M_check_facet.
	* include/bits/ostream.tcc: Same.
	* include/bits/locale_facets.tcc (__output_float): Change
	signature, add _Traits.
	* testsuite/26_numerics/complex_inserters_extractors.cc (test02):
	New test.

2001-05-30  Loren J. Rittle  <ljrittle@acm.org>

	* include/bits/c++config (__USE_MALLOC): Do not define it.
	Document why not and give pointers to more information.

	* docs/html/23_containers/howto.html: Update documentation
	to reflect recent understanding of problem.
	* docs/html/17_intro/howto.html: Likewise.

2001-05-30  Phil Edwards  <pme@sources.redhat.com>

	* docs/doxygen/user.cfg.in:  Minor addition.
	* docs/html/documentation.html:  Reorganize.  Put most-looked-at
	stuff first.
	* docs/html/install.html:  Update for 3.0.  HTML fixups.
	* docs/html/17_intro/howto.html:  Likewise.
	* docs/html/18_support/howto.html:  Likewise.
	* docs/html/19_diagnostics/howto.html:  Likewise.
	* docs/html/20_util/howto.html:  Likewise.
	* docs/html/23_containers/howto.html:  Likewise.
	* docs/html/24_iterators/howto.html:  Likewise.  More notes.
	* docs/html/25_algorithms/howto.html:  Likewise.
	* docs/html/26_numerics/howto.html:  Likewise.  More notes.
	* docs/html/27_io/howto.html:  Likewise.
	* docs/html/ext/howto.html:  Likewise.
	* docs/html/faq/index.html:  Likewise.
	* docs/html/faq/index.txt:  Regenerate.
	* docs/html/27_io/iostreams_hierarchy.pdf:  Remove in favor of
	Doxygen-created documentation.

2001-05-30  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Use
	get_multilibs to find gcc.

2001-05-30  Phil Edwards  <pme@sources.redhat.com>

	* acinclude.m4 (GLIBCPP_ENABLE_C99):  Reorder output messages.
	* aclocal.m4:  Regenerate.
	* configure:  Regenerate.

2001-05-29  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>

	* include/c_std/bits/std_cstdlib.h:: Move C99 thingies to __gnu_cxx::.
	* include/c_std/bits/std_cwchar.h (__gnu_cxx): Likewise.

2001-05-27  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>

	* include/c_std/bits/std_cmath.h: Move C99 functions in __gnu_cxx::.
	* include/c_std/bits/std_cstdlib.h: Same.
	* include/c_std/bits/std_cwchar.h: Same.

2001-05-30  Loren J. Rittle  <ljrittle@acm.org>

	* docs/html/17_intro/howto.html: Update link.
	* docs/html/23_containers/howto.html: Likewise.  Add new link.

2001-05-26  Gabriel Dos Reis  <gdr@codesourcery.com>

	* include/c_std/bits/std_cmath.h (sqrt): #undef.

2001-05-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* mknumeric_limits: Stop if gen-num-limits dies.

2001-05-25  Benjamin Kosnik  <bkoz@redhat.com>

	other/2931
	* acinclude.m4 (GLIBCPP_ENABLE_C99): Use AC_TRY_COMPILE.
	* aclocal.m4: Regenerate.
	* configure: Same.

2001-05-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
	    Phil Edwards  <pme@sources.redhat.com>
	    Alexandre Oliva  <aoliva@redhat.com>

	* acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Set glibcpp_srcdir
	in an amd-safe manner. Revert glibcpp_prefixdir.

2001-05-25  Gabriel Dos Reis  <gdr@codesourcery.com>

	* include/c_std/bits/std_cmath.h: Tweak.  #define away abs, cos,
	fabs, sin, sqrt.  They are now implemented in terms of __builtin_
	variants.

2001-05-24  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/2830
	* testsuite/21_strings/inserters_extractors.cc (test09): New test.
	* include/bits/ostream.tcc: Format to match istream.tcc.
	(operator<<(basic_ostream __out, const basic_string __s)): Fix.

2001-05-24  Phil Edwards  <pme@sources.redhat.com>

	* libsupc++/eh_alloc.cc (__cxa_allocate_exception):  Qualify
	malloc with std:: .
	(__cxa_free_exception):  Likewise with free.

2001-05-24  Mark Mitchell  <mark@codesourcery.com>

	* include/c_std/bin/std_cstring.h: #define away all global
	functions we will redeclare in namespace `std'.
	* libsupc++/eh_alloc.cc (__cxa_allocate_exception): Use
	std::memset, instead of memset.
	* testsuite/19_diagnostics/stdexceptions.cc: Use `std::strcmp',
	not plain `strcmp'.
	* testsuite/21_strings/c_strings.cc: Use `std::strcpy' instead of
	plain `strcpy'.

2001-05-24  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/2832
	* include/bits/basic_ios.tcc: Small tweak.
	* include/bits/std_fstream.h (ifstream): Add buffer member. Adjust
	ctors and dtors, and rdbuf settings.
	(ofstream): Same.
	(fstream): Same.
	* include/bits/std_sstream.h: Same, but for stringstream classes.
	* testsuite/27_io/ostringstream_members.cc: New.
	* testsuite/27_io/stringstream_members.cc: New.
	* testsuite/27_io/fstream_members.cc: New.
	* testsuite/27_io/ifstream_members.cc: Add test.
	* testsuite/27_io/istringstream_members.cc: Add test.
	* testsuite/27_io/ofstream_members.cc: Add test.

2001-05-24  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>

	* include/bits/c++config(__NO_MATH_INLINES): Move to...
	* config/os/gnu-linux/bits/os_defines.h: ...here.

2001-05-24  Gabriel Dos Reis  <gdr@codesourcery.com>

	* include/bits/c++config (__NO_MATH_INLINES): New macro.
	* testsuite/26_numerics/fabs_inline.cc (main): New test.

2001-05-22  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/2841
	* testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Set
	ld_library_path.
	(libstdc++-v3_set_ld_library_path): New, copied from g++.exp.
	(libstdc++-v3-finish): Remove.
	(libstdc++-v3_exit): Remove.

2001-05-22  Phil Edwards  <pme@sources.redhat.com>

	* docs/html/documentation.html:  Point to doxygen output.

2001-05-21  Benjamin Kosnik  <bkoz@redhat.com>

	* mkcheck.in (static_fail): Remove S_FLAG decoration on output.

	* include/bits/std_sstream.h (stringbuf::setbuf): Require both
	arguments to be non-null.
	* include/bits/fstream.tcc (filebuf::_M_allocate_buffers): Only
	try allocations if allocated size is greater than zero.
	(filebuf::_M_filebuf_init): Change to
	(filebuf::_M_allocate_file): Which is what it does now.
	(filebuf::_M_allocate_bufers): Change to
	(filebuf::_M_allocate_internal_buffer): This, and create
	(filebuf::_M_allocate_pback_buffer): New.
	(filebuf::_M_destroy_internal_buffer): New.
	(filebuf::_M_buf_allocated): New data member.
	(filebuf::setbuf): Use new logic, allow use of external buffer.
	* testsuite/27_io/stringbuf_virtuals.cc: New file.
	* testsuite/27_io/filebuf_virtuals.cc: New file.

2001-05-21  Stephen M. Webb  <stephen@bregmasoft.com>

	* include/c_std/bits/std_cstring.h (memchr): Define "C" functions to
	__glibcpp_memchr.
	(strchr): Same, but to __glibcpp_strchr.
	(strpbrk): Same.
	(strrchr): Same.
	(strstr): Same.
	* include/c_std/bits/std_cwchar.h (wcschr): Same.
	(wcsbrk): Same.
	(wcsrchr): Same.
	(wcsstr): Same.
	(wmemchr): Same.

2001-05-21  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/21_strings/c_strings.cc (main): Fix.

2001-05-19  Phil Edwards  <pme@sources.redhat.com>

	* acinclude.m4:  Fix --help spacing, correct comments.
	* aclocal.m4:  Regenerate.
	* configure:  Regenerate.
	* mkcheck.in:  Add usage comments.
	* docs/html/documentation.html:  Point to doxygen'd tarball.

2001-05-18  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/README: Add notes.

	* src/Makefile.am (libstdc++.INC): Remove.
	* src/Makefile.in: Regenerate.

	Phil Edwards <pedwards@disaster.jaj.com>
	* mkcheck.in: Add missing '#'.

2001-05-18  Angela Marie Thomas <angela@cygnus.com>

	* testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Set flags
	appropriately for remote testing and testing installed files without
	a build dir.

2001-05-18  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Set glibcpp_srcdir
	amd glibcpp_prefixdir with absolute paths.

	* include/bits/c++config (__GLIBCPP__): Bump.
	* acinclude.m4 (GLIBCPP_CONFIGURE): Correct version number.

2001-05-18  Gabriel Dos Reis  <gdr@codesourcery.com>

	* include/bits/std_valarray.h (valarray<>::operator[] const):
	Return a const reference.
	* testsuite/26_numerics/valarray_const_bracket.cc: New test.

2001-05-18  Alexandre Oliva  <aoliva@redhat.com>

	* configure.target (ATOMICITYH): Actually use AIX-specific code on
	earlier versions of AIX 4.*.

2001-05-18  Angela Marie Thomas <angela@cygnus.com>

	* testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-dg-test):  Set
	output_file based on the name of the testcase.

2001-05-18  Angela Marie Thomas <angela@cygnus.com>

	* testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init):  Build
	gluefile and use it if needs_status_wrapper is set.

2001-05-18  Alexandre Oliva  <aoliva@redhat.com>

	* configure.target (ATOMICITYH): Use cpu/generic code on earlier
	versions of AIX.

2001-05-17  Alexandre Oliva  <aoliva@redhat.com>

	* configure.target (ATOMICITYH): Don't use AIX 4.3-specific code
	on earlier versions of AIX.

2001-05-15  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite_flags.in (query): Add backwards, ext directories.

2001-05-15  Mark Mitchell  <mark@codesourcery.com>

	* porting.texi: Correct documentation about handling
	_LARRGEFILE_SOURCE and its ilk.
	* config/os/solaris/solaris2.5/bits/os_defines.h: Remove
	definitions of _XOPEN_SOURCE, _LARGEFILE64_SOURCE, and
	__EXTENSIONS__.
	* config/os/solaris/solaris2.6/bits/os_defines.h: Likewise.
	* config/os/solaris/solaris2.7/bits/os_defines.h: Likewise.

2001-05-15  Zack Weinberg  <zackw@stanford.edu>

	* testsuite/21_strings/inserters_extractors.cc,
	testsuite/27_io/istream_unformatted.cc,
	testsuite/27_io/stringstream.cc:
	Replace multi-line string constants with C89-style
	concatenated string constants.

2001-05-14  Richard Henderson  <rth@redhat.com>

	* mknumeric_limits: Build with -fno-exceptions.

2001-05-13   Benjamin Kosnik  <bkoz@redhat.com>

	Switch over to new harness.
	* testsuite_flags.in: Tweaks via Gaby.
	* testsuite/Makefile.am: Change tool to libstdc++-v3.
	(EXPECT): Quote directly.
	(RUNTEST): Same.
	* configure.in: Output testsuite_flags.
	* acinclude.m4: Substitute src, bld, and prefix dirs.
	Remove glibcpp_expect, glibcpp_runtestflags.
	* Makefile.am (RUNTESTFLAGS): Pass this down to subdirs.
	* mkcheck.in: Port to new interface.

	* aclocal.m4: Regerate.
	* configure: Regnerate.
	* Makefile.in: Regnerate.
	* */Makefile.in: Regenerate.

	* tests_flags.in: Remove.
	* testsuite/lib/libstdc++.exp: Remove.
	* testsuite/libstdc++.tests/tests.exp: Remove.

2001-05-13  Alexandre Oliva  <aoliva@redhat.com>

	* configure.target: Remove detection of AIX pthread multilib, now
	obtained from `gcc -v'.

2001-05-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* mkcheck.in (setup_size_command): Use Berkeley "-B" mode with GNU
	size.  Add hpux case for HP size.

2001-05-11   Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite_flags.in: New, simplified interface.
	* testsuite/lib/libstdc++-v3-dg.exp: New test harness.
	* testsuite/libstdc++-v3.dg: Add.
	* testsuite/libstdc++-v3.dg/dg.exp: Add.

2001-05-11   Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/*/*.cc: Remove spaces, make sure testcases return zero.
	* testsuite/config/default.exp: Update bugs email address.

2001-05-11  Richard Henderson  <rth@redhat.com>

	* libsupc++/eh_personality.cc: Include unwind-pe.h.  Remove
	all pointer encoding logic.
	(struct lsda_header_info): Add ttype_base.
	(get_ttype_entry): Use it instead of a context.
	(check_exception_spec): Likewise.
	(PERSONALITY_FUNCTION): Initialize ttype_base.  Store it in
	the c++ exception header for __cxa_call_unexpected.
	(__cxa_call_unexpected): Use it.

2001-05-09  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/lib/libstdc++.exp: Use libgloss.exp. Call
	libgloss_link_flags to find crt0.o for targets that use libgloss
	instead of newlib.
	Change LDFLAGS to LIBS.
	Consistently name procedures libstdc++-XXX.
	* testsuite/libstdc++.tests/tests.exp: Use new procedure names.

2001-05-08  Benjamin Kosnik  <bkoz@fillmore.constant.com>

	* include/c_std/bits/std_cstring.h (memchr): Correct definitions.
	(strchr): Same.
	(strpbrk): Same.
	(strrchr): Same.
	(strstr): Same.
	* include/c_std/bits/std_cwchar.h (wcschr): Same.
	(wcsbrk): Same.
	(wcsrchr): Same.
	(wcsstr): Same.
	(wmemchr): Same.
	* testsuite/21_strings/c_strings.cc: Add tests.

2001-05-07  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/2523
	* include/bits/std_fstream.h (basic_filebuf): Change signature.
	* include/bits/fstream.tcc (basic_filebuf): Change bool argument
	to int_type, pass in buffer size info.
	* include/bits/std_streambuf.h (_M_is_indeterminate): Check for
	unbuffered situation.
	(underflow): Remove codecvt bits for the time being.
	* include/bits/istream.tcc (istream::sentry): Avoid sputbackc call.
	* include/bits/locale_facets.tcc (_M_extract): Cache dereference
	values from iterators, clean.
	* src/locale.cc: Ditto.
	* include/bits/sbuf_iter.h: Format.
	* src/ios.cc: Explicitly pass in buffer sizes at creation time.
	* testsuite/27_io/narrow_stream_objects.cc: Add tests.
	* testsuite/27_io/filebuf.cc: Tweaks.
	* testsuite/27_io/filebuf_members.cc: Tweaks.

2001-05-07  Mark Mitchell  <mark@codesourcery.com>

	* config/os/solaris/solaris2.7/bits/os_defines.h
	(_LARGEFILE_SOURCE): Define it.

2001-05-03  Alexandre Oliva  <aoliva@redhat.com>

	* configure.in (LIBSUPCXX_PICFLAGS): Set it to -prefer-pic or
	-prefer-non-pic depending on whether libtool has shared libraries
	enabled or disabled.
	* libsupc++/Makefile.am (LIBSUPCXX_CXXFLAGS): Set to
	$(LIBSUPCXX_PICFLAGS).
	* configure, */Makefile.in: Rebuilt.

2001-05-01  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/sbuf_iter.h (istreambuf_iterator): Correct.
	* testsuite/24_iterators/istreambuf_iterator.cc (test02): Add test.

	* include/bits/std_sstream.h (stringbuf): Leak
	copied string.
	* testsuite/24_iterators/ostreambuf_iterator.cc: Correct.

2001-05-01  Tom Browder  <tbrowder@home.com>

	* docs/html/ext/howto.html:  Fix typo.

2001-05-01  Gabriel Dos Reis  <gdr@codesourcery.com>

	* testsuite/libstdc++.tests/tests.exp: Add comment.

2001-05-01  Gabriel Dos Reis  <gdr@codesourcery.com>

	* testsuite/libstdc++.tests/tests.exp: Set ulimits.

2001-04-30  Mark Mitchell  <mark@codesourcery.com>

	* porting.texi: Use the GFDL.

2001-04-30  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/2627
	* testsuite/24_iterators/ostreambuf_iterator.cc: New file.
	* include/bits/sbuf_iter.h (ostreambuf_iterator): Remove bogus
	specializations.

2001-04-30  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/2964
	* include/bits/stl_iterator_base_funcs.h (__advance): Fix.

2001-04-28  Phil Edwards  <pme@sources.redhat.com>

	* docs/doxygen/run_doxygen:  Minor tweaks.
	* docs/doxygen/style.css:  New file.
	* docs/doxygen/user.cfg.in:  Update using "doxygen -u" to get the
	latest parameters available.  Use style.css.

2001-04-27  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/doxygen/mainpage.doxy: New.
	* docs/doxygen/user.cfg.in: Change default configuration. Single
	frame, other tweaks.

2001-04-26  Mark Mitchell  <mark@codesourcery.com>

	* docs/html/17_intro/BADNAMES: Remove EGCS reference.
	Indicate obsolete nature of thelist for G++ 3.0.

2001-04-26  Alexandre Oliva  <aoliva@redhat.com>

	* acinclude.m4 (GLIBCPP_ENABLE_THREADS): Obtain
	target_thread_file with `gcc -v'.
	* aclocal.m4, configure: Rebuilt.

2001-04-25  Benjamin Kosnik  <bkoz@redhat.com>

	* include/c_std/bits/std_cmath.h (std): Explicitly inject c99 names.
	* include/c_std/bits/std_cstdlib.h (std): Same, except for llabs.
	* include/c_std/bits/std_cwchar.h (std): Same.
	* acconfig.h (std): Remove c99 injection into std.
	* config.h.in: Regenerate.

	* testsuite/README: Fix typo.

	* include/bits/codecvt.h: Remove warnings.

2001-04-24  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>

	* include/ext/slist: Include required header files.

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

	* include/c_std/bits/std_cerrno.h (errno): Define macro from
	identifier declared with external linkage, if needed.
	* include/c_std/bits/std_csetjmp.h (setjmp): Likewise.
	* include/c_std/bits/std_cstdarg.h (va_end): Likewise.

2001-04-23  Benjamin Kosnik  <bkoz@fillmore.constant.com>

	* acinclude.m4 (CXX): Set to glibcpp_CXX so that in-directory
	re-configures find the build compiler.
	(GLIBCPP_ENABLE_C99): Do all fp-tests with 0.0, not 0. Fixes
	libstdc++/2609.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2001-04-20  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCPP_ENABLE_LONG_LONG): Make sure required C99
	support is enabled correctly before long long is activated.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

	* include/backward/backward_warning.h: Format correctly.

	* testsuite/26_numerics/c99_classification_macros_c.cc: Add.
	* testsuite/26_numerics/c99_classification_macros_c++.cc: Add.
	* testsuite/26_numerics/c99_macros.cc: Remove.

2001-04-20  Phil Edwards  <pme@sources.redhat.com>

	* include/bits/stl_bvector.h:  Replace __ITERATOR_CATEGORY with
	__iterator_category.

2001-04-19  Benjamin Kosnik  <bkoz@redhat.com>

	* acconfig.h (_GLIBCPP_USE_C99): Add.
	* config.h.in: Regenerate.
	* acinclude.m4 (GLIBCPP_ENABLE_C99): New macro. Test for ISO/IEC
	9899: 1999 support.
	* aclocal.m4: Regenerate.
	* configure.in (GLIBCPP_ENABLE_C99): Use it, on by default.
	* configure: Regenerate.
	* configure.in (GLIBCPP_ENABLE_LONG_LONG): Set default to yes.
	* configure: Regenerate.
	* include/c_std/bits/std_cwchar.h: Put wcstold, wcstoll, wcstoull
	into c99.
	* include/c_std/bits/std_cmath.h: Bring C99 functions into c99
	namespace.
	* include/c_std/bits/std_cstdlib.h: Same.
	* docs/html/configopts.html: Update.
	* testsuite/26_numerics/c99_macros.cc: Edit, use cmath instead of
	math.h
	(test_c99_classify): Add.
	* config/os/gnu-linux/bits/os_defines.h (_GNU_SOURCE): Remove.
	(_ISOC99_SOURCE): Remove.

	* include/bits/stl_algo.h: Use _GLIBCPP_HAVE_DRAND48.
	* include/bits/c++config (__STL_ASSERTIONS): Simplify.
	* acinclude.m4 (GLIBCPP_CHECK_STDLIB_SUPPORT): Add check for drand48.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2001-04-19  Phil Edwards  <pme@sources.redhat.com>

	* Makefile.am (doxygen):  Assume script is missing execute perms.
	* Makefile.in:  Regenerated.
	* docs/doxygen/user.cfg.in:  Add class diagrams and source browsing.

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

	* testsuite/27_io/istream_seeks.cc: Inform DejaGnu of required files.

2001-04-17  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/23_containers/map_operators.cc: Add dg-excess-errors.
	* testsuite/23_containers/set_operators.cc: Same.

	* include/bits/c++config: Add _GLIBCPP_CONCEPT_CHECKS. Disable by
	default.
	(__GLIBCPP__): Bump from value of last release.
	* include/bits/concept_check.h: Default to off, edit comments.
	* src/stl-inst.cc: Use _GLIBCPP_CONCEPT_CHECKS.
	* src/Makefile.am (AM_CXXFLAGS): Remove _GLIBCPP_NO_CONCEPT_CHECKS.
	* src/Makefile.in: Regenerate.

2001-04-14  Martin Reinecke <martin@MPA-Garching.MPG.DE>

	* include/bits/boost_concept_check.h(_Mutable_ContainerConcept):
	Properly uglify member.

2001-04-13  Phil Edwards  <pme@sources.redhat.com>

	* include/bits/stl_algobase.h (equal):  Use EqualOpConcept instead
	of EqualityCo
	mparableConcept.

2001-04-13  Phil Edwards  <pme@sources.redhat.com>

	* include/bits/boost_concept_check.h:  Uglify, fork from Boost.
	* include/bits/concept_check.h:  Uglify.
	* include/bits/stl_algo.h:  Likewise.
	* include/bits/stl_algobase.h:  Likewise.
	* include/bits/stl_deque.h:  Likewise.
	* include/bits/stl_heap.h:  Likewise.
	* include/bits/stl_iterator_base_funcs.h:  Likewise.
	* include/bits/stl_list.h:  Likewise.
	* include/bits/stl_map.h:  Likewise.
	* include/bits/stl_multimap.h:  Likewise.
	* include/bits/stl_multiset.h:  Likewise.
	* include/bits/stl_numeric.h:  Likewise.
	* include/bits/stl_queue.h:  Likewise.
	* include/bits/stl_set.h:  Likewise.
	* include/bits/stl_stack.h:  Likewise.
	* include/bits/stl_vector.h:  Likewise.
	* include/ext/hash_map:  Likewise.
	* include/ext/hash_set:  Likewise.
	* include/ext/slist:  Likewise.

2001-04-13  Gabriel Dos Reis  <gdr@codesourcery.com>

	* testsuite/23_containers/set_operators.cc: Just try to compile.
	Mark as XFAIL.
	* testsuite/23_containers/map_operators.cc: Same.

2001-04-12  Jason Merrill  <jason_merrill@redhat.com>

	* testsuite/lib/libstdc++.exp (libstdc++-dg-test): Prepend "./" to
	output_file.
	(dg-test): Revert rth's change.

2001-04-12  Nathan Sidwell  <nathan@codesourcery.com>

	* libsupc++/eh_alloc.cc (__cxa_allocate_exception): Don't
	terminate holding the mutex. Make sure size fits in EMERGENCY_OBJ_SIZE.

2001-04-12  Gabriel Dos Reis  <gdr@codesourcery.com>

	* testsuite/README: Add DejaGnu specific documentation.

2001-04-11  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4: AC_CHECK_TOOL for expect.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/Makefile.am (RUNTEST): Use substituted.
	(EXPECT): Same.

	* configure.in: Remove xcompiling substitution.
	* tests_flags.in (CROSS_LIB_PATH): Remove.
	(xcompiling): Remove.
	(CXX): Use substituted CXX.

2001-04-11  Richard Henderson  <rth@redhat.com>

	* testsuite/lib/libstdc++.exp: Specify path for output_file.

2001-04-08  Gabriel Dos Reis  <gdr@codesourcery.com>

	* include/bits/std_valarray.h(valarray<>::operator[]): Make
	inline.

2001-04-06  Gabriel Dos Reis  <gdr@codesourcery.com>

	* testsuite/25_algorithms/equal.cc: New test.

2001-04-06  Joe Buck  <jbuck@welsh-buck.org>

	* stl_algobase.h (std::equal): avoid use of possibly-undefined
	operator != (one line patch).

2001-04-06   Benjamin Kosnik  <bkoz@redhat.com>

	* include/backward/backward_warning.h: Re-enable.

2001-04-06  Benjamin Kosnik  <bkoz@redhat.com>
	    Alexandre Oliva  <aoliva@redhat.com>

	* tests_flags.in (CROSS_LIB_PATH): Add as -B flag.

2001-04-06  Gabriel Dos Reis  <gdr@codesourcery.com>

	* include/c_std/bits/std_cmath.h: Get rid of C99 math macros.
	* testsuite/26_numerics/c99_macros.cc: Add test.

2001-04-06  Phil Edwards  <pme@sources.redhat.com>

	* docs/html/faq/index.html:  Update for 2.92, grab from RELEASE-NOTES.
	* docs/html/faq/index.txt:  Regenerated.

2001-04-06  Benjamin Kosnik  <bkoz@redhat.com>

	* include/backward/backward_warning.h: Temporarily disable until
	g++ testsuite changes go in.
	* tests_flags.in (CROSS_LIB_PATH): Add.

2001-04-05  Benjamin Kosnik  <bkoz@redhat.com>

	Warn when using backward headers.
	* include/backward/algo.h: Include warning file.
	* include/backward/vector.h: Same.
	* include/backward/tree.h: Same.
	* include/backward/tempbuf.h: Same.
	* include/backward/strstream: Same.
	* include/backward/streambuf.h: Same.
	* include/backward/stream.h: Same.
	* include/backward/stack.h: Same.
	* include/backward/slist.h: Same.
	* include/backward/set.h: Same.
	* include/backward/rope.h:
	* include/backward/queue.h: Same.
	* include/backward/pair.h: Same.
	* include/backward/ostream.h: Same.
	* include/backward/new.h: Same.
	* include/backward/multiset.h: Same.
	* include/backward/multimap.h: Same.
	* include/backward/map.h: Same.
	* include/backward/list.h: Same.
	* include/backward/iterator.h: Same.
	* include/backward/istream.h: Same.
	* include/backward/iostream.h:
	* include/backward/iomanip.h:
	* include/backward/heap.h: Same.
	* include/backward/hashtable.h:
	* include/backward/hash_set.h:
	* include/backward/hash_map.h:
	* include/backward/function.h:
	* include/backward/fstream.h:
	* include/backward/deque.h:
	* include/backward/defalloc.h: Same.
	* include/backward/complex.h: Same.
	* include/backward/bvector.h:
	* include/backward/alloc.h:
	* include/backward/algobase.h: Same.

	* include/backward/backward_warning.h: New file.
	* src/Makefile.am (backward_headers): Add backward_warning.h
	* src/Makefile.in: Regenerate.

2001-04-05  Benjamin Kosnik  <bkoz@redhat.com>

	* src/Makefile.am (myinstalldirs): Make sure backward directory is
	created.
	(myinstallheaders): Install backward headers in backward directory.
	* src/Makefile.in: Regenerate.

2001-04-05  Benjamin Kosnik  <bkoz@redhat.com>

	Prepare for libstdc++-2.92.
	* docs/html/17_intro/RELEASE-NOTES (New): Update.
	* docs/html/configopts.html: Fix formatting.
	* README (file): Updates.
	* include/bits/c++config (__GLIBCPP__): Update.

2001-04-05  Phil Edwards  <pme@sources.redhat.com>

	* docs/doxygen/run_doxygen:  Check for the existence of Doxygen.

2001-04-04  Phil Edwards  <pme@sources.redhat.com>

	* docs/doxygen/user.cfg.in:  Extract all non-private members;
	reduce confusing documentation output.

2001-04-04  Geoffrey Keating  <geoffk@redhat.com>

	* include/backward/fstream.h: Add missing semicolons.

2001-04-03  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/fstream.tcc: Add bool parameter to filebuf ctor.
	* include/bits/ios_base.h(ios_base::Init): Remove _M_cout, _M_cin,
	_M_cerr, _M_wcout, _M_wcin, _M_wcerr.
	(ios_base::Init::_S_ios_create): New.
	(ios_base::Init::_S_ios_destroy): New.
	* include/bits/std_fstream.h: Change ctor args.
	* src/ios.cc (ios_base::Init::Init): Use _S_ios_create.
	(ios_base::Init::~Init): Use _S_ios_destroy.
	(ios_base::sync_with_stdio): Use new members.
	* testsuite/27_io/filebuf_members.cc: Fix calling conventions for
	filebuf ctor.

2001-04-03  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>

	* include/backward/fstream.h:  Expose streampos to global
	namespace.

2001-04-03  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>

	* include/bits/stl_iterator_base_types.h: Fix typo

2001-04-03  Andreas Schwab  <schwab@suse.de>

	* include/backward/fstream.h: Define filebuf and wfilebuf.

2001-04-02  Phil Edwards  <pme@sources.redhat.com>

	New concept checking implementation.
	* docs/html/19_diagnostics/howto.html:  Document.
	* docs/html/17_intro/concept_check.diff:  New file, for reference.
	* include/bits/boost_concept_check.h:  New file from Boost.
	* include/bits/c++config:  Update comments.

	* include/bits/concept_check.h:  New file.
	* include/bits/concept_checks.h:  Removed.
	* include/bits/container_concepts.h:  Removed.
	* include/bits/sequence_concepts.h:  Removed.
	* include/bits/stl_iterator_base.h:  Removed; split into...
	* include/bits/stl_iterator_base_funcs.h:  ...this new file...
	* include/bits/stl_iterator_base_types.h:  ...and this new file.

	* include/bits/sbuf_iter.h:  Update to use new implementation.
	* include/bits/std_iterator.h:  Likewise.
	* include/bits/std_memory.h:  Likewise.
	* include/bits/stl_algo.h:  Likewise.
	* include/bits/stl_algobase.h:  Likewise.
	* include/bits/stl_construct.h:  Likewise.
	* include/bits/stl_deque.h:  Likewise.
	* include/bits/stl_heap.h:  Likewise.
	* include/bits/stl_list.h:  Likewise.
	* include/bits/stl_map.h:  Likewise.
	* include/bits/stl_multimap.h:  Likewise.
	* include/bits/stl_multiset.h:  Likewise.
	* include/bits/stl_numeric.h:  Likewise.
	* include/bits/stl_queue.h:  Likewise.
	* include/bits/stl_set.h:  Likewise.
	* include/bits/stl_stack.h:  Likewise.
	* include/bits/stl_uninitialized.h:  Likewise.
	* include/bits/stl_vector.h:  Likewise.
	* include/ext/hash_map:  Likewise.
	* include/ext/hash_set:  Likewise.
	* include/ext/slist:  Likewise.
	* include/ext/stl_hashtable.h:  Likewise.

	* src/Makefile.am (base_headers):  Update list of headers.
	* Makefile.in:  Regenerated.
	* src/Makefile.in:  Regenerated.
	* libio/Makefile.in:  Regenerated.
	* libmath/Makefile.in:  Regenerated.
	* libsupc++/Makefile.in:  Regenerated.
	* testsuite/Makefile.in:  Regenerated.

	* docs/html/install.html:  Update contact information.
	* docs/html/17_intro/howto.html:  Ditto.
	* docs/html/18_support/howto.html:  Ditto.
	* docs/html/20_util/howto.html:  Ditto.
	* docs/html/21_strings/howto.html:  Ditto.
	* docs/html/22_locale/howto.html:  Ditto.
	* docs/html/23_containers/howto.html:  Ditto.
	* docs/html/24_iterators/howto.html:  Ditto.
	* docs/html/25_algorithms/howto.html:  Ditto.
	* docs/html/26_numerics/howto.html:  Ditto.
	* docs/html/27_io/howto.html:  Ditto.
	* docs/html/faq/index.html:  Ditto, plus info on new checking code.
	* docs/html/ext/howto.html:  Ditto, plus info on new checking code.
	* docs/html/faq/index.txt:  Regenerated.

2001-04-02  Zack Weinberg  <zackw@stanford.edu>

	* testsuite/lib/libstdc++.exp (dg-test): Annotate result
	messages with $which_library as well as $tool_flags and
	${dg-extra-tool-flags}.  Factor out annotation text into
	a single variable.

2001-04-02  Stephen M. Webb  <stephen@bregmasoft.com>

	* include/c_std/bits/std_cstring.h: Fix for const-correctness.
	* include/c_std/bits/std_cwchar.h: Same.
	* testsuite/21_strings/c_strings.cc: Add.

2001-04-01  Benjamin Kosnik  <bkoz@codesourcery.com>

	* docs/html/configopts.html: Add --enable-sjlj-exceptions docs.

2001-04-01  Zack Weinberg  <zackw@stanford.edu>

	* tests_flags.in: Use test a = b, not test a == b which is not
	portable.

2001-03-31  Benjamin Kosnik  <bkoz@redhat.com>

	* configure.target: Remove duplicate aix entry.

2001-03-30  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/stl_bvector.h: Move to...
	* include/bits/stl_vector.h: ...here.
	* include/ext/bvector: Move to...
	* include/backward/bvector.h: ...here.
	* include/bits/std_vector.h: Change stl_bvector include.
	* include/bits/std_queue.h: Remove bvector include.
	* include/ext/tree: Insert using rb_tree, move to...
	* include/backward/tree.h: ...here.
	* include/backward/hash_map.h: Include ext/hash_map.
	* include/backward/hash_set.h: Include ext/hash_set.
	* include/backward/queue.h: New file.
	* include/backward/stack.h: Edit.
	* include/backward/algo.h: Same.
	* include/backward/algobase.h: Same.
	* include/backward/alloc.h: Same.
	* include/backward/function.h: Same.
	* include/backward/iomanip.h: Same.
	* include/backward/istream.h: Same.
	* include/backward/iterator.h: Same.
	* include/backward/list.h: Same.
	* include/backward/map.h: Same.
	* include/backward/multimap.h: Same.
	* include/backward/multiset.h: Same.
	* include/backward/ostream.h: Same.
	* include/backward/pair.h: Same
	* include/backward/rope.h: Same.
	* include/backward/set.h: Same.
	* include/backward/stream.h: Same.
	* include/backward/strstream.h: Same.
	* include/backward/tempbuf.h: Same.
	* src/Makefile.am (ext_headers): Edit.
	* src/Makefile.in: Regenerate.
	* testsuite/ext/headers.cc (main): Fix.
	* mkcheck.in: Fix.

2001-03-30  Phil Edwards  <pme@sources.redhat.com>

	* tests_flags.in (LIBS):  Pass correct path for installed testing.

2001-03-28  Benjamin Kosnik  <bkoz@redhat.com>

	* mkcheck.in (LIBTOOL): Don't construct -B argument here...
	* tests_flags.in (CXX): Construct here.
	(static_fail): Don't remove compile.out. Format with spaces.
	(INCLUDES): Deal with xcompiling.
	* configure.in (xcompiling): Substitute.
	* testsuite/Makefile.am: Snake libjava configury.
	* testsuite/Makefile.in: Regenerate.
	* testsuite/23_containers/map_operators.cc: Tweaks.
	* testsuite/23_containers/set_operators.cc: Tweaks.

2001-03-28  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>

	Enable dejagnu testing framework.
	* configure.in: Generate testsuite/Makefile.
	* configure: Regenerate.
	* Makefile.am (check-install): Change rule from this...
	(check-script-install): ...to this.
	(check): Change rule from this...
	(check-script):...to this.
	* Makefile.in: Regenerate.

2001-03-28  Alexandre Oliva  <aoliva@redhat.com>

	* libsupc++/Makefile.am (CXXLINK): Add --tag disable-shared after
	--tag CXX.
	(LIBTOOL): Let automake take care of its definition.
	* libsupc++/Makefile.in: Rebuilt.

2001-03-28  Richard Henderson  <rth@redhat.com>

	IA-64 ABI Exception Handling:
	* acinclude.m4 (GLIBCPP_ENABLE_SJLJ_EXCEPTIONS): New.
	* configure.in: Use it.
	* Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
	* libsupc++/Makefile.am (sources): Update files list.
	* libsupc++/Makefile.in: Regenerate.
	* libsupc++/eh_alloc.cc, libsupc++/eh_aux_runtime.cc: New files.
	* libsupc++/eh_catch.cc, libsupc++/eh_exception.cc: New files.
	* libsupc++/eh_globals.cc, libsupc++/eh_personality.cc: New files.
	* libsupc++/eh_terminate.cc, libsupc++/eh_throw.cc: New files.
	* libsupc++/exception_support.cc: Remove.
	* libsupc++/exception_support.h: Remove.
	* libsupc++/pure.cc: Use std::terminate.
	* libsupc++/tinfo2.cc (__throw_type_match_rtti_2): Remove.
	(__is_pointer): Remove.
	* libsupc++/unwind-cxx.h: New file.
	* libsupc++/vec.cc (uncatch_exception): Update for new abi.

2001-03-27  Alexandre Oliva  <aoliva@redhat.com>

	* libsupc++/Makefile.am (CXXLINK): Use CXX again, and choose
	CXX tag explicitly.
	* src/Makefile.am (CXXLINK): Likewise.
	* libsupc++/Makefile.in, src/Makefile.in: Rebuilt.

2001-03-27  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/c++config (_STL_USE_CONCEPT_CHECKS): Disable by default.

2001-03-26  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>

	* libstdc++-v3/tests_flags.in: Change the order of libstdc++
	  and libc

2001-03-26  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/basic_file.h (get_fileno): Remove.
	(_M_fileno): Remove.
	(_M_cfile_created): Add.
	(basic_file::basic_file(__c_file_type*, openmode): Add.
	(basic_file::basic_file(int, const char*, openmode): Remove.
	* include/bits/fstream.tcc (basic_fstream::basic_filebuf(int __fd,
	const char*, ios_base::openmode): Don't allocate
	internal buffers. Turn off internal buffers.
	(basic_filebuf::overflow): Remove test for null buffer.
	(basic_filebuf::_M_really_overflow): Same. Allow unbuffered use.
	* include/bits/streambuf.cc: Tweak.
	* include/bits/std_ostream.h: Tweak.
	* config/basic_file_libio.h: Same.
	* config/basic_file_stdio.h: Same.
	* src/ios.cc (ios_base::Init::Init()): Unbuffer stdout by default.
	* testsuite/27_io/filebuf_members.cc: Tweaks.
	* testsuite/27_io/ios_base_members_static.cc: Tweaks.

2001-03-24  Phil Edwards  <pme@sources.redhat.com>

	* Makefile.am:  New targets, doxygen and doxygen-maint.
	* Makefile.in:  Regenerated.
	* docs/doxygen/run_doxygen:  Finally implemented.
	* docs/doxygen/maint.cfg.in:  New file.
	* docs/doxygen/user.cfg.in:  New file.

2001-03-24  Phil Edwards  <pme@sources.redhat.com>

	* acinclude.m4 (GLIBCPP_CHECK_COMPILER_FEATURES):  Update comment.
	* src/Makefile.am:  Replace leading spaces with tabs on continuation
	lines.
	* aclocal.m4:  Regenerated.
	* configure:  Ditto.
	* Makefile.in:  Ditto.
	* src/Makefile.in:  Ditto.
	* libio/Makefile.in:  Ditto.
	* libmath/Makefile.in:  Ditto.
	* libsupc++/Makefile.in:  Ditto.

2001-03-24  Phil Edwards  <pme@sources.redhat.com>

	* docs/html/19_diagnostics/howto.html:  HTML fixup.  Describe
	concept-checking code and current status of same.
	* docs/html/ext/howto.html:  Ditto.
	* docs/html/faq/index.html:  Ditto.
	* docs/html/faq/index.txt:  Regenerated.

2001-03-24  Phil Edwards  <pme@sources.redhat.com>

	* include/bits/std_bitset.h:  Include ostream and istream headers
	instead of iostream.

2001-03-22  Greg Bumgardner <bumgard@roguewave.com>

	* include/bits/ostream.tcc: Use __builtin_alloca.

2001-03-22  Benjamin Kosnik  <bkoz@redhat.com>

	* src/misc-inst.cc (__sink_unused_warning): Move to...
	* src/locale-inst.cc (__sink_unused_warning): Move to...
	* src/stl-inst.cc: Here.
	* include/bits/c++config (_STL_NO_CONCEPT_CHECKS): Add define,
	commented it out.

2001-03-21  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>

	* intclude/bits/basic_file.h: Fix typos in comments.

2001-03-20  Richard Henderson  <rth@redhat.com>

	* src/gen-num-limits.cc: Instantiate for wchar_t.
	* config/os/aix/bits/ctype_base.h (mask): Use unsigned int.

2001-03-20  Jason Merrill  <jason@redhat.com>

	* libsupc++/vec.cc (__cxa_vec_cleanup): New fn.
	(__cxa_vec_ctor, __cxa_vec_cctor, __cxa_vec_dtor): Call it.
	* libsupc++/cxxabi.h: Declare it.

2001-03-16  Alexandre Oliva  <aoliva@redhat.com>

	* src/gen-num-limits.cc (signal_adapter): Overloaded to match
	signal_func with an unspecified argument list.

2001-03-15  Benjamin Kosnik  <bkoz@redhat.com>

	* tests_flags.in (CXXFLAGS): Link libstdc++ before libsupc++.

2001-03-15  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>

	* include/bits/basic_string.tcc (operator+): Fix thinko.

2001-03-14  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/2020
	* include/bits/std_streambuf.h: Remove cached locale facets.
	(basic_streambuf::_M_buf_fctype): Remove.
	(basic_streambuf::~basic_streambuf): Remove here.
	(basic_streambuf::basic_streambuf): Same.
	(basic_streambuf::imbue): Same.
	* include/bits/fstream.tcc (filebuf::imbue): Remove _M_buf_fctype.
	* include/bits/std_fstream.h (basic_filebuf::_M_fcvt): Remove.
	(basic_filebuf::~basic_filebuf()): Remove here.
	* include/bits/fstream.tcc (basic_filebuf::basic_filebuf): Same.
	(basic_filebuf::imbue): Same.
	* include/bits/localefwd.h (_Count_ones): Remove.
	(locale::_S_num_categories): Just use 6, since this doesn't
	actually change, ever.
	* include/bits/locale_facets.tcc (has_facet): Simplify.
	(use_facet): Same.
	* testsuite/27_io/filebuf.cc (test06): Add tests.

2001-03-13  Steve Ellcey  <sje@cup.hp.com>

	* libstdc++-v3/config/os/hpux/bits/ctype_base.h: Make ctype masks
	match HP-UX ctype.h header file.

2001-03-13  Andris Pavenis <pavenis@latnet.lv>

	* config/djgpp/bits/ctype_noninline.h: Fix typo and remove
	duplicate definitions of __dj_ctype_*

2001-03-13  Benjamin Kosnik  <bkoz@redhat.com>

	* libsupc++/new: Remove pragma interface.
	* libsupc++/typeinfo: Same.
	* libsupc++/exception: Same.
	* libsupc++/new_handler.cc: Remove pragma implementation.
	(bad_alloc::~bad_alloc()): Add.
	* libsupc++/exception_support.cc: Same.
	(exception::~exception): Add.
	(bad_exception::~bad_exception): Add.
	* libsupc++/tinfo.cc: Same.
	(bad_cast::~bad_cast): Add.
	(bad_typeid::~bad_typeid): Add.

2001-03-13  Phil Edwards  <pme@sources.redhat.com>

	* mkcheck.in:  Fix IFS regression for non-bash-2.01 hosts.

2001-03-12  Felix Lee  <flee@redhat.com>

	* mkcheck.in: workaround for bash 2.01 IFS bug.

2001-03-12  Benjamin Kosnik  <bkoz@redhat.com>

	Fixups for -fno-for-scope
	* include/bits/locale_facets.tcc (__match_parallel): Fixup.
	* src/valarray-inst.cc (__gslice_to_index): Same.

2001-03-12  Rodney Brown  <RodneyBrown@mynd.com>

	* src/gen-num-limits.cc (traps) [SPECIALIZE_TRAPPING]: Add fflush
	prior to trapping signal (UnixWare 7 workaround).

2001-03-12  Craig Rodrigues  <rodrigc@mediaone.net>

	* include/backward/hashtable.h: Same.
	* include/backward/rope.h: Fix include.

2001-03-12  Benjamin Kosnik  <bkoz@redhat.com>

	* include/backward/vector.h: Include std_vector.h.

	* include/bits/istream.tcc (basic_istream<_CharT, _Traits>&
	operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s)):
	Fix typo.

2001-03-11  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>

	* include/ext/stl_hashtable.h: Change type of __n to size_t
	* include/backward/bvector.h: Include <ext/stl_bvector.h>

2001-03-09  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>

	* include/bits/istream.tcc ( basic_istream<_CharT, _Traits>&
	operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s)):
	Use streamsize, not int_type.

2001-03-08  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/27_io/streambuf.cc (test06): New test, disabled at the
	moment.

2001-03-08  Andreas Schwab  <schwab@suse.de>

	* acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Fix syntax in test
	command.
	* aclocal.m4, configure: Regenerated.

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

	* include/bits/std_iosfwd.h: Remove string forward decls here.
	* include/bits/stringfwd.h: Add forward decls for char_traits
	specializations.
	* config/c_io_libio.h (wstreamoff): Delete.
	* config/c_io_stdio.h (wstreamoff): Same.
	* include/bits/char_traits.h: Use streamoff not wstreamoff for
	char_traits<wchar_t>::off_type.
	Remove duplicate typedefs.
	* include/bits/fpos.h: Define streampos/wstreampos here.
	* testsuite/27_io/istream_seeks.cc (test04): Explicitly cast int
	values to off_type.
	(test05): Same.
	Changeup output files.
	* testsuite/27_io/istream_unformatted.cc: Change output files.
	* testsuite/27_io/istream_seeks-1.txt: Add.
	* testsuite/27_io/istream_seeks-2.tst: Add.
	* testsuite/27_io/istream_seeks-1.tst: Add.
	* testsuite/27_io/istream_unformatted-2.tst: Delete.
	* testsuite/27_io/istream_unformatted-3.tst: Delete.
	* testsuite/27_io/istream_unformatted-3.txt: Delete.

2001-03-07  Alexandre Oliva  <aoliva@redhat.com>

	Add Irix 5.2, 6.3 support.
	* config/os/irix/bits: Renamed to...
	* config/os/irix/irix6.5/bits: this.
	* config/os/irix/irix5.2/bits: New, copied from irix6.5/bits.
	* config/os/irix/irix5.2/bits/ctype_base.h: Use _U, _L, _N,
	_X, _S, _P, _C and _B instead of IRIX-6.5 _IS* macros.
	* config/os/irix/irix5.2/bits/ctype_noninline.h
	(ctype<char>::ctype): Initialize _M_table with __ctype.
	* configure.target: Adjust.

2001-03-06  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/2181
	* include/bits/istream.tcc (basic_istream<_CharT, _Traits>::
	operator>>(__istream_type& (*__pf)(__istream_type&)): Don't use
	sentry.
	(basic_istream<_CharT, _Traits>:: operator>>(__ios_type&
	(*__pf)(__ios_type&)): Same.
	(basic_istream<_CharT, _Traits>:: operator>>(ios_base&
	(*__pf)(ios_base&))): Same.
	* testsuite/27_io/istream_extractor_other.cc: Add tests.
	* testsuite/27_io/istream_manip.cc (test01): Fix.

2001-03-06  Nathan Myers  <ncm@cantrip.org>
	    Benjamin Kosnik  <bkoz@redhat.com>

	* include/c_std/bits/std_cerrno.h: Don't define errno in std::.
	* testsuite/17_intro/header_cerrno.cc (test01): New file.
	* testsuite/17_intro/header_cassert.cc (test01): New file.
	* testsuite/17_intro/header_cstddef.cc (test01): New file.
	* testsuite/17_intro/header_csetjmp.cc (test01): New file.
	* testsuite/17_intro/header_cstdarg.cc (test01): New file.

2001-03-05  scott snyder  <snyder@fnal.gov>

	libstdc++/2190
	* include/c_std/bits/std_cmath.h: Move abs(long), div(long,long)
	from here...
	* include/c_std/bits/std_cstdlib.h: ... to here.
	* testsuite/17_intro/header_cstdlib.cc: Add test.

2001-03-05  Stephen M. Webb  <stephen.webb@cybersafe.com>

	* libsupc++/vec.cc (__cxxa_vec_new2): Qualify size_t.

2001-03-05  Laurynas Biveinis  <lauras@softhome.net>

	* config/os/djgpp/ctype_base.h (ctype_base): fix __to_type
	definition. Replace enum with static const variables.

	* config/os/djgpp/ctype_inline.h (ctype<char>::is): remove
	throw specification, fix typos, use <static_cast>.
	(ctype<char>::scan_is): remove throw specification.
	(ctype<char>::scan_not): likewise.

	* config/os/djgpp/ctype_noninline.h (ctype<char>::ctype): fix typo.
	(ctype<char>::do_toupper(char)): use <static_cast>.
	(ctype<char>::do_toupper(char *, const char *)): likewise.
	(ctype<char>::do_tolower(char)): likewise.
	(ctype<char>::do_tolower(char *, const char *)): likewise.

2001-03-04  Phil Edwards  <pme@sources.redhat.com>

	http://gcc.gnu.org/ml/libstdc++/2001-03/msg00015.html
	* include/backward/algo.h:  Use std not __STD.  Remove unneeded
	macros and "never happens" code.  Adjust to C++STYLE guidelines.
	* include/backward/algobase.h:  Likewise.
	* include/backward/alloc.h:  Likewise.
	* include/backward/bvector.h:  Likewise.
	* include/backward/deque.h:  Likewise.
	* include/backward/function.h:  Likewise.
	* include/backward/hash_map.h:  Likewise.
	* include/backward/hash_set.h:  Likewise.
	* include/backward/hashtable.h:  Likewise.
	* include/backward/heap.h:  Likewise.
	* include/backward/iterator.h:  Likewise.
	* include/backward/list.h:  Likewise.
	* include/backward/map.h:  Likewise.
	* include/backward/multimap.h:  Likewise.
	* include/backward/multiset.h:  Likewise.
	* include/backward/pair.h:  Likewise.
	* include/backward/rope.h:  Likewise.
	* include/backward/set.h:  Likewise.
	* include/backward/slist.h:  Likewise.
	* include/backward/stack.h:  Likewise.
	* include/backward/strstream:  Likewise.
	* include/backward/tempbuf.h:  Likewise.
	* include/backward/tree.h:  Likewise.
	* include/backward/vector.h:  Likewise.
	* include/bits/basic_ios.h:  Likewise.
	* include/bits/basic_ios.tcc:  Likewise.
	* include/bits/basic_string.h:  Likewise.
	* include/bits/c++config:  Likewise.
	* include/bits/concept_checks.h:  Likewise.
	* include/bits/fpos.h:  Likewise.
	* include/bits/fstream.tcc:  Likewise.
	* include/bits/functexcept.h:  Likewise.
	* include/bits/ios_base.h:  Likewise.
	* include/bits/istream.tcc:  Likewise.
	* include/bits/mask_array.h:  Likewise.
	* include/bits/ostream.tcc:  Likewise.
	* include/bits/pthread_allocimpl.h:  Likewise.
	* include/bits/sbuf_iter.h:  Likewise.
	* include/bits/slice.h:  Likewise.
	* include/bits/slice_array.h:  Likewise.
	* include/bits/sstream.tcc:  Likewise.
	* include/bits/std_bitset.h:  Likewise.
	* include/bits/std_fstream.h:  Likewise.
	* include/bits/std_iomanip.h:  Likewise.
	* include/bits/std_ios.h:  Likewise.
	* include/bits/std_istream.h:  Likewise.
	* include/bits/std_iterator.h:  Likewise.
	* include/bits/std_memory.h:  Likewise.
	* include/bits/std_ostream.h:  Likewise.
	* include/bits/std_sstream.h:  Likewise.
	* include/bits/std_streambuf.h:  Likewise.
	* include/bits/std_string.h:  Likewise.
	* include/bits/std_valarray.h:  Likewise.
	* include/bits/stl_algo.h:  Likewise.
	* include/bits/stl_algobase.h:  Likewise.
	* include/bits/stl_alloc.h:  Likewise.
	* include/bits/stl_construct.h:  Likewise.
	* include/bits/stl_deque.h:  Likewise.
	* include/bits/stl_function.h:  Likewise.
	* include/bits/stl_heap.h:  Likewise.
	* include/bits/stl_iterator.h:  Likewise.
	* include/bits/stl_iterator_base.h:  Likewise.
	* include/bits/stl_list.h:  Likewise.
	* include/bits/stl_map.h:  Likewise.
	* include/bits/stl_multimap.h:  Likewise.
	* include/bits/stl_multiset.h:  Likewise.
	* include/bits/stl_numeric.h:  Likewise.
	* include/bits/stl_pair.h:  Likewise.
	* include/bits/stl_pthread_alloc.h:  Likewise.
	* include/bits/stl_queue.h:  Likewise.
	* include/bits/stl_raw_storage_iter.h:  Likewise.
	* include/bits/stl_relops.h:  Likewise.
	* include/bits/stl_set.h:  Likewise.
	* include/bits/stl_stack.h:  Likewise.
	* include/bits/stl_tempbuf.h:  Likewise.
	* include/bits/stl_threads.h:  Likewise.
	* include/bits/stl_tree.h:  Likewise.
	* include/bits/stl_uninitialized.h:  Likewise.
	* include/bits/stl_vector.h:  Likewise.
	* include/bits/streambuf.tcc:  Likewise.
	* include/bits/type_traits.h:  Likewise.
	* include/bits/valarray_meta.h:  Likewise.
	* include/ext/bvector:  Likewise.
	* include/ext/hash_map:  Likewise.
	* include/ext/hash_set:  Likewise.
	* include/ext/ropeimpl.h:  Likewise.
	* include/ext/slist:  Likewise.
	* include/ext/stl_bvector.h:  Likewise.
	* include/ext/stl_hash_fun.h:  Likewise.
	* include/ext/stl_hashtable.h:  Likewise.
	* include/ext/stl_rope.h:  Likewise.
	* src/complex_io.cc:  Likewise.
	* src/ios.cc:  Likewise.
	* src/locale-inst.cc:  Likewise.
	* src/locale.cc:  Likewise.
	* src/localename.cc:  Likewise.
	* src/misc-inst.cc:  Likewise.
	* src/stdexcept.cc:  Likewise.
	* src/stl-inst.cc:  Likewise.
	* src/strstream.cc:  Likewise.
	* src/valarray-inst.cc:  Likewise.

2001-03-03  Benjamin Kosnik  <bkoz@redhat.com>

	* src/misc-inst.cc (__copy_streambufs): Fix typo for alpha.

2001-03-02  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>

	* include/bits/istream.tcc: change type of __extracted to __size_type

2001-03-02  Benjamin Kosnik  <bkoz@redhat.com>

	* src/wstring-inst.cc: New file.
	* src/Makefile.am (EXTRA_LTLIBRARIES): Remove.
	(libinst_wstring_la_SOURCES): Remove.
	(libstdc___la_LIBADD): Remove libinst_wstring_la.
	(sources): Add wstring-inst.cc
	* acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Remove
	libinst_wstring_la.

2001-03-02  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>

	* src/locale.cc: initialise __ret with zero
	* src/strstream.cc:cast gptr to int_type

2001-03-01  Phil Edwards  <pme@sources.redhat.com>

	* docs/html/faq/index.html:  Update broken links.
	* docs/html/faq/index.txt:  Regenerated.

2001-02-28  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/2064
	* configure.target: Change irix* to irix6.5* in target_os table.

2001-02-28  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/2103
	* include/bits/c++config (__GLIBCPP__): Bump number in
	anticipation of 2.92.

	* include/bits/codecvt.h: Fix typo.
	* include/bits/basic_file.h (__basic_file): Don't use _M_wfile for
	stdio model.
	* acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Enable wchar_t
	instantiations for stdio model.

2001-02-28  Phil Edwards  <pme@sources.redhat.com>

	* acinclude.m4 (GLIBCPP_CONFIGURE):  Remove GLIBCPP_CFLAGS
	  and GLIBCPP_CXXFLAGS as unused variables.
	* configure.host:  Likewise.
	* configure.target:  Likewise.
	* aclocal.m4:  Regenerated.
	* configure:  Regenerated.
	* Makefile.in:  Regenerated.
	* libio/Makefile.in:  Regenerated.
	* libmath/Makefile.in:  Regenerated.
	* libsupc++/Makefile.in:  Regenerated.
	* src/Makefile.in:  Regenerated.

2001-02-27  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/1886
	* include/bits/basic_file.h: Include basic_file_model.h.
	* config/c_io_libio.cc: Move to...
	* config/basic_file_libio.cc: Here.
	* config/basic_file_libio.h: New file.
	* config/c_io_stdio.cc: Move to...
	* config/basic_file_stdio.cc: Here.
	* config/basic_file_stdio.h: New file.
	* config/c_io_libio.h: Tweak.
	* config/c_io_stdio.h: Tweak.
	* src/Makefile.am (build_headers): Add basic_file_model.h.
	(sources): Add basic_file.cc, remove c++io.cc.
	* src/Makefile.in: Regenerate.
	* acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Add support for
	basic_file_model.h and basic_file.cc.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/27_io/filebuf.cc (test05): Add regression.

2001-02-27  Benjamin Kosnik  <bkoz@redhat.com>

	Correct license.
	* config/cpu/alpha/bits/atomicity.h: Change.
	* config/cpu/arm/bits/atomicit3y.h
	* config/cpu/generic/bits/atomicity.h
	* config/cpu/i386/bits/atomicity.h
	* config/cpu/i486/bits/atomicity.h
	* config/cpu/ia64/bits/atomicity.h
	* config/cpu/powerpc/bits/atomicity.h
	* config/cpu/sparc/sparc32/bits/atomicity.h
	* config/cpu/sparc/sparc64/bits/atomicity.h
	* config/os/aix/bits/atomicity.h
	* config/os/irix/bits/atomicity.h

2001-02-27  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/std_stdexcept.h (runtime_error): Make string
	member non-const.
	(logic_error): Same.
	* testsuite/19_diagnostics/stdexceptions.cc (test04): Add test.
	(test03): Fix.

2001-02-26  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/1972
	libstdc++/2089
	* include/bits/std_stdexcept.h (logic_error::logic_error): Use
	string object, not reference.
	(runtime_error::runtime_error): Same.
	* testsuite/19_diagnostics/stdexceptions.cc: New file.

2001-02-26  Phil Edwards  <pme@sources.redhat.com>

	* acinclude.m4 (GLIBCPP_CONFIGURE):  Update required compiler version.
	  (GLIBCPP_CHECK_COMPILER_FEATURES):  Can safely assume new
	  diagnostics.  Remove WFMT_FLAGS.
	* configure.in:  Replace WFMT_FLAGS with diagnostics options.
	* libsupc++/Makefile.am:  Likewise.
	* src/Makefile.am:  Likewise.
	* aclocal.m4:  Regenerated.
	* configure:  Regenerated.
	* Makefile.in:  Regenerated.
	* libio/Makefile.in:  Regenerated.
	* libmath/Makefile.in:  Regenerated.
	* libsupc++/Makefile.in:  Regenerated.
	* src/Makefile.in:  Regenerated.

2001-02-26  Phil Edwards  <pme@sources.redhat.com>

	Fixes libstdc++/2079
	* include/backward/iomanip.h:  Expose <ios> manipulators to global
	  namespace.
	* include/backward/iostream.h:  Also expose std::ws.

2001-02-25  Greg Freemyer <freemyer@NorcrossGroup.com>

	* libmath/mathconf.h (GET_LDOUBLE_MSW64): Fix thinko.

2001-02-23  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/codecvt.h: Use __builtin_alloca.
	* include/bits/ostream.tcc: Same.
	* include/bits/fstream.tcc: Same.

2001-02-23  Alexandre Oliva <aoliva@redhat.com>

	* mknumeric_limits (CC): Use VAR=${VAR=...} form.

2001-02-23  David Edelsohn <dje@watson.ibm.com>

	* mknumeric_limits (CC): Use $BUILD_DIR/../../gcc/xgcc

2001-02-23  Phil Edwards  <pme@sources.redhat.com>

	c++/2052
	* include/backward/iostream.h:  Expose std::flush in old headers.

2001-02-23  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>

	* mknumeric_limits: Remove special-casing on target.  Use gcc
	instead of g++ to build gen-num-limits.cc

2001-02-22  Benjamin Kosnik  <bkoz@redhat.com>

	* tests_flags.in (CXXFLAGS): Add -rpath to gcc build dir.

	* include/bits/codecvt.h: Use alloca instead of __extension__ for
	the time being.
	* include/bits/ostream.tcc: Same.
	* include/bits/std_ostream.h: Same.
	* include/bits/fstream.tcc: Same.
	* include/bits/locale_facets.tcc: Add typename.
	* include/bits/c++config (_GLIBCPP_FULLY_COMPLIANT_HEADERS): Enable.

2001-02-21  Phil Edwards  <pme@sources.redhat.com>

	* tests_flags.in:  Remove -n flag from call to echo.

2001-02-20  Benjamin Kosnik  <bkoz@redhat.com>

	* config/c_locale_gnu.h: Add clocale include.

2001-02-20  Phil Edwards  <pme@sources.redhat.com>

	* include/bits/stl_config.h:  Remove file.
	* src/Makefile.am (base_headers):  Remove from list.
	* configure:  Regenerate.
	* Makefile.in:  Ditto.
	* libio/Makefile.in:  Ditto.
	* libmath/Makefile.in:  Ditto.
	* libsupc++/Makefile.in:  Ditto.
	* src/Makefile.in:  Ditto.

	* include/bits/c++config:  Move relevant macros to here.
	* include/backward/alloc.h:  Include c++config.h instead.
	* include/backward/function.h:  Ditto.
	* include/backward/heap.h:  Ditto.
	* include/backward/pair.h:  Ditto.
	* include/bits/pthread_allocimpl.h:  Ditto.
	* include/bits/std_functional.h:  Ditto.
	* include/bits/std_iterator.h:  Ditto.
	* include/bits/std_numeric.h:  Ditto.
	* include/bits/std_utility.h:  Ditto.
	* include/bits/stl_algobase.h:  Ditto.
	* include/bits/type_traits.h:  Ditto.
	* src/stl-inst.cc:  Ditto.

2001-02-19  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>

	* include/bits/basic_file.h: Add #pragma system_header
	* include/bits/basic_ios.h: Ditto.
	* include/bits/basic_string.h: Ditto.
	* include/bits/char_traits.h: Ditto.
	* include/bits/codecvt.h: Ditto.
	* include/bits/cpp_type_traits.h:  Ditto.
	* include/bits/fpos.h: Ditto.
	* include/bits/gslice.h: Ditto.
	* include/bits/gslice_array.h: Ditto.
	* include/bits/indirect_array.h: Ditto.
	* include/bits/ios_base.h: Ditto.
	* include/bits/limits_generic.h: Ditto.
	* include/bits/locale_facets.h: Ditto.
	* include/bits/localefwd.h: Ditto.
	* include/bits/mask_array.h: Ditto.
	* include/bits/sbuf_iter.h: Ditto.
	* include/bits/sequence_concepts.h: Ditto.
	* include/bits/slice.h: Ditto.
	* include/bits/slice_array.h: Ditto.
	* include/bits/std_algorithm.h: Likewise.
	* include/bits/std_bitset.h: Likewise.
	* include/bits/std_complex.h: Likewise.
	* include/bits/std_deque.h: Likewise.
	* include/bits/std_fstream.h: Likewise.
	* include/bits/std_functional.h: Likewise.
	* include/bits/std_iomanip.h: Likewise.
	* include/bits/std_ios.h: Likewise.
	* include/bits/std_iosfwd.h: Likewise.
	* include/bits/std_iostream.h: Likewise.
	* include/bits/std_istream.h: Likewise.
	* include/bits/std_iterator.h: Likewise.
	* include/bits/std_list.h: Likewise.
	* include/bits/std_locale.h: Likewise.
	* include/bits/std_map.h: Likewise.
	* include/bits/std_memory.h: Likewise.
	* include/bits/std_numeric.h: Likewise.
	* include/bits/std_ostream.h: Likewise.
	* include/bits/std_queue.h: Likewise.
	* include/bits/std_set.h: Likewise.
	* include/bits/std_sstream.h: Likewise.
	* include/bits/std_stack.h: Likewise.
	* include/bits/std_stdexcept.h: Likewise.
	* include/bits/std_streambuf.h: Likewise.
	* include/bits/std_string.h: Likewise.
	* include/bits/std_utility.h: Likewise.
	* include/bits/std_valarray.h: Likewise.
	* include/bits/std_vector.h: Likewise.
	* include/bits/stringfwd.h: Likewise.
	* include/bits/type_traits.h: Likewise.
	* include/bits/valarray_array.h: Likewise.
	* include/bits/valarray_meta.h: Likewise.

2001-02-19  Andreas Jaeger  <aj@suse.de>

	* config/cpu/sparc/sparc64/bits/atomicity.h (__compare_and_swap):
	Fix typo.

2001-02-16  Greg Bumgardner <bumgard@roguewave.com>

	libstdc++/1734
	* include/bits/std_ostream.h: Replaced usage of
	_Traits::_S_eos() with _CharT() as per section 17.2.2.1.3.
	* include/bits/char_traits.h: Removed non-standard
	methods that cannot be used elsewhere.

	libstdc++/1885
	* include/bits/basic_ios.h: Uncommented #include of
	bits/basic_ios.tcc

	libstdc++/1897
	* include/bits/codecvt.h: See next...
	* include/bits/fstream.tcc: See next...
	* include/bits/ostream.tcc: Add __extension__
	to variable-length arrays.

	libstdc++/1967
	* include/bits/localefwd.h: Changed int counter type to size_t.

	libstdc++/1968
	* include/bits/std_fstream.h: Added typedef for __ctype_type.

2001-02-16  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/21_strings/char_traits.cc: Move to ...
	* testsuite/21_strings/char_traits_requirements.cc: ..here.
	* testsuite/21_strings/char_traits-int_type.cc: Move to ...
	* testsuite/21_strings/char_traits_typedefs.cc: ..here.

2001-02-16  Gabriel Dos Reis  <gdr@codesourcery.com>

	* libmath/mathconf.h (FINITE_P, INFINITE_P): Remove macro
	definitions.

2001-02-15  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/c++config: Revert.

2001-02-15  Mark Mitchell  <mark@codesourcery.com>

	* include/bits/istream.tcc: Use ios_base::iostate in place of
	iostate throughout.  Insert `typename' keyword where necessary.
	* include/bits/ostream.tcc: Insert `typename' keyword where
	necessary.

2001-02-15  Jeffrey Oldham  <oldham@codesourcery.com>

	* include/bits/c++config (_GLIBCPP_FULLY_COMPLIANT_HEADERS):
	Define so library is compliant.

2001-02-15  Anthony Green  <green@redhat.com>

	* acinclude.m4 (glibcpp_toolexeclibdir): Fix test for cross
	compilation.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2001-02-15  Rodney Brown  <RodneyBrown@mynd.com>

	* acinclude.m4 (GLIBCPP_CHECK_MATH_DECL_1):
	Include ieeefp.h for fpclass on UnixWare{2,7}.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* mkcheck.in (size_command): Do without GNU-grep when using
	size from binutils.

2001-02-15  Mark Mitchell  <mark@codesourcery.com>

	Remove old ABI support from libsupc++.
	* libsupc++/cxxabi.h: Remove conditionally compiled code.
	* libsupc++/exception_support.cc: Likewise.
	* libsupc++/pure.cc: Likewise.
	* libsupc++/tinfo.cc: Likewise.
	* libsupc++/tinfo.h: Likewise.
	* libsupc++/tinfo2.cc: Likewise.
	* libsupc++/typeinfo: Likewise.
	* libsupc++/vec.cc: Likewise.

2001-02-15  Benjamin Kosnik  <bkoz@redhat.com>

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

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

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

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

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

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

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

	* src/stdexcept.cc: Remove cruft.

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

2001-02-15  Phil Edwards  <pme@sources.redhat.com>

	* docs/html/configopts.html:  Minor updates and typo fixes.
	* docs/html/faq/index.html:  Updates of the "not really bugs" list.
	* docs/html/faq/index.txt:  Regenerated.

2001-02-15  Gabriel Dos Reis  <gdr@codesourcery.com>

	* testsuite/lib/libstdc++.exp: Lift, temporarily, out of
	dejagnu/dg.exp.  Adapt to log options used to run testcases.

2001-02-13  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>

	* testsuite/lib/libstdc++.exp(dg-test): Lift temporarily from
	dejagnu/dg.exp.

2001-02-13  Dirk Mueller <dmuell@gmx.net>
	    Phil Edwards  <pme@sources.redhat.com>

	* include/backward/function.h:  Do not use rel_ops for older
	  headers either.
	* include/backward/pair.h:  Likewise.

2001-02-12  Mark Mitchell  <mark@codesourcery.com>

	* src/locale.cc: Remove bogus locale::id definitions.

2001-02-11  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>

	* include/bits/std_valarray.h: #undef _DEFINE_LOGICAL_OPERATOR,
	not _DEFINE_VALARRAY_OPERATOR which is not existent.

	* include/bits/valarray_meta.h (_RefFunClos<>_RefRunClos): Fix
	thinko in member initialisation.

2001-02-11  Gabriel Dos Reis  <gdr@codesourcery.com>

	* include/bits/std_valarray.h(valarray<>::shift): Avoid
	comparaison between signed and unsigned integer types.
	(valarray<>::cshift): Reformat.

2001-02-11  Alexandre Oliva  <aoliva@redhat.com>

	* src/gen-num-limits.cc: Use sigsetjmp and siglongjmp if available.
	* mknumeric_limits: Compile it with -DHAVE_CONFIG_H.
	* configure.in: Test for sigsetjmp.
	* configure, config.h.in: Rebuilt.

2001-02-11  Gabriel Dos Reis  <gdr@codesourcery.com>

	* src/valarray-inst.cc (gslice::_Indexer::_Indexer): Don't flip
	lengths and strides.
	(__gslice_to_index): Document.

2001-02-11  Gabriel Dos Reis  <gdr@codesourcery.com>

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

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

2001-02-10  Gabriel Dos Reis  <gdr@codesourcery.com>

	* testsuite/Makefile.am: New file.

2001-02-09  Nathan Sidwell  <nathan@codesourcery.com>

	* include/c_shadow/bits/std_cstdlib.h (lldiv_t): Fix typo.

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

	* src/locale-inst.cc (fill_n): Instantiate with size_t arguments.

2001-02-08  David Edelsohn  <edelsohn@gnu.org>

	* configure.target (aix4*): Remove extra set of brackets.

2001-02-07  Benjamin Kosnik  <bkoz@redhat.com>

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

2001-02-06  Benjamin Kosnik  <bkoz@redhat.com>

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

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

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

2001-02-06  Phil Edwards  <pme@sources.redhat.com>

	* docs/html/configopts.html:  Fix HTML markup.
	* docs/html/install.html:  Bring up to date.
	* docs/html/17_intro/C++STYLE:  Add global variable conventions.
	* docs/html/21_strings/howto.html:  More notes.
	* docs/html/22_locale/howto.html:  Fix HTML markup.
	* docs/html/27_io/howto.html:  More notes.
	* docs/html/27_io/binary_iostreams_kanze.txt:  New file.
	* docs/html/27_io/binary_iostreams_kuehl.txt:  New file.

2001-02-06  Jeffrey Oldham  <oldham@codesourcery.com>

	* src/misc-inst.cc (_S_pad_char): Modify declaration's parameters
	to match header files.
	(_S_output_float): Likewise.
	(_S_copy_streambufs): Likewise.

2001-02-06  Hyman Rosen  <Hyman.Rosen@kbcfp.com>
	    Phil Edwards  <pme@sources.redhat.com>

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

2001-02-06  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (gxx_include_dir): Quote, fix regression.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2001-02-05  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.h (class moneypunct): Fix typos.
	* libsupc++/pure.cc: Revert.

2001-02-05  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCPP_CHECK_MATH_DECL_1): New macro.
	(GLIBCPP_CHECK_MATH_DECL_2): New macro.
	(GLIBCPP_CHECK_MATH_DECL_3): New macro.
	(GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_1): Use it, check for _* too.
	(GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_2): Same.
	(GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE_3): Same.
	(GLIBCPP_CHECK_MATH_SUPPORT): Remove explicit checks for _* versions.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2001-02-05  Mark Mitchell  <mark@codesourcery.com>

	* include/bits/locale_facets.tcc: Remove `static' keyword on
	function definitions.
	* include/bits/std_streambuf.h: Likewise.
	* src/Makefile.am: Remove use of -fimplicit-templates.
	* src/Makefile.in: Regenerated.
	* src/locale-inst.cc: Explicitly instantiate more functions.
	* src/misc-inst.cc: Likewise.
	* src/string-inst.cc: Likewise.

2001-02-05  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): New
	macro. Consolidate all the bits to do with where includes might be
	installed.
	* aclocal.m4: Regenerate.
	* configure.in: Use it.
	* configure: Regenerate.
	* src/Makefile.am (targetincludep): Use simplified rules.
	(targetincludep): Rename gxx_target_include_dir.
	(myincludep): Rename gxx_include_dir.
	* src/Makefile.in: Regenerate.
	* libsupc++/Makefile.am: Use simplified rules.
	* libsupc++/Makefile.in: Regenerate.

2001-02-05  Benjamin Kosnik  <bkoz@redhat.com>

	* include/c_std/bits/std_cerrno.h: Correct date format for copyright.
	* include/c_std/bits/std_cctype.h: Same.
	* include/c_std/bits/std_cassert.h: Same.
	* include/c_std/bits/std_cstdarg.h: Same.
	* include/c_std/bits/std_cstddef.h: Same.

	* include/c_std/bits/std_cstdio.h: Undefine all names brought into
	namespace std.
	* include/c_std/bits/std_ctime.h: Same.
	* include/c_std/bits/std_clocale.h: Same.
	* include/c_std/bits/std_cmath.h: Same.
	* include/c_std/bits/std_csetjmp.h: Same.
	* include/c_std/bits/std_csignal.h: Same.
	* include/c_std/bits/std_cstring.h: Same.
	* include/c_std/bits/std_cstdlib.h: Same.
	* include/c_std/bits/std_cwchar.h: Same.

2001-02-05  Phil Edwards  <pme@sources.redhat.com>

	* testsuite/27_io/ios_base_members_static.cc:  Swap order of tests.

2001-02-05  Mark Mitchell  <mark@codesourcery.com>

	* src/string-inst.cc (string::_M_replace): Explicitly instantiate.
	(string::_S_construct): Likewise.

2001-02-05  Gabriel Dos Reis  <gdr@codesourcery.com>

	* testsuite/config/default.exp: New file.
	* testsuite/config: New directory.

2001-02-04  Mark Mitchell  <mark@codesourcery.com>

	* libsupc++/typeinfo (__GXX_MERGED_TYPEINFO_NAMES): New macro.
	* libsupc++/tinfo.cc (std::typeinfo::operator==): Use strcmp
	whenever !__GXX_MERGED_TYPEINFO_NAMES.
	* libsupc++/tinfo2.cc (std::typeinfo::before): Likewise.

2001-02-03  Alexandre Oliva  <aoliva@redhat.com>
	    Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* Makefile.am (mkinstalldirs): Set.
	* src/Makefile.am (mkinstalldirs): Set.
	* libmath/Makefile.am (mkinstalldirs): Set.
	* libsup++/Makefile.am (mkinstalldirs): Set.
	* libio/Makefile.am (mkinstalldirs): Set.
	* */Makefile.in: Regenerate.

2001-02-03  Benjamin Kosnik  <bkoz@redhat.com>

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

2001-02-03  Jeffrey A Law  <law@cygnus.com>

	* include/bits/ios_base.h (_S_ios_fmtflags_end): Initialize
	correctly targets with 16bit ints.
	(_S_ios_openmode_end): Similarly.
	(_S_ios_iostate_end): Similarly.
	(_S_ios_Seekdir_end): Similarly.

2001-02-02  Phil Edwards  <pme@sources.redhat.com>

	* mkcheck.in:  Also limit virtual memory size, for mmap-based mallocs.

2001-02-01  Alexandre Oliva  <aoliva@redhat.com>

	* configure.in (toplevel_srcdir, auxdir): Set.
	* acinclude.m4 (glibcpp_basedir): Set based on auxdir.
	* aclocal.m4, configure, Makefile.in: Rebuilt.
	* libio/Makefile.in, math/Makefile.in, src/Makefile.in: Likewise.
	* libsupc++-v3/Makefile.am (INCLUDES): Use toplevel_srcdir.
	* libsupc++-v3/Makefile.in: Rebuilt.
	* libsupc++-v3/configure.in, libsupc++-v3/configure: Removed.
	* libsupc++-v3/aclocal.m4, libsupc++-v3/config.h.in: Likewise.

2001-01-30   Benjamin Kosnik  <bkoz@redhat.com>

	* config/c_locale_generic.cc: Remove langinfo include.

2001-01-29  Benjamin Kosnik  <bkoz@redhat.com>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2001-01-28  Gabriel Dos Reis  <gdr@codesourcery.com>

	* testsuite/README: Add more comment.
	* testsuite/lib/libstdc++.exp: Tweak comment.

2001-01-26  Benjamin Kosnik  <bkoz@kredhat.com>

	* libsupc++/pure.cc (writestr): Just use cstdio and std::fputs.

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

	* testsuite/21_strings/inserters_extractors.cc: Remove
	explicit reference to 'testsuite/'.

2001-01-25  Richard Henderson  <rth@redhat.com>

	* config/cpu/alpha/bits/atomicity.h: Remove tricky .subsetion
	bits. Fixes Tru64 build issues.

2001-01-25  Michael Sokolov  <msokolov@ivan.Harhan.ORG>

	* acinclude.m4 (GLIBCPP_CHECK_GNU_MAKE): Bourne shell portability bug
	(use ${MAKE-make}, not ${MAKE:-make}).
	* aclocal.m4, configure: Regenerate.

2001-01-25  Mark Mitchell  <mark@codesourcery.com>

	* src/ios.cc: Remove accidental inclusion of <stdio.h> in last
	checkin.

	* src/Makefile.am (sources): Add globals.cc.
	* src/Makefile.in: Regenerated.
	* src/globals.cc: New file.
	* src/ios.cc (cin): Don't define here, just declare extern.
	(cout): Likewise.
	(cerr): Likewise.
	(clog): Likewise.
	(wcin): Likewise.
	(wcout): Likewise.
	(wcerr): Likewise.
	(wclog): Likewise.

2001-01-25  Phil Edwards  <pme@sources.redhat.com>

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

2001-01-25  Gabriel Dos Reis  <gdr@codesourcery.com>

	* testsuite/27_io/*.cc: Remove explicit reference to 'testsuite/'
	in testcases.  Prepare for the DejaGnu based framework.
	* mkcheck.in: Adjust call to tests_flags.  Don't mmkdir testsuite
	directory -- it is now mkcheck working directory.
	* tests_flags.in: Remove reference to $(top_srcdir).  Use
	${SRC_DIR} instead.
	* Makefile.am (check, check-install): Change mkcheck invocation
	logic.
	* Makefile.in: Regenerate.

2001-01-24  Mark Mitchell  <mark@codesourcery.com>

	* config/os/aix/bits/atomicity.h (__compare_and_swap): Remove.
	(__always_swap): Likewise.

2001-01-23  Chris Demetriou  <cgd@broadcom.com>

	* libsupc++/exception_support.cc (__terminate_func): Remove
	declaration.
	(__terminate_func_ptr): New typedef.
	(__terminate, __terminate_set_func): New extern function
	prototypes.
	(std::terminate): Use __terminate function.
	(std::set_terminate): Use __terminate_set_func function.

2001-01-23  Benjamin Kosnik  <bkoz@redhat.com>

	* configure.target: Just use os_include_dir always.
	* configure.in: Remove calls to GLIBCPP_CHECK_CTYPE_SUPPORT.
	Link atomicity files and ctype files here.
	* configure: Regenerate.
	* acinclude.m4 (GLIBCPP_CHECK_CTYPE_SUPPORT): Remove.
	(GLIBCPP_ENABLE_ATOMICITY): Remove.
	* aclocal.m4: Regenerate.

2001-01-23  Chris Demetriou  <cgd@broadcom.com>

	* configure.in: Place definition of MULTISUBDIR in
	libsupc++/Makefile as is done for src/Makefile.
	* configure: Regenerate.

2001-01-23  Phil Edwards  <pme@sources.redhat.com>

	* acinclude.m4:  Cosmetic changes only.
	* aclocal.m4:  Regenerated.
	* configure:  Regenerated.
	* configure.target:  Update documented list of changed variables.
	* docs/html/install.html:  Fix typo.
	* docs/html/20_util/howto.html:  More notes on auto_ptr.
	* docs/html/27_io/howto.html:  More notes on streabufs.
	* docs/html/faq/index.html:  Add rel_ops problem and mention the
	  DEC as(1) .subsection difficulty.
	* docs/html/faq/index.txt:  Regenerated.

2001-01-23  Mark Mitchell  <mark@codesourcery.com>

	* ainclude.m4 (GLIBCPP_CHEC_MATH_DECLS_AND_LINKAGE_1): New macro.
	(GLIBCPP_CHECK_MATH_SUPPORT): Use it.
	(GLIBCPP_CHECK_TYPE_SUPPORT): Don't autoconf ctype information if
	its already provided in config.target.
	* aclocal.m4: Regenerated.
	* configure: Likewise.
	* configure.target: Set ctype_include_dir for lots of systems.
	* libsupc++/Makefile.am: Explicitly include --tag disable-shared.
	* libsupc++/Makefile.in: Regenerated.

2001-01-23  Gabriel Dos Reis  <gdr@codesourcery.com>

	* testsuite/lib/libstdc++.exp: Improve.  Add support for @xxx#
	keyword capability.

	* testsuite/README: Add comment.

2001-01-21  Phil Edwards  <pme@sources.redhat.com>

	* docs/html/configopts.html:  Update for current status.  Fix HTML.
	* docs/html/install.html:  Update for current status.

2001-01-20  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>

	* testsuite/libstdc++.tests/tests.exp: New file.
	* testsuite/lib/libstdc++.exp: Itou.
	* testsuite/README: Itou.

2001-01-20  Gabriel Dos Reis  <gdr@codesourcery.com>

	* tests_flags.in: Just output the bare minimum to run tests.
	Let's the caller do its own arrangement.

	* mkcheck.in: Rename INC_PATH to INCLUDES.  Adjust flags
	computations.

2001-01-19  Gabriel Dos Reis  <gdr@codesourcery.com>

	* testsuite/17_intro: Prepare testcases for new style DejaGnu
	framework.

2001-01-18  Gabriel Dos Reis  <gdr@codesourcery.com>

	* testsuite/libstdc++.tests, testsuite/lib: New directories.

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

	* mkcheck.in: Construct file names that match $objdir structure.
	* testsuite/27_io/filebuf_members-1.txt: New file.
	* testsuite/27_io/ifstream_members-1.txt: New file.
	* testsuite/27_io/ostream_inserter_char-1.txt: New file.

	* testsuite/27_io/ios_base_members_static.cc (test02): Add test.
	* testsuite/27_io/ios_base_members_static-1.tst: Add expected output.

2001-01-17  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>

	* testsuite/27_io/istream_sentry.cc (test02): Fix.

2001-01-17  Benjamin Kosnik  <bkoz@redhat.com>

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

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

2001-01-16  Mark Mitchell  <mark@codesourcery.com>

	* src/gen-num-limits.cc (INSTANTIATIONS): New macro.
	Use it do explicitly instantiate predicate<T> and value<T> for
	all the builtin Ts.

2001-01-16  Nathan Sidwell  <nathan@codesourcery.com>

	* libsupc++/exception_support.cc (__cp_pop_exception): Fix
	uninitialized thinko in last change.

2001-01-16  Mark Mitchell  <mark@codesourcery.com>

	* libsupc++/exception_support.cc (__cp_pop_exception): Change
	prototype.

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

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

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

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

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

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

2001-01-14  Andreas Jaeger  <aj@suse.de>

	* libio/libio.h: Add test for glibc 2.0.

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

	* config/os/djgpp/bits/*: Fix dates.

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

2001-01-12  Laurynas Biveinis  <lauras@softhome.net>

	* acinclude.m4 (GLIBCPP_CHECK_CTYPE_SUPPORT): check for DJGPP <ctype.h>
	(LIB_AC_PROG_CXX): replace [/\\] with [\\/] to work around older
	bash bug.
	* aclocal.m4: regenerated.
	* configure.target: set os_include_dir to config/os/djgpp under DJGPP.
	* configure: regenerated.
	* config/os/djgpp, config/os/djgpp/bits: new directories.
	* config/os/djgpp/bits/ctype_base.h,
	config/os/djgpp/bits/ctype_inline.h,
	config/os/djgpp/bits/ctype_noninline.h,
	config/os/djgpp/bits/os_defines.h: new files.

2001-01-11   Joseph S. Myers  <jsm28@cam.ac.uk>

	* include/c_std/bits/std_cstdio.h: Undef printf.

2001-01-10  Benjamin Kosnik  <bkoz@redhat.com>

	* src/ios.cc: Fix typo: change cout->wcout.

	* src/Makefile.am (targetincludep): Fix for version-specific-libs.
	* src/Makefile.in: Regenerate.

2001-01-10  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>

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

2001-01-09  Benjamin Kosnik  <bkoz@redhat.com>
			     <kainz@ilm.com>

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

2001-01-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>

	* tests_flags.in (check_directory): Fix typo.

2001-01-09  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>

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

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

	* config/os/bsd/freebsd/bits/ctype_inline.h (is): (Make right
	code path:) Remove magic constants and restructure to handle
	ctype.h bit mask layout changes more gracefully.  (Make fast
	code path:) Use __maskrune (), if available.
	(is): Remove special case for digit and xdigit masks.

2001-01-09  Robert Lipe <robertlipe@usa.net>

	* include/c_std/bits/std_ctime.h: Undefine difftime.

2001-01-09  Alexandre Oliva  <aoliva@redhat.com>

	* src/gen-num-limits.cc (signal_adapter): New template function.
	(signal_handler): Use it, instead of signal.
	(traps<T>): Likewise.  Install SIGTRAP handler too.  Don't
	require both tests to trap to set trap_flag.

2001-01-08  Benjamin Kosnik  <bkoz@redhat.com>

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

2001-01-08  Benjamin Kosnik  <bkoz@redhat.com>

	reported by Chris G. Demetriou <cgd@sibyte.com>
	* configure.in: Change -linux-* to -linux*.
	* configure: Regenerate.

2001-01-05  Benjamin Kosnik  <bkoz@redhat.com>

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

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

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

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

2001-01-03  Benjamin Kosnik  <bkoz@redhat.com>

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

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

2001-01-02  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCPP_ENABLD_CSTDIO): Add in default value.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

	* include/bits/c++config (__GLIBCPP__): Bump version number.

	* ChangeLog: Start new log for year 2001
	* ChangeLog-2000: New file.

	* docs/html/configopts.html: Make sure default values are current,
	add commentary.

2001-01-01  Benjamin Kosnik  <bkoz@fillmore.redhat.com>

	* include/c_std/bits/std_cwchar.h: Same.
	* testsuite/17_intro/header_cwchar.cc: Same.
	* include/c_std/bits/std_ctime.h: Same.
	* testsuite/17_intro/header_ctime.cc: Same.
	* include/c_std/bits/std_cstdlib.h: Same.
	Clean up undefs, make consistent with cwchar and cmath, etc.
	* testsuite/17_intro/header_cstdlib.cc: Same.
	* include/c_std/bits/std_cstdio.h: Same here.
	* testsuite/17_intro/header_cstring.cc: Same.
	* include/c_std/bits/std_cstring.h: Include std_cstddef.h for size_t.
	* testsuite/17_intro/header_cstring.cc: New file. Check for
	size_t in namespace std.

	* include/c_std/bits/std_cwchar.h: Explicit checks for mbstate_t.
	* acconfig.h (HAVE_MBSTATE_T): Add.
	* config.h.in: Regenerate.
	* acinclude.m4(GLIBCPP_CHECK_WCHAR_T_SUPPORT): Always test for
	mbstate_t.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/17_intro/headers_c++.cc: New file.
	* testsuite/17_intro/headers_c.cc: Small changes.

2001-01-01  David Billinghurst <David.Billinghurst@riotinto.com>

	* tests_flags.in: Fix typo in usage.

	* tests_flags.in: Set target specific LIBS for cygwin.

Copyright (C) 2001 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.
