1999-05-18  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>

	* docs/17_intro/RELEASE-NOTES: remove outdated
	documentation about numeric_limits. Correct CXXINCLUDE setting
	documentation.

1999-05-18  Phil Edwards  <pedwards@ball.com>

        * docs/{17_intro,18_support,19_diagnostics,20_util,21_strings,
          22_locale,23_containers,24_iterators,25_algorithms,26_numerics,
          27_io}/howto.html:  Created, with some initial entries.
        * docs/faq/index.html:  Fixed some links.
        * docs/faq/index.txt:  Regenerated.

1999-05-18  Benjamin Kosnik  <bkoz@tintin.cygnus.com>

	* bits/c++config.h (__GLIBCPP__): Set version to 19990518.

	* docs/17_intro/RELEASE-NOTES: Update.
	* docs/index.html: Correct link to mailing list help page, update News.
	* docs/faq/index.html: Change fifth to sixth for snapshot.
	
	* src/Makefile.am (myinstallheaders): Bring over Gaby's changes to
 	install $(top_builddir)/bits/std_limits.h into
 	$(myincludepfx)/bits. This was mistakenly omitted from yesterday's
 	Makefile.am changes.
	* *Makefile*: Regenerate using automake.

	* mkcheck (LOG_FILE): Fix filebuf directory oddness.
	* testsuite/27_io/filebuf.cc: Same.

1999-05-18  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>

	* docs/17_intro/CHECKLIST: update.
	* docs/17_intro/TODO: update.

1999-05-17  Phil Edwards  <pedwards@ball.com>

	* docs/{17_intro,18_support,19_diagnostics,20_util,21_strings,
	  22_locale,23_containers,24_iterators,25_algorithms,26_numerics,
	  27_io}/howto.html:  Created, with some initial entries.
	* docs/faq/index.html:  Fixed some links.
	* docs/faq/index.txt:  Regenerated.
	
1999-05-17  Benjamin Kosnik  <bkoz@unhappy.cygnus.com>

	* src/Makefile.am (myinstallheaders): Missed removing missing.h. 
	* Makefile.in*: Regenerate.

1999-05-17  Benjamin Kosnik  <bkoz@happy.cygnus.com>

	* bits/std_streambuf.h: Same.

	* bits/loccore.h (_Bad_use_facet): Remove bits warned about.
	* bits/locfacets.h (std): Same.
	* bits/sstream.tcc: Same.
	* testsuite/27_io/stringstream.cc: Tweak.

	* testsuite/27_io/filebuf.cc: Adjust.
	* testsuite/21_strings/capacity.cc (test01): Add more
	string::reserve tests.

	* bits/c++config.h: Remove broken CCTYPE.
	* bits/std_cctype.h: Tweak, remove de-macroization, enable
	sequestered topper implementation.	
	* bits/std_cwctype.h: Same.
	
	* bits/missing.h: Remove.
	* bits/std_locale.h: Remove missing.h include.
	
	* stl/bits/std_bitset.h (bitset::bitset(string): Tweak to compile.
	
	* src/Makefile.am (headers): Add bits/std_cwctype.h.
	INCLUDES: Add top_builddir. 
	* src/Makefile.in: Regenerate.

	* Makefile.am: Add check and check-install as new targets.
	* testsuite/make_check_libfree++: Move to. . .
	* mkcheck: Here.
	* configure.in: Tweak versions.
	* mknumeric_limits: Set paths correctly.
	
1999-05-17  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
	
	* src/Makefile.in (myinstallheaders): add rule to install
	std_limits.h. 
	
	* bits/slice.h (class slice): don't const-qualify data members
	since the copy and assignment operator is implicitly used. The
	valarray specification is definitively a bad one.
	
	* Makefile.in (generate-limits-sources): fix typo.
	
	* docs/text/TODO: update.
	* docs/text/CHECKLIST: update.

	* bits/gslice.h (gslice): fix bugglet.
	(gslice::gslice): set _M_index_size to 0 whenever given lengths
	(lj) of size zero.

	* src/Makefile.am (libstdc___la_SOURCES): add gen-num-limits.
	* src/Makefile.in (libstdc___la_SOURCES): keep in sync.
	[Note: **/Makefile.in should be generated from the corresponding
	Makefile.am.  The current situation is a litte chaotic.  ]

1999-05-16 Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>

	* mknumeric_limits: tweak.

	* Makefile.in (all): add target generate-limits-sources.
	(generate-limits-sources): make a directory bits/ in top_builddir
	where the generated std_limits.h is put; generate limitsMEMBERs.cc
	directly under $(top_builddir)/src. Remains to put the appropriate
	rule for installing std_limits.h.
	
	* src/Makefile.in (headers): remove bits/std_limits.h to this list.
	(INCLUDES): add -I$(top_builddir) for bits/std_limits.h which is
	now generated at build-time in the build directory
	(libstdc___la_SOURCES): remove limitsMEMBERS.cc form this list
	* src/Makefile.am: reflect changes in src/Makefile.in

1999-05-12  Phil Edwards  <pedwards@ball.com>

	* docs/faq/index.html: Add more entries (5.4,5.5), finish
	all but one empty entry.  Add links for HOWTOs, but no files yet.
	(Corrected HOWTO links are for bkoz's new scheme.)
	* docs/faq/index.txt: Regenerated.
	
1999-05-12  Benjamin Kosnik  <bkoz@happy.cygnus.com>

	* testsuite/17_intro/headers.cc: New file.
	* stl/bits/std_queue.h: Change stl_bvector.h include path.
	* bits/std_cwctype.h: New file.
	
	* testsuite/27_io/filebuf.cc: Need to tweak directory structure.

1999-05-11  Benjamin Kosnik  <bkoz@loony.cygnus.com>

	* stl/bits/stl_config.h (__USE_MALLOC): Change underlying allocator.
	Check __USE_MALLOC before defining specializations containing
	__default_alloc_template.
	* src/stl-inst.cc: Here too.

	* bits/basic_string.h: Change.

	* testsuite/make_check_libfree++: More tweaks.
	* testsuite/21/capacity.cc: New file.
	
	* src/string.cc: Rename to be consistent with other inst files. 
	Rename to string-inst.cc.
	* src/string*.cc: Change include.
	* src/wstring.cc: Rename to wstring-inst.cc.
	* src/wstring*.cc: Ditto.
	* src/Makefile.in: Also here.
	* src/Makefile.am: Ditto.

	* src/traits.cc: Remove.
	* src/wtraits.cc: Same.

	Try a new way of organizing documentation, one with synchronicity
	between testsuites and docs subdirectories, and see who yelps.
	* docs/html: Remove, use chapter and subject specific directories
	instead of forcing things immediately into format of
	documentation.
	* docs/text: Same.
	* docs/image: Same.
	* docs/faq/text, docs/faq/html: Remove, put in the docs/faq
	directory and sort by filename and extension.
	* docs/17_intro, 18_support, 19_diagnostics, 20_util, 21_strings,
	22_locale, 23_containers, 24_iterators, 25_algorithms,
	26_numerics, 27_io: Add.
	* docs/17_intro/*: Populate with all the text files. . .
	* docs/index.html: Construct.
	
	* testsuite/*: Update with same names as the docs subdir.
	* testsuite/results: Where to stash conformance results for the
	different snapshots, so that progress/size/speed issues can be
	tracked over time.
	
1999-05-10  Benjamin Kosnik  <bkoz@loony.cygnus.com>
	
	* src/string.cc: Add _S_copy_chars instantiation, as well as
 	string::binary operators !=, ==, etc.

	* src/Makefile.am (CXXFLAGS): Remove -fvtable-thunks.
	* src/Makefile.in (CXXFLAGS): Same here.
	* testsuite/make_check_libfree++ (CXX_FLAG): And here.
	
1999-05-07  Benjamin Kosnik  <bkoz@cygnus.com>

	* src/string.cc:  Add missing member functions to instantiation list.

1999-05-07  Benjamin Kosnik  <bkoz@cygnus.com>

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

	* bits/string.tcc: Tweak, fix.
	* bits/basic_string.h: Format. Fix reported error with c_str().

	* testsuite/make_check_libfree++: Tweak for shared builds.
	* testsuite/21/operations.cc: New file for testing c_str() etc.

1999-05-06  Benjamin Kosnik  <bkoz@cygnus.com>
            Ryszard Kabatek  <kabatek@chemie.uni-halle.de>

        * stl/bits/stl_vector.h: Fix the code of vector<> for usage with
	an iterator class.  Delineate pointer versus iterator differences
	in implementation.
	* 23/vector_capacity.cc: New file, tests for above.
	
1999-05-06 Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>

	* mknumeric_limits: Fix typo. 'unsigned lont' should read
	'unsigned long'.
	* src/Makefile.am (libstdc___la_SOURCES): add limitsMEMBERS.cc,
	generated by mknumeric_limits to the list. Now std_limits.h is
	basically working. 
	* src/Makefile.in (generate-numeric-limits): new target to handle
	automatic generation of bits/std_limits.h and src/limitsMEMBERS.cc.
	(all): add target generate-numeric-limits.
	(libstdc___la_OBJECTS): add limitsMEMBERS.lo
	(libstdc___la_SOURCES): add limitsMEMBERS.cc

1999-05-05  Benjamin Kosnik  <bkoz@cygnus.com>

	Irix build issues.
	* bits/c++config.h (_G_USE_CTYPE_ISBIT): Defines new macro for
	mask values in ctype_base. Move hacks for _ISBit to locfacets.h.
	* bits/locfacts.h: Here.

1999-05-05  Benjamin Kosnik  <bkoz@cygnus.com>
	    Ulrich Drepper <drepper@cygnus.com> 

	Solaris build issues.
	* bits/c++config.h: Define new macros, _G_USE_STRTOF and
 	_G_USE_STRTOLD.
	
	* bits/locfacets.tcc (num_get::do_get): Tweak long double and
 	float overloads to use the above macros. Account for the lack of
 	strtold on some systems, and revert back to using sscanf.

1999-05-04  Ryszard Kabatek <kabatek@chemie.uni-halle.de>

        * bits/locfacets.tcc (num_get::do_get): Check the errno variable.
	Use strtoul/strtoull for unsigned types.  Check the ranges for
	short/unsigned short and if necessary for int/unsigned int.

1999-05-04  Benjamin Kosnik  <bkoz@cygnus.com>

	* src/gen-num-limits.cc (round_style): Need to use mknumericlimits
	to generate bits/std_limits.h now, as the SGI std_limits.h is
	being depricated. Not done, but should be done immediately: need
	to make sure this script is run as part of the configuration
	process, because without it "make" in a configured build directory
	will fail. Also tweaked: added a space for float_round_style, and
	used static_cast of zero to default-initialize, which should be ok
	according to the standard. (see 8.5 p5 and 20.1.3).
	* mknumeric_limits (OUT_C): Need this for x86 long
	double extensions.
	
	* bits/basic_file.h: Include libio.h, not libioP.h.
	* src/basic_file.cc: And add libioP.h include here, so that
	_IO_init, et. al are well-declared.

	* testsuite/make_check_libfree++ (LIB_PATH): Test installed
	headers, not source directory headers.

	* src/Makefile.am (headers): Add stl_range_errors.h, also adjust
	for ext/*.  Also add basic_file.h.
	* src/Makefile.in (headers): Same.
	
	* bits/std_string.h: Reduce dependencies for faster
	pre-processing. Move istream and ostream specific defines into
	istream.tcc and ostream.tcc respectively.
	* bits/string.tcc: And here.
	* bits/basic_string.h: Move getline inline out-of-line, and to
	istream.tcc.
	* bits/istream.tcc: Move string::getline and operator>> here.
	* bits/ostream.tcc: And here too.

	* bits/utility.h: Remove, as clashes with a standard header. Put
	__OUTOFRANGE and __LENGTHERROR macros into string.tcc for the time
	being, until this can be combined with SGI's approach.
	* bits/string.tcc: Add macros, as above.
	* bits/loccore.h: Add _Count_ones defines.
	* bits/std_string.h: And here too.
	* bits/std_locale.h: And here.
	* bits/std_ios.h: Take out include here.
	* src/Makefile.am (headers): Remove utility.h
	* src/Makefile.in (headers): Remove utility.h

	* stl/bits/*: Update to SGI STL 3.20.
	* stl/ext/pthread_alloc: Delete this file.
	
1999-05-04 Phil Edwards <pedwards@ball.com>

	* docs/faq/html/index.html: Add more entries
	* docs/faq/html/index.txt: regenerated.

1999-05-04 Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>

	* src/gen-num-limits.cc (DO_DEFINE_MIN_MAX): fix typo.

1999-04-29  Benjamin Kosnik  <bkoz@haight.cygnus.com>

	* bits/locfacets.tcc (num_get::do_get): Re-implement, with input
	from Ulrich and Nathan. Remove extraneous string class usage,
	tweak, clean, simplify and consolidate with a eye towards removing
	duplcate code. Use strto[l, ll, f, d, ld] instead of sscanf.
	Not done: dealing with leading zeros, wchar_t work.
	* bits/locfacets.h: And here too.

	* doc: Remove.
	
1999-04-29  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>

	* docs/: add a FAQ.
 	* docs/faq/: New directory.
	* docs/faq/html/: Likewise.
	* docs/faq/text/: Likewise.
	* docs/faq/html/index.html: New file.
	* docs/faq/html/index.txt: Likewise. Generated from 
	docs/faq/html/index.html by lynx.

1999-04-28  Benjamin Kosnik  <bkoz@happy.cygnus.com>
	    Ryszard Kabatek and Branko Cibej 

	* bits/locfacets.tcc: Modify.

1999-04-27  Benjamin Kosnik  <bkoz@happy.cygnus.com>

	* bits/sbuf_iter.h: Clean, fix istreambuf_iterator, make
	conformant to 14882, wrap non-standard extensions with
	_G_RESOLVE_LIB_DEFECTS, remove detritus and cruft, rennovate.
	* bits/locfacets.tcc (num_get::do_get(bool)): Return correct iterator.
	
	* testsuite/27/istringstream_formatted.cc: Add tests.
	
	* bits/locfacets.h: Remove cruft from _Format_cache, continue
	commenting, simplify.
	* bits/locfacets.tcc: Same.

	1999-04-27  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>
        * bits/locfacets.tcc (num_get::do_get):
        Fix the sscanf format parameter 
        for long long 'll' (as in C9X) instead of 'l'.
        Fix the order of sscanf format parameters: "%dl" --> "%ld".
        Change the type of the local variable '__conv' from 'string'
        to 'const char*' and adapt the change.
	
1999-04-26  Benjamin Kosnik  <bkoz@happy.cygnus.com>

	* bits/locfacets.h: Document _Format_cache, and name data members
 	after the corresponding functions in numpunct. For instance:
 	_M_grsep -> _M_thousands_sep, and _M_decsep -> _M_decimal_point.
	Break apart _M_boolnames{2] into _M_truename and _M_falsename.
	* bits/locfacets.tcc: Same.

	* bits/locfacets.h (num_get::_M_extract): Don't allow groupings to
 	stop parsing--store for later analysis.
	* testsuite/27/istringstream_formatted.cc: Add cases.
	
1999-04-25  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>

	* bits/valarray_meta.h: tweak.
	(_UnFunBase, _BinFunBase, _BinFunBase1, _BinFunBase2, _BinBase1,
	_BinFunBase2): rename typedef-name _Tp to _Vt to keep the compiler
	happy -- boggus warning.
	* bits/std_valarray.h: Fix.
	(valarray<T>::shift): Fix. Update comment.
	(valarray<T>::cshift): Fix. 

1999-04-23  Benjamin Kosnik  <bkoz@cygnus.com>
	
	* testsuite/27filebuf-2.txt: Delete.
	* testsuite/27/filebuf.cc: Put output files directly into the
	correct subdirectory (27).

        Alexandre Petit-Bianco <apbianco@cygnus.com>
	* testsuite/make_check_libfree++: Check generated (*.txt) file
	against stored results file (*.tst).

1999-04-22  Benjamin Kosnik  <bkoz@nabi.net>

	* bits/locfacets.tcc: Fix.

	* bits/fstream.tcc (filebuf::seekoff): Output current out pointer.
	(filebuf::overflow): Simplify.
	(filebuf::xsputn): Correctly handle indeterminate state.

	* testsuite/27/istringstream_formatted.cc: Tweak.
	* testsuite/27/filebuf.cc: Tweak.
	* testsuite/27/filebuf-3.tst: Correct: this is the canonical
	results file, please use this in the future to guarantee filebuf
	positioning accuracy.
	* testsuite/27/filebuf-2.tst: Same.
	
1999-04-21  Benjamin Kosnik  <bkoz@cygnus.com>

	* bits/fstream.tcc (filebuf::xsputn): Add.
	* bits/std_fstream.h: Declare.
	
	* src/basic_file.cc (__basic_file::open): Add O_CREAT to open
	calls using ios_base::trunc.

	* bits/sstream.tcc (streambuf::overflow): Fix crasher.
	
	* testsuite/make_check_libfree++ (LOG_FILE): Ugh. Another fix.
	* testsuite/27/27stringstream.cc: Same.
	* testsuite/27/27stringbuf.cc: More tweaks.
	* testsuite/27/27filebuf-2.txt: Remove.

	* testsuite/27/27filebuf-1.tst: Append, to force byte size over
	BUFSIZE so that overflows/underflow can be tested with default
	buffer setting.  
	* testsuite/27/27filebuf-1.tst: Add.

	* testsuite/*/*: Remove pre-pended chapter names, as they
	duplicate the chapter info contained in the enclosing directory
	anyway.
	
1999-04-20  Benjamin Kosnik  <bkoz@cygnus.com>

	* bits/streambuf.tcc (streambuf::xsputn): Re-implement to conform
	to sputc conditions.

	* bits/ios_base.h: Define here.
	* src/ios.cc (ios_base::_M_clear): Remove hack.
	* bits/basic_ios.h: Fix rdstate().

	* bits/sstream.tcc (streambuf::seekoff): Fix.
	* bits/fstream.tcc (filebuf::seekoff): Tweak comments.

	* testsuite/make_check_libfree++ (LOG_FILE): More c-c-c-changes.
	* testsuite/24/24iterator.cc: Add/Fixes for DEBUG_ASSERT.
	* testsuite/27/27stringstream.cc: Same. 
	* testsuite/27/27stringbuf.cc: Same.
	* testsuite/27/27istringstream_formatted.cc: Same.
	* testsuite/27/27filebuf.cc: Same.
	
	* bits/locfacets.h: Remove specializations for messages<char> and
	messages<wchar_t> ctors. Same for moneypunct. Not required, not used.
	* src/locale.cc: Remove definitions for above.
	* src/misc-inst.cc: Revert, take out iomanip.h include. 
	* bits/std_iomanip.h: Tweak, format.
	
1999-04-19  Benjamin Kosnik  <bkoz@cygnus.com>

	* bits/loccore.h: Format, move inline.
	* bits/locfacets.tcc: Same.
	* bits/locfacets.h: Same.

	Ulrich Drepper  <drepper@cygnus.com>
	* aclocal.m4: Re-generate.
	* configure, configure.in: Same.
	* m4/lc_messages.m4: New file.

1999-04-18  Benjamin Kosnik  <bkoz@cygnus.com>

	* bits/std_ostream.h: Fix typedef for wchar_t instantiations.
	* bits/sstream.tcc: Tweak.

	* std/iostream: Put __ioinit inside macro guards.
	
	* src/stlinst.cc: Delete and move to . . .
	* src/stl-inst.cc: New file, plus wrapping in namespace std.
	* src/Makefile.in: Change.
	* src/Makefile.am: Same.
	* src/misc-inst.cc: Add istringstream/ostringstream instantiations.

	* testsuite/make_check_libfree++: Efficiently format for minimal
	space. Enforce stricter execution tests by enabling
	-DDEBUG_ASSERT.
	
1999-04-16  Benjamin Kosnik  <bkoz@cygnus.com>

	* docs/text/RELEASE-NOTES: Fix include typo.

	* src/Makefile.am (headers): Add istream.tcc. 
	* src/Makefile.in (headers): Add istream.tcc. 

	* ltconfig, ltmain.sh, libtool: Update to libtool-1.2g.
	
1999-04-16  Benjamin Kosnik  <bkoz@cygnus.com>

	* bits/locfacets.tcc (num_get::do_get(long)): Finish roughing in.
	* bits/locfacets.h (num_get::_M_extract): New functin:
	consolidate logic for do_get(...) members.

	* bits/sbuf_iter.h (istreambuf_iterator::operator++()): Fix.
	* testsuite/27/27istringstream_formatted.cc: Add.

1999-04-16  Martin v. Loewis  <martin@mira.isdn.cs.tu-berlin.de>

	* src/basic_file.cc (__basic_file::open): Fix thinko in
	_G_HAVE_IO_FILE_OPEN bits.
	* bits/std_istream.h (sentry::sentry(istream, bool)): Fix isspace bug.
	* bits/std_cmath.h: Add stdlib.h include for ldiv_t.
        * src/complex.cc (FCT): Qualify all functions with global namespace.
        * src/locale.cc: Don't qualify memcpy and setlocale.
        * src/stdexcept.cc (__out_of_range): Qualify out_of_range with std::.
        (__length_error): Likewise, for length_error.
        * src/stlinst.cc: Qualify instantiations with std::.

1999-04-15   Benjamin Kosnik  <bkoz@cygnus.com>

	* C++STYLE: Add ChangeLog guidelines for member functions.

	* doc/* : Delete.  
	* BADNAMES, BUGS, C++STYLE, CHECKLIST, COPYING,
	DESIGN, HEADER_POLICY, PROBLEMS, RELEASE-NOTES, TODO: Moved into
	docs/text and made less strident.
	
	* bits/fstream.tcc: Change non-standard ctor to match Sun's sematics.
	* bits/std_fstream.h: Same.
	* src/ios.cc: Same.

	* bits/locfacets.h: Touch. 
	
1999-04-15  Ulrich Drepper  <drepper@cygnus.com>

	* math/cexp.c (cexp): Use NAN instead of nan("").
	Reported by joel reed <joelreed@yahoo.com>.

	* libio/libioP.h: Define _IO_seek_fpos_t and _IO_seek_off_t based on
	_G_IO_IO_FILE_VERSION.  Use these types in the prototypes.
	* libio/fileops.c: Use _IO_seek_fpos_t and _IO_seek_off_t types
	instead of #if cascades.
	* libio/genops.c: Likewise.
	* libio/ioseekoff.c: Likewise.
	* libio/ioseekpos.c: Likewise.
	* libio/strops.c: Likewise.
	Patch by Chip Salzenberg <chip@perlsupport.com>.

1999-04-15  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>

	* docs: New directory.
	* docs/html: Likewise.
	* docs/text: Likewise.
	* docs/image: Likewise.

	* bits/std_cmath.h: Add new functions.
	(abs): overload for long and double.
	(div): overload for long.

	* bits/valarray_array.h: Fix.
	* bits/gslice.h: Adjust friend.
	* bits/slice_array.h: likewise.
	* bits/valarray_meta.h: likewise.

1999-04-13   Benjamin Kosnik  <bkoz@tintin.cygnus.com>

	* bits/locfacets.h: More changes, for num_get for insertion
	operators for integral types. Comment fields in _Format_cache.
	* bits/locfacets.tcc: And here too: add preliminary long version.
	* testsuite/27/27istringstream_formatted.cc: Add cases.

1999-04-13   Mark Elbrecht  <snowball3@usa.net>

	* configure.in: Add locale.h to AC_CHECK_HEADERS argument. Call
	AC_LC_MESSAGES macro.
	* aclocal.m4 (AC_LC_MESSAGES): New. Determines if a target
	supports LC_MESSAGES.
	* config.h.in: Add entry for HAVE_LC_MESSAGES.
	* src/locale.cc (locale::_S_normalize_category): Use the
	HAVE_LC_MESSAGES macro to check for LC_MESSAGES support instead of
	_G_NO_CLOCALE_HAS_MESSAGES.
	* aclocal.m4 (AM_PROG_LD): For DOS style paths, simplify test to
	'?:' from '?:\\' so any path beginning with a drive name matches.

1999-04-12   Mark Elbrecht  <snowball3@usa.net>

	* src/basic_file.cc(sys_open) [O_BINARY]: Declare __testb.

1999-04-12   Benjamin Kosnik  <bkoz@tintin.cygnus.com>

	* bits/locfacets.h: Tweak.
	* bits/locfacets.tcc(do_get): Clean/fix bool method.

	* testsuite/21/21nonmember.cc: Same.
	* testsuite/21/21compare.cc: Fix license.
	* testsuite/27/27istringstream_formatted.cc: New file.

1999-04-12  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>

	* bits/valarray_meta.h: _BinFunBase1, _BinFunBase2, _BinBase1,
	_BinBase2: new template classes; put in there to work around a
	compiler limitation. The whole valarray architecture is now
	working.

1999-04-08  Benjamin Kosnik  <bkoz@haight.constant.com>

	* bits/locfacets.tcc: Fix, format.
	* bits/locfacets.h: Fix.
	* src/locale.cc: Same, plus format.

	* bits/basic_string.h: Re-add definition here.
	* src/string.cc: Take out.

1999-04-08  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>

	* bits/std_valarray.h: tweak.
	* bits/valarray_array.h tweak. use _Expr.
	* bits/slice_array.h: likewise.
	* bits/gslice_array.h: likewise.
	* bits/mask_array.h: likewise.
	* bits/indirect_array.h: likewise.
	* bits/valarray_meta.h: tweak.
	_UnFunBase, _UnFunClos, _BinFunBase, _FunBase, _ValFunClos,
	_RefFunClos, _UnBase, _UnClos, _BinBase, _BinClos, _SClos, _GClos,
	_IClos: new template classes.
	_Meta: renamed to _Expr. Made template with args.
	_Constant: made template with two args.

1999-04-05  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>

	* bits/valarray_array.h: tweak.

1999-04-06  Benjamin Kosnik  <bkoz@cygnus.com>

	* bits/basic_string.h: Whoops--fix blip.

1999-04-06  Benjamin Kosnik  <bkoz@cygnus.com>

	Update to SGI STL 3.13
	* bits/basic_string.h: Add __get_c_string definition.
	* stl/bits/stl_range_errors.h: New file.
	* stl/bits/std_bvector.h: Same.
	* stl/bits/*: Update.

1999-04-04 1999  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>

	* bits/slice_array.h: tweak.
	* bits/gslice_array.h: tweak.
	* bits/mask_array.h: tweak.
	* bits/indirect_array.h: tweak.
	* bits/valarray_array.h: tweak.
	(__valarray_copy): replace copy with memcpy.
	* bits/std_valarray.h: use __valarray_copy whenever possible.
	use __valarray_fill instead of fill.

1999-04-02  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>

	* src/gen-num-limits.cc: new file
	* mknumeric_limits: Ditto.

1999-03-30  Benjamin Kosnik  <bkoz@cygnus.com>

	* bits/locfacets.tcc: Do a stub version of num_get for short, int,
	and long types.
	* bits/locfacets.h: Add num_get::get methods overloaded for int
	and short, to resolve ambiguous overloads in istream insertion
	operators.

1999-03-30  Benjamin Kosnik  <bkoz@cygnus.com>

	* bits/std_istream.h: Fix.
	* bits/istream.tcc: Fix.

1999-03-30  Philip Martin  <pm@corris.dircon.co.uk>

	* testsuite/24/24iterator.cc: fix ++/-- tests

1999-03-29  Benjamin Kosnik  <bkoz@cygnus.com>

	* bits/std_ostream.h: Looks like this, actually: Fix up eh-isms.
	* bits/ostream.tcc: Same.

	* bits/std_istream.h: Bring over ostream changes, implement member
	functions. Baseline.
	* bits/istream.tcc: New file.

1999-03-26  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>

	* bits/gslice.h (class gslice): fix friends template.

1999-03-23  Benjamin Kosnik  <bkoz@cygnus.com>

	* bits/std_ostream.h: Fix sentry objects, implement seekp, tellp,
	delete cruft, etc.
	* bits/ostream.tcc: Same.

	* bits/std_istream.h: Minor tweaks.

1999-03-18  Benjamin Kosnik  <bkoz@cygnus.com>

	* src/locale-inst.cc: Remove duplicate instantiations.
	* bits/locfacets.tcc: Tweak definitions of static member.

1999-03-18  Benjamin Kosnik  <bkoz@cygnus.com>

	* bits/std_fstream.h: Format: prepend "__" in front of
	non-standard typedefs.
	* bits/fstream.tcc: Match.
	* bits/std_streambuf.h: Format: prepend "__" in front of
	non-standard typedefs.

	* bits/sstream.tcc: Match.
	* bits/std_istream.h: Format.
	* src/locale-inst.cc: Add num_get instantiations.

	* bits/std_sstream.h: Fix crash in stringstreams. Remove member
	_M_sb, a basic_stringbuf object, and use the basic_ios pointer
	_M_streambuf instead. Make initializations sane. Fix
	allocation/deallocation of _M_streambuf.
	* bits/std_ostream.h: Fix initialization code.
	(ctor): Eliminate redundant this->init(), let base class initialize.
	(default ctor): New. Assume base classes already initialzed.
	* bits/std_istream.h: Parallel work to ostream.
	(ctor): Eliminate redundant this->init(), let base class initialize.
	(default ctor): New. Assume base classes already initialzed.
	Fix initialization of basic_iostream.

	* bits/std_fstream.h: While we're at it, make initializations sane
	here too. Now matches sstream.h.

	* bits/string.tcc: Fix crash in basic_string::compare.
	* bits/basic_string.h: And here.
	* bits/c++config.h: Add comment about _G_USE_EXCEPTIONS.

	* testsuite/make_check_libfree++: Check shared as well.
	* testsuite/27/27stringstream.cc: Add bits.
	* testsuite/27/27boolfmt.cc: Add bits.
	* testsuite/27/27octfmt.cc: Add bits.

1999-03-17  Benjamin Kosnik  <bkoz@happy.cygnus.com>

	* configure.in (USE_LONG_DOUBLE): signbitl link error.

	* bits/locfacets.h: Fix errors that cause build problems
	with current egcs (template parameters have class scope).
	* bits/locfacets.tcc: Same.
	* src/locale-inst.cc: Same, clean.
	* src/misc-inst.cc: Same, clean.

1999-03-17  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>

	* stl/bits/std_memory.h:  Modify auto_ptr::reset to reflect the
	standard. Re-apply this previous patch.

1999-03-17  Philip Martin  <pm@corris.dircon.co.uk>

	* bits/basic_string.h: Use __normal_iterator<> for iterators.
	* bits/std_sstream.h: Support __normal_iterator<> iterators.
	* bits/string.tcc: Ditto.
	* src/misc-inst.cc: Ditto.
	* src/locale-inst.cc: Ditto.
	* stl/bits/stl_iterator.h: Add __normal_iterator<>.
	* stl/bits/stl_vector.h: Use __normal_iterator<> for iterators.
	* testsuite/24/24iterator.cc: Add test cases for basic_string and
	vector iterators.

1999-03-16  Benjamin Kosnik  <bkoz@cygnus.com>

	* bits/locfacets.tcc: Remove macro hack.
	* bits/locfacets.h: Tweaks.
	* src/misc-inst.cc: Weed out locale-related instantiations.
	* src/locale-inst.cc: Same.

	* RELEASE-NOTES: Make more changes.
	* bits/c++config.h: Bump version number.

	* testsuite/make_check_libfree++: Collect diagnostics.

	* bits/std_ostream.h: Fix ostream initialization/destruction
	problem, related to dtor cleanup and new cached facets, agggggggh.
	* bits/ostream.tcc: Tweak.
	* bits/locfacets.h: Remove all friends of iostream classes.
	* bits/ios_base.h: Same.
	* bits/streambuf.tcc: Tweak.
	* bits/std_streambuf.h: Tweak.
	* bits/std_fstream.h: Tweak.
	* bits/fstream.tcc: Tweak.
	* src/stdstreams.cc: Tweak.
	* src/ios.cc: Close streams.

	* math/Makefile.in: Add missing files for shared link errors.
	* math/Makefile.am: Same.

1999-03-15  Benjamin Kosnik  <bkoz@cygnus.com>

	* src/locale-inst.cc: More wchar_t instantiations.
	* src/misc-inst.cc: Missed a few bits.
	* testsuite/make_check_libfree++: Add static and shared runs.
	* src/ios.cc: Add clarity to ios_base::Init::~Init().

1999-03-15  Benjamin Kosnik  <bkoz@cygnus.com>

	* bits/std_ostream.h: Format, expunge, simplify. Add cached
	facets. Resolve link errors.
	* bits/ostream.tcc: Same.
	* src/misc-inst.cc: Add ostream, wostream instantiations.
	* src/Makefile.am: Add missing bits for stdstreams.cc.
	* src/Makefile.in: Same.
	* bits/std_iosfwd.h: Format.
	* bits/locfacets.h (num_put): Add basic_ostream as a friend to
	num_put so that cached _M_fnumput pointer can be deleted in
	basic_ostream's dtor. Now everybody plays nice.

1999-03-12  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>

	* bits/gslice.h (class gslice): Make friends valarray,
	gslice_array and _GliceExpression.

1999-03-11  Benjamin Kosnik  <bkoz@cygnus.com>

	* RELEASE-NOTES: Update.
	* src/ios.cc: Use do proper init.
	* bits/std_streambuf.h: Tweak.
	* bits/std_iostream.h: Take out static member.
	* std/iostream: Put here.
	* bits/std_ostream.h: Non-default ctor shouldn't smash _M_streambuf.
	* bits/std_istream.h: Ditto.
	* bits/basic_ios.h: Format.
	* bits/ostream.tcc(write): Fix.
	* bits/fstream.tcc: Fix stdstreams ctor to do a proper
	initialization of the fstream class.
	* src/stdstreams.cc: I'm baaaaaaaack.

1999-03-10  Benjamin Kosnik  <bkoz@rhino.cygnus.com>

	* bits/ios_base.h: Correct comments. Add ios_base::init()
	functionality. Format, tweak, expunge, clean, bathe, and hang to dry.
	* src/misc-inst.cc: Add instantiations here.
	* src/ios.cc: Clean.
	* bits/std_iostream.h: Add wrappers, global ios_base::Init object.
	* src/stdstreams.cc: Delete this file, as now unnecessary.
	* bits/fstream.tcc: Add missing initialization bits for ctor.
	* src/Makefile.am (libstdc___la_SOURCES): Delete here as well.
	* src/Makefile.in (libstdc___la_OBJECTS): And here.

	* bits/streambuf.tcc: Tweak.
	* bits/sstream.tcc: Here too.

	* bits/fstream.tcc: And change definition as well.
	* bits/std_fstream.h: Change ctor.
	* src/basic_file.cc (sys_open): Add call that opens a specific fileno.
	* bits/basic_file.h: Add declarations.

	* testsuite/27/27hello.cc: New file.

	* bits/std_ostream.h: Move flush() inline.
	* bits/ostream.tcc: From here.

	* bits/char_traits.h: Add include of fpos.h for streamoff/streampos.
	* bits/std_ios.h: Change include libio to only when necessary.
	* bits/fpos.h: Like here.
	* ios_base.h: And here.

	* bits/locfacets.h: Change _Iostate to _Ios_Iostate.
	* bits/locfacets.tcc: Same.
	* bits/std_locale.h: Include std_ios.h not std_iosfwd.h.
	* bits/std_iosfwd.h: Move _Ios_Iostate to ios_base.h

1999-03-09  Benjamin Kosnik  <bkoz@rhino.cygnus.com>

	* bits/basic_ios.h: Change _M_ctype to _M_fctype.

	* bits/std_streambuf.h: Clean, tweak.
	* bits/std_fstream.h: Same.
	* bits/std_sstream.h: Same.
	* bits/streambuf.tcc: Move most member functions out-of-line.
	* bits/fstream.tcc: Same.
	* bits/streambuf.tcc: Same.

	* bits/basic_file.h(filepos_cur): Set correctly.
	(filepos_beg): Same.
	(seekpos): Change to __c_streampos.
	* src/basic_file.cc (std): Change to __c_streampos.

	* testsuite/27/27filebuf.cc: Round one is finished.
	* testsuite/27/27filebuf-2.tst: New file, final output should match.
	* testsuite/27/27filebuf-3.tst: Same.

1999-03-08  Benjamin Kosnik  <bkoz@rhino.cygnus.com>

	* bits/basic_file.h: Fix typo, add comments about what to expect
	from the various member functions in __basic_file.

	* bits/std_fstream.h: Re-do sync/underflow to work
	together. Change from sys_read to xsgetn and from sys_write to
	xsputn. As it should have been from the beginning. . .

1999-03-06  Benjamin Kosnik  <bkoz@haight.constant.com>

	* bits/c++config.h (__GLIBCPP__): Add versioning macro.

	* bits/basic_file.h(file_beg): New function.
	(file_cur): Ditto.

	* testsuite/27/27filebuf.cc: Test in, out, in | out.
	* bits/std_fstream.h: More _M_mode refinements.
	(synch): Add bits for out mode only.
	* bits/std_streambuf.h(xsputn): Correct for filebufs.
	* bits/std_sstream.h: Ditto.

1999-03-03  Benjamin Kosnik  <bkoz@cygnus.com>

	* bits/std_fstream.h: Fix _M_mode AND with ios_base::openmode.
	* testsuite/27/27filebuf.cc: Modify.
	* bits/c++config.h: Fix.

1999-03-02  Benjamin Kosnik  <bkoz@tintin.cygnus.com>

	* bits/c++config.h: New macro, _G_RESOLVE_LIB_DEFECTS, used to put
	code in place that diverges from the final standard, but has been
	brought up on the library mailing list.

	* bits/std_fstream.h(underflow): Position all three internal
	buffer pointers at the same initial position. Re-implement with
	basic_filebuf abstraction.
	(overflow): Ditto.
	(seekoff): Ditto.
	(seekpos): Ditto.
	* bits/std_sstream.h: Move _M_mode down into base class
	basic_streambuf.
	* bits/sstream.tcc: Ditto.
	* bits/std_streambuf.h: Ditto.

	* testsuite/27/27filebuf.cc: Tweak.

1999-02-27  Benjamin Kosnik  <bkoz@slap-happy.cygnus.com>

	* bits/std_sstream.h: Ditto.
	* bits/std_fstream.h: Fix blip.

1999-02-26  Benjamin Kosnik  <bkoz@happy.cygnus.com>

	* C++STYLE: Add cases.
	* bits/std_fstream.h: Format.
	* bits/std_streambuf.h: Ditto.
	* bits/std_sstream.h: Ditto.

	* src/basic_file.cc(sys_seek): Fix stack delirium, by keeping
	return type for _IO_file_seek and __basic_file::seek the same size.
	* bits/basic_file.h: Ditto.

1999-02-26  Benjamin Kosnik  <bkoz@happy.cygnus.com>

	* bits/fstream.tcc: Add include guards.
	* src/misc-inst.cc: Add instantiations for shared libes.
	* src/locale-inst.cc: Add instantiaions for use_facet.
	* bits/loccore.h: Remove specialization foward decls for
	use_facet<ctype>: perhaps add the whole lot of them later on.
	* bits/std_fstream.h: Fix.
	* bits/locfacets.h: Ditto.
	* src/stdstreams.cc: Disable wide streams for now.

	* src/Makefile.am (CXXFLAGS): Change up.
	* src/Makefile.in (CXXFLAGS): Ditto.

1999-02-25  Benjamin Kosnik  <bkoz@happy.cygnus.com>

	* src/basic_file.cc: Change to ios_base::seekdir from int.
	* bits/basic_file.h: Ditto.
	* bits/locfacets.h : Fix blip with new guard macros.

1999-02-25  Benjamin Kosnik  <bkoz@cygnus.com>

	* stl/bits/stl_config.h (__STL_USE_STD_ALLOCATORS): Minor tweaking.
	* bits/c++config.h: Clean. Remove _G_NO_STREAMBUF_ITERATORS and
	_G_USE_NAMESPACE.
	* amm1/locale: Remove unused defines.
	* generic/locale: Ditto.
	* src/ios.cc: Ditto.
	* src/locale.cc: Ditto.
	* src/locale-inst.cc: Ditto.
	* src/localename.cc: Ditto.
	* src/stdstreams.cc: And here.

	* bits/c++config.h (_G_USE_WCHAR_T): Fix.
	* bits/loccore.h: Simplify, clean, add wchar_t guards.
	* bits/loccore.tcc: Ditto.
	* bits/locfacets.h: Ditto.
	* src/locale-inst.cc: Ditto.
	* bits/locfacets.tcc: Add do_put long long here.

1999-02-24  Benjamin Kosnik  <bkoz@cygnus.com>

	* bits/std_streambuf.h: Add cached ctype facet, _M_ctype.
	* bits/basic_ios.h: Clean. Replace _M_strbuf with
	_M_streambuf. Use cached _M_cvt in basic_streambuf.
	* bits/std_istream.h: Replace _M_strbuf with _M_streambuf.
	* bits/std_fstream.h: Tweak.

	* bits/char_traits.h: Remove fpos definitions from here. . .
	* bits/fpos.h: New file, put them here. Eventually, this may allow
	the severing of char_traits and fpos dependancies.
	* src/Makefile.in: Add fpos.h.
	* src/Makefile.am: Ditto.
	* bits/std_string.h: Add fpos.h include here.
	* bits/std_ios.h: And here.

	* bits/std_streambuf.h: Change _M_init to _M_initialized.
	* bits/ios_base.h: Remove cstdio include.
	* bits/std_ios.h: ... Place here.

1999-02-23  Benjamin Kosnik  <bkoz@loony.cygnus.com>

	* src/Makefile.in (CXXFLAGS): Re-add -fvtable-thunks.
	* src/Makefile.am (CXXFLAGS): Re-add -fvtable-thunks.

	* bits/basic_file.h: Comment, adjust arguments.
	* src/basic_file.cc: Ditto.

	* bits/std_fstream.h(seekoff): Error is of fpos type, not integral
	type: check and convert accordingly. Re-interpet "resultant stream
	position" to indicate external byte sequence location, not internal
	buffer info.

1999-02-22  Benjamin Kosnik  <bkoz@loony.cygnus.com>

	* mkcshadow: And change copyright here.
	* src/Makefile.am (CXXFLAGS): Add -g -O2. Add new header
	dependencies for stl_pthread_alloc.h, pthread_allocimpl.h,
	stl_thread.h, and stl_iterator_base.h.
	* src/Makefile.in (CXXFLAGS): Ditto.
	* stl/backward/pthread_alloc.h: Remove.

1999-02-19  Benjamin Kosnik  <bkoz@loony.cygnus.com>

	* bits/std_streambuf.h (sungetc): Use standard defs for putback
	position.
	* bits/std_fstream.h (pbackfail): Correct.
	(sungetc): Test.
	(seekoff): Implement.
	(seekpos): Re-do.
	* testsuite/27/27filebuf.cc: Add test cases.

1999-02-18  Benjamin Kosnik  <bkoz@loony.cygnus.com>

	* bits/std_fstream.h: Go with basic_file's interfaces for dealing
	with the external buffers, and stop mucking around with setting
	and re-setting the external buf's pointers. Aka, clarity and
	simplicity rule the day.
	* src/locale.cc: Use memcpy in codecvt::do_in and codecvt::do_out.
	Remove partial result and support code.

1999-02-18  Ulrich Drepper  <drepper@cygnus.com>

	* configure.in: Add hypot, hypotf, atan2f, expf, and copysignf to
	list of function which have to be replaced.
	Remove expf from list of functions to test for.
	Define USE_LONG_DOUBLE in case the libm has partial support for long
	doubles.
	* Makefile.in: Regenerated.
	* config.h.in: Likewise.
	* configure: Likewise.
	* libio/Makefile.am (LIBIO_SRCS): Add missing backslash.
	* libio/Makefile.in: Regenerated.
	* src/Makefile.in: Regenerated.
	* string/Makefile.in: Regenerated.
	* math/Makefile.am (EXTRA_DIST): Add hypot.c, hypotf.c, hypotl.c,
	atan2f.c, expf.c, and $(EXTRA_yes).
	(EXTRA_yes): Add signbitl.c mycabsl.c.
	(libmath_la_LIBADD): Add $(EXTRA_$(USE_LONG_DOUBLE)).
	(libmath_la_SOURCES): remove long double versions.
	* math/Makefile.in: Regnerated.
	* math/atan2f.c: New file.
	* math/copysignf.c: New file.
	* math/expf.c: New file.
	* math/hypot.c: New file.
	* math/hypotf.c: New file.
	* math/hypotl.c: New file.
	* math/cargf.c: Use correct function and macro names.
	* math/ccos.c: Likewise.
	* math/ccosh.c: Likewise.
	* math/ccoshf.c: Likewise.
	* math/ccoshl.c: Likewise.
	* math/cexp.c: Likewise.
	* math/cexpf.c: Likewise.
	* math/cexpl.c: Likewise.
	* math/clog.c: Likewise.
	* math/clog10.c: Likewise.
	* math/clog10f.c: Likewise.
	* math/clog10l.c: Likewise.
	* math/clogf.c: Likewise.
	* math/clogl.c: Likewise.
	* math/copysignf.c: Likewise.
	* math/csin.c: Likewise.
	* math/csinf.c: Likewise.
	* math/csinh.c: Likewise.
	* math/csinhf.c: Likewise.
	* math/csinhl.c: Likewise.
	* math/csinl.c: Likewise.
	* math/csqrt.c: Likewise.
	* math/csqrtf.c: Likewise.
	* math/csqrtl.c: Likewise.
	* math/ctan.c: Likewise.
	* math/ctanf.c: Likewise.
	* math/ctanh.c: Likewise.
	* math/ctanhf.c: Likewise.
	* math/ctanhl.c: Likewise.
	* math/ctanl.c: Likewise.

1999-02-17  Benjamin Kosnik  <bkoz@cygnus.com>

	* testsuite/27/27filebuf.cc: Add cases.
	* testsuite/27/27filebuf-1.txt: Remove inadvertent garbage.
	* bits/std_streambuf.h: Simplify, always have one return statement.
	* bits/std_fstream.h: Tweak comments in underflow.

1999-02-17  Ulrich Drepper  <drepper@cygnus.com>

	* ltmain.sh: Update from libtool 1.2d and fix Solaris problems.
	* ltconfig: Likewise.

1999-02-16  Christophe Pierret  <cpierret@businessobjects.com>

	* src/locale.cc: Fix assert.

1999-02-16  Benjamin Kosnik  <bkoz@cygnus.com>

	FIXME: Still need some kind of solution for undefined math symbols.
	* src/Makefile.in (locale-inst.lo): Compile with
	-fimplicit-templates to fix Solaris link problem.
	* src/Makefile.am: Ditto.
	* libio/Makefile.in: Add stdfiles.c so that _IO_list_all is defined.
	* libio/Makefile.am: Ditto.
	* src/locale.cc: Provide some kind of def for _S_tolower.
	* bits/locfacets.h: Fix declarations of ctype<wchar_t> to
	match ctype<char> for _S_tolower, _S_toupper, _S_table.

1999-02-10  Benjamin Kosnik  <bkoz@cygnus.com>

	* bits/loccore.tcc: Move member-template ctor inline...
	* bits/loccore.h: ...here.
	* src/locale-inst.cc: Add instantiation here.

	* testsuite/27/27stringstream.cc: Tweak.

	* bits/ostream.tcc: Include sbuf_iter.h.

	* bits/ostream.tcc: Convert *this to ostreambuf_iterator before
	passing to num_put, as num_put's first argument is an interator,
	not basic_ostream.

	* testsuite/make_check_libfree++: New file, runs through the
	existing test files in the testsuite directory and makes sure
	they link.

1999-02-10  Brendan Kehoe  <brendan@cygnus.com>

	* testsuite/21/21compare.cc: Fix typo.
	* src/locale.cc (ctype<wchar_t>::_S_{toupper,tolower,table}):
	Don't try to provide non-linux versions, since it's impossible to
	initialize their const references with the integer 0, no matter
	how we try to cast it.

1999-02-10  Benjamin Kosnik  <bkoz@cygnus.com>

	* bits/std_locale.h: Move std_vector.h dependency.
	* bits/std_ios.h: ...from here.
	* bits/std_string.h: ...and here.
	* src/locale.cc: ..to here.
	* bits/loccore.h: Ditto, add vector forward declaration,
	make locale::_Impl data members pointers not containers.
	* bits/loccore.tcc: Move out-of-line for now.
	* bits/locfacets.h: Move vector dependency from here...
	* bits/locfacets.tcc: ...to here.
	* src/localename.cc: ..and here.
	* src/locale-inst.cc: Add include of locfacets.tcc here.

	* stl/bits/stl_string_fwd.h: Make __get_c_string non-static.
	* bits/basic_string.h: Can't use sizeof on an incomplete type.
	* bits/string.tcc: Tweak.
	* src/string.cc: And add __get_c_string def here.

	* bits/std_fstream.h: Yeah, comment the fill_n idea out as impractical.

	* src/stlinst.cc: Add include of stl_config.h.

1999-02-09  Benjamin Kosnik  <bkoz@cygnus.com>

	* stl/bits/std_bitset.h: Update to SGI STL 3.12.
	* stl/bits/stl_config.h: Tweak, update.
	* stl/bits/std_stdexcept.h: Ditto, change stl_exception to
	std_exception.
	* stl/bits/std_memory.h: Reconstructed auto_ptr, Ditto.
	* stl/bits/std_functional.h: Ditto.

	* stl/bits/stl_string.h: New file, SGI's string
	implementation. For reference only, corresponding to string in
	3.12 source.
	* stl/bits/stl_char_traits.h: As above.

	* stl/bits/pthread_allocimpl.h: New file corresponding to
	pthread_alloc.
	* stl/bits/stl_pthread_alloc.h: New file corresponding to
	pthread_alloc.h
	* stl/bits/stl_threads.h: New file.

	Note that SGI STL 3.12's file iterator.h is not used.
	* stl/bits/std_iterator.h: Ditto.
	* stl/bits/stl_iterator.h: Drop in replace.
	* stl/bits/stl_iterator_base.h: New file, drop in replace.

	* stl/bits/stl_queue.h, stl_rope.h, stl_set.h, stl_stack.h,
	stl_string_fwd.h, stl_tempbuf.h, stl_tree.h, stl_vector.h,
	stl_pair.h, stl_multimap.h, stl_multiset.h, stl_list.h,
	stl_hashtable.h, stl_hash_set.h, stl_hash_map.h, stl_function.h,
	stl_deque.h, stl_alloc.h, stl_algo.h, stl_algobase.h, ropeimpl.h:
	Drop-in replace (ie, stop changing __SGI_STL_* to _CPP_BITS_* for
	preprocessor guards, but fixup include paths and names according
	to new directory layout).

1999-02-05  Benjamin Kosnik  <bkoz@cygnus.com>

	* bits/std_fstream.h: Remove _M_open data member.
	* bits/fstream.tcc: Ditto.

	* src/locale.cc: Tweak.

	* bits/std_sstream.h: Simplify.

	* bits/std_streambuf.h: Simplify.
	(sputc): Use correct definition of "write area."

	* bits/std_fstream.h: Fix uflow.
	* src/basic_file.cc: Tweak.
	* testsuite/27/27filebuf.cc: Add tests.
	* testsuite/27/27filebuf-3.txt: Rename to *-2.txt.

1999-02-02  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>

	* bits/ios_base.h: Make protected.

1999-02-01  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>

	* bits/ios_base.h: Changes in the class ios_base:
	Rename _M_exceptions member to _M_exceptions_data.
	Make the member functions rdstate(), clear(), exceptions()
	and exceptions(iostate) protected and add the "_M_" prefix.
	* src/ios.cc: Ditto.
	* bits/basic_ios.h: Adapt the changes from ios_base.

1999-01-29  Benjamin Kosnik  <bkoz@cygnus.com>

	* bits/std_fstream.h: Remove _M_flags, _M_equilibrate  as unnecessary.
	* bits/fstream.tcc: Ditto.

	* bits/std_fstream.h (underflow): Resize deallocates memory and
	resets pointers in the internal cache according to new _M_buf. . dooh!
	* src/locale.cc: Mas changes with codecvt::do_in, do_out.

1999-01-29  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>

	* stl/bits/std_memory.h:  Modify auto_ptr::reset to reflect the
	standard.

1999-01-28  Benjamin Kosnik  <bkoz@cygnus.com>

	* src/locale.cc (codecvt::do_in): Finer-grained tuning to take
	into account partial returns.
	(codecvt::do_out): Likewise.

	* bits/char_traits.h: Change streamsize to be a signed type, as
	required by 27.4.1 Types p 2. (Changing to _IO_ssize_t.)
	* bits/std_streambuf.h: Make
	in_avail() and showmanyc() have streamsize as return types, so
	that showmanyc()'s return of eof won't underflow in_avail's return
	value and give a bogus result.
	* src/misc-inst.cc: And more changes. . .

	* bits/std_streambuf.h (basic_streambuf): Add _M_buf_unified to keep
	track of joint in/out pointers into the internal buffer.
	(sbumpc): Add check for _M_buf_unified.
	(sputbackc): Ditto.
	(sungetc): Ditto.

	* testsuite/27/27filebuf.cc: Add cases.
	* testsuite/27/27stringbuf.cc: Add showmanyc case.

	* bits/std_fstream.h (close): Fix logic error.
	(open): Initialize internal pointers based on _M_buf and _M_buf_size.
	(showmanyc): Add underflow component, to match the standard.

	* bits/fstream.tcc: Ditto.

1999-01-27  Benjamin Kosnik  <bkoz@cygnus.com>

	* bits/basic_file.h: Match vtables w/ _IO_FILE_plus.
	* src/basic_file.cc: Ditto.
	* src/Makefile.in: Add -fvtable-thunks to CXXFLAGS: preferred
	format for dealing with _IO_file in libio.

1999-01-27  Ulrich Drepper  <drepper@cygnus.com>

	* src/basic_file.cc: Include fcntl.h.

1999-01-27  Benjamin Kosnik  <bkoz@cygnus.com>

	* libio/Makefile.in: Add fileops.lo, genops.lo to objects to debug
	libio calls.
	* bits/std_streambuf.h: Redefine read posion.

	* bits/std_fstream.h: Temporary hack to get vtables working again.
	* bits/basic_file.h: Revert.
	* src/basic_file.cc: Ditto.
	* testsuite/27/27filebuf.cc: Tweak.

1999-01-26  Benjamin Kosnik  <bkoz@cygnus.com>

	* bits/basic_file.h: Add showmanyc, underflow. .
	* src/basic_file.cc: Ditto.

	* bits/std_fstream.h (showmanyc): Add bits to ping libio to see if more
	chars can be read.

	* testsuite/27/27filebuf.cc: Add testcases.
	* src/basic_file.cc: Add O_CREAT to open calls with
	ios_base::trunc as part of the open mode.

1999-01-26  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>

	* bits/basic_ios.h: fix basic_ios::exceptions(iostate)

1999-01-25  Benjamin Kosnik  <bkoz@nabi.net>

	* src/ios.cc (clear): Correct typo.
	* bits/ios_base.h: Tweak spacing.

1999-01-25  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>

	* bits/basic_ios.h: fix basic_ios::fail()

1999-01-25  Benjamin Kosnik  <bkoz@loony.cygnus.com>

	* bits/basic_file.h: Include libioP.h from libio instead of here.
	* bits/iolibio.h: Remove.
	* bits/libio.h: Remove.

1999-01-22  Benjamin Kosnik  <bkoz@lunatic.cygnus.com>

	* bits/std_fstream.h: Tweak cvt-> in call for newer egcs compilers.

1999-01-22  Ulrich Drepper  <drepper@cygnus.com>

	* Makefile.am (SUBDIRS): Add libio.
	* configure.in: Add rule to test for glibc2.

	* src/Makefile.am (INCLUDES): Add -I to libio subdir.
	(libstdc___la_LIBADD): Add libio.la.

1999-01-21  Benjamin Kosnik  <bkoz@cygnus.com>

	* bits/basic_file.h: Make new abstraction for underlying C library
	FILE, named __basic_file.
	* src/basic_file.cc: New file.
	* bits/os_raw.h: Delete.
	* src/os_raw.cc: Delete.
	* src/Makefile.in: Tweak.
	* src/Makefile.am: Tweak.
	* bits/iolibio.h: Add this here, for the time being.
	* bits/libioP.h: Ditto.

	* bits/ios_base.h: Delete unused defines.
	* src/locale.cc (codecvt<char, char, mbstate_t>::do_in): Use
	strcpy to copy between the two buffers.

	* testsuite/27/27stringbuf.cc: Change license, fix in_avail tests.
	* testsuite/27/27filebuf.cc: New file.
	* testsuite/27/27filebuf-1.txt: Data file for above test.
	* testsuite/27/27filebuf-2.txt: Ditto.

	* bits/std_streambuf.h (uflow): Re-implement default.
	* bits/std_fstream.h: Set _M_buf_size based on cstdio's BUFSIZ.
	Re-implement virtual functions.
	* bits/fstream.tcc: Delete unused mf's.

1998-12-31  Benjamin Kosnik  <bkoz@lunatic.cygnus.com>

	* bits/fstream.tcc: Add fstream ctor for cin/cout/etc.
	* bits/std_fstream.h: Ditto.
	* src/stdstreams.cc: Ditto.

	* math/cpowl.c: Fix header typo with last change.

1998-12-31  Benjamin Kosnik  <bkoz@loony.cygnus.com>

	* COPYING: New file (GPL v 2).
	* LICENSE.STD: Remove.
	* ./*: Change license.

1998-12-30  Benjamin Kosnik  <bkoz@haight.constant.com>

	* bits/std_streambuf.h (std): Remove static on _M_init.
	* bits/streambuf.tcc (std): Ditto.

	* bits/std_fstream.h: Add changes as discussed with Nathan, including
	state_type and codecvt_type members, the allocation of an internal
	buffer, the streamlined codecvt calls, etc.

1998-12-21  Benjamin Kosnik  <bkoz@haight.constant.com>

	* bits/std_sstream.h: Tweak.
	* bits/fstream.tcc: Remove unused stubs.
	* bits/std_fstream.h: Tweak.

1998-12-17  Benjamin Kosnik  <bkoz@tintin.cygnus.com>

	* bits/std_streambuf.h: Move _IO_file_flags into basic_filebuf.
	Remove unused _IO_* members, possibly put into filebuf, which may
	need them.
	* bits/std_fstream.h: Add _M_flag.
	* bits/sbuf_iter.h: Tweak.

	* bits/std_cstdio.h: Add SEEK_SET, SEEK_END, SEEK_CUR.
	* bits/ios_base.h: Use.

	* src/stdstreams.cc: Modify to reflect standard ctors for
	filebuf.
	* src/misc-inst.cc: Ditto.

	* bits/os_raw.h: Wrap in std namespace. Model parameters on
	underlying C library calls instead of the underlying unix
	filesystem.
	* src/os_raw.cc (_S_os_open): Use fopen, and compute a mode
	string as per p.659.
	(_S_os_close): Model on fopen.
	(_S_os_read): Model on fread.
	(_S_os_write): Model on fwrite.
	(_S_os_seek): Model on fseek.

	* bits/ios_base.h: Tweak.
	* bits/std_iosfwd.h: Wrap libio.h include with extern "C".
	* bits/std_sstream.h: Tweak.
	* bits/sstream.tcc: Remove old, uncalled code.
	* bits/std_fstream.h: Major reconstruction.
	* bits/fstream.tcc: Disable for the time being.

1998-12-11  Benjamin Kosnik  <bkoz@haight.constant.com>

	* bits/basic_string.h: Fix insert method.
	* stl/bits/stl_iterator.h: Remove previous hack.
	* bits/std_streambuf.h (sbumpc): Correct increment/return oddness.
	* bits/std_sstream.h: Fix more regressions.
	* testsuite/27/27stringbuf.C: Add (almost) complete tests.

1998-12-09 Benjamin Kosnik  <bkoz@loony.cygnus.com>

	* bits/basic_string.h: Tweak.

	* stl/bits/stl_iterator.h: Specialize iterator_traits for int so
	that string::append can be instantiated. HACK--checkin
	basic_string::iterator class.

1998-12-07  Benjamin Kosnik  <bkoz@haight.constant.com>

	* bits/std_sstream.h: Tweak.
	* bits/sstream.tcc: Tweak ctors.

	FIXME invalid friend defs. . WHERE ARE THEY??

	* bits/sbuf_iter.h (istreambuf_iterator::equal): Change to new
	names for basic_streambuf data members.

	* bits/std_streambuf.h: Add getloc() initialization bits.
	basic_streambuf(): Initialize with global locale data.
	imbue(): Set _M_init.

	* bits/std_streambuf.h(seekoff, seekpos): Complete with invalid
	stream pos == pos_type(off_type(-1)).
	in_avail(): Complete default implementation.
	snextc, sbumpc, sputbackc, sungetc, sputc, setg, xsputn,
	underflow, uflow, xsgetn, showmany, sync: Ditto.

	* bits/std_streambuf.h: _M_snextc_helper(): Remove.

	* bits/streambuf.tcc (sputbackc): Temporarily remove, need to
	re-populate with in-line member functions that are too big.  Add
	initialization for _M_init.

1998-12-03  Benjamin Kosnik  <bkoz@cygnus.com>

	* bits/sstream.tcc: Convert _Allocator to _Alloc.  Add typedefs
	for basic_string and basic_streambuf. Scope _IO_buf_* pointers to
	streambuf_type.

	* src/stdstreams.cc (std): Disable wchar_t instantiations.

	* bits/c++config.h (_G_DEPRICATED): Add.
	(_G_USE_WCHAR_T): Add.
	* bits/std_streambuf.h: Radical reconstruction of basic_streambuf.
	Take out _Streambuf_base. Put _IO_FILE data member in basic_filebuf.
	* bits/streambuf.tcc (sputbackc): Remove ctor anti-def, Tweak.
	* bits/std_fstream.h: Add comment for implementation.
	* src/streambuf.cc: Remove.
	* src/Makefile.in: Remove streambuf.lo.
	* src/misc-inst.cc: Tweak.

1998-12-02  Benjamin Kosnik  <bkoz@cygnus.com>

	* bits/std_sstream.h: Add const_cast to rdbuf returns.
	* testsuite/27stringstream.C: Modify.

1998-11-25  Benjamin Kosnik  <bkoz@haight.constant.com>

	* src/Makefile.in (libstdc___la_OBJECTS): Add streambuf.lo.
	(libstdc___la_SOURCES): Ditto.

	* bits/streambuf.tcc: Tweak.

	* src/streambuf.cc: New file, add out-of-line definitions for
	_Streambuf_base.

	* src/misc-inst.cc: Remove _Streambuf_base instantiations.
	Comment out wchar_t versions of the buffer instantiations, for now.

	* bits/std_streambuf.h: Wrap libio.h include with extern "C".
	Remove template wrapper around _Streambuf_base.
	Move IO_* data members into _Streambuf_base.
	Move _Streambuf_base members into streambuf.tcc.

	* bits/c++config.h (_G_USE_LIBIO): Enable.

1998-11-02  Nathan Myers <ncm@cantrip.org>

	* CHECKLIST: downgrade iterator implementations
	* DESIGN: fill out notes about unimplemented features

1998-10-31  Nathan Myers <ncm@cantrip.org>

	* CHECKLIST: itemized list of all interfaces, and status of each.

1998-10-30  Nathan Myers  <ncm@cantrip.org>

	* RELEASE-NOTES: add notes about optional includes, linking, running
	* src/Makefile.am: handle header installs properly
	* src/Makefile.in: regenerate from new src/Makefile.am

1998-10-30  Benjamin Kosnik  <bkoz@loony.cygnus.com>

	* bits/basic_string.h: Revert npos pending ciso646.
	* src/Makefile.am: Revert CXX flags for now.
	* src/Makefile.in: Ditto.

1998-10-30  Brendan Kehoe  <brendan@cygnus.com>

	* bits/std_sstream.h: Re-order ctors to put base before member
	inits.

1998-10-30  Ryszard Kabatek  <kabatek@chemie.uni-halle.de>

	* stl/bits/std_memory.h: Fix typo.

1998-10-30  Nathan Myers <ncm@cantrip.org>

	* src/string[A-Z]+.cc: change back to include "string.cc".
	* src/Makefile.am: revert filename changes.  We need a different
	way to keep filenames in std/ from confusing Make.
	* bits/basic_string.h: define _S_max_size right, return it from
	string::max_size(); churn definition of npos again.
	* bits/string.tcc: fix _S_frob_size to avoid uint overflow.
	* bits/ios.cc: remove #ifdef on ios_base locale member initialization
	* BUGS: clear cruft.
	* C++STYLE: Touchup for release.
	* CHECKLIST: Touchup for release.
	* DESIGN: New file.
	* LICENSE.STD: Add requirement to retain copyrights and to provide
	the license with any copies.
	* README: Update for release.
	* TODO: Minor touchup for release.
	* RELEASE-NOTES: prepare for release

1998-10-29  Ulrich Drepper  <drepper@cygnus.com>

	* src/string[A-Z]+.cc: Include stdstring.cc, not string.cc.

	* src/Makefile.am (CXXFLAGS): Define _GNU_SOURCE.

	* src/Makefile.am (CXXLINK): New variable.  Make sure we don't use
	CXX to generate the shared object.

	* src/Makefile.am (headers): Remove duplicated char_traits.h.

1998-10-29  Brendan Kehoe  <brendan@cygnus.com>

	* bits/basic_string.h (basic_string<>::max_size): Subtract 1, not
	2, from npos, solving infinite loop problems.

1998-10-29 18:41  Ulrich Drepper  <drepper@cygnus.com>

	* src/Makefile.am: Add rules to install headers.

1998-10-29  Nathan Myers <ncm@cantrip.org>

	* bits/std_ostream.h: Remove #ifdef on operator<< for long double
	* bits/ostream.tcc:   Remove #ifdef on operator<< for long double
	* shadow/libio.h:
	* shadow/unistd.h:
	* shadow/bits/wrap_libio.h:
	* shadow/bits/wrap_unistd.h: New files.

1998-10-29  Brendan Kehoe  <brendan@cygnus.com>

	* bits/ostream.tcc (operator<<): Wrap with #ifdef
	_G_HAVE_LONG_DOUBLE_IO, to match bits/std_ostream.h.

1998-10-29  Ulrich Drepper  <drepper@cygnus.com>

	* src/Makefile.am: Add temporarily rules to make sure misc-inst.cc
	is not compiled with -fno-implicit-templates in effect.

	* src/Makefile.am (EXTRA_SOURCES): Add string.cc and wstring.cc here.
	(libstdc___la_SOURCES): Add all the string*.cc and wstring*.cc files.
	* src/stringADDCS.cc: Wrapper around string.cc to define individual
	function.
	* src/stringADDPS.cc: Likewise.
	* src/stringADDSC.cc: Likewise.
	* src/stringADDSP.cc: Likewise.
	* src/stringADDSS.cc: Likewise.
	* src/stringBIST.cc: Likewise.
	* src/stringBOST.cc: Likewise.
	* src/stringCHTR.cc: Likewise.
	* src/stringEQPS.cc: Likewise.
	* src/stringEQSP.cc: Likewise.
	* src/stringEQSS.cc: Likewise.
	* src/stringEXTRA.cc: Likewise.
	* src/stringGEPS.cc: Likewise.
	* src/stringGESP.cc: Likewise.
	* src/stringGESS.cc: Likewise.
	* src/stringGETLI.cc: Likewise.
	* src/stringGTPS.cc: Likewise.
	* src/stringGTSP.cc: Likewise.
	* src/stringGTSS.cc: Likewise.
	* src/stringINSER.cc: Likewise.
	* src/stringLEPS.cc: Likewise.
	* src/stringLESP.cc: Likewise.
	* src/stringLESS.cc: Likewise.
	* src/stringLTPS.cc: Likewise.
	* src/stringLTSP.cc: Likewise.
	* src/stringLTSS.cc: Likewise.
	* src/stringMAIN.cc: Likewise.
	* src/stringNEPS.cc: Likewise.
	* src/stringNESP.cc: Likewise.
	* src/stringNESS.cc: Likewise.
	* src/stringSCOPY.cc: Likewise.
	* src/wstringADDCS.cc: Wrapper around wstring.cc to define individual
	functions.
	* src/wstringADDPS.cc: Likewise.
	* src/wstringADDSC.cc: Likewise.
	* src/wstringADDSP.cc: Likewise.
	* src/wstringADDSS.cc: Likewise.
	* src/wstringBIST.cc: Likewise.
	* src/wstringBOST.cc: Likewise.
	* src/wstringCHTR.cc: Likewise.
	* src/wstringEQPS.cc: Likewise.
	* src/wstringEQSP.cc: Likewise.
	* src/wstringEQSS.cc: Likewise.
	* src/wstringEXTRA.cc: Likewise.
	* src/wstringGEPS.cc: Likewise.
	* src/wstringGESP.cc: Likewise.
	* src/wstringGESS.cc: Likewise.
	* src/wstringGETLI.cc: Likewise.
	* src/wstringGTPS.cc: Likewise.
	* src/wstringGTSP.cc: Likewise.
	* src/wstringGTSS.cc: Likewise.
	* src/wstringINSER.cc: Likewise.
	* src/wstringLEPS.cc: Likewise.
	* src/wstringLESP.cc: Likewise.
	* src/wstringLESS.cc: Likewise.
	* src/wstringLTPS.cc: Likewise.
	* src/wstringLTSP.cc: Likewise.
	* src/wstringLTSS.cc: Likewise.
	* src/wstringMAIN.cc: Likewise.
	* src/wstringNEPS.cc: Likewise.
	* src/wstringNESP.cc: Likewise.
	* src/wstringNESS.cc: Likewise.
	* src/wstringSCOPY.cc: Likewise.
	* src/string.cc: Remove now unneeded #defines now.

1998-10-29 Nathan Myers <ncm@cantrip.org>

	* bits/locfacets.tcc: Define num_put::put(... const void*), improve
	integer formatting.
	* bits/ostream.tcc: Delete cruft, rewrite various op<< as members,
	add definitions for double, long double, const void*.
	* bits/std_ostream.h: Move op<<'s back into class ostream,
	define some in-line.
	* bits/string.tcc: fix unnecessary-copying bug in op[], typos in
	string construction from input iterators that Brendan reported.


1998-10-28  Brendan Kehoe  <brendan@cygnus.com>

	* stl/bits/stl_pair.h (op!=, op>, p<=, op>=): Add missing definitions.

	* bits/valarray_meta.h (class _Constant): Move declaration to the
	top, so the rest of the file can grok it.
	(_ApplyBinaryFunction::operator[]): Add missing parenthesis.

	* bits/std_sstream.h (basic_ostringstream::str): Fix typo of extra
	semicolon.
	(basic_stringstream::str, both instances): Likewise.

1998-10-28 Nathan Myers <ncm@cantrip.org>

	* bits/locfacets.h: fix num_put<>::falsename()
	* bits/locfacets.tcc: fix _Format_cache<>::_M_populate bool name init
	* testsuite/27/27octfmt.C, testsuite/27/27octfmt.C: new tests
	* bits/locfacets.tcc: touch up _S_group_digits.
	* src/misc-inst.cc: adjust _S_group_digits insts to match.

1998-10-27 Nathan Myers <ncm@cantrip.org>

	* stl/bits/stl_config.h: Turn off long long support, for now.
	* src/locale-inst.cc: Instantiate num_put<> only for
	ostreambuf_iterator, num_get only for istreambuf_iterator.
	* src/misc-inst.cc: Delete duplicate locale-related instantiations,
	add lots of new instantiations for num_put support function templates;
	remove junk about __match_parallel for ostreambuf_iterator.

1998-10-27 Nathan Myers <ncm@cantrip.org>

	* bits/locfacets.tcc: Make num_put's digit grouping work.
	* bits/string.tcc: More uglification.
	* src/ios.cc: initialize format cache right

1998-10-26 Nathan Myers <ncm@cantrip.org>

	* bits/basic_string.h: Uglify more names.
	* bits/fstream.tcc: Rewrite some filebut output handling.
	* bits/ios_base.h: Cosmetic.
	* bits/locfacets.h: Changes to _Format_cache for support of num_put.
	Also, specialize its default ctor for optimal default case.
	#ifdef out "long long" prototypes for now.
	* bits/locfacets.tcc: Do complete, optimized num_put<>::do_put
	implementation for integer types.  (Still needs optimized
	std::copy() applied to ostreambuf_iterator to be optimal.)
	* bits/ostream.tcc: Write operator<< for long, bool types.
	Make other operators<< non-members, per spec.  (Many still
	not implemented.)  Identify those that fail to create a sentry.
	* bits/sbuf_iter: Cosmetic.
	* bits/std_fstream.h: Add some filebuf members.
	* bits/std_locale.h: Include <limits> for use in bits/locfacets.h
	* bits/std_ostream.h: Make member operators<< global, per spec.
	(Should do the same in std_istream.h.)
	* bits/std_string.h: Include <limits> for use in bits/locfacets.h
	* bits/string.tcc: Uglify names
	* shadow/bits/std_cstdlib.h: Optimize std::div and std::ldiv.
	* src/ios.cc: Specialize _Format_cache<> for char and wchar_t,
	for optimal default behavior.

1998-10-26  Benjamin Kosnik  <bkoz@loony.cygnus.com>

	* src/Makefile.in (libstdc___la_SOURCES): Add misc-inst.cc again.

1998-10-21 Nathan Myers <ncm@cantrip.org>

	* src/locale.cc: make ctype operations actually work for glibc
	* CHECKLIST: add a comprehensive (i.e. huge) implementation
	checklist of stdlib facilities.  Not filled in yet.

1998-10-20 Nathan Myers <ncm@cantrip.org>

	* bits/string.tcc: fix patching NULs on string ends.

1998-10-19 Nathan Myers <ncm@cantrip.org>

	* bits/std_iosfwd.h: eliminate "basic_" prefix on streambuf
	iterator forward declarations
	* bits/sbuf_iter.h: eliminate default template argument definitions
	on streambuf iterators (rely on <iosfwd> decls).
	* TODO: add note about lazy facet construction
	* bits/basic_ios.h: hit operator void* again.  This should be the
	last time we need to touch it.
	* bits/basic_ios.h: copyfmt now returns *this.
	* bits/basic_string.h: fix npos again.  npos cannot be defined as zero.
	* bits/basic_string.h: put back overloaded constructors; adjust
	behavior for default allocator on copy constructor.
	* bits/char_traits.h: make not_eof return correct type.
	* bits/loccore.h: remove call to bits/std_stdexcept.h; subincludes
	cannot be in non-standard headers or we get include loops (bad)
	* bits/loccore.h: delete ifdef'd out workarounds for old compiler bugs.
	* bits/loccore.h: add apparatus to support lazy construction of
	facets.
	* bits/locfacets.tcc: Uglify names in __match_parallel decl.
	* bits/std_ios.h: add include of <typeinfo> to get bad_cast for
	locale use_facet<> failure.
	* bits/std_locale.h: same.
	* bits/std_string.h: same.
	* bits/std_stdexcept.h: change exception member __msg from a
	reference to a regular object.
	* bits/string.tcc: add pasting a NUL on the end of strings after
	each operation. We had already left room for it, but previously
	plugged it only on a call to c_str(), but the WG changed the
	requirement when I wasn't looking.  (Can't leave them alone for
	a second without they break something else.)
	* bits/valarray_meta.h: add Gaby's changes from 981018.
	* src/locale.cc: add new type _Bad_use_facet to be thrown on
	failure of use_facet<>().
	* src/stdexcept.cc: remove pragma, remove bkoz's #if 0,
	comment out leftover member definitions

1998-10-16  Ulrich Drepper  <drepper@cygnus.com>

	* string/Makefile.am: Revert last change.
	* math/Makefile.am: Likewise.

1998-10-15  Benjamin Kosnik  <bkoz@haight.constant.com>

	* bits/std_sstream.h: Fix typo.

1998-10-15  Benjamin Kosnik  <bkoz@haight.constant.com>

	* src/Makefile.am (libstdc___la_SOURCES): Add misc-inst.cc.

	* bits/std_sstream.h: Add typedefs, member definitions. Clean.
	* bits/std_stdexcept.h: Remove.

1998-10-15  Benjamin Kosnik  <bkoz@haight.constant.com>

	* src/misc-inst.cc: Tweak again.

	* bits/std_sstream.h: Move out-of-line definitions to sstream.tcc.
	* bits/sstream.tcc: New file.

1998-10-15  Ulrich Drepper  <drepper@cygnus.com>

	* configure.in: Test for machine/param.h, sys/machine.h and fp.h.
	Don't run AC_C_BIGENDIAN if machine/param.h or sys/machine.h are
	available.

	* math/mathconf.h: Include sys/machine.h, machine/param.h and fp.h
	if available.
	(INFINITE_P): Use IS_INF macro if available.

1998-10-15  Ulrich Drepper  <drepper@cygnus.com>

	* math/Makefile.am (EXTRA_LTLIBRARIES): Renamed from
	noinst_LTLIBRARIES.
	* string/Makefile.am: Likewise.

1998-10-15  Ulrich Drepper  <drepper@cygnus.com>

	* configure.in (AC_CHECK_FUNCS): Add finite, qfinite, fpclass, and
	qfpclass.
	(AC_CHECK_HEADERS): Add machine/endian.h.  If no header specifying
	endianess is available run AC_C_BIGENDIAN.

	* math/clog10l.c: Add ugly hack around bug in Irix 6.2 header until
	fixincludes is fixed.
	* math/clogl.c: Likewise.
	* math/csqrtl.c: Likewise.
	* math/mycabsl.c: Likewise.

	* math/mathconf.h: Include machine/endian.h if possible.  If no
	header describing endianess is available rely on WORDS_BIGENDIAN
	macro.
	(FINITE_P, FINITEF_P, FINITEL_P): Use finite functino if available.
	(INFINITE_P, INFINITEF_P, INFINITEL_P): Use fpclass function if
	available.

	* src/complex.cc (polar): Don't use sincos on OSF machines.

1998-10-09  Benjamin Kosnik  <bkoz@loony.cygnus.com>

	* src/locale-inst.cc: Don't instantiate time_get for
	ostreambuf_iterators as time_get::do_get_weekday and
	time_get::do_get_monthname use __match_parallel, which is illegal
	for ostreambuf_iterators to use, as they don't have operator== or
	operator!=.
	* bits/std_stdexcept.h: Add dtor definitions.
	Use stl/bits/std_stdexcept.h instead of this file?
	* bits/sbuf_iter.h : Tweak.
	* src/misc-inst.cc: Tweak.

1998-10-09  Benjamin Kosnik  <bkoz@haight.constant.com>

	* bits/std_stdexcept.h: New file.
	* src/stdexcept.cc: Define the following:
	logic_error::what()
	runtime_error::what()

	* src/misc-inst.cc: New file.
	* src/Makefile.in (libstdc___la_SOURCES): Add misc-inst.cc.
	(libstdc___la_OBJECTS): Add misc-inst.lo.

	* bits/basic_string.h: Disable non-standard ctor declarations.
	* bits/string.tcc: Disable definitions as well.
	* src/string.cc: Disable <ios> dependancies.
	* bits/sbuf_iter.h (std): Add default to template parameter for
	ostreambuf_iterator and istreambuf_iterator.
	* bits/std_iosfwd.h: Change istreambuf_iterator to
	basic_istreambuf_iterator. Likewise for ostreambuf.
	* bits/locfacets.tcc (__match_parallel): Fix typo.
	* src/ios.cc (imbue): Remove the _G_HAVE_LOCALE guards around
	ios_base::imbue.
	* bits/std_streambuf.h: Define _Streambuf_base::getloc().
	* bits/std_istream.h: Define the following:
	get (basic_streambuf<char_type,_Traits>& __sb, char_type __delim)
	get (char_type* __s, streamsize __n, char_type __delim);
	getline (char_type* __s, streamsize __n, char_type __delim)
	* bits/loccore.h : FIXME friend template code for use_facet.
	Add std_stdexcept.h include so that range_error will be defined.
	Add explicit conversion to string for range_error throws. (HACK?)

1998-10-8  Ulrich Drepper  <drepepr@cygnus.com>

	* configure.in: Check for sincos, sincosf, and sincosl.
	* src/complex.cc (polar): Use sincos if available.

	* bits/c++config.h: Fix hack to get LONG_LONG* definitions on Linux.
	* stl/bits/std_limits.h: Include bits/c++config.h.  HACK!!!

	* math/clog10.c: Fix typo (FP_INIFITE_P -> INFINITE_P).

	* math/cpow.c: Use c_log, not clog.
	* math/cpowf.c: Likewise.
	* math/cpowl.c: Likewise.

	* math/cexp.c: Remove unused fpclassify calls.  Use FINITE_P instead
	of isfinite call.

	* math/mathconf.h (FINITE_P, FINITEF_P, FINITEL_P): Define using
	isfinite macro if it is available.
	(INFINITE_P, INFINITEF_P, INFINITEL_P): Define using isinf macro.

	* math/ccosf.c: Use appropriate test macros for this type.
	* math/ccoshf.c: Likewise.
	* math/ccoshl.c: Likewise.
	* math/ccosl.c: Likewise.
	* math/cexpf.c: Likewise.
	* math/cexpl.c: Likewise.
	* math/clog10f.c: Likewise.
	* math/clog10l.c: Likewise.
	* math/clogf.c: Likewise.
	* math/clogl.c: Likewise.
	* math/csinf.c: Likewise.
	* math/csinhf.c: Likewise.
	* math/csinhl.c: Likewise.
	* math/csinl.c: Likewise.
	* math/csqrtf.c: Likewise.
	* math/csqrtl.c: Likewise.
	* math/ctanf.c: Likewise.
	* math/ctanhf.c: Likewise.
	* math/ctanhl.c: Likewise.
	* math/ctanl.c: Likewise.

1998-10-06  Benjamin Kosnik  <bkoz@bliss.nabi.net>

	* bits/basic_ios.h: Fix previous change.

1998-10-06  Benjamin Kosnik  <bkoz@bliss.nabi.net>

	* bits/basic_ios.h: Add const_cast<basic_ios&>
	(operator void*): As per 5.2.9 p 2, make sure static_cast is
	well-formed.
	* bits/char_traits.h: No _CharT for specialization, change to 0.
	* bits/basic_string.h: As per 9.4.2 p4, initialize with
	constant-initializer.
	* bits/locfacets.tcc: Add template parameter to initialization list.

1998-10-02  Benjamin Kosnik  <bkoz@loony.cygnus.com>

	* bits/basic_string.h: Should just be <, not <=.

1998-10-01  Benjamin Kosnik  <bkoz@bliss.nabi.net>

	* bits/string.tcc (compare): Fix for strings that are similar, but
	not the same length.

1998-09-04  Brendan Kehoe  <brendan@cygnus.com>

	* bits/c++config.h: For __linux__, define _GNU_SOURCE.  This is
	required for us to get LONG_LONG_{MIN,MAX} out of gcc's limits.h.
	We can't check for __GLIBC__ here, since this header can be read
	before any system one (that would lead to features.h) being used.

	* stl/bits/stl_config.h (__STL_LONG_LONG): Re-enabled

	* stl/bits/std_limits.h [__STL_LONG_LONG]: Fix usage to use
	LONG_LONG_MIN, LONG_LONG_MAX, and ULONG_LONG_MAX.

	* stl/bits/stl_config.h: Don't do __STL_LONG_LONG, it uses
	LONGLONG_{MIN,MAX} which I can't find the origin of.

1998-09-03  Brendan Kehoe  <brendan@cygnus.com>

	* stl/bits/stl_iterator.h: Add extern decl of cin for now; where
	should this come from, if not iostream.h?
	(class istream_iterator): Make the new operator!= a friend also.

	* stl/bits/stl_config.h: Define __STL_HAS_WCHAR_T,
	__STL_MEMBER_TEMPLATE_CLASSES, and __STL_LONG_LONG.  Don't include
	_G_config.h like the egcs one does.

1998-09-01  Brendan Kehoe  <brendan@cygnus.com>

	* bits/string.tcc: Call `_M_destroy' instead of `destroy'.

	* bits/valarray_meta.h: Throughout, rename _Expr typedefs to be
	_Expr1 (or _Expr_def if it's taken), and change definitions.
	Avoids redecl of the template parm.

	* bits/string.tcc (basic_string copy ctor): Fix typo in declaration.
	(operator>>): Initialize __ERROR with ios_base::goodbit, not 0.

	* bits/std_streambuf.h (_POSIX_SOURCE): Only define if it's not
	already done.

	* src/locale-inst.cc: New file, **TOTAL HACK**.  There has GOT to
	be a better way to do this.

	* src/stlinst.cc: New file.

	* BUGS: New file, with various discovered bugs that need to be
	fixed.

	* Makefile.in, math/Makefile.in, string/Makefile.in,
	src/Makefile.in: Reran automake.

	Workarounds, these may not all be the final fixes:

	* bits/basic_ios.h (class basic_ios): Make _M_strbuf be protected,
	not private, for basic_istream::get() in std_istream.h to be able
	to use it.
	(basic_ios::operator void*): Don't use static_cast for the false
	case.
	(basic_ios::copyfmt): Fix `rhs.except' to be `rhs.exceptions ()'.
	This appears to have been in sep94, but didn't get corrected
	afterwards.

	* bits/basic_string.h (npos): Don't init here.
	* bits/string.tcc: Instead, do initialization here, to -1 instead
	of the size_type destructor.

	* src/traits.cc, src/wtraits.cc: New files.
	* bits/char_traits.h: For char_traits<char> and
	char_traits<wchar_t>, declare static, but define over in the src
	files.

	* bits/gslice.h: Comment out forward decls of _Array, valarray,
	gslice_array, and _GsliceExpression.

	* bits/std_cstdio.h [__sparc__ && __svr4__]: #undef all of
	clearerr, feof, ferror, getc, getchar, putc, putchar, stdin,
	stdout, and stderr.  Note we do get unresolved refs to stdin, but
	that'll get fixed by the "true" solution.

	* bits/std_ios.h: Include <bits/std_streambuf.h> to get the
	definition of basic_streambuf.h, which is used in basic_ios.h to
	call pubimbue.

	* bits/std_streambuf.h: Don't include libio.h for now.
	(class basic_streambuf): Define missing methods pubimbue and
	getloc.

	* src/Makefile.am (libstdc___la_SOURCES): Add stdexcept.cc,
	ios.cc, os_raw.cc, stdstreams.cc, locale.cc, localename.cc,
	locale-inst.cc, stlinst.cc, traits.cc, wtraits.cc.

	* src/ios.cc: Instantiate basic_ios<char> and basic_ios<wchar_t>.

	* src/locale.cc: Come up with munged versions of _S_toupper,
	_S_tolower, and _S_table instead of the glibc-specific ones, so
	they're at least defined, if not necessarily usable.  The glibc
	ones on any other system will yield unresolved refs to
	__ctype_{b,toupper,tolower}.

	* src/string.cc: Define all of ADDCS, ADDPS, et al.  Add
	basic_ios, basic_istream, basic_ostream.  Don't do char_traits
	anymore cuz of the explicit specialization in char_traits.h.
	Also add _S_string_copy, but this doesn't fix it -- cf the BUGS
	file for the details.

	* stl/bits/stl_algobase.h (equal): Fix to do `! (x==y)'.
	* stl/bits/stl_iterator.h (__distance): Likewise.

	* stl/bits/stl_iterator.h: As with 8/18 set, define missing op!=,
	op>, op<=, and op>= for reverse_iterator.  Also add op!= for
	istream_iterator.

1998-08-26  Brendan Kehoe  <brendan@cygnus.com>

	* bits/string.tcc (basic_string::compare (const char*)): Fix to
	return 0, not 1.

1998-08-25  Brendan Kehoe  <brendan@cygnus.com>

	This should really be fixed with __asm__ directives renaming the
	symbol, but keeping the function.
	* math/clogf.c (c_logf): Renamed from `clogf'.
	* math/clogl.c (c_logl): Renamed from `clogl'.
	* math/complex-stub.h (c_logf, c_logl): Change decls.

	* bits/locfacets.h (class _Numeric_get): For friend decls, rename
	_CharT and _InIter parms, since they duplicate the enclosing ones.

1998-08-19  Brendan Kehoe  <brendan@cygnus.com>

	Deal with conflict of the iostreams `clog' and our internal
	complex number `clog'.
	* src/complex.cc: Call `c_log' instead of `clog'.
	* math/clog.c (c_log):: Renamed from clog.
	* math/complex-stub.h (c_log): Renamed from clog decl.

	* bits/locfacets.h (class _Numeric_get): Tweak fwd decls of the
	get/put classes.
	(num_put::put): #if 0 long long version, since we don't declare or
	define the long long version of do_put.

1998-08-18 Nathan Myers <ncm@cantrip.org>

	* bits/basic_string.h: add basic_string<>::push_back(), fix return
	type of get_allocator (thanks to Ryszard Kabatek).
	* bits/char_traits.h: make init order of fpos<> members
	match decl order.
	* bits/ios_base.h: fix decls of ios_base bitmask & enum types, add
	flags _S_fd_in etc. for special filebuf ctor.
	* bits/locfacets.h: make _Numeric_get and _Format_cache public
	to work around problems in friend declarations.
	* bits/locfacets.tcc: qualify _S_get_cache in num_get<>::get(..bool&),
	fix random type errors & typos
	* bits/std_fstream.h: major refitting to bypass libio (for now),
	instrument to use bits/fstream.tcc template definitions
	* bits/std_iosfwd.h: mess with wrappers
	* bits/std_istream.h: remove meaningless comment
	* bits/std_ostream.h: instrument to work with ostream.tcc.
	* bits/std_streambuf.h: instrument to work with streambuf.tcc
	* bits/fstream.tcc: template defs for <fstream>
	* bits/ostream.tcc: template defs for <ostream>
	* bits/streambuf.tcc: template defs for <streambuf>
	* bits/os_raw.h: thin OS interface wrapper, to bypass libio (for now).
	* Delete .cc files, replace with bits/*.tcc
	src/fstream.cc
	src/istream.cc
	src/ostream.cc
	src/streambuf.cc
	* Add files:
	src/os_raw.cc: thin interface to OS, to bypass libio (for now).
	src/stdstreams.cc: cout, cin, etc. definitions
	(these still need work: must be init'd before user statics.)


1998-08-18  Brendan Kehoe  <brendan@cygnus.com>

	Sent to SGI before checkin:
	* stl/bits/stl_vector.h (operator!=, operator>, operator<=,
	operator>=): Define.
	* stl/bits/stl_bvector.h (vector<bool>::flip): Define method.
	* stl/bits/stl_deque.h (operator!=, operator>, operator<=,
	operator>=): Define.
	(operator==, operator<): Add inline.
	* stl/bits/stl_map.h (operator!=, operator<, operator<=,
	operator>=): Define.
	* stl/bits/stl_multimap.h (operator!=, operator<, operator<=,
	operator>=): Define.
	* stl/bits/stl_list.h (operator!=, operator<, operator<=,
	operator>=): Define.
	* stl/bits/stl_set.h (operator!=, operator<, operator<=,
	operator>=): Define.
	* stl/bits/stl_multiset.h (operator!=, operator<, operator<=,
	operator>=): Define.

	* bits/std_valarray.h (_Shift_left, _Shift_right): Inherit from
	unary_function.

1998-08-15 Nathan Myers <ncm@cantrip.org>

	* bits/ios_base.h: change nominal bitmask and enum types to real enums
	* bits/locfacets.h: make _Format_cache bool names usable by num_get
	* bits/locfacets.tcc: make num_get<>::get(... bool&) use _Format_cache
	* bits/std_fstream.h: minor cleanups: ctors delegate to open()
	* bits/std_iosfwd.h: more bitmask changes, for ios_base::iostate
	* bits/std_sstream.h: formatting cleanups

1998-08-14 Nathan Myers <ncm@cantrip.org>

	* bits/locfacets.tcc: implement num_get<>::do_get(..., bool&)
	* bits/locfacets.tcc: implement time_get<>::do_get_weekday
	* bits/locfacets.tcc: implement time_get<>::do_get_monthname
	* bits/locfacets.h:   fix missing argument in do_get_monthname
	(this is a bug in the standard, ref. 36 in my list.)
	* bits/locfacets.h: make month and day name caches mutable
	* bits/locfacets.tcc: various typos in get() functions
	* bits/sbuf_iter.h: fix omission in istreambuf_iterator::op++().
	* bits/std_streambuf.h: fix typo in sgetn (Brendan)

1998-08-12 Nathan Myers <ncm@cantrip.org>
	* move streambuf iterators to bits/sbuf_iter.h
	* optimize streambuf iterators
	* begin generalizing streambuf
	* begin implementing num_get<>::get (starting with bool)
	* patch stl/bits/stl_config.h so that relops operators are
	contained properly, out of the way.

1998-07-24 Nathan Myers <ncm@cantrip.org>
	* Fold in SGI 3.11 changes (uglified names, some algorithm
	  improvements, very minor bug fixes.)
	* Uglify names elsewhere to match (s/_T/_Tp/).
	* Begin work on optimized streambuf
	* Put complex.cc in namespace std:: (thanks Martin)

1998-07-17 Nathan Myers <ncm@cantrip.org>

	* bits/char_traits.h: add _Char_traits_match template.
	* bits/string.tcc: fix bugs in various find_last* members.
	* bits/basic_string.h: redeclare member _S_find.
	* stl/bits/stl_iterator.h: change member names in nonstandard
	  templates bidirectional_reverse_iterator and
	  random_access_reverse_iterator to match expected changes
	  in upstream source.
	* src/string.cc: fix definitions of stream operators.

1998-07-14 16:06  Ulrich Drepper  <drepper@cygnus.com>

	* Makefile.am (SUBDIRS): Add string.

	* configure.in: Test for long double functions separately.  Test for
	ISO C 89 float functions.  Test for endian.h and sys/isa_defs.h.
	Generate string/Makefile.

	* bits/c++config.h: Define mbstate_t for Solaris.

	* bits/char_traits.h: Remove unused #if.

	* bits/std_cwchar.h: Declare wide char string functions.

	* m4/stringfcts.m4: New file.

	* math/complex-stub.h: Declare nan.
	* math/nan.c: New file.

	* math/mathconf.h: Hack around missing endian.h file.
	Handle missing NAN definition.
	Handle missing float math functions.

	* src/Makefile.am (libstdc___la_LIBADD): Add libstring.la.
	(libstdc___la_LDFLAGS): Set version information.

	* src/complexl.cc: Don't compile any code if no long double functions
	are available.

	* string/Makefile.am: New file.
	* string/dummy.c: New file.
	* string/wmemchr.c: New file.
	* string/wmemcmp.c: New file.
	* string/wmemcpy.c: New file.
	* string/wmemmove.c: New file.
	* string/wmemset.c: New file.

1998-07-14 10:45  Ulrich Drepper  <drepper@cygnus.com>

	* configure.in: Make it work.
	* install-sh: New file.
	* missing: New file.
	* mkinstalldirs: New file.
	* m4/mathfcts.m4: New file.
	* math/Makefile.am: New file.

	* bits/std_complex.h (conj): Mark specializations as inline.

	* math/carg.c: New file.
	* math/cargf.c: New file.
	* math/cargl.c: New file.
	* math/mycabs.c: New file.
	* math/mycabsf.c: New file.
	* math/mycabsl.c: New file.
	* math/signbit.c: New file.
	* math/signbitf.c: New file.
	* math/signbitl.c: New file.

	* math/ccos.c: Avoid ISO C 9x functionality.
	* math/ccosf.c: Likewise.
	* math/ccosh.c: Likewise.
	* math/ccoshf.c: Likewise.
	* math/ccoshl.c: Likewise.
	* math/ccosl.c: Likewise.
	* math/cexp.c: Likewise.
	* math/cexpf.c: Likewise.
	* math/cexpl.c: Likewise.
	* math/clog.c: Likewise.
	* math/clog10.c: Likewise.
	* math/clog10f.c: Likewise.
	* math/clog10l.c: Likewise.
	* math/clogf.c: Likewise.
	* math/clogl.c: Likewise.
	* math/cpow.c: Likewise.
	* math/cpowf.c: Likewise.
	* math/cpowl.c: Likewise.
	* math/csin.c: Likewise.
	* math/csinf.c: Likewise.
	* math/csinh.c: Likewise.
	* math/csinhf.c: Likewise.
	* math/csinhl.c: Likewise.
	* math/csinl.c: Likewise.
	* math/csqrt.c: Likewise.
	* math/csqrtf.c: Likewise.
	* math/csqrtl.c: Likewise.
	* math/ctan.c: Likewise.
	* math/ctanf.c: Likewise.
	* math/ctanh.c: Likewise.
	* math/ctanhf.c: Likewise.
	* math/ctanhl.c: Likewise.
	* math/ctanl.c: Likewise.

	* math/complex-stub.h: New file.

	* math/mathconf.h: New file.

	* src/Makefile.am: New file.

	* src/complex.cc: Use mathconf.h instead of complex.h.
	Don't use cabs, always use __mycabs.

1998-02-13  Brendan Kehoe  <brendan@cygnus.com>

	* iterator (class reverse_iterator): Do some tweaks to be in sync
	w/ the FDIS.
