+2004-03-08 Petur Runolfsson <peturr02@ru.is>
+
+ PR libstdc++/12658
+ * testsuite/22_locale/locale/cons/12658_thread.cc: New.
+
+2004-03-08 Paolo Carlini <pcarlini@suse.de>
+
+ * 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 <pcarlini@suse.de>
+
+ * 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 <bkoz@redhat.com>
+
+ * include/bits/allocator.h: Switch defaults to mt_alloc.
+
+2004-03-06 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/ext/mt_allocator.h (_S_initialize): If
+ !__GTHREAD_MUTEX_INIT, then initialize _S_thread_freelist_mutex.
+
+2004-03-06 Benjamin Kosnik <bkoz@redhat.com>
+
+ 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 <pcarlini@suse.de>
+
+ * include/bits/locale_facets.tcc: Tweak the comment preceding
+ has_facet: doesn't throw.
+
+2004-03-06 Paolo Carlini <pcarlini@suse.de>
+
+ * 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 <pcarlini@suse.de>
+
+ * 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 <pcarlini@suse.de>
+
+ * testsuite/27_io/fpos/14320-2.cc: Remove xfail.
+
+2004-03-04 Benjamin Kosnik <bkoz@redhat.com>
+
+ * 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 <pcarlini@suse.de>
+
+ * 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 <bkoz@redhat.com>
+
+ * 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 <pcarlini@suse.de>
* include/bits/locale_facets.tcc (money_put<>::_M_insert):