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 simplfy 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.
