Skip to content
Snippets Groups Projects
ChangeLog-2004 252 KiB
Newer Older
	(_Safe_iterator_base::_M_attach): Here.
	(_Safe_iterator_base::_M_detach): Here.

2004-11-02  Benjamin Kosnik  <bkoz@redhat.com>

	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  <velco@fadata.bg>

	PR libstdc++/18185
	* libsupc++/eh_globals.cc (get_globals_dtor): Delete unhandled
	exceptions.
	* testsuite/thread/18185.cc: New.
2004-11-01  Chris Jefferson  <chris@bubblescope.net>

	PR libstdc++/18159
	* include/tr1/tuple (get(pair)): Change occurrences of _I to _Int.
	(get(const pair)): Likewise.

2004-11-01  Paolo Carlini  <pcarlini@suse.de>

	* 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  <bkoz@redhat.com>

	PR c++/16728
	* testsuite/23_containers/set/modifiers/16728.cc: New.

2004-10-30  Paolo Carlini  <pcarlini@suse.de>

	* 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  <geoffk@apple.com>

	* 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  <chris@bubblescope.net>

	* 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  <bkoz@redhat.com>

	* 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  <chris@bubblescope.net>

	PR libstdc++/18159
	* include/tr1/tuple: Fix, change formatting.

2004-10-28  Benjamin Kosnik  <bkoz@redhat.com>

	* 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  <pcarlini@suse.de>

	* 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  <pcarlini@suse.de>

	* include/bits/basic_string.h (assign(const basic_string&)):
	Move out of line...
	* include/bits/basic_string.tcc: ... here.

2004-10-27  Paolo Carlini  <pcarlini@suse.de>

	* 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  <pcarlini@suse.de>

	* 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  <pcarlini@suse.de>

	* 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  <bkoz@redhat.com>

	* 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  <geoffk@apple.com>

	* 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  <bkoz@redhat.com>

	* 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  <bkoz@redhat.com>

	* include/Makefile.am (tr1_headers): Add tuple.
	* include/Makefile.in: Regenerate.

2004-10-25  Chris Jefferson  <chris@bubblescope.net>

        * 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  <pcarlini@suse.de>
	* 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  <pcarlini@suse.de>

	* include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
	Adjust bit missing from the previous commit.

2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>

	PR other/18138
	* testsuite/lib/libstdc++.exp: Accept more than one multilib libgcc.

2004-10-25  Paolo Carlini  <pcarlini@suse.de>

	* 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  <pinskia@physics.uc.edu>

	* 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  <bkoz@redhat.com>

	* 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:
	* 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  <pcarlini@suse.de>
	    Benjamin Kosnik  <bkoz@redhat.com>

	* 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  <pcarlini@suse.de>
	    Dhruv Matani  <dhruvbird@gmx.net>
	    Nathan Myers  <ncm@cantrip.org>

	* 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  <pcarlini@suse.de>

	* 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  <pcarlini@suse.de>

	* testsuite/performance/20_util/allocator/list_sort_search.cc:
	Include <ext/new_allocator.h>.
	* testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.

2004-10-18  Paolo Carlini  <pcarlini@suse.de>

	* 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  <bkoz@redhat.com>

	* 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  <dhruvbird@gmx.net>
	    Paolo Carlini  <pcarlini@suse.de>
	* 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  <bkoz@redhat.com>

	* include/tr1/array: Don't use layout_type.

2004-10-16  Sashan Govender  <sashang@gmail.com>

	* include/tr1/array (array::end const): Fix casting from iterator
	to const_iterator.
2004-10-15  Paolo Carlini  <pcarlini@suse.de>

	* 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  <bkoz@redhat.com>

	* 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  <pcarlini@suse.de>

	* include/ext/bitmap_allocator.h (bitmap_allocator::_Alloc_block):
	Rename __unused to __M_unused.

2004-10-14  Benjamin Kosnik  <bkoz@redhat.com>

	* 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  <bkoz@redhat.com>

	* include/ext/mt_allocator.h: Tweaks.
	* src/mt_allocator.cc: Same.

2004-10-14  Dhruv Matani  <dhruvbird@gmx.net>

	* 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  <pcarlini@suse.de>

	* 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  <pcarlini@suse.de>

	PR libstdc++/17948
	* include/bits/stl_tree.h (erase(iterator, iterator)): Revert
	wrong commit of 2004-10-07.
2004-10-12  Scott Snyder  <snyder@fnal.gov>

	PR libstdc++/17948
	* testsuite/23_containers/set/modifiers/17948.cc: New.

2004-10-11  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/stl_deque.h: Correct for over-long lines.

2004-10-11  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/17937
	* include/ext/mt_allocator.h (__pool::_M_destroy): New.
	* src/mt_allocator.cc (__pool::~__pool): Change definitions to
	_M_destroy.
	* acconfig.h: Remove _GLIBCXX_USE___CXA_ATEXIT.
	* acinclude.m4 (GLIBCXX_ENABLE_CXA_ATEXIT): Remove.
	* configure.ac: Remove call to GLIBCXX_ENABLE_CXA_EXIT.
	* configure: Regenerate.
	* config/linker-map.gnu: Tweak exports.
	* docs/html/ext/mt_allocator.html: Update docs.
	* testsuite/ext/mt_allocator/deallocate_global-2.cc: Fix.
	* testsuite/ext/mt_allocator/deallocate_global-4.cc: Fix.
	* testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Fix.
	* testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Fix.
	* testsuite/ext/mt_allocator/deallocate_local-2.cc: Fix.
	* testsuite/ext/mt_allocator/deallocate_local-4.cc: Fix.
	* testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Fix.
	* testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Fix.

2004-10-11  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/16614 continued.
	* include/ext/mt_allocator.h
	(__per_type_pool_policy::_S_get_pool): Use saner defaults based on
	specific type characteristics.
	(__pool_base): Add constructor that takes a _Tune argument.
	(__pool): Same.
	* testsuite/ext/mt_allocator/tune-2.cc: Adjust default.
	* testsuite/ext/mt_allocator/tune-4.cc: Same.
	* testsuite/ext/mt_allocator/tune-3.cc: Same.

2004-10-11  Joachim Kuebart  <kuebart@mathematik.uni-ulm.de>
	    Paolo Carlini  <pcarlini@suse.de>

	* src/pool_allocator.cc (__pool_alloc_base::_M_allocate_chunk):
	Deal properly with exceptions thrown by ::operator new(size_t).
	* testsuite/ext/pool_allocator/allocate_chunk.cc: New.

	* include/ext/pool_allocator.h: Include <cstdlib>.

2004-10-10  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/functexcept.h: Add guards.

	* acinclude.m4 (GLIBCXX_ENABLE_THREADS): Tweak test.
	* configure: Regenerate.
2004-10-10  Paolo Carlini  <pcarlini@suse.de>

	* config/locale/gnu/monetary_members.cc (_S_construct_pattern):
	Give __ret a default value, thus avoiding spurious warnings.

	* testsuite/performance/27_io/filebuf_sgetn_unbuf.cc: Open either
	words or linux.words, otherwise exit.
	* testsuite/performance/27_io/ifstream_getline.cc: Slighlty tweak.

2004-10-09  Paolo Carlini  <pcarlini@suse.de>

	* include/std/std_memory.h (__get_temporary_buffer): Don't use
	INT_MAX, prefer numeric_limits<ptrdiff_t>::max(), ok on 64-bit
	platforms too.
	* testsuite/20_util/memory/auto_ptr/assign_neg.cc: Adjust dg-error
	line numbers.

2004-10-08  Benjamin Kosnik  <bkoz@redhat.com>

	* acconfig.h: Add _GLIBCXX_USE___CXA_ATEXIT.
	* acinclude.m4 (GLIBCXX_ENABLE_CXA_ATEXIT): New.
	* configure.ac: Call GLIBCXX_ENABLE_CXA_EXIT.
	* configure: Regenerate.
	* src/mt_allocator.cc (__pool::~__pool): Make conditional on
	_GLIBCXX_USE___CXA_ATEXIT macro.
	* docs/html/ext/mt_allocator.html: Add note about deallocation.
	* testsuite/ext/mt_allocator/deallocate_local-2.cc: Guard checks
	with _GLIBCXX_USE___CXA_ATEXIT.
	* testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Same.
	* testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Same.
	* testsuite/ext/mt_allocator/deallocate_global-4.cc: Same.
	* testsuite/ext/mt_allocator/deallocate_global-2.cc: Same.
	* testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Same.
	* testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Same.
	* testsuite/ext/mt_allocator/deallocate_local-4.cc: Same.
2004-10-07  Phil Edwards  <phil@codesourcery.com>

	* testsuite/lib/libstdc++.exp:  Update list of undefined functions.

2004-10-07  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/list.tcc (operator=): Avoid iterator postincrement.
	* include/bits/stl_tree.h (erase(iterator, iterator)): Likewise.

2004-10-07  Benjamin Kosnik  <bkoz@redhat.com>

	* include/tr1: New.
	* include/tr1/array: New.
	* include/Makefile.am (tr1_headers): New.
	(stamp-tr1): New.
	(install-headers): New.
	(allstamped): Add stamp-tr1.

	* include/ext/array_allocator.h: New.
	* include/Makefile.am: Add.
	* include/Makefile.in: Regenerate.
	* testsuite/ext/array_allocator/1.cc: New.
	* testsuite/ext/array_allocator/2.cc: New.

2004-10-07  Richard Earnshaw  <rearnsha@arm.com>

	* testsuite/lib/libstdc++.exp (libstdc++_exit): New proc.

2004-10-07  Roger Sayle  <roger@eyesopen.com>

	PR libstdc++/17850
	* configure.ac: Newlib does not provide strtold.
	* configure: Regenerate.

2004-10-06  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCXX_ENABLE_THREADS): Set enable_thread.
	(GLIBCXX_CONFIGURE_TESTSUITE): Use it.
	* configure: Regenerated.
	* testsuite/Makefile.am (CLEANFILES): Add TEST for
	check-performance executables.
	(stamp_thread): New.
	(all-local): Use it.
	* testsuite/Makefile.in: Regenerate.
	* scripts/create_testsuite_files: Filter thread tests.

	* testsuite/thread/pthread1.cc: Remove macro conditionals: this
	file will only be run by thread enabled configurations.
	* testsuite/thread/pthread7-rope.cc: Same, add rope_type typedef.
	* testsuite/thread/pthread6.cc: Same.
	* testsuite/thread/pthread5.cc: Same.
	* testsuite/thread/pthread4.cc: Same.
	* testsuite/thread/pthread3.cc: Same.
	* testsuite/thread/pthread2.cc: Same.

	* testsuite/ext/mt_allocator/instantiate.cc: Add in __GTHREADS guard.
	* testsuite/ext/mt_allocator/deallocate_global-1.cc: Move to...
	* testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: ...here.
	* testsuite/ext/mt_allocator/deallocate_global-3.cc: Move to...
	* testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: ...here.
	* testsuite/ext/mt_allocator/deallocate_local-1.cc: Move to...
	* testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: ...here.
	* testsuite/ext/mt_allocator/deallocate_local-3.cc: Move to...
	* testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: ...here.

2004-10-06  Benjamin Kosnik  <bkoz@redhat.com>
	    Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/17780
	* src/mt_allocator.cc (__pool<true>::_M_reserve_block): Revert
	to old locking order.

2004-10-06  Paolo Carlini  <pcarlini@suse.de>

	* include/std/std_sstream.h (_M_sync): When the caller is
	setbuf, don't trust _M_string.capacity() to be the size of
	the buffer area, use _M_string.size() in this case.
	* testsuite/27_io/basic_stringbuf/setbuf/char/4.cc: New.
	* testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc: Likewise.

	* include/bits/sstream.tcc (overflow): Avoid calling string::assign
	unnecessarily when the current _M_string is empty.

2004-10-06  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algo.h (__reverse(bidirectional_iterator_tag)):
	Avoid iterator postincrement.
	(__rotate): Likewise.

	* include/bits/stl_algo.h: Minor formatting tweaks.

2004-10-06  Christopher Jefferson <caj@cs.york.ac.uk>

	* include/bits/stl_algo.h (__reverse(random_access_iterator_tag)):
	Avoid iterator postincrement; fix swapping middle element with
	itself on odd-length inputs.

2004-10-05  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/17780
	* include/ext/mt_allocator.h (__pool_base::_Tune): Add default
	options as compile-time constant enums.
	(__pool_base::_Tune::is_default): New.
	(__pool_base::_Block_address): New.
	(__pool_base): Rearrange data members.
	(__pool::_M_reserve_memory): To _M_reserve_block.
	(__pool::_M_reclaim_memory): To _M_reclaim_block.
	(__pool::_Bin_record): Add _Block_address data member.
	(__pool<false>): Add _M_thread_freelist_initial.
	(__pool::~__pool): Declare.
	(__common_pool_policy): Move static data member to...
	(__common_pool_policy::_S_get_pool): ...here, make static local.
	(__per_type_pool_policy): Move static data member to...
	(__per_type_pool_policy::_S_get_pool): ...here, make static local.
	(__mt_alloc::__mt_alloc): Call __policy_type::_S_get_pool.
	Remove static member definitions. Use define for __default_policy.
	* src/mt_allocator.cc: Same.
	* config/linker-map.gnu: Don't export _S_get_pool. Renames.
	* testsuite/ext/new_allocator: New.
	* testsuite/ext/new_allocator/instantiate.cc: New.
	* testsuite/ext/new_allocator/check_new.cc: New.
	* testsuite/ext/new_allocator/deallocate_global.cc: New.
	* testsuite/ext/new_allocator/deallocate_local.cc: New.
	* testsuite/ext/mt_allocator/instantiate.cc: Instantiate all
	template arguments.
	* testsuite/ext/mt_allocator/deallocate_global-1.cc: New.
	* testsuite/ext/mt_allocator/deallocate_global-2.cc: New.
	* testsuite/ext/mt_allocator/deallocate_global-3.cc: New.
	* testsuite/ext/mt_allocator/deallocate_global-4.cc: New.
	* testsuite/ext/mt_allocator/deallocate_local-1.cc: New.
	* testsuite/ext/mt_allocator/deallocate_local-2.cc: New.
	* testsuite/ext/mt_allocator/deallocate_local-3.cc: New.
	* testsuite/ext/mt_allocator/deallocate_local-4.cc: New.
	* testsuite/ext/mt_allocator/deallocate.cc: New.
	* testsuite/ext/malloc_allocator/deallocate.cc: New.
	* testsuite/ext/malloc_allocator/deallocate_global.cc: New.
	* testsuite/ext/malloc_allocator/deallocate_local.cc: New.
2004-10-05  Ulrich Weigand  <uweigand@de.ibm.com>

	* configure.host (abi_baseline_pair): Define for s390-*-linux* and
	s390x-*-linux*.
	* config/abi/s390-linux-gnu/baseline_symbols.txt: Add missing symbols.
	* config/abi/s390x-linux-gnu/baseline_symbols.txt: New file.

2004-10-05  Christopher Jefferson  <caj@cs.york.ac.uk>

	* include/bits/stl_algobase.h (iter_swap): delegate to swap via
	__iter_swap when iterator's value_types are equal.
	(struct __iter_swap): New.

2004-10-04  Benjamin Kosnik  <bkoz@redhat.com>

	* configure.ac (libtool_VERSION): To 6:3:0.
	* configure: Regnerate.
	* testsuite/testsuite_abi.cc (check_version): Add 3.4.3.

2004-10-04  Roger Sayle  <roger@eyesopen.com>
	    Eric Botcazou  <ebotcazou@libertysurf.fr>

	PR libstdc++/17505
	* config/linker-map.gnu: Synchronize the current list of stub
	functions from libmath.

2004-10-03  Roger Sayle  <roger@eyesopen.com>

	* config/locale/generic/c_locale.cc (__convert_to_v): Use
	_GLIBCXX_HAVE_STRTOF instead _GLIBCXX_USE_C99 to check for strtof.
	Likewise, use _GLIBCXX_HAVE_STRTOLD instead of _GLIBCXX_USE_C99
	to check for presence of strtold.

2004-10-03  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_list.h: Trivial formatting fixes.
	* include/bits/stl_tree.h: Likewise.

2004-10-03  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/sstream.tcc (seekpos): In case of success, just
	return __sp.

2004-10-01  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/sstream.tcc (pbackfail): Implement correctly
	27.7.1.3/2, bullet 2: if mode & ios_base::out is false do not
	write in the buffer.
	* testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc: New.
	* testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc: Likewise.
	* testsuite/27_io/basic_istream/putback/char/1.cc: Tweak consistently.

2004-10-01  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/sstream.tcc (seekpos): Minor rearrangement of two
	conditionals consistently with seekoff.
	* include/std/std_sstream.h (setbuf): Avoid a string temporary.
	(_M_sync): Simplify a bit, clean-up comment.

2004-09-30  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/10975 (DR 453)
	* include/bits/sstream.tcc (seekoff): Don't fail if __beg == 0
	and __off == 0.
	* docs/html/ext/howto.html: Add an entry for DR 453.
	* testsuite/27_io/basic_stringbuf/seekoff/char/10975.cc: New.
	* testsuite/27_io/basic_stringbuf/seekoff/wchar_t/10975.cc: Likewise.
	* testsuite/27_io/basic_istream/tellg/char/1.cc: Tweak consistently.
	* testsuite/27_io/basic_ostream/tellp/char/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/tellp/char/2.cc: Likewise.
	* testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc: Fix and
	move to...
	* testsuite/27_io/basic_istream/seekp/char/2346-fstream.cc: ... here.
	* testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc: Fix and
	move to...
	* testsuite/27_io/basic_istream/seekp/char/2346-sstream.cc: ... here.

2004-09-29  Paolo Carlini  <pcarlini@suse.de>

	* include/std/std_sstream.h (basic_stringbuf(ios_base::openmode)):
	Don't use _M_stringbuf_init, keep the pointers null, per 27.7.1.1.
	(str()): Slightly tweak, protect from pptr() == 0.
	(_M_update_egptr()): Likewise.
	* include/bits/sstream.tcc (ssekoff, seekpos): In order to check
	for an empty buffer use __beg instead of _M_string.capacity().
	* testsuite/27_io/basic_stringbuf/cons/char/1.cc: New.
	* testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc: Likewise.

	* testsuite/27_io/basic_filebuf/cons/char/1.cc: New.
	* testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/cons/char/1.cc: Update.
	* testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: Likewise.

2004-09-29  Paolo Carlini  <pcarlini@suse.de>
	    Benjamin Kosnik  <bkoz@redhat.com>
	* testsuite/testsuite_io.h (class constraint_buf): New, extended
	and templatized version of constraint_filebuf; add typedefs for
	streambuf/stringbuf/filebuf and wchar_t counterparts.

2004-09-28  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/16612
	* include/bits/basic_string.h (_M_dispose, _M_refcopy,
	basic_string()): When _GLIBCXX_FULLY_DYNAMIC_STRING is defined,
	don't deal with _S_empty_rep.
	* include/bits/basic_string.tcc (_S_construct, _M_destroy,
	_M_leak_hard, _M_mutate): Likewise.
	* acinclude.m4 (GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING): New.
	* acconfig.h: Add corresponding undef.
	* configure.ac: Use GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING.
	* docs/html/configopts.html: Document --enable-fully-dynamic-string.
	* configure: Regenerate.
	* config.h.in: Likewise.

2004-09-28  Benjamin Kosnik  <bkoz@redhat.com>
            Paolo Carlini  <pcarlini@suse.de>

	* testsuite/21_strings/basic_string/operations/char/1.cc: New.
	* testsuite/21_strings/basic_string/operations/wchar_t/1.cc: New.
	* testsuite/21_strings/basic_string/element_access/char/empty.cc: New.
	* testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc:
	New.

2004-09-28  Paolo Carlini  <pcarlini@suse.de>

	* README: Remove obsolete entry about include/c_shadow.

2004-09-24  H.J. Lu  <hongjiu.lu@intel.com>

	PR libstdc++/17469
	* testsuite/lib/libstdc++.exp: Don't use global ld_library_path.

2004-09-24  Paolo Carlini  <pcarlini@suse.de>

	* src/localename.cc (locale::locale(const char*)): Minor tweaks:
	rename a variable, move an assignment.
	(locale::_Impl::_Impl(const char*, size_t)): Likewise, minor tweak.

2004-09-24  Paul Brook  <paul@codesourcery.com>

	* testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: XFAIL more arm
	simulator targets.
	* testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Ditto.
	* testsuite/27_io/basic_istream/readsome/char/6746-2.cc: Ditto.
	* testsuite/ext/stdio_filebuf/char/10063-2.cc: Ditto.
	* testsuite/ext/stdio_filebuf/char/10063-3.cc: Ditto.

2004-09-23  Zack Weinberg  <zack@codesourcery.com>

	* testsuite/20_util/memory/auto_ptr/assign_neg.cc
	* testsuite/23_containers/map/operators/1_neg.cc
	* testsuite/23_containers/set/operators/1_neg.cc:
	Update locations and/or regexps of dg-error markers.

2004-09-23  P.J. Darcy  <darcypj@us.ibm.com>

	* include/Makefile.am (thread_host_headers): Add gthr-tpf.h.
	Add rule to build ${host_builddir}/gthr-tpf.h.
	* include/Makefile.in: Regenerate.

2004-09-23  Paolo Carlini  <pcarlini@suse.de>
	    Magnus Fromreide  <magfr@lysator.liu.se>

	* include/bits/boost_concept_check.h (struct _SequenceConcept):
	Remove wrong requirement, i.e., not present in Table 67.

2004-09-21  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/12882 (cont)
	* acinclude.m4 (GLIBCXX_CHECK_LFS): Check for fstat64 too.
	* configure: Regenerate.
	* config/io/basic_file_stdio.cc (__basic_file<>::showmanyc): When
	_GLIBCXX_USE_LFS use fstat64 and lseek64, thus providing a non
	trivial showmanyc for large files too.

2004-09-17  Jonathan Wakely  <redi@gcc.gnu.org>

	* include/bits/stl_algo.h (remove): Remove too restrictive
	concept-check.

2004-09-17  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/fstream.tcc (xsgetn): Slightly tweak conditional,
	as per Nathan's original suggestion.

2004-09-17  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/ext/mt_allocator/tune-1.cc: Use VERIFY, clean
	up a bit.
	* testsuite/ext/mt_allocator/tune-2.cc: Likewise.
	* testsuite/ext/mt_allocator/tune-3.cc: Likewise.
	* testsuite/ext/mt_allocator/tune-4.cc: Likewise.

2004-09-17  Paolo Carlini  <pcarlini@suse.de>
	    Andrea Arcangeli  <andrea@suse.de>

	* config/io/basic_file_stdio.cc (__basic_file<>::close)): Don't
	call unnecessarily sync, that is fflush: the library, since 3.4.0
	does not use buffered fread/fwrite.
	* include/bits/fstream.tcc (basic_filebuf<>::overflow): Likewise.

2004-09-15  Mark Mitchell  <mark@codesourcery.com>

	* config/cpu/arm/cxxabi_tweaks.h (__cxa_cdtor_return_type):
	Define.
	* config/cpu/generic/cxxabi_tweaks.h (__cxa_cdtor_return_type):
	Define.
	* libsupc++/cxxabi.h (__cxa_cdtor_return_type): New type.
	(__cxa_vec_new): Use it.
	(__cxa_vec_new2): Likewise.
	(__cxa_vec_new3): Likewise.
	(__cxa_vec_cdtor): Likewise.
	(__cxa_vec_cctor): Likeiwse.
	(__cxa_vec_dtor): Likewise.
	(__cxa_vec_cleanup): Likewise.
	(__cxa_vec_delete2): Likewise.
	(__cxa_vec_delete3): Likewise.
	* libsupc++/vec.cc (__cxa_vec_new): Likewise.
	(__cxa_vec_new2): Likewise.
	(__cxa_vec_new3): Likewise.
	(__cxa_vec_cdtor): Likewise.
	(__cxa_vec_cctor): Likeiwse.
	(__cxa_vec_dtor): Likewise.
	(__cxa_vec_cleanup): Likewise.
	(__cxa_vec_delete2): Likewise.
	(__cxa_vec_delete3): Likewise.
	(__aeabi_vec_ctor_nocookie_nodtor): New function.
	(__aeabi_vec_ctor_cookie_nodtor): Likewise.
	(__aeabi_vec_cctor_nocookie_nodtor): Likewise.
	(__aeabi_vec_new_cookie_noctor): Likewise.
	(__aeabi_vec_new_nocookie): Likewise.
	(__aeabi_vec_new_cookie_nodtor): Likewise.
	(__aeabi_vec_new_cookie): Likewise.
	(__aeabi_vec_dtor): Likewise.
	(__aeabi_vec_dtor_cookie): Likewise.
	(__aeabi_vec_delete): Likewise.
	(__aeabi_vec_delete3): Likewise.
	(__aeabi_vec_delete3_nodtor): Likewise.
	(__aeabi_atexit): Likewise.

2004-09-14  Nathan Myers  <ncm@cantrip.org>

	* include/bits/fstream.tcc (xsgetn): Slightly tweak the recent fix
	for 11722: copy can replace move; the common case is __avail == 0.

2004-09-14  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/cpp_type_traits.h: Rename __is_trivially_copyable
	to __is_scalar, more clear and consistent with "tr1" naming.
	* include/bits/stl_algobase.h: Update consistently throughout.

2004-09-13  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/11722
	* include/std/std_fstream.h (xsgetn): Declare only.
	* include/bits/fstream.tcc (xsgetn): Define, optimize for the
	always_noconv() case: when __n > __buflen, copy the available
	buffer and issue a direct read.
	* testsuite/performance/27_io/filebuf_sgetn_unbuf.cc: New.

	* include/bits/fstream.tcc (xsputn): Minor tweak, reorder a
	conditional.

2004-09-13  Hans-Peter Nilsson  <hp@bitrange.com>

	* testsuite/lib/libstdc++.exp: Use gcc wrapper.exp and call
	libstdc++_maybe_build_wrapper instead of using local code.

2004-09-08  Benjamin Kosnik  <bkoz@redhat.com>

	* config/linker-map.gnu (GLIBCXX_3.4.3): New, adjust symbol exports.

2004-09-03  Jan Beulich  <jbeulich@novell.com>

	* crossconfig.m4: Add NetWare as a target.
	* configure: Regenerate.

2004-09-02  Mark Mitchell  <mark@codesourcery.com>

	* libsupc++/typeinfo: Honor __GXX_MERGED_TYPEINFO_NAMES if already
	defined.

2004-09-02  Benjamin Kosnik  <bkoz@redhat.com>
	    Simon Richter  <Simon.Richter@hogyros.de>

	PR libstdc++/16715
	* include/bits/istream.tcc: Add extern template for iostream
	char and wchar_t instantiations.

2004-09-02  Benjamin Kosnik  <bkoz@redhat.com>
	    Leland Wang  <llwang@infor.org>

	PR libstdc++/17259
	* include/ext/ropeimpl.h (rope::_S_compare): Use
	_Rope_constants::_S_leaf.

2004-09-02  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/16848
	* include/Makefile.am (ext_headers): Remove demangle.h.
	* include/Makefile.in: Regenerate.
	* include/ext/demangle.h: Remove.

2004-09-01  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/16614
	* include/ext/mt_allocator.h (__mt_base): Not type dependent,
	split into..
	(__pool): New, specialize.
	(__common_pool): New, static bits here.
	(__per_type_pool): New, and here.
	(__mt_alloc_base): New.
	(__mt_alloc): Add template parameter, inherit from it.
	* src/allocator.cc: Split this...