+2003-04-29 Joel Sherrill <joel.sherrill@OARcorp.com>
+ Loren J. Rittle <ljrittle@acm.org>
+ Martin v. Loewis <martin@v.loewis.de>
+
+ * config/cpu/i386/atomicity.h: New file.
+
+2003-04-29 Paolo Carlini <pcarlini@unitus.it>
+
+ * include/bits/fstream.tcc (open): Change to single return.
+
+2003-04-29 Paolo Carlini <pcarlini@unitus.it>
+
+ * include/std/std_sstream.h (underflow): Change to single return.
+
+2003-04-28 Paolo Carlini <pcarlini@unitus.it>
+
+ * include/std/std_streambuf.h (_M_buf): is currently
+ used only for basic_filebuf, therefore move it there.
+ (basic_streambuf(), ~basic_streambuf()): Adjust.
+ * include/std/std_fstream.h (_M_buf): Moved here.
+ * include/std/std_sstream.h (setbuf): Don't set _M_buf,
+ is actually redundant for basic_stringbuf.
+ (_M_really_sync): Likewise.
+ * include/bits/fstream.tcc (basic_filebuf()): Adjust.
+ * include/bits/sstream.tcc (seekoff): Adjust.
+
+2003-04-28 Benjamin Kosnik <bkoz@redhat.com>
+
+ * src/localename.cc: Standardize exception strings.
+ * src/locale.cc: Same.
+ * src/ios.cc: Same.
+ * include/bits/basic_string.tcc: Same.
+ * include/bits/basic_ios.tcc: Same.
+ * include/std/std_bitset.h: Same.
+ * include/ext/ropeimpl.h: Same.
+ * include/bits/stl_vector.h: Same.
+ * include/bits/stl_deque.h: Same.
+ * include/bits/stl_bvector.h: Same.
+ * config/locale/generic/c_locale.cc: Same.
+ * config/locale/gnu/c_locale.cc: Same.
+ * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Same.
+
+ * testsuite/testsuite_hooks.cc (__gnu_cxx_test): Modify.
+
+2003-04-28 Paolo Carlini <pcarlini@unitus.it>
+
+ * include/std/std_streambuf.h (_M_buf_size): is currently
+ used only for basic_filebuf, therefore move it there.
+ (basic_streambuf(), ~basic_streambuf()): Adjust.
+ * include/std/std_fstream.h (_M_buf_size): Moved here.
+ * include/bits/fstream.tcc (basic_filebuf()): Adjust.
+
+2003-04-28 Paolo Carlini <pcarlini@unitus.it>
+
+ * include/bits/streambuf.tcc (__copy_streambufs): Don't use
+ _M_buf_size (synced input is now correctly dealt with
+ elsewhere); when the output buffer is full don't fall back
+ to a snextc-sputc loop, call overflow instead.
+
+2003-04-28 Paolo Carlini <pcarlini@unitus.it>
+
+ * include/bits/sstream.tcc (pbackfail): Shorten a bit (6 lines)
+ the innermost 'if' by factoring out some code.
+
+2003-04-28 Phil Edwards <pme@gcc.gnu.org>
+
+ * configure.in: Test for libintl.h.
+ * include/bits/c++config: Define __N for everybody.
+ * include/bits/basic_string.h, include/bits/stl_bvector.h,
+ include/bits/stl_deque.h, include/bits/stl_vector.h,
+ include/std/std_bitset.h: Wrap all __throw* text with __N.
+ * po/Makefile.am (pot): New rule, mostly working.
+ * src/functexcept.cc: Call gettext on all __throw* arguments when
+ -fexceptions is in effect.
+ * po/Makefile.in, config.h.in, configure: Regenerate.
+
+2003-04-28 Petur Runolfsson <peturr02@ru.is>
+
+ PR libstdc++/9523
+ * include/bits/ios_base.h (Init::_S_ios_create,
+ Init::_S_ios_destroy): Remove declarations.
+ (Init::_S_create_buffers,
+ Init::_S_destroy_buffers): Declare
+ * src/ios.cc (Init::_S_ios_create): Remove
+ (Init::_S_create_buffers): Create buffers and add to streams.
+ (Init::_S_ios_destroy): Rename to...
+ (Init::_S_destroy_buffers): this.
+ (Init::Init): Only construct streams once.
+ (Init::~Init): Flush streams, don't destroy them.
+ (ios_base::sync_with_stdio): Don't destroy streams, only buffers.
+ * testsuite/27_io/ios_base/sync_with_stdio/9523.cc: New test.
+ * testsuite/27_io/objects/char/5.cc: New test.
+ * testsuite/27_io/objects/char/5268.cc: Avoid undefined behavior.
+ * testsuite/27_io/objects/char/6.cc: New test.
+ * testsuite/27_io/objects/char/7.cc: New test.
+
+2003-04-28 Benjamin Kosnik <bkoz@redhat.com>
+
+ * testsuite/27_io/objects/char/8.cc: New test.
+
+2003-04-28 Benjamin Kosnik <bkoz@redhat.com>
+
+ * testsuite/22_locale/codecvt/unicode/char.cc: Remove bom usage.
+ * testsuite/22_locale/codecvt/unicode/wchar_t.cc: Same.
+
+2003-04-27 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/std/std_fstream.h (basic_filebuf): _M_pback_destroy to
+ _M_destroy_pback. _M_pback_create to
+ _M_create_pback. _M_underflow_common to
+ _M_underflow. _M_really_overflow to _M_overflow.
+ * include/bits/fstream.tcc: Same.
+ * src/fstream.cc: Same.
+ * include/std/std_streambuf.h (basic_streambuf): _M_in_cur_move to
+ _M_move_in_cur. _M_out_cur_move to _M_move_out_cur.
+ * include/bits/streambuf.tcc: Same.
+ * include/bits/fstream.tcc: Same.
+ * include/bits/sstream.tcc: Same.
+
+2003-04-27 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/bits/locale_classes.h (locale::_Impl): Change _M_names
+ from fixed size array.
+ (locale): Change _S_categories as well.
+ Formatting tweaks.
+ * include/bits/locale_facets.tcc: Tweak.
+ * config/locale/gnu/c_locale.cc: Assign _S_categories.
+ * config/locale/generic/c_locale.cc: Same.
+ * src/locale.cc: Tweak.
+ * src/globals.cc: Change facet_name to name_vec, add names_c.
+ * src/localename.cc: Use them.
+ (locale::_Impl::~_Impl): Destroy _M_names.
+ (locale::_Impl::_Impl): Create _M_names.
+
+2003-04-27 Andreas Schwab <schwab@suse.de>
+
+ * config/locale/ieee_1003.1-2001/codecvt_specializations.h
+ (__enc_traits): Use __ibom and __ebom instead of ignoring them.
+
+2003-04-27 Nathan Myers <ncm@cantrip.org>
+
+ Move some basic_string members out of line because
+ they are too big to reasonably be inline.
+ * include/bits/basic_string.h
+ (assign(const basic_string&, size_type, size_type),
+ assign(const _CharT*, size_type),
+ insert(size_type, const basic_string&, size_type, size_type),
+ insert(size_type, const _CharT*, size_type),
+ replace(size_type, size_type, const _CharT*, size_type)):
+ Move from here to...
+ * include/bits/basic_string.tcc: ...here.
+
+2003-04-26 Paolo Carlini <pcarlini@unitus.it>
+
+ * include/bits/fstream.tcc (pbackfail): Shorten a bit (10 lines)
+ the innermost 'if' by factoring out some code.
+
+2003-04-26 Paolo Carlini <pcarlini@unitus.it>
+
+ * include/bits/streambuf.tcc (__copy_streambufs): Don't
+ use in_avail(), simplify.
+
+2003-04-26 Paolo Carlini <pcarlini@unitus.it>
+
+ * include/std/std_sstream.h (setbuf): don't set _M_buf_size,
+ in basic_stringbuf it's unused.
+
+ * include/std/std_sstream.h (underflow): consistently use
+ _M_in_cur, not gptr().
+
+2003-04-25 Ranjit Mathew <rmathew@hotmail.com>
+ Phil Edwards <pme@gcc.gnu.org>
+
+ * testsuite_flags.in: Guard against the possibility
+ of having "xgcc" as a part of a folder name in the
+ path to the GCC build folder.
+ * testsuite/Makefile.am: Likewise.
+ * testsuite/Makefile.in: Regenerated.
+
+2003-04-25 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/10132
+ * include/std/std_fstream.h (basic_filebuf::is_open): Add throw()
+ exception specifications.
+ (basic_filebuf::close): Same.
+ (basic_filebuf::_M_pback_destroy): Same.
+ (basic_filebuf::_M_destroy_internal_buffer): Same.
+ (basic_filebuf): Remove __res_type typedef.
+ * src/fstream.cc: Same.
+ * include/bits/fstream.tcc
+ (basic_filebuf::_M_convert_to_external): Simplify.
+ (basic_filebuf::seekoff): Use has_facet before use_facet.
+ (basic_filebuf::close): Add exception specification of throw().
+ * testsuite/27_io/basic_filebuf/cons: New.
+ * testsuite/27_io/basic_filebuf/cons/wchar_t: New.
+ * testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc: New.
+ * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: New.
+ * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: New.
+
+2003-04-25 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/bits/locale_classes.h
+ (locale::_S_extra_categories_size): Remove.
+ * src/locale.cc: Remove _S_extra_categories_size.
+ * src/localename.cc: Same.
+ * config/locale/gnu/c_locale.cc: Same.
+ * config/locale/generic/c_locale.cc: Same.
+
+2003-04-24 Richard Sandiford <rsandifo@redhat.com>
+
+ * src/localename.cc (__gnu_cxx::facet_vec): Correct types.
+
+2003-04-24 Phil Edwards <pme@gcc.gnu.org>
+
+ * docs/html/17_intro/howto.html: Update some links.
+ * docs/html/18_support/howto.html: Link doxygen numeric_limits notes.
+ * docs/html/27_io/howto.html: Link doxygen stdio_filebuf notes.
+ * docs/html/ext/howto.html: Link to demangler notes and API.
+ * docs/html/faq/index.html: Remove trailing whitespace.
+ (1.4, 2.4, 3.8, 4.1): Bring up to date.
+ (5.6): Change to a bulleted list.
+
+ * docs/html/faq/index.txt, docs/html/documentation.html,
+ docs/html/17_intro/porting.html: Regenerate.
+
+2003-04-23 Paolo Carlini <pcarlini@unitus.it>
+
+ * testsuite/27_io/basic_filebuf/3.cc: _S_pback_size now
+ belongs to basic_filebuf.
+ * testsuite/27_io/basic_fstream/3.cc: Likewise.
+ * testsuite/27_io/basic_ifstream/3.cc: Likewise.
+ * testsuite/27_io/basic_ios/3.cc: Remove _S_pback_size
+ instantiation (now belongs to basic_filebuf).
+ * testsuite/27_io/basic_iostream/3.cc: Likewise.
+ * testsuite/27_io/basic_istream/3.cc: Likewise.
+ * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc:
+ _S_pback_size now belongs to basic_filebuf.
+ * testsuite/27_io/basic_istringstream/3.cc: Remove _S_pback_size
+ instantiation (now belongs to basic_filebuf).
+ * testsuite/27_io/basic_ofstream/3.cc: _S_pback_size now
+ belongs to basic_filebuf.
+ * testsuite/27_io/basic_ostream/3.cc: Remove _S_pback_size
+ instantiation (now belongs to basic_filebuf).
+ * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc:
+ _S_pback_size now belongs to basic_filebuf.
+ * testsuite/27_io/basic_ostringstream/3.cc: Remove _S_pback_size
+ instantiation (now belongs to basic_filebuf).
+ * testsuite/27_io/basic_streambuf/3.cc: _S_pback_size now belongs
+ to basic_filebuf.
+ * testsuite/27_io/basic_stringbuf/3.cc: Remove _S_pback_size
+ instantiation (now belongs to basic_filebuf).
+ * testsuite/27_io/basic_stringstream/3.cc: Likewise.
+
+2003-04-23 Benjamin Kosnik <bkoz@redhat.com>
+
+ * configure.in: Move GLIBCPP_CHECK_PCH before native/cross conditions.
+ * configure: Regenerated.
+
+2003-04-23 Benjamin Kosnik <bkoz@redhat.com>
+
+ * config/locale/generic/c_locale.h (__convert_from_v): Use
+ attribute unused.
+
+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>