X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=libstdc%2B%2B-v3%2FChangeLog;h=7668e70bfb7a81b59691d6f4065eda747b90cae9;hp=e18aff6df8b1863f7046042eaec8a39c3b12f968;hb=bf945d409b70a303f98b1a997aa4f7710f01e92c;hpb=d0b809979ae8c5aedc6cab484b56c691229ed716 diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index e18aff6df8b..7668e70bfb7 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,912 @@ +2004-03-11 Paolo Carlini + + * include/std/std_complex.h (pow(const complex&, const _Tp&), + pow(const _Tp&, const complex&), pow(const complex&, + const complex&)): Fully qualify with std:: a few calls. + * testsuite/26_numerics/complex/13450.cc: Minor tweak. + +2004-03-11 Steven Bosscher + + PR libstdc++/11706 + * include/c_std/cmath.tcc (__cmath_power): Define inline. + +2004-03-10 Kelley Cook + + * configure.ac: Bump AC_PREREQ to 2.59. + +2004-03-10 Paolo Carlini + + * testsuite/26_numerics/valarray_subset_assignment.cc: Fix typos. + +2004-03-10 Paul Kienzle + Paolo Carlini + + PR libstdc++/13450 + * include/std/std_complex.h (pow(const complex&, const _Tp&), + pow(const _Tp&, const complex&)): Use cmath pow only when safe. + * testsuite/26_numerics/complex/13450.cc: New. + + * testsuite/26_numerics/cmath/overloads.C: Rename to overloads.cc. + * testsuite/26_numerics/complex/pow.C: Rename to pow.cc and fix. + +2004-03-10 Jerry Quinn + + PR libstdc++/3247 + * include/bits/gslice_array.h (gslice_array()): Make public. + (operator=(gslice_array)): Make public. Implement. + * include/bits/indirect_array.h (indirect_array()): Make public. + * include/bits/mask_array.h (mask_array()): Make public. + (operator=(mask_array)): Make public. Implement. + * include/bits/valarray_array.tcc (__valarray_copy): + Comment. Add versions for gslice_array and mask_array. + * testsuite/26_numerics/valarray_subset_assignment.cc: New test. + +2004-03-09 Benjamin Kosnik + + * testsuite/23_containers/deque/modifiers/swap.cc: Add in bits for + non-weak systems. + * testsuite/23_containers/vector/modifiers/swap.cc: Same. + * testsuite/23_containers/set/modifiers/swap.cc: Same. + * testsuite/23_containers/multiset/modifiers/swap.cc: Same. + * testsuite/23_containers/multimap/modifiers/swap.cc: Same. + * testsuite/23_containers/map/modifiers/swap.cc: Same. + * testsuite/23_containers/list/modifiers/swap.cc: Same. + + * testsuite/22_locale/locale/cons/12658_thread.cc: Catch exceptions. + +2004-03-08 Benjamin Kosnik + + PR c++/13658 + * testsuite/23_containers/deque/modifiers/swap.cc: New. + * testsuite/23_containers/list/modifiers/swap.cc: New. + * testsuite/23_containers/map/modifiers/swap.cc: New. + * testsuite/23_containers/multimap/modifiers/swap.cc: New. + * testsuite/23_containers/multiset/modifiers/swap.cc: New. + * testsuite/23_containers/set/modifiers/swap.cc: New. + * testsuite/23_containers/vector/modifiers/swap.cc: New. + +2004-03-08 Petur Runolfsson + + PR libstdc++/12658 + * testsuite/22_locale/locale/cons/12658_thread.cc: New. + +2004-03-08 Paolo Carlini + + * docs/html/ext/howto.html: Add entry for DR 103 [WP]. + * include/bits/stl_multiset.h: Add comment about DR 103. + * include/bits/stl_set.h: Likewise. + +2004-03-08 Paolo Carlini + + * include/bits/locale_facets.tcc (money_get<>::_M_extract): + The value _space_ indicates that at least one space is required + at that position. + * testsuite/22_locale/money_get/get/char/17.cc: New. + * testsuite/22_locale/money_get/get/wchar_t/17.cc: New. + + * testsuite/22_locale/money_get/get/char/7.cc: Minor tweaks. + * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise. + + * include/bits/locale_facets.tcc (money_get<>::do_get(long_double&)): + Remove redundant conditional on __str.size(). + +2004-03-08 Benjamin Kosnik + + * include/bits/allocator.h: Switch defaults to mt_alloc. + +2004-03-06 Benjamin Kosnik + + * include/ext/mt_allocator.h (_S_initialize): If + !__GTHREAD_MUTEX_INIT, then initialize _S_thread_freelist_mutex. + +2004-03-06 Benjamin Kosnik + + PR libstdc++/12658 + * src/locale_init.cc (locale::locale): Lock critical regions with + external mutexes. + (locale::global): Same. + * include/bits/concurrence.h (__glibcxx_mutex_define_initialized): + Add in once bits for cases without __GTHREAD_MUTEX_INIT. + (__glibcxx_mutex_lock): Same. + + * config/cpu/generic/atomicity.h: Remove + _GLIBCXX_NEED_GENERIC_MUTEX, use concurrence.h. + * src/misc-inst.cc: Move all locking bits out of this file. + + * config/os/hpux/os_defines.h: Remove _GLIBCXX_INST_ATOMICITY_LOCK. + * src/misc-inst.cc: Same. + * config/cpu/hppa/atomicity.h: Same. + + * config/linker-map.gnu: Remove types in the signature of atomic + exports, as they may vary. + +2004-03-06 Paolo Carlini + + * include/bits/locale_facets.tcc: Tweak the comment preceding + has_facet: doesn't throw. + +2004-03-06 Paolo Carlini + + * testsuite/22_locale/money_get/get/char/1.cc: Clean up. + * testsuite/22_locale/money_get/get/char/2.cc: Likewise. + * testsuite/22_locale/money_get/get/char/3.cc: Likewise. + * testsuite/22_locale/money_get/get/char/4.cc: Likewise. + * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise. + * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise. + * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise. + * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise. + +2004-03-06 Paolo Carlini + + * include/bits/locale_facets.tcc (num_get<>::_M_extract_float, + num_get<>::_M_extract_int, num_get<>::do_get(bool&), + __pad<>::_S_pad): Prefer plain operator== to traits::eq(). + * testsuite/testsuite_character.h (struct __gnu_test::character): + Provide operator==. + * testsuite/testsuite_hooks.h (struct __gnu_test::pod_char): + Likewise. + +2004-03-05 Paolo Carlini + + * testsuite/27_io/fpos/14320-2.cc: Remove xfail. + +2004-03-04 Benjamin Kosnik + + * testsuite/23_containers/multiset/insert/1.cc: Test result string. + + * testsuite/23_containers/bitset/invalidation/1.cc: Main always + returns 0. + * testsuite/23_containers/deque/invalidation/4.cc: Same. + * testsuite/23_containers/list/invalidation/1.cc: Same. + * testsuite/23_containers/list/invalidation/2.cc: Same. + * testsuite/23_containers/list/invalidation/3.cc: Same. + * testsuite/23_containers/list/invalidation/4.cc: Same. + * testsuite/23_containers/map/invalidation/2.cc: Same. + * testsuite/23_containers/multimap/invalidation/1.cc: Same. + * testsuite/23_containers/multimap/invalidation/2.cc: Same. + * testsuite/23_containers/multiset/invalidation/1.cc: Same. + * testsuite/23_containers/multiset/invalidation/2.cc: Same. + * testsuite/23_containers/set/invalidation/1.cc: Same. + * testsuite/23_containers/set/invalidation/2.cc: Same. + * testsuite/23_containers/vector/invalidation/1.cc: Same. + * testsuite/23_containers/vector/invalidation/2.cc: Same. + * testsuite/23_containers/vector/invalidation/3.cc: Same. + * testsuite/23_containers/vector/invalidation/4.cc: Same. + +2004-03-04 Paolo Carlini + + * scripts/testsuite_flags.in: Add "-D_GLIBCXX_ASSERT" to + CXXFLAGS_save. + * testsuite/lib/libstdc++.exp: Don't add it conditionally to + DEFAULT_CXXFLAGS. + * testsuite/18_support/numeric_limits.cc: Remove "-D_GLIBCXX_ASSERT" + from the dg-options. + * testsuite/23_containers/vector/invalidation/1.cc: Likewise. + * testsuite/23_containers/vector/invalidation/2.cc: Likewise. + * testsuite/23_containers/vector/invalidation/3.cc: Likewise. + * testsuite/23_containers/vector/invalidation/4.cc: Likewise. + * testsuite/23_containers/vector/resize/1.cc: Likewise. + * testsuite/26_numerics/complex_value.cc: Likewise. + * testsuite/27_io/ios_base/storage/1.cc: Likewise. + * testsuite/27_io/ios_base/storage/2.cc: Likewise. + * testsuite/27_io/ios_base/storage/3.cc: Likewise. + * testsuite/27_io/manipulators/standard/char/2.cc: Likewise. + * testsuite/27_io/objects/char/5.cc: Likewise. + * testsuite/27_io/objects/wchar_t/5.cc: Likewise. + * testsuite/backward/11460.cc: Likewise. + * testsuite/thread/pthread7-rope.cc: Likewise. + + * testsuite/21_strings/basic_string/compare/char/1.cc: Add + missing test variable. + * testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Add + missing test variable. + +2004-03-04 Benjamin Kosnik + + * testsuite/20_util/allocator/1.cc: Provide explicit + instantiations for non-weak systems. + * testsuite/20_util/binders.cc: Same. + * testsuite/20_util/allocator/8230.cc: Same. + * testsuite/20_util/allocator/10378.cc: Same. + * testsuite/22_locale/ctype/is/wchar_t/2.cc: Same. + * testsuite/22_locale/ctype/is/char/2.cc: Same. + * testsuite/thread/pthread7-rope.cc: Same. + * testsuite/thread/pthread6.cc: Same. + * testsuite/thread/pthread5.cc: Same. + * testsuite/thread/pthread4.cc: Same. + * testsuite/thread/pthread1.cc: Same. + * testsuite/ext/rope.cc: Same. + * testsuite/ext/hash_set.cc: Same. + * testsuite/ext/hash_map.cc: Same. + * testsuite/ext/concept_checks.cc: Same. + * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Same. + * testsuite/25_algorithms/unique/2.cc: Same. + * testsuite/25_algorithms/unique/1.cc: Same. + * testsuite/25_algorithms/rotate.cc: Same. + * testsuite/25_algorithms/min_max.cc: Same. + * testsuite/25_algorithms/equal.cc: Same. + * testsuite/24_iterators/rel_ops.cc: Same. + * testsuite/24_iterators/iterator.cc: Same. + * testsuite/24_iterators/insert_iterator.cc: Same. + * testsuite/24_iterators/front_insert_iterator.cc: Same. + * testsuite/24_iterators/back_insert_iterator.cc: Same. + * testsuite/23_containers/vector/resize/1.cc: Same. + * testsuite/23_containers/vector/modifiers/2.cc: Same. + * testsuite/23_containers/vector/modifiers/1.cc: Same. + * testsuite/23_containers/vector/invalidation/4.cc: Same. + * testsuite/23_containers/vector/invalidation/3.cc: Same. + * testsuite/23_containers/vector/invalidation/2.cc: Same. + * testsuite/23_containers/vector/invalidation/1.cc: Same. + * testsuite/23_containers/vector/element_access/1.cc: Same. + * testsuite/23_containers/vector/cons/6513.cc: Same. + * testsuite/23_containers/vector/cons/3.cc: Same. + * testsuite/23_containers/vector/cons/2.cc: Same. + * testsuite/23_containers/vector/cons/1.cc: Same. + * testsuite/23_containers/vector/capacity/8230.cc: Same. + * testsuite/23_containers/vector/capacity/1.cc: Same. + * testsuite/23_containers/vector/bool/6886.cc: Same. + * testsuite/23_containers/stack/members/7158.cc: Same. + * testsuite/23_containers/set/invalidation/2.cc: Same. + * testsuite/23_containers/set/invalidation/1.cc: Same. + * testsuite/23_containers/queue/members/7157.cc: Same. + * testsuite/23_containers/priority_queue/members/7161.cc: Same. + * testsuite/23_containers/multiset/invalidation/2.cc: Same. + * testsuite/23_containers/multiset/invalidation/2.cc: Same. + * testsuite/23_containers/multiset/insert/1.cc: Same. + * testsuite/23_containers/multimap/invalidation/2.cc: Same. + * testsuite/23_containers/multimap/invalidation/2.cc: Same. + * testsuite/23_containers/map/operators/1.cc: Same. + * testsuite/23_containers/map/invalidation/2.cc: Same. + * testsuite/23_containers/map/invalidation/1.cc: Same. + * testsuite/23_containers/map/insert/1.cc: Same. + * testsuite/23_containers/list/operators/4.cc: Same. + * testsuite/23_containers/list/operators/3.cc: Same. + * testsuite/23_containers/list/operators/2.cc: Same. + * testsuite/23_containers/list/operators/1.cc: Same. + * testsuite/23_containers/list/modifiers/3.cc: Same. + * testsuite/23_containers/list/modifiers/2.cc: Same. + * testsuite/23_containers/list/modifiers/1.cc: Same. + * testsuite/23_containers/list/invalidation/4.cc: Same. + * testsuite/23_containers/list/invalidation/3.cc: Same. + * testsuite/23_containers/list/invalidation/2.cc: Same. + * testsuite/23_containers/list/invalidation/1.cc: Same. + * testsuite/23_containers/list/cons/9.cc: Same. + * testsuite/23_containers/list/cons/8.cc: Same. + * testsuite/23_containers/list/cons/7.cc: Same. + * testsuite/23_containers/list/cons/6.cc: Same. + * testsuite/23_containers/list/cons/5.cc: Same. + * testsuite/23_containers/list/cons/4.cc: Same. + * testsuite/23_containers/list/cons/3.cc: Same. + * testsuite/23_containers/list/cons/2.cc: Same. + * testsuite/23_containers/list/cons/1.cc: Same. + * testsuite/23_containers/list/capacity/1.cc: Same. + * testsuite/23_containers/deque/operators/1.cc: Same. + * testsuite/23_containers/deque/invalidation/4.cc: Same. + * testsuite/23_containers/deque/invalidation/3.cc: Same. + * testsuite/23_containers/deque/invalidation/2.cc: Same. + * testsuite/23_containers/deque/invalidation/1.cc: Same. + * testsuite/23_containers/deque/cons/2.cc: Same. + * testsuite/23_containers/deque/cons/1.cc: Same. + + * src/allocator.cc: Add char, wchar_t instantiations + to match extern template declarations in memory.h. + +2004-03-03 Paolo Carlini + + * include/bits/locale_facets.tcc (money_put<>::_M_insert): + Fix warning regression. + +2004-03-03 Paolo Carlini + + * include/bits/locale_facets.tcc (money_put<>::_M_insert): + Deal properly with empty __digits and negative frac_digits, + clean-up a bit. + +2004-03-03 Jonathan Wakely + + * docs/html/documentation.html: Regenerate. + +2004-03-02 Paolo Carlini + + PR libstdc++/14320 + * include/bits/postypes.h (class streamoff): Remove, now + streamoff is just typedef a 64 bit signed integer type. + (class fpos): Tweak consistently. + * testsuite/27_io/fpos/14320-1.cc: New. + * testsuite/27_io/fpos/14320-2.cc: New. + * testsuite/27_io/fpos/14320-3.cc: New. + * testsuite/27_io/fpos/14320-4.cc: New. + * testsuite/27_io/fpos/14320-5.cc: New. + * testsuite/27_io/fpos/mbstate_t/4_neg.cc: xfail for now. + +2004-03-02 Paolo Carlini + + * include/bits/locale_facets.tcc (money_get<>::_M_extract): + Reorganize a bit the main parsing loop, thus early detecting + an empty value component. + * testsuite/22_locale/money_get/get/char/16.cc: New. + * testsuite/22_locale/money_get/get/wchar_t/16.cc: New. + +2004-03-02 Benjamin Kosnik + + Support automake 1.8.2 + * configure.ac (AM_INIT_AUTOMAKE): Add -Wno-override. + * po/Makefile.am (EXTRA_DIST): New. + * po/Makefile.in: Regenerate. + * Makefile.in: Same. + * include/Makefile.in: Same. + * libmath/Makefile.in: Same. + * libsupc++/Makefile.in: Same. + * src/Makefile.in: Same. + * testsuite/Makefile.in: Same. + + * include/Makefile.am (${host_builddir}/gthr-posix.h): Use + __GXX_WEAK__ instead of SUPPORTS_WEAK. + (${host_builddir}/gthr-default.h): Same. + (${host_builddir}/gthr.h): Same. + * acinclude.m4 (GLIBCXX_ENABLE_THREAD): Remove + _GLIBCXX_SUPPORTS_WEAK, as this behavior can be modified via + -fno-weak. + * aclocal.m4: Regenerate. + * acconfig.h: Remove _GLIBCXX_SUPPORTS_WEAK. + * config.h.in: Regenerate. + * configure: Same. + +2004-03-01 Benjamin Kosnik + + Support autoconf 2.59 + * acinclude.m4: Quote correctly. + * aclocal.m4: Regenerate. + * linkage.m4: Same. + +2004-03-01 Benjamin Kosnik + + * docs/html/test.html: Add multilib RUNTESTFLAGS example. + + * docs/html/18_support/howto.html: Add bit about writing to + stderr, mostly by Zack. + +2004-03-01 Paolo Carlini + + * include/bits/locale_facets.tcc (money_get<>::_M_extract, + money_get<>::do_get(string_type&)): ... and two more. + +2004-03-01 Paolo Carlini + + * include/bits/locale_facets.tcc (money_get<>::_M_extract): + Fix thinkos in the switch from string_type& to string& as last + argument. + +2004-03-01 Paolo Carlini + + * include/bits/locale_facets.tcc (num_get<>::_M_extract_float): + Also when parsing exponent sign, first look for thousands_sep + and decimal_point; tweak a bit. + * testsuite/22_locale/num_get/get/char/15.cc: New. + * testsuite/22_locale/num_get/get/wchar_t/15.cc: New. + + * include/bits/locale_facets.tcc (num_get<>::_M_extract_float, + num_get<>::_M_extract_int): Reorder some conditionals. + +2004-03-01 Paolo Carlini + + * include/bits/locale_facets.tcc (money_get<>::_M_extract): + Consistently with numpunct, enforce the requirements in + 22.2.6.3, p3 for the thousands separators; tweak a bit. + * testsuite/22_locale/money_get/get/char/15.cc: New. + * testsuite/22_locale/money_get/get/wchar_t/15.cc: New. + +2004-03-01 David Billinghurst + + * testsuite/lib/libstdc++.exp (v3-list-tests): Use + testsuite_files from correct multilib blddir when running + testsuite. + +2004-02-29 Phil Edwards + + * testsuite/Makefile.am (check-abi, check-abi-verbose): Copy + the summary file to the logfile. + * testsuite/Makefile.in: Regenerate. + +2004-02-28 John David Anglin + + * config/cpu/hppa/atomicity.h (__atomic_add): Make first argument + volatile. + * config/os/hpux/os_defines.h (_GLIBCXX_INST_ATOMICITY_LOCK): Use + __GXX_WEAK__ instead of _GLIBCXX_SUPPORTS_WEAK. + +2004-02-28 Paolo Carlini + + * include/bits/locale_facets.tcc (num_get<>::_M_extract_float): + According to 22.2.3.1, p2, 'units' may be followed by 'e' with + no 'decimal-point' in the middle: in this case too we must fix + up __found_grouping; slightly tweak. + * testsuite/22_locale/num_get/get/char/14.cc: New. + * testsuite/22_locale/num_get/get/wchar_t/14.cc: New. + +2004-02-27 Eric Christopher + Phil Edwards + + * testsuite/22_locale/collate/compare/wchar_t/2.cc, + testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc, + testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc, + testsuite/22_locale/collate/hash/wchar_t/2.cc, + testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc, + testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc, + testsuite/22_locale/collate/transform/wchar_t/2.cc, + testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc, + testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc: + Use dg-require-iconv. + * testsuite/lib/libstdc++.exp: Load target-supports.exp. + +2004-02-27 Phil Edwards + Eric Christopher + + * testsuite/config/default.exp: Update with comments. + (${tool}_target_compile): New wrapper routine. + * testsuite/lib/dg-options.exp: New file, with dg-require-iconv. + * testsuite/lib/libstdc++.exp: Update with comments and cosmetic + fixes. + (load_gcc_lib, v3track): New routines. + (v3-init): Rename to libstdc++_init. + * testsuite/libstdc++-dg/normal.exp: No longer call v3-init. + Move DEFAULT_CXXFLAGS handling into libstdc++_init. + +2004-02-27 Benjamin Kosnik + + * config/cpu/hppa/atomicity.h: Include c++config.h to get defines. + + * src/misc-inst.cc (_S_atomicity_lock): Move to __gnu_cxx. + + * config/os/irix/irix5.2/atomicity.h: Merge.. + * config/os/irix/irix6.5/atomicity.h: Merge.. + * config/os/irix/atomicity.h: ...into this. + * config/os/irix/atomic_word.h: New. + * configure.host: Set atomic_word_dir for irix. + + * hppa/atomicity.h: Change __Atomicity_lock to _Atomicity_lock. + * i386/atomicity.h: Same. + * m68k/atomicity.h: Same. + * sparc/atomicity.h: Same. + +2004-02-27 David Edelsohn + + * config/os/aix/atomicity.h: Use __gnu_cxx namespace. Remove + static, and inline keywords. + +2004-02-27 Paolo Carlini + + * include/bits/locale_facets.tcc (num_get<>::_M_extract_float, + num_get<>::_M_extract_int, money_get<>::_M_extract): If appropriate, + call reserve on the __tmp_gruping string. + (num_get<>::_M_extract_float): Don't append unnecessarily a + char() to the returned string. + * include/bits/locale_facets.tcc: Trivial reformattings. + +2004-02-27 Paolo Carlini + + * include/bits/locale_facets.h (money_get<>::_M_extract): + Change signature: now takes a plain string&. + * include/bits/locale_facets.tcc (money_get<>::_M_extract): + Update consistently the definition; use the moneypunct cache + to parse the value; use swap to change __units. + (money_get<>::do_get(long double&)): Update call of _M_extract, + avoid ctype::narrow, not correct wrt the standard. + (money_get<>::do_get(string_type&)): Likewise, update call + of _M_extract, use ctype::widen. + * src/locale-inst.cc: Tweak instantiations of _M_extract. + +2004-02-26 Ian Lance Taylor + + * testsuite/demangle/abi_examples/01.cc: Expect error -2. + * testsuite/demangle/abi_examples/02.cc: Likewise. + * testsuite/demangle/regression/cw-11.cc: Likewise. + * testsuite/demangle/regression/cw-16.cc: Change two expected + results to match libiberty demangler output. + +2004-02-26 Benjamin Kosnik + + PR libstdc++/10246 + * libsupc++/Makefile.am: Use libiberty demangler. + (c_sources): Add cp-demangle.c. + * libsupc++/Makefile.in: Regenerate. + * src/Makefile.am (sources): Remove demangle.cc. + * src/Makefile.in: Regenerate. + * include/Makefile.am (bits_headers): Move demangle.h. + (ext_headers): ...here. + * include/Makefile.in: Regenerate. + * include/bits/demangle.h: Move... + * include/ext/demangle.h: ...here. + * src/demangle.cc: Remove. + +2004-02-26 Benjamin Kosnik + + * include/bits/demangle.h: Add type template parameter to all + templates with just an Allocator template parameter. + +2004-02-25 Benjamin Kosnik + + * include/bits/atomicity.h: New, forward declarations for __atomic_add + and __exchange_and_add. + * config/cpu/generic/atomic_word.h: New, typdef for atomic word. + * config/cpu/cris/atomic_word.h: Same. + * config/cpu/sparc/atomic_word.h: Same. + * include/bits/ios_base.h (_Callback_list::_M_remove_reference): + Qualifiy with __gnu_cxx. + (_Callback_list::_M_add_reference): Same. + * include/bits/locale_classes.h (locale::facet::_M_add_reference): Add. + (locale::facet::_M_remove_reference): Same. + (locale::_Impl::_M_add_reference): Add. + (locale::_Impl::_M_remove_reference): Same. + * include/bits/basic_string.h (basic_string::_Rep::_M_refcopy): Same. + (basic_string::_Rep::_M_dispose): Same. + * src/ios.cc (ios_base::xalloc): Same. + * src/ios_init.cc (ios_base::Init::Init): Same. + (ios_base::Init::~Init): Same. + * src/locale.cc (locale::id::_M_id): Same. + * config/cpu/i486/atomicity.h: Use __gnu_cxx namespace. Remove + static, and inline keywords. + * config/cpu/alpha/atomicity.h: Same. + * config/cpu/cris/atomicity.h: Same. + * config/cpu/generic/atomicity.h: Same. + * config/cpu/hppa/atomicity.h: Same. + * config/cpu/i386/atomicity.h: Same. + * config/cpu/ia64/atomicity.h: Same. + * config/cpu/m68k/atomicity.h: Same. + * config/cpu/mips/atomicity.h: Same. + * config/cpu/powerpc/atomicity.h: Same. + * config/cpu/s390/atomicity.h: Same. + * config/cpu/sparc/atomicity.h: Same. + + * src/Makefile.am (host_sources): Add atomicity.cc. + (atomicity.cc): New rule. + * src/Makefile.in: Regenerate. + * include/Makefile.am (host_headers): Remove host atomicity.h. + (host_headers): Add atomic_word.h. + (bits_headers): Add bits atomicity.h. + Change ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR. + * include/Makefile.in: Regenerate. + * configure.host (atomic_word_dir): Add. + * configure.ac: Substitute ATOMIC_WORD_SRCDIR. Change + ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR. + * configure: Regenerate. + * config/linker-map.gnu: Export __exchange_and_add, and __atomic_add. + + * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers. + * testsuite/27_io/ios_base/cons/copy_neg.cc: Same. + +2004-02-25 Jonathan Wakely + + * docs/html/20_util/howto.html, docs/html/20_util/allocator.html, + docs/html/ext/howto.html, docs/html/ext/mt_allocator.html: + Fix markup, more tags. + +2004-02-25 Carlo Wood + + * bits/demangle.h + namespace __gnu_cxx::demangler + (session::qualifier_list_Allocator): Add + (session::M_qualifier_list_alloc): Add + (session::decode_type_with_postfix): + Use M_qualifier_list_alloc instead of calling operator new/delete. + +2004-02-24 Paolo Carlini + + PR libstdc++/14252 + * include/bits/postypes.h (class streamoff): Add operator++(), + operator++(int), operator--() and operator--(int). + * testsuite/27_io/fpos/14252.cc: New. + +2004-02-24 Richard Sandiford + + * include/bits/locale_facets.tcc (num_get::_M_extract_int): Fix bounds + error in handling of hex constants. + +2004-02-24 Paolo Carlini + + * include/bits/locale_facets.tcc (money_put<>::_M_insert): + Prefer basic_string::append to operator+= and a temporary. + +2004-02-23 Benjamin Kosnik + + * libsupc++/vterminate.cc (__gnu_cxx::__verbose_terminate_handler): + Only use fputs, not write. + +2004-02-23 Benjamin Kosnik + + * include/ext/malloc_allocator.h: Add operators ==, !=. + * include/ext/new_allocator.h: Add operators ==, !=. + * include/ext/mt_allocator.h (__mt_alloc::tune): New. + (__mt_alloc::_S_get_options): New. + (__mt_alloc::_S_set_options): New. + (__mt_alloc::_S_thread_key_destr): To _S_destroy_thread_key. + (__mt_alloc::_S_no_of_bins): To _S_bin_size. + Move functions out of line, simplify, format. + * src/allocator.cc: Simplify explicit instantiations. + * include/bits/allocator.h: Tweak. + +2004-02-22 Paolo Carlini + + * include/bits/locale_facets.tcc (money_put<>::_M_insert): + Restructure formatting of value component, first dealing with + the non-decimal digits; use reserve. + +2004-02-22 Paolo Carlini + + * include/bits/locale_facets.h (class money_get): Inherit + from money_base too; tweak declaration of _M_extract, now + parameterized on _Intl too. + * include/bits/locale_facets.tcc (money_get<>::_M_extract): + Update definition to use the cache; call reserve on __res to + avoid multiple reallocations; fix parsing of sign component + according to 22.2.6.1.2, p3. + (money_get<>::do_get(long double&), + money_get<>::do_get(string_type&)): Update calls of _M_extract. + * src/locale-inst.cc: Add instantiations of + money_get::_M_extract and money_get::_M_extract. + * testsuite/22_locale/money_get/get/char/14.cc: New. + * testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto. + +2004-02-21 Mark Mitchell + + * libsupc++/vterminate.cc + (__gnu_cxx::__verbose_terminate_handler): Guard against recursive + calls to terminate. + * src/demangle.cc (__cxa_demangle): Wrap in try-catch block. + + * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do + not set RLIMIT_AS on HP-UX. + +2004-02-21 Mark Mitchell + + * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do + not set RLIMIT_AS on HP-UX. + +2004-02-21 Paolo Carlini + + * include/bits/locale_facets.h (class money_base): Add { _S_minus, + _S_zero, _S_end } enum, _S_atoms. + (struct __moneypunct_cache<>): Parameterize on _Intl too; add + _M_grouping_size, _M_curr_symbol_size, _M_positive_sign_size, + _M_negative_sign_size, _M_atoms; tweak constructor consistently. + (__moneypunct_cache<>::~__moneypunct_cache): Update. + (__moneypunct_cache<>::_M_cache): Fill the cache. + (class moneypunct): Tweak __cache_type typedef. + (class money_put): Inherit from money_base too; tweak declaration + of _M_insert, now parameterized on _Intl. + * include/bits/locale_facets.tcc + (struct __use_cache<__moneypunct_cache<_CharT, _Intl> >): New. + (money_put<>::_M_insert): Update definition to use the cache; + call reserve on __res to avoid multiple reallocations. + (money_put<>::do_put(long double), + money_put<>::do_put(const string_type&): Update calls of _M_insert. + * config/locale/generic/monetary_members.cc + (moneypunct::_M_initialize_moneypunct, + moneypunct::_M_initialize_moneypunct, + moneypunct::_M_initialize_moneypunct, + moneypunct::_M_initialize_moneypunct): Update. + * config/locale/gnu/monetary_members.cc: Likewise. + * config/locale/gnu/monetary_members.cc + (moneypunct::~moneypunct(), + moneypunct::~moneypunct()): Likewise. + * src/globals_locale.cc: Tweak fake_money_cache_c. + * src/locale-inst.cc: Add instantiations for + money_put::_M_insert and money_put::_M_insert and + __moneypunct_cache, __moneypunct_cache. + * src/locale_facets.cc: Define money_base::_S_atoms. + * src/locale_init.cc: Update placement new of + __moneypunct_cache, __moneypunct_cache, + __moneypunct_cache, __moneypunct_cache. + + * config/locale/generic/numeric_members.cc: Clean up. + * config/locale/gnu/numeric_members.cc: Likewise. + * testsuite/22_locale/money_put/put/char/1.cc: Likewise. + * testsuite/22_locale/money_put/put/char/2.cc: Likewise. + * testsuite/22_locale/money_put/put/char/3.cc: Likewise. + * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise. + * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise. + * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise. + +2004-02-20 Mark Mitchell + + * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Open + FIFO for writing with ios_base::in|ios_base::out. + * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise. + * testsuite/27_io/objects/char/7.cc: Likewise. + * testsuite/27_io/objects/char/9661-1.cc: Open FIFO for writing + with "r+". + +2004-02-19 David Edelsohn + + * 22_locale/collate/compare/wchar_t/2.cc: Change input-charset + from iso-8859-1 to ISO8859-1. + * 22_locale/collate/compare/wchar_t/wrapped_env.cc: Same. + * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: Same. + * 22_locale/collate/hash/wchar_t/2.cc: Same. + * 22_locale/collate/hash/wchar_t/wrapped_env.cc: Same. + * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: Same. + * 22_locale/collate/transform/wchar_t/2.cc: Same. + * 22_locale/collate/transform/wchar_t/wrapped_env.cc: Same. + * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: Same. + +2004-02-18 Paolo Carlini + + * include/bits/locale_facets.h (money_get<>::_M_extract): + New, helper for do_get. + (money_put<>::_M_insert): Likewise, for do_put. + * include/bits/locale_facets.tcc (money_get<>::_M_extract, + money_put<>::_M_insert): Define. + (money_get<>::do_get(long double&), money_get<>::do_get( + string_type&), money_put::do_put(long double), + money_put::do_put(const string_type&)): Use the helpers. + +2004-02-18 Paolo Carlini + + * config/io/basic_file_stdio.cc (__gnu_internal::xwritev): + Rewrite, avoiding recursion. + (__gnu_internal::xwrite): Minor tweaks. + +2004-02-17 Stefan Olsson + + * include/ext/mt_allocator.h: Removed the last + pointer. Deallocated blocks are now added to the front of + freelists as proposed by Felix Yen. This gives roughly 10% + performance boost and saves some memory. + * docs/html/ext/mt_allocator.html: Change due to that deallocated + blocks now are added to the front of freelists. The reason to this + approach is also explained. + +2004-02-17 Paolo Carlini + + * include/bits/locale_facets.tcc (num_get<>::_M_extract_float, + num_get<>::_M_extract_int, money_get<>::do_get): Simplify + grouping fidelity conditional. + +2004-02-16 Paolo Carlini + + * testsuite/27_io/basic_filebuf/overflow/char/13858.cc: + Qualify exception with std::. + * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto. + * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto. + * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto. + * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto. + * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto. + +2004-02-16 Paolo Carlini + + * testsuite/ext/enc_filebuf/char/13189.cc: Don't check + for now that the catch block is not reached. + * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise. + +2004-02-16 Paolo Carlini + + * include/bits/locale_facets.tcc (money_get::do_get(string_type&)): + Fix parsing of the remaining sign characters. + * 22_locale/money_get/get/char/2.cc: Tweak: now, correctly, + the input is scanned 'til eof. + * 22_locale/money_get/get/char/4.cc: Likewise. + * 22_locale/money_get/get/wchar_t/2.cc: Likewise. + * 22_locale/money_get/get/wchar_t/4.cc: Likewise. + * 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format, + not do_pos_format: the former is the only one that matters during + input. + * 22_locale/money_get/get/wchar_t/8.cc: Likewise. + + * 22_locale/money_get/get/char/6.cc: Minor tweak. + * 22_locale/money_get/get/wchar_t/6.cc: Likewise. + +2004-02-15 David Asher + + PR libstdc++/11352 + * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't + access __olds beyond __oldlen. + +2004-02-14 Paolo Carlini + + * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make + sure the exception is actually thrown. + * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto. + * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto. + * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto. + +2004-02-14 Paolo Carlini + + PR libstdc++/13858 + * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external): + In case of conversion errors, throw ios_failure; simplify. + * testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New. + * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto. + * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak, + previously we didn't throw in case of conversion errors, instead + just returned eof(). + * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto. + * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto. + * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto. + + * include/bits/fstream.tcc (basic_filebuf<>::overflow): + Trivial simplification of a conditional. + +2004-02-12 Paolo Carlini + + PR libstdc++/13731 (final part: writev) + * config/io/basic_file_stdio.cc (__gnu_internal::xwritev): + New, a wrapper around writev() handling partial writes. + (__basic_file::xwrite): Move to __gnu_internal and make + static. + (__basic_file::xsputn): Update call. + (__basic_file::xsputn_2): Likewise. + * config/io/basic_file_stdio.h (__basic_file::xwrite): + Don't declare, now static. + +2004-02-11 Stefan Olsson + + * docs/html/ext/mt_allocator.html: New. + +2004-02-11 Benjamin Kosnik + + * docs/html/20_util/allocator.html: New file, consolidate + allocator information here. Revamp. + * docs/html/documentation.html: Change links. + * docs/html/20_util/howto.html: Same. + * docs/html/ext/howto.html: Same. + +2004-02-11 Paolo Carlini + + PR libstdc++/13731 (first part: write) + * config/io/basic_file_stdio.h (__basic_file::xwrite): + New, declare. + * config/io/basic_file_stdio.cc (__basic_file::xwrite): + Define it: a wrapper around write() handling partial write. + (__basic_file::xsputn): Use it. + (__basic_file::xsputn_2): Likewise. + +2004-02-11 Paolo Carlini + Petur Runolfsson + + PR libstdc++/14078 + * include/std/std_istream.h (operator>>(__istream_type& (*) + (__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)), + operator>>(ios_base& (*)(ios_base&))): Declare inline. + * include/std/std_ostream.h (operator<<(__ostream_type& (*) + (__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)), + operator<<(ios_base& (*) (ios_base&))): Likewise. + * testsuite/performance/27_io/fmtflags_manipulators.cc: New. + +2004-02-10 Loren J. Rittle + + PR libstdc++/14098 + * config/linker-map.gnu: Add typeinfo and typeinfo name for + __gnu_cxx::stdio_sync_filebuf >. + + PR libstdc++/14097 + * config/linker-map.gnu: Add typeinfo and typeinfo name for + __gnu_cxx::stdio_filebuf >. + +2004-02-09 Loren J. Rittle + + * include/ext/pool_allocator.h: Include c++config.h. + +2004-02-09 Stefan Olsson + + * include/ext/mt_allocator.h: thread_id is unused in non threaded + applications and now has a ifdef to remove it completely on + compilers without thread support. Include stdlib.h due to a + compiler warning on getenv(). + +2004-02-09 Paul Brook + + * libstdc++-v3/configure.host: Explicitly check for atomicity.h file. + +2004-02-09 Paolo Carlini + + PR libstdc++/14071 + * src/locale_init.cc (locale::global(const locale&)): Use + locale::name() in order to decide whether calling setlocale. + * testsuite/22_locale/locale/global_locale_objects/14071.cc: New. + + * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()): + Avoid computing &= unnecessarily. + 2004-02-09 James E Wilson PR libstdc++/5625 @@ -459,11 +1368,11 @@ 2004-01-29 Stephen M. Webb * config/local/generic/c_locale.h: Change ::malloc() to new char[]. - * config/local/gnu/c_locale.h: Change ::malloc() to new char[]. - * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use + * config/local/gnu/c_locale.h: Change ::malloc() to new char[]. + * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use std::get_temporary_buffer() instead of duplicating its code. Update to C++STYLE conventions. - * include/std/std_memory.h (get_temporary_buffer): Use ::operator + * include/std/std_memory.h (get_temporary_buffer): Use ::operator new() instead of std::malloc(). (return_temporary_buffer): Use ::operator delete() instead of std::free().