+2003-07-01 Benjamin Kosnik <bkoz@redhat.com>
+
+ * acinclude.m4 (GLIBCPP_ENABLE_PCH): Fix obvious error.
+ * aclocal.m4: Regenerated.
+ * configure: Regenerated.
+
+2003-07-01 Paolo Carlini <pcarlini@unitus.it>
+
+ PR libstdc++/11389
+ * include/bits/fstream.tcc (underflow): For encoding() == 0
+ don't read more than __buflen chars.
+ * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc: New.
+ * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc: New.
+ * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc: New.
+ * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc: New.
+
+2003-07-01 Jerry Quinn <jlquinn@optonline.net>
+
+ * 22_locale/num_put/put/char/7.cc: New.
+ * 22_locale/num_put/put/wchar_t/7.cc: New.
+
+2003-06-30 Jerry Quinn <jlquinn@optonline.net>
+
+ * src/locale.cc (__use_cache<numpunct>): Revert previous relocation.
+ * include/bits/locale_facets.tcc (__use_cache<numpunct>): Ditto.
+
+2003-06-30 Benjamin Kosnik <bkoz@redhat.com>
+
+ * 27_io/basic_filebuf/seekoff/char/1-in.cc: New.
+ * 27_io/basic_filebuf/seekoff/char/1-io.cc: New.
+ * 27_io/basic_filebuf/seekoff/char/1-out.cc: New.
+ * 27_io/basic_filebuf/seekoff/char/2-in.cc: New.
+ * 27_io/basic_filebuf/seekoff/char/2-io.cc: New.
+ * 27_io/basic_filebuf/seekoff/char/2-out.cc: New.
+ * 27_io/basic_filebuf/seekoff/char/2.cc: Remove.
+ * 27_io/basic_filebuf/seekoff/char/3-in.cc: New.
+ * 27_io/basic_filebuf/seekoff/char/3-io.cc: Change.
+ * 27_io/basic_filebuf/seekoff/char/3-out.cc: New.
+ * 27_io/basic_filebuf/seekoff/char/4-io.cc: Remove.
+ * 27_io/basic_filebuf/seekpos/char/1-in.cc: New.
+ * 27_io/basic_filebuf/seekpos/char/1-io.cc: New.
+ * 27_io/basic_filebuf/seekpos/char/1-out.cc: New.
+ * 27_io/basic_filebuf/seekpos/char/2-in.cc: New.
+ * 27_io/basic_filebuf/seekpos/char/2-io.cc: New.
+ * 27_io/basic_filebuf/seekpos/char/2-out.cc: New.
+ * 27_io/basic_filebuf/seekpos/char/2.cc: Change.
+ * 27_io/basic_filebuf/seekpos/char/3-in.cc: New.
+ * 27_io/basic_filebuf/seekpos/char/3-io.cc: Remove.
+ * 27_io/basic_filebuf/seekpos/char/3-out.cc: New.
+ * 27_io/basic_filebuf/seekpos/char/4-io.cc: Remove.
+ * data/seekoff-1.tst: Remove.
+ * data/seekoff-1io.tst: New.
+ * data/seekoff-1out.tst: New.
+ * data/seekoff-2.tst: Remove.
+ * data/seekoff-2io.tst: New.
+ * data/seekoff-2out.tst: New.
+ * data/seekoff.txt
+ * data/seekpos-1.tst: Remove.
+ * data/seekpos-1io.tst: New.
+ * data/seekpos-1out.tst: New.
+ * data/seekpos-2.tst: Remove.
+ * data/seekpos-2io.tst: New.
+ * data/seekpos-2out.tst: New.
+ * data/seekpos.txt: New.
+
+2003-06-30 Jerry Quinn <jlquinn@optonline.net>
+
+ * src/locale.cc (__use_cache<numpunct>): Move from here ...
+ * include/bits/locale_facets.tcc (__use_cache<numpunct>): To
+ here.
+
+2003-06-30 Paolo Carlini <pcarlini@unitus.it>
+
+ * include/bits/stl_algobase.h: Fully qualify standard
+ functions with std::, thus avoiding Koenig lookup.
+
+2003-06-30 Doug Gregor <dgregor@apple.com>
+
+ * include/bits/locale_facets.tcc (money_get::do_get): Avoid
+ subscripting empty string.
+
+2003-06-30 Phil Edwards <pme@gcc.gnu.org>
+
+ * testsuite/Makefile.am (check-am): Do not override.
+ (baseline_symbols): Declare as PHONY, so no need to 'touch' it.
+ * testsuite/Makefile.in: Regenerate.
+
+2003-06-30 Doug Gregor <dgregor@apple.com>
+
+ * testsuite/24_iterators/insert_iterator.cc (test01, test02):
+ Don't initialize an insert_iterator with a singular iterator.
+
+2003-06-30 Benjamin Kosnik <bkoz@redhat.com>
+
+ * acinclude.m4 (GLIBCPP_ENABLE_PCH): Add bits for --enable-pch.
+ * aclocal.m4: Regenerate.
+ * configure.in (GLIBCPP_CHECK_PCH): Move, change to
+ GLIBCPP_ENABLE_PCH, default to yes.
+ * configure: Regenerate.
+ * docs/html/configopts.html: Add --enable-pch.
+
+2003-06-30 Phil Edwards <pme@gcc.gnu.org>
+
+ * testsuite/lib/libstdc++-v3-dg.exp: Add comments.
+ (libstdc++-v3-init): Also set LD_RUN_PATH.
+
+2003-06-30 Paolo Carlini <pcarlini@unitus.it>
+
+ * include/std/std_streambuf.h (_M_mode): Unused by streambuf, move
+ from here to filebuf and stringbuf.
+ (~basic_streambuf()): Don't set _M_mode.
+ (basic_streambuf()): Don't set _M_mode.
+ * include/std/std_fstream.h (_M_mode): Move here, from streambuf.
+ (~basic_filebuf()): Clean up.
+ * include/bits/fstream.tcc (basic_filebuf()): Set _M_mode.
+ * include/std/std_sstream.h (_M_mode): Move here, from streambuf.
+ * testsuite/27_io/basic_streambuf/cons/char/1.cc: Don't set _M_mode.
+ * testsuite/27_io/basic_streambuf/overflow/char/1.cc: Likewise.
+ * testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise.
+ * testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Likewise.
+ * testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise.
+
+2003-06-30 Paolo Carlini <pcarlini@unitus.it>
+
+ * include/std/std_fstream.h (_M_underflow): Remove.
+ (uflow): Remove, inherited from streambuf.
+ (underflow): Only declare.
+ * include/bits/fstream.tcc (_M_underflow): Rename to
+ underflow, to which is equivalent for __bump == false,
+ simplify.
+ * include/std/std_sstream.h (_M_underflow): Remove.
+ (uflow): Remove, inherited from streambuf.
+ (underflow): Only declare.
+ * include/bits/sstream.tcc (_M_underflow): Rename to
+ underflow, to which is equivalent for __bump == false,
+ simplify.
+
+2003-06-29 Paolo Carlini <pcarlini@unitus.it>
+
+ * include/bits/stl_algo.h: Fully qualify standard functions
+ with std::, thus avoiding Koenig lookup.
+
+2003-06-29 Paolo Carlini <pcarlini@unitus.it>
+
+ * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc:
+ Improve type correctness-wise.
+ * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc:
+ Likewise.
+ * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc:
+ Likewise.
+ * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc:
+ Likewise.
+
+2003-06-29 Paolo Carlini <pcarlini@unitus.it>
+
+ * include/std/std_streambuf.h (uflow): According to
+ 27.5.2.4.3,p16, don't check gptr() < egptr().
+
+2003-06-28 Paolo Carlini <pcarlini@unitus.it>
+
+ PR libstdc++/9875
+ * include/bits/fstream.tcc (seekoff): Fix for encoding() > 0.
+ (seekpos): Likewise.
+ * testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc:
+ New test.
+ * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc:
+ New test.
+
+2003-06-27 Benjamin Kosnik <bkoz@redhat.com>
+
+ * testsuite/testsuite_performance.h (__gnu_cxx_test): Change
+ output name to libstdc++-v3-performance.sum.
+ * testsuite/Makefile.am (CLEANFILES): Remove .performance.
+ * testsuite/Makefile.in: Regenerate.
+
+2003-06-27 Matthias Klose <doko@debian.org>
+
+ * testsuite/Makefile.am (check-abi, check-abi-verbose): Save
+ output of abi-check in libstdc++-v3-abi.sum.
+ * testsuite/Makefile.in: Regenerate.
+
+2003-06-27 Krister Walfridsson <cato@df.lth.se>
+
+ * config/os/bsd/netbsd/ctype_noninline.h
+ (_C_ctype_): Declare.
+ (ctype<char>::classic_table): Return _C_ctype_ + 1.
+ (ctype<char>::ctype): Use classic_table.
+
+2003-06-27 Paolo Carlini <pcarlini@unitus.it>
+ Nathan C. Myers <ncm-nospam@cantrip.org>
+
+ PR libstdc++/9178
+ * include/bits/fstream.tcc (_M_underflow): Properly estimate
+ the worst-case number of external bytes for a given get area.
+ * testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: New.
+
+2003-06-27 Paolo Carlini <pcarlini@unitus.it>
+ Petur Runolfsson <peturr02@ru.is>
+
+ PR libstdc++/11305
+ * include/bits/fstream.tcc (overflow): Properly estimate the
+ worst-case number of external bytes for a given put area
+ (by using codecvt::max_length()).
+ * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1: New.
+ * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2: New.
+ * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3: New.
+ * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4: New.
+
+2003-06-27 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/linker-map.gnu: Remove ; after __numpunct_cache.
+
+2003-06-26 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/bits/ios_base.h (ios_base::_M_getloc): Return reference
+ to the imbued locale.
+ * include/bits/locale_facets.tcc (num_put::_M_convert_int): Use
+ _M_getloc.
+ (num_put::_M_convert_float): Use.
+
+2003-06-26 Benjamin Kosnik <bkoz@redhat.com>
+ Jerry Quinn <jlquinn@optonline.net>
+
+ * config/linker-map.gnu: Add __numpunct_cache.
+ * config/locale/gnu/numeric_members.cc
+ (numpunct::_M_initialize_numpunct): Account for _M_data, fill in
+ all elements for "C" locale.
+ (numpunct::~numpunct): Delete _M_data.
+ * config/locale/generic/numeric_members.cc: Same.
+ * include/bits/basic_ios.tcc
+ (basic_ios::init): Remove __locale_cache bits.
+ (basic_ios::_M_cache_locale): Same.
+ * include/bits/ios_base.h: Same. Tweaks.
+ * include/bits/locale_classes.h: Tweaks. Reorder classes.
+ (__use_cache): Make friends with _Impl, locale.
+ (_Impl::_M_caches): Add.
+ (_Impl::_M_install_cache): Add.
+ * include/bits/locale_facets.h (__numpunct_cache): New.
+ (numpunct): Encapsulate data members in __numpunct_cache member,
+ _M_data. Adjust virtuals.
+ (numpunct::numpunct): New ctor for the same.
+ (__locale_cache_base): Remove.
+ (__locale_cache): Remove.
+ * include/bits/locale_facets.tcc (__use_cache): New function,
+ specializations.
+ (num_put::_M_convert_int, _M_convert_float, do_put): Use it.
+ * src/globals.cc: Add cache_vec, numpunct_cache_c, numpunct_cache_w.
+ * src/ios.cc (ios_base::ios_base): Remove __locale_cache.
+ * src/locale-inst.cc: Same. Add __numpunct_cache.
+ * src/locale.cc: Tweak inlines.
+ (__use_cache): Define specializations.
+ * src/localename.cc: Use global bits.
+ (_Impl::~Impl): Deal with __numpunct_cache destruction.
+ (_Impl::_Impl): Same. Pre-cache standard numpunct facets.
+ (_Impl::_M_init_facet): Take into account __numpunct_cache.
+ * testsuite/27_io/ios_base/cons/assign_neg.cc: Update line numbers.
+ * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
+
+2003-06-26 Nathan C. Myers <ncm-nospam@cantrip.org>
+ Paolo Carlini <pcarlini@unitus.it>
+
+ * testsuite/performance/filebuf_copy.cc: New, testing char
+ by char file copy.
+
+2003-06-26 Paolo Carlini <pcarlini@unitus.it>
+ Nathan C. Myers <ncm-nospam@cantrip.org>
+
+ * include/bits/fstream.tcc (_M_underflow): When the actual
+ end of file is reached, set 'uncommitted' mode to allow a
+ next write without an intervening seek (see C++98 27.8.1.1,2
+ and C89 7.9.5.3).
+ * testsuite/27_io/basic_filebuf/underflow/char/2.cc: New.
+
+2003-06-25 Nathan C. Myers <ncm-nospam@cantrip.org>
+
+ * include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc,
+ sputc): Move inline, from here...
+ * include/std/std_streambuf.h: ... to here.
+
+ * include/std/std_streambuf.h (snextc, sbumpc, sgetc,
+ sputbackc, sungetc, sputc): Use __builtin_expect.
+
+2003-06-24 Phil Edwards <pme@gcc.gnu.org>
+
+ * docs/doxygen/mainpage.html: Use a useful title.
+
+2003-06-24 Benjamin Kosnik <bkoz@redhat.com>
+
+ * docs/html/documentation.html: Remove assignment info.
+ * docs/html/17_intro/contribute.html: Edits.
+ * docs/html/17_intro/libstdc++-assign.tx: Remove.
+
+ * docs/html/test.html: Update.
+
+ * README: Update.
+
+2003-06-24 Benjamin Kosnik <bkoz@redhat.com>
+ Ulrich Drepper <drepper@redhat.com>
+
+ * testsuite/testsuite_performance.h: Tweak mallinfo.
+
+2003-06-24 Paolo Carlini <pcarlini@unitus.it>
+ Nathan C. Myers <ncm-nospam@cantrip.org>
+
+ * include/std/std_fstream.h (_M_filepos): Remove.
+ (_M_reading, _M_writing): New, encode the various I/O modes:
+ 'read', 'write' and 'uncommitted'.
+ (sync): If there is something to flush, do it, then go to
+ 'uncommitted' mode.
+ * include/bits/fstream.tcc (_M_set_buffer): Overhaul to deal
+ with three different cases: __off > 0 (upon underflow),
+ __off == 0 (upon overflow), __off == -1 (upon open, setbuf,
+ seekoff/pos).
+ (_M_underflow): Don't call overflow, set _M_reading to true
+ on success, tweak.
+ (pbackfail): Set _M_reading to true on pback creation, tweak.
+ (overflow): Don't seek, deal with overflow in 'uncommitted' mode,
+ set _M_writing to true on success, tweak.
+ (seekoff): Simplify, set _M_reading, _M_writing to false, call
+ _M_set_buffer(-1) ('uncommitted').
+ (open, close, setbuf): Set _M_reading, _M_writing to false and
+ call _M_set_buffer(-1), tweak.
+ (basic_filebuf): Don't set _M_buf_unified.
+ (_M_destroy_internal_buffer): Don't call setg and setp.
+ * include/ext/stdio_filebuf.h (stdio_filebuf): Use _M_reading,
+ _M_writing and _M_set_buffer(-1).
+ * include/std/std_streambuf.h (_M_move_out_cur, _M_move_in_cur,
+ _M_out_lim, _M_buf_unified): Remove.
+ (basic_streambuf): Don't set _M_out_lim and _M_buf_unified.
+ (setp): Don't set _M_out_lim.
+ * testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Fix for
+ the new logic ('read', 'write' and 'uncommitted' modes): e.g.,
+ upon open the mode is 'uncommitted' and therefore the put area
+ pointers are null.
+ * testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: Ditto.
+ * testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Ditto.
+ * testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Ditto.
+ * testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Ditto.
+ * testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Ditto.
+ * testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Ditto.
+ * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Ditto.
+ * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: Ditto.
+ * testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Ditto.
+ * testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: Ditto.
+ * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Ditto.
+ * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: Ditto.
+ * testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Ditto.
+ * testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Ditto.
+ * testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc: Ditto.
+ * testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Ditto.
+ * testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Ditto.
+ * testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc: Ditto.
+ * testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Ditto.
+ * testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: Ditto.
+
+ * include/bits/fstream.tcc (showmanyc): Use only the
+ documented derivation interface to basic_streambuf (gptr(),
+ setg(), etc.) to work right with user specializations.
+ * include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc,
+ sputc, xsgetn, xsputn, __copy_streambufs): Likewise.
+ * include/std/std_streambuf.h (in_avail, sgetc, uflow, stossc):
+ Likewise.
+ * include/std/std_fstream.h (_M_create_pback, _M_destroy_pback,
+ xsgetn): Likewise.
+
+2003-06-23 Loren J. Rittle <ljrittle@acm.org>
+
+ * configure.host (freebsd*): Set abi_baseline_pair.
+ * config/abi/i386-freebsd4/baseline_symbols.txt: Update from 3.2
+ (at or near first release) to 3.3.
+ * config/abi/i386-freebsd5/baseline_symbols.txt: New file.
+ * config/abi/alpha-freebsd5/baseline_symbols.txt: New file.
+ * config/abi/sparc-freebsd5/baseline_symbols.txt: New file.
+
+ * include/ext/mt_allocator.h: Portability.
+ * testsuite/testsuite_performance.h: Likewise.
+
+2003-06-23 Benjamin Kosnik <bkoz@redhat.com>
+
+ * docs/html/17_intro/libstdc++-assign.txt: Update address.
+
+ * testsuite/performance/ifstream_getline.cc: Fix.
+
+2003-06-23 Doug Gregor <dgregor@apple.com>
+
+ * include/bits/boost_concept_check.h: Don't use _D or _R for type
+ names.
+
+2003-06-22 Paolo Carlini <pcarlini@unitus.it>
+ Nathan C. Myers <ncm-nospam@cantrip.org>
+
+ * include/std/std_streambuf.h (_M_move_out_cur): _M_out_lim
+ is now used only for filebuf, when _M_buf_unified is true.
+ epgtr() plays the role of _M_out_lim but it's only updated
+ upon overflow, underflow, uflow, seekoff/pos.
+ * include/bits/sstream.tcc (_M_underflow): New, implements
+ stringbuf::underflow and uflow.
+ (seekoff, seekpos): Tweak, use _M_update_egptr.
+ * include/std/std_sstream.h (str): Rewrote, deal correctly
+ with the new logic, in particular, when pptr() > egptr().
+ (_M_sync): When __testout && !__testin set all the get area
+ pointers to the current string end.
+ (_M_update_egptr): New, internal function updating egptr()
+ to the actual string end.
+ (_M_underflow): New, declare.
+ (underflow): Dispatch to _M_underflow(false).
+ (uflow): Dispatch to _M_underflow(true).
+
+ * include/bits/sstream.tcc (pbackfail, overflow, seekoff,
+ seekpos): Use only the documented derivation interface to
+ basic_streambuf (gptr(), setg(), etc.) to work right with
+ user specializations.
+ * include/std/std_sstream.h (str, _M_sync): Likewise.
+
+2003-06-20 Doug Gregor <dgregor@apple.com>
+
+ * testsuite/20_util/auto_ptr.cc: Don't dereference NULL auto_ptr
+ * testsuite/21_strings/basic_string/replace/char/4.cc: Don't
+ dereference end iterator.
+ * testsuite/21_strings/basic_string/replace/wchar_t/4.cc: Same.
+ * testsuite/22_locale/ctype/narrow/char/1.cc: Don't subscript with
+ index equal to the length of a string.
+ * testsuite/22_locale/ctype/narrow/char/2.cc: Same.
+ * testsuite/22_locale/ctype/narrow/wchar_t/1.cc: Same.
+ * testsuite/22_locale/ctype/narrow/wchar_t/2.cc: Same.
+ * testsuite/22_locale/ctype/widen/char/1.cc: Same.
+ * testsuite/22_locale/ctype/widen/wchar_t/1.cc: Same.
+ * testsuite/23_containers/list_modifiers.cc: Don't dereference
+ singular reverse iterator.
+ * testsuite/23_containers/vector_bool.cc: Don't increment singular
+ iterator.
+ * testsuite/24_iterators/rel_ops.cc: Don't compare singular iterator.
+
2003-06-20 Doug Gregor <dgregor@apple.com>
* include/bits/basic_string.h (basic_string::replace): Dispatch