view libstdc++-v3/ChangeLog-1999 @ 158:494b0b89df80 default tip

author Shinji KONO <>
date Mon, 25 May 2020 18:13:55 +0900
parents 04ced10e8804
line wrap: on
line source

1999-12-26  Phil Edwards  <>

	* docs/gentop/status:  Add snapshot version column, update
	  for Solaris 7.
	* docs/status.html:  Regenerated.

1999-12-26  Phil Edwards  <>

	* docs/faq/index.html:  Turn README and RELEASE-NOTES into links
          from installation FAQ, and specify location of text files.
	* docs/faq/index.txt:  Regenerated.

1999-12-23  Phil Edwards  <>

	* docs/gentop/download:  Add links to prebuilds for Cygwin/Mingw32.
	* docs/download.html:  Regenerated.

1999-12-22  Phil Edwards  <>

	* docs/faq/index.html:  Update 'what works' for .7 snapshot,
	  clean up various links.
	* docs/faq/index.txt:  Regenerated.
	* docs/gentop/gentop:  Smarter regeneration script.
	* docs/gentop/{head,foot}chunk.html:  Updated with new
	  contributors link and mod date.
	* docs/gentop/index:  Snapshot relase date.
	* docs/gentop/thanks:  New contributors page added.
	* docs/{download,how,index,links,mail,status,thanks}.html:
	  Regenerated from gentop; thanks.html created.

1999-12-21  Benjamin Kosnik  <>

	* bits/ (__GLIBCPP__): 19991221.
	* docs/index.html: Add correct information.

	* config/irix: New directory.
	* config/irix/ Add irix-6.5 info. Not tested.
	* config/irix/bits/ctype_base.h: And here.

	* config/aix: New directory.
	* config/aix/ Add aix-4.2 info. Not tested.
	* config/aix/bits/ctype_base.h: And here.

1999-12-21  Philip Martin  <>

        * bits/basic_string.h: Add special case handling for integral
        * bits/std_string.h: include type_traits.h
	* testsuite/21_strings/ Tweak.

1999-12-21  Benjamin Kosnik  <>

	* bits/fstream.tcc (seekoff): Output buffer based on _M_*_in and
	_M_*_end now.
	* bits/std_fstream.h (sync): And here.
	* testsuite/27_io/ Revisions.
	* testsuite/27_io/filebuf-2.tst: Correct, remove weird character
	at the end of the file.
	* testsuite/27_io/filebuf-3.tst: Correct.

1999-12-21  Phil Edwards  <>

	* docs/gentop/index:  Hold off on .7 announcement date.
	* docs/index.html:  Regenerate.

1999-12-21  Benjamin Kosnik  <>

	* bits/std_fstream.h (sync): Move _M_file->sync() to
	* bits/fstream.tcc (seekoff): Call sync, not _M_really_overflow so
	as to get the _M_file->sync action, which forces the external
	buffer to update itself.
	(underflow): Same here.

1999-12-21  Phil Edwards  <>

	* bits/  Uncomment _GLIBCPP_USE_NAMESPACES and move...
	* acconfig.h: here.
	*  Regenerate from aclocal.
	* aclocal.m4:  Regenerate from acinclude.
	*  Use ENABLE macros here.
	* configure:  Regenerate.
	* src/  Use results from ENABLE macros.
	* src/  Regenerate.

1999-12-20  Benjamin Kosnik  <>

	* mkcheck (SRC_DIR): Now have to include config/* dir if "make
	check" and not "make check-install." Temporarily hack in linux

	* bits/std_streambuf.h: Tweaks.
	* bits/streambuf.tcc (xsgetn): Tweaks.
	* bits/std_fstream.h (sync): Make _M_really_overflow consistent.
	* bits/fstream.tcc (filebuf::underflow): Simplify.
	* bits/std_sstream.h (streambuf::underflow): Minor change to make
	checks for read position precisely implement the standard.
	* bits/basic_file.h (filepos_cur): Base this on _offset.
	* testsuite/21_strings/ (test05): Tweaks.
	* testsuite/27_io/ Tweak.

1999-12-20  Benjamin Kosnik  <>

	* docs/17_intro/RELEASE-NOTES: Fix typos.

	* bits/locale_facets.h (ctype): Modify, use __to_type to abstract
	out platform-specific bits.
	* config/default/ And here.
	* config/defaults/bits/ctype_base.h: And here.
	* config/linux/ And here.
	* config/linux/bits/ctype_base.h (ctype_base): And here.
	* config/solaris/bits/ctype_base.h (ctype_base): Add
	__to_type. Comment, as it looks like this is for solaris2.6 and
	above: solaris2.5.1 doesn't seem to have the same definitions.
	* config/solaris/ And here.

1999-12-19  Benjamin Kosnik  <>
            Ulrich Drepper  <>

	* acconfig.h: Remove _GLIBCPP_USE_CTYPE_ISBIT.

	* src/ Take out platform-specific hacks.
	* config/linux/ Put here.
	* config/solaris/ Put here.
	* config/default/ Put here.

	* bits/locale_facets.h: Take out platform-specific hacks.
	* config/linux/bits/ctype_base.h: Put here.
	* config/solaris/bits/ctype_base.h: Put here.
	* config/default/bits/ctype_base.h: Put here.

	* Bump version.
	Add tests for top-level config directory.
	* configure: Regenerated.
	* src/ (INCLUDES): Add platform-specific dir.
	* src/Makefile: Regenerate.

1999-12-19  Benjamin Kosnik  <>
	    Ulrich Drepper  <>

        * bits/locale_facets.h: Hack in solaris support.
        * src/ Here too.

1999-12-18  Gabriel Dos Reis  <>

	* docs/17_intro/TODO: Update
	* docs/17_intro/RELEASE-NOTES (New): Update.

1999-12-17  Benjamin Kosnik  <>

	* bits/ (__GLIBCPP__): Bump.
	* docs/17_intro/RELEASE-NOTES: Update, Gaby please add your stuff.
	* docs/17_intro/TODO: Update.

	* bits/locale_facets.h: Touch this too.
	* bits/localefwd.h: Add typedefs for loooooong vector names.
	* bits/locale_facets.tcc (locale::operator()): Need parens.
	(has_facet): Simplify.
	* src/ Add instantiations.
	* src/ Tweaks.

	* bits/std_streambuf.h: Move indeterminates into. .
	* bits/std_fstream.h: Here.
	* bits/fstream.tcc (underflow): Rewind just for ios_base::out
	* bits/sstream.tcc: Very minor formatting tweaks.
	* bits/std_streambuf.h (_M_set_determinate): If exclusively an
	input buffer, set _M_buf to offset.
	* bits/istream.tcc (std): Tweaks.
	* testsuite/27_io/ (test05): More tweaks,
	include fstream.
	* testsuite/27_io/ Tweaks.

1999-12-17  Phil Edwards  <>

	*  Add OPTLEVEL, -O2 for gcc 2.96+, nothing otherwise.
	* configure:  Regenerate.
	* src/  Use OPTLEVEL in CXXFLAGS.
	* src/  Regenerate.  Also picks up OTHER_CXXFLAGS rename
	  to OPTIMIZE_CXXFLAGS from a previous revision (1.96) to

1999-12-17  Phil Edwards  <>

	* docs/21_strings/stringtok_std_h.txt:  New algorithm
	  suggested by Chris King.
	* docs/21_strings/howto.html:  Link to new version.

1999-12-16  Gabriel Dos Reis  <>

	* bits/valarray_array.h (__valarray_sum): Use operator+=, not
	* docs/17_intro/TODO: Update.

1999-12-15  Phil Edwards  <>

	* docs/gentop/footchunk.html:  Updated, fixed CRLFs.
	* docs/gentop/gentop:  Ditto.
	* docs/gentop/headchunk.html:  Ditto.
	* docs/*.html:  Regenerated from gentop.
	* docs/*/howto.html:  Updated as test.
	* docs/faq/index.html:  Updated, fixed CRLFs.
	* docs/faq/index.txt:  Regenerated.

1999-12-15  Gabriel Dos Reis  <>

	* mknumeric_limits (OUT_C): restart only if $OUT_C is present.

	* bits/std_complex.h
	(complex<float>::complex(const complex<double>&),
 	complex<float>::complex(const complex<long double>&)): Define.

	* docs/17_intro/TODO: Update.

1999-12-13  Benjamin Kosnik  <>

	* bits/istream.tcc (seekg): Don't set _M_gcount.
	(tellg): Same.
	* bits/fstream.tcc (filebuf::underflow): Re-sync
	external byte sequence's input buffer only. . .
	* testsuite/27_io/ (test04): New tests for
	tellg, seekg and filebufs.
	(test05): Same for stringbufs.
	* testsuite/27_io/istream_unformatted-2.tst: New file.
	* testsuite/27_io/istream_unformatted-1.tst: New file.
	* testsuite/27_io/istream_unformatted-1.txt: New file.
	* testsuite/21_strings/ (test05): Change
	output file.

1999-12-13  Phil Edwards  <>

        * docs/gentop/*:  New directory, containing bits for the homepages.
        * docs/*.html:  Regenerated from gentop.
        * docs/*/*.html:  Entries added and regenerated.

1999-12-13  Benjamin Kosnik  <>

	Efforts to get -O2 to work with -Winline -Werrors.
	* bits/valarray_array.h (__valarray_fill(_Tp*, size_t, const
	_Tp&): Remove inline declaration, as cannot be inlined and
	-Winline -Werror complains. An interesting question is why this
	cannot be inlined, as I can see no real reason to disqualify it.
	(__valarray_product(const _Tp*, const _Tp*)): Same here.
	* bits/std_valarray.h (valarray::operator[](size_t)): Same here.

	* docs/17_intro/TODO: Update.

1999-12-12  Benjamin Kosnik  <>

	* bits/std_fstream.h (seekpos): Tweaks, fixes. Move definition to
	* bits/basic_file.h (filepos_cur()): Make pointers themselves be
	the resultant position.
	* bits/fstream.tcc (seekoff): Explicitly set return value to
	resultant external byte sequence position, not value returned from
	_M_file->seekoff. Need to make
	(seekpos): New definition.

	* bits/istream.tcc (seekg): As per Library Issues List 136, set to
	just istream. Necessary, or else tellg will give an invalid stream
	position, but seekg will return a valid stream position, which is
	not groovy: see testcase addition.
	* bits/ostream.tcc (seekp): Same.

	* bits/streambuf.tcc (_S_copy_streambufs): Simplify.
	* bits/sstream.tcc: Tweaks.
	* bits/locale_facets.tcc: Tweaks.
	(num_put::do_put(iter_type, ios_base, char_type, const void*)):
	Re-write in a way that is easier for the inliner to work with.
	* bits/ios_base.h: Use explicit static_cast<int>(...) notation.

1999-12-10  Benjamin Kosnik  <>

	* bits/locale_facets.tcc: Tweaks.
	* bits/locale_facets.h (use_facet): Can't inline, remove inline
	from declaration.
	* bits/localefwd.h: And here.
	* bits/std_ostream.h: Tweaks, sentry ctor can't be inlined.
	* bits/ostream.tcc: Put here.

	Frank Ch. Eigler  <>
	* src/ Adjust CXXFLAGS, add AM_CXXFLAGS.

1999-12-08  Benjamin Kosnik  <>

	* bits/sstream.tcc (stringbuf::seekoff): Long overdue revamp. Make
	in and out buffers update independently.

	* bits/basic_ios.h: Minor formatting.
	* bits/fstream.tcc (std): Fix indentation.

1999-12-08  Chip Salzenberg  <>

        * bits/char_traits.h (char_traits<>): Move not_eof() functions
        after corresponding eof() functions, so they're easier for the
        compiler to inline.
        * bits/locale_facets.h (money_base::__default_pattern): Move
        static variable out of inline functions.
        (_Moneypunct<>::do_{pos,neg}_format): Use it.
        * src/ (money_base::__default_pattern): Define it.

1999-12-08  Benjamin Kosnik  <>

	* bits/std_fstream.h (filebuf::open): Tweak.
	* bits/fstream.tcc (filebuf::seekoff): Simplify, fix.
	* bits/std_ios.h: Minor tweaks for headers.

1999-12-06  Benjamin Kosnik  <>

	* src/ Add guards . . .
	* src/ And here.
	* bits/std_sstream.h: And here.
	* bits/std_fstream.h: And here.
	* bits/std_streambuf.h: And here.
	* bits/std_istream.h: And here.
	* bits/std_ostream.h: And here.

1999-12-06  Scott Snyder  <>

        * bits/istream.tcc (basic_istream::read): Try to handle __n == 0
	(basic_istream::readsome): And here as well.
        * testsuite/27_io/ Test a zero-length

1999-12-06  Mumit Khan  <>

        * bits/istream.tcc (basic_istream::ignore): streamsize is not
        necessarily an `int'.

1999-12-06  Gabriel Dos Reis  <>

	* mknumeric_limits: Don't use $CXXFLAGS when building
	gen-num-limits. It's definitely wrong to use it since $CXXFLAGS
	generally instructs the compiler not to emit template
	instantiations and we end up with undefined symbols. Sigh.

1999-12-05  Benjamin Kosnik  <>

	* bits/locale_facets.tcc: Tweak.
	(_S_format_long): Adjust showpos formatting for hex and oct.
	* bits/std_ostream.h (operator<<(short)): Correctly deal with hex
	and oct by formatting as unsigned.
	(operator<<(int)): Same here.
	* bits/ostream.tcc (operator<<(long)): Same.
	(operator<<(long long)): Same.
	(_S_pad_char): Actually treat ios_base::internal as something
	worth doing correctly. Remove const designation on ios argument.
	* testsuite/27_io/ (test02): Add tests.
	* testsuite/27_io/ (test03): Add tests.

1999-12-04  Benjamin Kosnik  <>

	* bits/std_sstream.h (streambuf::underflow): Check for mode == in.

1999-12-03  Benjamin Kosnik  <>

	* bits/locale_facets.tcc (num_put::do_put(bool): Fix.

	* bits/sstream.tcc (streambuf::seekoff): Add parens.
	* bits/istream.tcc (istream::get(sb)): Handle exceptional events.
	(operator>>(istream, _CharT*)): Change streamsize to int_type.
	(operator>>(istream, _CharT&)): Fix typedef'd type to be _CharT.
	* bits/ostream.tcc (ostream::operator<<(const char*)): Stub out
	unused argument.
	(ostream::operator<<(_CharT)): Fix.

	* bits/std_sstream.h: Temporarily disable including sstream.tcc to
	see if this will increase compile speed.
	* bits/std_ostream.h: Likewise. . .
	* bits/std_istream.h: And here.
	* bits/std_fstream.h: And here.
	* src/ Add relevant header file includes for
	instantiation purposes.
	* src/ And here.
	* testsuite/27_io/ Add test case.

1999-12-02  Benjamin Kosnik  <>

	* testsuite/27_io/ (test03): Add tests.
	* bits/istream.tcc (get(streambuf)): More fixes.
	(istream::ignore): Get specific about numeric_limits<int>::max()

	* bits/fstream.tcc (filebuf::open): Tweaks for _M_last_overflowed.
	(filebuf::close): Same.
	* testsuite/27_io/ Add tests for ios_base::ate.

1999-12-01  Phil Edwards  <>

        * mkcheck:  Support for compilation/execution timing.
	* testsuite/printnow.c: New file.

1999-12-01  Phil Edwards  <>

        * bits/std_cwchar.h:  Test for _GLIBCPP_USE_WCHAR_T.
        *  Test for presence of wchar.h before testing
          for any of its features.
        * configure:  Regenerate.

1999-11-30  Benjamin Kosnik  <>

	Preliminary istream validations complete.
	* bits/istream.tcc (istream::getline): Fixes. Tweaks to make
	formatting more consistent. Removal of if-statements inside of for
	(ignore): Fix.
	(get): Same.
	(putback): Same.
	* bits/std_istream.h: Same.
	* bits/sstream.tcc (stringbuf::pbackfail): Fix.
	* testsuite/27_io/ Tweak.
	* testsuite/27_io/ (test02): Mo' tests.

	* bits/ostream.tcc (ostream::operator<<(arith)): Set badbit, not
	failbit on failure, as per

	* stl/bits/std_vector.h: Allow bool specializations. Should move
	ext/std_bvector to bits, not ext, maybe.

1999-11-30  Mumit Khan  <>

        * Fix checks for mbstate_t and WCHAR_MIN/MAX.
	* configure: Regenerate.

1999-11-29  Benjamin Kosnik  <>

	* bits/istream.tcc (get(streambuf, char)): Fix.
	* testsuite/27_io/ (test03): Add tests.

1999-11-29  Scott Snyder  <>

        * bits/basic_string.h (append(const _Char*, size_type)): The
        length of the appended string is given exactly by the second arg,
        regardless of the data in the character array.
        * bits/string.tcc (basic_string(const _CharT*, size_type, const
        _Alloc&)): Likewise.
        * testsuite/21_strings/ (test01): Remove erroneous test
        of basic_string::append.

1999-11-29  Chip Salzenberg  <>

	* Tweaks for CXXFLAGS.
	* */ Same.

1999-11-29  Mumit Khan  <>

        * conficd Check for wide character support.
        * bits/ (_GLIBC_USE_WCHAR_T): Move from here ...
        * acconfig.h (_GLIBC_USE_WCHAR_T): to here.
        * bits/string.tcc (wstring::_S_find): Guard wchar_t specialization.

1999-11-29  Mumit Khan  <>

        * acinclude.m4: Fix typo.
        * src/ Fix macro line continuation.

1999-11-29  Petter Urkedal  <>

        * src/ (CXXFLAGS): Add -Wno-format to allow non-
        string literals in format, as used in locale-facets.tcc.

1999-11-28  Benjamin Kosnik  <>

	* testsuite/27_io/ (test03): Add tests.
	* bits/istream.tcc (istream::get): Extract to argument minus one.
	Various tweaks and fixes.

1999-11-22  Mumit Khan  <>

        * bits/locale_facets.tcc: Workaround for compiler crash on

1999-11-21  Mumit Khan  <>

        * acinclude.m4: New file. New _GLIBCPP_CHECK_FLOAT_SUPPORT macro.
        * Use.
        * acconfig.h: New _GLIBCPP_BUGGY_FLOAT_COMPLEX macro.
        * src/ New _GLIBCPP_FLOAT_SPECIALIZATION macro.
        * bits/std_complex.h: Use.
        * src/ Use.

1999-11-19  Mumit Khan  <>

        * testsuite/18_support/ Add missing std:: prefix.
        * testsuite/21_strings/ Likewise.
        * testsuite/22_locale/ Likewise.
        * testsuite/23_containers/ Likewise.
        * testsuite/23_containers/ Likewise.
        * testsuite/26_numerics/ Likewise.
        * testsuite/27_io/ Likewise.
        * testsuite/27_io/ Likewise.
        * testsuite/27_io/ Likewise.
        * testsuite/27_io/ Likewise.
        * testsuite/27_io/ Likewise.
        * testsuite/27_io/ Likewise.
        * testsuite/27_io/ Likewise.
        * testsuite/27_io/ Likewise.
        * testsuite/27_io/ Likewise.
        * testsuite/27_io/ Likewise.

1999-11-19 Gabriel Dos Reis  <>

        * bits/valarray_meta.h: Don't forget to define tanh

1999-11-18  Philip Martin  <>

       * src/ Use typedef to refer to iterator
       * stl/bits/stl_algobase.h: Add traits based dispatch for
       __normal_iterator in the copy()algorithm
       * stl/bits/type_traits.h: Add _Is_normal_iterator trait support

1999-11-18  Kevin Ediger  <>

        * src/ (locale::_Imp::_Imp): Use auto_ptr to make
	constructors for locale::_Impl exception safe.

1999-11-18  Scott Snyder  <>

        * stl/bits/stl_queue.h: The C++ standard gives the default for the
        _Sequence template argument of priority_queue<> as vector<>, not

1999-11-18  Benjamin Kosnik  <>

	* bits/std_sstream.h (stringbuf::_M_really_sync): Add __iend as a
	* bits/sstream.tcc: Adjust here too.

1999-11-17  Benjamin Kosnik  <>

	* bits/sbuf_iter.h (istreambuf_iter::equal): Tweak.
	* bits/istream.tcc (operator>>): Replace iostate(0) with
	iostate(ios_base::goodbit), which is the same thing, but hopefully
	a bit clearer.
	* bits/locale_facets.tcc (do_get(bool)): Streamline, deal with
	libraries issue list 17.
	(do_gets): Don't set goodbit explicitly, instead only set on
	failures as good bit is the default setting.
	* bits/ios_base.h (setf): Set correctly.
	* bits/fstream.tcc: Tweak.
	* bits/std_sstream.h (_M_really_sync): Fix ibuffer positioning for
	in|out bufs that are empty. . .
	* testsuite/27_io/ (test03): Add.

1999-11-16  Benjamin Kosnik  <>

	* testsuite/27_io/ (class testbuf): Don't set _M_buf_size.
	* bits/std_streambuf.h (setp): Set _M_buf_size, _M_mode.
	Add comments "all about _M_buf."
	(setg): Set _M_mode.

1999-11-16  Kevin Ediger  <>

	* bits/locale_facets.tcc (_S_build_float_format): New function.
	(_S_output_float): New function.
	(num_put::do_put(double)): Use 'em.
        (num_put::do_put(long double)): Use 'em.
	* testsuite/27_io/ New file.

1999-11-15  Scott Snyder  <>

        * bits/basic_file.h: Type of __off parm should be __c_streampos, to
        match how libio is calling us.
        * src/ (sys_seek): Likewise.
        * bits/std_fstream.h (basic_filebuf::sync): Restore sync call.

1999-11-15  Benjamin Kosnik  <>

	* docs/17_intro/contribute.html: Add link to assignment form.
	* docs/17_intro/libstdc++-assign.txt: New file.

	* mkcheck (TESTS_FILE): Move a copy of test files as well as
	output files.

	* bits/std_streambuf.h (_M_buf_bump): New function.
	* bits/streambuf.tcc: Mods to support _M_buf_bump.
	(xsputn): Here. Also add checks for output valid.
	(xsgetn): Add checks for input valid.
	(sputc): Here.
	(sgetc): Set _M_in_end to _M_buf + _M_buf_end.
	* bits/std_sstream.h (_M_really_sync): Set _M_buf.
	Set _M_out_end to variable-length-end.
	* bits/sstream.tcc (overflow): Use _M_buf_bump.
	(seekpos): Same.
	(seekoff): Same.
	* bits/fstream.tcc (std): Tweak formatting.
	(filebuf::overflow): Simplify.
	(filebuf::showmanyc): Same.
	(filebuf::underflow): Same.
	* testsuite/27_io/ Fix.
	* testsuite/27_io/ Fix.
	* testsuite/27_io/ostream_inserter_other-2.tst: New file.
	* testsuite/27_io/ Tweak.
	* testsuite/27_io/ Tweak.
	* testsuite/27_io/ Fix.

1999-11-11  Matthias Klose  <>

	* stl_deque.h: Use static_casts<size_type>(signed_type).

1999-11-11  Benjamin Kosnik  <>

	Cleanups for callbacks, more regression hunting. Remaining
	failures (1) due to last unresolved stringstream issues, not
	regressions per se.
	* bits/std_fstream.h: Revert. Disable call to _M_file->sync as
	killing 27_io/ tests. . . need another solution.

	* bits/streambuf.tcc (_S_copy_streambufs): Fix.
	* testsuite/27_io/ Tweak comments.

	* bits/basic_ios.h: Add cached facets here. UGH. The standard
	foils all attempts at a graceful, minimal implementation.
	* bits/basic_ios.tcc: Tweaks.
	* bits/istream.tcc: Fix.
	* bits/ostream.tcc: Fix.
	* bits/std_istream.h: Fix.
	* bits/std_ostream.h: Fix.
	* src/ (ios_base::imbue): Set _M_locale_ios before calling
	* bits/locale_facets.tcc (std): Minor, minor formatting tweak.
	(_S_pad_numeric): Make comprehensible.

1999-11-10  Benjamin Kosnik  <>

	* bits/std_ostream.h: Add callbacks for _M_fnumput.
	(_S_ostream_fcache): New function.
	Move functions out-of-line.
	* bits/ostream.tcc: Put here.

	* bits/std_istream.h: Add callbacks for _M_fnumget.
	(_S_istream_fcache): New function.
	Move functions out-of-line.
	* bits/istream.tcc: Put here.

	* bits/basic_ios.tcc (basic_ios::imbue): Tweaks, remove call to
	_M_call_callbacks(), as ios_base::imbue does this already.
	* src/ (register_callback): Clean.
	(_M_call_callbacks): Same.
	* bits/ios_base.h: Callback work.
	* testsuite/27_io/ (test01): New file.

1999-11-10  Benjamin Kosnik  <>
	    Matthias Klose  <>

	* stl/ext/stl_rope.h: Fix initialization order.

1999-11-09  Scott Snyder  <>

        * bits/std_fstream.h (basic_filebuf::sync): Unconditionally call
        _M_file->sync() so that redirection works correctly.

1999-11-09  Benjamin Kosnik  <>

	* bits/istream.tcc: Re-order.
	* bits/std_istream.h: Fix getline problems.
	* testsuite/27_io/ New tests.

	Clean up regressions.
	* bits/std_sstream.h: Set initial stringbufs correctly.

1999-11-09  Scott Snyder <>

        * stl_vector.h (_M_range_insert): Fix mixing pointers and
	* testsuite/23_containers/ (test01): New file,

1999-11-09  Benjamin Kosnik  <>

	* src/ (CXXFLAGS): Add -Winline.
	* src/ Regenerate.

1999-11-05  Gabriel Dos Reis  <>

	* bits/valarray_meta.h (_DEFINE_EXPR_UNARY_FUNCTION): When
	building meta-expressions don't forget to take the contained

1999-11-02  Benjamin Kosnik  <>

	* configure: Regenerate.

1999-11-02  Gabriel Dos Reis  <>

	* bits/valarray_meta.h (_Expr<>::sum): Tweak. Use copy-initialization
	* bits/valarray_meta.h (min): Likewise.
	* bits/valarray_meta.h (max): Likewise.

1999-11-01  Benjamin Kosnik  <>

	* bits/std_sstream.h (_M_really_sync): Take into account in | out bufs.
	* bits/std_streambuf.h (_S_copy_streambufs): New function.
	* bits/streambuf.tcc: Define.
	* bits/istream.tcc (istream::operator>>(streambuf)): Rewrite.
	* bits/ostream.tcc (ostream::operator<<(streambuf)): Rewrite.
	* testsuite/27_io/ Add tests.
	* testsuite/27_io/ostream_inserter_other-1.tst: New file.

	* bits/basic_string.h: Explicitly cast npos to unsigned type,
	reported by Richard Atterer.
	* bits/char_traits.h: For consistency's sake, here too.

	* Bump version to 2.90.7.

1999-10-31  Benjamin Kosnik  <>

	* testsuite/27_io/ostream_inserter_char-1.tst: Check file output.
	* testsuite/27_io/ (test05, test01): Add tests.
	* bits/streambuf.tcc (xsputn): Treat--size const char for long loops.
	(xsgetn): Same.
	* bits/sstream.tcc (seekpos): Tricks, mostly: check _M_mode before
	writing into buffer.
	(seekoff): Same.

1999-10-29  Gabriel Dos Reis  <>

	* bits/valarray_array.h (__valarray_sum): New function.
	* bits/valarray_array.h (__valarray_product): Same.

	* bits/std_valarray.h (valarray<T>::product): Comment out.
	* bits/std_valarray.h (valarray<T>::sum): Use __valarray_sum
	instead of accumulate.

	* src/ Remove explicit intantiation of
	class multiplies<size_t>, accumulate, valarray<size_t>::product.
	* src/ (__valarray_product): Instantiate
	* src/ (__valarray_product(const
	valarray<size_t>&)): New function.
	* src/ (gslice::_Indexer::_Indexer): Don't use
	valarray<size_t>::product. Use __valarray_product instead.

1999-10-25  Benjamin Kosnik  <>

	* bits/std_ostream.h (ostream.inserters.char): Correctly pad output.
	(_S_pad_char): New function. Not done: ios_base::internal.
	* bits/ostream.tcc: Clean for above.
	* bits/locale_facets.tcc (_S_fill): Remove ostreambufiterator
	specialization that was commented out, as ostreams now have to
	correctly deal with padding.
	* testsuite/27_io/ (main): Add tests.

	* testsuite/21_strings/ Add test case
	from mailing list. This is a bug, and should be fixed.
	* testsuite/21_strings/ (main): Tweak, fix typo.

1999-10-22  Petter Urkedal  <>

        * stl/bits/stl_numeric.h (__power): Replaced argument name `__opr'
        to avoid conflict with gcc name mangling.
        * stl/bits/stl_algo.h (__transform): Same.

1999-10-21  Benjamin Kosnik  <>

	* bits/ios_base.h: Change argument names.
	* docs/17_intro/BADNAMES: Add __opr.

1999-10-20  Benjamin Kosnik  <>

	Work on compilation slowdowns from 10-5 to 10-12, which are
 	related to the _Callback_list inlining/merge-ifcation, which is
 	still a pending issue, but this stuff is necessary cleanup anyway.

	* src/ Re-arrange.
	* bits/ios_base.h: Tweak.
	* bits/basic_ios.tcc: Move out of line definitions here, move
 	small out-of-line definitions inline.
	* bits/basic_ios.h: From here.

	* bits/streambuf.tcc (pbackfail, overflow): Move back inline.
	* bits/std_streambuf.h: From here.

1999-10-19  Benjamin Kosnik  <>

	* testsuite/27_io/ Add tests.
	* bits/std_istream.h: Tweaks--set eofbit on eof condition.
	* bits/istream.tcc (operator>>(istream&, string&): Remove
	vestigial issspace hacks and use ctype::is instead.
	(getline): Remove unnecessary loops, fortify and pasteurize.
	(ws): Same.

1999-10-18  Benjamin Kosnik  <>

	* bits/istream.tcc (operator>>): Tweak.
	* bits/std_istream.h: Fix according to library issues list 68.
	Add typedefs.

	* bits/locale_facets.h: Fix table_size to be non-zero.

1999-10-18  Vadim Egorov  <>

        * src/ ifdef instead of comment for binary mode

1999-10-18  Russell Davidson  <>

	* bits/std_sstream.h: Stringbuf initialization based on actual,
	not allocated, size.
	* testsuite/21_strings/ (test06): Add test

1999-10-17  Benjamin Kosnik  <>

	* testsuite/26_numerics/ (test03): Tweak.
	* testsuite/27_io/ (test01): Corrections due to
	sentry change.
	* testsuite/21_strings/ (test01): Same.

1999-10-14  Benjamin Kosnik  <>

	* bits/std_istream.h: Tweaks.
	* bits/istream.tcc (istream::sentry::sentry()): Simplify, correct
	as per issues list addition--set failbit, eof on empty buffers.
	* testsuite/27_io/ New file.

1999-10-12  Chris Prince <>

	* bits/std_cstdio.h: Remove Solaris hacks.

1999-10-12  Phil Edwards  <>

        * docs/index.html:  Fix minor typos and tweaks.
        * docs/17_intro/contribute.html:  Ditto.
        * docs/*/howto.html:  Ditto.  More "EGCS"->"GCC" conversion, notes on
        thread safety and binary I/O, links to external sites.
        * docs/faq/index.html: EGCS/GCC cleanup, new entries for Cygwin
 	and MT.

1999-10-12  Petter Urkedal  <>

        * bits/std_cmath.h (abs(float)): When ::absf is not present, call
        ::fabs(double) rather than ::abs(int).

1999-10-11  Benjamin Kosnik  <>

	* bits/std_streambuf.h: Fix minor blip--should explicitly return
	*gptr(), not the result of underflow.
	(pbackfail): Conform to default behavior.
	(overflow): Same.
	* bits/streambuf.tcc: Add out-of-line streambuf members.
	(xsputn): Tweak.
	(xsgetn): Tweak.
	* testsuite/27_io/ New file.
	* testsuite/27_io/ Correct test.

1999-10-08  Benjamin Kosnik  <>

	* bits/std_cmath.h: Correctly cast int to double.
	* testsuite/26_numerics/ Add test.

	* mknumeric_limits (OUT_C): Tweaks.
	* src/ Checks for WCHAR_MIN, WCHAR_MAX before
	trying to instantiate type_traits<wchar_t>.
	* acconfig.h: Add _GLIBCPP_HAS_WCHAR_MIN_MAX.
	* (LIBS): Plus checks for WCHAR_MIN, WCHAR_MAX.
	* configure: Regenerate.

1999-10-06  Benjamin Kosnik  <>

	* bits/streambuf.tcc (streambuf::xsgetn): Rewrite.
	(streambuf::xsputn): Put in break.
	Aiming for parity between these two (mostly) similar functions.
	Need to re-write tests.

	* bits/ios_base.h (ios_base::_M_copy_base): Remove declaration.
	Make data members protected, not private.
	* src/ (ios_base::_M_copy_base): Move _Callback_list into
	ios_base.h. As called only once, collapse into . . .
	* bits/basic_ios.h (basic_ios::copyfmt): Fix.
	(basic_ios::clear): Throw ios_base::failure on occasion.
	(basic_ios::exceptions): Fix.
	* testsuite/27_io/ (test02): Add tests.

	* bits/fpos.h: Default initialize.
	* testsuite/27_io/ (test03): Add test.

1999-10-04  Russell Davidson <>

	* src/ Fix open modes.

1999-10-04  Gabriel Dos Reis  <>

	* bits/locale_facets.tcc (num_get<>::do_get): Fix typo.

1999-09-23  Benjamin Kosnik  <>

	* bits/streambuf.tcc: Yea. Fix this for real.
	* testsuite/27_io/ Add file.
	* src/Makefile.*: Regenerate.

1999-09-22  Benjamin Kosnik  <>

	* bits/std_cstdlib.h: Add more linux-specif hacks to the header
	files so that stdtof and strtold will be declared. Some hacks
	already exits in bits/std_cctype.h -- these should all be removed
	at a later date.
	* bits/locale_facets.tcc: Add cstring.h include.
	_S_format_long: Use long, not int.
	Add std_limits.h include, for numeric_limits.
	* testsuite/27_io/ Make instantiations work when using
	* testsuite/27_io/ Same.

1999-09-21  Benjamin Kosnik  <>

	* bits/fpos.h (fpos::operator streamoff): Make const, don't return
	a reference. Same for operators == and !=.
	* testsuite/27_io/ Add tests.

1999-09-21  Gabriel Dos Reis  <>

	* bits/valarray_array.h: Fix typo.

	* mknumeric_limits: Make sure we are regenerating things from
	scratch.  Otherwise things get redefined.  Not good.

1999-09-20  Benjamin Kosnik  <>

	* bits/std_ostream.h: Fix typo.
	* bits/std_istream.h: Same.
	* bits/std_iomanip.h: Same.

	* bits/istream.tcc (sentry::sentry()): Remove optional tie with
	ostream, as happens with underflow anyway.
	* testsuite/27_io/ (main): New file.
	* testsuite/27_io/ (main): New file.
	* testsuite/27_io/ Add tests.

	* src/ (headers): Add new file.
	* src/ (headers): Regenerated.

	* bits/basic_ios.h: Remove local-related files.
	* bits/basic_ios.tcc: New file, add locale-related items.
	* src/ Add include of basic_ios.tcc, as a hack for now.
	* testsuite/27_io/ Change to
	* testsuite/27_io/ This.
	* testsuite/27_io/ New file.
	* testsuite/27_io/stdios_basefield_manip: Change to
	* testsuite/27_io/ This.
	* testsuite/27_io/stdios_fmtflags_manip: Change to
	* testsuite/27_io/ This.

	* bits/fpos.h: Fix discarding qualifiers on this when
	using _M_position with a const fpos.
	* bits/std_iosfwd.h: Tweak.
	* testsuite/27_io/ New file.

1999-09-17  Benjamin Kosnik  <>

	* bits/streambuf.tcc (streambuf::xsputn): Tweak.
	* bits/ostream.tcc: Tweak.
	* testsuite/21_strings/ (test04, test05):
 	Add new regressions.

1999-09-16  Benjamin Kosnik  <>

	* bits/basic_ios.h: Inline, tweak.
	* bits/fstream.tcc (basic_filebuf::_M_really_overflow): Tweak,
 	pass back accurate return value to basic_filebuf::overflow.
	* bits/streambuf.tcc (streambuf::xsputn): Fix overflow accounting.
  	This fixes sstream problems reported in libstdc++/9, but screws up
 	filebufs. That solution is pending.

1999-09-15  Vadim Egorov  <>

        * bits/streambuf.tcc (basic_streambuf::xsputn): Add check for
	zero count puts.
	* testsuite/21_strings/ (test01): Add test.

1999-09-08  Benjamin Kosnik  <>

	* bits/ Add emacs hints.

	* stl/bits/stl_range_errors.h: Don't define here, for now define
	in along with string inlines __length_error, etc.
	* src/ Define here.
	* stl/bits/stl_config.h (__STL_CAN_THROW_RANGE_ERRORS): Enable, so
	at(size_t) will be declared/defined.
	(__STL_THREADS): Fix mess surrounding use of this, enable.

1999-08-31  Benjamin Kosnik  <>

	* testsuite/27_io/ Fix.
	* src/ Tweak formatting, fix assignment to
	const compiler errors.

1999-08-25  Benjamin Kosnik  <>

	* acconfig.h: Add absf, cosf.
	* (use_builtin_sinf): Same.
	* configure: Regenerate.
	* bits/std_cmath.h: Add mess of defines.
	* testsuite/26_numerics/ Change to
	* testsuite/26_numerics/ This.

	* src/ Change.
	* bits/locale_facets.h: Fix.
	* testsuite/22_locale/ Add temporary tests.

1999-08-24  Benjamin Kosnik  <>

	* bits/fpos.h: Test.

	* docs/index.html: Add powerpc-linux-gnu results with gcc-2.95.1.
	Fix database name for "libstdc++".

1999-08-23  Benjamin Kosnik  <>

	* mknumeric_limits (numeric_limits): Add default definitions to
	member functions.
	* testsuite/18_support/ New file.

1999-08-18  Benjamin Kosnik  <>

	* bits/std_istream.h: Correct initialization.
	* bits/std_ostream.h: Likewise.
	* bits/std_sstream.h: Likewise.
	* bits/std_fstream.h: Likewise.
	* testsuite/27_io/ Add test case.

	* bits/std_sstream.h: Replace ____string_type with __string_type.
	* bits/basic_ios.h (basic_ios::rdbuf(sb*): Call clear(), as required.
	* bits/std_ostream.h: Tweak dtor.

1999-08-17  Benjamin Kosnik  <>

	* src/ (CXXFLAGS): Add -O2.
	* src/ Likewise.

	* src/ Conditionally allow wchar_t. See what
	this breaks. . .
	* mknumeric_limits (numeric_limits): Uglify.

	* bits/std_istream.h: Fix warnings.
	* bits/locale_facets.tcc: Collateral damage from
	char_traits<char>::int_type change.

	* testsuite/27_io/ Terminate strings.

1999-08-17  Benjamin Kosnik  <>

	* docs/index.html: Add mailing list form.
	* docs/27_io/howto.html: Add link to iostreams_hierarchy.pdf.

1999-08-16  Benjamin Kosnik  <>

	* bits/streambuf.tcc (streambuf::xsputn): Allow copies to continue
	if overflow successfully allocates more space.
	* bits/std_sstream.h: Adjust comments.
	* bits/sstream.tcc (stringbuf::overflow): Copy buffer into string
	before overflow forces a resize.
	* testsuite/27_io/ New file.

	* bits/std_fstream.h: Remove declaration.
	* bits/fstream.tcc: Move uflow.
	* bits/std_streambuf.h: To here.
	* bits/streambuf.tcc: Make consistent.

	* src/ (WERROR): Enable.
	* src/ Regenerate.
	* bits/sbuf_iter.h: Tweak.
	* bits/char_traits.h: (char_traits<wchar_t>::eof): Use WEOF.
	Use unsigned int as char_traits<char>::int_type.

	* bits/ostream.tcc (ostream::putc(char)): Tweak.
	* testsuite/27_io/ Terminate string.
	Move cin::operator>>(char*) test to
	* testsuite/27_io/ Add stringstream instantiation.
	* bits/std_istream.h (basic_iostream): Make explicit definition
	for default ctor.
	* bits/std_sstream.h: Fix typos.
	* bits/fstream.tcc (_M_init_filebuf): Set to indeterminate for
	basic_filebuf ctor with fileno open arguments. Thus, filebufs are
	initialized in a consistent manner, no matter if the underlying
	FILE/bit bucket is a tty or a text file or some other imaginary
	construct. This and setting _M_buf_size to 1 for cin allows
	istream::get(char) to work in a manner consistent with what others

	* docs/index.html: Link Stroustrup's C++ page.

1999-08-12  Michael Cook  <>

	* bits/fstream.tcc: Fix signed/unsigned -Wall warning.
	* bits/istream.tcc: ditto.
	* bits/sbuf_iter.h: ditto.
	* bits/std_istream.h: ditto.
	* src/ Add -Wall to CXXFLAGS.
	* src/ ditto.

1999-08-12  Benjamin Kosnik  <>
	    Russell Davidson <>

	* bits/locale_facets.tcc (_M_extract): Finish off patch from yesterday.
	* src/ (myinstallheaders): Tweak, remove PHONY.

1999-08-11  Benjamin Kosnik  <>

	* testsuite/27_io/ New file.

	* testsuite/27_io/ (test02): Add more
	elaborate tests for int types with noskipws.

	* testsuite/27_io/istream_extractor_other-1.txt: New file.
	* testsuite/27_io/istream_extractor_other-1.tst: New file.
	* testsuite/27_io/istream_extractor_other-2.tst: New file.
	* testsuite/27_io/ Add tests.
	* bits/istream.tcc: Fix operator>>(streambuf*).

	* testsuite/23_containers/ (test01): Add.

	* docs/index.html: Remove references to egcs.
	* docs/17_intro/DESIGN: Same.
	* docs/17_intro/contribute.html: Same.
	* docs/17_intro/RELEASE-NOTES: Ditto.
	* docs/17_intro/howto.html: Same here.

	Russell Davidson <>
	* stl/bits/stl_vector.h (_M_insert_aux):
	* bits/locale_facets.tcc (_M_extract): Tweaks for preliminary
	decimal/floating point support.
	* bits/locale_facets.h: Change _M_extract prototype.
	* bits/char_traits.h (char_traits::to_int_type): Cast to unsigned.
	* bits/std_istream.h (istream::read(char_type, streamsize)): Fix.

1999-08-10  Michael Cook  <>

	* bits/fstream.tcc: Fix for unused variable warning (-Wall).
	* bits/ios_base.h: ditto.
	* bits/istream.tcc: ditto.
	* bits/locale_facets.h: ditto.
	* bits/locale_facets.tcc: ditto.
	* bits/std_streambuf.h: ditto.
	* src/ ditto.
	* src/ ditto.
	* src/ ditto.

1999-08-10  Kirat Singh  <>

	* bits/std_iomanip.h: Inline.

1999-08-10  Alfred Minarik <>

	* bits/std_streambuf.h: Correct member initialization order.
	* src/ Add definitions for ios_base data members.

1999-08-06  Phil Edwards  <>

	* docs/index.html:  Seventh snapshot updates.  Minor tweaks.
	* docs/faq/index.html: Ditto.  Removed bugs sections that have
	been fixed for a long time...  Lots of "egcs" references still
	* docs/faq/index.txt:  Regenerated.

1999-08-05  Gabriel Dos Reis  <>
	    Andreas Amann <>

	* testsuite/26_numerics/ (main): new test.

1999-07-29  Andreas Amann <>

	* bits/valarray_meta.h: (_BinClos<>::_Binclos): fix typo causing
	segmentation fault.

1999-08-04  Benjamin Kosnik  <>

	* docs/index.html (host): Put in testing status.

1999-08-03  Benjamin Kosnik  <>

	* docs/index.html: Update for libstdc++-2.90.6 release.
	* docs/17_intro/RELEASE-NOTES (New): Update.
	* docs/17_intro/BUGS: Update.
	* bits/ (__GLIBCPP__): Bump version number.
	* README (file): Update.

1999-08-03  Benjamin Kosnik  <>

	* src/ (generated_headers): Remove bits/c++config.h as
	a target.
	($(generated_headers)): Same.
	* src/ Remove, rename to
	* bits/ New file. Bump version number.
	* Generate bits/c++config.h at configure time.
	* math/mathconf.h: include bits/c++config.h, not config.h.

	* bits/std_cmath.h: Fix remaining link error for solaris shared
	builds.  _GLIBCPP_HAS_BUILTIN_SINF has to be disabled for the time
	being, as on Solaris this silently calls sinf, which does not

	* src/ More tweaks.

1999-08-03  Benjamin Kosnik  <>

	* src/ Same.
	* math/complex-stub.h: Change.
	* math/c_log10*.c: Change back to clog10*.c.

	* (NEED_C_LOG10): Delete.
	* configure: Regenerate.
	* math/ Change.

1999-07-30  Benjamin Kosnik  <>

	* math/ Fix, for real.
	* (use_builtin_sinf): Ok, make autoconf solution.
	* math/clog.c: Move to c_log.c.
	* math/clog*: Ditto.
	* math/c_log10l.c (c_log10l): Change function name.
	* math/c_log10f.c (c_log10f): Change function name.
	* math/c_log10.c (c_log10): Change function name.

	* math/complex-stub.h: Change to c_log* variants.
	* src/ And here.

1999-07-29  Benjamin Kosnik  <>

	* testsuite/27_io/ Correct last test.
	* bits/sstream.tcc (stringbuf::overflow): Don't update the input
	sequence, just the output sequence.
	* bits/std_sstream.h (stringbuf::str()): Only in stringbufs return
	the original string, all others use complicated heuristic.

	* src/ Assume c_log10.
	* math/ (EXTRA_yes): Fix c_log/c_logf unresolved
	symbols in shared libraries by making c_log/c_log10 part of the
	"must cmpile" sources. This may not work on solaris, must check.

1999-07-29  Benjamin Kosnik <>

	* bits/istream.tcc (operator>>(streambuf*)): Re-do.
	* bits/std_istream.h: Fix char extractors.
	* testsuite/27_io/ Change.
	* testsuite/27_io/ Add tests.

1999-07-28  Benjamin Kosnik <>

	* bits/std_cctype.h: Fix for solaris2.6 builds.

	* bits/istream.tcc: Fix, thanks Alfred.
	* bits/std_istream.h: Formatting changes.

	* libio/ (libio_la_SOURCES): Remove cleanup.c, so that
	_IO_cleanup will not be undefined.
	* libio/*: Regenerate.

	* bits/basic_string.h: More namespace-safety stuff.
	* testsuite/27_io/ Fix.
	* testsuite/27_io/ Fix.
	* testsuite/27_io/ Fix.
	* testsuite/27_io/ Fix.
	* testsuite/27_io/ Make namespace safe.
	* testsuite/27_io/ New file.

	* mkcheck (TESTS_FILE): Tweaks.

1999-07-27  Benjamin Kosnik  <>

	* src/ Note here, change version.
	* acconfig.h( _GLIBCPP_USE_CTYPE_ISBIT): New macro.
	* src/ Used here.
	* (use_builtin_sinf): Check for _ISBit using autoconf.

	* aclocal.m4: Regenerate by running `aclocal -I m4.`

	* bits/istream.tcc: Fix.
	* bits/std_istream.h: More changes to extractors.

	* testsuite/27_io/ More.
	* testsuite/21_strings/ (test01): Fix logic
	error in testsuite construction.

	* bits/std_istream.h: Partially revert.
	* bits/std_ostream.h: Same.
	* bits/std_sstream.h: Revert.

1999-07-26  Benjamin Kosnik  <>

	* bits/std_sstream.h: Change initialization.
	* bits/std_ostream.h: Make default ctor/assign/operator= private.
	* bits/std_istream.h: Same, also correct sentry args.
	* bits/istream.tcc: Add correct sentry args.

	* testsuite/27_io/ New file.
	* testsuite/27_io/ New file, old file,
	name changes making me dizzy.

1999-07-26  Ulrich Drepper  <>
            Benjamin Kosnik  <>

	* aclocal.m4, config.guess, config.sub, ltconfig Update
	to libtool 1.3.3.

1999-07-26 Gabriel Dos Reis  <>

	* bits/std_complex.h: Tweak. Make the primary template class
	complex work with user-defined numerical types.  Provide member
	definitions.  Restructure.
	(class complex<float>): Uglify.  Remove  __value().  Rename __val
	to _M_value.  Rename __complex_value_type to _ComplexT. Make it
	private.  Remove dependency on __value().  Fix various explicit
	specialization syntax.  Declare a some functions friend.  Now the
	implementation is nearly comforming.
	(class complex<double>): Likewise.
	(class complex<long double>): Likewise.

	* src/ Tweak.  Remove dependency on complex::__value().
	(sin, sinh, tan, than): Fix call to corresponding C9x function

1999-07-24  Benjamin Kosnik  <>

	* bits/istream.tcc (ws): Fix error with failbit being set.

	Disabled due to egcs/gcc-2_95 internal compiler errors.
	* src/ (CXXFLAGS): Add -fsquangle -fhonor-std
	-fnew-exceptions. Compiling with namespaces enabled will now be
	the default.
	* mkcheck (CXX_FLAG): Same.
	* src/ (_GLIBCPP_USE_NAMESPACES): Yup. New macro.
	* bits/std_cctype.h: Not enough to just define in namespace std if
	ctype-isms are macros. Need to also define in namespace std:: if
	the C functions are just plain functions.

	* src/ Fix spelling inconsistencies.

1999-07-24  Gabriel Dos Reis  <>

	* docs/18_support/howto.html: Start documentation.  Need to keep
	track of the ongoing discussion in th LWG reflector.

	* src/ Tweak.
	(class predicate): New class.
	(class value): Likewise.
	Make the whole machinery more flexible. Add comments.

1999-07-23  Benjamin Kosnik  <>

	* bits/ios_base.h: Move state/exception functions into basic_ios.
	* bits/basic_ios.h: Same.
	* src/ And here. Callbacks don't attempt to reset
	state now.

	* bits/std_streambuf.h: Separate ios and streambuf locale data
	members and cached facets. Using this convention: _M_locale_buf for
	the streambuf-related classes, and _M_locale_ios for the ios
	* bits/fstream.tcc: And here.
	* bits/basic_ios.h: And here. Also, add cached ctype.
	* src/ Ditto.
	* bits/ios_base.h: Ditto.
	* bits/std_istream.h: Use cached ctype facet.
	* docs/27_io/iostreams_hierarchy.pdf: Update for new data member

	* testsuite/27_io/ New file.
	* src/ Move _M_state init to basic_ios::init().
	* bits/basic_ios.h: To here.

	Attempt for some consistency in naming for testsuite/27_io/*.cc.
	* testsuite/27_io/ Rename to
	* testsuite/27_io/ Rename to
	* testsuite/27_io/ Rename to
	* testsuite/27_io/ Rename to

1999-07-22  Benjamin Kosnik  <>

	* src/ Tweak initializations of standard iostream
	objects to closely match the standard. Tie cin/wcin, set flags on
	* bits/char_traits.h: Change from size_t to int_type, as per
	standard. As per wide streams.
	* bits/basic_ios.h: Infect with __ctype_type, as a preparation
	for caching a bunch of ctype info. For instance, ctype_base::space
	info needs to be stored somewhere, somehow.
	* bits/std_istream.h: Also here.
	* bits/std_ostream.h: Ditto.
	* bits/std_istream.h (operator>>(istream, char): Aggh. Fixup.
	* testsuite/27_io/iostream_objects.cacc (test01): Oh yeah. Fix
	stream states.

	* bits/istream.tcc (ws): Fix.
	* testsuite/27_io/ New file, test ws.
	* testsuite/27_io/ New file, test endl, ends, flush.

 	* bits/basic_string.h: Provide a specialized member function for
	_S_find<char> using strchr.
	* src/ Put specializations here.
	* bits/string.tcc: Small fix for find, remove typo.
	* testsuite/21_strings/ (test01): Add tests to catch this
	find bug. . .

1999-07-20  Benjamin Kosnik  <>

	* bits/basic_ios.h: Put into basic_ios namespace.
	Tweak widen/narrow.

1999-07-19  Benjamin Kosnik  <>

	* bits/std_sstream.h (stringbuf::sync): Change to _M_really_sync,
 	adjust _M_*_cur pointers inside the function, so callee doesn't
 	have to adjust.
	* bits/sstream.tcc (stringbuf::overflow): Tweak.

	* mkcheck: Tweak. Add execution time field, even though it is not
 	implemented yet. Simplify pass/fail status notation.

1999-07-18  Mumit Khan  <>

        * Check for float.h and underscored version of
        math functions.
        * acconfig.h: Add @BOTTOM@ section for handling underscored
        math functions.
        * configure: Regenerate.
        * Regenerate.
        * math/mathconf.h (float.h): Include conditionally.
        (M_PI): Define conditionally.
        (INFINITE_P): Define for Mingw.
        * bits/locale_facets.tcc: Workaround for compiler crash on
        * bits/std_cwchar.h (bits/std_cstddef.h): Include.
        * src/ (bits/std_istream.h): Include.
        (bits/std_ostream.h): Likewise.

1999-07-18  Phil Edwards  <>

	* docs/faq/index.html:  Updated __black_count notes, fixed typos.
	* docs/faq/index.txt:  Regenerated.

1999-07-15  Benjamin Kosnik  <>

	* testsuite/27_io/ Cccchanges, latent bugs.

	* bits/sstream.tcc (stringbuf::overflow): Modify accounting of
 	newly-allocated buffer.
	* bits/streambuf.tcc (streambuf::xsgetn): Aaaaaah. Fix final
 	overflow condition bits.

1999-07-14  Benjamin Kosnik  <>

	* bits/std_sstream.h (stringbuf::_M_init_stringbuf): Set
	_M_buf_size to initial _M_string.size(), even though for
	ostringstreams it is pretty pointless. It's necessary for
	(stringbuf::str()): Adjust.
	(stringbuf::str()): Adjust, call _M_init_stringbuf.
	* bits/streambuf.tcc (streambuf::xsgetn): Adjust return value for
	overflow's possible success.
	(streambuf::xsputn): Adjust.

	* testsuite/27_io/ Adjust for the xsgetn re-write from
	* testsuite/27_io/ Tweak.
	* testsuite/21_strings/ (test01): Remove
	notes to myself.
	* testsuite/23_containers/ Rename to be consistent
	with other constructor tests to. . .
	* testsuite/23_containers/ New file.

1999-07-14  Alfred Minarik <>

	* testsuite/*: Changes to make the testsuit compilable with
	-fhonor-std. Contains direct qualification of library names with

1999-07-13  Benjamin Kosnik  <>

	* bits/streambuf.tcc: Tweaks.
	(streambuf::xsputn): Optimize, fix for sstreams.
	(streambuf::xsgetn): Same.
	* bits/sstream.tcc (stringbuf::overflow): Adjust _M_buf_size
 	correctly, handle overflow/reallocate conditions correctly.
	* bits/std_sstream.h: Fix typo.
	_M_init_stringbuf(): Fix _M_buf_size initialization.
	(stringbuf::str()): Construct return string if output has occurred.

	* bits/basic_string.h: Fix typo from yesterday's patch.

1999-07-12  Ryszard Kabatek <>

        * bits/string.tcc: _M_mutate - clear _M_state again.
        * bits/basic_string.h: In the three functions that return
	an iterator set _M_state to -1 before return.
	Also optimized two cases of operator+.

1999-07-12  Phil Edwards  <>

        * docs/index.html:  Expand egcs-1.1.2 notes/links.
        * docs/faq/index.html:  And here.  Add links to LWG issues-list.
        * docs/faq/index.txt:  Regenerate.  (lynx rocks)
        * docs/21_strings/howto.html:  Fix notes on case conversion.
        * docs/21_strings/stringtok_h.txt:  Goodly spelling...
        * docs/23_containers/howto.html:  Stub for bitmasks.
	* docs/27_io/howto.html: Add section on buffering, stub binary.

1999-07-12  Nathan Myers <>

	* stl/bits/stl_tree.h (__black_count): Optimize.

1999-07-09  Vadim Egorov  <>

        * src/ Cleanup in __basic_file destructor.

1999-07-08  Benjamin Kosnik  <>

	* bits/std_streambuf.h: Changes. . .
	* bits/streambuf.tcc: Merge xsputn from filebuf into xsputn in
	basic_streambuf, to be used for both filebufs and streambufs.
	* bits/std_fstream.h (_M_init_filebuf): New function.
	Take out specialized xsputn, put into basic_streambuf.
	* bits/fstream.tcc: Define, call from both ctors.
	* bits/std_sstream.h (_M_init_stringbuf): New function.
	* bits/sstream.tcc: Tweak.

	* docs/27_io/iostreams_hierarchy.pdf: New file.

	* docs/17_intro/CHECKLIST (basic_string<char>): Validation and
	acceptance. Wooo-hoo!

	* bits/char_traits.h: Change int_type for char_traits general
	template, so that 21_strings/ will compile.
	* testsuite/21_strings/ Add operators.

	* bits/string.tcc (string::compare): Clean up, re-implement.
	* testsuite/21_strings/ Tweak.

	* bits/string.tcc (string:_M_mutate): Keep leaked value in
	_M_state, which means that whenever begin() or end() has been
	called, the string is unshareable, period. By doing this, insert
	and erase member functions that return iterators can remain
	footloose and fancy free.
	* testsuite/21_strings/ Update.

        * bits/basic_string.h (string::append): Fix self-referential
	problems, ie when "this" is also an argument to a member function.
        * bits/string.tcc: Tweak, same.
        * testsuite/21_strings/ New file.

1999-07-07  Benjamin Kosnik  <>

	* bits/char_traits.h: Tweaks.
	* bits/basic_string.h: Tweak.
	* bits/fstream.tcc: Remove warning for _M_buf_size assignment.

1999-07-06  Benjamin Kosnik  <>

	* bits/std_streambuf.h: Absorb/acquire data members previously
 	working in basic_filebuf.
	* bits/streambuf.tcc: Tweaks.
	* bits/fstream.tcc: Adjust.
	* bits/std_fstream.h: Move and rename the following functions:
 	_M_set_ideterminate, _M_is_indeterminate, _M_set_determinate are
 	now declared and defined in the base class, basic_streambuf.  Oh
 	fuck it, move data members _M_buf, and _M_buf_size into
 	basic_streambuf as well.

	* bits/ostream.tcc: Tweak.
	* bits/locale_facets.tcc: Fix typo in comments.

	* testsuite/21_strings/ (test01): Change
 	state from good to not good, as eof() is set.

1999-07-05  Benjamin Kosnik  <>

	* bits/char_traits.h (char_traits::compare). Fix.

	* config.guess, config.sub: Update.

1999-07-02  Ryszard Kabatek <>

        * bits/string.tcc: Check the __res_arg for a length error.

1999-07-01  Benjamin Kosnik  <>

	* bits/std_streambuf.h: Tweaks. Need to move _M_is_indeterminate
	and related functions into basic_streambuf, from basic_filebuf to
	take care of ostringstreams and empty strings. So that's groovy,
	or will be groovy.
	* bits/std_istream.h: Tweaks.
	* bits/istream.tcc: Implement ws, getline, operator>> for string.
	* bits/std_ostream.h: And here.
	* bits/ostream.tcc: Same.
	* src/ Add instantiations for ws.

	* src/ Add instantiations for inserters and
	extractors (operators << and >>, getline).

	* testsuite/21_strings/ Amazingly enough,
	a testcase for getline and operators << and >>. Ostream tests are
	failing right now, but istream tests should work. . .

	* bits/string.tcc: Change _S_max_size, as GNU malloc won't budge.
	* bits/std_sstream.h: Revert.

	* testsuite/17_intro: header_[iosfwd, ios, iostream, iomanip,
	istream, ostream, streambuf, fstream, sstream].cc: New files.

1999-06-30  Ryszard Kabatek <>

	* bits/std_sstream.h (stringbuf::sync): Don't use string::begin()
	and string::end().

        * bits/basic_string.h (basic_string<>::_S_copy_chars): Add
	specializations for _CharT*, iterator and const_iterator.
	* src/ Remove explicit instantiation, as
	now explicitly specialized.

	* bits/basic_string.h: Add a size_type parameter to _M_clone with
	a default value set to 0.
        * bits/string.tcc: In _M_clone by the call of _S_create add the
	value of the new parameter to _M_length.  In reserve check
	_M_state and use _M_clone instead of _M_mutate.

1999-06-30  Benjamin Kosnik  <>

	* bits/basic_string.h: Fix _S_max_size.
	* bits/string.tcc: Add def here.
	* testsuite/21_strings/ Fix.

	* bits/sbuf_iter.h: Remove detritus.
	* testsuite/24_iterators/ Add tests.

	* src/ Elaborate iterator/locale instantiations
	to resolve alpha-osf4 build problems.

1999-06-29  Benjamin Kosnik  <>

	* bits/string.tcc: Fix signed/unsigned issues in compares.
	* stl/bits/stl_deque.h: And here.
	* stl/bits/stl_string_fwd.h: Remove __get_c_string.

1999-06-29  Ryszard Kabatek <>

         * bits/string.tcc: New implementation and interface of _M_mutate.
           Adapt the change in all functions that call _M_mutate.
         * bits/basic_string.h: And here.

1999-06-29  Benjamin Kosnik  <>

	* testsuite/21_strings/ (test01): Fix.

1999-06-29  Phil Edwards  <>

        * mknumeric_limits:  Exit script if gen-num-limits isn't built.

1999-06-29  Andreas Gruenbacher  <>

	* stl/bits/stl_vector.h: Fix.
	* testsuite/23_containers/ Add.

1999-06-29  Gabriel Dos Reis  <>

	* mknumeric_limits (LDFLAGS): fix.

1999-06-29  Gabriel Dos Reis  <>

	* mknumeric_limits (LDFLAGS): set it according to the system.

	* math/mathconf.h (NAN): Check whether host is running under
	Cygwin and make the appropriate definition.
	* math/complex-stub.h (nan): protect declaration.

1999-06-28  Benjamin Kosnik  <>

	* bits/sbuf_iter.h: Rename internal data structure to prevent
	confusion between basic_ios and istreambuf_iterators internal
	basic_streambuf data member.
	* testsuite/24_iterators/ New file.

	* bits/basic_string.h: Remove conditionals, add input_iterator
	version of S_construct again.
	* bits/string.tcc: Same.
	* src/ And add explicit instantiation here.

	* src/ (_GNU_SOURCE): Take out both _GNU_SOURCE
	and __USE_GNU macro defines, as single __USE_GNU use leading to
	confusion on glibc2.1 systems (ie, RedHat 6.0).

	* src/ (headers): Add std_utility to installed headers.

1999-06-25  John Potter  <>

	* stl/bits/stl_tree.h (insert_unique): Revert, just fix insert_equal.

1999-06-25  Gilles Zunino  <>

	* mknumeric_limits (LDFLAGS): Swap -lc and -lgcc.

1999-06-24  Benjamin Kosnik  <>

	* src/ (_GLIBCPP_*): Change all
	macros to include _GLIBCPP as a distinct namespace.
	* bits/*: And here.
	* src/*: And here.

	* stl/bits/std_stdexcept.h: Forward-declare __Named_exception ctor.
	* bits/basic_string.h: Remove __get_c_string.
	* src/ Define ctor here.
	* bits/ios_base.h: And fix ios_base::failure as well.
	* src/ Define here.

	* bits/std_streambuf.h: Add a private copy ctor and assignment
	operator wrapped in _G_RESOLVE_LIB_DEFECTS.
	* bits/ios_base.h: And here too.

	* bits/basic_string.h: Tweak.
	* testsuite/21_strings/ Add operator+ tests.

	* src/ Rename to. . .
	* src/ This.
	* src/ (sources): Change here.
	* src/ Regenerated.

1999-06-24  Vadim Egorov  <>

        * bits/string.tcc(basic_string<>::_Rep::_S_create): Fixed
        allocated size

1999-06-24  Benjamin Kosnik  <>
            Tom Tromey  <>

	* (use_glibc2): Eek, correct for non-glibc systems.
	Use AM_CONDITIONAL to get us out of this jam. .
	* libio/ Same.
	* */Makefile: Regenerated.

1999-06-24  Benjamin Kosnik  <>
            John Potter  <>

	* stl/bits/stl_tree.h (insert_equal): Fix.
	* testsuite/23_containers/ New file.

1999-06-23  Benjamin Kosnik  <>

	* (test for glibc2): Correct AC_TRY_COMPILE so that
	this works correctly on glibc-2 systems. This should allow
	simplified linking on these systems, and successful linking on Red
	Hat 6.0 systems.
	* configure, Makefile: Regenerate.

	* bits/std_cwctype.h: Add missing 'w' to _S_iswpunct_helper name.

	* testsuite/ext: New directory.
	* testsuite/ext/ New file.

1999-06-23  Vadim Egorov  <>

        * stl/ext/hash_set: include missing headers
        * stl/ext/hash_map: Same
        * stl/ext/slist: Same

1999-06-17  Gabriel Dos Reis  <>

	* bits/std_cmath.h: comment out modf. Kills build on hpux10.20

1999-06-15  Benjamin Kosnik  <>

	* src/ (sources): Regenerate.
	* mkcheck: Add TESTS_FILE as a way of controlling what testcases
	are run.

1999-06-14  Benjamin Kosnik  <>

	* src/ Change _S_construct signature, to
	track requested allocation size versus valid input iterator range.
	* bits/basic_string.h: Here too.
	* bits/string.tcc: And here.

1999-06-12  Benjamin Kosnik  <>

	* mkcheck (LOG_FILE): Correctly append errors.

	* stl/bits/stl_iterator.h: Revert previous, delirious, change.

	* bits/basic_string.h: Change _Rep::_M_data to _Rep::_M_refdata,
	to clarify differences between basic_string::_M_data() calls and
	_Rep::_M_data() calls.
	* bits/std_string.h: Fix.
	Put in check for out_of_range in substr.
	* bits/string.tcc:  Fix for _S_find.

	* testsuite/21_strings/ Add tests.
	* testsuite/21_strings/ New file.
	* testsuite/21_strings/substr: New file.
	* testsuite/21_strings/ New file.

1999-06-11  Gabriel Dos Reis  <>

	* bits/valarray_array.h: __restrict__ify pointers.

	* bits/std_valarray.h: Tweak.
	(valarray<T>::cshift, valarray<T>::shift): use __builtin_alloca.

	* bits/gslice_array.h: Tweak. Reflect changes in bits/gslice.h

	* bits/gslice.h: Tweak.
	(class gslice::_Indexer): new class.
	(gslice::gslice(const gslice&)): implement copy-ctor to support
	ref-counted index.
	(gslice::operator=(const gslice&)): support ref-counted index.
	(gslice::_M_convert_to_index): delete.

	* src/ New file.
	(__gslice_to_index): turn a gslice into a valarray<size_t>
	(ctor gslice::_Indexer::_Indexer): implement.

	* src/ (sources): add
	* src/ regenerate.

1999-06-08  Benjamin Kosnik  <>

	* stl/bits/stl_iterator.h (__normal_iterator::const_iterator
	ctor): Put in a const_cast.

	* testsuite/21_strings/ New file.

	* testsuite/21_strings/ Add exception handling bits.
	* testsuite/21_strings/ Same.

	* src/ Add c++config.h include.

	* bits/basic_string.h: Fix const operator[] for size == pos.
	Add _M_leak for rbegin, non-const.
	Add _M_leak for rend, non-const.
	Make member function at standards conformant.
	Add _S_terminal to _Rep for operator[] const, add this into
	c_str() as well.
	* bits/string.tcc: Add static member definition here,

	* testsuite/21_strings/ Add tests.

1999-06-08  Vadim Egorov  <>

         * bits/fstream.tcc (_M_really_overflow): Fixed size of
         conversion buffer.

1999-06-08  Phil Edwards  <>

        * bits/fstream.tcc (basic_filebuf::xsputn):  Fix off-by-one count
          caused when __testinit is true.
        * bits/ostream.tcc (basic_ostream::op<<(streambuf*)):  Write buffer
          using rdbuf()->sputn rather than _M_fnumput->put.

1999-06-08  Benjamin Kosnik  <>

	* testsuite/23_containers/ New file.
	* stl/bits/std_bitset.h (__BITSET_WORDS): Fix integration bug.

1999-06-08  Phil Edwards  <>

        * bits/fstream.tcc (basic_filebuf::underflow):  Fix, rename local vars.

1999-06-07  Benjamin Kosnik  <>

	* testsuite/21_strings/ Finish off these tests.
	* testsuite/21_strings/ (test01): Uncomment.
	* testsuite/21_strings/ (test01): Finish off ctors.
	* bits/basic_string.h: Tweak, okay, fix for real this time.
	* bits/string.tcc: Same.
	* bits/char_traits.h: Tweak.

1999-06-07  Benjamin Kosnik  <>

	* bits/std_cmath.h: Example of how to use the generated macro.
	* acconfig.h: Add macro for sinf here.
	* (LIBS): Add test for builtin math function sinf.
	* configure: Regenerated.

	* bits/basic_string.h: Fix _S_max_size.

1999-06-06  Benjamin Kosnik  <>

	* bits/basic_string.h: Fixes for out-of-memory segv for large strings.
	Remove _S_construct signature for forward_iterator_tag and
	Clean _M_fold.
	* src/ Same, tweaks.
	* bits/string.tcc: Same, tweaks.

	* testsuite/21_strings/ Add/clarify tests.
	* mkcheck (LOG_FILE): Fix filebuf-[2,3].tst checks.
	* mknumeric_limits (LD_FLAGS): Add -nodefaultlibs -lc -lgcc as per

	* src/ Final separation for char/wchar_t bits.

1999-06-05  Phil Edwards  <>

        * docs/index.html:  Added link to book upon request'n'agreement.
        * docs/23_containers/wrappers_h.txt:  Added.
        * docs/{23_containers,27_io}/howto.html:  Added sections.

	* bits/std_fstream.h: Tweak.

1999-06-05  Benjamin Kosnik  <>

	* src/ Same here.
	* bits/std_iosfwd.h: More wchar_t defines.

	* bits/basic_string.h: Tweaks.
	* bits/string.tcc: Tweak. Fix _S_construct to check for max_size
	when doing error checking, as per LWG defect #83.

	* src/ Fix comment.

	* testsuite/21_strings/ New file, checks ctors,
	assignments, dtors.
	* testsuite/21_strings/ New file, checks for
	operator[], at(...).
	* testsuite/21_strings/ New file, tests string::insert.
	* testsuite/21_strings/ New file, tests
	for char_traits<char>.

	* bits/utility.h: Remove, again.
	* src/ (std_headers): Remove utility.h.
	* src/ (std_headers): Regenerate.

	Alfred Minarik <>
	* bits/basic_string.h: Move __out_of_range and __length_error into
	namespace std.

1999-06-05  Gabriel Dos Reis  <>

	* testsuite/26_numerics/ New file.

	* bits/std_cmath.h (modf(float, float*)): Fix signature. Correct
	typo: use ::modff, not ::modf.

1999-06-03  Vadim Egorov  <>

        * bits/string.tcc (basic_string::_M_mutate): Fixed memory
        allocation error
	* testsuite/21_strings/ (test01): Test.

1999-06-03  Phil Edwards  <>

        * bits/fstream.tcc:  Re-order inits to stop warnings.  Comment/move
          unused variables to within #if 0 blocks to do the same.
        * bits/std_fstream.h:  Fix typos (one prevents compilation).

1999-06-03  Benjamin Kosnik <>

	* src/ Fix.

1999-06-02  Benjamin Kosnik <>

	* bits/char_traits.h: Add _G_USE_WCHAR_T macro guards.
	* stl/bits/stl_string_fwd.h: Same.
	* bits/locale_facets.h: Same.
	* bits/locale_facets.tcc: Same.
	* src/ And here.

	* src/ Comment _G_USE_WCHAR_T. Leading to
 	problems on HPUX 10.20.
	* your-build-directory-here/bits/c++config.h: Just kidding, do it
 	here as a temporary hack till the compiler/host problems get
 	worked out.

	* bits/locale_facets.tcc (num_get::do_get): Change from ifdef
 	HAVE_STRTOLD to HAVE_STRTOLD && !(__hpux). Apparently, problems
 	converting "long double" to struct long_double. Probably should be
 	done with one macro (HAVE_STRTOLD) at configure time.

	* bits/std_cmath.h: Comment out pow(double, int) definition as
 	gives re-declaration under hpux10.20. Revert previous change, as
 	kills linux/x86, solaris 2.7, hpux builds. These should be done
 	using autoconf, see std_cctype.h and the solutions started in (see config.h for the generated file.)

	* mknumeric_limits (LDFLAGS): Remove '-nodefaultlibs -lc', as
 	-nodefaultlibs prevents linking under HPUX 10.20 as __main is not

	* docs/index.html: Add some useful links.
	* docs/17_intro/contribute.html: Fix broken links.

1999-06-02  Benjamin Kosnik <>

	* mkcheck (LOG_FILE): Add !/bin/bash instead of cygnus-style
	paths. The rest of the world should be able to run this script

	* src/ ($(generated_headers)): Remove comment.
	* Makefile*: Regenerate.

	* bits/std_locale.h: Remove detritus.
	* bits/localefwd.h: Add <cctype> include to undefine the isspace

1999-06-01  Benjamin Kosnik  <>

	* src/ New file. Making c++config.h at configure
	time by catting this file (nee bits/config.h) with the build
	directories config.h. This is not a complete or perfect solution
	but is better than what was in place previously.
	* bits/c++config.h: Rename/move to above.
	* src/ (headers): Remove c++config.h.
	(myinstallheaders). Add.
	* Makefile*: Regenerated.

	* bits/std_cwchar.h: Add include of c++config.h for HAVE_*
	definitions, so that wmemcmp, wcslen, wmemchr, etc are properly
	declared only if not present in the host's wchar.h.

	* bits/locale_facets.tcc (std): Change _G_USE_STRTO* to HAVE_STRTO*.

	* bits/std_cmath.h: Define out, for the moment. Linux has no
	__buitin_fsqrtl? Probably need some kind of configure trickery
	here as well.

	* src/Makefile.*: Regenerate.
	* bits/c++config.h: Add config.h include.

	* bits/std_cwchar.h: Remove remaining #error guard.

	* acconfig.h: Add bits for HAVE_LC_MESSAGES.

	* (LIBS): Replace previous effort for mbstate_t and
	strtold/strtof with this implementation.

1999 06-01  Gabriel Dos Reis  <>

	* bits/std_cmath.h: Tweak. Add more functions. Use __builtin_xxx
	whenever possible.

1999-05-28  Benjamin Kosnik  <>

	* bits/locale_facets.tcc (std): Eek: this left in. Autoconf bits
	for determining mbstate_t differences across various hosts not

1999-05-26  Benjamin Kosnik  <>

	* bits/locale_facets.tcc: Change to ifdef.

	* bits/std_sstream.h (stringbuf::setbuf): Remove dynamic_cast.
	* bits/std_fstream.h (filebuf::setbuf): Same.

	* bits/std_istream.h: Add ws declaration.
	* bits/istream.tcc: Stub out definition.

	* docs/index.html: Fix broken link for design.txt.

	* Test for mbstate_t. If wchar.h doesn't have it,
	then set _G_NEED_MBSTATE_T.
	* configure: Regenerate.
	* bits/c++config.h: Move mbstate_t define.
	* bits/std_cwchar.h: To here.

1999-05-25  Ryszard Kabatek <>

        * bits/std_sstream.h:
          basic_stringbuf<>::basic_stringbuf: fix.
          remove the temporary __string_type object,
          remove the unnecessary dynymic_cast in the return value,
          change the type of the returned value from __streambuf_type*
          to basic_stringbuf<_CharT, _Traits, _Alloc>*.

1999-05-25  Phil Edwards  <>

	* bits/std_streambuf.h (streambuf::setbuf): Always return streambuf*.

1999-04-25  Gabriel Dos Reis  <>

	* bits/std_cmath.h: Tweak. Add float versions of the math functions
	in <math.h>.  <cmath> still incomplete and incorrekt.

1999-05-24  Gabriel Dos Reis  <>

	* mknumeric_limits (LDFLAGS): set appropriate link flags.

1999-05-23  Phil Edwards  <>

	* docs/17_intro/howto.html:  Added links to text docs,
	e.g., BUGS.
	* docs/21_strings/howto.html:  Updated sections and links.
	* docs/21_strings/{gotw29a.txt,stringtok_h.txt}:  Added.
	* docs/faq/index.html:  Updated what-works for sixth
	snapshot. Also a number of "internal" links have been
	fixed, now that the web pages are the docs directory...
	* docs/faq/index.txt: Regenerated.

1999-05-21   Benjamin Kosnik  <>

	* bits/basic_string.h: Add Nathan's documentation on the string class.

	* testsuite/27_io/ New file, for testing

1999-05-21   Benjamin Kosnik  <>

	* bits/std_locale.h: Simplify includes.
	* bits/loccore.h: Delete.
	* bits/localefwd.h: Renamed, trimmed.
	* bits/locfacets.h: Delete.
	* bits/locale_facets.h: Rename, expanded.
	* bits/loccore.tcc: Deleted.
	* bits/locfacets.tcc: Deleted.
	* bits/locale_facets.tcc: Resultant merge.
	* bits/std_fstream.h: Modify include.
	* bits/ostream.tcc: Same.
	* bits/istream.tcc: Same.

	* src/ And here.
	* src/ Ditto.
	* src/ Updated.
	* src/ Rengenerated.

	* bits/std_istream.h: Move istream::sentry ctor definition.
	* bits/istream.tcc: Move istream::sentry ctor here.
	Add more detailed locale include here for ctype member functions.
	* bits/ostream.tcc (std): And here.

	* bits/sbuf_iter.h: Include std_streambuf.h

	* bits/locfacets.h: Start separating this into a localeimp.h file.
	* bits/loccore.h: Start separating this into a localefwd.h file.
	Add std_climits for CHAR_BIT.

	* bits/ios_base.h (ios_base::sync_with_stdio): Stub in.

	* bits/char_traits.h: Tweak.

	* bits/ios_base.h: Remove INT_MAX, use 1<<16.

	* bits/std_ostream.h: Remove c++config.h include.
	* bits/std_istream.h: Same.
	* bits/std_streambuf.h: Same.
	* bits/std_fstream.h: Same.
	* bits/std_sstream.h: And here.

	* bits/std_iosfwd.h: Add _G_RESOLVE_LIB_DEFECTS here for streampos.
	* bits/char_traits.h: Add include of std_cwchar.h for mbstate_t.
	* bits/fpos.h: Tweak, format.

	* std/ciso646: New file.
	* bits/std_ciso646.h: New file.
	* src/ (std_headers): Add ciso646.
	(headers): Add bits/std_ciso646.h.
	* src/ Regenerate.
	* testsuite/17_intro/ New file, disable
	equivalance tests.

	* bits/fpos.h: Remove libio.h include.
	* bits/basic_file.h: And here.
	* bits/std_ios.h: Put here.

	* src/ Simplify includes, tweak.
        * bits/std_ios.h: Simplify include order.
	* bits/ios_base.h: Modify ios_base::failure.

	* stl/bits/std_numeric.h: Change include from stl_iterator to

1999-05-19  Benjamin Kosnik  <>

	* std/iostream: Remove static member __ioint.
	* bits/std_iostream.h: Put here.

	* stl/bits/std_numeric.h: Remove unneccessary std_iostream.h include.
	* stl/bits/stl_algobase.h: Same.
	* testsuite/27_io/ Regression tests.
	* testsuite/27_io/ Remove, subset of above.

1999-05-19  Phil Edwards  <>

	* docs/index.html: Tweak, update.

1999-05-18  Gabriel Dos Reis  <>

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

1999-05-18  Phil Edwards  <>

        * docs/{17_intro,18_support,19_diagnostics,20_util,21_strings,
          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  <>

	* 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/ (myinstallheaders): Bring over Gaby's changes to
 	install $(top_builddir)/bits/std_limits.h into
 	$(myincludepfx)/bits. This was mistakenly omitted from yesterday's changes.
	* *Makefile*: Regenerate using automake.

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

1999-05-18  Gabriel Dos Reis  <>

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

1999-05-17  Phil Edwards  <>

	* docs/{17_intro,18_support,19_diagnostics,20_util,21_strings,
	  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  <>

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

1999-05-17  Benjamin Kosnik  <>

	* 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/ Tweak.

	* testsuite/27_io/ Adjust.
	* testsuite/21_strings/ (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/ (headers): Add bits/std_cwctype.h.
	INCLUDES: Add top_builddir.
	* src/ Regenerate.

	* Add check and check-install as new targets.
	* testsuite/make_check_libfree++: Move to. . .
	* mkcheck: Here.
	* Tweak versions.
	* mknumeric_limits: Set paths correctly.

1999-05-17  Gabriel Dos Reis  <>

	* src/ (myinstallheaders): add rule to install

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

	* (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/ (libstdc___la_SOURCES): add gen-num-limits.
	* src/ (libstdc___la_SOURCES): keep in sync.
	[Note: **/ should be generated from the corresponding  The current situation is a litte chaotic.  ]

1999-05-16 Gabriel Dos Reis  <>

	* mknumeric_limits: tweak.

	* (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
	directly under $(top_builddir)/src. Remains to put the appropriate
	rule for installing std_limits.h.

	* src/ (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 form this list
	* src/ reflect changes in src/

1999-05-12  Phil Edwards  <>

	* 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  <>

	* testsuite/17_intro/ New file.
	* stl/bits/std_queue.h: Change stl_bvector.h include path.
	* bits/std_cwctype.h: New file.

	* testsuite/27_io/ Need to tweak directory structure.

1999-05-11  Benjamin Kosnik  <>

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

	* bits/basic_string.h: Change.

	* testsuite/make_check_libfree++: More tweaks.
	* testsuite/21/ New file.

	* src/ Rename to be consistent with other inst files.
	Rename to
	* src/string*.cc: Change include.
	* src/ Rename to
	* src/wstring*.cc: Ditto.
	* src/ Also here.
	* src/ Ditto.

	* src/ Remove.
	* src/ 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
	* 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  <>

	* src/ Add _S_copy_chars instantiation, as well as
 	string::binary operators !=, ==, etc.

	* src/ (CXXFLAGS): Remove -fvtable-thunks.
	* src/ (CXXFLAGS): Same here.
	* testsuite/make_check_libfree++ (CXX_FLAG): And here.

1999-05-07  Benjamin Kosnik  <>

	* src/  Add missing member functions to instantiation list.

1999-05-07  Benjamin Kosnik  <>

	* src/ 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/ New file for testing c_str() etc.

1999-05-06  Benjamin Kosnik  <>
            Ryszard Kabatek  <>

        * stl/bits/stl_vector.h: Fix the code of vector<> for usage with
	an iterator class.  Delineate pointer versus iterator differences
	in implementation.
	* 23/ New file, tests for above.

1999-05-06 Gabriel Dos Reis  <>

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

1999-05-05  Benjamin Kosnik  <>

	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  <>
	    Ulrich Drepper <>

	Solaris build issues.
	* bits/c++config.h: Define new macros, _G_USE_STRTOF and

	* 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 <>

        * 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  <>

	* src/ (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/ 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/ (headers): Add stl_range_errors.h, also adjust
	for ext/*.  Also add basic_file.h.
	* src/ (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
	* 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/ (headers): Remove utility.h
	* src/ (headers): Remove utility.h

	* stl/bits/*: Update to SGI STL 3.20.
	* stl/ext/pthread_alloc: Delete this file.

1999-05-04 Phil Edwards <>

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

1999-05-04 Gabriel Dos Reis  <>

	* src/ (DO_DEFINE_MIN_MAX): fix typo.

1999-04-29  Benjamin Kosnik  <>

	* 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  <>

	* 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  <>
	    Ryszard Kabatek and Branko Cibej

	* bits/locfacets.tcc: Modify.

1999-04-27  Benjamin Kosnik  <>

	* 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/ Add tests.

	* bits/locfacets.h: Remove cruft from _Format_cache, continue
	commenting, simplify.
	* bits/locfacets.tcc: Same.

	1999-04-27  Ryszard Kabatek  <>
        * 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  <>

	* 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/ Add cases.

1999-04-25  Gabriel Dos Reis  <>

	* 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  <>

	* testsuite/27filebuf-2.txt: Delete.
	* testsuite/27/ Put output files directly into the
	correct subdirectory (27).

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

1999-04-22  Benjamin Kosnik  <>

	* bits/locfacets.tcc: Fix.

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

	* testsuite/27/ Tweak.
	* testsuite/27/ 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  <>

	* bits/fstream.tcc (filebuf::xsputn): Add.
	* bits/std_fstream.h: Declare.

	* src/ (__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/ Same.
	* testsuite/27/ 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

1999-04-20  Benjamin Kosnik  <>

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

	* bits/ios_base.h: Define here.
	* src/ (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/ Add/Fixes for DEBUG_ASSERT.
	* testsuite/27/ Same.
	* testsuite/27/ Same.
	* testsuite/27/ Same.
	* testsuite/27/ Same.

	* bits/locfacets.h: Remove specializations for messages<char> and
	messages<wchar_t> ctors. Same for moneypunct. Not required, not used.
	* src/ Remove definitions for above.
	* src/ Revert, take out iomanip.h include.
	* bits/std_iomanip.h: Tweak, format.

1999-04-19  Benjamin Kosnik  <>

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

	Ulrich Drepper  <>
	* aclocal.m4: Re-generate.
	* configure, Same.
	* m4/lc_messages.m4: New file.

1999-04-18  Benjamin Kosnik  <>

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

	* std/iostream: Put __ioinit inside macro guards.

	* src/ Delete and move to . . .
	* src/ New file, plus wrapping in namespace std.
	* src/ Change.
	* src/ Same.
	* src/ Add istringstream/ostringstream instantiations.

	* testsuite/make_check_libfree++: Efficiently format for minimal
	space. Enforce stricter execution tests by enabling

1999-04-16  Benjamin Kosnik  <>

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

	* src/ (headers): Add istream.tcc.
	* src/ (headers): Add istream.tcc.

	* ltconfig,, libtool: Update to libtool-1.2g.

1999-04-16  Benjamin Kosnik  <>

	* 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/ Add.

1999-04-16  Martin v. Löwis  <>

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

1999-04-15   Benjamin Kosnik  <>

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

	* doc/* : Delete.
	docs/text and made less strident.

	* bits/fstream.tcc: Change non-standard ctor to match Sun's sematics.
	* bits/std_fstream.h: Same.
	* src/ Same.

	* bits/locfacets.h: Touch.

1999-04-15  Ulrich Drepper  <>

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

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

1999-04-15  Gabriel Dos Reis  <>

	* 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  <>

	* 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/ Add cases.

1999-04-13   Mark Elbrecht  <>

	* Add locale.h to AC_CHECK_HEADERS argument. Call
	* aclocal.m4 (AC_LC_MESSAGES): New. Determines if a target
	supports LC_MESSAGES.
	* Add entry for HAVE_LC_MESSAGES.
	* src/ (locale::_S_normalize_category): Use the
	HAVE_LC_MESSAGES macro to check for LC_MESSAGES support instead of
	* 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  <>

	* src/ [O_BINARY]: Declare __testb.

1999-04-12   Benjamin Kosnik  <>

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

	* testsuite/21/ Same.
	* testsuite/21/ Fix license.
	* testsuite/27/ New file.

1999-04-12  Gabriel Dos Reis  <>

	* 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

1999-04-08  Benjamin Kosnik  <>

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

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

1999-04-08  Gabriel Dos Reis  <>

	* 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  <>

	* bits/valarray_array.h: tweak.

1999-04-06  Benjamin Kosnik  <>

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

1999-04-06  Benjamin Kosnik  <>

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

	* 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  <>

	* src/ new file
	* mknumeric_limits: Ditto.

1999-03-30  Benjamin Kosnik  <>

	* 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

1999-03-30  Benjamin Kosnik  <>

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

1999-03-30  Philip Martin  <>

	* testsuite/24/ fix ++/-- tests

1999-03-29  Benjamin Kosnik  <>

	* 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  <>

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

1999-03-23  Benjamin Kosnik  <>

	* 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  <>

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

1999-03-18  Benjamin Kosnik  <>

	* 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/ 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/ Add bits.
	* testsuite/27/ Add bits.
	* testsuite/27/ Add bits.

1999-03-17  Benjamin Kosnik  <>

	* (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/ Same, clean.
	* src/ Same, clean.

1999-03-17  Ryszard Kabatek  <>

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

1999-03-17  Philip Martin  <>

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

1999-03-16  Benjamin Kosnik  <>

	* bits/locfacets.tcc: Remove macro hack.
	* bits/locfacets.h: Tweaks.
	* src/ Weed out locale-related instantiations.
	* src/ 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/ Tweak.
	* src/ Close streams.

	* math/ Add missing files for shared link errors.
	* math/ Same.

1999-03-15  Benjamin Kosnik  <>

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

1999-03-15  Benjamin Kosnik  <>

	* bits/std_ostream.h: Format, expunge, simplify. Add cached
	facets. Resolve link errors.
	* bits/ostream.tcc: Same.
	* src/ Add ostream, wostream instantiations.
	* src/ Add missing bits for
	* src/ 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  <>

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

1999-03-11  Benjamin Kosnik  <>

	* src/ 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/ I'm baaaaaaaack.

1999-03-10  Benjamin Kosnik  <>

	* bits/ios_base.h: Correct comments. Add ios_base::init()
	functionality. Format, tweak, expunge, clean, bathe, and hang to dry.
	* src/ Add instantiations here.
	* src/ Clean.
	* bits/std_iostream.h: Add wrappers, global ios_base::Init object.
	* src/ Delete this file, as now unnecessary.
	* bits/fstream.tcc: Add missing initialization bits for ctor.
	* src/ (libstdc___la_SOURCES): Delete here as well.
	* src/ (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/ (sys_open): Add call that opens a specific fileno.
	* bits/basic_file.h: Add declarations.

	* testsuite/27/ 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  <>

	* 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/ (std): Change to __c_streampos.

	* testsuite/27/ 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  <>

	* 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  <>

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

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

	* testsuite/27/ 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  <>

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

1999-03-02  Benjamin Kosnik  <>

	* 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
	* bits/sstream.tcc: Ditto.
	* bits/std_streambuf.h: Ditto.

	* testsuite/27/ Tweak.

1999-02-27  Benjamin Kosnik  <>

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

1999-02-26  Benjamin Kosnik  <>

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

	* src/ 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  <>

	* bits/fstream.tcc: Add include guards.
	* src/ Add instantiations for shared libes.
	* src/ 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/ Disable wide streams for now.

	* src/ (CXXFLAGS): Change up.
	* src/ (CXXFLAGS): Ditto.

1999-02-25  Benjamin Kosnik  <>

	* src/ 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  <>

	* stl/bits/stl_config.h (__STL_USE_STD_ALLOCATORS): Minor tweaking.
	* bits/c++config.h: Clean. Remove _G_NO_STREAMBUF_ITERATORS and
	* amm1/locale: Remove unused defines.
	* generic/locale: Ditto.
	* src/ Ditto.
	* src/ Ditto.
	* src/ Ditto.
	* src/ Ditto.
	* src/ 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/ Ditto.
	* bits/locfacets.tcc: Add do_put long long here.

1999-02-24  Benjamin Kosnik  <>

	* 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 dependencies.
	* src/ Add fpos.h.
	* src/ 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  <>

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

	* bits/basic_file.h: Comment, adjust arguments.
	* src/ 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  <>

	* mkcshadow: And change copyright here.
	* src/ (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/ (CXXFLAGS): Ditto.
	* stl/backward/pthread_alloc.h: Remove.

1999-02-19  Benjamin Kosnik  <>

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

1999-02-18  Benjamin Kosnik  <>

	* 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/ Use memcpy in codecvt::do_in and codecvt::do_out.
	Remove partial result and support code.

1999-02-18  Ulrich Drepper  <>

	* 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
	* Regenerated.
	* Likewise.
	* configure: Likewise.
	* libio/ (LIBIO_SRCS): Add missing backslash.
	* libio/ Regenerated.
	* src/ Regenerated.
	* string/ Regenerated.
	* math/ (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/ 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  <>

	* testsuite/27/ 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  <>

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

1999-02-16  Christophe Pierret  <>

	* src/ Fix assert.

1999-02-16  Benjamin Kosnik  <>

	FIXME: Still need some kind of solution for undefined math symbols.
	* src/ (locale-inst.lo): Compile with
	-fimplicit-templates to fix Solaris link problem.
	* src/ Ditto.
	* libio/ Add stdfiles.c so that _IO_list_all is defined.
	* libio/ Ditto.
	* src/ 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  <>

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

	* testsuite/27/ 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  <>

	* testsuite/21/ Fix typo.
	* src/ (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  <>

	* bits/std_locale.h: Move std_vector.h dependency.
	* bits/std_ios.h: ...from here.
	* bits/std_string.h: ...and here.
	* src/ 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: here.
	* src/ ..and here.
	* src/ 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/ And add __get_c_string def here.

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

	* src/ Add include of stl_config.h.

1999-02-09  Benjamin Kosnik  <>

	* 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
	* 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
	* stl/bits/stl_pthread_alloc.h: New file corresponding to
	* 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  <>

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

	* src/ 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/ Tweak.
	* testsuite/27/ Add tests.
	* testsuite/27/27filebuf-3.txt: Rename to *-2.txt.

1999-02-02  Ryszard Kabatek  <>

	* bits/ios_base.h: Make protected.

1999-02-01  Ryszard Kabatek  <>

	* 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/ Ditto.
	* bits/basic_ios.h: Adapt the changes from ios_base.

1999-01-29  Benjamin Kosnik  <>

	* 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/ Mas changes with codecvt::do_in, do_out.

1999-01-29  Ryszard Kabatek  <>

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

1999-01-28  Benjamin Kosnik  <>

	* src/ (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/ 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/ Add cases.
	* testsuite/27/ 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  <>

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

1999-01-27  Ulrich Drepper  <>

	* src/ Include fcntl.h.

1999-01-27  Benjamin Kosnik  <>

	* libio/ 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/ Ditto.
	* testsuite/27/ Tweak.

1999-01-26  Benjamin Kosnik  <>

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

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

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

1999-01-26  Ryszard Kabatek  <>

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

1999-01-25  Benjamin Kosnik  <>

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

1999-01-25  Ryszard Kabatek  <>

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

1999-01-25  Benjamin Kosnik  <>

	* 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  <>

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

1999-01-22  Ulrich Drepper  <>

	* (SUBDIRS): Add libio.
	* Add rule to test for glibc2.

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

1999-01-21  Benjamin Kosnik  <>

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

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

	* testsuite/27/ Change license, fix in_avail tests.
	* testsuite/27/ 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.
Copyright (C) 1999 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.