X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=libstdc%2B%2B-v3%2FChangeLog;h=6158511a8064354462550f634740c2716a5f45da;hp=f736c640fa859fc4c8912f9f4f86261f991bb04a;hb=6b5eba3069bfaf87535fcf2d75a566fc4d038ff3;hpb=7b0420368989001a7146b899a51e88bf8ae7a1cb diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index f736c640fa8..6158511a806 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,724 @@ +2004-11-19 Jonathan Wakely + + * include/bits/basic_string.h, include/bits/locale_classes.h, + include/bits/valarray_after.h, include/bits/valarray_before.h, + include/ext/stdio_sync_filebuf.h, include/std/std_algorithm.h, + include/std/std_functional.h, include/std/std_memory.h, + include/std/std_numeric.h: Doxygen fixes. + +2004-11-19 Paolo Carlini + + * testsuite/22_locale/time_get/get_date/char/1.cc: In the checks + use, more correctly (and consistently with other testcases) the + return value of the facet (the iterator arguments are by value). + * testsuite/22_locale/time_get/get_date/char/12791.cc: Likewise. + * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Likewise. + * testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: Likewise. + * testsuite/22_locale/time_get/get_monthname/char/1.cc: Likewise. + * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise. + * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise. + * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise. + * testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise. + * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise. + * testsuite/22_locale/time_get/get_year/char/1.cc: Likewise. + * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Likewise. + +2004-11-19 Jonathan Wakely + + * Makefile.am (doxygen, doxygen-maint, doxygen-man): Remove extra '$' + from host_alias variable. + * Makefile.in: Regenerate. + +2004-11-19 Chris Jefferson + + * include/bits/stl_list.h (list::back, list::back const): + Don't decrement temporary. + +2004-11-19 Paolo Carlini + + * include/bits/stl_deque.h (deque::front, deque::front const, + deque::back, deque::back const): Slightly tweak for stylistic + consistency. + +2004-11-18 Paolo Carlini + + * testsuite/26_numerics/numeric/sum_diff.cc: Use VERIFY. + * testsuite/ext/array_allocator/1.cc: Likewise. + * testsuite/ext/array_allocator/2.cc: Likewise. + * testsuite/ext/array_allocator/3.cc: Likewise. + * testsuite/ext/enc_filebuf/char/13598.cc: Likewise. + +2004-11-18 Paolo Carlini + + * include/bits/locale_facets.tcc (num_get<>::do_get(void*&)): + If the failbit is set, don't set it again. + (money_get<>::_M_extract): Minor stylistic tweak: consistently + with the other functions, take care of eofbit at the end. + +2004-11-18 Paolo Carlini + + DR 434. bitset::to_string() hard to use [Ready] + * include/std/std_bitset.h (to_string): Add three overloads, taking + fewer template arguments. + * docs/html/ext/howto.html: Add an entry for DR 434. + * testsuite/23_containers/bitset/to_string/1.cc: New. + +2004-11-17 Paolo Carlini + + * include/bits/istream.tcc (getline(basic_istream<>&, basic_string<>&, + _CharT)): Remove temporary kludge for libstdc++/15002. + * include/std/std_streambuf.h (class basic_streambuf): Declare + getline(basic_istream<>&, basic_string<>&, _CharT) as friend. + * include/bits/basic_string.h (getline(basic_istream<>&, + basic_string<>&, _CharT)): Declare optimized specializations for + char and wchar_t, using protected members of basic_streambuf. + * src/istream.cc: Define the latter. + +2004-11-16 Jonathan Wakely + + * docs/html/19_diagnostics/howto.html: Document change from + _GLIBCPP_CONCEPT_CHECKS to _GLIBCXX_CONCEPT_CHECKS in 3.4. + +2004-11-16 Matthias Klose + + * docs/doxygen/user.cfg.in: Set HAVE_DOT to NO. + +2004-11-16 Matthias Klose + + * Makefile.am (doxygen, doxygen-maint, doxygen-man): Use host_alias + instead of build_alias. + * docs/doxygen/run_doxygen: Likewise. + * docs/doxygen/user.cfg.in: Likewise. + * Makefile.in: Regenerate. + +2004-11-15 Paolo Carlini + + * include/bits/streambuf.tcc (__copy_streambufs): Provide + a generic version of the function, not using the protected + members of basic_streambuf. + * include/std/std_streambuf.h (__copy_streambufs): Declare + optimized specializations for char and wchar_t. + * src/streambuf.cc: New file, define the latter. + * src/Makefile.am: Add. + * src/Makefile.in: Regenerate. + +2004-11-15 Matthias Klose + + * docs/doxygen/run_doxygen: Add --build_alias option, + substitute it in docs/doxygen/user.cfg.in. + * docs/doxygen/user.cfg.in: Use build_alias. + * Makefile.am: Pass --build_alias to run_doxygen + * Makefile.in: Regenerate. + +2004-11-15 Benjamin Kosnik + + * testsuite/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.4. + +2004-11-15 Paolo Carlini + + * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 33. + +2004-11-14 Paolo Carlini + + * include/bits/streambuf_iterator.h (istreambuf_iterator::_M_get): + Slightly tweak for clarity (also leads to measurably better code). + +2004-11-12 Andrew Pinski + + PR other/14264 + * testsuite/lib/libstdc++.exp: Set LC_ALL and LANG to C. + +2004-11-09 Paolo Carlini + + * include/bits/locale_facets.tcc (time_get<>::do_get_weekday, + time_get<>::do_get_monthname): Absolutely avoid dereferencing + end iterators. + + * include/bits/locale_facets.tcc (time_get<>::_M_extract_name): + Minor tweak. + +2004-11-08 Benjamin Kosnik + Doug Gregor + + PR libstdc++/17664 + * src/debug.cc : Just use one mutex. + +2004-11-08 Benjamin Kosnik + + * configure.ac (libtool_VERSION): To 6:4:0. + * configure: Regenerate. + + * config/linker-map.gnu: Slide new symbols into GLIBCXX_3.4.4. + + * docs/doxygen/user.cfg.in: Add more extension files. + +2004-11-08 Paolo Carlini + + * include/bits/streambuf_iterator.h (class istreambuf_iterator): + Consistently use _M_c to cache the current char, i.e., not only + when operator++(int) is involved; change _M_c to mutable. + (_M_get()): Always save the return value of _M_sbuf->sgetc() into + _M_c. + * testsuite/22_locale/time_get/get_monthname/char/1.cc: Fix + (long standing) typo. + * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise. + * testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise. + * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise. + +2004-11-08 Paolo Carlini + + * include/bits/istream.tcc (getline(char_type*, streamsize, + char_type), ignore(streamsize), ignore(streamsize, int_type)): + Restore a generic version of the functions, not using the + protected members of basic_streambuf. + * include/std/std_istream.h (getline(char_type*, streamsize, + char_type), ignore(streamsize), ignore(streamsize, int_type)): + Declare optimized specializations for char and wchar_t. + * src/istream.cc: New file, define the latter. + * src/Makefile.am: Add. + * src/Makefile.in: Regenerate. + +2004-11-07 Paolo Carlini + + * testsuite/performance/27_io/ifstream_getline-2.cc: New. + +2004-11-05 Benjamin Kosnik + + PR libstdc++/17218 + PR libstdc++/17223 + * docs/doxygen/filter: Remove. + * docs/doxygen/filter.sed: Remove. + * docs/doxygen/mainpage.html: Add link to functions. + * docs/doxygen/run_doxygen: Changes due to new source filtering. + * docs/doxygen/user.cfg.in: Update to doxygen 1.3.9.1, tweak. + * include/bits/allocator.h: Tweaks for doxygen. + * include/bits/char_traits.h: Same. + * include/bits/codecvt.h: Same. + * include/bits/concurrence.h: Same. + * include/bits/locale_facets.h: Same. + * include/ext/array_allocator.h: Same. + * include/ext/debug_allocator.h: Same. + * include/ext/malloc_allocator.h: Same. + * include/ext/mt_allocator.h: Same. + * include/ext/new_allocator.h: Same. + * include/ext/pool_allocator.h: Same. + * include/ext/stdio_sync_filebuf.h: Same. + * include/std/std_memory.h: Same. + * include/tr1/array: Same. + * include/tr1/tuple: Same. + * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Same. + * config/os/gnu-linux/ctype_base.h: Same. + +2004-11-04 Paolo Carlini + + * include/bits/locale_facets.tcc (num_get<>::do_get(bool&)): + Evaluate __beg == __end the exact strict minimum number of times. + +2004-11-03 Jonathan Wakely + + * include/bits/stl_numeric.h (partial_sum, adjacent_difference): + Avoid dereferencing two times __first in the prologue. + +2004-11-03 Paolo Carlini + + * include/bits/stl_numeric.h: Trivial formatting fixes. + +2004-11-03 Benjamin Kosnik + + * include/bits/c++config: Spacing. + * libsupc++/del_op.cc: Include c++config.h. + * libsupc++/del_opnt.cc: Same. + * libsupc++/del_opv.cc: Same. + * libsupc++/del_opvnt.cc: Same. + * libsupc++/new_op.cc: Same. + * libsupc++/new_opnt.cc: Same. + * libsupc++/new_opv.cc: Same. + * libsupc++/new_opvnt.cc: Same. + +2004-11-03 Aaron W. LaFramboise + + * config/os/bsd/darwin/os_defines.h + (_GLIBCXX_WEAK_DEFINITION): Define. + * include/bits/c++config (_GLIBCXX_WEAK_DEFINITION): Define. + * libsupc++/del_op.cc (operator delete(void *)): Use + _GLIBCXX_WEAK_DEFINITION. + * libsupc++/del_opnt.cc + (operator delete(void *, const std::nothrow_t&)): Same. + * libsupc++/del_opv.cc (operator delete[](void *)): Same. + * libsupc++/del_opvnt.cc + (operator delete[](void *, const std::nothrow_t&)): Same. + * libsupc++/new_op.cc (operator new(std::size_t)): Same. + * libsupc++/new_opnt.cc + (operator new(std::size_t, const std::nothrow_t&)): Same + * libsupc++/new_opv.cc (operator new[](std::size_t)): Same. + * libsupc++/new_opvnt.cc + (operator new[](std::size_t, const std::nothrow_t&)): Same. + +2004-11-02 Paolo Carlini + + * include/bits/locale_facets.tcc (num_get<>::_M_extract_int): + Evaluate *__beg the exact strict minimum number of times; likewise + for __beg != __end; slightly simplify main parsing loop. + +2004-11-02 Benjamin Kosnik + Lothar Werzinger + + PR libstdc++/17664 + * src/debug.cc: Include concurrence, use mutexes. + (_Safe_iterator_base::_M_attach): Here. + (_Safe_iterator_base::_M_detach): Here. + +2004-11-02 Benjamin Kosnik + + PR libstdc++/17922 + * include/bits/ios_base.h : Add enum values. + * testsuite/testsuite_hooks.h (bitmask_operators): Add function. + * testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc: New. + * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: New. + * testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc: New. + * testsuite/27_io/ios_base/types/iostate/case_label.cc: New. + * testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc: New. + * testsuite/27_io/ios_base/types/openmode/case_label.cc: New. + * testsuite/27_io/ios_base/types/seekdir/case_label.cc: New. + + * config/io/c_io_stdio.h (__ios_flags): Mark deprecated. + * src/ios.cc: Same. + + * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers. + * testsuite/27_io/ios_base/cons/copy_neg.cc: Same. + +2004-11-01 Momchil Velikov + + PR libstdc++/18185 + * libsupc++/eh_globals.cc (get_globals_dtor): Delete unhandled + exceptions. + * testsuite/thread/18185.cc: New. + +2004-11-01 Chris Jefferson + + PR libstdc++/18159 + * include/tr1/tuple (get(pair)): Change occurrences of _I to _Int. + (get(const pair)): Likewise. + +2004-11-01 Paolo Carlini + + * include/bits/locale_facets.tcc (num_get<>::_M_extract_float): + Evaluate *__beg the exact strict minimum number of times; likewise + for __beg != __end; in the main parsing loop, call ++__beg in two + places only. The former is also a correctness issue, because, + according to the standard (22.2.2.1.2, Stage 2), 'in' shall be + dereferenced only one time for each increment. + +2004-10-31 Benjamin Kosnik + + PR c++/16728 + * testsuite/23_containers/set/modifiers/16728.cc: New. + +2004-10-30 Paolo Carlini + + * include/ext/bitmap_allocator.h (allocate(size_type)): Minor tweak. + + * testsuite/ext/bitmap_allocator/check_delete.cc: New. + * testsuite/ext/bitmap_allocator/check_new.cc: Likewise. + +2004-10-29 Geoffrey Keating + + * configure.host (darwin*): Set os_include_dir to a separate directory + for Darwin. + * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Add a new C locale kind, + 'darwin'. + * config/locale/darwin/ctype_members.cc: New. + * config/os/bsd/darwin/ctype_base.h: New. + * config/os/bsd/darwin/ctype_inline.h: New. + * config/os/bsd/darwin/ctype_noninline.h: New. + * config/os/bsd/darwin/os_defines.h: New. + + * testsuite/22_locale/locale/cons/12658_thread-1.cc: Only xfail + on Linux. + +2004-10-29 Chris Jefferson + + * include/bit/stl_algo.h (find_first_of(,,,,pred)): + Remove invalid EqualOpConcept. + * testsuite/25_algorithms/find_first_of/concept_check_1.cc: New. + +2004-10-29 Benjamin Kosnik + + * testsuite/testsuite_allocator.h (check_delete): New. + (check_new): Simplify. + * testsuite/ext/array_allocator/check_delete.cc: New. + * testsuite/ext/array_allocator/check_new.cc: Simplify. + * testsuite/ext/debug_allocator/check_delete.cc: New. + * testsuite/ext/debug_allocator/check_new.cc: Simplify. + * testsuite/ext/malloc_allocator/check_delete.cc: New. + * testsuite/ext/malloc_allocator/check_new.cc: Simplify. + * testsuite/ext/mt_allocator/check_delete.cc: New. + * testsuite/ext/mt_allocator/check_new.cc: Simplify. + * testsuite/ext/new_allocator/check_delete.cc: New. + * testsuite/ext/new_allocator/check_new.cc: Simplify. + * testsuite/ext/pool_allocator/check_delete.cc: New. + * testsuite/ext/pool_allocator/check_new.cc: Simplify. + +2004-10-28 Chris Jefferson + + PR libstdc++/18159 + * include/tr1/tuple: Fix, change formatting. + +2004-10-28 Benjamin Kosnik + + * include/ext/mt_allocator.h (__common_pool_policy): Add template + template parameter for pool class type. + (__per_type_pool_policy): Same. + (__mt_allocator): Don't inherit policy. Qualify policy_type calls. + * testsuite/ext/mt_allocator/check_deallocate_null.cc: Fix. + * testsuite/ext/mt_allocator/check_deallocate_null_thread.cc: Same. + * testsuite/ext/mt_allocator/deallocate_global-2.cc: Same. + * testsuite/ext/mt_allocator/deallocate_global-4.cc: Same. + * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Same. + * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Same. + * testsuite/ext/mt_allocator/deallocate_local-2.cc: Same. + * testsuite/ext/mt_allocator/deallocate_local-4.cc: Same. + * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Same. + * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Same. + * testsuite/ext/mt_allocator/instantiate.cc: Same. + * testsuite/ext/mt_allocator/tune-1.cc: Same. + * testsuite/ext/mt_allocator/tune-2.cc: Same. + * testsuite/ext/mt_allocator/tune-3.cc: Same. + * testsuite/ext/mt_allocator/tune-4.cc: Same. + +2004-10-28 Paolo Carlini + + * include/bits/locale_facets.tcc (num_get<>::_M_extract_float): + Cache *__beg in __c when parsing exponent sign too. + (num_get<>::do_get(..., bool&)): Cache *__beg. + (money_get<>::_M_extract)): Likewise, in money_base::value. + +2004-10-27 Paolo Carlini + + * include/bits/basic_string.h (assign(const basic_string&)): + Move out of line... + * include/bits/basic_string.tcc: ... here. + +2004-10-27 Paolo Carlini + + * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe): + Move out of line... + * include/bits/basic_string.tcc: ... here. + +2004-10-26 Paolo Carlini + + * include/bits/basic_string.h (append(const basic_string&), + append(size_type, _CharT)): Move out of line... + * include/bits/basic_string.tcc: ... here. + +2004-10-26 Paolo Carlini + + * include/bits/basic_string.h (erase(size_type, size_type), + erase(iterator), erase(iterator, iterator)): Call _M_mutate + instead of _M_replace_safe, equivalent when the fourth argument + is zero and simpler. + +2004-10-26 Benjamin Kosnik + + * include/ext/array_allocator.h (array::allocate): Check for valid + array object, use its size member function directly. + * testsuite/ext/array_allocator/3.cc: New. + * docs/html/20_util/allocator.html: Add docs. + +2004-10-25 Geoffrey Keating + + * configure.host (darwin*): Build libstdc++ single module + and flat namespace. + * libsupc++/new_op.cc (new): Make weak. + * libsupc++/new_opnt.cc (new): Make weak. + * libsupc++/new_opv.cc (new): Make weak. + * libsupc++/new_opvnt.cc (new): Make weak. + * libsupc++/delete_op.cc (delete): Make weak. + * libsupc++/delete_opnt.cc (delete): Make weak. + * libsupc++/delete_opv.cc (delete): Make weak. + * libsupc++/delete_opvnt.cc (delete): Make weak. + +2004-10-25 Benjamin Kosnik + + * testsuite/Makefile.am (GLIBCXX_INCLUDES): Add. + (AUTOMAKE_OPTIONS): Add nostdinc. + * testsuite/Makefile.in: Regenerate. + * scripts/testsuite_flags.in (build-includes): Remove redundant + search for libsupc++. + * fragment.am: Clean. + +2004-10-25 Benjamin Kosnik + + * include/Makefile.am (tr1_headers): Add tuple. + * include/Makefile.in: Regenerate. + +2004-10-25 Chris Jefferson + + * include/tr1/tuple: Implementation of tuple from library TR. + * testsuite/tr1/6_containers/tuple/tuple_element.cc: New. + * testsuite/tr1/6_containers/tuple/tuple_size.cc: New. + * testsuite/tr1/6_containers/tuple/comparison_operators/comparisons.cc: + New. + * testsuite/tr1/6_containers/tuple/cons/assignment.cc: New. + * testsuite/tr1/6_containers/tuple/cons/big_tuples.cc: New. + * testsuite/tr1/6_containers/tuple/cons/constructor.cc: New. + * testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc: + New. + * testsuite/tr1/6_containers/tuple/creation_functions/tie.cc: New. + * testsuite/tr1/6_containers/tuple/element_access/get.cc: New. + +2004-10-25 Paolo Carlini + + * include/bits/basic_string.h (_Rep::_M_is_safe): Move to + basic_string as _M_disjunct, adjust to take only __s. + * include/bits/basic_string.tcc: Adjust consistently callers. + +2004-10-25 Paolo Carlini + + * include/bits/basic_string.tcc (assign(const _CharT*, size_type)): + Adjust bit missing from the previous commit. + +2004-10-25 Eric Botcazou + + PR other/18138 + * testsuite/lib/libstdc++.exp: Accept more than one multilib libgcc. + +2004-10-25 Paolo Carlini + + * include/bits/basic_string.h (_Rep::_M_is_safe, _M_check_length, + _M_move, _M_copy, _M_assign): New, use througout. + (operator+=(_CharT)): Define in terms of push_back. + (append(const basic_string&)): Define here, inline, and simplify, + don't use the full _M_replace_safe. + (append(size_type, _CharT)): Likewise, don't use _M_replace_aux. + (push_back): Likewise. + (assign(const basic_string&)): Define here, inline. + * include/bits/basic_string.tcc (append(const _CharT* s, size_type): + Fix: when s points inside the _Rep, upon reallocation (reserve) we + were copying from deallocated memory. + (append(const basic_string&, size_type, size_type)): Simplify, + don't use _M_replace_safe. + (replace(size_type, size_type, const _CharT*, size_type)): Slightly + tweak. + (reserve): Likewise. + * testsuite/21_strings/basic_string/append/char/2.cc: New. + * testsuite/21_strings/basic_string/append/char/3.cc: Likewise. + * testsuite/21_strings/basic_string/append/wchar_t/2.cc: Likewise. + * testsuite/21_strings/basic_string/append/wchar_t/3.cc: Likewise. + + * testsuite/21_strings/basic_string/assign/char/3.cc: Remove junk. + * testsuite/21_strings/basic_string/assign/wchar_t/3.cc: Likewise. + +2004-10-23 Andrew Pinski + + * testsuite/ext/mt_allocator/deallocate_global-2.c: + s/value_t/value_type/. s/traits_t/traits_type/. + s/policy_t/policy_type/. s/allocator_t/allocator_type/. + s/string_t/string_type/. s/list_t/list_type/. + * testsuite/ext/mt_allocator/deallocate_global-4.cc: Likewise. + * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Likewise. + * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Likewise. + * testsuite/ext/mt_allocator/deallocate_local-2.cc: Likewise. + * testsuite/ext/mt_allocator/deallocate_local-4.cc: Likewise. + * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Likewise. + * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Likewise. + +2004-10-21 Benjamin Kosnik + + * include/tr1/array (array): Make safe for zero-sized arrays. + (array::end): Return one past the end. + (array::at): Use __throw_out_of_range, include functexcept.h. + (operator==): Implement. + (operator!=): Same. + (operator<): Same. + (operator>): Same. + (operator>=): Same. + (operator<=): Same. + * testsuite/tr1/6_containers/array/capacity/(empty.cc, + max_size.cc, size.cc): New. + * testsuite/tr1/6_containers/array/comparison_operators/(equal.cc, + greater.cc, greater_or_equal.cc, less.cc, less_or_equal.cc, + not_equal): New. + * testsuite/tr1/6_containers/array/cons/aggregate_initialization.cc: + New. + * testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc: + New. + * testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc: New. + * testsuite/tr1/6_containers/array/requirements/(contiguous.cc, + instantiate, typedefs, zero_size_arrays): New. + +2004-10-21 Paolo Carlini + Benjamin Kosnik + + * include/bits/basic_string.h (_M_set_length_and_sharable): New. + * include/bits/basic_string.tcc (_S_construct, assign(const _CharT*, + size_type), _M_mutate, _M_clone): Use it. + (_Rep::_S_create): Don't set/call _M_length/_M_set_sharable here. + +2004-10-21 Paolo Carlini + Dhruv Matani + Nathan Myers + + * include/bits/vector.tcc (_M_insert_aux, _M_fill_insert, + _M_range_insert): Check at the outset that we are not trying + to exceed max_size, then deal properly with __len overflows. + * testsuite/23_containers/vector/modifiers/insert/1.cc: New. + + * testsuite/testsuite_allocator.h: Remove redundant include. + +2004-10-20 Paolo Carlini + + * include/ext/bitmap_allocator.h (allocate): Throw std::bad_alloc + when n > max_size(). + * include/ext/malloc_allocator.h (allocate): Likewise. + * include/ext/mt_allocator.h (allocate): Likewise. + * include/ext/new_allocator.h (allocate): Likewise. + * include/ext/array_allocator.h: Use __throw_bad_alloc(). + * include/ext/pool_allocator.h: Use __builtin_expect. + * testsuite/ext/array_allocator/check_allocate_max_size.cc: New. + * testsuite/ext/bitmap_allocator/check_allocate_max_size.cc: Likewise. + * testsuite/ext/malloc_allocator/check_allocate_max_size.cc: Likewise. + * testsuite/ext/mt_allocator/check_allocate_max_size.cc: Likewise. + * testsuite/ext/new_allocator/check_allocate_max_size.cc: Likewise. + * testsuite/ext/pool_allocator/check_allocate_max_size.cc: Likewise. + * testsuite/testsuite_allocator.h (check_allocate_max_size): New test. + +2004-10-19 Paolo Carlini + + * testsuite/performance/20_util/allocator/list_sort_search.cc: + Include . + * testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise. + +2004-10-18 Paolo Carlini + + * include/bits/basic_string.tcc (_M_mutate): Do not reallocate + unnecessarily when _M_rep() == &_S_empty_rep() and __new_size + == capacity() (== 0): is ok to just leave everything unchanged. + + * include/bits/basic_string.h: Minor formatting fixes. + * include/bits/basic_string.tcc: Likewise. + +2004-10-17 Benjamin Kosnik + + * include/ext/mt_allocator.h (__pool::_M_get_align): New. + (__mt_alloc::allocate): Use it. + * src/mt_allocator.cc (__pool::_M_reclaim_block): Use it. + (__pool::_M_reserve_block): Simplify block allocation. + +2004-10-17 Dhruv Matani + Paolo Carlini + + * include/ext/bitmap_allocator.h: Change unsigned int -> size_t: this + makes the code 64-bit correct and also fixes (together with using at + the beginning a bitmap 2 * size_t bytes wide) alignment issues: now + 8 is guaranteed, easily tunable to 16 via _BALLOC_ALIGN_BYTES. + Fix pthread-rope7.cc fail by nulling out __mini_vector<> destructor. + * src/bitmap_allocator.cc: Change to size_t. + * config/linker-map.gnu: Adjust. + +2004-10-16 Benjamin Kosnik + + * include/tr1/array: Don't use layout_type. + +2004-10-16 Sashan Govender + + * include/tr1/array (array::end const): Fix casting from iterator + to const_iterator. + +2004-10-15 Paolo Carlini + + * include/ext/bitmap_allocator.h: Qualify ::operator delete. + * src/bitmap_allocator.cc: Likewise. + * src/mt_allocator.cc: Use ::operator delete, not delete, + consistently with ::operator new. + + * include/ext/bitmap_allocator.h (deallocate): Check for null + pointer. + * testsuite/ext/bitmap_allocator/check_deallocate_null.cc: New. + * testsuite/testsuite_allocator.h (check_deallocate_null): Add test. + +2004-10-14 Benjamin Kosnik + + * include/ext/mt_allocator.h (__mt_alloc::deallocate): Check for + null pointer. + * include/ext/pool_allocator.h (debug_allocator::deallocate): + Check pointer value. + * include/ext/debug_allocator.h (debug_allocator::deallocate): + Throw exceptions, don't abort. + * include/ext/array_allocator.h + (array_allocator_base::deallocate): Remove unused parameters. + * testsuite/testsuite_allocator.h (check_deallocate_null): New. + * testsuite/ext/mt_allocator/check_deallocate_null.cc: New. + * testsuite/ext/mt_allocator/check_deallocate_null_thread.cc: New. + * testsuite/ext/array_allocator/check_deallocate_null.cc: New. + * testsuite/ext/debug_allocator/check_deallocate_null.cc: New. + * testsuite/ext/malloc_allocator/check_deallocate_null.cc: New. + * testsuite/ext/new_allocator/check_deallocate_null.cc: New. + * testsuite/ext/pool_allocator/check_deallocate_null.cc: New. + + * testsuite/testsuite_allocator.h (check_new): Add instance argument. + * testsuite/ext/array_allocator/check_new.cc: New. + +2004-10-14 Paolo Carlini + + * include/ext/bitmap_allocator.h (bitmap_allocator::_Alloc_block): + Rename __unused to __M_unused. + +2004-10-14 Benjamin Kosnik + + * testsuite/ext/headers.cc: Add includes, compile only. + * testsuite/ext/hash_map.cc: Move to... + * testsuite/ext/hash_map/1.cc: ...here. + * testsuite/ext/14648.cc: Move to... + * testsuite/ext/hash_map/14648.cc: ...here. + * testsuite/ext/hash_map/instantiate.cc: Add. + * testsuite/ext/hash_set.cc: Move to... + * testsuite/ext/hash_set/1.cc: ...here. + * testsuite/ext/hash_set_explicit_instantiation.cc: Move to... + * testsuite/ext/hash_set/instantiate.cc: ...here. + * testsuite/ext/hash_check_construct_destroy.cc: Move to... + * testsuite/ext/hash_set/check_construct_destroy.cc: ...here. + * testsuite/ext/slist_check_construct_destroy.cc: Move to... + * testsuite/ext/slist/check_construct_destroy.cc: ...here. + * testsuite/ext/slist_explicit_instantiation.cc: Move to... + * testsuite/ext/slist/instantiate.cc: ...here. + +2004-10-14 Benjamin Kosnik + + * include/ext/mt_allocator.h: Tweaks. + * src/mt_allocator.cc: Same. + +2004-10-14 Dhruv Matani + + * ext/bitmap_allocator.h: Clean-up add/remove functions. + * src/bitmap_allocator.cc: New file. Contains the out-of-line + function definitions, static initialization of variables, and + explicit instantiations needed for the allocator. + * src/Makefile.am: Add. + * src/Makefile.in: Regenerate. + * config/linker.map.gnu: Add the necessary symbols. + +2004-10-13 Paolo Carlini + + * include/bits/basic_string.tcc (_S_create): Use consistently + the exponential policy, simplify. + * testsuite/performance/21_strings/string_append_2.cc: New. + + * include/ext/array_allocator.h (allocate): Fix bad_alloc check. + * testsuite/ext/array_allocator/2.cc: Fix wrt 64-bit archs (in + that case sizeof(_Rep) == 24). + +2004-10-12 Paolo Carlini + + PR libstdc++/17948 + * include/bits/stl_tree.h (erase(iterator, iterator)): Revert + wrong commit of 2004-10-07. + +2004-10-12 Scott Snyder + + PR libstdc++/17948 + * testsuite/23_containers/set/modifiers/17948.cc: New. + 2004-10-11 Benjamin Kosnik * include/bits/stl_deque.h: Correct for over-long lines.