OSDN Git Service

* g++.dg/parse/typedef1.C: Tweak after fix for PR 10428.
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
index 03b3077..f0474b5 100644 (file)
@@ -1,3 +1,444 @@
+2003-04-23  Phil Edwards  <pme@gcc.gnu.org>
+
+       * docs/html/ext/howto.html ('LWG Issues'):  Add issue 60, partial
+       implementation only.
+       * include/bits/istream.tcc (putback, unget, sync, tellg, seekg):
+       Comment and change to comply with DR 60 and the effect on gcount().
+       * include/std/std_istream.h:  Update comments.
+       * testsuite/27_io/basic_istream/putback/char/1.cc (test01):  Add
+       comments about reasons for tests.  Test sync() against gcount().
+       * testsuite/27_io/basic_istream/seekg/char/2.cc:  New file, test
+       for effect on gcount().
+       * testsuite/27_io/basic_istream/tellg/char/2.cc:  New file, test
+       for effect on gcount().
+
+2003-04-22  Loren J. Rittle  <ljrittle@acm.org>
+
+       * testsuite/27_io/basic_filebuf/close/char/9964.cc (test_07):
+       Adjust timing.
+
+2003-04-22  Paolo Carlini  <pcarlini@unitus.it>
+
+       * include/std/std_streambuf.h (_S_pback_size, _M_pback,
+       _M_pback_cur_save, _M_pback_end_save, _M_pback_init,
+       _M_pback_create(), _M_pback_destroy()): Move to basic_filebuf.
+       (basic_streambuf::basic_streambuf()): Adjust.
+       * include/std/std_fstream.h (_S_pback_size, _M_pback,
+       _M_pback_cur_save, _M_pback_end_save, _M_pback_init,
+       _M_pback_create(), _M_pback_destroy()): Moved here
+       from basic_streambuf.
+       * include/bits/fstream.tcc (basic_filebuf::basic_filebuf()):
+       Adjust.
+       (basic_filebuf::_S_pback_size): Add declaration.
+       * include/bits/streambuf.tcc (basic_streambuf::_S_pback_size):
+       Remove declaration.
+
+2003-04-21  Paolo Carlini  <pcarlini@unitus.it>
+
+       Consistently use _M_in_beg instead of eback(), _M_in_cur
+       instead of gptr(), and so on.
+       * include/bits/fstream.tcc (pbackfail, imbue): Here.
+       * include/bits/sstream.tcc (pbackfail, seekoff, seekpos): Ditto.
+       * include/bits/streambuf.tcc (sbumpc, sputbackc,
+       __copy_streambufs): Ditto.
+       * include/std/std_streambuf.h (sgetc): Ditto.
+
+2003-04-21  Paolo Carlini  <pcarlini@unitus.it>
+
+       * include/bits/sstream.tcc (pbackfail, overflow):
+       Formatting fixes.
+
+2003-04-21  Paolo Carlini  <pcarlini@unitus.it>
+
+       * include/std/std_streambuf.h (uflow()): It's used only by
+       basic_stringbuf (i.e., basic_filebuf provide its own uflow()),
+       therefore do not consider the _M_buf_unified == true case.
+
+       * include/std/std_streambuf.h (sgetc()): Restore __ret variable.
+
+2003-04-20  Paolo Carlini  <pcarlini@unitus.it>
+
+       * docs/html/ext/howto.html ('LWG Issues'):
+       Add issues 19, 90, 171, 231, 271.
+
+2003-04-20  Paolo Carlini  <pcarlini@unitus.it>
+
+       * include/bits/sstream.tcc (pbackfail): Remove redundant
+       NULL pointer check from test involving _M_in_*.
+       (overflow, seekoff, seekpos): Const qualify bool variables.
+       * include/std/std_sstream.h (underflow): Remove redundant
+       NULL pointer check from test involving _M_in_*.
+       (_M_really_sync): Const qualify bool variables.
+       * src/fstream.cc (_M_underflow_common): Remove redundant
+       NULL pointer check from test involving _M_in_*, const qualify
+       bool variables.
+
+       * include/std/std_streambuf.h (sgetc): Remove redundant
+       variable.
+
+2003-04-18  Paolo Carlini  <pcarlini@unitus.it>
+
+       According to 5.9 para 2 (second bullet) for pointers p, q
+       pointing to the same type, with  p == 0 and q == 0, (p < q)
+       is false.
+       * include/bits/fstream.tcc (close, overflow, _M_really_overflow,
+       seekoff): Remove redundant NULL pointer checks from tests
+       involving _M_out_* and _M_in_*, const qualify bool variables.
+       (showmanyc, pbackfail, _M_convert_to_external, imbue): Const
+       qualify bool variables.
+       * include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc, sputc):
+       Remove redundant NULL pointer checks from tests involving
+       _M_out_* and _M_in_*, const qualify bool variables.
+       * include/std/std_fstream.h (sync): Likewise.
+       (_M_is_indeterminate): Const qualify bool variables.
+       * include/std/std_streambuf.h (sgetc, uflow): Remove redundant
+       NULL pointer checks from tests involving _M_out_* and _M_in_*,
+       const qualify bool variables.
+       (_M_in_cur_move, _M_out_cur_move, uflow): Const qualify bool
+       variables.
+
+2003-04-18  Loren J. Rittle  <ljrittle@acm.org>
+
+       * include/c_std/std_cmath.h (C99 FP capture): Only undefine said
+       C99 FP macros, if actually captured.
+
+       * docs/html/17_intro/porting.texi (_GLIBCPP_USE_C99_CHECK): New macro.
+       (_GLIBCPP_USE_C99_DYNAMIC): New macro.
+       (_GLIBCPP_USE_C99_LONG_LONG_CHECK): New macro.
+       (_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC): New macro.
+       * config/os/bsd/freebsd/os_defines.h (_GLIBCPP_USE_C99_CHECK):
+       New macro.
+       (_GLIBCPP_USE_C99_DYNAMIC): New macro.
+       (_GLIBCPP_USE_C99_LONG_LONG_CHECK): New macro.
+       (_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC): New macro.
+       * include/c_std/std_cstdlib.h: Use new macros.
+       * include/c_std/std_cstdio.h: Use new macros.
+       * include/c_std/std_cwchar.h: Use new macros.
+
+2003-04-17  Benjamin Kosnik  <bkoz@redhat.com>
+
+       PR libstdc++/9555
+       * include/bits/ostream.tcc: Catch all exceptions for formatted
+       output, instead of std::exception and derivatives.
+       * include/bits/istream.tcc: Same.
+       * testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc:
+       * testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc:
+       * testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc:
+       * testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc:
+       * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
+       * testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc:
+       New.
+
+2003-04-17  Phil Edwards  <pme@gcc.gnu.org>
+
+       * include/bits/c++config:  Minor cosmetic tweaks.
+
+2003-04-17  Loren J. Rittle  <ljrittle@acm.org>
+
+       * testsuite_flags.in (PCHFLAGS): Find PCH in new home.
+       * include/Makefile.am (pch_input): Find in ${target_builddir}.
+       (pch_output): Rename to...
+       (pch_output_builddir): ..this.  Find in ${target_builddir}.
+       (pch_source): Tweak.
+       (pch_build): Key off a built file.
+       (pch_output rule): Rename to...
+       (pch_input rule): ...this.  Produce ${pch_output_builddir}
+       instead of ${pch_output}.
+       (install-pch rule): Install ${pch_output_builddir}.
+       * include/Makefile.in: Regenerated.
+
+2003-04-17  Paolo Carlini  <pcarlini@unitus.it>
+
+       * include/std/std_streambuf.h (setp): _M_out_lim, being
+       the end limit of used put area, is set equal to _M_out_beg.
+
+2003-04-16  Benjamin Kosnik  <bkoz@redhat.com>
+
+       * acinclude.m4 (GLIBCPP_CHECK_PCH): New.
+       * aclocal.m4: Regenerated.
+       * configure.in: Remove old demangler bits.
+       Call pch checks.
+       * configure: Regenerate.
+       * config.h.in: Regenerate.
+       * include/Makefile.am (allstamps): Now allstamped.
+       (allcreated): Define this.
+       (all-local): Use 'em.
+       Conditionally define pch_build, pch_install based on
+       GLIBCPP_BUILD_PCH.
+       (${pch_output}): New rule.
+       (install-pch): New rule.
+       (install-headers): New rule.
+       (install-data-local): Install headers and conditionally pch.
+        * include/Makefile.in: Regenerate.
+        * testsuite_flags.in (--build-cxx): Use pch file.
+
+2003-04-16  Jonathan Wakely  <redi@gcc.gnu.org>
+
+       * docs/html/ext/sgiexts.html: Fix path to stylesheet.
+
+2003-04-15  Benjamin Kosnik  <bkoz at redhat dot com>
+           Paolo Carlini  <pcarlini at unitus dot it>
+
+       PR libstdc++/9423
+       * docs/html/27_io/howto.html
+       ('The buffering is screwing up my program!'): Explain that
+       opening counts as an I/O operation.
+
+2003-04-15  Andreas Tobler  <a.tobler@schweiz.ch>
+
+       * testsuite/thread/pthread1.cc: Enable for darwin test.
+       * testsuite/thread/pthread2.cc: Same.
+       * testsuite/thread/pthread3.cc: Same.
+       * testsuite/thread/pthread4.cc: Same.
+       * testsuite/thread/pthread5.cc: Same.
+       * testsuite/thread/pthread6.cc: Same.
+2003-04-15  Loren J. Rittle  <ljrittle@acm.org>
+
+       libstdc++/7680
+       * include/c_std/std_cmath.h (__gnu_cx::__c99_binding): New namespace.
+       Populate it with multiple legal ways to obtain the C99 float
+       transcendentals.  Use them instead of direct global reference.
+       (C99 FP capture): Guard usage with _GLIBCPP_USE_C99_FP_MACROS_DYNAMIC.
+       * docs/html/17_intro/porting.texi
+       (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK): New macro.
+       (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): New macro.
+       (_GLIBCPP_USE_C99_FP_MACROS_DYNAMIC): New macro.
+       * config/os/bsd/freebsd/os_defines.h
+       (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK): New macro.
+       (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): New macro.
+       * testsuite/26_numerics/c_math_dynamic.cc: New file.
+
+2003-04-14  Andreas Tobler  <toa@pop.agri.ch>
+           Benjamin Kosnik  <bkoz@redhat.com>
+
+       * config/os/generic/ctype_inline.h: Fix.
+       
+2003-04-14  Benjamin Kosnik  <bkoz@redhat.com>
+       
+       * testsuite/testsuite_hooks.h
+       (__gnu_cxx_test::run_test_wrapped_generic_locale_exception_catcher):
+       Change to try_named_locale.
+       * testsuite/testsuite_hooks.cc (__gnu_cxx_test): Same.
+
+       * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Use
+       try_named_locale.
+       * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Same.
+       * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Same.
+       * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Same.
+       * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Same.
+       * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: Same.
+       * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Same.
+       * testsuite/22_locale/codecvt/in/wchar_t/3.cc: Same.
+       * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Same.
+       * testsuite/22_locale/codecvt/in/wchar_t/7.cc: Same.
+       * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Same.
+       * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Same.
+       * testsuite/22_locale/codecvt/length/wchar_t/2.cc: Same.
+       * testsuite/22_locale/codecvt/length/wchar_t/3.cc: Same.
+       * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Same.
+       * testsuite/22_locale/codecvt/length/wchar_t/7.cc: Same.
+       * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Same.
+       * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Same.
+       * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Same.
+       * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Same.
+       * testsuite/22_locale/codecvt/out/wchar_t/3.cc: Same.
+       * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Same.
+       * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Same.
+       * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Same.
+       * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Same.
+       * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Same.
+       * testsuite/22_locale/collate/compare/char/1.cc: Same.
+       * testsuite/22_locale/collate/compare/char/2.cc: Same.
+       * testsuite/22_locale/collate/compare/char/3.cc: Same.
+       * testsuite/22_locale/collate/compare/wchar_t/1.cc: Same.
+       * testsuite/22_locale/collate/compare/wchar_t/2.cc: Same.
+       * testsuite/22_locale/collate/compare/wchar_t/3.cc: Same.
+       * testsuite/22_locale/collate/hash/char/2.cc: Same.
+       * testsuite/22_locale/collate/hash/wchar_t/2.cc: Same.
+       * testsuite/22_locale/collate/transform/char/2.cc: Same.
+       * testsuite/22_locale/collate/transform/char/3.cc: Same.
+       * testsuite/22_locale/collate/transform/wchar_t/2.cc: Same.
+       * testsuite/22_locale/collate/transform/wchar_t/3.cc: Same.
+       * testsuite/22_locale/collate_byname/1.cc: Same.
+       * testsuite/22_locale/ctype/is/char/2.cc: Same.
+       * testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
+       * testsuite/22_locale/ctype/narrow/wchar_t/3.cc: Same.
+       * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Same.
+       * testsuite/22_locale/ctype/widen/wchar_t/3.cc: Same.
+       * testsuite/22_locale/facet/2.cc: Same.
+       * testsuite/22_locale/locale/cons/2.cc: Same.
+       * testsuite/22_locale/locale/cons/4.cc: Same.
+       * testsuite/22_locale/locale/cons/5.cc: Same.
+       * testsuite/22_locale/locale/cons/7.cc: Same.
+       * testsuite/22_locale/locale/cons/7222-c.cc: Same.
+       * testsuite/22_locale/locale/cons/7222-env.cc: Same.
+       * testsuite/22_locale/locale/global_locale_objects/2.cc: Same.
+       * testsuite/22_locale/messages/members/char/1.cc: Same.
+       * testsuite/22_locale/messages/members/char/2.cc: Same.
+       * testsuite/22_locale/messages/members/char/3.cc: Same.
+       * testsuite/22_locale/messages_byname/1.cc: Same.
+       * testsuite/22_locale/money_get/get/char/1.cc: Same.
+       * testsuite/22_locale/money_get/get/char/2.cc: Same.
+       * testsuite/22_locale/money_get/get/char/3.cc: Same.
+       * testsuite/22_locale/money_get/get/char/4.cc: Same.
+       * testsuite/22_locale/money_get/get/wchar_t/1.cc: Same.
+       * testsuite/22_locale/money_get/get/wchar_t/2.cc: Same.
+       * testsuite/22_locale/money_get/get/wchar_t/3.cc: Same.
+       * testsuite/22_locale/money_get/get/wchar_t/4.cc: Same.
+       * testsuite/22_locale/money_put/put/char/1.cc: Same.
+       * testsuite/22_locale/money_put/put/char/2.cc: Same.
+       * testsuite/22_locale/money_put/put/char/3.cc: Same.
+       * testsuite/22_locale/money_put/put/wchar_t/1.cc: Same.
+       * testsuite/22_locale/money_put/put/wchar_t/2.cc: Same.
+       * testsuite/22_locale/money_put/put/wchar_t/3.cc: Same.
+       * testsuite/22_locale/moneypunct/members/char/2.cc: Same.
+       * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Same.
+       * testsuite/22_locale/moneypunct_byname/1.cc: Same.
+       * testsuite/22_locale/num_get/get/char/1.cc: Same.
+       * testsuite/22_locale/num_get/get/char/2.cc: Same.
+       * testsuite/22_locale/num_get/get/char/3.cc: Same.
+       * testsuite/22_locale/num_get/get/char/5.cc: Same.
+       * testsuite/22_locale/num_get/get/char/6.cc: Same.
+       * testsuite/22_locale/num_get/get/wchar_t/1.cc: Same.
+       * testsuite/22_locale/num_get/get/wchar_t/2.cc: Same.
+       * testsuite/22_locale/num_get/get/wchar_t/3.cc: Same.
+       * testsuite/22_locale/num_get/get/wchar_t/5.cc: Same.
+       * testsuite/22_locale/num_get/get/wchar_t/6.cc: Same.
+       * testsuite/22_locale/num_put/put/char/1.cc: Same.
+       * testsuite/22_locale/num_put/put/char/2.cc: Same.
+       * testsuite/22_locale/num_put/put/char/3.cc: Same.
+       * testsuite/22_locale/num_put/put/char/5.cc: Same.
+       * testsuite/22_locale/num_put/put/wchar_t/1.cc: Same.
+       * testsuite/22_locale/num_put/put/wchar_t/2.cc: Same.
+       * testsuite/22_locale/num_put/put/wchar_t/3.cc: Same.
+       * testsuite/22_locale/num_put/put/wchar_t/5.cc: Same.
+       * testsuite/22_locale/numpunct/members/char/1.cc: Same.
+       * testsuite/22_locale/numpunct/members/char/2.cc: Same.
+       * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Same.
+       * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Same.
+       * testsuite/22_locale/numpunct_byname/1.cc: Same.
+       * testsuite/22_locale/numpunct_byname/2.cc: Same.
+       * testsuite/22_locale/time_get/date_order/char/1.cc: Same.
+       * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Same.
+       * testsuite/22_locale/time_get/get_date/char/1.cc: Same.
+       * testsuite/22_locale/time_get/get_date/char/2.cc: Same.
+       * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Same.
+       * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Same.
+       * testsuite/22_locale/time_get/get_monthname/char/1.cc: Same.
+       * testsuite/22_locale/time_get/get_monthname/char/2.cc: Same.
+       * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Same.
+       * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Same.
+       * testsuite/22_locale/time_get/get_time/char/1.cc: Same.
+       * testsuite/22_locale/time_get/get_time/char/2.cc: Same.
+       * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Same.
+       * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Same.
+       * testsuite/22_locale/time_get/get_weekday/char/1.cc: Same.
+       * testsuite/22_locale/time_get/get_weekday/char/2.cc: Same.
+       * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Same.
+       * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Same.
+       * testsuite/22_locale/time_get/get_year/char/1.cc: Same.
+       * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Same.
+       * testsuite/22_locale/time_put/put/char/1.cc: Same.
+       * testsuite/22_locale/time_put/put/char/2.cc: Same.
+       * testsuite/22_locale/time_put/put/char/3.cc: Same.
+       * testsuite/22_locale/time_put/put/char/4.cc: Same.
+       * testsuite/22_locale/time_put/put/char/5.cc: Same.
+       * testsuite/22_locale/time_put/put/char/6.cc: Same.
+       * testsuite/22_locale/time_put/put/char/7.cc: Same.
+       * testsuite/22_locale/time_put/put/char/8.cc: Same.
+       * testsuite/22_locale/time_put/put/wchar_t/1.cc: Same.
+       * testsuite/22_locale/time_put/put/wchar_t/2.cc: Same.
+       * testsuite/22_locale/time_put/put/wchar_t/3.cc: Same.
+       * testsuite/22_locale/time_put/put/wchar_t/4.cc: Same.
+       * testsuite/22_locale/time_put/put/wchar_t/5.cc: Same.
+       * testsuite/22_locale/time_put/put/wchar_t/6.cc: Same.
+       * testsuite/22_locale/time_put/put/wchar_t/7.cc: Same.
+       * testsuite/22_locale/time_put/put/wchar_t/8.cc: Same.
+       * testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Same.
+       * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Same.
+       * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc: Same.
+       * testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Same.
+       * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Same.
+       
+2003-04-14  Andreas Tobler  <toa@pop.agri.ch>
+           
+       * configure.target (_cpu_incdir_fullpath): Solaris 2.9 uses
+       solaris includes, not generic.
+
+2003-04-14  Loren J. Rittle  <ljrittle@acm.org>
+
+       * testsuite/26_numerics/c99_classification_macros_c.cc: Add XFAIL.
+
+       * include/std/std_bitset.h (_M_do_find_next): Fix -Wall nit.
+       * include/bits/concept_check.h: Fix multi-line comment.
+       * testsuite/17_intro/headers.cc (dg-options): Add -Wall -Wsystem-header
+       when target is *-*-freebsd*.
+
+2003-04-14  Nathan Myers  <ncm@cantrip.org>
+            Paolo Carlini  <pcarlini@unitus.it>
+
+       PR libstdc++/9701 (in_avail())
+       * include/std/std_streambuf.h (in_avail): Simplify, in_avail
+       doesn't care if there is anything in some putback cell.
+       * testsuite/27_io/basic_streambuf/in_avail/char/9701-3.cc: Add.
+
+       * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Remove some
+       unused string literals.
+
+2003-04-14  Paolo Carlini  <pcarlini@unitus.it>
+
+       * include/bits/fstream.tcc (basic_filebuf::setbuf): Don't set
+       _M_out_end, _M_set_indeterminate() does it.
+
+2003-04-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * os/hpux/ctype_inline.h: Replace with gnu-linux version.
+
+2003-04-12  David Edelsohn  <edelsohn@gnu.org>
+
+       * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc:
+       Change basic_streambuf instantiation to "unsigned char".
+       * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
+
+2003-04-12  Paolo Carlini  <pcarlini@unitus.it>
+
+       Remove _M_buf_size_opt, use directly _M_buf_size instead.
+       * include/bits/fstream.tcc
+       (basic_filebuf::_M_allocate_internal_buffer, setbuf): Remove
+       references to _M_buf_size_opt. 
+       * include/bits/sstream.tcc (basic_stringbuf::overflow): Likewise.
+       * include/bits/streambuf.tcc (__copy_streambufs): Likewise, rename
+       __bufsize to __in_avail and __size_opt to __buf_size.
+       * include/ext/stdio_filebuf.h (stdio_filebuf::stdio_filebuf): Likewise.
+       * include/std/std_sstream.h (_M_stringbuf_init, setbuf): Likewise.
+       * include/std/std_streambuf.h (~basic_streambuf(),
+       basic_streambuf()): Likewise, remove _M_buf_size_opt member.
+       * testsuite/27_io/basic_filebuf/close/char/3.cc: Set _M_buf_size.
+       * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
+       * testsuite/27_io/basic_filebuf/sbumpc/char/1.cc: Likewise.
+       * testsuite/27_io/basic_filebuf/seekoff/char/1.cc: Likewise.
+       * testsuite/27_io/basic_filebuf/seekpos/char/1.cc: Likewise.
+       * testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Likewise.
+       * testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Likewise.
+       * testsuite/27_io/basic_filebuf/snextc/char/1.cc: Likewise.
+       * testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Likewise.
+       * testsuite/27_io/basic_filebuf/sputc/char/1.cc: Likewise.
+       * testsuite/27_io/basic_filebuf/sputn/char/1.cc: Likewise.
+       * testsuite/27_io/basic_filebuf/sungetc/char/1.cc: Likewise.
+
+2003-04-12  Paolo Carlini  <pcarlini at unitus dot it>
+
+       * include/ext/stdio_filebuf.h
+       (stdio_filebuf::stdio_filebuf(int, openmode, bool, size_t),
+       stdio_filebuf::stdio_filebuf(__c_file*, openmode, size_t):
+       _M_buf_size_opt == 0 only means "not to use an allocated buffer"
+       since a stack-based buffer is used for small values of the size_t
+       parameter.
+       * include/bits/fstream.tcc (basic_filebuf::_M_really_overflow).
+       If _M_buf_size != 0 flush out the buffer (any kind, stack-based too).
+       * testsuite/ext/stdio_filebuf_2.cc: New testfile.
+
 2003-04-12  Paolo Carlini  <pcarlini@unitus.it>
 
        PR libstdc++/9533