ChangeLog-2000   [plain text]

2000-12-31  Alexandre Oliva  <>

	* include/c_std/bits/std_cstdlib.h (mblen): Protect against macro.

2000-12-23  Benjamin Kosnik  <>

	( Add special rule for deprecated files.
	* libsupc++/ (INCLUDES): Sync.
	* acinclude.m4 (GLIBCPP_EXPORT_INCLUDES): And here.

	Reported by Fred Fish  <>
	* include/backward/iomanip.h: Remove backward from include
	* include/backward/strstream.h: Same.
	* include/backward/stream.h: Same.
	* include/backward/ostream.h: Same.
	* include/backward/istream.h: Same.
	* src/ And here.

	Reported by  Brad Garcia  <>
	* src/ (_S_find): Use generic template.
	* include/bits/string.tcc (_S_find): Remove specializations
2000-12-22  Benjamin Kosnik  <>

	Attempt to make locale visible in gdb.
	* include/bits/std_locale.h: Remove codecvt.h include.
	* include/bits/locale_facets.h: Add here, after ctype decls.
	* include/bits/codecvt.h: Remove std namespace, as assumed to be
	in std now.

	* include/bits/locale_facets.h: Consistently move generic static
	member definitions directly after generic facet declarations.
	* include/bits/locale_facets.tcc: From here.

	* src/ Organize locale::id static definitions for
	required facets.
	* src/ (codecvt<char...>): Remove locale::id definition.
	(codecvt<wchar_t...>): Same.
	* src/localename: And here.
	* include/bits/localefwd.h (_Count_ones): Change _S_count to _M_count.
	Same for _M_halfcount.

2000-12-22  Alexandre Oliva  <>

	* mknumeric_limits: Output to temporary files, and rename them at
	the end.

2000-12-21  Benjamin Kosnik  <>

	* acinclude.m4 (GLIBCPP_ENABLE_SHADOW): Change to
	ENABLE_CHEADERS.  C_INCLUDE_DIR defaults to c_std from c. 
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* include/c: Move to ...
	* include/c_std:
	* include/c_std: Move to ...
	* include/c_shadow:
	* include/c: Repopulate, with simple headers.
	* docs/html/configopts.html: Adjust docs.
2000-12-21  Joseph S. Myers  <>

	* acinclude.m4,,,
	testsuite/27_io/, testsuite/27_io/
	Change and URLs for
	libstdc++ web pages and list archives to point to
	* aclocal.m4, configure: Regenerate.

2000-12-21  Gabriel Dos Reis  <>

	* src/ (sources): Remove, and from list.
	* src/ Regenerate.
	* src/ Remove.
	* src/ Likewise.
	* src/ Likewise.

	* libmath/ (EXTRA_LONG_DOUBLE_yes): Remove csqrtl.c
	(EXTRA_DIST): Remove csqrt.c and csqrtf.c.
	* libmath/ Regenerate.
	* libmath/complex-stub.h: Remove.
	* libmath/csqrt.c: Likewise.
	* libmath/sqrtf.c: Likewise.
	* libmath/sqrtl.c: Likewise.
	* libmath/mathconf.h: Remove <complex.h> and "complex-stub.h"
	* include/bits/std_complex.h (sqrt<>): Define primary template.
	(complex<>): Remove sqrt friend declarations.

	* Initialize with src/
	* configure: Regenerate.
	* acinclude.m4: Remove check for csqrt* and <complex.h>
	* aclocal.m4: Regenerate.
	* Regenerate.
	* Regenerate.

2000-12-20  Phil Edwards  <>

	* acinclude.m4 (SECTION_FLAGS, OPT_LDFLAGS):  Fix minor thinko.
	* aclocal.m4:  Regenerate.
	* configure:  Ditto.
	*  Ditto.
	* libio/  Ditto.
	* libmath/  Ditto.
	* libsupc++/  Ditto.
	* src/  Ditto.

	* include/bits/istream.tcc:  Fix clause reference in comment.

2000-12-20  Benjamin Kosnik  <>

	* testsuite/17_intro/ (main): New file.

	* acinclude.m4 (SECTION_FLAGS): Only set if --enable-debug is not
	(OPT_LDFLAGS): And here.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
2000-12-19  Curtis Janssen  <>

	* src/ (ios_base::_M_grow_words(int ix)): Fix libstdc++/1089.
	* testsuite/27_io/ (test01): New file.

2000-12-19  Benjamin Kosnik  <>

	* Don't turn on long long by default.
	(gxx_target_include_dir): Adjuse comment.
	* configure: Regenerate.
	* include/c/bits/std_cstdio.h: Remove c++config.h include.
	* src/ Formatting tweaks.
	* testsuite/22_locale/ (char<unsigned char>): Provide
	member functions.

2000-12-19  Loren J. Rittle  <>

        * testsuite/22_locale/ (test01): Correct ~ operator usage.

2000-12-19  Mark Kettenis  <>

        * Support the Hurd.

2000-12-19  Benjamin Kosnik  <>

	* config/os/solaris/solaris2.5/bits/ctype_inline.h (is): Same.
	* config/os/solaris/solaris2.6/bits/ctype_inline.h (is): Same.
	* config/os/solaris/solaris2.7/bits/ctype_inline.h (is): Same.
	* config/os/newlib/bits/ctype_inline.h (is): Same.
	* config/os/irix/bits/ctype_inline.h (is): Same.
	* config/os/bsd/netbsd/bits/ctype_inline.h (is): Same.
	* config/os/bsd/freebsd/bits/ctype_inline.h (is): Same.
	* config/os/aix/bits/ctype_inline.h (is): Same.
	* config/os/gnu-linux/bits/ctype_inline.h (is): Revert.
	* config/os/generic/bits/ctype_inline.h (is): Non-table based

	* testsuite/22_locale/ (test01): Use binary
	operator correctly.
	(test01): Check 'A' for alnum, upper, alpha.

2000-12-19  Gabriel Dos Reis  <>

	* include/bits/std_complex.h (complex<float>::operator-=): Fix

2000-12-18  Benjamin Kosnik  <>

	* Set os_include_dir for cross_compiles.
	* configure: Regenerate.
	* (l_glibcpp_cxxflags): Don't try to be clever
	when assigning ATOMICITYH. Only special case the special cases...

2000-12-18  Joseph S. Myers  <>

	* docs/html/17_intro/COPYING: Update to current (fixes references
	to 19yy as example year in copyright notice).

2000-12-15  Benjamin Kosnik  <>

	* (gxx_target_include_dir): Install target-dependent
	include files in a target-dependent place.
	* configure: Regenerate.
	* src/ Add in support here.
	* src/ Regenerate.

2000-12-14  Benjamin Kosnik  <>

	* src/ (myinstallheaders): Install backwards headers in
	prefix, not prefix/backward.
	* src/ Regenerate.

2000-12-14  Benjamin Kosnik  <>

	* acinclude.m4 (GLIBCPP_CHECK_MATH_SUPPORT): Revert changes
	touching copysignf, atan2f, expf.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
2000-12-14  Benjamin Kosnik  <>

	* (CXX): Exit out if mknumeric_limits fails.
	* mknumeric_limits (CXX): Use BUILD_DIR/g++, not g++ in
	path. Consistency with

2000-12-14  Benjamin Kosnik  <>

	* include/c/bits/*.h: Remove include_next, replace with include,
	as include_next does not work host-x-host, and include_next not

2000-12-13  Benjamin Kosnik  <>

	* include/bits/locale_facets.h (ctype<char>): Remove throw specs not in
	base class signature.
	* config/os/*/bits/ctype_inline.h (is): Same.
2000-12-13  Benjamin Kosnik  <>

	* config/os/generic/bits/ctype_base.h (ctype_base): Consistency
	with linux.
	* config/os/generic/bits/ctype_inline.h (is): Same.
	* config/os/solaris/solaris2.5/bits/ctype_inline.h (is): Same.
	* config/os/solaris/solaris2.5/bits/ctype_base.h: Same.
	* config/os/solaris/solaris2.6/bits/ctype_inline.h (is): Same.
	* config/os/solaris/solaris2.6/bits/ctype_base.h: Same.
	* config/os/solaris/solaris2.7/bits/ctype_inline.h (is): Same.
	* config/os/solaris/solaris2.7/bits/ctype_base.h: Same.
	* config/os/irix/bits/ctype_inline.h (is): Same.
	* config/os/irix/bits/ctype_base.h (ctype_base): Same.
	* config/os/aix/bits/ctype_inline.h (is): Same.
	* config/os/aix/bits/ctype_base.h (ctype_base): Same.
	* config/os/bsd/netbsd/bits/ctype_inline.h (is): Same.
	* config/os/bsd/netbsd/bits/ctype_base.h (ctype_base): Same.
	* config/os/bsd/freebsd/bits/ctype_base.h (ctype_base): Same.
	* config/os/bsd/freebsd/bits/ctype_inline.h (is): Same.
	* config/os/newlib/bits/ctype_inline.h (is): Same.
	* config/os/newlib/bits/ctype_base.h (ctype_base): Same.

	* testsuite/22_locale/ (test01): Add tests, fix.
	* testsuite/22_locale/ (test01): Add tests for
	ctype_base::mask bitmask features.
	* src/ Define const static data for ctype_base.
	* config/os/gnu-linux/bits/ctype_base.h (ctype_base): Make
	ctype_base::mask type an integer type, not an enum.
	* config/os/gnu-linux/bits/ctype_inline.h (is): Implement correctly.
	* include/bits/locale_facets.h: Tweaks.
	* include/bits/ios_base.h: Formatting tweaks.

	* docs/html/17_intro/C++STYLE: Add.

2000-12-12  Benjamin Kosnik  <>

	* acinclude.m4 (GLIBCPP_CHECK_CTYPE_SUPPORT): Don't link ctype
	files here...
	* Rather, do it once for all targets here. Clean up
	canadian cross and cross compile targets for linux-targeted
	* configure: Regenerate.
	* aclocal.m4: Regnerate.
	* acconfig.h: Add more defines.
	* Regenerate.
2000-12-12  Angela Marie Thomas <>

	* Fix case for host-x-linux
	* configure: Regenerate.

2000-12-10  Alexandre Petit-Bianco  <>

	* src/ (libstdc++.INC:): 2000-12-05 reverted to include
	2000-11-12 hunk.
	* src/ Rebuilt.

2000-12-09  Jason Merrill  <>

	* testsuite/20_util/ (test07): Remove test that tries
	to copy-initialize an auto_ptr<Base> from an auto_ptr<Derived>; it
	isn't supposed to work anymore.

2000-12-09  Phil Edwards  <>

	Move the HTML-containing subdirs from 'docs' to 'docs/html'.
	* README:  Update the locations of instructions.
	* docs/doxygen/run_doxygen:  New file, stub.

	* docs/Makefile:  Moved...
	* docs/configopts.html:  Likewise.
	* docs/documentation.html:  Likewise.
	* docs/install.html:  Likewise.
	* docs/lib3styles.css:  Likewise.
	* docs/17_intro/BADNAMES:  Likewise.
	* docs/17_intro/BUGS:  Likewise.
	* docs/17_intro/C++STYLE:  Likewise.
	* docs/17_intro/CHECKLIST:  Likewise.
	* docs/17_intro/COPYING:  Likewise.
	* docs/17_intro/DESIGN:  Likewise.
	* docs/17_intro/HEADER_POLICY:  Likewise.
	* docs/17_intro/PROBLEMS:  Likewise.
	* docs/17_intro/RELEASE-NOTES:  Likewise.
	* docs/17_intro/TODO:  Likewise.
	* docs/17_intro/contribute.html:  Likewise.
	* docs/17_intro/headers_cc.txt:  Likewise.
	* docs/17_intro/howto.html:  Likewise.
	* docs/17_intro/libstdc++-assign.txt:  Likewise.
	* docs/17_intro/organization:  Likewise.
	* docs/17_intro/porting-howto.html:  Likewise.
	* docs/18_support/howto.html:  Likewise.
	* docs/19_diagnostics/howto.html:  Likewise.
	* docs/20_util/howto.html:  Likewise.
	* docs/21_strings/gotw29a.txt:  Likewise.
	* docs/21_strings/howto.html:  Likewise.
	* docs/21_strings/stringtok_h.txt:  Likewise.
	* docs/21_strings/stringtok_std_h.txt:  Likewise.
	* docs/22_locale/codecvt.html:  Likewise.
	* docs/22_locale/ctype.html:  Likewise.
	* docs/22_locale/howto.html:  Likewise.
	* docs/22_locale/locale.html:  Likewise.
	* docs/23_containers/howto.html:  Likewise.
	* docs/23_containers/wrappers_h.txt:  Likewise.
	* docs/24_iterators/howto.html:  Likewise.
	* docs/25_algorithms/howto.html:  Likewise.
	* docs/26_numerics/howto.html:  Likewise.
	* docs/27_io/howto.html:  Likewise.
	* docs/27_io/iostreams_hierarchy.pdf:  Likewise.
	* docs/ext/howto.html:  Likewise.
	* docs/faq/index.html:  Likewise.
	* docs/faq/index.txt:  Likewise.
	* docs/html/Makefile: here.
	* docs/html/configopts.html:  Likewise.
	* docs/html/documentation.html:  Likewise.
	* docs/html/install.html:  Likewise.
	* docs/html/lib3styles.css:  Likewise.
	* docs/html/17_intro/BADNAMES:  Likewise.
	* docs/html/17_intro/BUGS:  Likewise.
	* docs/html/17_intro/C++STYLE:  Likewise.
	* docs/html/17_intro/CHECKLIST:  Likewise.
	* docs/html/17_intro/COPYING:  Likewise.
	* docs/html/17_intro/DESIGN:  Likewise.
	* docs/html/17_intro/HEADER_POLICY:  Likewise.
	* docs/html/17_intro/PROBLEMS:  Likewise.
	* docs/html/17_intro/RELEASE-NOTES:  Likewise.
	* docs/html/17_intro/TODO:  Likewise.
	* docs/html/17_intro/contribute.html:  Likewise.
	* docs/html/17_intro/headers_cc.txt:  Likewise.
	* docs/html/17_intro/howto.html:  Likewise.
	* docs/html/17_intro/libstdc++-assign.txt:  Likewise.
	* docs/html/17_intro/organization:  Likewise.
	* docs/html/17_intro/porting-howto.html:  Likewise.
	* docs/html/18_support/howto.html:  Likewise.
	* docs/html/19_diagnostics/howto.html:  Likewise.
	* docs/html/20_util/howto.html:  Likewise.
	* docs/html/21_strings/gotw29a.txt:  Likewise.
	* docs/html/21_strings/howto.html:  Likewise.
	* docs/html/21_strings/stringtok_h.txt:  Likewise.
	* docs/html/21_strings/stringtok_std_h.txt:  Likewise.
	* docs/html/22_locale/codecvt.html:  Likewise.
	* docs/html/22_locale/ctype.html:  Likewise.
	* docs/html/22_locale/howto.html:  Likewise.
	* docs/html/22_locale/locale.html:  Likewise.
	* docs/html/23_containers/howto.html:  Likewise.
	* docs/html/23_containers/wrappers_h.txt:  Likewise.
	* docs/html/24_iterators/howto.html:  Likewise.
	* docs/html/25_algorithms/howto.html:  Likewise.
	* docs/html/26_numerics/howto.html:  Likewise.
	* docs/html/27_io/howto.html:  Likewise.
	* docs/html/27_io/iostreams_hierarchy.pdf:  Likewise.
	* docs/html/ext/howto.html:  Likewise.
	* docs/html/faq/index.html:  Likewise.
	* docs/html/faq/index.txt:  Likewise.

2000-12-08  Phil Edwards  <>

	* acinclude.m4 (GLIBCPP_ENABLE_CSTDIO):  New conditional,
	  GLIBCPP_BUILD_LIBIO, true iff building libio.
	* libio/  Use; set noinst_LTLIBRARIES empty if false.
	* aclocal.m4:  Regenerated.
	*  Regenerated.
	* configure:  Regenerated.
	* libio/  Regenerated.
	* libmath/  Regenerated.

2000-12-08  Gabriel Dos Reis  <>

	* libmath/ (EXTRA_LONG_DOUBLE_yes): Remove ccosl,
	cexpl, clog10l, csinhl, ctanhl, ctanl.
	(EXTRA_DIST): Remove ccos, ccosf, csin, csinf, ccosh, ccoshf,
	csing, csinhf, clog10, clog10f, ctan, ctanf, ctanh, ctanhf.
	* libmath/ Regenarate.
	* libmath/ccos.c: Remove.
	* libmath/ccosf.c: Likewise.
	* libmath/ccosl.c: Likewise.
	* libmath/csin.c: Likewise.
	* libmath/csinf.c: Likewise.
	* libmath/csinl.c: Likewise.
	* libmath/ctan.c: Likewise.
	* libmath/ctanf.c: Likewise.
	* libmath/ctanl.c: Likewise.
	* libmath/ccosh.c: Likewise.
	* libmath/ccoshf.c: Likewise.
	* libmath/ccoshl.c: Likewise.
	* libmath/csinh.c: Likewise.
	* libmath/csinhf.c: Likewise.
	* libmath/csinhl.c: Likewise.
	* libmath/ctanh.c: Likewise.
	* libmath/ctanhf.c: Likewise.
	* libmath/ctanhl.c: Likewise.
	* libmath/cexp.c: Likewise.
	* libmath/cexpf.c: Likewise.
	* libmath/cexpl.c: Likewise.
	* libmath/clog10.c: Likewise.
	* libmath/clog10f.c: Likewise.
	* libmath/clog10l.c: Likewise.
	* libmath/complex-stub.h: Remove forward declaration of functions
	mentioned above.

	* include/bits/std_complex.h(tan, tanh): Define primary templates. 
	(complex<>): Remove friend declarations for tan<> and tanh<>.
	* src/, tanh): Remove specializations.

	* acinclude.m4: Remove check for ccos, ccosf, ccosl, ccosh,
	ccoshf, ccoshl,	csin, csinf, csinl, csinh, csinhf, csinhl, cexp,
	cexpf, cexpl, ctan, ctanf, ctanl, ctanh, ctanhf, ctanhl.
	* aclocal.m4: Regenarate.
	* configure: Regenarate.

2000-12-08  Gabriel Dos Reis  <>

	* acinclude.m4: Don't forget to remove check for cpowl as it is no
	longer needed, nor is the corresponding stub existent.
	* aclocal.m4: Regenarate.
	* configure: Regenarate.

2000-12-07  Benjamin Kosnik  <>

	* config/os/generic/bits/ctype_base.h (ctype_base): Change space mask.

	* config/os/generic/bits/ctype_noninline.h (ctype): Remove default
	arguments in definition.
	* config/os/solaris/solaris2.7/bits/ctype_noninline.h (ctype): Same.
	* config/os/solaris/solaris2.6/bits/ctype_noninline.h (ctype): Same.
	* config/os/solaris/solaris2.5/bits/ctype_noninline.h (ctype): Same.
	* config/os/newlib/bits/ctype_noninline.h (ctype): Same.
	* config/os/irix/bits/ctype_noninline.h (ctype): Same.
	* config/os/hpux/bits/ctype_noninline.h (ctype): Same.
	* config/os/bsd/netbsd/bits/ctype_noninline.h (ctype): Same.
	* config/os/bsd/freebsd/bits/ctype_noninline.h (ctype): Same.
	* config/os/aix/bits/ctype_noninline.h (ctype): Same.

	* include/bits/locale_facets.h: Tweak.
2000-12-06  Benjamin Kosnik  <>

	* include/bits/locale_facets.h (ctype): Remove _Ctype_nois and
	_Ctype and replace with common __ctype_abstract_base.
	(ctype<wchar_t>::_M_convert_to_wmask): Move to
	* config/os/gnu-linux/bits/ctype_noninline.h (ctype<char>::ctype):
	And here.
	* config/os/solaris/solaris2.7/bits/ctype_noninline.h (ctype): Same.
	* config/os/solaris/solaris2.6/bits/ctype_noninline.h (ctype): Same.
	* config/os/solaris/solaris2.5/bits/ctype_noninline.h (ctype): Same.
	* config/os/newlib/bits/ctype_noninline.h (ctype): Same.
	* config/os/irix/bits/ctype_noninline.h (ctype): Same.
	* config/os/hpux/bits/ctype_noninline.h (ctype): Same.
	* config/os/generic/bits/ctype_noninline.h (ctype): Same.
	* config/os/aix/bits/ctype_noninline.h (ctype): Same.
	* config/os/bsd/netbsd/bits/ctype_noninline.h (ctype): Same.
	* config/os/bsd/freebsd/bits/ctype_noninline.h (ctype): Same.
	* src/ Clean instantiations.
	* src/ (ctype<char>): Add definitions here. 
	(ctype<wchar_t>::_M_wmask): Move definitions here.
	* config/os/generic/bits/ctype_inline.h (ctype<char>::is):
	Implement in a generic way, with only "C" functionality and no
	knowlege of the target os.
	* config/os/generic/bits/os_defines.h: Change comments to C++ style.
	* testsuite/22_locale/ (test01): Add tests.
	* include/bits/codecvt.h (ctype_byname): Remove specializations,
	as not required.
	* include/bits/localefwd.h (codecvt_byname): And here.
	* src/ Remove codecvt_byname specializations.
	* include/c/bits/std_cstdio.h: Include c++config.h.

2000-12-06  Phil Edwards  <>

	* acinclude.m4 (GLIBCPP_CHECK_*_DECL_AND_LINKAGE_*):  Pre-test
	  whether the cached result is present.
	* aclocal.m4:  Regenerate.
	* configure:  Regenerate.
	*  Regenerate.
	* libio/  Regenerate.
	* libmath/  Regenerate.
	* libsupc++/  Regenerate.
	* src/  Regenerate.

2000-12-06  Richard Earnshaw  <>

	* (*-*-freebsd, *-*-netbsd): Correct paths to 

2000-12-05  Jeffrey A Law  <>

	* (hpux): Set os_include_dir.
	* config/os/hpux/bits/ctype_base.h: New file
	* config/os/hpux/bits/ctype_inline.h: New file
	* config/os/hpux/bits/ctype_noinline.h: New file
	* config/os/hpux/bits/os_defines.h: New file

2000-12-05  Alexandre Petit-Bianco  <>

	* src/ (libstdc++.INC): Revert for libjava builds.
	* src/ Regenerate.
2000-12-05  Benjamin Kosnik  <>

	* acinclude.m4 (EXTRA_CXX_FLAGS): And here.
	* include/c/bits/std_cstdlib.h (std ): Change macro to
	* acconfig.h: Remove unused MBSTATE_T bits.
	* Same.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* Regenerate.
2000-12-05  Benjamin Kosnik  <>

	* acinclude.m4: Change up to reflect new directory organization.
	Add in bits for NetBSD.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* config/os/bsd: New directory.
	* config/os/netbsd: Move to...
	* config/os/bsd/netbsd:
	* config/os/freebsd: Move to...
	* config/os/bsd/freebsd:

2000-12-05  Benjamin Kosnik  <>

	* acinclude.m4 (GLIBCPP_ENABLE_LONG_LONG): Check for
	lldiv_t. Allow the use of os-specific defines while checking for
	long-long functions by the inclusion of os_defines.h.
	* aclocal.m4: Regenerate.
	* Add comments.
	* configure: Regenerate.
	* acconfig.h: Add _GLIBCPP_HAVE_LLDIV_T.
	* Regenerate.
	* config/os/gnu-linux/bits/os_defines.h: Fix typos and
	duplications in comments.

2000-12-05  Richard Earnshaw  <>

	* config/os/freebsd/bits/ctype_base.h: Update comments about other
	BSD variants.

2000-12-05  Richard Earnshaw  <>

	* config/os/freebsd/bits/*.h: Move here from config/os/bsd/bits.
	* aclocal.m4: Adjust accordingly.
	* Likewise.
	* configure: Regenerate.

2000-12-05  Richard Earnshaw  <>

	* config/cpu/arm/bits/atomicity.h: Add support for compiling Thumb

2000-12-05  Richard Earnshaw  <>

	Support for NetBSD.
	* aclocal.m4: Add test for NetBSD's ctype support.
	* configure: Regenerate.
	* Support NetBSD.
	* config/os/netbsd/bits/ctype_base.h: New file.
	* config/os/netbsd/bits/ctype_inline.h: New file.
	* config/os/netbsd/bits/ctype_noinline.h: New file.
	* config/os/netbsd/bits/os_defines.h: New file.

2000-12-05  Gabriel Dos Reis  <>

	* src/ (pow): Remove definitions for explicit
	* libmath/mathconf.h: Remove declarations for c_log, c_logf,
	* libmath/complex-stub.h: Remove declarations for cpow, cpowf,
	* libmath/cpow.c: Remove.
	* libmath/cpowf.c: Remove.
	* libmath/cpowl.c: Remove.
	* libmath/ (EXTRA_LONG_DOUBLE_yes): Remove c_logl,
	(EXTRA_DIST): Remove c_log, c_logf, carg, cargf.
	* libmath/ Regenarate.
	* libmath/c_log.c: Remove
	* libmath/c_logf.c: Likewise.
	* libmath/c_logl.c: Likewise.
	* libmath/carg.c: Likewise.
	* libmath/cargf.c: Likewise.
	* libmath/cargl.c: Likewise.
	* include/bits/std_complex.h (pow): Define primary templates.
	(complex<>): Remove friend declarations for pow<>().
	* acinclude.m4: Remove check for c_log, c_logf, c_logl, carg,
	* aclocal.m4: Regenarate.
	* configure: Regenarate.

2000-12-03  Joseph S. Myers  <>

	* docs/configopts.html, docs/documentation.html,
	docs/install.html, docs/17_intro/BADNAMES,
	docs/17_intro/contribute.html, docs/17_intro/howto.html,
	docs/18_support/howto.html, docs/19_diagnostics/howto.html,
	docs/20_util/howto.html, docs/21_strings/howto.html,
	docs/22_locale/howto.html, docs/23_containers/howto.html,
	docs/24_iterators/howto.html, docs/25_algorithms/howto.html,
	docs/26_numerics/howto.html, docs/27_io/howto.html,
	docs/ext/howto.html, docs/faq/index.html, docs/faq/index.txt: Sync
	with wwwdocs.

2000-12-01  Phil Edwards  <>

	* docs/download.html:  Remove.
	* docs/footer.ihtml:  Remove.
	* docs/header.ihtml:  Remove.
	* docs/index.html:  Remove.
	* docs/links.html:  Remove.
	* docs/mail.html:  Remove.
	* docs/status.html:  Remove.
	* docs/thanks.html:  Remove.

2000-12-01  Phil Edwards  <>

	*  Count static and shared results separately.

2000-12-01  Loren J. Rittle  <>

	*  Correct typo.

2000-12-01  Gabriel Dos Reis  <>

	* src/ Remove.
	* src/ (c_base_headers): Add bits/cmath.tcc.
	(sources): Remove
	* src/ Regenerate.

	* include/c/bits/std_cmath.h (__cmath_power<>): Declare.
	(__cmath_abs<>): New function.
	(abs, fabs): Use __cmath_abs when no direct support is available.
	(__pow_helper<>): New function.
	(pow): Define here.  Use __pow_helper<>.

	* include/c/bits/cmath.tcc: New file.

2000-11-29  Benjamin Kosnik  <>

	Fixes for build directories with colons, AIX build problems.
	* src/ Cleanups, add documentation.
	(libstdc++.INC): Simplify rule.
	(myinstallheaders): Consolidate install rules.
	(myinstalldirs): New, make directores.
	(base_headers): Subdivide based on install directory.
	(ext_headers): New.
	(backward_headers): New.
	(headers): Remove.
	(c_headers): Remove, unused.
	(c_shadow_headers): Split up, deal with conditional usage in a
	sane manner.
	* src/ Regenerate.
2000-11-29  Phil Edwards  <>

	Sync with the documentation from wwwdocs.
	* docs/Makefile:  New file (rebuilds FAQ text version).
	* docs/configopts.html:  Update.
	* docs/documentation.html:  Update.
	* docs/download.html:  Update.
	* docs/index.html:  Update.
	* docs/install.html:  Update.
	* docs/links.html:  Update.
	* docs/mail.html:  Update.
	* docs/status.html:  Update.
	* docs/thanks.html:  Update.
	* docs/27_io/howto.html:  Update.
	* docs/faq/index.html:  Update for 2.91.
	* docs/faq/index.txt:  Update for 2.91.
	* docs/footer.html:  Removed.
	* docs/footer.ihtml:  New file.
	* docs/gccrebuild.html:  Removed.
	* docs/header.html:  Removed.
	* docs/header.ihtml:  New file.

2000-11-29  Loren J. Rittle  <>

        * Correct typo.

2000-11-29  Gabriel Dos Reis  <>

	* tests_flags (SH_FLAGS, ST_FLAGS): Move them back to ...

2000-11-29  Gabriel Dos Reis  <>

	* src/ (sources): Add
	* src/ Regenrate.

	* include/bits/std_bitset.h (_GLIBCPP_BITSET_BITS_PER_WORD): New
	macro. Replace __BITS_PER_WORDS throughout.
	(__BITS_PER_WORDS): Remove.
	(bitset<>::_M_do_find_first, bitset<>::_M_do_find_next): Move
	definitions to src/

	* src/ (bitset<>::_M_do_find_first,
	bitset<>::_M_do_find_next):  Define here.
	(_Bit_count<>::_S_bit_count, _Find_one<>::_S_first_one): Define
	here. Explicitly instantiate definitions.

2000-11-28  Franz Sirl  <>

	* config/cpu/powerpc/bits/atomicity.h (__exchange_and_add): Silence
	preprocessor multi-line string warnings.
	(__atomic_add): Likewise.
	(__compare_and_swap): Likewise.
	(__always_swap): Likewise.
	(__test_and_set): Likewise.
	* config/cpu/arm/bits/atomicity.h (__exchange_and_add): Likewise.
	(__atomic_add): Likewise.
	(__compare_and_swap): Likewise.
	(__always_swap): Likewise.
	(__test_and_set): Likewise.

2000-11-28  Benjamin Kosnik  <>

	Update for 2.91 release.
	* include/bits/c++config (__GLIBCPP__): Update.
	* docs/17_intro/RELEASE-NOTES: Update.
	* docs/status.html: Update, remove bogus autotools disinformation.
2000-11-27  Benjamin Kosnik  <>


	* testsuite/22_locale/ Adjust formatting.
	* testsuite/27_io/ (test11): New
	testcase, based on libstdc++/90.
2000-11-27  Franz Sirl  <>

        * config/cpu/arm/bits/atomicity.h (__exchange_and_add): Add
	__volatile__ to asm.
        (__atomic_add): Likewise.
        (__compare_and_swap): Likewise.
        (__always_swap): Likewise.
        (__test_and_set): Likewise.
        * config/cpu/powerpc/bits/atomicity.h: Replace '__ATOMICITY_INLINE'
        with 'inline'.
        (__exchange_and_add): Add __volatile__ to asm.
        (__atomic_add): Likewise.
        (__compare_and_swap): Likewise.
        (__always_swap): Likewise.
        (__test_and_set): Likewise.
2000-11-27  Gabriel Dos Reis  <>

	* Update documentation to reflect the change

2000-11-26  Benjamin Kosnik  <>

	* Export CXX, CXXFLAGS.
	* Grab them.

2000-11-26  David Billinghurst  <>
	    Benjamin Kosnik  <>
        * Add exe extension to printnow executable, abstract
	out call to this with TIMER_COMMAND.
	* (l_glibcpp_cxxflags): Add cygwin support.
	* acinclude.m4 (GLIBCPP_CHECK_CTYPE_SUPPORT): Correct paths.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
2000-11-26  Benjamin Kosnik  <>

	* testsuite/27_io/ (test05): Fixup.

2000-11-26  Benjamin Kosnik  <>

	* acinclude.m4: Only sanity check for compiler version when
	configuring. More fixes for 'make clean'.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
2000-11-26  Gabriel Dos Reis  <>

	* libmath/ (EXTRA_LONG_DOUBLE_yes): Remove cabsl.c 
	* libmath/ Regenerate.
	* libmath/cabs.c: Remove.
	* libmath/cabsf.c: Likewise.
	* libmath/cabsl.c: Likewise.
	* libmath/complex-stub.h: Remove declarations for cabs*.

	* acinclude.m4: Remove check for cabs*. 
	* aclocal.m4: Regenerate.

	* Regenerate.

2000-11-26  Gabriel Dos Reis  <>

	* New file. Split out of ...
	* ... this. Move flags computation into 
	* Add support for tests_flags.
	* confiigure: Regenerate.

2000-11-25  Joseph S. Myers  <>

	* acinclude.m4: Change C9X references to refer to C99.
	* aclocal.m4, configure: Regenerate.
	* config/os/gnu-linux/bits/os_defines.h, src/,
	include/bits/stl_config.h, include/c/bits/std_cwchar.h,
	libmath/mathconf.h: Change C9X references to refer to C99.

2000-11-25  Benjamin Kosnik  <>
            Richard Earnshaw  <> 

	* src/ (INCLUDES): Remove unconditional use of
	_GNU_SOURCE and _ISOC99_SOURCE macros.
	* src/ Regenerate.
2000-11-24  Benjamin Kosnik  <>

	* testsuite/22_locale/ (main): Add

	* (AC_OUTPUT_COMMANDS): Remove, just run scripts as
	is, so that checks for existence of generated files actually work.
	* configure: Regenerate.

2000-11-23  Hans-Peter Nilsson  <>

	* config/os/gnu-linux/bits/os_defines.h: Include <features.h>.
	If not glibc 2.1 or higher, include <gnu/types.h> and define
	__off64_t as __loff_t and #define __THROW as empty.

	* libio/libio.h [__P]: Move __THROW and __PMT into their own

2000-11-23  David Edelsohn  <>

	* porting.texi: Expand libtool information.

2000-11-23  Gabriel Dos Reis  <>

	* include/bits/ios_base.h (ios_base::failure::~failure,
	ios_base::failure::what): Move definition to ...

	* src/ (ios_base::failure::~failure): ... here.
	src/ (ios::failure::what): Likewise.

2000-11-22  Benjamin Kosnik  <>

	Make deprecated strstream header consistent with new and new.h.
	* include/backward/strstream.h: Add. Use using declarations to
	scope strstreambuf, istrstream, ostrstream, strstream to global
	* include/backward/strstream: Remove using declarations.
	* src/ (base_headers): Add strstream.
	* src/ Regenerate.

	* include/backward/new.h (_CPP_BACKWARD_NEW_H): Change macro guard
	to be consistent with other headers.

2000-11-22  Richard Henderson  <>

	* config/os/bsd/bits/ctype_inline.h (is): Fix order of expressions.
2000-11-22  Phil Edwards  <>

	* porting.texi:  Minor tweaks to vocabulary.

2000-11-22  Loren J. Rittle  <>

        * include/backward/strstream.h: Reinstate the `using'

2000-11-22  Loren J. Rittle  <>

	* src/ (base_headers): Add missing backwards headers.
	* src/ Regenerate.

2000-11-21  scott snyder  <>

        * config/ (seekoff): Fix return value.
        (seekpos): Likewise.
        (sys_seek): Likewise.

2000-11-21  Loren J. Rittle  <>

        * (explanation): Retain output of all failing
        compiles.  Don't add gratuitous space to the log file.

2000-11-21  Benjamin Kosnik  <>

	* src/ Adjust includes.
	* src/ (base_headers): Remove std_strstream.h, add
	(std_headers): Remove strstream.
	* src/ Regenerate.
	* libsupc++/ (headers): Remove new.h
	* libsupc++/ Regenerate.
	* include/std/strstream: Remove.	
	* include/backward/strstream.h: Replace with...
	* include/bits/std_strstream.h: ...this. Move.
	* include/backward/complex.h: Remove SGIisms.
	* include/backward/streambuf.h: Same.
	* include/backward/stream.h: Same.
	* include/backward/ostream.h: Same.
	* include/backward/istream.h: Same.
	* include/backward/iostream.h: Same.
	* include/backward/iomanip.h: Same.
	* include/backward/fstream.h: Same.
	* libsupc++/new.h: Add using declarations for bad_alloc,
	nothrow_t, and nothrow, move to ...
	* include/backward/new.h:

2000-11-21  Mark Mitchell  <>

	* porting.texi: New file.

2000-11-21  Branko Cibej  <>

        * config/os/solaris/solaris2.6/bits/os_defines.h: Define
        __off64_t and __ssize_t.
	* config/os/solaris/solaris2.5/bits/os_defines.h: For now, use the
	same configuration as above.
2000-11-21  Benjamin Kosnik  <>

	* acinclude.m4 (AC_LC_MESSAGES): Check for locale.h.
	* aclocal.m4: Regenerate.
	* configure: Renerate.

2000-11-20  Benjamin Kosnik  <>

	* (explanation): Don't paste output of passing compiles
	into log file. Use -static. Get version info.

	* testsuite/23_containers/ (test02): Fix thinko.

2000-11-20  Gabriel Dos Reis  <>

	* include/bits/std_complex.h (complex<double>): Constructor
	complex<double>::complex(const complex<float>&) is not explicit;
	since it is a promotion.
	(complex<long double>): Constructors taking complex<float> and
	complex<double> are not explicit.

2000-11-20  Benjamin Kosnik  <>

	* include/bits/std_complex.h: Tweaks, include cmath for abs overloads.
	* src/ Remove cmath include, formatting tweaks, remove
	dead code.
	* include/c/bits/std_cmath.h: Formatting tweaks.
	* testsuite/26_numerics/ New file, for catching
	bits gleaned from libstdc++/106.

	* testsuite/23_containers/ (test02): Add test from
2000-11-20  Joseph S. Myers  <>

	* include/bits/c++config, include/bits/ios_base.h,
	include/bits/std_streambuf.h: Correct spelling of "deprecated".

2000-11-19  Mark Mitchell  <>

	* libsupc++/ (__throw_bad_cast): Name it 
	__cxa_bad_cast under the new ABI.
	(__throw_bad_typeid): Name it __cxa_bad_typeid under the new ABI.
	* libsupc++/ (__pure_virtual): Name it __cxa_pure_virtual
	under the new ABI.

2000-11-18  Mark Mitchell  <>

	* libsupc++/exception_support.h: New header file.
	* libsupc++/ Include it.
	(__cxa_vec_new2): Recatch exceptions before rethrows.
	(__cxa_vec_new3): Likewise.
	(__cxa_vec_ctor): Likewise.
	(__cxa_vec_cctor): Likewise.
	(__cxa_vec_dtor): Likewise.
	(__cxa_vec_delete2): Likewise.
	(__cxa_vec_delete3): Likewise.

2000-11-17  Theodore Papadopoulo  <>

	* include/bits/stl_tree.h: Overload operators == and != to be able
	to handle the case (const_iterator,iterator) and
	(iterator,const_iterator), thus fixing libstdc++/737 and the like.
	* testsuite/23_containers/ (test02): New tests.
2000-11-17  Loren J. Rittle  <>

	* acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Correct last patch
	  to ``make --enable-cstdio=stdio the default''.
	* libstdc++-v3/aclocal.m4: Rebuilt.
	* libstdc++-v3/configure: Rebuilt.

2000-11-17  Phil Edwards  <>

	* acinclude.m4 (GLIBCPP_ENABLE_ATOMICITY):  Move switch statement
	  contents to...
	*  Enable generic atomic ops, and warn.
	* aclocal.m4:  Regenerated.
	* configure:  Ditto.
	*  Ditto.
	* libio/  Ditto.
	* libmath/  Ditto.
	* libsupc++/  Ditto.
	* src/  Ditto.

2000-11-16  Loren J. Rittle  <>

        * include/bits/locale_facets.tcc (num_get<_CharT,
          _InIter>::do_get(...)): Add missing typename keyword.

2000-11-16  Mark Mitchell  <>

	* acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Make 
	--enable-cstdio=stdio the default.  Disable wide character support
	in that event.
	* config/c_io_stdio.h: Don't include <libio.h>, don't define
	* aclocal.m4: Regenerated.
	* configure: Likewise.
	* Likewise.
	* libio/ Likewise.
	* libmath/ Likewise.
	* libsupc++/ Likewise.
	* src/ Likewise.
2000-11-16  Gerald Pfeifer  <>

	* config/c_io_stdio.h: Include stddef.h.

2000-11-16  Mark Mitchell  <>

	* config/c_io_stdio.h (streamsize): Make it a typedef for
	(wstreamsize): Likewise.

	* config/c_io_stdio.h: Include libio.h.

2000-11-15  Mark P Mitchell  <>

	* acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Substitute libio_la.
	* src/ (libstdc___la_LIBADD): Use it.
	* aclocal.m4: Regenerated.
	* configure: Likewise.
	* Likewise.
	* libio/ Likewise.
	* libmath/ Likewise.
	* libsupc++/ Likewise.
	* src/ Likewise.
2000-11-15  Mark Mitchell  <>

	* Move check for bash version 2 later in the file.

	* include/bits/basic_string.h (basic_string::_Rep::_S_max_size):
	Make it const.
	(basic_string::_Rep::_S_terminal): Likewise.
	* include/bits/string.tcc (basic_string::_Rep::_S_max_size):
	(basic_string::_Rep::_S_terminal): Likewise.
2000-11-15  David Billinghurst  <>

	*  Add function size_command() for irix.

2000-11-14  Benjamin Kosnik  <>

	* acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPOR): Set LIBS back to
	initial value.
	building a canadian cross. This should fix the remaining java
	build issues.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* include/bits/c++config (__GLIBCPP__): Set release version for 2.91.

2000-11-14  Phil Edwards  <>

	* On a platform where we don't know how to extract
	section sizes, just set them to zero.  Use old method of reading
	file contents.

2000-11-13  Loren J. Rittle  <>

        * config/c_io_stdio.h: Don't define __c_wfile_type
        when _GLIBCPP_USE_WCHAR_T is not defined.

2000-11-13  Phil Edwards  <>

	* acinclude.m4 (GLIBCPP_CHECK_TARGET):  New macro, replacing
	(GLIBCPP_CONFIGURE):  Call new macro here.
	*  Cleanup.
	*  Remove those two macros.
	*  New file.
	* aclocal.m4:  Regenerated.
	* configure:  Ditto.
	*  Ditto.
	* libio/  Ditto.
	* libmath/  Ditto.
	* libsupc++/  Ditto.
	* src/  Ditto.

	*  Use libtool.  Split things out into functions.

2000-11-12  Alexandre Petit-Bianco  <>

        * (tmp-libstdsc++.INC:): Do not use -I$(top_builddir).
        * Regenerate.

2000-11-12  David Edelsohn  <>

        * acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Add test for
        libiconv.a providing wchar_t support functions.
	* aclocal.m4: Regenerate.
2000-11-12  Loren J. Rittle  <>

        * acinclude.m4 (GLIBCPP_ENABLE_ATOMICITY): Handle FreeBSD.
        * aclocal.m4, configure: Rebuilt.

2000-11-12  Brent Verner  <>

        * include/c_std/bits/wrap_langinfo.h: New file.
        * include/c_std/langinfo.h: New file.
        * include/bits/codecvt.h (__enc_trants::__enc_traits()): Bring in
	CODESET from _C_legacy::CODESET if using shadow headers.
	* src/ Add new files.
	* src/ Regenerate.
2000-11-12  Mark Mitchell  <>

	* include/c/bits/std_cmath.h (abs): Change extern "C" declaration
	of `abs (double)' to ...
	(fabs): this.

	* config/os/solaris/solaris2.7/bits/os_defines.h: Define

2000-11-11  Mark P Mitchell  <>

	* include/bits/basic_file.h (__basic_file): Don't use __c_wfile_type
	when _GLIBCPP_USE_WCHAR_T is not defined.

2000-11-10  Phil Edwards  <>

	* include/bits/codecvt.h (__iconv_adaptor):  New adaptor function,
	  courtesy of Alexandre Oliva, to handle const/non-const signatures.
	  (codecvt::do_out):  Use.
	  (codecvt::do_in):  And here.

2000-11-10  Gabriel Dos Reis  <>

	* include/bits/cpp_type_traits.h: Fix typos.  Adjust formatting.

2000-11-10  Gabriel Dos Reis  <>

	* include/bits/localefwd.h (_Count_ones<>::_S_halfcount,
	_Count_ones<>::_S_count): Turn into enumerators.

2000-11-08  Mark Mitchell  <>

	* include/bits/codecvt.h (codecvt::do_out): Make it const-correct.
	(codecvt::do_in): Likewise.

2000-11-08  David Edelsohn  <>

	* src/ Add explicit instantiations of
	_M_fill_insert and fill_n<..., unsigned long,...> .

2000-11-06  Gabriel Dos Reis  <>

        * include/bits/std_complex.h (conj): Undo double removal.

2000-11-06  Alexandre Oliva  <>

	* acinclude.m4 (LIB_AC_PROG_CXX): Remove CXX from the list of
	alternatives for CXX_libstdcxx, now that it is useless.
	* aclocal.m4, configure: Rebuilt.

2000-11-04  Mark Mitchell  <>

	* acinclude.m4 (LIB_AC_PROG_CXX): Set CXX_libstdcxx from CXX.
	* aclocal.m4: Regenerated.
	* configure: Likewise.

	* acinclude.m4 (GLIBCPP_CHECK_CTYPE_SUPPORT): Fix punctuation in
	use of `test'.
	* aclocal.m4: Regenerated.
	* configure: Likewise.

2000-11-04  Alexandre Oliva  <>

	* acinclude.m4 (CXX): Prevent it from being cached.
	* aclocal.m4, configure, */ Rebuilt.

2000-11-03  David Edelsohn <>

	* acinclude.m4 (GLIBCPP_CHECK_OS): Add AIX target selecting threads
	  flag based on multilib definition of $CXX.
	* mknumeric_limits (LDFLAGS): Add AIX target linking with pthreads
	  based on multilib definition of $CXX.
	* config/os/aix/bits/os_defines.h (_G_USING_THUNKS): Define as 0.

2000-11-03  Phil Edwards  <>

	* acinclude.m4:  Cleanups.
	* aclocal.m4:  Regenerated.
	* configure:  Ditto.
	*  Ditto.
	* libio/  Ditto.
	* libmath/  Ditto.
	* libsupc++/  Ditto.
	* src/  Ditto.

	* docs/install.html:  Removal of EGCS.
	* docs/23_containers/wrappers_h.txt:  Likewise.
	* docs/faq/index.html:  Likewise.
	* docs/faq/index.txt:  Regenerated.
	* docs/thanks.html:  More people.

2000-11-03  David Edelsohn  <>

	* include/c/bits/std_cwchar.h: Undefine macro that conflicts
	with function name defined in this file.

Thu Nov  2 23:19:20 2000  Mark P Mitchell  <>

	* include/c/bits/std_cctype.h: Undefine macros that conflict
	with function names defined in this file.
	* include/c/bits/std_cstdio.h: Likewise.

2000-11-02  Mark Mitchell  <>

	* acinclude.m4 (GLIBCPP_CHECK_CTYPE_SUPPORT): Fix typo.

Thu Nov  2 10:11:45 2000  Mark P Mitchell  <>

	* acinclude.m4 (GLIBCPP_CHECK_CTYPE_SUPPORT): Add support for IRIX.
	* aclocal.m4: Regenerated.
	* Regenerated.
	* libio/ Likewise.
	* libmath/ Likewise.
	* libsupc++/ Likewise.
	* src/ Likewise.
	* configure: Likewise.
	* config/os/irix/bits/ctype_base.h: Revise.
	* config/os/irix/bits/ctype_inline.h: Likewise.
	* config/os/irix/bits/ctype_noninline.h: Likewise.

	* testsuite/22_locale/ Don't run it
	* testsuite/22_locale/ Likewise.
	* testsuite/22_locale/ Likewise.
	* testsuite/22_locale/ Likewise.
	* Fix echoing of -rpath option.
	* config/os/irix/bits/atomicity.h (_Atomic_word): Make it a
	signed type.
	(__exchange_aand_add): Adjust accordingly.
	(__atomic_add): Likewise.
2000-11-02  Benjamin Kosnik  <>

	* src/ Match orderings for static members.
	* include/bits/fstream.tcc: Fixes for cin.

2000-11-02  Gabriel Dos Reis  <>

	* include/bits/std_complex.h (complex<>): Remove (cos<>, cosh<>,
	exp<>, log<>, log<>, sin, sinh<>) friend declarations.
	(cos, cosh, sin, sinh): Define primary templates.

	* src/ (cos<>, cosh<>, sin<>, sinh<>): Comment out

2000-11-01  Benjamin Kosnik  <>

	* bits/basic_file.h (_M_open_mode): Change signature, move
	specializations to..
	* config/
	* acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Add sdtio option, remove wince.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* config/c_io_stdio.h: New file.
	* config/ New file.
	* docs/configopts.html: Modify documentation.
2000-10-31  Benjamin Kosnik  <>

	* include/c/bits/std_cwctype.h: Add more undefs.

2000-10-31  Gabriel Dos Reis  <>

	* include/bits/std_complex.h (norm): Forward declare.
	(complex<>): Comment out friend declaration of conj<>.
	(conj<>): Comment out specialization.
	(exp, log, log10): Define primary templates.

	* src/ (exp<>, log<>, log10<>): Comment out

2000-10-31  Benjamin Kosnik  <>

	* include/bits/std_complex.h: Remove duplicate definition of conj.
	* include/c/bits/std_cwctype.h: Consistent placement of undefs.
2000-10-31  Gabriel Dos Reis  <>

	* src/ (arg, polar): Comment out specializations.

	* include/bits/std_complex.h (complex<>): Remove arg<> friend
	(arg): Define primary template.
	(polar): Likewise.
	(conj): Likewise.

2000-10-31  Gabriel Dos Reis  <>

	* include/c/bits/std_cwctype.h: #undef possible function-like
	macro definitions of iswxxx functions, which might be brought in
	by <wctype.h>.  Those macro definitions prevent build on some
	linux-based systems.
	* include/bits/std_complex.h (complex<>): Comment out friend
	declarations of abs<> specializations.
	(abs): Define primary template.

	* src/ (abs): Comment out specialization definition.

2000-10-30  Phil Edwards  <>

	* acinclude.m4 (GLIBCPP_ENABLE_DEBUG):  Raise debugging level from
	  the default of 2 to 3.
	*  Fix minor typos.  SUBST the values of enable_shared
	  and enable_static so that mkcheck will be aware of them.  Put the
	  test for gconv.h in with all the other header tests.
	* aclocal.m4:  Regenerate.
	* configure:  Ditto.
	*  Ditto.
	* libio/  Ditto.
	* libmath/  Ditto.
	* libsupc++/  Ditto.
	* src/  Ditto.

	* config/os/solaris/solaris2.7/bits/os_defines.h:  Define
	  _G_USING_THUNKS to 0.

2000-10-30  Benjamin Kosnik  <>

	* src/ : Remove ancient defines.
	* config/os/gnu-linux/bits/os_defines.h: Add defines.
	* libsupc++/ Change to cstddef.

	* include/bits/codecvt.h: Add include of c++config.h, so that
	__USE_GNU gets defined. (Important for alpha.)

	* include/c/bits/std_cwctype.h: Same.
	* include/c/bits/std_ctime.h: And here.
	* include/c/bits/std_cstdarg.h: Same.
	* include/c/bits/std_csignal.h: Same.
	* include/c/bits/std_csetjmp.h: Same.
	* include/c/bits/std_clocale.h: Same.
	* include/c/bits/std_climits.h: Touch.
	* include/c/bits/std_cfloat.h: Same.
	* include/c/bits/std_cerrno.h: Same.
	* include/c/bits/std_cwchar.h: Same.
	* include/c/bits/std_cassert.h: Same.
	* include/c/bits/std_cctype.h: Same.	
	* include/c/bits/std_cstddef.h: And here.
	* include/c/bits/std_cstdlib.h: And here.
	* include/c/bits/std_cstdio.h: Same.
	* include/c/bits/std_cstring.h: Add names to namespace std::.

	* include/bits/c++config (_GNU_SOURCE): Move linux-specific macros
	from here...
	(_ISOC99_SOURCE): And this one....
	* config/os/gnu-linux/bits/os_defines.h: here.
	* include/bits/codecvt.h (codecvt<_InternT, _ExternT,
	__enc_traits>::do_in): Don't cast to const, this is a bug in glibc
	prior to 2.2.
	(codecvt<_InternT, _ExternT, __enc_traits>::do_out): Same.
	* include/c/bits/std_cwchar.h: Add using declarations for mbstate_t.
2000-10-30  Steven King  <>

	* include/bits/codecvt.h: Add cast.
	* include/c_std/stdio.h: Re-add printf using declaration.
	* include/c_std/bits/std_cstdio.h: Same
	* testsuite/22_locale/ Fixup testsuite.
	* testsuite/22_locale/ Same.
	* testsuite/22_locale/ Same.
	* testsuite/22_locale/ Same.
	* testsuite/22_locale/ Same.
	* testsuite/22_locale/ Same.
	* testsuite/26_numerics/ Same.
	* testsuite/26_numerics/ Same.
	* testsuite/27_io/ Same.
	* testsuite/27_io/ Same.
	* testsuite/27_io/ Same.
	* testsuite/27_io/ Same.
	* testsuite/27_io/ Same.

2000-10-30  Mark Mitchell  <>

        * acinclude.m4 (GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT): Check 
        for cabs, cabsf, and cabsl, too.
        * aclocal.m4: Regenerated.
        * Likewise.
        * configure: Likewise.
        * libmath/ (libmath_la_SOURCES): Remove cabs.c and
        * libmath/ Regenerated.
        * libmath/complex-stub.h (cabs): Don't declare if the system
        already provides this function.
        (cabsf): Likewise.
        (cabsl): Likewise.
        * src/ (abs): Directly use `hypot' since we can't call
        cabs on IRIX.

2000-10-30  Joseph S. Myers  <>

	* acinclude.m4: Update URL on to point to
	* aclocal.m4, configure: Regenerate.
	* src/, include/bits/c++config,
	include/bits/stl_config.h: Remove EGCS references.

2000-10-29  Mark Mitchell  <>

	* (test_file): Use -rpath, rather than --rpath, when
	building shared executables.

2000-10-29   Mark Harig <>

	* src/ Change logic for include dir options.
	* src/ Regenerate.
	* libsupc++/ Ditto.
	* libsupc++/ Regenerate.
2000-10-29  Benjamin Kosnik  <>

	* Simplify use of AC_CACHE_SAVE.  Put linked files
	in $(top_builddir)/include/bits, not $(top_builddir)/bits, to help
	with libgcj build issues and improve consistency with the source
	directory's include directory setup.
	* configure: Regenerate.
	* acinclude.m4: Same here.
	* aclocal.m4: Regenerate.
	* mknumeric_limits (OUT_H): Also change paths here.
	* (C_DIR): And here.
	* mkc++config (OUT_H): And here.
	* libmath/ (INCLUDES): And here.
	* src/ (INCLUDES): Change to $(top_builddir)/include.
	* libio/ Ditto.
	* libsupc++/ (INCLUDES): Ditto.

2000-10-29  Mark Mitchell  <>

	* config/ (basic_file<char>::__basic_file): 
	Don't pass a NULL _IO_wide_data to _IO_no_init when
	_GLIBCPP_USE_WCHAR_T is not defined.
	* config/c_io_libio.h (_IO_codecvt): Don't declare when 
	_GLIBCPP_USE_WCHAR_T is not defined.
	* config/c_io_libio_codecvt.c: Don't compile it 
	when _GLIBCPP_USE_WCHAR_T is not defined.
	* include/bits/codecvt.h (codecvt<_InternT, _ExternT, __enc_traits):
	Don't define this specialization when _GLIBCPP_USE_WCHAR_T 
	is not defined.
	* include/bits/locale_facets.h (<bits/std_cwctype.h>): Don't
	include it when _GLIBCPP_USE_WCHAR_T is not defined. 
	* src/ (__enc_traits::_S_max_size): Don't define
	when _GLIBCPP_USE_WCHAR_T is not defined.
	* src/ (locale::_Impl::_M_construct_collate):
	Don't call wide-character functions when _GLIBCPP_USE_WCHAR_T is 
	not defined.
	(locale::_Impl::_M_construct_ctype): Likewise.
	(locale::_Impl::_M_construct_monetary): Likewise.
	(locale::_Impl::_M_construct_numeric): Likewise.
	(locale::_Impl::_M_construct_time): Likewise.
	(locale::_Impl::_M_construct_messages): Likewise.
	* acinclude.m4 (GLIBCPP_ENABLE_ATOMICITY): Handle IRIX.
	* aclocal.m4: Regenerated.
	* configure: Likewise.
	* config/os/irix/bits/atomicity.h: New file.
	* config/os/irix/bits/os_defines.h (_POSIX_SOURCE): Undefine.
	(__off_t): Define.
	(__off64_t): Likewise.
	(__ssize_t): Likewise.
	(_G_USING_THUNKS): Define to zero.
2000-10-28  Mark Mitchell  <>

	* src/ (basic_string<C>::npos): Explicitly
	instantiate it.

2000-10-26  Benjamin Kosnik  <>

	* include/c/bits/std_cmath.h: Fix double declarations in namespace std.

	Clean up naming, consistency in "C" library autoconf testing.
	* acinclude.m4 (GLIBCPP_CHECK_CTYPE): For consistency, change to
	* aclocal.m4: Regenerate.
	* And here. 
	* configure: Regenerate.
2000-10-26  David Edelsohn  <>

	* acinclude.m4 (GLIBCPP_CHECK_STDLIB_DECL_AND_LINKAGE_2): New macro.
	(GLIBCPP_CHECK_MATH_SUPPORT): Use it to test for strtold.
2000-10-26  Phil Edwards  <>  
	    David Edelsohn  <>

	* acinclude.m4 (GLIBCPP_CHECK_LINKER_FEATURES): Comment out
	--gc-sections stuff entirely to avoid misleading people.
        (GLIBCPP_ENABLE_CSTDIO): Merge need_libio and need_xtra_libio.
	Rearrange and merge.
        * libio/libio.h: Simplify, make fewer assumptions.  Define those
	macros which must be defined.
        * config/os/solaris/solaris2.7/bits/os_defines.h: Simplify as a

2000-10-26  Mark Mitchell  <>

	* include/backward/streambuf.h: New file.

2000-10-26  David Edelsohn  <> 
	* config/os/aix/bits/ctype_inline.h (is): Use __OBJ_DATA directly.
        * config/os/aix/bits/ctype_noninline.h (do_tolower): Fix typo.
        * config/os/aix/bits/os_defines.h: Add AIX defines.

2000-10-26  Benjamin Kosnik  <>

	* acinclude.m4 (GLIBCPP_ENABLE_LONG_DOUBLE): Remove.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* docs/configopts.html: Remove.
	* src/ Revert.
	* Remove.
	* include/c_std/bits/std_cmath.h: Remove guards based on
	* include/c/bits/std_cmath.h: Same. Format. Match c_std behavior
	with respect to long double signatures.

	* config/os/aix/bits/ctype_noninline.h (ctype): Remove throw
	* config/os/newlib/bits/ctype_noninline.h (ctype): And here.
	* config/os/solaris/solaris2.6/bits/ctype_noninline.h (ctype): Same.
	* config/os/solaris/solaris2.5/bits/ctype_noninline.h (ctype): Same.
	* config/os/generic/bits/ctype_noninline.h (ctype): Same.
	* config/os/bsd/bits/ctype_noninline.h (ctype): Same.

2000-10-26  Gabriel Dos Reis  <>

	* include/bits/std_valarray.h (valarray::valarray): Fix thinko.
	Use __valarray_copy_construct only where appropriate.

2000-10-25  Mark Mitchell  <>

	* (check): Don't make mkcheck executable.
	(check-install): Likewise.
	* (AC_OUTPUT): Make mkcheck executable.
	* (top_srcdir): New variable.
	(INC_PATH): Set the path to the backward and ext directories
2000-10-25  Phil Edwards  <>

        *  Check for gconv.h.
        * libio/wfileops.c:  Wrap gconv.h in HAVE_GCONV_H.

        * config/c_io_libio_codecvt.c:  Change __mbstate_t to __c_mbstate_t.
        * libio/_G_config.h:  And here.
        * libio/iofwide.c:  And here.
        * libio/libio.h:  And here.

        * config/os/solaris/solaris2.7/bits/ctype_noninline.h:  Remove
          exception specification to match declaration.
        * include/bits/locale_facets.tcc:  Include bits/std_clocale.h.

2000-10-24   Mark Harig <>

        * docs/configopts.html: Added documentation for the
        "--enable-version-specific-runtime-libs" and
        "--with-gxx-include-dir" configuration switches.

2000-10-24  Benjamin Kosnik  <>

        * include/bits/stl_pair.h (make_pair): Add LWG solution.

        * testsuite/21_strings/ (test01): Inject namespace std
	into the mix.

	* (MAX_MEM_USAGE): Bump up to 3072. Strangely enough,
	this works. 

2000-10-24  Levente Farkas  <>

	* include/bits/std_bitset.h (_M_do_find_next): Fix typo.

2000-10-24  Phil Edwards  <>

        * acconfig.h:  List _GLIBCPP_USE_THREADS.
        * acinclude.m4:  General formatting cleanup (tabs/spaces), typo
          correction, etc.  Add comments about following *real* changes
          where they are used.
          (GLIBCPP_ENABLE_C_MBCHAR):  New test...
          (GLIBCPP_CHECK_WCHAR_T_SUPPORT):  ...results used here.
          (GLIBCPP_ENABLE_CSTDIO):  Define need_wlibio iff wide characters
          are requested.
          (GLIBCPP_ENABLE_THREADS):  If threads are used, define new
          macro _GLIBCPP_USE_THREADS in c++config.h.
          (GLIBCPP_ENABLE_SHADOW):  For C_INCLUDE_DIR, change () to {} as
          this is used in both makefiles and shell scripts (mkcheck).

        * libio/_G_config.h:  Wrap _IO_MTSAFE_IO in _GLIBCPP_USE_THREADS.
        * config/c_io_libio.h:  In nonthreaded case, typedef __c_lock to
          something harmless, like int.

        * config/os/aix/bits/os_defines.h:  Guard with _GLIBCPP_OS_DEFINES,
          add comment/instructions.
        * config/os/bsd/bits/os_defines.h:  Ditto.
        * config/os/generic/bits/os_defines.h:  Ditto.
        * config/os/gnu-linux/bits/os_defines.h:  Ditto.
        * config/os/irix/bits/os_defines.h:  Ditto.
        * config/os/newlib/bits/os_defines.h:  Ditto.
        * config/os/solaris/solaris2.5/bits/os_defines.h:  Ditto.
        * config/os/solaris/solaris2.6/bits/os_defines.h:  Ditto.

        *  Limit the available heap size for testsuite
          binaries, initially at 2MB.

2000-10-23  Benjamin Kosnik  <>

	* testsuite/21_strings/ (test01): Add using declarations.

	* include/c_std/bits/std_cerrno.h: And here.
	* include/c_std/bits/std_cassert.h: Tweaks.

	* Simplify.
	* acinclude.m4 (GLIBCPP_ENABLE_LONG_DOUBLE): Simplify.
	* aclocal.m4: Regenerate.

	* src/ (c_shadow_headers): Add features.h,
	* src/ Regenerate.
	* include/c_std/features.h: New file.
	* include/c_std/bits/wrap_features.h (_CPP_WRAP_FEATURES_H): New
	file. Need to have c++config.h included before this file so
	_ISOC99_SOURCE around.

	* include/c_std/sys/cdefs.h: Hack.
	* include/c_std/stdlib.h: Same, use c++config.h.
	* include/c_std/bits/std_cstdlib.h: Use _GLIBCPP_HAVE_STRTOLD.

	* include/c_std/bits/std_cassert.h: Fix.
	* include/c_std/bits/std_cerrno.h: Make consistent.

	* include/c_std/bits/std_csetjmp.h (setjmp): Unscope global
	declaration from ::_C_legacy to _C_legacy.

	* include/c_std/bits/std_cstdio.h: same with printf.
	* include/c_std/stdio.h: And here.

	* include/c_std/bits/std_cstdlib.h: abort, exit comment.
	* include/c_std/stdlib.h: Same here.
2000-10-23  Benjamin Kosnik  <>

	* testsuite/21_strings/ (test01): Add using declarations.

	* include/c_std/bits/std_cerrno.h: And here.
	* include/c_std/bits/std_cassert.h: Tweaks.

	* Simplify.
	* acinclude.m4 (GLIBCPP_ENABLE_LONG_DOUBLE): Simplify.
	* aclocal.m4: Regenerate.

	* src/ (c_shadow_headers): Add features.h,
	* src/ Regenerate.
	* include/c_std/features.h: New file.
	* include/c_std/bits/wrap_features.h (_CPP_WRAP_FEATURES_H): New
	file. Need to have c++config.h included before this file so
	_ISOC99_SOURCE around.

	* include/c_std/sys/cdefs.h: Hack.
	* include/c_std/stdlib.h: Same, use c++config.h.
	* include/c_std/bits/std_cstdlib.h: Use _GLIBCPP_HAVE_STRTOLD.

	* include/c_std/bits/std_cassert.h: Fix.
	* include/c_std/bits/std_cerrno.h: Make consistent.

	* include/c_std/bits/std_csetjmp.h (setjmp): Unscope global
	declaration from ::_C_legacy to _C_legacy.

	* include/c_std/bits/std_cstdio.h: same with printf.
	* include/c_std/stdio.h: And here.

	* include/c_std/bits/std_cstdlib.h: abort, exit comment.
	* include/c_std/stdlib.h: Same here.
2000-10-21  Benjamin Kosnik  <>

	* acinclude.m4 (GLIBCPP_ENABLE_LONG_DOUBLE): New macro.
	* aclocal.m4: Regenerate.
	* Use it.
	* configure: Regenerate.
	* src/ Fixup.
	* include/c_std/bits/std_cmath.h: Fixup.
	* include/c/bits/std_cmath.h: Fixup.
	* docs/configopts.html: Add docs.
	* docs/links.html: Add links to defects list, standards FAQ.

	* testsuite/21_strings/ (test01): Disable tests
	with string creation that allocate huge ammounts of memory.

	* include/c/bits/std_cstddef.h: Put size_t, ptrdiff_t in
	namepace std.

2000-10-21  Theodore Papadopoulo <>

    	* libsupc++/ Use namespace std.
    	* libsupc++/new: DITTO.
    	* libsupc++/ DITTO.
    	* libsupc++/ DITTO.
    	* libsupc++/ DITTO.
    	* libsupc++/ DITTO.
    	* libsupc++/ DITTO.
    	* libsupc++/tinfo.h: DITTO.
    	* libsupc++/ DITTO.
    	* libsupc++/ Blank lines removal.

2000-10-21  Joseph S. Myers  <>

	* docs/configopts.html, docs/install.html, docs/17_intro/BADNAMES,
	docs/17_intro/howto.html, docs/18_support/howto.html,
	docs/19_diagnostics/howto.html, docs/20_util/howto.html,
	docs/21_strings/howto.html, docs/22_locale/howto.html,
	docs/23_containers/howto.html, docs/24_iterators/howto.html,
	docs/25_algorithms/howto.html, docs/26_numerics/howto.html,
	docs/27_io/howto.html, docs/ext/howto.html, docs/faq/index.html:
	Remove many EGCS references; use current absolute URLs on or for messages in list archives.
	* docs/faq/index.txt: Regenerate.

2000-10-19  Benjamin Kosnik  <>

	* testsuite/22_locale/ (test01): Adjust
	creation of state_type for unicode_codecvt to take into account
	the byte order markings. Add distinct tests for UCS-2BE and UCS-2LE.
	* testsuite/22_locale/ (test01): Same.
	* include/bits/codecvt.h (__enc_traits): Add support for encodings
	that need a byte order marker. Needed for correct unicode support.

	* src/ Remove explicit qualification std::.
	(locale::locale(const char* __name)): Revert, as named locale
	support not finished.
	* src/ (locale::_Impl:: _Impl(size_t __numfacets,
	size_t __refs, bool __has_name = false, string __name): Move
	default argument...
	* include/bits/localefwd.h: Here.
2000-10-18  Chip Salzenberg  <>

        * libio/libio.h (_IO_USER_LOCK): Define.

2000-10-18  Benjamin Kosnik  <>

	* libsupc++/ (exception): Change to
	(CXXLINK): Remove bogus --tag CC.
	* libsupc++/ Regenerate.
	* libsupc++/ Move to...
	* libsupc++/

	* src/ Remove bogus --tag CC.
	* src/ Regenerate.
	* include/bits/locale_facets.tcc (use_facet): Simplify.
	* include/bits/locale_facets.h (use_facet<ctype<char> >): Correct
	use_facet declaration. Replace 'const ctype<T>' with ctype<T>.
	(use_facet<ctype<wchar_t> >): Same.
	* src/ Remove explicit instantiation.
	* src/ Correct signature here too.
	(_Bad_use_facet::what()): Correct error string.
	* include/bits/localefwd.h: Correct comment.

	* (C_DIR): Change libsupc++/include to libsupc++.

2000-10-17  Martin Buchholz <>

	* testsuite/27_io/ Fix spelling typo.
	* testsuite/27_io/ Similarly.

2000-10-17  Benjamin Kosnik  <>

	via Alexandre Oliva  <>
	* libsupc++/ Add --tag CXX, --tag CC, comments.
	* libsupc++/ Regenerate.
	* src/ Duplicate code.
	* src/ Regenerate.
	* acinclude.m4 (GLIBCPP_ENABLE_RELIBGCC): Take this out.
	* aclocal.m4: Regenerate.
	* And here.
	* configure: Regenerate.

	* acinclude.m4 (GLIBCPP_CHECK_LINKER_FEATURES): Disable

2000-10-16  Benjamin Kosnik  <>

	Shadow headers would work if libsupc++ was strict about namespaces.
	This only possible if g++ maps std::size_t -> size_t. (Hint hint.)
	* include/c_std/assert.h: Add guards.
	* include/c_std/bits/std_climits.h: Correct typo.
	* include/c_std/ctype.h: Remove #error.

	* libio/libioP.h: Break up extern "C" bits around includes.
	* libio/libio.h: Only include C headers, or else _C_legacy namespaces
	will be nested.
	* libio/libioP.h: Same here.

2000-10-15 Theodore Papadopoulo <>

	* include/c_std/unistd.h: Define some types only when defined in
	the original unistd.h.
    	* include/c_std/bits/std_cstddef.h: Explicitly ask for the
	definition of size_t, ptrdiff_t and NULL.
    	* include/c_std/bits/wrap_unistd.h: Blank lines removal.

2000-10-15  Phil Edwards  <>

	* docs/configopts.html:  Remove libgcc-rebuild; HTML formatting.

2000-10-13  Benjamin Kosnik  <>
            Mark Harig  <>

	* src/ (toolexeclibdir): Add support fo
	VERSION_SPECIFIC_LIBS and --with-gxx-include-dir.
	* src/ Regenerate.
	* libsupc++/ Same.
	(glibcppinstalldir): Adjust.
	* libsupc++/ Regenerate.
	* Remove gxx_include_dir. Remove INCLUDE. 
	* Regenerate.
	* docs/configopts.html: Add descriptions of flags.
2000-10-11  Benjamin Kosnik  <>

	* libsupc++/ Use it.
	* libio/ Use it.
	* libmath/ Use it.
	* src/ Use it.
	* (AM_MAKEFLAGS): Remove includes.

	* acinclude.m4 (GLIBCPP_EXPORT_INCLUES): Move include macros here.
	(GLIBCPP_EXPORT_FLAGS): Move CXX flag setting here.
	* Use it.


	* src/ (CXXCOMPILE): Remove.
	* src/ Regenerate.
	* libsupc++/ (CXXCOMPILE): Same here.
	* libsupc++/ Regenerate.

	* include/c_std/*: Merge with shadow.
	* include/c_std/bits/*: Same.

	* shadow: Remove directory.
	* shadow/*: De-populate.
2000-10-11  Phil Edwards  <>

	* acinclude.m4 (GLIBCPP_CHECK_LINKER_FEATURES):  Comment out
	  exception-throwing code for linker test.
	* aclocal.m4:  Regenerate.
	* configure:  Regenerate.

2000-10-10  Benjamin Kosnik  <>

	* libsupc++/include: Remove
	* libsupc++/include/*: Move to ...
	* libsupc++: Here.
	* libsupc++/ (glibcppinstall_HEADERS): Install headers.
	(glibcppinstalldir): New.
	* src/ (c_base_headers): New.
	(c_shadow_headers): New
	(c_headers): New.
	(myinstallheaders): Correct install issues.
	* src/ Regenerate.
	* (CSHADOW_INCLUDES): Simplify.
	* Regenerate.
	* acinclude.m4 (GLIBCPP_ENABLE_SHADOW): Add c_include_dir.
	* aclocal.m4: Regenerate.
	* (SRC_DIR): Use it.
	* include/bits/std_stdexcept.h: And here.
	* include/bits/std_ios.h: Change std_exception.h to exception.
	* src/ And here.
	* src/ And here.
	* include/bits/valarray_array.h: And here.
	* include/bits/stl_alloc.h: And here.
	* include/bits/stl_algobase.h: And here.
	* include/bits/pthread_allocimpl.h: And here.
	* include/bits/stl_construct.h: Change to std_new.h to new.

	* include/bits/locale_facets.h: Change std_typeinfo.h to typeinfo.

	(headers): Remove duplicated headers.
	(std_headers): And here.
	* src/ Regenerate.
	* libsupc++/ (LIBSUPCXX_INCLUDES): Remove.
	* libsupc++/ Regenerate.
	(AM_MAKEFLAGS): And here.
	* Regenerate.
	* include/bits/std_typeinfo.h: Remove.
	* include/bits/std_new.h: Remove
	* include/bits/std_exception.h: Remove.
	* std/new: Remove.
	* std/typeinfo: Remove.
	* std/exception: Remove.

	* libio/_G_config.h (__need_ptrdiff_t): Add.
	* libsupc++/include/new: Change stddef.h to cstddef.
	* libsupc++/tinfo.h: Change limits.h to climits.
	* libsupc++/ Comment out _GNU_LIBRARY_ bits, as this
	renders the file uncompilable. Add copyright.

	* include/c_std/bits/std_cstddef.h: Don't bring wchar_t into std
	namespace, as it is a fundamental type.

2000-10-09  Richard Henderson  <>

	* libsupc++/ New file.
	* libsupc++/ (INCLUDES): Add top_builddir.
	(sources): Add
	* libsupc++/ Regenerate.

2000-10-09  Benjamin Kosnik  <>

	* docs/configopts.html: Edit.

	* libio/ (INCLUDES): Remove duplicates, simplify.
	* libio/ Regenerate.
	* libmath/ (INCLUDES): Remove duplicates, simplify.
	* libmath/ Regenerate.
	* libsupc++/ (INCLUDES): Remove duplicate.
	* libsupc++/ Regenerate.

	* Regenerate.
	* src/ (CSHADOW_INCLUDES): Add include/c_std, include/c
	for shadow headers.
	(myinstallheaders): Change glibcpp_includedir to GLIBCPP_INCLUDES.
	* src/ Regenerate.
	* include/c: New directory.
	* include/c/bits/(std_cassert.h, std_cctype.h, std_cerrno.h,
	std_cfloat.h, std_climits.h, std_clocale.h, std_cmath.h,
	std_csetjmp.h, std_csignal.h, std_cstdarg.h, std_cstddef.h,
	std_cstdio.h, std_cstdlib.h, std_cstring.h, std_ctime.h,
	std_cwchar.h, std_cwctype.h): Add, moving from...
	* include/bits:
	* include/c_std: New directory.
	* include/c_std/bits/*: Populate from...
	* shadow: Remove directory.
2000-10-08   Benjamin Kosnik  <>

	* libsupc++/ (INCLUDES): Add toplevel include directory.
	(INCLUDES): Add glibcpp_includedir.
	* libsupc++/ Regenerate.

	* acinclude.m4 (GLIBCPP_CHECK_OS): Link to os_defines.h.
	* aclocal.m4: Regenerate.
	* config/os/*/bits/os_defines: Adjust copyright dates.
2000-10-08  Phil Edwards  <>

	* include/bits/c++config:  Include <bits/os_defines.h>
	* config/os/aix/bits/os_defines.h:  New file.
	* config/os/bsd/bits/os_defines.h:  Ditto.
	* config/os/generic/bits/os_defines.h:  Ditto.
	* config/os/gnu-linux/bits/os_defines.h:  Ditto.
	* config/os/irix/bits/os_defines.h:  Ditto.
	* config/os/newlib/bits/os_defines.h:  Ditto.
	* config/os/solaris/solaris2.5/bits/os_defines.h:  Ditto.
	* config/os/solaris/solaris2.6/bits/os_defines.h:  Ditto.
	* config/os/solaris/solaris2.7/bits/os_defines.h:  Ditto.

2000-10-07  David Edelsohn  <> 
	* config/os/aix/bits/atomicity.h: New file.

2000-10-07  Benjamin Kosnik  <>
        * acinclude.m4: Remove CPU_FLAGS
        * libio/ Here too.
        * Here too.
        * src/ (CONFIG_INCLUDES): Remove.
        (cpu_headers): Remove.
        (myinstallheaders): Remove cpu_headers.
        (generated_headers): Rename to build_headers.
        (build_headers): Add atomicity.h, ctype_base.h,
        * config/os: New directory.
        * config/aix: Move to...
        * config/bsd: Move to...
        * config/generic: Move to...
        * config/gnu-linux: Move to...
        * config/irix: Move to...
        * config/newlib: Move to...
        * config/solaris: Move to...
        * config/os/*: Here.

2000-10-07  Benjamin Kosnik  <>

	* acinclude.m4: Remove CPU_FLAGS
	* libio/ Here too.
	* Here too.
	* src/ (CONFIG_INCLUDES): Remove.
	(cpu_headers): Remove.
	(myinstallheaders): Remove cpu_headers.
	(generated_headers): Rename to build_headers.
	(build_headers): Add atomicity.h, ctype_base.h,

	* config/os: New directory.
	* config/aix: Move to...
	* config/bsd: Move to...
	* config/generic: Move to...
	* config/gnu-linux: Move to...
	* config/irix: Move to...
	* config/newlib: Move to...
	* config/solaris: Move to...
	* config/os/*: Here.
2000-10-06  Benjamin Kosnik  <>

	CONFIG_CXXFLAGS from here, and move to...
	* src/ Regenerate.
	* ... here. Clean.
	(OPTIMIZE_CXXFLAGS): Move up Makefile hierarchy to here.
	* Regenerate.
	* libsupc++/ Use top-level OPTIMIZE_CXXFLAGS,
	* libsupc++/ Regenerate.
	Change math to libmath.
	* math: Move to libmath, delete.
	* libmath: New directory.
	* libmath/*: Populate.
	* src/ (LIBMATH_INCLUDES): Change to libmath.
	(libstdc___la_LIBADD): Same.
	* src/ Regenerate.
	* Add AC_OUTPUT for libmath/Makefile.
	* configure: Regenerate.
	* (SUBDIRS): Add libmath.
	* Regenerate.
	* README (file): Change name.
2000-10-06  Benjamin Kosnik  <>
            Richard Henderson  <>
	    Alexandre Oliva  <>
	* libsupc++: New directory.
	* libsupc++/*: Populate.
	* libsupc++/ (INCLUDES): Add -I../../gcc for
	eh-common.h, gansidecl.h.
	* Add in libsupc++/Makefile to AC_OUTPUT.
	* configure: Regenerate.
	* (SUBDIRS): Add libsupc++.
	* Regenerate.
	* src/ (libstdc___la_LIBADD): Add in
	* src/ Regenerate.
	* libio/ Remove extraneous, confusing bits.
	* libio/ Regenerate.
2000-10-05  Brent Verner  <>

        * bits/istream.tcc [basic_istream::get(basic_streambuf&)]: Removed
	test for _M_gcount < in_avail(), as in_avail() only reports info
	for current buffer, causing method to return at end of buffer.
	* testsuite/27_io/ [test07()]: New test.
	* testsuite/27_io/istream_unformatted-3.txt: New file.
	* testsuite/27_io/istream_unformatted-3.tst: New file.

2000-10-05  Benjamin Kosnik  <>

	* README (file): Adjust directory structures.
	* (INC_PATH): Adjust for header changes.

2000-10-05  Phil Edwards  <>

	* acinclude.m4 (GLIBCPP_CHECK_CTYPE):  Tweaks to message texts
	  for public relations purposes.
	* aclocal.m4:  Regenerated.
	* configure:  Regenerated.

	* docs/ext/howto.html:  Additional explanation about hashing.

2000-10-05  Benjamin Kosnik  <>

	* include: New directory.
	* include/backward: New directory.
	* include/bits: New directory.
	* include/ext: New directory.
	* include/std: New directory.
	* include/*/*: Populate.

	* backwards: Move to include/backwards, delete.
	* bits: Move to include/bits, delete.
	* ext: Move to include/ext, delete.
	* std: Move to include/std, delete.
	* src/ Adjust include of mathconf.

	* mkc++config (BASE_H): Add include.

	* src/ Support for topleve sources include directory.
	* src/ Regenerate.
	* math/ (INCLUDES): Append /include.
	* math/ Regenerate.
	* libio/ (INCLUDES): Add glibcpp_includedir.
	* libio/ Regenerate.
2000-10-04  Benjamin Kosnik  <>

	* libio/_G_config.h : Re-guard the __mbstate_t declaration.

2000-10-03  Benjamin Kosnik  <>

	* docs/22_locale/howto.html: Add link to proto-documentation on
	* docs/documentation.html: Rename links for clarity.

	* src/ (headers): Remove unistd.h, wrap_unistd.h. Add
	fcntl.h, iolibio.h, libioP.h, pthread.h, iconv.h. 
	* src/ Regenerate.
2000-10-02  Steven King  <>

        * mkcshadow: Fixed script to output proper include guard.
        * bits/char_traits.h: Cleaned up types in char_traits<char> functions.
        * libio/_G_config.h: Hacked to make work with shadow heraders.
        * shadow/*: Hacked to make shadow headers work. 

2000-10-02  Benjamin Kosnik  <>

	Self-compile with shadow headers.
	* acconfig.h (_GLIBCPP_USE_SHADOW_HEADERS): Define. Eventually,
	like _GLIBCPP_USE_NAMESPACES before it, this macro will die when
	it becomes the default way the library is built.
	* acinclude.m4 (GLIBCPP_ENABLE_SHADOW): New macro.
	* config/gnu-linux/bits/ctype_base.h (ctype_base): Use it.
	* config/gnu-linux/ (ctype): Use it.
	* src/ (locale::_Impl::_M_replace_categories): Remove
	call to assert.
	* src/ Explicitly cast mbstate_t to void* in calls to
	memset. This should not be necessary, but an ambiguous overload
	with it in.

	* shadow/bits/std_cwchar.h: Fix.
	* shadow/wchar.h: Fix.

	* config/gnu-linux/bits/ctype_base.h (ctype_base): Inject ctype
	enums into namespace std:: for ctype_base enum. Other OS types
	will have to do this as well.
	* config/gnu-linux/ (ctype): Inject ctype data into
	namespace std, in particular __ctype_toupper, __ctype_tolower,

	* shadow/iolibio.h: New file.
	* shadow/bits/wrap_iolibio.h: New file.
	* shadow/libioP.h: New file.
	* shadow/bits/wrap_libioP.h: New file.
	* shadow/bits/wrap_fcntl.h: New file.
	* shadow/fcntl.h: New file.
	* shadow/iconv.h: New file. Inject iconv names into the global
	namespace, unmangled for the moment.
	* shadow/bits/wrap_iconv.h: New file.
	* shadow/unistd.h: Remove. Useless.
	* shadow/bits/wrap_unistd.h: Remove.
	* src/ Take out machine-ansi.h, add fcntl.h unistd.h.
	* src/ Regenerate.
	* config/c_io_libio.h (_IO_codecvt): Change to normal C++ decl.
	* shadow/libio.h: Fix.
	* shadow/bits/wrap_libio.h: Fix.

	* shadow/bits/std_clocale.h: Remove typedef struct construct,
	which will not compile.
	* shadow/bits/std_ctime.h: Same.
	* shadow/pthread.h: New file. Put pthreads types and functions
	into global scope, which is probably not the correct long-term
	solution but has to be done at the moment before libio wrappers
	can even be started.
	* shadow/bits/wrap_pthread.h: New file.

	* bits/std_ios.h: Formatting tweak.
	* shadow/bits/std_cstdio.h: Format. Remove extraneous bits.

	* acinclude.m4 (GLIBCPP_CHECK_COMPILER_FEATURES): Add -Werror to
	tests for compiler features.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* config/ Remove fcntl.h include, as SEEK_SET
	* libio/libioP.h: Comment out fcntl.h include.

	* shadow/math.h: Add in float and long declarations, as per ISO C9X.

	* bits/c++config: Define _ISOC99_SOURCE.

	* acinclude.m4 (GLIBCPP_ENABLE_SHADOW): Add -fno-builtins to
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* src/ (CSHADOW_INCLUDES): Enable, again.
	(CSHADOW_INCLUDES): Add -I$(top_srcdir)/std before shadow include dir.
	(CXXCOMPILE): Remove $(DEFS), which searches $(top_srcdir) before
	std or shadow directories.
	(INCLUDES): Add $(top_builddir) before $(top_srcdir).
	* src/ Regenerate.

	* src/ (FCT): Change ::name to name.
	* src/ (FCT): Same. Use _GLIBCPP_USE_LONG_LONG here.
	* src/ (FCT): Same.

	* src/ Remove FCT define, as things are properly
	overloaded in the std namespace with the shadow headers.
	* src/ Same.
	* src/ Same.
2000-09-25  Phil Edwards  <>

	* docs/documentation.html:  Add link to...
	* docs/ext/howto.html:  ...this.  New dir/file, describing library
	  extensions (both ours and SGI's).
	* docs/faq/index.html:  Small updates.
	* docs/faq/index.txt:  Regenerate.

2000-09-25 Theodore Papadopoulo <>

        * bits/basic_file.h (_M_open_mode): Remove extra qualifier.

2000-09-25  Levente Farkas  <>

	* ext/stl_hashtable.h (_M_copy_from): Change __copy to __local_copy.
2000-09-19  Benjamin Kosnik  <>

	* src/ (locale::_Imp) : Remove typedefs.	
	* bits/localefwd.h (locale::locale(const locale& __other, _Facet*
	__f): Consistency check, call _Imp ctor with reference argument
	of 1.
	* bits/localefwd.h: Change _S_num_categories to
	_S_categories_num. Add new data member, _S_facets_num, which is
	the number of standard facets.

2000-09-19  Phil Edwards  <>

	* docs/21_strings/howto.html:  Fix editor lossage from last commit.

2000-09-19  Phil Edwards  <>

	* docs/thanks.html:  More thanks.
	* docs/18_support/howto.html:  Fix thinko.
	* docs/21_strings/howto.html:  Minor tweaks and updates to URLs.
	  Redo the string transformation notes and link to...
	* docs/22_locale/howto.html:

2000-09-18  Benjamin Kosnik  <>

	* src/ Add time_put_byname and
	time_get_byname instantiations.
	* bits/locale_facets.h: Correct default, private derivation to
	public derivation in _byname declarations.
	* src/ (locale::classic()): Simplify.
	* src/ (locale::_Impl:: _Impl(const _Impl& __other,
	const string& __name, category __cat, size_t __refs): Re-work for
	named locales.
	(_M_normalize_category_names): Remove.

	* testsuite/22_locale/ (test01): Tweaks.
	* testsuite/22_locale/ (test01): More tests.

2000-09-18  Yuri V. Baskakov  <>

	* bits/std_bitset.h (operator>>): Change to char_type.

2000-09-15  Benjamin Kosnik  <>

	* src/ (locale::locale(const char* __name)): Consolidate
	name setting. Add checks for NULL __name pointers. Remove calls to
	_S_initialize() as initial locale initialization can either be
	assumed, or needs to be made consistent throughout locale
	(locale::locale(const locale& __other, const char* __name,
	category __cat): Add checks for NULL name. Add checks for
	assignment to self.
	* src/ (locale::_Impl:: _Impl(const _Impl& __other,
	const string& __name, category __cat, size_t __refs)): Set correct
	name, has_name values.
	* testsuite/22_locale/ (test01): More tests.
	* docs/22_locale/locale.html: New file, more unfinished docs...
2000-09-14  Benjamin Kosnik  <>

	* src/ (locale::name()): Implement.
	(_Impl(size_t __numfacets, size_t __refs, bool __namep = false,
	string __name = "*")): Change signature.
	(locale::classic): Initialize the "C" locale as a named locale.
	* bits/localefwd.h (locale): Change _M_num_references to
	_M_references. Eliminate _M_cached_name_ok. Rename _M_cached_name
	to _M_name.
	* bits/localefwd.h: Tweaks.
	* src/ Tweaks.
	* testsuite/22_locale/ (test01): Add tests.
	(test01): Fix.

	* bits/basic_string.h: Consistency check, change _M_state ->

2000-09-14  Brendan Kehoe  <>

        * bits/string.tcc (_Rep::_S_max_size): Use typename for its size_type
        return type.

        * src/ (headers): Also install backward/fstream.h.
        * src/ Regenerate.	

        * bits/char_traits.h (char_traits<_CharT>::get_state,
        char_traits<char>::get_state, char_traits<wchar_t>::get_state): Pass
        argument in by reference, not by value. Uglify to _S_get_state.
	(char_traits<*>::__eos): Uglify to _S_eos.
	* bits/std_ostream.h (ends(basic_ostream<_CharT, _Traits>& __os)):
	Change __eos to _S_eos.
2000-09-13  Benjamin Kosnik  <>

	* testsuite/22_locale/ New file.
	* testsuite/22_locale/ New file.
	* src/ Minor formatting tweaks.

2000-09-12  Benjamin Kosnik  <>

	* testsuite/22_locale/ (test01): Add negative
	tests for use_facet.

	* bits/localefwd.h (locale::operator()): Minor tweaks.
	* bits/locale_facets.tcc (locale::operator()): Same.
	* testsuite/22_locale/ New file.

	* testsuite/22_locale/ (output_iterator): Remove
	gnu_input_iterator, gnu_output_iterator.

2000-09-11  Benjamin Kosnik  <>

	* acinclude.m4 (GLIBCPP_CHECK_GNU_MAKE): Remove test != "0". 
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

	* bits/c++config (__GLIBCPP__): Update, in the hopes of making a
	snapshot release soon.
	(_GNU_SOURCE): Define this in the header files, as ISO C99 support
	is pretty much assumed.

	* testsuite/22_locale/ New file. Add tests for
	use_facet and has_facet.

	* bits/codecvt.h (codecvt<_InT, _ExT, __enc_traits>::do_out):
	Modify/correct iconv signatures for glibc2.2.

2000-09-10  Branko Cibej  <>

	* acinclude.m4 (GLIBCPP_CHECK_GNU_MAKE): Replace "grep -q" with
	  "grep -c".

2000-09-09  Benjamin Kosnik  <>

	* bits/localefwd.h (locale::_Impl): Scope out types to public.
	(locale): Make _Impl declaration public.

2000-09-08  Felix Natter  <>

	* docs/17_intro/porting-howto.html:  New version.

2000-09-07  Benjamin Kosnik  <>

	* config/cpu/i386/bits/atomicity.h (__exchange_and_add): Change unused
	to __unused__.
	* config/cpu/ia64/bits/atomicity.h (__exchange_and_add): And here.
	* config/cpu/i486/bits/atomicity.h (__exchange_and_add): And here.

2000-09-07  Phil Edwards  <>

	Add bits for --enable-maintainer-mode:
	- turns on enable_debug
          (doing "--enable-maint --disable-debug" will DTRT)
	- turns on -Werror, now off by default
	* acinclude.m4: Add bits.
	* aclocal.m4: Regenerate.
	* Add defaults for GLIBCPP_ENABLE_DEBUG.
	* configure: Regenerate.	
2000-09-07  Benjamin Kosnik  <>

	* bits/std_cwctype.h: Remove yesterday's hacks.

2000-09-07  Brad Garcia  <>

	* bits/stl_tree.h: Make operators !=, == type safe for map, set.
	* testsuite/23_containers/ New file. Should not
	* testsuite/23_containers/ New file. Ditto.
2000-09-06  Richard Henderson  <>
	    Benjamin Kosnik  <>

	* acinclude.m4 (GLIBCPP_CHECK_CPU): Add ia64 support.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* config/cpu/ia64: New directory.
	* config/cpu/ia64/bits: New directory.
	* config/cpu/ia64/bits/atomicity.h: New file.
2000-09-06  Benjamin Kosnik  <>
	* acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Force glibc_satisfactory
	to no, so that libstdc++-v3's libio will be built on glibc-2.2
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* */ Regenerate.

	* bits/std_cwctype.h: Put in temporary hack to work around -O2 +
	glibc 2.1.x unsigned errors. Or disable -Werror by default...

	* testsuite/23_containers/ New file.
	* bits/stl_config.h (__STL_THROW_RANGE_ERRORS): Define.

2000-09-06  Levente Farkas  <>

	* bits/string.tcc: Fix up more parameter names.

2000-09-06  Alexandre Oliva  <>

	* configure: Rebuilt with new libtool.m4.

2000-09-01  Benjamin Kosnik  <>

	* src/ Remove pre-instantiation of unicode
	codecvt types. Now unnecessary, as locale header now correct.

2000-08-31  Benjamin Kosnik  <>

	* bits/locale_facets.tcc (_S_build_float_format): Move ...	
	* src/ Here.		
	* bits/locale_facets.tcc (num_get::_M_extract): Clean up generic
	definition. Move specialization to ...
	* src/ Here.	
	* bits/locale_facets.tcc: Move _Format_cache specializations to ...
	* src/ Here.
	* bits/locale_facets.tcc: Move use_facet<ctype> specializations to ...
	* src/ Here.

	* bits/std_locale.h: Note that locale_facets.tcc should be
	included here, for standards conformance. It may increase
	compile times though. For the time being, enable.
	* testsuite/22_locale/ New file, some parts commented out
	for the time being.

	* Append total time to test summary file.

	* bits/sbuf_iter.h : Formatting tweaks.

	Clean up static const data member definitions.
	* src/ Add definitions for all missing locale,
	locale::_Imp, and locale::id static data members.
	(ctype<char>): Add table_size define.
	(money_base): Add _S_default_pattern, uglify.
	* bits/localefwd.h: Add definitions for static members of _Count_ones.
	* bits/locale_facets.h: Tweaks.
	* bits/locale_facets.tcc: Tweaks.	
	* bits/string.tcc: Add definition for npos.
	* bits/ios_base.h: Tweaks.
	* bits/ios_base.h (ios_base::Init::_M_ios_base_init): Change to
	* src/ And here. Add _S_local_words definition.
	Add definitions for __ios_flags const static data.
	* src/ Same for __enc_traits.
	* src/ Remove money_base data member definition

2000-08-30  Benjamin Kosnik  <>

	* testsuite/22_locale/ (test01): New file.

	* docs/22_locale/codecvt.html: Re-number.
	* docs/22_locale/howto.html: Add entry for ctype
	documentation. Add entry for Nathan's introduction to locales
	* docs/22_locale/ctype.html: New file. In progress...

	* docs/22_locale/codecvt.html: Formatting cleanups.
	* src/ (ctype<wchar_t>::do_is): Fix thinko.

2000-08-30  Phil Edwards  <>

	* docs/22_locale/codecvt.html:  Behind-the-scenes ASCII->HTML
	  tweaks for certain browsers.

2000-08-29  Benjamin Kosnik  <>

	* bits/locale_facets.h (ctype<char>): Remove __table_type.
	Add include for bits/std_cwctype.h, for wctype_t.
	* src/ (ctype<wchar_t>): Implement.
	* config/gnu-linux/bits/ctype_base.h (ctype_base): Remove mask
	typedef, instead name enum.
	* config/gnu-linux/bits/ctype_specializations.h: Tweak.
	* config/gnu-linux/ Tweak.	
	* testsuite/22_locale/ Tweak.
	* bits/codecvt.h (__enc_traits): Uglify names.
2000-08-28  Benjamin Kosnik  <>

	* docs/22_locale/codecvt.html: Add more bits, format. 
	* bits/codecvt.h: Add copy ctor, rename types.
	* testsuite/22_locale/ Tweak.
	* libio/iofwide.c: Tweak.
2000-08-28  Phil Edwards  <>

	* docs/configopts.html:  Mention new options.
	* docs/install.html:  Formatting changes for platform-specific
	  pre-reqs, previously only Cygwin.
	* docs/mail.html:  Fix new link.
	* docs/thanks.html:  A couple more people.
	* docs/26_numerics/howto.html:  Fix typo.

2000-08-24  Benjamin Kosnik  <>

	* docs/22_locale/howto.html: Add notes on codecvt implementation.
	* docs/22_locale/codecvt.html: New file. In progress.
2000-08-24  Benjamin Kosnik  <>

	* acconfig.h: Revert.
	* acinclude.m4: Revert.
	* libio/_G_config.h: Revert.
	* libio/libio.h: Revert.
2000-08-23  Benjamin Kosnik  <>	

	* bits/codecvt.h: Tweaks.
	* testsuite/22_locale/ (test01): Fix up
	initial string literals for UCS4.

2000-08-23  Phil Edwards  <>

	* acconfig.h:  _GLIBCPP_USING_THREADS and some workaround types added.
	* acinclude.m4:  New macro, GLIBCPP_ENABLE_WCHAR.  Set the threads
	  definition as well, and some minor spelling/spacing fixes.  If
	  building libio, check for certain typedefs.
	* libio/_G_config.h:  Wrap _IO_MTSAFE_IO in _GLIBCPP_USING_THREADS.
	  Conditionally define _LARGEFILE64_SOURCE, otherwise the 64-bit types
	  will never be there.
	* libio/libio.h:  In the null case, _IO_lock_t can't just be void.
	* src/  Use _GLIBCPP_USE_WCHAR_T.

	*  Update the cache a bit more often.

	*  For check-install, also need to -I the testsuite dir.

2000-08-22  Benjamin Kosnik  <>

	* src/ Add codecvt<unicode_t, wchar_t,
	__enc_traits> instantiations for has_facet and use_facet.
	* testsuite/22_locale/ New file, for
	testing two-byte unicode encodings converted to four-byte UCS4

	* bits/codecvt.h (codecvt<__enc_traits>): Fix do_unshift.
	* testsuite/22_locale/ (test01): Add
	correct state/encoding information.

	* acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Add wcsrtombs,
	mbsrtowcs checks as codecvt<wchar_t, char, mbstate_t> needs them
	Add checks for langinfo.h, nl_langinfo function call.
	* libio/iofwide.c (_IO_fwide): Simplify, as nl_langinfo is assumed.

2000-08-22  Richard B. Kreckel  <Richard.Kreckel@Uni-Mainz.DE>

	* config/cpu/alpha/bits/atomicity.h: Change __attribute__
	((unused)) to __attribute__ ((__unused__)).
	* config/cpu/arm/bits/atomicity.h: Same.
	* config/cpu/generic/bits/atomicity.h: Same.
	* config/cpu/i386/bits/atomicity.h: Same.
	* config/cpu/i486/bits/atomicity.h: Same.
	* config/cpu/powerpc/bits/atomicity.h: Same.
	* config/cpu/sparc/sparc32/bits/atomicity.h: Same.
	* config/cpu/sparc/sparc64/bits/atomicity.h: Same.

2000-08-22  Levente Farkas  <>

	* bits/basic_string.h: Fix up parameter names.

2000-08-22  Brent Verner <>

	* src/ (INCLUDES): Put $(CSHADOW_INCLUDES) before
	* src/ Regenerate.
2000-08-21  Benjamin Kosnik  <>

	* bits/codecvt.h: Implement codecvt<wchar_t, char, mbstate_t>. Fix
	up __enc_traits template so as to be marginally useful.
	* src/ And here.
	* bits/char_traits: Tweak.
	* bits/locale_facets.h: Tweak.
	* bits/locale_facets.tcc: Tweak.
	* bits/localefwd.h: Tweak.
	* src/ Add use_facet/has_facet instantiations here.
	* testsuite/22_locale/ New file.
	* testsuite/22_locale/ New file.
	* testsuite/22_locale/ New file.
2000-08-21  Gabriel Dos Reis  <>

	* bits/std_cmath.h (std::abs): Overload for int and long.

2000-08-20  Benjamin Kosnik  <>

	* src/ Tweak instantiations for new-gxx-abi.

2000-08-19  Gabriel Dos Reis  <>

	* bits/valarray_array.h (__valarray_min, __valarray_max): Fix
	thinko. Diagnostic messages really need to be improved for
	template argument deduction.

2000-08-18  Benjamin Kosnik  <>

	* bits/valarray_meta.h: Fix typos...

2000-08-18  Gabriel Dos Reis  <>

	* bits/valarray_meta.h (_Expr<>::shift, _Expr::cshift,
	_Expr<>::apply): Implement. 

2000-08-18  Gabriel Dos Reis  <>

	* bits/valarray_meta.h (_Expr<>::min, _Expr<>::max): Implement.

	* bits/valarray_array.h (__valarray_min, __valarray_max): New

2000-08-17  Mark Mitchell  <>

	* bits/localefwd.h (std::locale): Use explicit `class' specified
	when declaring friends.
	* bits/std_fstream.h (std::basic_filebuf): Likewise.

2000-08-16  Alexandre Oliva  <>

	* src/ (libstdc++.INC): Renamed from INCLUDES.
	* src/ Regenerate.

2000-08-15  Benjamin Kosnik  <>

	* bits/codecvt.h: New file.
	* src/ New file.
	* bits/std_locale.h: Add include here.
	* src/ (headers): Add codecvt.h
	(sources): Add
	* src/ Regenerate.
	* bits/locale_facets.h (codecvt): Re-implement. Rename _Codecvt to
	__codecvt_abstract_base in an attempt to point some light this way...
	Move __enc_traits and codecvt bits to codecvt.h.
	* src/ Remove codecvt<wchar_t, wchar_t, mbstate_t>
	explicit instantiation. Separate out codecvt instantiations, simplify.
	* src/ Move codecvt bits to

2000-08-15  Alexandre Oliva  <>

	* src/ (INCLUDES): New target file, with all -I flags.
	* src/ Regenerate.

2000-08-14  Benjamin Kosnik  <>

	C/C++ io merge/sync.
	* libio/fileops.c
	* libio/genops.c
	* libio/iofclose.c
	* libio/iofopen.c
	* libio/iofwide.c
	* libio/libio.h
	* libio/libioP.h
	* libio/stdio.c
	* libio/wfileops.c
	* libio/wgenops.c
	* config/ (__basic_file): Add hacky casts to
	((struct _IO_FILE_plus *) in ctors.
	(__basic_file<wchar_t>): Adjust _wide_data->_codecvt to just _codecvt.
	* libio/ Fix copyright. Remove cleanup.c.
	* libio/cleanup.c: Remove.
	* libio/filedoalloc.c (_IO_file_doallocate): Don't call
	_IO_cleanup_registration_needed, even if not libc.
	* testsuite/27_io/ (test02): Fix.

2000-08-14  Brent Verner <>

	* testsuite/debug_assert.h: new file
	* testsuite/*/*.cc: s/test\s*&=([^;]+);/VERIFY($1);/g
	changed conditional #include <c?assert.?h?> to
	unconditional #include <debug_assert.h>
	* added $SRC_DIR/testsuite to include search path
	for testsuite compile command.

2000-08-14  Levente Farkas  <>

	* bits/std_fstream.h: Remove duplicate typdefs for ofstream and
	wofstream, filebuf, wfilebuf, fstream, wfstream.
	* bits/std_streambuf.h: Same for streambuf, wstreambuf.
	* bits/std_sstream.h: Same for stringstream and wstringstream.
	Same for stringbuf, wstringbuf, istringstream, wistringstream,
	ostringstream, wostringstream.
	* testsuite/26_numerics/ Add test.

2000-08-14  Zack Weinberg  <>

	* configure: Regenerate after change to ../libtool.m4.

2000-08-10  Benjamin Kosnik  <>

	* bits/locale_facets.tcc: Formatting tweaks.
	* bits/locale_facets.h (__enc_traits): Start integrating this
	into codecvt, ctype. Formatting tweaks.

2000-08-09  Benjamin Kosnik  <>

	Preliminary wchar_t implementation, with trivial encodings.
	* docs/configopts.html: Add bits about canonical configure option

	* testsuite/27_io/ Replace this file (which
	has newly-declared-illegal mixing of wide/narrow stdstreams) with...
	* testsuite/27_io/ New file.
	* testsuite/27_io/ New file.

	* bits/fstream.tcc (underflow): Temporarily hack a solution
	together that writes from the external file to the internal
	buffers. This removes codecvt from the loop, and is incorrect.
	(_M_really_overflow): Same here.

	* testsuite/21_strings/ (test05): Tweaks.
2000-08-08  Benjamin Kosnik  <>
	    Ulrich Drepper  <>

	* config/c_io_libio.h: Tweak.
	* config/c_io_libio_codecvt.c: New file.
	* libio/ Add c_codecvt.c.
	* libio/ Regenerate.
	* libio/genops.c (_IO_unbuffer_write): Don't call _IO_SETBUF if the
	stream is not orientated.

	* acinclude.m4: Add config/c_io_libio_codecvt.c dummy file, until
	encoding gets fleshed out.

	* bits/basic_file.h: Add specialization declarations.
	* config/ Add specializations for pbackfail, uflow.

	* config/c_io_libio.h: Add __c_wfile_type.
	* bits/basic_file.h: Add _M_wfile.

	* config/ (__basic_file<char>): Initialize the
	streams without setting the orientation of the underlying FILE to
	either wide or narrow.
	(__basic_file<wchar_t>)): Enable tricky wchar_t io bits.

2000-08-07  Felix Natter  <>

	* docs/17_intro/porting-howto.html:  New version.

2000-08-03  Mark Mitchell  <>

	* bits/locale_facets.h (ctype::ctype): Don't name unused

2000-08-01  Benjamin Kosnik  <>

	* docs/install.html: Edit bits about requiring a special version
	of the autotools.

2000-07-31  Benjamin Kosnik  <>

	* libio/ Update to current glibc sources.
	* libio/genops.c: Same.
	* libio/iofwide.c: Same.
	* libio/libio.h: Same.
	* libio/libioP.h: Same.
	* libio/wfiledoalloc.c: Same.
	* libio/wgenops.c: Same.
2000-07-28  Alexandre Oliva  <>

	* acinclude.m4: Include ../libtool.m4.
        * aclocal.m4, configure: Rebuilt.
2000-07-26  Phil Edwards  <>

	* acinclude.m4 (GLIBCPP_CHECK_LINKER_FEATURES):  Test for GNU ld
	  before trying to use any of its options.
	* aclocal.m4:  Regenerate.
	*  Having found GNU make, name it.
	* configure:  Regenerate.
	* docs/install.html:  Mention possible problems with caching.
	* src/ (CXXLINK):  Use new OPT_LDFLAGS.
	* src/  Regenerate.
	* libio/  Regenerate.
	* math/  Regenerate.
	*  Regenerate.

2000-07-26  Benjamin Kosnik  <>

	* src/ (std): Remove instantiations.

	* acinclude.m4: Add forward-looking bits for autoconf.
	* aclocal.m4: Regenerate.

	* bits/ostream.tcc (ostream::operator<<): Fix const char* case.

2000-07-25  Benjamin Kosnik  <>

	it back for current versions of maintainer-tools...
	* acinclude.m4: Some cleanups...
	* aclocal: Regenerated.
	* configure: Regenerated.
	* src/ (CXXLINK): Add -Wl,-01 to the link line for
	optimizing/adapting the hash table using GNU ld.
	* src/ Regenerate.
2000-07-24  H.J. Lu  <>

        * src/ (LIBIO_INCLUDES): Set to -I$(top_srcdir)/libio
        even if GLIBCPP_NEED_LIBIO is false. The installed glibc header
        files don't include private libio header files needed by
        libstdc++ v3.
        * src/ Rebuild.

2000-07-24  Benjamin Kosnik  <>

	* bits/std_fstream.h: Parameterize __basic_file.
	* config/ Add wchar_t methods for parameterization.
	* bits/basic_file.h: Same here.

	* bits/istream.tcc (getline): Tweaks.

	* bits/fstream.tcc: Shorten __retval to __ret.
	* bits/ostream.tcc: Same.
	* bits/sbuf_iter.h: Same.
	* bits/sstream.tcc: Same.
	* bits/streambuf.tcc: Same.
	* bits/std_fstream.h: Same.
	* src/ Same.
	* src/ Same.
	* config/ Same.
	* bits/string.tcc: Same.
	* bits/std_streambuf.h: Same.

2000-07-23  Brent Verner <>

        * bits/istream.tcc: istream::getline(char_type*, streamsize,
	char_type) make compliant
        * testsuite/27_io/ test for compliant behavior

2000-07-23  Benjamin Kosnik  <>

	* acinclude.m4 (enable_cshadow_headers): Fix problems with blddir
	and srcdir used to define CSHADOW_INCLUDES..

	* For consistency, change .sanity_warned to

	* acinclude.m4: Tweak formatting.
	* (check): Call mkcheck with full pathname for build
	(check-install): And here.
	* Regenerate.
2000-07-22  Gabriel Dos Reis  <>

	Line up with libstdc++-v2 version of valarray.
	* bits/valarray_array.h (__valarray_product): Make inline.
	* src/ (__valarray_product): Remove explicit

2000-07-21  Benjamin Kosnik  <>

        * src/ Change __sink_unused_warning to unsigned int
        for alpha.

        * testsuite/26_numerics/ (testall):
        Change return type to void.
        * testsuite/25_algorithms/ Add return values.
	* testsuite/17_intro/ Modify.
        * bits/locale_facets.h: Add return values for the generic cases.

2000-07-21  H.J. Lu  (

        * acinclude.m4: Include <features.h> for glibc testing.
        * aclocal.m4: Likewise.

        * configure: Rebuild.

2000-07-20  H.J. Lu  (

        * acinclude.m4: Change "#pragma system_header" to
        "#pragma GCC system_header".
        * aclocal.m4: Likewise.
        * bits/std_cmath.h: Likewise.
        * bits/std_cassert.h: Likewise.
        * bits/std_cctype.h: Likewise.
        * bits/std_cerrno.h: Likewise.
        * bits/std_cfloat.h: Likewise.
        * bits/std_climits.h: Likewise.
        * bits/std_clocale.h: Likewise.
        * bits/std_cwchar.h: Likewise.
        * bits/std_csetjmp.h: Likewise.
        * bits/std_csignal.h: Likewise.
        * bits/std_cstdarg.h: Likewise.
        * bits/std_cstddef.h: Likewise.
        * bits/std_cstdio.h: Likewise.
        * bits/std_cstdlib.h: Likewise.
        * bits/std_cstring.h: Likewise.
        * bits/std_ctime.h: Likewise.
        * bits/std_cwctype.h: Likewise.
        * bits/std_exception.h: Likewise.
        * bits/std_new.h: Likewise.
        * bits/std_typeinfo.h: Likewise.
        * shadow/bits/std_cassert.h: Likewise.
        * shadow/bits/std_cctype.h: Likewise.
        * shadow/bits/std_cerrno.h: Likewise.
        * shadow/bits/std_cfloat.h: Likewise.
        * shadow/bits/std_climits.h: Likewise.
        * shadow/bits/std_clocale.h: Likewise.
        * shadow/bits/std_cmath.h: Likewise.
        * shadow/bits/std_csetjmp.h: Likewise.
        * shadow/bits/std_csignal.h: Likewise.
        * shadow/bits/std_cstdarg.h: Likewise.
        * shadow/bits/std_cstddef.h: Likewise.
        * shadow/bits/std_cstdio.h: Likewise.
        * shadow/bits/std_cstdlib.h: Likewise.
        * shadow/bits/std_cstring.h: Likewise.
        * shadow/bits/std_ctime.h: Likewise.
        * shadow/bits/std_cwchar.h: Likewise.
        * shadow/bits/std_cwctype.h: Likewise.
        * shadow/bits/wrap_libio.h: Likewise.
        * shadow/bits/wrap_unistd.h: Likewise.
        * shadow/sys/cdefs.h: Likewise.

        * configure: Rebuild.

2000-07-20  Jakub Jelinek  <>

        * config/cpu/sparc/sparc64/bits/atomicity.h (__exchange_and_add):
        Use extended word instructions to match 64bit _Atomic_word.
        (__atomic_add): Likewise.
        * math/clog10l.c (clog10l): Use M_PIl if defined.
        * math/c_logl.c (c_logl): Likewise.
        * math/signbitl.c (__signbitl): Adapt for IEEE quad long doubles.
        * math/mathconf.h (ieee_quad_double_shape_type): New type.
        (GET_LDOUBLE_MSW64): New define.

2000-07-20  Benjamin Kosnik  <>

	* bits/std_streambuf.h: Add bits for pback buffers here, so that
	in_avail, etc can use them.
	* bits/std_fstream.h: Ditto.
	* bits/fstream.tcc: Ditto.
	* testsuite/27_io/ Tweaks.
	* testsuite/27_io/filebuf-3.tst: Correct for pbackfail bits.

2000-07-19  Benjamin Kosnik  <>

	* src/ Same.
	* src/ Same.
	* bits/localefwd.h: _M_init_facet to _M_facet_init.

	* bits/locale_facets.h: _M_init_boolnames to _M_boolnames_init.

	* bits/std_sstream.h: Change _M_init_stringbuf to _M_stringbuf_init.

	* bits/fstream.tcc: Change _M_init_filebuf to _M_filebuf_init.
	* bits/std_fstream.h: Same.

	* bits/basic_string.h: Tweaks.
2000-07-19  Phil Edwards  <>

	* docs/18_support/howto.html:  Update.

2000-07-19  Benjamin Kosnik  <>

	Internal consistency checks.....
	* bits/ios_base.h: Change _M_locale_ios to _M_ios_locale.
	* src/ Same.
	* bits/basic_ios.h: Change _M_fctype_ios to _M_ios_fctype.
	* bits/basic_ios.tcc: Same.
	* bits/std_streambuf.h: Change _M_locale_buf to _M_buf_locale.
	Change _M_fctype_buf to _M_buf_fctype.
	* bits/fstream.tcc: Same.

	* bits/std_streambuf.h: Change _M_buf_bump to _M_out_cur_move.
	Change _M_locale_set to _M_buf_locale_init.
	* bits/streambuf.tcc: Same.
	* bits/sstream.tcc: Same.
	* bits/fstream.tcc: Same.

	* bits/std_streambuf.h: Make typedefs consistent.
	(_M_buf_bump): Be more careful with input sequence.

	* bits/std_sstream.h: Same.
	* bits/std_fstream.h: Same.

2000-07-18  Benjamin Kosnik  <>

	* acinclude.m4: Tweaks.
	* config/ Tweaks.
	* bits/sstream.tcc (stringbuf::pbackfail): Simplify.
	* libio/_G_config.h: Don't define _G_HAVE_ST_BLKSIZE.
	* libio/[iofwide.c, wfiledoalloc.c, wfiteopos.c, wgenops.c]: New files.
	* libio/iofclose.c iofopen.c, stdio.c: New files.
	* libio/ Add files, add flags, etc.
	* src/ (sources): Add
	(GLIBCPP_ENABLE_CSTDIO): Versioning testing, etc etc.

2000-07-17  Phil Edwards  <>

	* acinclude.m4:  Import CHECK_GNU_MAKE from autoconf macro archive.
	*  Use it.  Also print reminders one time.
	* aclocal.m4:  Regenerate.
	* configure:  Regenerate.

2000-07-15  Gabriel Dos Reis  <>

	* bits/valarray_array.h (__valarray_get_storage): New function.
	(_Array<>::Array): Use it.
	* bits/std_valarray.h (valarray<>::valarray): Likewise.
	(valarray<>::resize): Likewise.  Tweak.
	* src/ (__valarray_product): Tweak.

2000-07-11  Phil Edwards  <>

	* docs:  Update sourceware->sources in every HTML file.  Minor updates.

2000-07-07  Benjamin Kosnik  <>

	Clean up configure/build longstanding issues.
	* src/ (AC_CXXFLAGS): Don't set @SECTION_LDFLAGS@ here.
	(CXXLINK): Add here, instead.

	* (check-install): Make sure mkcheck has execute privs.
	(check): Same here.
	* (AC_OUTPUT_COMMANDS): Remove hacks here.

	* (AC_OUTPUT_COMMANDS): Link c_io_libio.h and instead of copying.
	* acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Do link here.

	c++threads.h instead of copying.
	* acinclude.m4 (GLIBCPP_ENABLE_THREADS): Do link here.
	* config/ (__basic_file::_M_open_mode): Consolidate.
	* bits/basic_file.h: Declare.

	* (TESTS_FILE): Use -v instead of --version.

2000-07-07   brent verner  <> 

	* testsuite/27_io/ (test05): New test.

2000-07-07  Benjamin Kosnik  <>

	* bits/istream.tcc (istream::getline): Minor tweaks.

2000-07-07  Phil Edwards  <>

	* docs/download.html:  Mention gcc_update.
	* docs/configopts.html:  Minor updates.
	* docs/gccrebuild.html:  Ditto.
	* docs/18_support/howto.html:  More tips, explanations, and reminders.
	* docs/19_diagnostics/howto.html:  Ditto.
	* docs/21_strings/howto.html:  Ditto.
	* docs/24_iterators/howto.html:  Ditto.
	* docs/25_algorithms/howto.html:  Ditto.
	* docs/26_numerics/howto.html:  Ditto.

2000-07-05  brent verner  <> 

	* testsuite/27_io/ (test01): Add tests.
	* testsuite/27_io/ (test01): Add tests.
	* config/ (__basic_file::open): Unset

2000-07-05  Zack Weinberg  <>
        * bits/gslice_array.h, bits/indirect_array.h, bits/mask_array.h,
        bits/slice_array.h, bits/std_valarray.h, bits/valarray_meta.h:
        Do not paste anything after 'operator' keyword.

2000-07-03  Benjamin Kosnik  <>

	* bits/std_memory.h: Revert.

2000-07-03  Brendan Kehoe  <>

	* bits/std_complex.h: Fix parens. Format.
2000-07-03  scott snyder  <>

        * bits/locale_facets.tcc (_M_extract): Only figure out the base
        from the input if base == 0.
        * testsuite/27_io/ Test reading a
        number with a leading `0' in hex mode.

	* shadow/bits/std_cmath.h: Fix typo in _GLIBCPP_HAVE_CEILL test.

        * mkinclosure: Change `==' to `=' in test.

2000-07-03  Chip Salzenberg  <>

        * src/ (libio_headers): _G_config.h is found in srcdir,
        not builddir.
        * src/ Regenerate.

2000-07-01  Benjamin Kosnik  <>
	    Ulrich Drepper  <>

	Sync libio to glibc-2.2 current CVS. 
	* libio/_G_config.h: New file.
	* libio/wfileops.c: New file.
	* libio/wfiledoalloc.c: New file.
	* libio/wgenops.c: New file.
	* libio/iofwide.c: New file.
	* libio/ Tweaks.
	* libio/ Regenerate.
	* libio/gen-params: Remove. Generic replacement for this yet undone.
	* libio/[filedoalloc.c, fileops.c, genops.c, iolibio.h, libio.h,
	libioP.h, stdfiles.c]: Update.
	* config/ Tweaks.
	* acinclude.m4: Complete hacks to test wide io.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* src/ Update.
	* src/ Regenerate.

	* math/cargl.c: Remove underscores.
	* bits/locale_facets.h: Tweaks. Start adding iconv details
	and notes.
	* bits/locale_facets.tcc: Tweaks.
	* bits/std_cwchar.h: Tweaks.
2000-06-29  scott snyder  <>

        * bits/concept_checks.h
        (__less_then_comparable_requirement_violation): Only check for <.
	* testsuite/25_algorithms/ New file.
2000-06-29  Benjamin Kosnik  <>

	* testsuite/27_io/ (test02): Add tests.
	* bits/ostream.tcc: Tweak.
	* bits/std_fstream.h (basic_filebuf::setbuf): Reset
	_M_buf_size_opt too.
	* bits/std_streambuf.h (basic_streambuf::~basic_streambuf): Zero
	out _M_buf_size_opt.
	* bits/std_sstream.h (basic_stringbuf::_M_init_stringbuf): Set
	_M_buf_size_opt out here.
	* bits/char_traits.h (char_traits::eos): Non standard member
	function, uglify to __eos. Return char_type().
	* bits/std_ostream.h: Change.

	* testsuite/27_io/ New file.
	* testsuite/27_io/ostream_seeks-1.tst: New file.
	* testsuite/27_io/ (main): Move test04 and
	test05 to...
	* testsuite/27_io/ New file.

2000-06-29  Branko Cibej  <>

        * bits/std_memory.h (auto_ptr_ref): Reworked and defined only if
        (auto_ptr): _M_ptr changed to void*.
        (suto_ptr::get): Cast _M_ptr to element type.
        (auto_ptr::auto_ptr(auto_ptr<Tp1>)): Test implicit convetsion.
        (auto_ptr::~auto_ptr): Use this->get() instead of _M_ptr.
        (auto_ptr::operator*): Likewise.
        (auto_ptr::operator->): Likewise.
        (auto_ptr::release): Likewise.
        (auto_ptr::reset): Likewise.
        (auto_ptr::auto_ptr(auto_ptr_ref)): Initialize from __ref._M_release.
        (auto_ptr::operator auto_ptr_rev<_Tp1>): Updated.
        Define nested auto_ptr_ref unless _GLIBCPP_RESOLVE_LIB_DEFECTS.
        Define operator=(auto_ptr_ref) if _GLIBCPP_RESOLVE_LIB_DEFECTS.

2000-06-28  Benjamin Kosnik  <>

	* testsuite/27_io/ Tweak.
	* testsuite/27_io/ (test_01): Fix.
	* config/ (__basic_file::~__basic_file): Match libio
	filebuf dtor.
	(__basic_file::basic_file): Clean, add calls similar to
	(__basic_file::open): Clean.
	(__basic_file::sys_open): Clean.

	* bits/std_fstream.h: Revert.
	* bits/fstream.tcc (filebuf::close()): Revert.
	(filebuf::basic_filebuf()): Revert.

2000-06-27  Benjamin Kosnik  <>

	Update to SGI STL 3.3
	* ext/hash_map, ext/hash_set, ext/slist, ext/stl_bvector.h,
	ext/stl_rope.h, ext/ropeimpl.h: Update.
	* bits/std_bitset.h, bits/std_map, bits/std_memory.h,
	bits/stl_algo.h, bits/stl_algobase.h, bits/stl_alloc.h,
	bits/stl_config.h, bits/stl_construct.h, bits/stl_deque.h,
	bits/stl_function.h, bits/stl_heap.h, bits/stl_iterator.h,
	bits/stl_iterator_base.h, bits/stl_list.h, bits/stl_map.h,
	bits/stl_multimap.h, bits/stl_multiset.h, bits/stl_numeric.h,
	bits/stl_queue.h, bits/stl_set.h, bits/stl_stack.h,
	bits/stl_string_fwd.h, bits/stl_threads.h, bits/stl_three.h,
	bits/stl_uninitialized.h, bits/stl_vectory.h: Update.

	* src/ (headers): Add new files.
	* src/ Regenerate.
	* src/ (std): Add instantiation for __sink_unused_warning.
	* bits/concept_checks.h: New file.
	* bits/container_concepts.h: New file.
	* bits/sequence_concepts.h: New file.
2000-06-27  H.J. Lu  <>
            Loren J. Rittle  <>

        * Add support to print standard flags needed to
        test g++ in build tree.  Enhance command line error checking.

2000-06-27  Phil Edwards  <>

	* docs/install.html:  Fix minor typo as reported.

2000-06-26  Brent Verner <>

	* bits/string.tcc (string::rfind): Fix.
	* testsuite/21_strings/ New file.
2000-06-26  Anthony Williams  <>

	* testsuite/21_strings/ Fixed logic error.
2000-06-26  Branko Cibej  <>

        * testsuite/27_io/ (test_01): Fixed typos.

        * Make the *.txt and *.tst files writable after
	  copying them to $TEST_DIR.

        * testsuite/27_io/ Renamed
2000-06-23  Benjamin Kosnik  <>

	* bits/fstream.tcc (basic_filebuf::basic_filebuf(fd)): Use it.
	(basic_filebuf::close): Use it.
	* bits/std_fstream.h (basic_filebuf): Remove default arguments for
	filebuf ctor.
	(basic_filebuf): Add _M_fileno_based data member.
        As reported by brent verner <> 
	* testsuite/27_io/ New file.
	* testsuite/27_io/filebuf_members-1.tst: New file.

	* bits/std_fstream.h: Formatting tweaks.
	* testsuite/27_io/ New file.
	* testsuite/27_io/ofstream_members-1.tst: New file.
	* testsuite/27_io/ New file.
	* testsuite/27_io/ifstream_members-1.tst: New file.

2000-06-23  Benjamin Kosnik  <>
            Ulrich Drepper  <>
	that all the freaky stuff like sincos will be around...

2000-06-22  Branko Cibej  <>

        * (AM_MAKEFLAGS): Added WERROR to list of flags.

2000-06-22 Steven King <>

        * acinclude.m4: Check for sinl, _sinl using 1 parameter.

2000-06-22  Benjamin Kosnik  <>

	* acinclude.m4 (GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT): Redo. Use the
	same approach as GLIBCPP_CHECK_MATH_SUPPORT, only don't try to
	link against libm and don't use -fno-builtins...
	* math/mathconf.h: Change up builtin macros to new schema.
	* bits/std_cmath.h: And here. Wheee!
	* shadow/bits/std_cmath.h: And here.
	* acconfig.h: Change up builtin macros here.
	* math/cosf.c:  Remove.
	* math/fabsf.c:  Likewise.
	* math/sinf.c:  Likewise.
	* math/sqrtf.c:  Likewise.
	* math/ (EXTRA_DIST):  Remove those four files.
	* math/  Regenerate.

2000-06-22  Anthony Williams  <>

	* testsuite/21_strings/ Patch.

2000-06-22  Benjamin Kosnik  <>

	* acinclude.m4 (GLIBCPP_CHEC_LINKER_FEATURES): Use gcc + -x c++ as
	an easy way to get at g++ without having to link in libstdc++.

2000-06-21  Benjamin Kosnik  <>

	Fix alpha, powerpc build failures.
	* acinclude.m4 (GLIBCPP_CHECK_MATH_SUPPORT): Substantially
	re-write. Need to check for both proper declaration when using a
	c++ compiler, and "C" linkage when linking. Do both, and if both
	exist, then define the HAVE_* bits in config.h.
	(GLIBCPP_CHECK_MATH_DECL_AND_LINKAGE): New, uber-macro. Does all.
	(GLIBCPP_CHECK_LINKER_FEATURES): Actually link and run this
	program, doh.

2000-06-20  Anthony Williams  <>

	* bits/string.tcc: Fix find.
	* testsuite/21_strings/ Patch.
2000-06-20  Benjamin Kosnik  <>

	* docs/install.html: Update where to get automake, where to get
	* acinclude.m4: Need -fno-builtins too, so gcc doesn't recognize

2000-06-19  Benjamin Kosnik  <>

	* acinclude.m4 ((GLIBCPP_CHECK_MATH_SUPPORT): Revert last change.
	Add -Werror-implicit-function-declaration instead.

	Regenerate with fixed maintainer-tools.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* libio/ Regenerate.
	* src/ Regenerate.
2000-06-19  Russell Davidson  <>

	* testsuite/27_io/ Patch.
	* bits/locale_factets.tcc: Tweak.
2000-06-19  Raja R Harinath  <>
	* src/ change @WERROR@ to $(WERROR) so that this can
	be overridden on the command line for individual files.

2000-06-19  Benjamin Kosnik  <>

	* acinclude.m4 (GLIBCPP_CHECK_MATH_SUPPORT): Can't use
	AC_LANG_CPLUSPLUS as this tries to link in libstdc++, which we are
	building. Use -x c++ instead, which does not attempt to link

	* acinclude.m4 (GLIBCPP_CHECK_LINKER_FEATURES): Actually check for
	not coring when we hit a try/throw block, which was the problem
	with the linker support...

	* docs/17_intro/contribute.html: Add bits about getting to the LWG
	issues pages.
	* docs/documentation.html: Rename link to make more accurate and scary.
	* docs/gccrebuild.html: Edit for clarity as these are no longer
	separate projects.
	* docs/install.html: Add bits about binutils for
	-ffunction-sections, -fdata-sections, -Wl,--gc-sections

	* math/ (EXTRA_DIST): Change USE_LONG_DOUBLE to
	* acinclude.m4 (GLIBCPP_CHECK_MATH_SUPPORT): Break into
	Works around irregularies in powerpc "C" compiler, but a good idea

	New. Merge both old compiler bug checks for complex into this.

2000-06-19  Anthony Williams  <>
	* testsuite/21_strings/ Empty strings can be found at all
	positions. Modified.

2000-06-19  Branko Cibej  <>

        * testsuite/20_utilities: New directory.	
        * testsuite/20_utilities/ New file.
2000-06-14  Benjamin Kosnik  <>

      	* src/ (string_sources): Simplify, assuming that with
	-ffunction-sections, -fdata-sections, -Wl,--gc-sections, all this
	hacking is not necessary.
        (wstring_sources): Same.
        (OPTIMIZE_CXXFLAGS): Enable -fdata-sections -ffunction-sections
	* src/ Remove macro blocks.
	* (CXX_FLAG): Add bits here.
	* src/ Remove iostream-related string instantiations.
	* src/ Add here.

	* aclocal.m4: Regenerate.
	* Change up.
	* configure: Regenerate.
2000-06-13  Steven King  <>

        * acinclude.m4:  Fixup some of the builtin math tests and add tests for
        __builtin_fmod* and test libm for fmodf, fmodl or _fmodf, _fmodl.
        * acconfig.h: Add entries for fmod*.

2000-06-13  Branko Cibej  <>

        * bits/std_cmath.h:  Fix typos in tests (*_FMODFF -> *_FMODF).
        Test  *_MODFF not *_MODF for modf(float, float*).
        (modf(float, float*)): Remove reference to _C_legacy.

2000-06-13  Benjamin Kosnik  <>
       	* acinclude.m4 (enable_cshadow_headers): Change CSHADOWFLAGS to
	_GNU_SOURCE instead of _ISOC9X_SOURCE, as _GNU_SOURCE is the
	superset, and already defined at top level.
        * aclocal.m4: Regenerate.
        * configure: Regenerate.

	* docs/17_intro/contribute.html: Plead with people to use -cp.
2000-06-13  Anthony Williams  <>

	* testsuite/23_containers/ Qualify reverse wth std::.

	* testsuite/27_io/ Changed calls to
	fpos<>._M_position() to implicit calls to operator streamoff().
	* testsuite/27_io/ Removed #include <ciso646>,
	as not needed. Revert, as part of standard.
	* testsuite/27_io/ Replaced explicit
	call to numpunct<>._M_init() with overrides of the appropriate
	virtual functions.

	* testsuite/27_io/ Removed unnecessary char *
	pointers from test01, so no need to call base(), which isn't
	guaranteed to be implemented as iterators may themselves be pointers
	* testsuite/27_io/ Removed unnecessary calls to
	_M_position() - use implicit conversion to streamoff instead

2000-06-13  Thomas Holenstein  <>
        * bits/stl_iterator.h: Added inline to operators == to >=.

2000-06-13  Brent Verner <>

	* bits/streambuf.tcc: repaired _S_copy_streambufs()
	* testsuite/27_io/ (test03): Added testcase.
2000-06-12  Benjamin Kosnik  <>

	* bits/locale_facets.h (ctype<wchar_t>): Remove unnecessary data
	* src/ Add cwchar include here. Remove incorrect
	definitions, and stub them out.
	* config/generic/ (ctype): Remove ctype<wchar_t> bits.
	* config/solaris/solaris2.7/ (ctype): Same.
	* config/solaris/solaris2.5/ (ctype): Same.
	* config/newlib/ Same.
	* config/gnu-linux/ Same.
	* config/bsd/ Same.
	* config/aix/ Same.

2000-06-12  Branko Cibej  <>

        * config/solaris/solaris2.6/ (do_toupper, do_tolower): Use
        towupper and towlower to convert wide characters.

2000-06-12  Benjamin Kosnik  <>

	* Clean up confusion regarding NAME, PRE_NAME.

2000-06-08  Branko Cibej  <>

	* acinclude.m4 (GLIBCPP_CHECK_BUILTIN_MATH_SUPPORT):  Check for
	  sinf, cosf, fabsf, and sqrtf; add to LIBMATHOBJS if missing.
	* aclocal.m4:  Regenerate.
	* configure:  Regenerate.
	* math/cosf.c:  New file.
	* math/fabsf.c:  Likewise.
	* math/sinf.c:  Likewise.
	* math/sqrtf.c:  Likewise.
	* math/ (EXTRA_DIST):  Add those four files.
	* math/  Regenerate.

2000-06-08  Phil Edwards  <>

	* testsuite/26_numerics/  Need cmath.

2000-06-06  Steven King  <>

	* acconfig.h: Added defines for HAVE_BUILTIN math functs for float,
	double and long double.  Added defines for HAVE libm math functs for
	float and long double.
	* aclocal.m4: Added configure checks for builtin math funcs and libm
	support for float and long double versions of the math functions.
	* Added undefs for math functs.
	* configure: Regenerate.
	* math/mathconf: Changed the _GLIBCPP_HAS_BUILTIN_* to
	* bits/std_cmath.h: Added long double support.  Use builtins for
	float, double and long if available, otherwise, use libm versions if
	availible, otherwise, punt.
	* shadow/bits/std_cmath.h: ditto

2000-06-02  Benjamin Kosnik  <>

	* bits/locale_facets.h: Tweak.
	* src/ (codecvt<wchar_t>): Tweak. 
	* bits/locale_facets.h (_Format_cache): _S_ecks -> _S_x. 
	* bits/locale_facets.tcc (num_get<char>::_M_extract): Fix for hex.

	* bits/basic_string.h: Move data member up.
	* src/ Fix instantiations.
	* bits/string.tcc: Fix types.
2000-06-02  Anthony Williams  <>

	* testsuite/21_strings/ (test01): Qualify find with std::.

2000-06-01  Benjamin Kosnik  <>

	* bits/std_cwctype.h: Clean.
	* bits/std_cwchar.h: Clean, remove cruft.

	* acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Re-work, add bits
	for beginning iconv support.
	* acconfig.h: Remove _GLIBCPP_HAS_WCHAR_MIN_MAX.
	* bits/limits_generic.h: Remove.
	* src/ Same.
	* src/ Tweaks.

	* bits/char_traits.h: Tweaks.

2000-05-31  Russell Davidson  <> 

	* bits/locale_facets.tcc (num_get<char>::_M_extract): Fix signage,
	exponent, scientific formatting issues.
	* testsuite/27_io/ (test09): Add tests.
2000-05-31  Branko Cibej  <>

        * bits/limits_generic.h (numeric_limits<wchar_t>): Use WCHAR_MIN
        and WCHAR_MAX instead of WCHART_MIN and WCHART_MAX.

2000-05-31  Nathan Myers  <>
       * docs/thanks.html: edit own credits

2000-05-31  Benjamin Kosnik  <>

	* bits/generic_shadow.h: Remaining _C_Shadow -> _C_shadow fix.
	* acinclude.m4 (GLIBCPP_ENABLE_LONG_LONG): Add strtoull checks...

	* (SH_FLAG): Add in -Wl,--rpath -Wl,$LIB_PATH. Tweaks.
2000-05-31 Steven King <>

        * shadow/time.h: fix typo
        * shadow/wchar.h: ifdef __USE_GNU for wcsdup
        * shadow/bits/std_cwchar.h: ditto
        * shadow/bits/std_cstdlib.h: add overloads of abs and div for long
        and long long.

2000-05-26  Phil Edwards  <>

	* acinclude.m4 (GLIBCPP_ENABLE_LONG_LONG):  If strtoll isn't
	  available, force --disable.  Need to flesh this out; make smarter.
	* aclocal.m4:  Regenerate.
	* configure:  Regenerate.

	*  Minor tweaks.
	* docs/download.html:  Fix typo.

2000-05-25  Benjamin Kosnik  <>

	* inclosure: Change to...
	* mkinclosure: This.
	Fix paths to bash.	
	* mkcshadow: Fix paths to bash.
	* src/ Tweaks. Do cshadow header trickery at build time.
	* src/ Regnerate.
	* acinclude.m4 (GLIBCPP_COMPILER_VERSION): Fix typo.
	(GLIBCPP_ENABLE_SHADOW): Do a less gross hack.
	* aclocal.m4: Regenerate.
	* (INC_PATH): Tweak. 
	* Enable long long by default.
	* configure: Regenerate.
	* (LIB_PATH): Revert.

2000-05-24   Nathan "I don't write ChangeLog Entries" Myers  <>

	* config/cpu/i486: New directory.
	* config/cpu/i486/bits: New directory.
	* config/cpu/i486/bits/atomicity.h: New file.
	* config/cpu/i386/bits/atomicity.h (__compare_and_swap): Delete
	'cmpxchgl' asm.
	* acinclude.m4 (GLIBCPP_CHECK_CPU): Enable i386.
2000-05-24  Loren J. Rittle  <>

        * backward/alloc.h (__default_alloc_template): Only expose
          implementation-specific symbol, if it exists in the
        * backward/iostream.h (ends): Expose symbol.
        * backward/strstream.h: New file.
        * backward/stream.h: New file.
        * backward/ostream.h: New file.
        * backward/istream.h: New file.
        * backward/fstream.h: New file.
        * backward/complex.h: New file.
        * backward/iomanip.h: New file.

	* (LIB_PATH): Add -R bits.

	* math/carg.c (carg): Replace __atan2 with atan2.

2000-05-24  Benjamin Kosnik  <>

	* (TAGS): Construct.
	* Rengerate.
	* src/ Tweak.
	* src/ Tweak.
	* Tweak.

	* bits/c++config.h: Rename to ...
	* bits/c++config: This.
	* mkc++config: Adjust.
	* m4: Remove.
	* m4/lc_message.m4: Merge into acinclude.m4.
	* m4/mathfcts.m4: Same.
	* m4/stringfcts.m4: Same.
	* acinclude.m4: Add here.
	* configure: Regnerate.
	* acinclude.m4 (GLIBCPP_CHECK_COMPILER_VERSION): Remove
	* aclocal.m4: Regenerate.
	* src/ (AC_CXXFLAGS): Take out OPTLEVEL, as this has
	been disabled due to higher-level Makefiles running amuck over
	this bit, and add in FMTFLAGS so that formatting is clear. 
	* src/ Regenerate.
	* configure: Regenerate.

	* src/ (ios_base::sync_with_stdio): Clean up buffers from

	* docs/download.html: Remove references to Cygwin-specific bits,
	as this can now be built natively.
	Update with current information.

2000-05-24  Phil Edwards  <>

	* acinclude.m4 (GLIBCPP_CHECK_COMPILER_VERSION):  If we can use
	  -fdiagnostics-show-location=once, do so.  Expand AC_LANG_* to
	  enclose other tests in this macro, including future ones.
	* aclocal.m4:  Regenerate.
	* configure:  Regenerate.

	* docs/faq/index.html:  Update location of libg++ FAQ.
	* docs/faq/index.txt:  Regenerate.

2000-05-22  Benjamin Kosnik  <>

	* docs/17_intro/libstdc++-assign.txt: Change Cygnus to FSF.

2000-05-22  Phil Edwards  <>

	*  Tweak for Solaris 8.  Additional minor output comment.

2000-05-22  Phil Edwards  <>

	* acinclude.m4:  If the new pragma isn't supported, don't kill -Werror;
	  keep -Werror and add -Wno-unknown-pragma.  -Werror Is Good.
	* aclocal.m4:  Regenerate.
	* configure:  Regenerate.

2000-05-19   Nathan C. Myers  <>

      	* bits/generic_shadow.h: s/swamp/legacy/

2000-05-19  Phil Edwards  <>

	* acinclude.m4:  Clean up comments on newer checks.
	  (GLIBCPP_CHECK_COMPILER_VERSION):  Check for system_header
	  pragma support.  Remove WERRORSUPPRESS variable, add WERROR.
	* aclocal.m4:  Regenerate.
	* configure:  Regenerate.
	*  Regenerate.
	* libio/  Regenerate.
	* math/  Regenerate.
	* src/  Tell make's WERROR to depend on configure's WERROR.
	* src/  Regenerate.
	* docs/configopts.html:  Document changes to --enable names.

2000-05-18  Chip Salzenberg  <>

        * bits/ostream.tcc (_S_pad_char): Function template should not be
        * bits/streambuf.tcc (_S_copy_streambufs): Likewise.
        * src/ (__destroy_aux): Instantiate for string*.

2000-05-18  Nathan C. Myers  <>

	* mkcshadow: Change C_Swamp to C_legacy.
	* shadow/*: Same.
	* shadow/bits/*: Same.

2000-05-18  Anthony Williams  <> 

	* bits/locale_facets.tcc (num_get::_M_extract): Change char* to
	const char*.
	* src/ (string::_S_find): Same.
2000-05-18  Benjamin Kosnik  <>

	* acinclude.m4 (GLIBCPP_ENABLE_SHADOW): Change to
	--enable-cshadow-headers. Add output messages.
	(GCC_ENABLE_LONG_LONG): Change to --enable-long-long, no
	underscores (like the rest of the enable options.) Add output messages.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* Touch.
2000-05-17  Benjamin Kosnik  <>

	* Enable shared library testing.

2000-05-17  Nathan C. Myers  <>

	* bits/std_cmath.h: fix sqrt(float)

2000-05-16  Loren J. Rittle  <>

        * bits/std_cassert.h: Use system_header pragma.
        * bits/std_cctype.h: Likewise.
        * bits/std_cerrno.h: Likewise.
        * bits/std_cfloat.h: Likewise.
        * bits/std_climits.h: Likewise.
        * bits/std_clocale.h: Likewise.
        * bits/std_cmath.h: Likewise.
        * bits/std_csetjmp.h: Likewise.
        * bits/std_csignal.h: Likewise.
        * bits/std_cstdarg.h: Likewise.
        * bits/std_cstddef.h: Likewise.
        * bits/std_cstdio.h: Likewise.
        * bits/std_cstdlib.h: Likewise.
        * bits/std_cstring.h: Likewise.
        * bits/std_ctime.h: Likewise.
        * bits/std_cwchar.h: Likewise.
        * bits/std_cwctype.h: Likewise.
        * bits/std_exception.h: Likewise.
        * bits/std_new.h: Likewise.
        * bits/std_typeinfo.h: Likewise.
        * shadow/bits/std_cassert.h: Likewise.
        * shadow/bits/std_cctype.h: Likewise.
        * shadow/bits/std_cerrno.h: Likewise.
        * shadow/bits/std_cfloat.h: Likewise.
        * shadow/bits/std_climits.h: Likewise.
        * shadow/bits/std_clocale.h: Likewise.
        * shadow/bits/std_cmath.h: Likewise.
        * shadow/bits/std_csetjmp.h: Likewise.
        * shadow/bits/std_csignal.h: Likewise.
        * shadow/bits/std_cstdarg.h: Likewise.
        * shadow/bits/std_cstddef.h: Likewise.
        * shadow/bits/std_cstdio.h: Likewise.
        * shadow/bits/std_cstdlib.h: Likewise.
        * shadow/bits/std_cstring.h: Likewise.
        * shadow/bits/std_ctime.h: Likewise.
        * shadow/bits/std_cwchar.h: Likewise.
        * shadow/bits/std_cwctype.h: Likewise.
        * shadow/bits/wrap_libio.h: Likewise.
        * shadow/bits/wrap_unistd.h: Likewise.
        * shadow/sys/cdefs.h: Likewise.

2000-05-16  Nathan C. Myers  <>

        It appears that gcc-2.96 supports the keyword "and" now.
	* bits/std_ciso646.h: remove.
	* std/ciso646: gut.
	* testsuite/17_intro/header_ciso646.c: enable testing.
	* src/, src/ remove mention of

2000-05-16  Nathan C. Myers  <>
       * mkcshadow: fix typo s/_C_Swamp_/_C_Swamp/.

2000-05-16  Phil Edwards  <>

	* acinclude.m4:  Fix typo, switch to decaf...
	* aclocal.m4:  Regenerate.
	* configure:  Regenerate.

2000-05-16  Phil Edwards  <>

	* acinclude.m4 (GLIBCPP_ENABLE_SHADOW):  New macro, stub.
	* aclocal.m4:  Regenerate.
	*  Call.
	* configure:  Regenerate.
	* docs/configopts.html:  Stub documentation.

2000-05-14  Nathan Myers  <>

        * mkcshadow: build in more-correct directory, create cshadow/
        directory if needed, report progress.

2000-05-14  LLeweLLyn Reese  <>

        * src/ Fix tr commands.
        * src/ Remove references to [w]stringCTORDUPAL.[lo,cc]
        * src/ Remove extra instantiation of
          S::basic_string(S::size_type, C, S::allocator_type const&);
        * src/ Remove extra template keyword.

2000-05-14  Loren J. Rittle  <>

        * config/bsd/bits/ctype_base.h: Add support for plain BSD4.4.
        * acinclude.m4 (GLIBCPP_CHECK_CTYPE): Enhance bsd tests.
        * aclocal.m4: Regenerate.
        * configure: Regenerate.
        * */ Regenerate.

2000-05-11  Phil Edwards  <>

	* acinclude.m4:  Fix minor typo with ctypes, add more sanity to
	  enable-cxx-flags, and remove GLIBCPP_ENABLE_NAMESPACES altogether.
	* aclocal.m4:  Regenerate.
	*  Non-blank arguments break fewer Linuxes.
	* configure:  Regenerate.
	* src/  Re-order AC_CXXFLAGS components.
	* src/  Regenerate.

2000-05-10  Benjamin Kosnik  <>

	* bits/std_cmath.h: Tweaks.
	* math/mathconf.h: Tweaks and fixes for HP-UX 11.
	(sqrtf): Define away iff !builtin and !in <math.h>. 
	(sinf): Same.
	(cosf): Same.
	(fabsf): Same.
	At some point this directory should be converted to c++, the
	autoconf tests should be run by the c++ compiler (not c), and
	<cmath> should be used instead of math.h.
	Move declaration of nan() here.
	* math/complex-stub.h (cabsl): Remove nan() declaration.

	Finish up FreeBSD4.0 support.
	* config/bsd/ Scope out toupper, tolower calls.
	* config/generic/ And here.
	* testsuite/21_strings/ (test02): Guard with

	via Phil Edwards  <>
	* bits/std_cctype.h: Remove _GLIBCPP_USE_NAMESPACES.
	* acconfig.h: And here.
	* acinclude.m4: Same.
	* testsuite/27_io/ And here.
	* testsuite/27_io/ And here.

2000-05-09  Benjamin Kosnik  <>

	* acinclude.m4 (GLIBCPP_CHECK_CPU): Change powerpc bits to
	* src/ Disable ENABLE_CXX_FLAGS stuff for the moment.
	* config/generic/bits/ctype_specializations.h (ctype<char>::is):
	Make more generic.

	* config/bsd: New directory.
	* config/bsd/ New.
	* config/bsd/bits/ctype_base.h (ctype_base): New.
	* config/bsd/bits/ctype_specializations.h: New.
	* acinclude.m4 (GLIBCPP_CHECK_CTYPE): Add bsd tests.
2000-05-09  Phil Edwards  <>

	* acinclude.m4:  New macro, GLIBCPP_ENABLE_CXX_FLAGS.
	*  Call.
	* src/  Append results of macro to AC_CXXFLAGS.
	* aclocal.m4:  Regenerate.
	* configure:  Ditto.
	* src/  Ditto.
	* docs/configopts.html:  Document.
	* docs/download.html:  Fix typo (close quote).
	* docs/footer.html:  Update.

2000-05-09  Loren J. Rittle  <>

        * backward/iostream.h: Expose endl.  Guard wide types.
        * src/ (headers): Update list to match files.
        * src/ Regenerate.

2000-05-09  Vadim Egorov  <>
	    Benjamin Kosnik  <>
	    Nathan Myers  <>
	    Dietmar Kuehl  <> 

        * bits/streambuf.tcc (basic_streambuf::xsgetn): Fix uflow case.
	(basic_streambuf::xsputn): Make consistent.
	* testsuite/27_io/ Add tests.
2000-05-08  Steven King  <>

        * bits/char_traits.h: Use wchar_t utility functions for
        char_traits<wchar_t> methods.
        * testsuite/21_string/ New (test02): test

2000-05-08  Benjamin Kosnik  <>

	* acinclude.m4 (GLIBCPP_CXXFLAGS): Add bits for solaris2.8.

	* bits/fstream.tcc (filebuf::_M_init_filebuf): Don't set
	_M_buf_size based on macro, instead use _M_buf_size_opt.
	* bits/std_streambuf.h (basic_streambuf): Add _M_buf_size_opt.
	(basic_streambuf()): Set _M_buf_size_opt.
	* testsuite/27_io/ (filebuf): Use _M_buf_size_opt
	instead of _M_buf_size.

2000-05-04  Branko Cibej  <>

        * src/ Don't instantiate inserters and extractors
        for wide-character streams unless _GLIBCPP_USE_WCHAR_T is defined.

2000-05-03  Phil Edwards  <>
            Felix Natter <>

	* docs/footer.html:  Update to see if it takes effect.
	* docs/thanks.html:  More people.
	* docs/17_intro/headers_cc.txt:  Copy from testsuite, since that can't
	  be seen from the web pages.  Rename for browser-friendliness...
	* docs/17_intro/howto.html:  ...and update here.
	* docs/17_intro/porting-howto.html:  Changes from Felix.
	* docs/gccrebuild.html:  Mention v3->egcs move.
	* docs/faq/index.html:  Ditto.  Also misc tweaks and URL updates.
	* docs/faq/index.txt:  Regenerate.

2000-05-01  Benjamin Kosnik  <>

	* config/cpu/powerpc/bits/atomicity.h (__exchange_and_add): More

2000-05-01  Vadim Egorov  <>

        * bits/char_traits.h: Fix parameter types.
        * bits/string.tcc: Avoid traits_type::move.

2000-05-01  Benjamin Kosnik  <>

	* src/ (AC_CXXFLAGS): Add CPUFLAGS here.
	* src/ Regenerate.
	* acinclude.m4 (GLIBCPP_ENABLE_DEBUG): Revert.

2000-04-30  Steven King <>

        * bits/locale_facets.h: Fix syntax  error.
        * bits/std_fstream.h: ditto

2000-04-30  Benjamin Kosnik  <>

	* config/cpu/powerpc/bits/atomicity.h (__compare_and_swap): Fix typo.

	* mknumeric_limits (trait_name): Fix copyright notice.
	* src/ Explicitly instantiate epsilon and
	round_error data members of struct value. This works around
	weak-linking issues on AIX, HPUX.

2000-04-29  Phil Edwards  <>

	* docs/download.html:  Add link to list of mirror sites.

2000-04-28  Loren J. Rittle  <>

        * Rely on exit status instead of the presence of a
        core file.  Added comments on how/where to save core and exe
        files.  Move shell wildcards outside quotes and fix core path.
2000-04-27  scott snyder  <>

        * src/ Explicitly instantiate ifstream and ofstream

2000-04-26  Nathan C. Myers  <>

	* bits/basic_string.h: include <bits/atomicity.h> instead
        of <atomicity.h>, and use the uglified names.
        * config/cpu/*/atomicity.h: replace with bits/atomicity.h;
        uglify names, eliminate dependence on <inttypes.h>.
        * src/, src/ refer to correct place
        for atomicity.h header.

2000-04-25 Steven King <>

        * bits/basic_string.h: Fix syntax error.

2000-04-25  Benjamin Kosnik  <>

	* acinclude.m4 (GLIBCPP_CHECK_MATH_SUPPORT): Improve checks for
	(GLIBCPP_ENABLE_DEBUG): If alpha, use -gdwarf-2.
	* math/ (EXTRA_LONG_DOUBLE_yes): Add all the long
	versions to this as copysignl is needed anyway for these targets.
	* math/ Regenerate.
	* bits/streambuf.tcc (streambuf::xsgetn): Tweak.
	* bits/fstream.tcc (underflow): Cast to libio types.
	* bits/basic_file.h (seekoff): Fixes for alpha: use __c_streamoff.
	* config/ (seekoff): And here.
2000-04-24  Loren J. Rittle  <>

        * Report compiler version used for test.  Find
        the built _G_config.h instead of any old installed version.

2000-04-24  Loren J. Rittle  <>

        * config/generic/ (do_toupper): Remove dependence on
        non-portable/non-existent lookup table.
        (do_tolower): Same.
2000-04-24  Nathan Myers  <>

	* src/ More fixing.

2000-04-24  Benjamin Kosnik  <>

	* bits/stl_iterator.h: Pedantic fixing.
	* bits/std_sstream.h: And here.
	* bits/string.tcc: And here.

2000-04-24  Felix Natter <> 

	* docs/17_intro/howto.html: Add bits.
	* docs/17_intro/porting-howto.html: New file.
2000-04-24  Branko Cibej  <>

        * acinclude.m4(GLIBCPP_CHECK_WCHAR_T_SUPPORT): Expand
        @libinst_wstring_la@ to when specializing for
        wchar_t, to empty string otherwise.
        * src/ (EXTRA_LTLIBRARIES): New.
        (sources): Remove $(string_sources) and $(wstring_sources).
        (libstdc___la_LIBADD): Add and @libinst_wstring_la@.
        (libstdc___la_DEPENDENCIES): New.
        (libinst_string_la_SOURCES, libinst_wstring_la_SOURCES): New.

2000-04-20  Benjamin Kosnik  <>

	* bits/std_sstream.h: Tweak formatting.
	* bits/std_fstream.h: Make types public.

	* testsuite/27_io/ Fix for alpha.

	Brad Garcia <>
	* bits/locale_facets.h (numpunct::numpunct(size_t)): Fix bool
	* testsuite/27_io/ (test02): Add test for
	bool formatting.
2000-04-19  Nathan Myers  <>

	* src/string-inst: consolidate _S_create,
	destroy, leak, clone members into stringMAIN and stringMUTATE
	object files.
	* src/ Above, and eliminate dependence on
	* src/ Remove.

2000-04-18  Benjamin Kosnik  <>

	* src/ (AC_CXXFLAGS): Activate debugging code, again.
	Add flags for specialized rules dealing with instantiations.
	* src/ Add instantiations missing from shared
	libraries--see stringEQ, stringCONSC.
	* src/ (wstring_sources): Add.
	(string_sources): Same.
	* src/ Regenerate.
	* stl/*: Integrate contents of this directory into top-level
	* ext/bvector hash_map hash_set rope ropeimpl.h slist
	stl_bvector.h stl_hash_fun.h stl_hashtable.h stl_rope.h tree: Add.
	* bits/pthread_allocimpl.h std_algorithm.h std_bitset.h
	std_deque.h std_functional.h std_iterator.h std_list.h std_map.h
	std_memory.h std_numeric.h std_queue.h std_set.h std_stack.h
	std_stdexcept.h std_strstream.h std_utility.h std_vector.h
	stl_algo.h stl_algobase.h stl_alloc.h stl_config.h stl_construct.h
	stl_deque.h stl_function.h stl_heap.h stl_iterator.h
	stl_iterator_base.h stl_list.h stl_map.h stl_multimap.h
	stl_multiset.h stl_numeric.h stl_pair.h stl_pthread_alloc.h
	stl_queue.h stl_range_errors.h stl_raw_storage_iter.h stl_relops.h
	stl_set.h stl_stack.h stl_string_fwd.h stl_tempbuf.h stl_threads.h
	stl_tree.h stl_uninitialized.h stl_vector.h type_traits.h: Add.
	* backward/algo.h algobase.h alloc.h bvector.h defalloc.h deque.h
	function.h hash_map.h hash_set.h hashtable.h heap.h iterator.h
	list.h map.h multimap.h multiset.h pair.h rope.h set.h slist.h
	stack.h tempbuf.h tree.h vector.h: Add.
	* README (file): Update.
	* docs/documentation.html: README not being found.
	* src/ (sources): Take out stl directory.
	* (SRC_DIR): And here.
	* src/ Regenerate.
2000-04-18  Levente Farkas  <>

	* stl/bits/stl_function.h: Add bits so that const and non-const
	both work.
2000-04-18  scott snyder  <>

        * stl/bits/stl_map.h (class map): Fix default for _Alloc template
        parameter.  Get rid of use of __STL_DEFAULT_ALLOCATOR and
        * stl/bits/stl_multimap.h (class multimap): Likewise.  Get rid of
        use of __STL_DEPENDENT_DEFAULT_TMPL macro.

2000-04-18  scott snyder  <>

        * stl/bits/stl_config.h (__STL_DEPENDENT_DEFAULT_TMPL): Deleted
        this macro.

        * stl/ext/hash_map (class hash_map, class hash_multimap): Get rid
        of use of __STL_DEPENDENT_DEFAULT_TMPL macro.
        * stl/ext/hash_set (class hash_set, class hash_multiset):
        * stl/bits/stl_function.h (struct constant_unary_fun, struct
        constant_binary_fun): Likewise.
        * stl/bits/stl_queue.h (class queue, class priority_queue): Likewise.
        * stl/bits/stl_stack.h (class stack): Likewise.
        * stl/bits/stl_set.h (class set): Likewise.
        * stl/bits/stl_multiset.h (class multiset): Likewise.

        * stl/bits/stl_iterator.h (class reverse_bidirectional_iterator,
        class reverse_iterator): Get rid of use of

        * stl/bits/stl_config.h (__STL_DEFAULT_ALLOCATOR): Deleted this

        * stl/bits/stl_deque.h (class deque): Get rid of use of
        __STL_DEFAULT_ALLOCATOR macro.
        * stl/bits/stl_list.h (class list): Likewise.
        * stl/bits/stl_multiset.h (class multiset): Likewise.
        * stl/bits/stl_set.h (class set): Likewise.
        * stl/bits/stl_string_fwd.h (class basic_string): Likewise.
        * stl/bits/stl_tree.h (class _Rb_tree, class rb_tree): Likewise.
        * stl/bits/stl_vector.h (class vector): Likewise.
        * stl/ext/ropeimpl.h (rotate): Likewise.
        * stl/ext/hash_map (class hash_map, class hash_multimap):
        * stl/ext/hash_set (class hash_set, class hash_multiset):
        * stl/ext/slist (class slist): Likewise.
        * stl/ext/stl_bvector.h (class bit_vector): Likewise.
        * stl/ext/stl_rope.h (class rope): Likewise.
        * src/ (_Impl): Likewise.
        * src/ (_Impl): Likewise.
        * bits/localefwd.h (_Impl): Likewise.

2000-04-18  Phil Edwards  <>

	* docs/install.html:  Cleanup, minor changes.
	* docs/17_intro/howto.html:  Ditto.

2000-04-18  Nathan Myers  <>

	* bits/basic_string.h: Remove "inline" from member _S_find.
	* src/ Rewrite to reflect non-inline template
	instantiations in string.tcc.
	* src/,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Remove.
	* src/, etc: Remove.

	Benjamin Kosnik  <>
	* src/ Modify to reflect above.
	* src/ Regenerate.
2000-04-17  Benjamin Kosnik  <>

	* docs/install.html (--enable-libstdcxx-v3): Clean up install docs.

2000-04-13  Benjamin Kosnik  <>

	* bits/std_fstream.h (filebuf::sync): Need to use the abstracted
	io interface here instead of the libio particulars.

	* config/threads-posix.h: Consistency with stl_config.h.

	* (CXX_FLAG): Add DDEBUG_ASSERT back in.
2000-04-13  Loren J. Rittle  <>

        * mknumeric_limits: Rename generic type template parameter name
        '_T' to '_Tp'.
        * stl/bits/type_traits.h: Ditto.

2000-04-06  Benjamin Kosnik  <>

	* (SRC_DIR): Change default mkcheck behavior, so that
	it is more useful for --enable-libstdcxx-v3. Use the built
	compilers with v3, instead of compilers in PATH, and don't
	re-include include directories for checking the install.

2000-04-05  Benjamin Kosnik  <>

	* src/ (AM_CXXFLAGS): Disable NAMESPACES, as this is on
	by default when using --enable-libstdcxx-v3.
	* src/ Regenerate.
	GLIBCPP_ENABLE_RELIBGCC for --enable-libstdcxx-v3 flag.
	* configure: Regenerate.
	* Deal with NAMESPACES.
2000-04-05  Petter Urkedal  <>

        * src/ New file...
        (pow(*, int)): Define functions...
        * src/ (sources): ...register file.
        * src/ Regenerate.
        * bits/std_cmath.h (pow): ...declare functions here, and remove
        old definitions.

2000-04-04  Benjamin Kosnik  <>
	* acinclude.m4 (GCC_OBJDIR): Tweaks

2000-04-03  Benjamin Kosnik  <>
	* acinclude.m4 (GLIBCPP_CHECK_CPU): Add arm configure bits.
	* config/cpu/arm: New directory.

	Jesper Skov  <>
	* config/cpu/arm/atomicity.h: New file.
2000-03-31  Benjamin Kosnik  <>

	* stl/bits/stl_config.h: Make _STL_THREADS depend on _REENTRANT.
	Remove unused bits. Clean.
2000-03-29  Benjamin Kosnik  <>

	* testsuite/25_algorithms: New directory.
	* testsuite/25_algorithms/ New file.

2000-03-29  scott snyder  <>

        * bits/locale_facets.tcc (do_put): Allow a couple extra digits of
        precision beyond that which we get from numeric_limits::digits10.

        * stl/bits/stl_algobase.h (max, min): Don't use comparison

	* testsuite/23_containers/ Fix.

        * testsuite/27_io/ (test01): Don't give a
        temporary to imbue().

	* bits/std_fstream.h (sync): Resync libio's idea of the current
        file position with the external file.

2000-03-28  Benjamin Kosnik  <>

	* testsuite/27_io/ Fix merge

	* bits/std_fstream.h (filebuf::is_open): Check for _M_file before
	attempting calls to it. 
	* bits/fstream.tcc (ctors): Don't call _M_init_filebuf in
	ctors. Instead, call _M_init_filebuf ...
	(open): Here, as suggested by	
	* src/ (ios_base::Init::Init()): Clean up default filebufs
	properly when initializing cout/cin/cerr.

2000-03-27  Russell Davidson  <>

	* testsuite/23_containers/ (main): Clean up for namespaces.
	* testsuite/22_locale/ And here.
	* testsuite/27_io/ (streambuf): And here.
	* testsuite/27_io/ (test06): And here.
	* testsuite/27_io/ (test05): And here.
	* testsuite/27_io/ And here.
	* testsuite/27_io/ (test02): And here.
	* testsuite/27_io/ And here.
	* bits/std_climits.h (_CPP_CLIMITS): Fix typo.

2000-03-27  Chris Faylor  <>
	* Remove setting of CXX if canadian cross.
	* configure: Regenerate.

2000-03-27  Nathan Myers  <>

	* bits/sstream.tcc: Optimize.
	* bits/basic_string.h(string::append): Don't inline.
	* bits/string.tcc: Move out-of-line.
2000-03-27  Phil Edwards  <>

	* acinclude.m4:  (GLIBCPP_CHECK_COMPILER_VERSION)  When using <2.96,
	  define WERRORSUPPRESS so that the inlining warnings won't kill us.
	* aclocal.m4:  Regenerate.
	* configure:  Regenerate.
	* src/  Use WERRORSUPPRESS for the files that need it.
	* src/  Regenerate.

	* docs/install.html:  Almost complete rewrite.

2000-03-25  Phil Edwards  <>

	* docs/install.html:  Explain -Werror problem at "#Werror" mark.
	* docs/faq/index.html:  Testsuite will die horribly if new libgcc.a
	  not installed.
	* docs/faq/index.txt:  Regenerate.

2000-03-24  Alexandre Oliva  <> 

	* src/ (libio_headers_install): Fix.
	* src/ Regenerate.
2000-03-24  Benjamin Kosnik  <>

	* docs/17_intro/RELEASE-NOTES: Fix typos.
	* docs/index.html: Update.
	* docs/17_intro/BUGS: Update.
	* docs/status.html: Update for 2.90.8 release.

2000-03-23  Phil Edwards  <>

	*  Better error message when missing libgcc2.ready.
	*  Regenerate.
	* acinclude.m4:  Fastidious nitpicking reformatting.
	* aclocal.m4:  Regenerate.
	* configure:  Regenerate.
	*  Must use same namespace settings as the library being
	  tested.  Also log ST_FLAG, since it's being passed.
	* docs/install.html:  Add brief chunk on configuration.
	* docs/17_intro/RELEASE-NOTES:  Fix minor Cygwin typo.
	* docs/23_containers/howto.html:  Mention MT-safe string.
	* docs/faq/index.html:  Minor updates.
	* docs/faq/index.txt:  Regerarate.

2000-03-22  Benjamin Kosnik  <>

	* bits/sstream.tcc (seekoff): Fix for gptr() null cases.
	Return newoff. 
	* bits/fstream.tcc (seekoff): Sync.
	(seekpos): Sync.
	* testsuite/27_io/ New file.
	* testsuite/27_io/ Fix.
	* testsuite/27_io/ (test04): Fix.
	* config/newlib/bits/ctype_base.h (ctype_base): Fix.
	* config/newlib/ (ctype): Change __ctype -> _ctype_.

	* src/ (operator>>complex): Tweak.

	* config/cpu/alpha/atomicity.h: Explicitly typedef uint32_t, int32_t if
	<inttypes.h> does not exist.
	* config/cpu/sparc/sparc64/atomicity.h: Same.
	* config/cpu/sparc/sparc32/atomicity.h: Same.
	* config/cpu/powerpc/atomicity.h: Same.
	* config/cpu/i386/atomicity.h: Same.
	* config/cpu/generic/atomicity.h: Same.
	* Check for inttypes.h.
	* configure: Regnerate.

2000-03-21  Benjamin Kosnik  <>

	* bits/std_sstream.h (_M_init_stringbuf): Set initial ate position
	* testsuite/27_io/ (test06): Add tests for ate.

	* docs/17_intro/RELEASE-NOTES (New): Add bits.

	* Move AC_CHECK_HEADERS to a point where we know we
	are compiling natively.

	* libio/*: Update to CVS libio from egcs.
2000-03-21  Phil Edwards  <>

	* docs/download.html:  Document use of -z9 for CVS.
	* docs/index.html:  Add target date (no link) for future snapshot.

2000-03-21  Gabriel Dos Reis  <>

	* bits/slice_array.h: Rename generic type template parameter name
	'_T' to '_Tp'. 
	* bits/mask_array.h: Ditto

2000-03-20  Benjamin Kosnik  <>	

        * *: Change copyright holder from "Cygnus Solutions" to "Free
	Software Foundation, Inc."
	* docs/configopts.html: Explain what "hella versions" means.
	* docs/install.html: Some tweaks--nice job on this Phil.
	* docs/documentation.html: Add a direct link to configuration options.

	* src/ (OPTIMIZE_CXXFLAGS): Add in extras.
	* docs/17_intro/RELEASE-NOTES (New): Add.
	* bits/c++config.h (__GLIBCPP__): Bump version.

	* config/ (__basic__file(__c_lock*)): Change argument
	type to match prototype.

2000-03-20  Phil Edwards  <>

	* docs/install.html:  Update for new funky build procedure.  Move
	  description of 'configure' options to...
	* docs/configopts.html:  New file.
	* docs/17_intro/howto.html:  Updates for new snapshot.
	* docs/20_util/howto.html:  Ditto.
	* docs/21_strings/howto.html:  Ditto.
	* docs/21_strings/stringtok_std_h.txt:  Fix example typos.
	* docs/22_locale/howto.html:  Ditto.
	* docs/23_containers/howto.html:  Ditto.
	* docs/faq/index.html:  Ditto.

2000-03-18  Petter Urkedal  <>
            Benjamin Kosnik  <>
        * acinclude.m4 (GLIBCPP_CHECK_COMPLEX_SUPPORT): Move code for main
        to the right place.
        * aclocal.m4: Regenerate.
        * configure: Regenerate.

2000-03-16  Benjamin Kosnik  <>
            scott snyder  <>
	* config/c_io_libio.h: Add __c_lock.
	* config/threads-no.h: Same here.
	* config/threads-posix.h: Add __mutext_type typedef.
        * config/ basic_file ctor takes lock arg. 
        * bits/basic_file.h: Ctor takes lock arg. 
        * bits/std_fstream.h: Add _M_lock.
        * bits/fstream.tcc: Supply it to basic_file ctor.

	* (resultstext): Change [[ to [.

	* testsuite/27_io/ (test06): Tweak.

	* bits/locale_facets.h: Tweak.	

	* stl/bits/stl_config.h: Fix defines.
2000-03-16  Benjamin Kosnik  <>

	* (INC_PATH): Add paths from cpu_include_dir to find
	* configure: Regenerate.
	* aclocal.m4: Regnerate.
2000-03-16  Nathan Myers  <>

	* bits/string.tcc: Add MT support.
	* bits/basic_string.h: Same.
2000-03-16  Phil Edwards  <>

	*  Make --enable-namespaces and -libgcc-rebuild=../..
	  the defaults.
	* configure:  Regenerate.

	* config/solaris/solaris2.7/  Fix unsigned/signed comparison.

2000-03-16  Phil Edwards  <>

	* acinclude.m4 (GLIBCPP_CHECK_CTYPE):  If Sol2.5 ctype is found, keep
	  checking for 2.[67].  (GLIBCPP_ENABLE_RELIBGCC):  No longer ignore
	  any defaults passed in.
	* aclocal.m4:  Regenerate.

2000-03-16  Phil Edwards  <>

	*  Report total successes and failures.

2000-03-15  Benjamin Kosnik  <>

	* config/cpu: New directory, intended to be used to provide
	cpu-specific configuration files. In particular, assembly language
	primitives for thread safety.
	* config/cpu/alpha: Populate.
	* config/cpu/alpha/atomicity.h: New file.
	* config/cpu/arm: Populate.
	* config/cpu/generic: Populate.
	* config/cpu/generic/atomicity.h: New file.
	* config/cpu/hppa: Populate.
	* config/cpu/i386: Populate.
	* config/cpu/i386/atomicity.h: New file, take from i486.
	* config/cpu/m68k: Populate.
	* config/cpu/mips: Populate.
	* config/cpu/powerpc: Populate.
	* config/cpu/powerpc/atomicity.h: New file.
	* config/cpu/sparc: Populate.
	* config/cpu/sparc/sparc32: Populate.
	* config/cpu/sparc/sparc64: Populate.
	* config/cpu/sparc/sparc32/atomicity.h: New file.
	* config/cpu/sparc/sparc64/atomicity.h: New file.	

	* src/ (myinstallheaders): Add install routines.
	* acinclude.m4 (GLIBCPP_CHECK_CPU):Add configuration for the
	cpu dir.
	* Add.

	* config/default: Adopt glibc naming conventions, and so move to
	* config/generic: Here.
	* acinclude.m4 (GLIBCPP_CHECK_CTYPE): Modify default case to generic.
2000-03-15  Bill Thompson  <>

	* testsuite/27_io/ (test06): Add test.

2000-03-14  Phil Edwards  <>

	* docs/17_intro/howto.html:  Add missing "TOC" entry, and new section.

	* acinclude.m4 (GLIBCPP_CHECK_CTYPE): Fixup.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2000-03-13  scott snyder  <>
	    Jason Merrill  <>
        * bits/locale_facets.h (class ctype, class ctype<char>, class
        ctype<wchar_t>): More mask fixes.
        * testsuite/22_locale/ Test for the problem.

2000-03-13  Benjamin Kosnik  <>

	* acconfig.h: Add bits.
	* Move AM_PROG_LIBTOOL up in file.
	Tweak cross compiling info. 
	* configure: Regenerate.

	* mknumeric_limits (XCOMPILE): Echo compilation line for

	* acinclude.m4 (GLIBCPP_CHECK_CTYPE): Add aix checks.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* config/aix/ (ctype): Tweak.
	* config/aix/bits/ctype_base.h (ctype_base): Tweak.
	* config/aix/bits/ctype_specializations.h: New file.

2000-03-10  scott snyder  <>

        * stl/bits/stl_vector.h (_M_assign_aux): Fix for __normal_iterator 
        * testsuite/23_containers/ (test01): Add a
        regression test for the problem.

2000-03-09  Benjamin Kosnik  <>
	* testsuite/27_io/ (class testbuf): Same here.	
	* bits/fpos.h: And here.
	* bits/std_ostream.h: Same here.
	* bits/std_istream.h: Same here.
	* bits/basic_ios.h: Same here.
	* bits/std_fstream.h: Same here.
	* bits/sbuf_iter.h (std): Here too.
	* bits/std_sstream.h: Make types public.

	* src/ Use size_t instead of unsigned int. 
	* bits/locale_facets.tcc (_S_format): For now, cast to char. I
	suppose this should be ctype::narrow... all the ctype<wchar_t>
	stuff needs to be cleaned up.

2000-03-09  Phil Edwards  <>

	* docs/gentop:  Remove entire directory, finally.

2000-03-09  scott snyder  <>

        * bits/std_cmath.h (modf): Fix pointer overrun.
        * testsuite/26_numerics/ (test04, main): Add a regression 
        test for the problem.

2000-03-09  Phil Edwards  <>

	Looks like changes to the #include'd files must be followed by a
	change to the #include'ing files to take effect.  Caveat emptor.
	* docs/header.html:  New file, for server-side include.
	* docs/footer.html:  New file, for server-side include.
	* docs/documentation.html:  Change to use SSI.
	* docs/download.html:  Ditto.
	* docs/index.html:  Ditto.
	* docs/mail.html:  Ditto.
	* docs/status.html:  Ditto.
	* docs/thanks.html:  Ditto, plus minor updates.
	* docs/how.html:  Remove.

2000-03-09  Benjamin Kosnik  <>

	Preliminary alpha-linux support.
	* src/ (ctype<wchar_t>): Use correct types...
	* bits/locale_facets.h (ctype<char>): Add __table_type typedef.
	(ctype<wchar_t>): Same.
	* bits/locale_facets.h (ctype<wchar_t>): Have char and wchar_t
	types match for table_size (size_t).

	* config/gnu-linux/ (ctype): Change char_type to wchar_t
	as per char specialization.
	* config/*/ Same.
2000-03-09  Gabriel Dos Reis  <>

	* bits/locale_facets.h (_Ctype<>::mask): Import from base class
	_Ctype_nois<>.  Template base classes are never examinated in
	first-phase name-lookup. 

2000-03-08  Benjamin Kosnik  <>

	Add Solaris 2.5.1 support.
	* config/solaris/solaris2.5/bits/ctype_base.h (ctype_base): And here.
	* config/solaris/solaris2.5/ Fixup.
	* config/solaris/solaris2.5/bits/ctype_specializations.h: Add.
	* acinclude.m4 (GLIBCPP_CHECK_CTYPE): Add bits for solaris2.5.1.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* config/default/ (ctype): Fixup.

2000-03-07  Benjamin Kosnik  <>

	* testsuite/27_io/ Activate init code from yesterday...
	* testsuite/27_io/ (testcases): Fix for
	non-wchar_t case.

2000-03-07  Gabriel Dos Reis  <>

	* bits/cpp_type_traits.h: Expand on this file purpose.

2000-03-06  Benjamin Kosnik  <>

	* bits/locale_facets.h (ctype<char>): Remove static members, and
	re-work initialization code.
	(ctype<wchar_t>): Same.
	Move _S_touppper to _M_toupper and initialize in ctor.
	Move _S_tolower  to _M_tolower and initialize in ctor.	
	Move _S_table to _M_ctable and initialize in ctor.
	* bits/locale_facets.h (std): And here.
	* src/ (std): Tweak.
	* config/gnu-linux/ Change initialization here.
	* config/newlib/ And here.
	* config/solaris/solaris2.7/ And here.
	* config/solaris/solaris2.6/ And here.
	* bits/localefwd.h: Tweak.
	* bits/std_streambuf.h: Tweak formatting.

	* testsuite/27_io/ Remove BUFSIZ dependencies.

2000-03-05  Chip Salzenberg  <>

        * src/ (basic_iostream<>):  Instantiate.

2000-03-02  Phil Edwards  <>
            Kevin Atkinson  <> 

        Initial grab of SGI's strstream implementation with minor
        * src/  New file.
        * std/strstream:  New file.
        * stl/bits/std_strstream.h:  New file.
        * bits/std_streambuf.h:  Add public access.
        * src/  Add strstream sources to list of dependencies.
        * src/  Regenerate.

2000-03-03 2000  Gabriel Dos Reis  <>

	* bits/valarray_meta.h: Fix typo.
2000-03-02  Alexandre Oliva  <> 
	    Chip Salzenberg  <>
	    Petter Urkedal  <>

	* src/ (myinstallheaders): Hack to avoid
        `for i in ; do'.
	* src/ Regenerate.
2000-03-02  Chip Salzenberg  <>

        * libio/, math/, src/
        (LINK): Put quotes around "$(CC)" for libtool link mode,
        so libtool will use "-B" options during GCC bootstrap.
        * */ Regenerate.
2000-03-02  Petter Urkedal  <>

        * config/c_io_libio.h: Enclose it all in ::std.
        * bits/basic_string.h (basic_string<>): Make types and
        `npos' public.
        * mkc++config: Truncate output file before writing.

2000-03-01  Benjamin Kosnik  <>

	* math/cabsf.c (__mycabsf): Rename to cabsf.
	* math/cabs.c (__mycabs): Rename to cabs.

2000-02-29  LLeweLLyn Reese  <>
       * bits/basic_string.h: Move declarations of __out_of_range(),
       __length_error() and accompanying macros ...
       * bits/exception_support.h: here. (Newly created file).
       * bits/basic_string.h: #include <bits/exception_support.h>
       * stl/bits/stl_vector.h: #include <bits/exception_support.h>
       * src/ (headers): Add.
       * src/ Regenerate.
2000-02-29  Benjamin Kosnik  <>
	* bits/cpp_type_traits.h: Rename structs so they don't clash with
	* bits/valarray_array.h: Synch. Fix typos.

	* libio/ Change to only compile source files that
	config/ actually needs.
	* libio/ Regnerate.
	* libio/PlotFile.hes SFile.h builtinbuf.h editbuf.h floatconv.c
	floatio.h fstream.h indstream.h iofclose.c iofdopen.c iofeof.c
	ioferror.c iofflush.c iofgetpos.c iofgets.c iofopen.c iofprintf.c
	iofputs.c iofread.c iofscanf.c iofsetpos.c ioftell.c iofwrite.c
	iogetc.c iogetdelim.c iogetline.c iogets.c ioignore.c iomanip.h
	iopadn.c ioperror.c iopopen.c ioprims.c ioprintf.c ioputc.c
	ioputs.c ioscanf.c ioseekoff.c ioseekpos.c iosetbuffer.c
	iosetvbuf.c iosprintf.c iosscanf.c iostream.h iostrerror.c
	ioungetc.c iovfprintf.c iovfscanf.c iovsprintf.c iovsscanf.c
	istream.h list.out ostream.h outfloat.c parsestream.h peekc.c
	pfstream.h procbuf.h stdiostream.h stream.h streambuf.h strfile.h
	strops.c strstream.h: Delete.

	* bits/basic_file.h: Stub out or delete unused bits in this
	(filepos_beg): Remove.	
	(filepos_cur): Remove.
	(filepos_valid): Remove.
	* config/ Resynch with the changes to basic_file.

2000-02-29  Gabriel Dos Reis  <>

	* bits/cpp_type_traits.h: Correct typo.

2000-02-29  Gabriel Dos Reis  <>

	* bits/cpp_type_traits.h: New file.
	* bits/valarray_array.h: Tweak.  #include <bits/cpp_type_traits.h>
	Improve array construction.
	(_Array_default_ctor): New dispatcher class. 
	(__valarray_default_construct): New function.
	(_Array_copy_ctor): New dispatcher class.
	(__valarray_copy_construct): New function.
	(_Array<>::free_data): Remove.

	* src/ (headers): Add cpp_type_traits.h
	* src/ Regenerate.

2000-02-28  Benjamin Kosnik  <>

	Prune libio directory to match files in libio/Makefile.
	* libio/,,,,,,,,,,,,,,,,,,,,,,,,,, Remove.
	* libio/floatio.h, iolibio.h, iostdio.h, iostreamP.h: Remove.
	* libio/iofflush_u.c: Remove.
	* libio/dbz: Remove.  
	* libio/include: Remove.  
	* libio/stdio: Remove.  
	* libio/tests: Remove.  
	* libio/testsuite: Remove.
	* config/ Add fcntl.h include for Solaris.

	* acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Add bits.
	* Replace 'grep -e' with 'grep' for Solaris.
	* configure: Regenerate.

2000-02-25  Benjamin Kosnik  <>

	Abstract out the underlying "C" io bits.
	* bits/std_new.h: Remove <stl_config> include, as well as <cstddef>.
	* stl/bits/stl_string_fwd.h: Remove <stddef> include.
	* bits/std_cwchar.h: Wrap with _GLIBCPP_USE_WCHAR_T guards. Don't
	include <cstddef>.
	* stl/bits/stl_config.h: Don't include _G_config.h.

	* bits/basic_file.h: Allow for non-inheritance based __basic_files.
	* config/c_io_libio.h (_GLIBCPP_BASIC_FILE_INHERITANCE): Define.
	* config/ Tweak.

	* src/ (TOPLEVEL_INCLUDES): Add includedir.
	* src/ Regenerate.
	* (AM_MAKEFLAGS): Define includedir so that
	prefix/include files will be picked up.
	* Regenerate.
	* math/ (TOPLEVEL_INCLUDES): And here.
	* libio/ (TOPLEVEL_INCLUDES): And here.
	* bits/std_ios.h: Include <bits/c++io.h> instead of libio.
	* bits/fpos.h: And here.	
	* bits/basic_file.h (get_fileno): Move definition from ...
	* src/ (std): To here.
	* bits/fpos.h: Move types for streamoff, streampos to..
	* bits/basic_file.h: Move __c_file_type and fpos typedefs to...
	* config/c_io_libio.h:
	abstract out bits in ios_base.
	* bits/ios_base.h: Re-macrofy.	
	* src/ : Rename, move to
	* config/ Here. 
	* config/c_io_libio.h: New file. Include libio.
	* bits/c++config.h: Don't define _GLIBCPP_USE_LIBIO.
	* (blddir): Add enabling bits for GLIBCPP_ENABLE_CSTDIO.
	* configure: Regenerate.
	* src/ (sources): Take out and add
	(generated_headers): Add c++io.h
	* acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): New function to select
	underlying "C" io library.
	* acinclude.m4 (GLIBCPP_CHECK_LIBIO): Roll functionality into
	* Add configure bits for cross compiling non-newlib
	targets. .
	GLIBCPP_CHECK_COMPILER_VERSION: Take out this test for this
	target, as we assume g++ support is not the limiting factor.
	GLIBCPP_CHECK_LIBIO: Same, know we don't need libio.  
	* configure: Regenerate.
2000-02-22  Benjamin Kosnik  <>

	* (INTERFACE): Define.
	* Regenerate.
	* libio/ChangeLog: Add entry.

2000-02-21  Benjamin Kosnik  <>

	* docs/install.html: Update install directions.

	* docs/status.html: Fix sidebar to be consistent.
	* docs/thanks.html: Same.
	* docs/links.html: Same.
	* docs/mail.html: Same.
	* docs/download.html: Same.

	* testsuite/27_io/ Change BUFSIZ to buffer_size, and
	kill the macro BUFSIZ. I think the solaris fails lie elsewhere
	however, in the fail (for instance.)
	* testsuite/17_intro/ Remove extraneous fails for hosts
	that do not have wchar_t enabled.
	* testsuite/27_io/ (struct _TestCase):
	Same here.
	* testsuite/27_io/ And here.

	* libio/gen-params (CONFIG_NM): Specifically add in nm as the
	default CONFIG_NM.
2000-02-18  Benjamin Kosnik  <>
            Tom Tromey  <>

	* Manually add MULTISUBDIR.
	* configure: Regenerate.
	* src/ (MULTISUBDIR): Add the lesser evil of Tom's two
	"Eww" hacks to get multilib installs working correctly.
	($(headers): Test for MULTISUBDIR before installing.
	* (AM_MAKEFLAGS): Don't define MULTISUBDIR, instead
	have configure hack it in.
	* Regenerate.
	* acinclude.m4 (GLIBCPP_CXXFLAGS): Tweak wording. 
	Add enabling bits for native Cygwin ctypes, and other newlib-based
2000-02-17  Benjamin Kosnik  <>

	* mkc++config (OUT_H): Remove EOF in cygwin.
	* acinclude.m4 (LIBS): Tweaks to allow cygwin to configure.

        Tom Tromey  <>
	* src/ Tweaks for installing multilibs.

2000-02-17  Benjamin Kosnik  <>

	* src/ 
	(toolexeclib_LTLIBRARIES): Use this instead of lib_LTLIBRARIES.
	Add USE_LIBDIR bits here, not...
	* src/ Regenerate.
	* Regenerate.
2000-02-17  Benjamin Kosnik  <>

	* acinclude.m4 (LIBS): Fix typos.
	* src/ (std_headers): Add libio.h as install include,
	as with _G_config.h
	* src/ Regenerate.

	* Add bits to set CXX to cross compiler.

	* src/ Tweak.
	* _GLIBCPP_BUGGY_COMPLEX for crosses.
	* configure: Regenerate.
	* config/newlib/ Tweaks.
	* config/newlib/bits/ctype_base.h (ctype_base): Set mask to char,
	not const char.
	* src/ (operator>>(istream, complex): Define out if

2000-02-16  Benjamin Kosnik  <>

	* config/newlib/bits/ctype_base.h: Correct _S_table.

	Reconfigure ctype support for "C" libraries that don't use arrays.
	* testsuite/22_locale/ New file. Test for
	basic ctype<char> functionality.
	* src/ Move host-specific ctype functions that are not
	inlines to config/*/ files.
	(ctype<char>::do_tolower): For instance.
	(ctype<char>::do_toupper): For instance.
	(ctype<wchar_t>::do_tolower): For instance.
	(ctype<wchar_t>::do_toupper): For instance.
	* config/gnu-linux/ Modify.
	* config/default/ Modify.
	* config/newlib/ Modify.
	* config/solaris/solaris2.6/ Modify.
	* config/solaris/solaris2.7/ Modify.

	* bits/locale_facets.h (ctype<char>::is): Mark inline, move
	(ctype<char>::scan_is): Here too.
	(ctype<char>::scan_not): Here too.
	Move out of line defs to config/*/bits/ctype_specializations.h.
	* config/gnu-linux/bits/ctype_specializations.h: New file.
	* config/default/bits/ctype_specializations.h: New file.
	* config/newlib/bits/ctype_specializations.h: New file.
	* config/solaris/solaris2.6/bits/ctype_specializations.h: New file.
	* config/solaris/solaris2.7/bits/ctype_specializations.h: New file.
	* src/ (headers): Add ctype_specializations.h.
	* src/ Regenerate.
	Aaron Weiss <> 
	CONFIG_NM for Solaris builds.
	* Regenerate.
	* src/ Tweak formatting.

2000-02-15  Benjamin Kosnik  <>

	Jim Parsons  <> 
	* testsuite/27_io/ (test06): Add test.
	* bits/istream.tcc (read): Set failbit if !good(). Don't increment
	gcount if eof.
	(readsome): Same.

	Michel Decima  <>
	* testsuite/27_io/ Add test.
	* bits/streambuf.tcc (xsgetn): Don't test for valid mode.
	(xsputn): Same.
	* src/ (AM_CXXFLAGS): Pass down AC_CXXFLAGS,
	OPTIMIZE_CXXFLAGS, etc. So --enable-debug and --enable-namespaces
	will work correctly, for instance.
	* src/ Regenerate.

	* bits/locale_facets.h: Fix merge error.
	(num_put::put(unsigned long long): And here.
	* mknumeric_limits (trait_name): Same.
2000-02-15  Chip Salzenberg  <>

        Support 'configure --enable-long-long'.
        * bits/c++config.h (_GLIBCPP_USE_LONG_LONG): Remove.
        * stl/bits/stl_config.h (__STL_LONG_LONG): Remove '#if 0'.
        * acconfig.h (_GLIBCPP_USE_LONG_LONG): Add.  Default to undef.
        * acinclude.m4 (GLIBCPP_ENABLE_LONG_LONG): Define flag macro.
        * (GLIBCPP_ENABLE_LONG_LONG): Use it.

	* aclocal.m4: Regenerate.
        * Regenerate.
        * configure: Regenerate.

2000-02-15  Chip Salzenberg  <>

        Improve (complete?) 'long long' support.
        * mknumeric_limits: Call $CXX with $CPPFLAGS.  Define statics
        for {,unsigned} long long if the limits header declares them.
        * src/ Include <bits/c++config.h> early.
        (__USE_GNU, _GNU_SOURCE): Define if _GLIBC_USE_LONG_LONG.
        (long long, unsigned long long): Gen limits if _GLIBC_USE_LONG_LONG.
        * bits/locale_facets.h (num_get<>::get(..., long long &)): Define.
        (num_put<>::put(..., long long)): Likewise.
        (num_put<>::put(..., unsigned long long)): Likewise.
        * bits/locale_facets.tcc (_S_format): Rename from _S_format_long.
        Templatize last parameter to support 'long long'.
        (num_put<>::put(...)): Call _S_format with new name.
        (num_put<>::put(..., long long)): Define.
        (num_put<>::put(..., unsigned long long)): Likewise.
        * src/ (_S_format): Instantiate under new name.

2000-02-15  Petter Urkedal  <>

        * src/ (operator<<, operator>>): Moved from here...
        * src/ new file.
        (operator>>): Stub replaced by the real thing.
        * src/ (sources): Inserted
	* src/ Regenerate.
        * testsuite/26_numerics/ Check it.

2000-02-14  Benjamin Kosnik  <>

	Add in ctype information for newlib "C" libraries.
	* config/newlib: New directory
 	* config/newlib/bits/ctype_base.h: New file.
	* config/newlib/ New file.

	* ctype/config/linux/*: Rename, move to...
	* ctype/config/gnu-linux/*: Here.
	Finish off multilib work.
	* Don't set CXX if not Canadian cross.
	* configure: Regenerate.
	* acinclude.m4 (GLIBCPP_CHECK_LIBIO): Tweak messages.
	* aclocal.m4: Regenerate.
	* Regenerate.

	* install-sh: Remove, as AC_CONFIG_AUX_DIR(..) picks this out of
	the top-level gcc directory now.
	* mkinstalldirs: Remove.
	* missing: Remove
	* ltconfig: Remove.
	* Remove.
	* config.guess: Remove.
	* config.sub: Remove.
2000-02-13  Benjamin Kosnik  <>

	* (glibcpp_basedir): Add glibcpp_basedir.
	* Move mutlilib stuff to src/ 
	* Regenerate.
	* src/ Add multilib bits.
	* src/ Regenerate.
2000-02-12  Benjamin Kosnik  <>

	* Clean, add some multilib support.
	* configure: Regenerate.
	* New file.

	* acinclude.m4: GLIBCPP_CHECK_LIBIO. Take bits from and 
	roll a new function, checks for presence of libio.
	* aclocal.m4: Regenerate.
	* Regenerate.	

	* Tweaks.
	* Regenerate.
2000-02-11  Benjamin Kosnik  <>

	* Make outputing the libio/Makefile
	conditional. Haha, yeah right. Anyway, we instead do this thing
	where if libio is found, then we build a null library, as there is
	no point in duplicating the found libio.
	* Tweak.
	* Makefile: Regenerate.
	* libio/ Add _G_config.h stuff. Now cross compilers
	are happy happy happy.
	* libio/ Regenerate.
	* libio/gen-params: New file.
	* src/ Make non-conditional, as it is now a
	null library if it's not needed. At least we are being consistent,
	if not as elegant as we could be.
	* src/Makefile: Regenerate.
2000-02-10  Benjamin Kosnik  <>

	* (SUBDIRS): Add libio again.
	* Regenerate.
	(AC_OUTPUT): Generate libio/Makefile again.
	* configure: Regnerate.
	* src/ (libstdc___la_LIBADD): Change path so that is referring back to the libio subdir again.
	(LIBIO_INCLUDES): And here.
	* src/ Regenerate.
2000-02-09  Benjamin Kosnik  <>

	* math/complex-stub.h: Missed one. Change __mycabs* to cabs*.

2000-02-09  Gabriel Dos Reis  <>

	* bits/valarray_array.h (<bits/std_new.h>): #include.
	(__valarray_get_memory): New function.
	(__valarray_release_memory): Likewise.
	(__valarray_default_construct): New functions.
	(__valarray_fill_construct): New function.
	(__valarray_copy_construct): New funstions.
	(__valarray_destroy_elements): New function.

	* bits/valarray_array.tcc (__valarray_copy_construct): New

	* bits/std_valarray.h (valarray<>::valarray): Use
	__valarray_get_memory and __valarray_fill_construct,
	__valarray_copy_construct, __valarray_default_construct to
	properly construct valarrays.  
	(valarray<>::~valarray): Use __valarray_destroy_elements to
	destroy elements and __valarray_release_memory to return memory.
	(valarray<>::shift): Tweak. 
	(valarray<>::cshift): Likewise.
	(valarray<>::resize): Robustify.

2000-02-09  Benjamin Kosnik  <>

	* mknumeric_limits (XCOMPILE): Add support for cross compiling.
	* bits/limits_generic.h: New file, defaults.
	* src/ New file, defaults.	
	* (LIBS): Run mknumeric_limits at configure time.
	HAVE_LC_MESSAGES, tidy, clean, etc.
	* src/ (geberated_sources): Remove.

	* bits/fpos.h: Use _GLIBCPP_USE_LIBIO guards for libio typenames
	(_IO_off_t, _IO_ssize_t)

	* src/ Use glibc's <complex.h> if
	possible. . . apparently this was not being done before. Include
	(abs): Enable cabs if it's around, instead of mycabs.
	* src/ (FCT): Add global scope to match
	* src/ (FCT): Same.
	* math/ (EXTRA_LONG_DOUBLE_yes): Change mycabsl to cabsl.
	(libmath_la_SOURCES): And here.
	* math/(mycabs.c, mycabsf.c, mycabsl.c): Move to. . .
	* math/(cabs.c, cabsf.c, cabsl.c): . . . Here.
	* math/complex-stub.h: Move c_log declarations into. . . 
	* math/mathconf.h: Here. This is because glibc's <complex.h>
	declares cclog, not c_log. The case of the dueling standards. . .
	* math/mathconf.h: Add _GLIBCPP_HAVE_* to macros.
	* math/ Change.
	* math/nan.c (nan): Change signature.
	* math/mathconf.h (NAN): Same.
	* math/complex-stub.h (nan): And here.
	* (rebuild-stamp): Remove libio and libio
	dependencies.  Plan to take out libio subdir and just merge with
	libio in top level gcc directory. Of course, this assumes there is
	a libio in the top level directory (ie ../src_dir). This will
	probably change the way this library is configured by default.
	* libio/*: Remove.

2000-02-09  Chip Salzenberg  <>

        * localefwd.h (locale): Make public: facet, id, category.
2000-02-09  Gabriel Dos Reis  <>

	* testsuite/26_numerics/ Fix Origin:.

	* acinclude.m4: Patch only once!

2000-02-09  Gabriel Dos Reis  <>

	* testsuite/26_numerics/ New file.

2000-02-05  Petter Urkedal  <>

        * acinclude.m4: New GLIBCPP_CHECK_COMPLEX_SUPPORT macro. Based
	on the 1999-11-21 entries by Mumit Khan.
        * Use.
        * acconfig.h: New _GLIBCPP_BUGGY_COMPLEX macro.
        * bits/std_complex.h: Use.
2000-02-04  Philip Martin <>

       * stl/bits/stl_algobase.h: Add traits based dispatch for
       __normal_iterator in the copy_backward()algorithm
       * stl/bits/stl_vector.h: Reduce use of __normal_iterator
       base() function.

2000-02-04  Mumit Khan  <>
	* src/ (signal_handler): Work around signal
	handling problem on Cygwin. 
	Thanks to Chris Faylor <>.

2000-02-03  Benjamin Kosnik  <>

	* Add (preliminary) support for cross compiles and
	Remove AC_C_BIGENDIAN tests. Why is this necessary? Cross
	compilation freaks on this.
	* configure: Regenerate.
	* src/ Add support for cross compiles.
	* src/Makefile: Regenerate.
	* Add support for cross compiles.
	* Regenerate.
2000-02-02  Benjamin Kosnik  <>

	* (LIBS): Remove unused subdirs.	
	* configure: Regenerate.
	* (SUBDIRS): And here.
	* Regenerate.
	* src/ (sources): And here.
	* src/ Regenerate.
	* string/*: Remove.
	* amm1/*: Remove.
	* generic/*: Remove.
	* glibc/*: Remove.
	* (INC_PATH): Include $BUILD_DIR before any source dirs.

	* libtool: Update to libtool-1.3.4.
	* ltconfig: Same
	* Same
	* config.sub: Same.
	* config.guess: Same.

2000-02-02  Benjamin Kosnik  <>
	    Alexandre Petit-Bianco  <>    

	* mkc++config: New file. Put autoconf macros into _GLIBCPP_
	namespace instead of polluting global namespace with duplicate
	autoconf output.
	* (AC_OUTPUT): Don't need to generate bits/config.h
	here anymore. . .
	(AC_OUTPUT_COMMANDS): Make it here.
	* configure: Regenerate.
	* bits/ (_CPP_CPPCONFIG): Change. Tweak. Remove
	endif, as now we will add it manually.
	Move to this file. . .
	* bits/c++config.h: New file. Same as old except
	the ending macro guard is now appended manually.

	* bits/locale_facets.tcc: Change HAVE_* macros to _GLIBCPP_HAVE_*.
	* bits/std_cmath.h: Same here.
	* bits/std_cwchar.h: And here.
	* src/ And here.
	* src/ And here.
	* math/mathconf.h: Change to include "config.h" instead of
2000-02-01  Benjamin Kosnik  <>

	* Add support for threads. Try a model closer to
	libjava, as hopefully if the thread bits are added carefully
	enough, the source code will not have gross hacks. Besides, the
	libstdc++-v2 model could be easily emulated without the necessity
	of linking files in (as currently done)--all that needs to be done
	is AC_DEFINE(-D_PTHREADS) etc. However, let's try something
	new. . . and see if we arrive at a more elegant solution.
	* configure: Regenerated.
	* config/threads-no.h: New file. 
	* config/threads-posix.h: New file. 
	* src/ (myinstallheaders): Install c++threads.h.
	* src/ Regenerated.
2000-01-31  Benjamin Kosnik  <>

	META-QUESTION: Can we just make a "header.html" file and a
	"footer.html" and just include them in all the doc sub-pages. The
	duplication of the header info is kind of gross, and weak
	considering that if you change order or layout then all this stuff
	has to be changed in all the sub-files.

	* docs/17_intro/contribute.html: Take out duplicate file info.
	* README: Should just contain a link to the docs/index.html
	page. Duplicate information removed.
	* docs/faq/index.html: Remove indexes into HOWTOS.
	* docs/17_intro/howto.html: Make intro and docs part more
	centralized. Move intro stuff to documentation.html.
	* docs/how.html: Tweak. Does this file need to exist? What calls it?
	* docs/README.html: Move documentation files to
	documentation.html. Should this file be renamed
	"config_and_install.html" as that is what is apparently covered
	here. . .
	* docs/install.html: Yes. New file, moved and renamed README.html.
	* docs/documentation.html: New file. This is the index file for
	the documentation.
	* docs/index.html: Edit sidebar order. Insert new link to new
	documentation spine, documentation.html.

2000-01-31  Scott Snyder  <>

        * bits/istream.tcc (operator>>(istream&, string&)): Set failbit if 
        we don't extract any characters.
	* testsuite/21_strings/ (main): New tests.
2000-01-31  Anders Widell  <>

        * stl/bits/std_bitset.h (_M_do_left_shift): Handle case when shift
        step is a multiple of the word size.
        (_M_do_right_shift): Same.
	* testsuite/23_containers/ New file.
2000-01-31  Nathan Myers  <>
	* README (Documentation): Add path info, fix typos.
2000-01-26  Benjamin Kosnik  <>
	* bits/locale_facets.tcc (num_get::_M_extract): Add the freaking
	crazy group checking for numpunct, for real this time. At some
	point, the local variable __grp should probably get replaced a
	char array, or something a bit more lightweight.
	(num_get::do_get(bool)): Simplify. Don't set bool reference to
	parsed value unless err isn't failbit.
	(num_get::do_get(*)): Same, make consistent.

        Nathan Myers  <>
	Jim Parsons  <>
	* testsuite/27_io/ (test08): Add
	more grouping tests, tweak, scold, wine.
2000-01-24  Benjamin Kosnik  <>

	* testsuite/27_io/ (test07): Add
	grouping tests.
	* bits/locale_facets.tcc (num_get::_M_extract): Change to fix
	grouping bugs. Only allow thousands_sep if _M_use_groupings is

        via <>
	* stl/bits/stl_vector.h (vector::_M_range_check): Throw
	out_of_range instead of range_error.

2000-01-17  Gabriel Dos Reis  <>

	* bits/std_iomanip.h (setw): Fix typo.

2000-01-14  Benjamin Kosnik  <>

	* testsuite/27_io/ Fix.
	* bits/locale_facets.tcc (do_get(...void)): Change to strtoul.
	* testsuite/27_io/ (test04): Tweak.
2000-01-14  Phil Edwards  <>

	* docs/README.html:  Reformat, more installation instructions.
	* docs/gccrebuild.html:  New file.
	* docs/faq/index.html:  Update for new testsuite output filenames.
	* docs/faq/index.txt:  Regenerate.

2000-01-14  Phil Edwards  <>

	* (rebuild-stamp, all-local):  New targets.
	*  Regenerated.
	* acinclude.m4:  New macro, GLIBCPP_ENABLE_RELIBGCC.
	* aclocal.m4:  Regenerated.
	*  Call new macro.  Also do some sanity checks
	  for combinations of --enable's that may not make sense.
	* configure:  Regenerated.

2000-01-13  Benjamin Kosnik  <>

	* testsuite/27_io/ Add checks for void*.
	* bits/locale_facets.tcc (do_get::(...void)): Set fmtflags
	correctly for hex-formatted input.

	* testsuite/27_io/ (test01): Fix, as per setting
	eofbit instead of eofbit | failbit.
	* testsuite/27_io/ (test04): Fix, as
	ifstreams now are opened or'd with ios_base::in (as is correct).
	* bits/fstream.tcc (filebuf::seekoff): Simplify.
	* testsuite/27_io/ (test01): Fix thinko.

2000-01-12  Benjamin Kosnik  <>

	* bits/std_fstream.h: Add ios_base as a friend to basic_filebuf.
	* bits/basic_file.h (basic_file::filepos_cur): Remove incorrect
	(misleading) code.
	(__basic_file::filepos_valid): Same.
	(__basic_file::filepos_beg): Same.
	(__baseic_file::get_fileno): New function.
	* bits/ios_base.h (ios_base::sync_with_stdio): Implement, including
	feedback from LWG 49.
	* src/ Move definition here.
	* testsuite/27_io/ (test01): Add tests.
	* bits/std_sstream.h (_M_really_sync): Simplify argument list. Set
	output part of internal buffer based on string size, so that
	_M_out_end is set consistently with filebufs. Correct comments.
	* bits/sstream.tcc (stringbuf::overflow): Update here too.
	* testsuite/27_io/ Changes.
2000-01-11  Benjamin Kosnik  <>

	* bits/sstream.tcc (seekoff): Set based on end of written buffer,
	not buffer size.
	* testsuite/27_io/ Add tests for seekoff(end).

	* bits/std_fstream.h (ifstream::open): Add ios_base::in to openmode.
	(ofstream::open): Add ios_base::out to openmode.

	* bits/locale_facets.tcc (_M_extract): Have consistency between
	istream::sentry and extractors, where failbit | eofbit is
	set. Don't change this, but instead change. . (do some formatting
	* bits/istream.tcc (istream::sentry): Only set eofbit.
2000-01-10  Benjamin Kosnik  <>

	* testsuite/27_io/ New file.

2000-01-09  Benjamin Kosnik  <>

	* bits/istream.tcc (istream::sentry): Flush.

	* (AC_OUTPUT_COMMANDS): Simplify.
	* configure: Regenerate.
	* src/ (generated_headers): Remove bits/c++config.h so
	that make clean will not delete it.
	* src/Makefile: Regenerate.
2000-01-07  Phil Edwards  <>

	*  Use host-specific invocation of size(1);
	  GNU binutils isn't necessarily there (more's the pity).

2000-01-06  Benjamin Kosnik  <>

	* (LIBS): Better tests for solaris2.6.
	* configure: Regenerate.

	* bits/std_sstream.h: As per libstdc++20.

2000-01-06  Benjamin Kosnik  <>

	Break out configuration on solaris.
	* (ctype_solaris): Add in bits for solaris2.6 and 2.7.
	* config/solaris/ Delete and move to proper version.
	* config/solaris/bits: Same.
	* config/solaris/solaris2.5: Add this directory, with subdir bits
	and file Probably doesn't work.
	* config/solaris/solaris2.6: Same.
	* config/solaris/solaris2.7: Same, as per specs via Phil Edwards.
	* Change paths to mkcheck.
	* Makefile: Regenerate.
	* (AC_OUTPUT_COMMANDS): Build mkcheck here.
	* configure: Regenerate.
	* src/ (generated_headers): Add bits/c++config.h.

	* mkcheck: Now autogenerated by configure and renamed. . .
	* (INC_PATH): Add glue for ctype_include_dir.	
	Have longer-style dates.
        Raja R Harinath  <>
	* mkcheck: Change path to #!/usr/clocal/bin/bash.

	* docs/README.html: Correct links, maybe. FAQ, install notes, and
	general documentation need to be organized around each other, not
	fight against each other. . .

2000-01-04  Phil Edwards  <>
            Nicolai Josuttis <>

	* README:  Add a note referring to README.html.
	* docs/README.html:  New file from Nicolai.
	* docs/faq/index.html:  Move "how to get a copy" to here.
	* docs/gentop/footchunk.html:  Update.
	* docs/gentop/headchunk.html:  New links according to
	  bkoz's idea for "How to..." stuff.
	* docs/gentop/thanks:  Actually put people here.
	* docs/download.html:  Regenerated.
	* docs/index.html, docs/links.html, docs/mail.html,
	  docs/status.html, docs/thanks.html, docs/faq/index.txt:  Ditto.
	* docs/how.html:  Ditto.  (This file should go away soon.)

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.
999-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. Loewis  <>

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

1998-12-31  Benjamin Kosnik  <>

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

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

1998-12-31  Benjamin Kosnik  <>

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

1998-12-30  Benjamin Kosnik  <>

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

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

1998-12-21  Benjamin Kosnik  <>

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

1998-12-17  Benjamin Kosnik  <>

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

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

	* src/ Modify to reflect standard ctors for
	* src/ Ditto.

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

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

1998-12-11  Benjamin Kosnik  <>

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

1998-12-09 Benjamin Kosnik  <>

	* bits/basic_string.h: Tweak.

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

1998-12-07  Benjamin Kosnik  <>

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

	FIXME invalid friend defs. . WHERE ARE THEY??

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

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

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

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

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

1998-12-03  Benjamin Kosnik  <>

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

	* src/ (std): Disable wchar_t instantiations.

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

1998-12-02  Benjamin Kosnik  <>

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

1998-11-25  Benjamin Kosnik  <>

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

	* bits/streambuf.tcc: Tweak.

	* src/ New file, add out-of-line definitions for

	* src/ Remove _Streambuf_base instantiations.
	Comment out wchar_t versions of the buffer instantiations, for now.

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

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

1998-11-02  Nathan Myers <>

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

1998-10-31  Nathan Myers <>

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

1998-10-30  Nathan Myers  <>

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

1998-10-30  Benjamin Kosnik  <>

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

1998-10-30  Brendan Kehoe  <>

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

1998-10-30  Ryszard Kabatek  <>

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

1998-10-30  Nathan Myers <>

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

1998-10-29  Ulrich Drepper  <>

	* src/string[A-Z] Include, not

	* src/ (CXXFLAGS): Define _GNU_SOURCE.

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

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

1998-10-29  Brendan Kehoe  <>

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

1998-10-29 18:41  Ulrich Drepper  <>

	* src/ Add rules to install headers.

1998-10-29  Nathan Myers <>

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

1998-10-29  Brendan Kehoe  <>

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

1998-10-29  Ulrich Drepper  <>

	* src/ Add temporarily rules to make sure
	is not compiled with -fno-implicit-templates in effect.

	* src/ (EXTRA_SOURCES): Add and here.
	(libstdc___la_SOURCES): Add all the string*.cc and wstring*.cc files.
	* src/ Wrapper around to define individual
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Wrapper around to define individual
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Likewise.
	* src/ Remove now unneeded #defines now.

1998-10-29 Nathan Myers <>

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

1998-10-28  Brendan Kehoe  <>

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

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

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

1998-10-28 Nathan Myers <>

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

1998-10-27 Nathan Myers <>

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

1998-10-27 Nathan Myers <>

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

1998-10-26 Nathan Myers <>

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

1998-10-26  Benjamin Kosnik  <>

	* src/ (libstdc___la_SOURCES): Add again.

1998-10-21 Nathan Myers <>

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

1998-10-20 Nathan Myers <>

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

1998-10-19 Nathan Myers <>

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

1998-10-16  Ulrich Drepper  <>

	* string/ Revert last change.
	* math/ Likewise.

1998-10-15  Benjamin Kosnik  <>

	* bits/std_sstream.h: Fix typo.

1998-10-15  Benjamin Kosnik  <>

	* src/ (libstdc___la_SOURCES): Add

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

1998-10-15  Benjamin Kosnik  <>

	* src/ Tweak again.

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

1998-10-15  Ulrich Drepper  <>

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

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

1998-10-15  Ulrich Drepper  <>

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

1998-10-15  Ulrich Drepper  <>

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

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

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

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

1998-10-09  Benjamin Kosnik  <>

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

1998-10-09  Benjamin Kosnik  <>

	* bits/std_stdexcept.h: New file.
	* src/ Define the following:

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

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

1998-10-8  Ulrich Drepper  <>

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

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

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

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

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

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

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

1998-10-06  Benjamin Kosnik  <>

	* bits/basic_ios.h: Fix previous change.

1998-10-06  Benjamin Kosnik  <>

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

1998-10-02  Benjamin Kosnik  <>

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

1998-10-01  Benjamin Kosnik  <>

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

1998-09-04  Brendan Kehoe  <>

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

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

	* stl/bits/std_limits.h [__STL_LONG_LONG]: Fix usage to use

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

1998-09-03  Brendan Kehoe  <>

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

	* stl/bits/stl_config.h: Define __STL_HAS_WCHAR_T,
	_G_config.h like the egcs one does.

1998-09-01  Brendan Kehoe  <>

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

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

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

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

	* src/ New file, **TOTAL HACK**.  There has GOT to
	be a better way to do this.

	* src/ New file.

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

	*, math/, string/,
	src/ Reran automake.

	Workarounds, these may not all be the final fixes:

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

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

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

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

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

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

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

	* src/ (libstdc___la_SOURCES): Add,,,,,,,,,

	* src/ Instantiate basic_ios<char> and basic_ios<wchar_t>.

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

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

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

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

1998-08-26  Brendan Kehoe  <>

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

1998-08-25  Brendan Kehoe  <>

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

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

1998-08-19  Brendan Kehoe  <>

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

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

1998-08-18 Nathan Myers <>

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

1998-08-18  Brendan Kehoe  <>

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

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

1998-08-15 Nathan Myers <>

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

1998-08-14 Nathan Myers <>

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

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

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

1998-07-17 Nathan Myers <>

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

1998-07-14 16:06  Ulrich Drepper  <>

	* (SUBDIRS): Add string.

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

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

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

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

	* m4/stringfcts.m4: New file.

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

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

	* src/ (libstdc___la_LIBADD): Add
	(libstdc___la_LDFLAGS): Set version information.

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

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

1998-07-14 10:45  Ulrich Drepper  <>

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

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

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

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

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

	* math/mathconf.h: New file.

	* src/ New file.

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

1998-02-13  Brendan Kehoe  <>

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