+2004-01-31 Per Bothner <per@bothner.com>
+
+ * include/ext/mt_allocator.h
+ (__mt_alloc::_S_thread_freelist_mutex): Guard with
+ __GTHREAD_MUTEX_INIT.
+
+2004-01-31 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
+
+2004-01-30 Paolo Carlini <pcarlini@suse.de>
+
+ * testsuite/21_strings/basic_string/cons/char/6.cc: New.
+ * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
+ * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
+
+2004-01-30 Felix Yen <fwy@alumni.brown.edu>
+
+ * testsuite/performance/20_util/allocator_thread.cc (do_loop):
+ Don't use clear, but instead assign. Use insert.
+
+2004-01-30 Benjamin Kosnik <bkoz@redhat.com>
+
+ * src/demangle.cc: Add instantiations.
+ * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
+ * src/Makefile.in: Regenerate.
+
+2004-01-30 David Edelsohn <edelsohn@gnu.org>
+
+ * src/allocator.cc: Protect _S_get_thread_id() and
+ _S_thread_key_destr() with #ifdef __GTHREADS.
+
+2004-01-30 Paolo Carlini <pcarlini@suse.de>
+
+ Reshuffle performance testsuite.
+ * testsuite/performance/allocator.cc, allocator_map_thread.cc,
+ allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
+ cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
+ fstream_seek_write.cc, ifstream_extract_float.cc,
+ ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
+ list_create_fill_sort.cc, map_create_fill.cc,
+ narrow_widen_char.cc, narrow_widen_wchar_t.cc,
+ ofstream_insert_float.cc, ofstream_insert_int.cc,
+ string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
+ wchar_t_out.cc: Split into...
+ * testsuite/performance/20_util/allocator.cc: New.
+ * testsuite/performance/20_util/allocator_map_thread.cc: New.
+ * testsuite/performance/20_util/allocator_thread.cc: New.
+ * testsuite/performance/21_strings/string_append: New.
+ * testsuite/performance/22_locale/is_wchar_t.cc: New.
+ * testsuite/performance/22_locale/narrow_widen_char.cc: New.
+ * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
+ * testsuite/performance/22_locale/wchar_t_in.cc: New.
+ * testsuite/performance/22_locale/wchar_t_length.cc: New.
+ * testsuite/performance/22_locale/wchar_t_out.cc: New.
+ * testsuite/performance/23_containers/container_benchmark.cc: New.
+ * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
+ * testsuite/performance/23_containers/map_create_fill.cc: New.
+ * testsuite/performance/26_numerics/complex_norm.cc: New.
+ * testsuite/performance/27_io/cout_insert_int.cc: New.
+ * testsuite/performance/27_io/filebuf_copy.cc: New.
+ * testsuite/performance/27_io/filebuf_sputc.cc: New.
+ * testsuite/performance/27_io/fstream_seek_write.cc: New.
+ * testsuite/performance/27_io/ifstream_extract_float.cc: New.
+ * testsuite/performance/27_io/ifstream_extract_int.cc: New.
+ * testsuite/performance/27_io/ifstream_getline.cc: New.
+ * testsuite/performance/27_io/ofstream_insert_float.cc: New.
+ * testsuite/performance/27_io/ofstream_insert_int.cc: New.
+
+2004-01-30 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/basic_string.tcc (_Rep::_S_create):
+ Never allocate a string bigger than max_size(); always keep
+ __capacity and __size in sync to avoid memory leaks at
+ deallocation time.
+
+2004-01-30 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/basic_string.tcc (_S_construct(_InIterator,
+ _InIterator, const _Alloc&, input_iterator_tag)): Simplify
+ the double loop, streamline.
+
+ * include/bits/basic_string.tcc: Very minor tweaks.
+
+2004-01-30 Loren J. Rittle <ljrittle@acm.org>
+
+ * scripts/check_performance: Only compile with $THREAD_FLAG
+ when test is marked to require it. Allow multiple
+ compilations/executions of marked tests.
+ * testsuite/testsuite_performance.h (report_performance):
+ Report dynamic thread support status.
+ (report_header): Likewise.
+ * testsuite/performance/allocator.cc: Stabilize iteration
+ count. Support more allocators. Mark each allocator test to
+ run and report independently.
+ * testsuite/performance/allocator_map_thread.cc: Likewise.
+ * testsuite/performance/allocator_thread.cc: Likewise.
+
+2004-01-29 Stephen M. Webb <stephen.webb@bregmasoft.com>
+
+ * 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
+ std::get_temporary_buffer() instead of duplicating its code.
+ Update to C++STYLE conventions.
+ * 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().
+
+2004-01-29 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/bits/allocator.h: Temporary switch to new_allocator as
+ the default to unjam bootstraps.
+
+2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/Makefile.am (bits_headers): Remove allocator_traits.h.
+ * include/Makefile.in: Regenerate.
+ * include/bits/allocator_traits.h: Remove.
+ * include/bits/allocator.h: Remove allocator_traits.h include, and
+ relevant comments.
+ (allocator): Empty base class, inherit from the underlying allocator.
+ * src/allocator-inst.cc: Move __pool_alloc instantiation to...
+ * src/allocator.cc: ...here. New. For the underlying allocators.
+ Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
+ * config/linker-map.gnu: Remove __pool_alloc bits.
+ * src/Makefile.am (sources): Add allocator.cc.
+ * src/Makefile.in: Regenerate.
+ * testsuite/20_util/allocator/1.cc: Split second test into...
+ * testsuite/20_util/allocator/8230.cc: ...this.
+ * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
+ typedef to use std::allocatore. Format.
+ * include/ext/pool_allocator.h: Remove allocator_traits.h include,
+ _Alloc_traits.
+ * include/ext/mt_allocator.h (__gnu_cxx): Qualify
+ __throw_bad_alloc calls. Don't include <memory>.
+ * include/ext/malloc_allocator.h: Remove <memory> include.
+ * include/ext/new_allocator.h (new_allocator): Same.
+ * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
+ declaration. Switch __alloc to _Alloc.
+ * include/ext/hashtable.h: Remove __alloc.
+ * include/backward/alloc.h: Only inject allocator, not
+ implementation details.
+
+ * include/ext/mt_allocator.h: Replace free with delete.
+
+2004-01-28 Benjamin Kosnik <bkoz@redhat.com>
+
+ * src/globals_io.cc: Change to __gnu_internal namespace.
+ * src/globals_locale.cc: Same.
+ * src/locale_init.cc: Same.
+ * src/ios_init.cc: Same.
+
+2004-01-28 Stefan Olsson <stefan@snon.net>
+
+ * include/ext/mt_allocator.h: Replaced all malloc() calls with
+ operator new(). Added support for the env variable
+ GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
+ one in allocate() as well). Fix typos.
+
2004-01-28 Paolo Carlini <pcarlini@suse.de>
* include/bits/basic_string.h (_S_create(size_t,