aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Carlini <pcarlini@suse.de>2006-01-24 00:06:15 +0000
committerPaolo Carlini <pcarlini@suse.de>2006-01-24 00:06:15 +0000
commitfa9355fda7c8ff35f87923e394be801a275a05ef (patch)
treea068224a1d895a1051142f39d1f833bef104b313
parent9e9f6f4b8ac43b3acdbbcfdc13e4aa80e74b9d23 (diff)
2006-01-23 Paolo Carlini <pcarlini@suse.de>
Merged to mainline at revision 110135. (adjusted include/c_std/cmath.tcc vs _GLIBCXX_BEGIN_NAMESPACE; roughly merged in gnu.ver symbols) git-svn-id: https://gcc.gnu.org/svn/gcc/branches/libstdcxx_so_7-branch@110151 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libstdc++-v3/ChangeLog5624
-rw-r--r--libstdc++-v3/ChangeLog-20055468
-rw-r--r--libstdc++-v3/ChangeLog.libstdcxx_so_7-branch7
-rw-r--r--libstdc++-v3/acinclude.m467
-rw-r--r--libstdc++-v3/config/abi/pre/gnu.ver394
-rwxr-xr-xlibstdc++-v3/configure1162
-rw-r--r--libstdc++-v3/crossconfig.m43
-rw-r--r--libstdc++-v3/docs/html/ext/howto.html7
-rw-r--r--libstdc++-v3/docs/html/ext/lwg-active.html330
-rw-r--r--libstdc++-v3/docs/html/ext/lwg-defects.html57
-rw-r--r--libstdc++-v3/include/Makefile.am27
-rw-r--r--libstdc++-v3/include/Makefile.in24
-rw-r--r--libstdc++-v3/include/bits/allocator.h5
-rw-r--r--libstdc++-v3/include/bits/istream.tcc325
-rw-r--r--libstdc++-v3/include/bits/list.tcc63
-rw-r--r--libstdc++-v3/include/bits/ostream.tcc350
-rw-r--r--libstdc++-v3/include/bits/stl_deque.h3
-rw-r--r--libstdc++-v3/include/bits/stl_list.h38
-rw-r--r--libstdc++-v3/include/bits/stl_map.h10
-rw-r--r--libstdc++-v3/include/bits/stl_multimap.h10
-rw-r--r--libstdc++-v3/include/bits/stl_multiset.h10
-rw-r--r--libstdc++-v3/include/bits/stl_set.h10
-rw-r--r--libstdc++-v3/include/bits/stl_tree.h170
-rw-r--r--libstdc++-v3/include/bits/stl_vector.h3
-rw-r--r--libstdc++-v3/include/bits/stream_iterator.h2
-rw-r--r--libstdc++-v3/include/bits/valarray_array.h18
-rw-r--r--libstdc++-v3/include/c_std/cmath.tcc12
-rw-r--r--libstdc++-v3/include/debug/functions.h6
-rw-r--r--libstdc++-v3/include/ext/mt_allocator.h2
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/it_value_type_traits.hpp36
-rw-r--r--libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/value_type_adapter.hpp3
-rw-r--r--libstdc++-v3/include/std/std_bitset.h61
-rw-r--r--libstdc++-v3/include/std/std_istream.h73
-rw-r--r--libstdc++-v3/include/std/std_ostream.h71
-rw-r--r--libstdc++-v3/include/std/std_valarray.h12
-rw-r--r--libstdc++-v3/include/tr1/common.h66
-rw-r--r--libstdc++-v3/include/tr1/complex395
-rw-r--r--libstdc++-v3/include/tr1/functional4
-rw-r--r--libstdc++-v3/include/tr1/hashtable6
-rw-r--r--libstdc++-v3/include/tr1/tuple_iterate.h4
-rw-r--r--libstdc++-v3/include/tr1/unordered_map3
-rw-r--r--libstdc++-v3/include/tr1/unordered_set2
-rw-r--r--libstdc++-v3/libsupc++/Makefile.am4
-rw-r--r--libstdc++-v3/libsupc++/Makefile.in3
-rw-r--r--libstdc++-v3/libsupc++/eh_alloc.cc5
-rw-r--r--libstdc++-v3/libsupc++/eh_globals.cc17
-rw-r--r--libstdc++-v3/libsupc++/eh_personality.cc4
-rwxr-xr-xlibstdc++-v3/scripts/testsuite_flags.in7
-rw-r--r--libstdc++-v3/src/Makefile.am4
-rw-r--r--libstdc++-v3/src/Makefile.in3
-rw-r--r--libstdc++-v3/src/istream-inst.cc28
-rw-r--r--libstdc++-v3/src/ostream-inst.cc24
-rw-r--r--libstdc++-v3/testsuite/18_support/numeric_limits/specialization.cc4
-rw-r--r--libstdc++-v3/testsuite/18_support/numeric_limits/traps.cc4
-rw-r--r--libstdc++-v3/testsuite/20_util/functional/binders/1.cc8
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/capacity/1.cc8
-rw-r--r--libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/24559.cc6
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/is/char/9858.cc12
-rw-r--r--libstdc++-v3/testsuite/22_locale/ctype/narrow/char/19955.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/char/1.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12750.cc6
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/char/2.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/char/3.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/1.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12750.cc6
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/2.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/3.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/1.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/2.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_time/char/1.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_time/char/3.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_time/char/4.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/1.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/3.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/4.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/1.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/2.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/3.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_year/char/1.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_year/char/3.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/1.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/3.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/1.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/10.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_3.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/17038.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/2.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/3.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/4.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/5.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/6.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/7.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/8.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/char/9.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/1.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/10.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_3.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/17038.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/2.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/3.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/4.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/5.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/6.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/7.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/8.cc4
-rw-r--r--libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/9.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/cons/clear_allocator.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/cons/clear_allocator.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/operators/5.cc141
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/modifiers/insert/1.cc (renamed from libstdc++-v3/testsuite/23_containers/map/insert/1.cc)0
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/modifiers/insert/16813.cc (renamed from libstdc++-v3/testsuite/23_containers/map/insert/16813.cc)0
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/operators/1_neg.cc7
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/22102.cc141
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/1.cc (renamed from libstdc++-v3/testsuite/23_containers/multiset/insert/1.cc)0
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/2.cc (renamed from libstdc++-v3/testsuite/23_containers/multiset/insert/2.cc)0
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/22102.cc141
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/modifiers/16728.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/modifiers/insert/1.cc (renamed from libstdc++-v3/testsuite/23_containers/set/insert/1.cc)0
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/operators/1_neg.cc7
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/clear_allocator.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/cons/clear_allocator.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/modifiers/erase/1.cc24
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/find/17441.cc4
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/heap/heap.cc138
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/iter_swap/20577.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/replace_copy/check_type.cc4
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/replace_copy_if/check_type.cc4
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/unique_copy/check_type.cc4
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/valarray_subset_assignment.cc3
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/12206.cc24
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ios/cons/char/3.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/getline/char/5.cc3
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/5.cc3
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/2.cc3
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/2.cc3
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istringstream/str/char/1.cc8
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istringstream/str/wchar_t/1.cc7
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/endl/char/1.cc1
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/endl/wchar_t/1.cc1
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/ends/char/1.cc1
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/ends/wchar_t/1.cc1
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/flush/char/1.cc1
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/flush/wchar_t/1.cc1
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/write/char/1.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ostream/write/wchar_t/1.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/in_avail/char/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringstream/str/char/1.cc5
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_stringstream/str/wchar_t/1.cc4
-rw-r--r--libstdc++-v3/testsuite/27_io/ios_base/storage/11584.cc15
-rw-r--r--libstdc++-v3/testsuite/27_io/types/1.cc6
-rw-r--r--libstdc++-v3/testsuite/ext/array_allocator/2.cc3
-rw-r--r--libstdc++-v3/testsuite/ext/malloc_allocator/deallocate_global.cc5
-rw-r--r--libstdc++-v3/testsuite/ext/malloc_allocator/deallocate_local.cc5
-rw-r--r--libstdc++-v3/testsuite/ext/pool_allocator/allocate_chunk.cc2
-rw-r--r--libstdc++-v3/testsuite/lib/libstdc++.exp9
-rw-r--r--libstdc++-v3/testsuite/testsuite_allocator.h7
-rw-r--r--libstdc++-v3/testsuite/testsuite_character.h10
-rw-r--r--libstdc++-v3/testsuite/testsuite_hooks.cc20
-rw-r--r--libstdc++-v3/testsuite/testsuite_hooks.h20
-rw-r--r--libstdc++-v3/testsuite/testsuite_io.h36
-rw-r--r--libstdc++-v3/testsuite/testsuite_iterators.h2
-rw-r--r--libstdc++-v3/testsuite/testsuite_tr1.h11
-rw-r--r--libstdc++-v3/testsuite/thread/18185.cc10
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/assign.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/shared_ptr.cc2
-rw-r--r--libstdc++-v3/testsuite/tr1/3_function_objects/mem_fn.cc5
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/array/cons/aggregate_initialization.cc4
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc3
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multiset_range.cc6
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/set_range.cc4
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/hash.cc45
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/map.cc19
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/multimap.cc17
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/multiset.cc14
-rw-r--r--libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/set.cc14
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/functions.cc54
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/overloads_float.cc109
-rw-r--r--libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/overloads_int.cc99
189 files changed, 9597 insertions, 6993 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index fcc77fca12f..47b2319741a 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,5303 +1,439 @@
-2005-12-19 Paolo Carlini <pcarlini@suse.de>
+2006-01-20 Benjamin Kosnik <bkoz@redhat.com>
- * include/bits/stl_deque.h (deque<>::resize, _M_fill_assign):
- Avoid troubles with ADL, user defined operators and _Deque_iterator.
- (operator-(const _Deque_iterator<>&, const _Deque_iterator<>&):
- Add overload for left and right iterators of the same type.
- * include/bits/deque.tcc (erase(iterator)): Avoid troubles with ADL,
- user defined operators and _Deque_iterator.
- * testsuite/23_containers/deque/types/1.cc: Add.
-
- * include/bits/deque.tcc (_M_insert_aux(iterator, size_type,
- const value_type&)): Qualify with std:: fill call.
-
-2005-12-18 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/c++config: Add in revised namespace associations.
- _GLIBCXX_BEGIN_NAMESPACE: New macro.
- _GLIBCXX_END_NAMESPACE: Same.
- _GLIBCXX_BEGIN_NESTED_NAMESPACE: Same.
- _GLIBCXX_END_NESTED_NAMESPACE: Same.
- * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS]): Add gnu-versioned-namespace.
- * configure: Regenerated.
- * config.h.in: Same.
- * config/abi/pre/gnu-versioned-namespace.ver: New.
- * config/abi/pre/gnu.ver (GLIBCXX_3.4.7): Add exports for nested
- debug mode items.
- * include/Makefile.am (${host_builddir}/c++config.h): Fill in
- values for __GLIBCXX__ and _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION.
- * include/Makefile.in: Regnerate.
- * src/compatibility.cc: Alias new, nested definitions to exported
- symbols from non-nested __gnu_debug.
- * src/Makefile.am: Add in ENABLE_SYMVERS_GNU_NAMESPACE.
- * src/Makefile.in: Regenerate.
-
- * docs/html/debug_mode.html: Revise for nested design.
- * docs/html/debug.html: Use debug qualifications instead of
- __gnu_debug.
- * docs/html/configopts.html: Revise documentation for
- --enable-symvers.
-
- * include/debug/formatter: Simplify namespace qualifications for
- current, nested-only reality. Add top-level namespace alias,
- namespace debug, for debug-mode containers.
- * include/debug/safe_iterator.h: Same.
- * include/debug/set.h: Same.
- * include/debug/hash_multimap.h: Same.
- * include/debug/hash_set.h: Same.
- * include/debug/bitset
- * include/debug/safe_sequence.h: Same.
- * include/debug/multiset.h: Same.
- * include/debug/safe_base.h: Same.
- * include/debug/functions.h: Same.
- * include/debug/safe_iterator.tcc
- * include/debug/hash_multiset.h: Same.
- * include/debug/vector
- * include/debug/map.h: Same.
- * include/debug/deque
- * include/debug/hash_map.h: Same.
- * include/debug/string
- * include/debug/macros.h: Same.
- * include/debug/list
- * include/debug/debug.h: Same.
- * include/debug/multimap.h: Same.
- * src/debug.cc: Same.
- * testsuite/23_containers/vector/invalidation/1.cc: Cleanups.
- * testsuite/23_containers/vector/invalidation/2.cc: Same.
- * testsuite/23_containers/vector/invalidation/3.cc: Same.
- * testsuite/23_containers/vector/invalidation/4.cc: Same.
- * testsuite/23_containers/deque/invalidation/1.cc: Same.
- * testsuite/23_containers/deque/invalidation/2.cc: Same.
- * testsuite/23_containers/deque/invalidation/3.cc: Same.
- * testsuite/23_containers/deque/invalidation/4.cc: Same.
- * testsuite/23_containers/multiset/invalidation/1.cc: Same.
- * testsuite/23_containers/multiset/invalidation/2.cc: Same.
- * testsuite/23_containers/multimap/invalidation/1.cc: Same.
- * testsuite/23_containers/multimap/invalidation/2.cc: Same.
- * testsuite/23_containers/bitset/invalidation/1.cc: Same.
- * testsuite/23_containers/bitset/cons/16020.cc: Same.
- * testsuite/23_containers/bitset/operations/13838.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/set/invalidation/1.cc: Same.
- * testsuite/23_containers/set/invalidation/2.cc: Same.
- * testsuite/23_containers/map/invalidation/1.cc: Same.
- * testsuite/23_containers/map/invalidation/2.cc: Same.
- * testsuite/23_containers/map/insert/16813.cc: Same.
-
- * include/bits/basic_ios.h: Use _GLIBCXX_BEGIN_NAMESPACE(std) and
- friends.
- * include/bits/stl_list.h: Same.
- * include/bits/stl_map.h: Same.
- * include/bits/stl_algobase.h: Same.
- * include/bits/localefwd.h: Same.
- * include/bits/valarray_array.tcc: Same.
- * include/bits/valarray_after.h: Same.
- * include/bits/gslice_array.h: Same.
- * include/bits/stl_queue.h: Same.
- * include/bits/gslice.h: Same.
- * include/bits/locale_facets.tcc: Same.
- * include/bits/locale_classes.h: Same.
- * include/bits/stl_set.h: Same.
- * include/bits/locale_facets.h: Same.
- * include/bits/stl_stack.h: Same.
- * include/bits/stl_iterator_base_types.h: Same.
- * include/bits/stl_heap.h: Same.
- * include/bits/indirect_array.h: Same.
- * include/bits/atomicity.h: Same.
- * include/bits/stream_iterator.h: Same.
- * include/bits/concurrence.h: Same.
- * include/bits/basic_string.h: Same.
- * include/bits/stl_multimap.h: Same.
- * include/bits/stl_pair.h: Same.
- * include/bits/basic_ios.tcc: Same.
- * include/bits/stl_raw_storage_iter.h: Same.
- * include/bits/stl_vector.h: Same.
- * include/bits/stl_numeric.h: Same.
- * include/bits/ios_base.h: Same.
- * include/bits/stl_deque.h: Same.
- * include/bits/istream.tcc: Same.
- * include/bits/postypes.h: Same.
- * include/bits/stl_multiset.h: Same.
- * include/bits/mask_array.h: Same.
- * include/bits/stl_uninitialized.h: Same.
- * include/bits/ostream.tcc: Same.
- * include/bits/slice_array.h: Same.
- * include/bits/boost_concept_check.h: Same.
- * include/bits/sstream.tcc: Same.
- * include/bits/stl_iterator_base_funcs.h: Same.
- * include/bits/char_traits.h: Same.
- * include/bits/stl_algo.h: Same.
- * include/bits/stringfwd.h: Same.
- * include/bits/c++config
- * include/bits/stl_iterator.h: Same.
- * include/bits/valarray_array.h: Same.
- * include/bits/stl_tempbuf.h: Same.
- * include/bits/vector.tcc: Same.
- * include/bits/deque.tcc: Same.
- * include/bits/stl_bvector.h: Same.
- * include/bits/basic_string.tcc: Same.
- * include/bits/list.tcc: Same.
- * include/bits/streambuf_iterator.h: Same.
- * include/bits/valarray_before.h: Same.
- * include/bits/stl_construct.h: Same.
- * include/bits/stl_function.h: Same.
- * include/bits/cpp_type_traits.h: Same.
- * include/bits/streambuf.tcc: Same.
- * include/bits/allocator.h: Same.
- * include/bits/stl_tree.h: Same.
- * include/bits/fstream.tcc: Same.
- * include/bits/stl_relops.h: Same.
- * include/bits/functexcept.h: Same.
- * include/std/std_valarray.h: Same.
- * include/std/std_iostream.h: Same.
- * include/std/std_streambuf.h: Same.
- * include/std/std_bitset.h: Same.
- * include/std/std_iosfwd.h: Same.
- * include/std/std_iomanip.h: Same.
- * include/std/std_fstream.h: Same.
- * include/std/std_limits.h: Same.
- * include/std/std_stdexcept.h: Same.
- * include/std/std_istream.h: Same.
- * include/std/std_complex.h: Same.
- * include/std/std_memory.h: Same.
- * include/std/std_ostream.h: Same.
- * include/std/std_sstream.h: Same.
- * include/c_std/std_csignal.h: Same.
- * include/c_std/std_cstdlib.h: Same.
- * include/c_std/std_cstdio.h: Same.
- * include/c_std/std_cstdarg.h: Same.
- * include/c_std/std_cctype.h: Same.
- * include/c_std/std_cmath.h: Same.
- * include/c_std/std_ctime.h: Same.
- * include/c_std/std_clocale.h: Same.
- * include/c_std/std_csetjmp.h: Same.
- * include/c_std/std_cwchar.h: Same.
- * include/c_std/std_cstring.h: Same.
- * include/c_std/std_cstddef.h: Same.
- * include/c_std/std_cwctype.h: Same.
- * include/backward/iterator.h: Same.
- * include/backward/set.h: Same.
- * include/backward/hashtable.h: Same.
- * include/backward/fstream.h: Same.
- * include/backward/tempbuf.h: Same.
- * include/backward/istream.h: Same.
- * include/backward/bvector.h: Same.
- * include/backward/stack.h: Same.
- * include/backward/rope.h: Same.
- * include/backward/complex.h: Same.
- * include/backward/ostream.h: Same.
- * include/backward/heap.h: Same.
- * include/backward/iostream.h: Same.
- * include/backward/function.h: Same.
- * include/backward/multimap.h: Same.
- * include/backward/pair.h: Same.
- * include/backward/stream.h: Same.
- * include/backward/iomanip.h: Same.
- * include/backward/strstream
- * include/backward/slist.h: Same.
- * include/backward/tree.h: Same.
- * include/backward/vector.h: Same.
- * include/backward/deque.h: Same.
- * include/backward/multiset.h: Same.
- * include/backward/list.h: Same.
- * include/backward/map.h: Same.
- * include/backward/algobase.h: Same.
- * include/backward/hash_map.h: Same.
- * include/backward/algo.h: Same.
- * include/backward/queue.h: Same.
- * include/backward/streambuf.h: Same.
- * src/allocator-inst.cc: Same.
- * src/complex_io.cc: Same.
- * src/localename.cc: Same.
- * src/limits.cc: Same.
- * src/ios_failure.cc: Same.
- * src/locale-misc-inst.cc: Same.
- * src/streambuf-inst.cc: Same.
- * src/misc-inst.cc: Same.
- * src/concept-inst.cc: Same.
- * src/ios_locale.cc: Same.
- * src/pool_allocator.cc: Same.
- * src/fstream-inst.cc: Same.
- * src/istream-inst.cc: Same.
- * src/string-inst.cc: Same.
- * src/locale_init.cc: Same.
- * src/ctype.cc: Same.
- * src/strstream.cc: Same.
- * src/ostream-inst.cc: Same.
- * src/functexcept.cc: Same.
- * src/streambuf.cc: Same.
- * src/sstream-inst.cc: Same.
- * src/ios.cc: Same.
- * src/valarray-inst.cc: Same.
- * src/locale.cc: Same.
- * src/tree.cc: Same.
- * src/stdexcept.cc: Same.
- * src/istream.cc: Same.
- * src/compatibility.cc: Same.
- * src/locale-inst.cc: Same.
- * src/globals_io.cc: Same.
- * src/list.cc: Same.
- * src/ios_init.cc: Same.
- * src/locale_facets.cc: Same.
- * src/codecvt.cc: Same.
-
- * include/tr1/unordered_map: Use _GLIBCXX_BEGIN_NAMESPACE(tr1).
- * include/tr1/boost_shared_ptr.h: Same.
- * include/tr1/tuple
- * include/tr1/hashtable
- * include/tr1/type_traits_fwd.h: Same.
- * include/tr1/unordered_set
- * include/tr1/functional
- * include/tr1/ref_fwd.h: Same.
- * include/tr1/utility
- * include/tr1/type_traits
- * include/tr1/array
-
- * include/ext/hashtable.h: Use _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx).
- * include/ext/typelist.h: Same.
- * include/ext/hash_map: Same.
- * include/ext/rc_string_base.h: Same.
- * include/ext/pool_allocator.h: Same.
- * include/ext/iterator: Same.
- * include/ext/rb_tree: Same.
- * include/ext/numeric: Same.
- * include/ext/vstring.tcc: Same.
- * include/ext/sso_string_base.h: Same.
- * include/ext/stdio_filebuf.h: Same.
- * include/ext/algorithm: Same.
- * include/ext/codecvt_specializations.h: Same.
- * include/ext/new_allocator.h: Same.
- * include/ext/array_allocator.h: Same.
- * include/ext/vstring_util.h: Same.
- * include/ext/vstring_fwd.h: Same.
- * include/ext/mt_allocator.h: Same.
- * include/ext/debug_allocator.h: Same.
- * include/ext/slist: Same.
- * include/ext/stdio_sync_filebuf.h: Same.
- * include/ext/hash_fun.h: Same.
- * include/ext/malloc_allocator.h: Same.
- * include/ext/functional: Same.
- * include/ext/bitmap_allocator.h: Same.
- * include/ext/pod_char_traits.h: Same.
- * include/ext/vstring.h: Same.
- * include/ext/ropeimpl.h: Same.
- * include/ext/hash_set: Same.
- * include/ext/memory: Same.
- * include/ext/rope: Same.
- * include/bits/boost_concept_check.h: Same.
- * include/bits/stl_iterator.h: Same.
- * include/bits/char_traits.h: Same.
- * include/bits/cpp_type_traits.h: Same.
- * include/bits/concurrence.h: Same.
- * include/bits/atomicity.h: Same.
- * config/locale/gnu/numeric_members.cc: Same.
- * config/locale/gnu/collate_members.cc: Same.
- * config/locale/gnu/ctype_members.cc: Same.
- * config/locale/gnu/c_locale.cc: Same.
- * config/locale/gnu/codecvt_members.cc: Same.
- * config/locale/gnu/messages_members.cc: Same.
- * config/locale/gnu/c_locale.h: Same.
- * config/locale/gnu/monetary_members.cc: Same.
- * config/locale/gnu/time_members.cc: Same.
- * config/locale/ieee_1003.1-2001/c_locale.h: Same.
- * config/locale/generic/numeric_members.cc: Same.
- * config/locale/generic/collate_members.cc: Same.
- * config/locale/generic/ctype_members.cc: Same.
- * config/locale/generic/c_locale.cc: Same.
- * config/locale/generic/codecvt_members.cc: Same.
- * config/locale/generic/messages_members.cc: Same.
- * config/locale/generic/c_locale.h: Same.
- * config/locale/generic/monetary_members.cc: Same.
- * config/locale/generic/time_members.cc: Same.
- * config/os/aix/atomicity.h: Same.
- * config/os/irix/atomicity.h: Same.
- * config/cpu/powerpc/atomicity.h: Same.
- * config/cpu/cris/atomicity.h: Same.
- * config/cpu/ia64/atomicity.h: Same.
- * config/cpu/alpha/atomicity.h: Same.
- * config/cpu/m68k/atomicity.h: Same.
- * config/cpu/hppa/atomicity.h: Same.
- * config/cpu/mips/atomicity.h: Same.
- * config/cpu/sparc/atomicity.h: Same.
- * config/cpu/i386/atomicity.h: Same.
- * config/cpu/i486/atomicity.h: Same.
- * config/cpu/sh/atomicity.h: Same.
- * config/cpu/generic/atomicity.h: Same.
- * config/cpu/s390/atomicity.h: Same.
- * config/io/c_io_stdio.h: Same.
- * config/io/basic_file_stdio.cc: Same.
- * config/io/basic_file_stdio.h: Same.
- * src/misc-inst.cc: Same.
- * src/concept-inst.cc: Same.
- * src/ext-inst.cc: Same.
- * src/string-inst.cc: Same.
- * src/pool_allocator.cc: Same.
- * src/bitmap_allocator.cc: Same.
- * src/mt_allocator.cc: Same.
- * libsupc++/exception: Same.
- * libsupc++/vterminate.cc: Same.
- * testsuite/ext/hash_map/1.cc: Explicitly qualify __gnu_cxx::hash_map.
- * testsuite/ext/hash_map/14648.cc: Same.
-
- * libsupc++/eh_alloc.cc: Correct comment line spacing.
-
-2005-12-18 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_algobase.h (__copy_normal::copy_n): Uglify
- to __copy_n.
- (__copy_backward::copy_b): Likewise to __copy_b.
- (__copy_backward_normal::copy_b_n): Likewise to __copy_b_n.
- (copy, __copy_backward_aux, copy_backward): Adjust.
-
-2005-12-18 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_algo.h (partial_sort_copy): Add
- _BinaryPredicateConcept<_Compare, _InputValueType, _OutputValueType>
- (merge, set_union, set_symmetric_difference): Add
- _OutputIteratorConcept<_OutputIterator, _ValueType2>.
- (binary_search): Remove redundant _BinaryPredicateConcept<_Compare,
- _ValueType, _Tp>, taken care by lower_bound.
- * include/bits/stl_algo.h: Cosmetic changes.
-
-2005-12-18 Paolo Carlini <pcarlini@suse.de>
- Howard Hinnant <hhinnant@apple.com>
-
- * include/bits/stl_algo.h (merge, includes, set_union,
- set_intersection, set_difference, set_symmetric_difference):
- Fix concept checks.
-
-2005-12-18 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_algo.h (partial_sort_copy, lower_bound,
- upper_bound, equal_range, binary_search): Fix concept checks.
-
-2005-12-18 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/abi/post: New.
- * config/abi/*-linux-gnu: Move to..
- * config/abi/post/*-linux-gnu: ... here.
- * config/abi/pre: New.
- * config/linker-map.gnu: Move to ..
- * config/abi/pre/gnu.ver: ... here.
- * config/linker-map.dummy: Move to..
- * config/abi/pre/none.ver: ... here.
- * src/Makefile.am: Use ENABLE_SYMVERS_GNU,
- ENABLE_SYMVERS_DARWIN, ENABLE_SYMVERS_GNU_NAMESPACE.
- Use libstdc++-symbols.ver instead of libstdc++-symbol.ver.
- * src/Makefile.in: Regnerate.
- * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Adjust paths for new
- placement of abi baseline files.
- (GLIBCXX_ENABLE_SYMVERS): Add ENABLE_SYMVERS, ENABLE_SYMVERS_GNU,
- ENABLE_SYMVERS_DARWIN. SYMVER_MAP to SYMVER_FILE.
- * configure: Regnerate.
- * config.h.in: Regnerate.
- * src/compatibility.cc: Adjust macro usage.
-
-2005-12-17 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/io-inst.cc: Separate instantiations into...
- * src/ios-inst.cc: .. this.
- * src/iostream-inst.cc: ... and this.
- * src/Makefile.am (sources): Update.
- * src/Makefile.in: Regenerate.
-
-2005-12-17 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/25472
- * include/c_std/std_cstdlib.h: Fix for freestanding.
-
-2005-12-17 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/libstdc++-dg/normal.exp: Rename to..
- * testsuite/libstdc++-dg/conformance.exp: ... this.
-
-2005-12-17 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_vector.h (vector(const vector&)): Use
- _M_get_Tp_allocator.
- * include/bits/stl_deque.h (deque(const deque&)): Likewise.
- (_M_destroy_data): Adjust.
-
-2005-12-17 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_deque.h (deque<>::_M_erase_at_end,
- _M_erase_at_begin, _M_destroy_data, _M_destroy_data_dispatch,
- _M_destroy_data_aux): New, optimize erase at begin() / end() and
- consistently use the "segmented iterator" optimization.
- (deque<>::~deque(), resize, clear, _M_assign_aux, _M_fill_assign):
- Use the above.
- * include/bits/deque.tcc (deque<>::operator=, _M_assign_aux): Same.
- (erase(iterator, iterator)): Likewise, clean-up.
- (erase(iterator)): Tweak, don't call copy unnecessarily.
- (_M_destroy_data_aux): Define.
- * testsuite/23_containers/deque/modifiers/erase/1.cc: New.
- * testsuite/23_containers/deque/modifiers/erase/2.cc: Likewise.
-
-2005-12-17 Gabriel Dos Reis <gdr@integrable-solutions.net>
-
- * include/bits/valarray_after.h (_Expr<>::operator[](slice)):
- Don't assume the closure implements general indexing, as a matter
- of fact, most of them don't.
- (_Expr<>::operator[](const gslice&)): Likewise.
- (_Expr<>::operator[](const valarray<bool>&)): Likewise.
- (_Expr<>::operator[](const valarray<size_t>&)): Likewise.
- (_Expr<>::shift): Fix thinko.
- (_Expr<>::cshift): Likewise.
- (_Expr<>::apply): Likewise.
-
-2005-12-16 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/tr1/4_metaprogramming/type_properties/is_empty/is_empty.cc:
- Fix class NonEmptyClassTwo.
-
-2005-12-15 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_vector.h (vector<>::_M_get_Tp_allocator): Change
- to return by ref and add non const version.
- * include/bits/stl_deque.h (deque<>::_M_get_Tp_allocator): Likewise.
-
-2005-12-15 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/25421
- * config/locale/gnu/c_locale.cc (_S_destroy_c_locale): Check
- for null argument.
- * testsuite/22_locale/facet/25421.cc: New.
-
-2005-12-13 Carlos O'Donell <carlos@codesourcery.com>
-
- * include/std/std_limits.h (struct numeric_limits):
- Use __DBL_HAS_DENORM__, __FLT_HAS_DENORM__, __LDBL_HAS_DENORM__.
-
-2005-12-10 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/sso_string_base.h (__sso_string_base<>::_M_compare):
- Add, specialized for char and wchar_t to immediately return true
- when a string is compared to itself.
- * include/ext/rc_string_base.h (__rc_string_base<>::_M_compare):
- Likewise, for the same _Rep.
- * include/ext/vstring.h (compare(const string&)): Use it.
-
- * include/ext/sso_string_base.h (__sso_string_base<>::_M_destroy):
- Deallocate passed size + 1.
- (_M_dispose, _M_reserve): Adjust.
-
-2005-12-09 Paolo Carlini <pcarlini@suse.de>
- Howard Hinnant <hhinnant@apple.com>
-
- PR libstdc++/25288
- * include/bits/stl_list.h (list<>::_M_insert_dispatch, _M_fill_insert):
- Remove.
- (_M_initialize_dispatch, _M_fill_initialize): Add.
- (list(size_type, const value_type&, const allocator_type&),
- list(const list&), list(_InputIterator, _InputIterator,
- const allocator_type&): Use the latter.
- (insert(iterator, size_type, const value_type&), insert(iterator,
- _InputIterator, _InputIterator)): Use construction & splice.
- * testsuite/23_containers/list/modifiers/insert/25288.cc: New.
- * testsuite/testsuite_allocator.h (class throw_allocator): Add.
-
- * include/bits/stl_list.h (list<>::insert, erase): Fix wrong comments.
-
-2005-12-08 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_vector.h (vector<>::size, resize, capacity,
- operator[]): Avoid troubles with ADL, user defined operators
- and __normal_iterator.
- (_M_erase_at_end): Fix to take a pointer.
- (clear): Adjust call.
- * include/bits/vector.tcc (vector<>::insert(iterator, const
- value_type&), erase(iterator, iterator), operator=(const
- vector<>&), _M_assign_aux(input_iterator_tag), _M_insert_aux,
- _M_fill_insert, _M_range_insert): Likewise.
- (_M_fill_assign, _M_assign_aux(forward_iterator_tag)): Adjust
- _M_erase_at_end call.
- * testsuite/23_containers/vector/types/1.cc: New.
-
-2005-12-08 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/24617
- * include/bits/stl_vector.h (vector<>::_M_erase_at_end): New.
- (vector<>::clear, resize): Use it.
- * include/bits/vector.tcc (vector<>::erase(iterator, iterator),
- _M_fill_assign, _M_assign_aux): Likewise.
-
- * testsuite/23_containers/vector/modifiers/erase/1.cc: New.
-
-2005-12-07 Paolo Carlini <pcarlini@suse.de>
-
- * docs/html/configopts.html ([--enable-libstdcxx-allocator]):
- Mention the SGI pooled allocator.
-
-2005-12-06 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.h (insert(iterator, _CharT),
- erase(iterator), erase(iterator, iterator)): Avoid troubles
- with ADL, user defined operators and __normal_iterator.
- * include/bits/stl_iterator.h (operator-(const __normal_iterator
- <_Iterator, _Container>&, const __normal_iterator<_Iterator,
- _Container>&)): Add overload for left and right iterators of
- the same type.
- * include/debug/safe_iterator.h (operator-(const _Safe_iterator
- <_Iterator, _Sequence>&, const _Safe_iterator<_Iterator,
- _Sequence>&)): Likewise.
- * testsuite/21_strings/basic_string/types/1.cc: New.
-
-2005-12-05 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/sso_string_base.h (__sso_string_base<>::_M_assign):
- Simplify, avoid pointless reallocations.
-
-2005-12-04 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/sso_string_base.h (__sso_string_base<>::_M_reserve):
- Simplify.
-
-2005-12-04 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/vstring.h (__versa_string<>::operator+, all
- versions): Move out of line...
- * include/ext/vstring.tcc (__versa_string<>::operator+): ...
- here; consistently use reserve for the benefit of sso_string_base;
- prefer push_back to single-char append when appropriate.
-
- * include/ext/vstring.h (__versa_string<>::push_back): Don't
- call _M_reserve, _M_mutate instead.
- (reserve): Just forward to _M_reserve.
- * include/ext/vstring.tcc (__versa_string<>::_M_reserve): Remove.
- * include/ext/rc_string_base.h (__rc_string_base<>::_M_reserve): Also
- do the initial checks (first on length, in case __res == capacity).
- * include/ext/sso_string_base.h (__sso_string_base<>::_M_reserve:
- Likewise; don't call _M_set_length unnecessarily.
-
-2005-12-04 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/vstring.h (__versa_string<>::_M_append): New.
- (append(const __versa_string&), append(const __versa_string&,
- size_type, size_type), append(const _CharT*, size_type),
- append(const _CharT*)): Use it.
- (append(size_type, _CharT)): Delegate to _M_replace_aux.
- (assign(const __versa_string&, size_type, size_type),
- assign(const _CharT*), replace(size_type, size_type,
- const _CharT*, size_type)): Forward to _M_replace.
- * include/ext/vstring.tcc (__versa_string<>::_M_append):
- Define, core append functionality.
- (_M_replace): Simplify, move __s == 0 case to _M_replace_aux.
- (_M_replace_aux): Reorganize, don't call _M_replace.
-
-2005-12-04 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/vstring.tcc (__versa_string<>::_M_replace):
- Perform _M_check_length at the beginning and remove it from ...
- (replace, _M_replace_dispatch, _M_replace_aux, assign): ... here.
- (assign): Now move inline.
- (resize): Don't call _M_check_length redundantly, append does.
-
-2005-12-04 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/sso_string_base.h (__sso_string_base<>::_M_get_allocator):
- Add non const version.
- * include/ext/rc_string_base.h (__rc_string_base<>::_M_get_allocator):
- Likewise.
-
- * include/ext/sso_string_base.h (__sso_string_base<>::_M_erase): Add.
- * include/ext/rc_string_base.h (__rc_string_base<>::_M_erase): Likewise.
- (_M_leak_hard): Use it.
- * include/ext/vstring.h (__versa_string<>::clear, erase, all
- versions): Use it.
- * include/ext/vstring.tcc (__versa_string<>::resize): Likewise.
-
- * include/ext/vstring.h (__versa_string<>::_M_replace_safe):
- Remove.
- * include/ext/vstring.h (__versa_string<>::_M_replace): New, does
- the in-place work or delegates to _M_mutate in case of reallocation.
- * include/ext/vstring.tcc (__versa_string<>::_M_replace_safe):
- Remove.
- * include/ext/vstring.tcc (__versa_string<>::_M_replace): Define.
- (assign, replace, _M_replace_dispatch, _M_replace_aux): Use it.
- * include/ext/sso_string_base.h (__sso_string_base<>::_M_mutate):
- Change to manage only reallocations.
- * include/ext/rc_string_base.h (__rc_string_base<>::_M_mutate):
- Likewise.
-
- * include/ext/vstring.h (__versa_string<>::insert(size_type,
- const __versa_string&), insert(size_type, const __versa_string&,
- size_type, size_type), insert(size_type, const _CharT*, size_type),
- insert(size_type, const _CharT*)): Delegate to replace.
-
- * include/ext/vstring.h (__versa_string<>::reserve): Move out of
- line.
- * include/ext/vstring.tcc (__versa_string<>::reserve): Do the
- checks and call _M_reserve.
- * include/ext/vstring.h (__versa_string<>::append): Call _M_reserve
- instead of reserve.
- * include/ext/vstring.tcc (__versa_string<>::append, all versions):
- Likewise.
- * include/ext/sso_string_base.h (__sso_string_base<>::_M_reserve):
- Adjust.
- * include/ext/rc_string_base.h (__rc_string_base<>::_M_reserve):
- Likewise.
-
-2005-12-02 David Billinghurst (David.Billinghurst@riotinto.com)
-
- PR testsuite/25193
- * testsuite/lib/libstdc++.exp (libstdc++-dg-test): Catch
- error if file cannot be deleted.
-
-2005-11-23 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/24975 (basic_string)
- * include/bits/basic_string.h (_Rep::_S_empty_rep): Avoid
- strict-aliasing warnings.
-
-2005-11-22 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/24975
- * include/bits/stl_set.h (insert(iterator, const value_type&),
- erase(iterator), erase(iterator, iterator)): Don't break aliasing
- rules casting to _Rep_iterator&, forward to _Rb_tree facilities.
- * include/bits/stl_multiset.h (insert(iterator, const value_type&),
- erase(iterator), erase(iterator, iterator)): Likewise.
- * include/bits/stl_tree.h (_Rb_tree<>::_M_insert(_Const_Base_ptr,
- _Const_Base_ptr, const value_type&), insert_unique(const_iterator,
- const value_type&), insert_equal(const_iterator, const value_type&),
- erase(const_iterator), erase(const_iterator, const_iterator)): New,
- _Rb_tree<>::const_iterator counterparts of existing facilities.
-
-2005-11-21 Benjamin Kosnik <bkoz@redhat.com>
- Ulrich Drepper <drepper@redhat.com>
-
- PR libstdc++/23591
- * scripts/create_testsuite_files: Support for "C" test files.
- * testsuite/lib/libstdc++.exp: Same.
- * testsuite/libstdc++-dg/normal.exp: Same.
- * testsuite/ext/mt_allocator/22309_thread.cc: Update names.
- * testsuite/19_diagnostics/23591_thread-1.c: New.
- * testsuite/testsuite_shared.cc: Add tests, rename existing functions.
- * libsupc++/eh_globals.cc: Make global thread local if possible.
- * configure.ac: Use GCC_CHECK_TLS.
- * acinclude.m4: Include tls.m4.
- * configure: Regenerate.
- * config.h.in: Same.
-
-2005-11-21 Benjamin Kosnik <bkoz@redhat.com>
-
- * libsupc++/del_op.cc: Include c++config.h first.
- * libsupc++/eh_alloc.cc: Same.
- * libsupc++/new_opv.cc: Same.
- * libsupc++/eh_throw.cc: Same.
- * libsupc++/new_op.cc: Same.
- * libsupc++/del_opv.cc: Same.
- * libsupc++/eh_catch.cc: Same.
- * libsupc++/guard.cc: Same.
- * libsupc++/del_opnt.cc: Same.
- * libsupc++/eh_exception.cc: Same.
- * libsupc++/new_opvnt.cc: Same.
- * libsupc++/eh_term_handler.cc: Same.
- * libsupc++/eh_personality.cc: Same.
- * libsupc++/eh_call.cc: Same.
- * libsupc++/new_opnt.cc: Same.
- * libsupc++/del_opvnt.cc: Same.
-
-2005-11-21 Benjamin Kosnik <bkoz@redhat.com>
-
- * src/Makefile.am (LTCXXCOMPILE): CXXFLAGS last.
- * libsupc++/Makefile.am: Same.
- * src/Makefile.in: Regenerate.
- * libsupc++/Makefile.in: Same.
-
-2005-11-21 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/sso_string_base.h: Minor formatting and stylistic fixes.
- (__sso_string_base<>::_M_get_allocator): Return by const ref.
- * include/ext/rc_string_base.h: Likewise.
- (__rc_string_base<>::_M_get_allocator): Return by const ref.
- (__rc_string_base<>::_M_dispose): Take void, use _M_get_allocator.
- (__rc_string_base<>::_M_grab): Take one alloc, use _M_get_allocator.
- (__rc_string_base<>::~__rc_string_base,
- __rc_string_base(const __rc_string_base&), _M_assign, _M_reserve,
- _M_mutate): Adjust.
- * include/ext/vstring_util.h: Minor stylistic fixes.
-
-2005-11-18 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/rc_string_base.h (__rc_string_base<>::_Rep): Avoid the
- anonymous struct extension, adjust everywhere.
-
- * include/ext/rc_string_base.h (__rc_string_base<>::_S_empty_rep()):
- Just use a static member.
- (__rc_string_base<>::__rc_string_base(), _S_construct): Adjust.
-
- * include/ext/rc_string_base.h (__rc_string_base<>::_Rep): Use
- anonymous union together with _CharT to fix alignment issues,
- rebind to _Rep and rename _Raw_alloc to _Rep_alloc_type.
- (__rc_string_base<>::_Rep::_S_create, _M_destroy): Adjust consistently.
-
- * include/ext/vstring_util.h (__is_null_p): Move inside struct
- __vstring_utility as static _S_is_null_pointer.
- * include/ext/sso_string.h
- (__sso_string_base<>::_M_construct(std::forward_iterator_tag): Adjust.
- * include/ext/rc_string_base.h
- (__rc_string_base<>::_S_construct(std::forward_iterator_tag): Likewise.
-
- Implement Option 3 of DR 431 for ext/vstring - both available bases.
- * include/bits/cpp_type_traits.h (struct __is_empty): Add.
- * include/ext/vstring.h (__versa_string<>::swap): Delegate to
- this->_M_swap.
- * include/ext/vstring.tcc (__versa_string<>::swap): Remove.
- * include/ext/vstring_util.h (struct __vstring_utility<>): Add struct
- _Alloc_hider<>, augmented of allocator swapping facility, specialized
- to nop for empty allocators.
- * include/ext/rc_string_base.h (__rc_string_base<>::_M_swap): Use it.
- (__rc_string_base<>::_M_is_leaked, _M_set_sharable): Change to private.
- * include/ext/sso_string_base.h (__sso_string_base<>::_M_swap):
- Likewise.
- (__sso_string_base<>::_M_is_leaked, _M_set_sharable): Remove, unused.
- * include/ext/rc_string_base.h (__rc_string_base<>::_M_data(_CharT*):
- Return void.
- * include/ext/sso_string_base.h (__sso_string_base<>::_M_data(_CharT*):
- Likewise.
-
-2005-11-17 Geoffrey Keating <geoffk@apple.com>
-
- * config/os/bsd/darwin/ppc-extra.ver: New.
- * src/Makefile.am (libstdc++-symbol.ver): Move outside conditionals,
- and make dependent on port symbol files.
- (libstdc++-symbol.explist): Use the generated .ver file, not
- the template.
- * src/compatibility.cc [APPLE] (__eprintf): New.
- * src/Makefile.in: Regenerate.
- * configure.host (powerpc*-*-darwin*): Define
- port_specific_symbol_files.
-
-2005-11-16 Nathan Sidwell <nathan@codesourcery.com>
-
- * libsupc++/eh_arm.cc (__cxa_begin_cleanup): Remember a
- foreign exception too.
- (__gnu_end_cleanup): Recover a foreign exception too.
- * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Cope
- with forced unwinding.
- * libsupc++/eh_throw.cc (__cxxabiv1::__cxa_rethrow): Use
- _Unwind_Resume_or_Rethrow for ARM EABI.
-
-2005-11-14 Geoffrey Keating <geoffk@apple.com>
-
- * acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Don't check for
- shared libgcc for darwin exports.
+ * acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Verbose ld version
+ reporting. Disable --gc-sections for old binutils, by version.
* configure: Regenerate.
-2005-11-13 Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/tr1/boost_shared_ptr.h (get_deleter):
- Declare before shared_ptr.
- (shared_ptr<>): Declare get_deleter as friend.
- (shared_ptr<>:_M_get_deleter): Private.
-
-2005-11-13 Douglas Gregor <doug.gregor@gmail.com>
-
- PR libstdc++/24818
- * include/tr1/ref_wrap_iterate.h
- (reference_wrapper::operator()()): Don't dereferene the result of
- get() before calling it; it's already a reference.
- * testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc:
- Test nullary calls to reference_wrappers.
-
-2005-11-11 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/24808
- * include/tr1/type_traits (__is_abstract_helper): Rename to __in_array
- (with complemented logic).
- (is_function): Use it, don't use __conv_helper.
- (is_abstract): Adjust.
- (__conv_helper): Rename to __is_convertible_simple.
- (is_convertible): Adjust.
- * testsuite/testsuite_tr1.h (class IncompleteClass): Add.
- * testsuite/tr1/4_metaprogramming/composite_type_traits/is_object/
- 24808.cc: New.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/is_enum/
- 24808.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/is_function/
- 24808.cc: Likewise.
-
-2005-11-11 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/24799
- * include/tr1/functional (hash): Inherit from std::unary_function.
- * testsuite/tr1/6_containers/unordered/hash/24799.cc: New.
-
- PR libstdc++/24805
- * include/tr1/boost_shared_ptr.h (swap(shared_ptr<>&, shared_ptr<>&),
- swap(weak_ptr<>&, weak_ptr<>&)): Move inside namespace tr1.
- * testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/
- 24805.cc: New.
-
- PR libstdc++/24809
- * include/tr1/type_traits (__is_polymorhpic_helper): Adjust destructor.
- * testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/
- 24809.cc: New.
-
-2005-11-10 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/tr1/2_general_utilities/memory/
- enable_shared_from_this/not_shared.cc: Adjust, remove xfail.
- * testsuite/tr1/2_general_utilities/memory/
- enable_shared_from_this/not_shared2.cc: Likewise.
- * testsuite/tr1/2_general_utilities/memory/
- enable_shared_from_this/not_shared3.cc: Likewise.
-
-2005-11-10 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/boost_shared_ptr.h (_Sp_counted_base::release,
- weak_release): Protect barriers with __GTHREADS.
-
-2005-11-10 Paolo Carlini <pcarlini@suse.de>
- Peter Dimov <pdimov@mmltd.net>
-
- * include/tr1/boost_shared_ptr.h (_Sp_counted_base::release):
- Optimize by manually inlining weak_release.
-
- * include/tr1/boost_shared_ptr.h (_Sp_counted_base::release,
- weak_release): Use explicit memory barriers.
-
-2005-11-09 Benjamin Kosnik <bkoz@redhat.com>
- Paolo Carlini <pcarlini@suse.de>
- Gabriel Dos Reis <gdr@integrable-solutions.net>
-
- PR libstdc++/22203
- * numeric_limits.cc: Split into...
- * numeric_limits/specialization.cc: ..this.
- * numeric_limits/is_iec559.cc: Same.
- * numeric_limits/sign.cc: Same.
- * numeric_limits/quiet_NaN.cc: Same.
- * numeric_limits/digits10.cc: Same.
- * numeric_limits/denorm_min.cc: Same.
- * numeric_limits/min_max.cc: Same.
- * numeric_limits/epsilon.cc: Same.
- * numeric_limits/infinity.cc: Same.
- * numeric_limits/traps.cc: New.
-
-2005-11-09 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/boost_shared_ptr.h: Trivial formatting fixes.
-
-2005-11-08 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode): Use
- exe as the executable extension.
-
- * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Change gnu defaults to
- new.
- (GLIBCXX_ENABLE_PCH): Adjust message order.
- * configure: Regenerate.
-
- * scripts/testsuite_flags.in (query): Correct print_usagex typo.
-
- * include/bits/functexcept.h: Remove argument names.
-
- * src/mt_allocator.cc: Adjust comment.
-
-2005-11-06 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/18174
- * include/bits/stl_queue.h (priority_queue): Tweak a bit the
- comment describing the container.
-
-2005-11-05 Paolo Carlini <pcarlini@suse.de>
-
- * configure.host: Add | rs6000 to the cpu_defines_dir switch,
- consistently with the try_cpu one.
-
-2005-11-05 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/22203
- * include/bits/c++config: Include cpu_defines.h.
- * include/Makefile.am: Add cpu_defines.h to host_headers.
- * configure.host: Add cpu_defines_dir.
- * configure.ac: Use it.
- * config/cpu/powerpc/cpu_defines.h: New.
- * config/cpu/generic/cpu_defines.h: Likewise.
- * configure: Regenerate.
- * Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * libmath/Makefile.in: Likewise.
- * libsupc++/Makefile.in: Likewise.
- * po/Makefile.in: Likewise.
- * src/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2005-11-03 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/sso_string_base.h (__sso_string_base<>::_M_swap):
- Change the various traits_type::copy call to always copy the
- entire local buffer; return early and don't do a full swap on
- the lengths for two common cases; change two _S_copy to plain
- traits_type::copy.
-
-2005-11-02 Thomas Kho <tkho@ucla.edu>
-
- PR libstdc++/23425
- * include/bits/stl_vector.h (vector<>::clear): Open code
- in terms of _Destroy.
-
-2005-11-02 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/vector.tcc (vector<>::_M_fill_assign): Qualify fill_n.
-
-2005-11-01 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/24595
- * include/tr1/boost_shared_ptr.h (shared_ptr<>::get_deleter):
- Move out of shared_ptr.
- * testsuite/tr1/2_general_utilities/memory/shared_ptr/misc/24595.cc:
- New.
-
-2005-10-30 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/20213
- * include/c_std/std_csignal.h: Adjust comment as per 17.4.1.2/4.
- * include/c_std/std_cstdlib.h: Likewise.
- * include/c_std/std_cstdio.h: Likewise.
- * include/c_std/std_cstdarg.h: Likewise.
- * include/c_std/std_cctype.h: Likewise.
- * include/c_std/std_cerrno.h: Likewise.
- * include/c_std/std_cmath.h: Likewise.
- * include/c_std/std_ciso646.h: Likewise.
- * include/c_std/std_ctime.h: Likewise.
- * include/c_std/std_clocale.h: Likewise.
- * include/c_std/std_climits.h: Likewise.
- * include/c_std/std_cassert.h: Likewise.
- * include/c_std/std_csetjmp.h: Likewise.
- * include/c_std/std_cwchar.h: Likewise.
- * include/c_std/std_cfloat.h: Likewise.
- * include/c_std/std_cstring.h: Likewise.
- * include/c_std/std_cstddef.h: Likewise.
- * include/c_std/std_cwctype.h: Likewise.
-
-2005-10-29 Carey Evans <carey.evans@gmail.com>
-
- PR libstdc++/22087
- * config/os/djgpp/ctype_inline.h: Fix.
- * config/os/djgpp/ctype_noninline.h: Likewise.
-
-2005-10-28 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/24559
- * include/c_std/std_cwchar.h (wcspbrk): Adjust signature.
- * testsuite/21_strings/c_strings/wchar_t/24559.cc: New.
-
-2005-10-25 Paolo Carlini <pcarlini@suse.de>
-
- * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 39.
- * docs/html/ext/howto.html: Adjust.
-
-2005-10-21 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/24450
- * config/locale/generic/time_members.h (__timepunct<>::
- __timepunct(__c_locale, const char*, size_t)): Avoid leaking
- memory if new throws inside _M_initialize_timepunct.
- * config/locale/gnu/time_members.h (__timepunct<>::
- __timepunct(__c_locale, const char*, size_t)): Likewise.
- * config/locale/gnu/message_members.h (messages<>::
- messages(__c_locale, const char*, size_t)): Rearrange to
- avoid memory leaks.
-
-2005-10-19 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/sso_string_base.h (_M_swap): Rewrite.
-
-2005-10-19 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/rc_string_base.h (_S_terminal): Remove.
- (_M_set_length): Adjust.
- (_S_max_size): Change to anonymous enum.
- (_M_max_size()): Add, returns the latter.
- * include/ext/sso_string_base.h: Likewise.
- * include/ext/vstring.h (max_size): Adjust.
-
-2005-10-17 Jonathan Wakely <redi@gcc.gnu.org>
-
- PR libstdc++/24244
- * include/tr1/boost_shared_ptr.h
- (_Sp_counted_base::_Sp_counted_base()): When __GTHREAD_MUTEX_INIT
- is defined, initialize the mutex.
-
-2005-10-15 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/functional: Add missing #pragma GCC system_header.
-
-2005-10-14 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/hashtable (hashtable::m_erase): Rename to erase_node.
- (hashtable::erase(iterator), erase(const_iterator)): Adjust.
-
-2005-10-13 Richard Earnshaw <richard.earnsahw@arm.com>
-
- PR libstdc++/23926
- * acinclude.m4 (port_specific_symbol_files): More symbol versioning
- fixes.
- * configure: Regenerate.
-
-2005-10-13 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/lib/libstdc++.exp (libstdc++_init): Require
- native testing before setting v3-sharedlib to 1.
-
-2005-10-12 Joe Buck <Joe.Buck@synopsys.com>
-
- * docs/html/27_io/howto.html: Use reference to ifstream when
- including iosfwd.
-
-2005-10-11 Andrew Pinski <pinskia@physics.uc.edu>
-
- PR libstdc++/23926
- * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Fix typo in check
- for GNU LD.
- * configure: Regenerate.
-
-2005-10-10 Benjamin Kosnik <bkoz@redhat.com>
-
- * configure.ac (libtool_VERSION): To 6:7:0.
- * configure: Regenerate.
- * testsuite/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.7.
- * config/linker-map.gnu: Export locale::_Impl::_M_install_cache.
-
-2005-10-10 Ian Lance Taylor <ian@airs.com>
-
- PR libstdc++/13583
- * include/bits/locale_classes.h (locale::_Impl::_M_install_cache):
- Move out of line.
- * src/locale.cc: Define here, add mutex.
-
-2005-10-09 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/24061 (issue 6.19)
- * include/tr1/hashtable (struct node_const_iterator, struct
- hashtable_const_iterator): New, add const variants to enable separate
- overloadings for iterator and const_iterator in unordered_set and
- unordered_multiset (as required by issue 6.19).
- (class hashtable): Change the mutable_iterators template parameter
- to constant_iterators and adjust throughout the logic.
- (hashtable::insert(iterator, const value_type&), erase(iterator)
- erase(iterator, iterator)): New, as per issue 6.19.
- (hashtable::m_erase(node*, node**)): New, called by erase(iterator)
- and erase(const_iterator).
- (hashtable::Insert_Conv_Type): New, used by insert(iterator,
- const value_type&) and insert(const_iterator, const value_type&)
- to delegate the work to insert(const value_type&).
- * include/tr1/unordered_map (class unordered_map, unordered_multimap):
- Adjust typedefs.
- * include/tr1/unordered_set (class unordered_set, unordered_multiset):
- Likewise.
- * testsuite/tr1/6_containers/unordered/erase/24061-map.cc: New.
- * testsuite/tr1/6_containers/unordered/erase/24061-multimap.cc: New.
- * testsuite/tr1/6_containers/unordered/erase/24061-multiset.cc: New.
- * testsuite/tr1/6_containers/unordered/erase/24061-set.cc: New.
- * testsuite/tr1/6_containers/unordered/insert/24061-map.cc: New.
- * testsuite/tr1/6_containers/unordered/insert/24061-multimap.cc: New.
- * testsuite/tr1/6_containers/unordered/insert/24061-multiset.cc: New.
- * testsuite/tr1/6_containers/unordered/insert/24061-set.cc: New.
-
-2005-10-08 Kazu Hirata <kazu@codesourcery.com>
-
- Merge from csl-arm-branch:
- 2004-12-15 Daniel Jacobowitz <dan@codesourcery.com>
- * libstdc++-v3/config/linker-map.gnu: Add ARM EABI symbols.
-
-2005-10-07 Paolo Carlini <pcarlini@suse.de>
-
- Fix libstdc++/24196 for ext/vstring/rc by returning to the behavior
- of basic_string pre-2003-06-13; remove fully-dynamic-string stuff.
- * include/ext/rc_string_base.h (_M_refcopy): Move inside the
- _Rep class and remove code in macro.
- (__rc_string_base()): Construct with _S_empty_rep()._M_refcopy().
- (_M_dispose, _M_leak_hard): Remove code in macro.
- (_S_construct): Return _S_empty_rep()._M_refcopy() for empty string.
- (_M_grab): Adjust.
-
- * include/ext/rc_string_base.h (_Rep::_M_refdata()): Minor tweak,
- mark throw().
-
-2005-10-07 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/doxygen/user.cfg.in: Update to Doyxygen 1.4.4.
-
-2005-10-05 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/sso_string_base.h (struct __sso_string_local):
- Remove, actually POD types cannot have user defined constructors
- (being aggregates) and therefore can always be members of unions.
- (class __sso_string_base): Adjust consistently.
-
-2005-10-05 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/24198
- * testsuite/27_io/basic_filebuf/3.cc: Use __gnu_test::pod_ushort
- instead.
- * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: Likewise.
- * testsuite/27_io/basic_fstream/3.cc: Likewise; run the test.
- * testsuite/27_io/basic_ifstream/3.cc: Likewise; run the test.
- * testsuite/27_io/basic_ios/3.cc: Likewise.
- * testsuite/27_io/basic_iostream/3.cc: Likewise; run the test.
- * testsuite/27_io/basic_istream/3.cc: Likewise; run the test.
- * testsuite/27_io/basic_istringstream/3.cc: Likewise; run the test.
- * testsuite/27_io/basic_ofstream/3.cc: Likewise; run the test.
- * testsuite/27_io/basic_ostream/3.cc: Likewise; run the test.
- * testsuite/27_io/basic_ostringstream/3.cc: Likewise; run the test.
- * testsuite/27_io/basic_streambuf/3.cc: Likewise.
- * testsuite/27_io/basic_stringbuf/3.cc: Likewise.
- * testsuite/27_io/basic_stringstream/3.cc: Likewise; run the test.
-
-2005-10-05 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/11729 (DR 280, [Ready])
- * include/bits/stl_iterator.h: Add reverse_iterator global
- functions with two template parameters (operator==, !=, <,
- >, <=, >=, -).
- * testsuite/24_iterators/reverse_iterator/11729.cc: New.
- * docs/html/ext/howto.html: Add an entry for issue 280.
-
-2005-10-03 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/hashtable
- (node_iterator::node_iterator(const node_iterator<,true,>&)): Fix to
- take a "false" (i.e., is_const == false) node_iterator.
- (hashtable_iterator::hashtable_iterator(const hashtable_iterator<,
- true,>&)): Likewise for hashtable_iterator.
- (hashtable::const_local_iterator): Fix typedef (is_const == true).
- (hashtable::const_iterator): Likewise.
- * testsuite/tr1/6_containers/unordered/types/map_iterator.cc: New.
- * testsuite/tr1/6_containers/unordered/types/multimap_iterator.cc: New.
- * testsuite/tr1/6_containers/unordered/types/set_iterator.cc: New.
- * testsuite/tr1/6_containers/unordered/types/multiset_iterator.cc: New.
-
-2005-10-02 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/24054
- * include/tr1/hashtable (erase(const key_type&)): Return the
- number of elements erased.
- * testsuite/tr1/6_containers/unordered/hashtable/24054.cc: New.
-
-2005-10-01 Kenny Simpson <theonetruekenny@yahoo.com>
-
- * include/tr1/tuple_iterate.h (tuple::operator=(const std::pair<>&)):
- Add missing return.
-
-2005-09-30 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/24064
- * include/tr1/hashtable (hash_code_base<>::store_code): Add.
- (hashtable<>::insert(const value_type&)): Use it.
- * testsuite/tr1/6_containers/unordered/hashtable/24064.cc: New.
-
-2005-09-30 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/23953
- * include/bits/locale_facets.tcc (__numpunct_cache<>::_M_cache,
- __moneypunct_cache<>::_M_cache): Check that grouping()[0] > 0.
- (__verify_grouping): Do the last check only if __grouping[__min] > 0.
- (__add_grouping<>): End recursion if *__gbeg <= 0.
- * testsuite/22_locale/num_get/get/char/23953.cc: New.
- * testsuite/22_locale/num_get/get/wchar_t/23953.cc: Likewise.
- * testsuite/22_locale/num_put/put/char/23953.cc: Likewise.
- * testsuite/22_locale/num_put/put/wchar_t/23953.cc: Likewise.
-
-2005-09-29 Chris Jefferson <chris@bubblescope.net>
-
- PR libstdc++/23978
- * include/tr1/tuple_iterate.h (tuple): Add operator=(std::pair).
- * testsuite/tr1/6_containers/tuple/creation_functions/23978.cc: New.
-
- * include/tr1/functional (ref, cref): Make inline.
- * include/tr1/tuple_iterate.h (tie): Correct formatting.
- (make_tuple): Make inline.
-
-2005-09-25 Benjamin Kosnik <bkoz@redhat.com>
- Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * include/ext/mt_allocator.h
- (__per_type_pool<...true>::_S_initialize_once): Always call
- _M_initialize_once.
- (__common_pool<...true>::_S_initialize_once): Same.
-
-2005-09-23 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/ext/mt_allocator/tune-1.cc: Clarify for single-thread.
- * testsuite/ext/mt_allocator/tune-2.cc: Same.
- * testsuite/ext/mt_allocator/tune-3.cc: Same.
- * testsuite/ext/mt_allocator/tune-4.cc: Same.
-
-2005-09-21 Guillaume Melquiond <guillaume.melquiond@ens-lyon.fr>
-
- PR libstdc++/23956
- * include/ext/mt_allocator.h: Remove excess
- policy_type::_S_get_pool calls in constructors.
-
-2005-09-18 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/23417 (cont)
- * include/bits/stl_tree.h (_Rb_tree_impl<true>): Use member
- initialization list for -Weffc++.
-
-2005-09-16 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/27_io/basic_ostream/inserters_arithmetic/char/23871.cc:
- New.
-
-2005-09-15 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/21674
- PR libstdc++/22205
- PR libstdc++/22222
- * include/bits/c++config: Set _GLIBCXX_STD regardless of __GXX_WEAK__.
- Add in check for __NO_INLINE__ for warning.
- * testsuite/lib/dg-options.exp (dg-require-debug-mode): New.
- * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode): New.
- * testsuite/21_strings/basic_string/element_access/char/21674.cc:
- Use it.
- * testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc:
- Use it.
-
-2005-09-15 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/23875
- * include/std/std_ostream.h (operator<<(short), operator<<(unsigned
- short), operator<<(int), operator<<(unsigned int), operator<<(float)):
- Don't call operator<<(long), operator<<(unsigned long), or
- operator<<(double), do the work mandated by the resolution of DR117...
- * include/bits/ostream.tcc (operator<<(short), operator<<(unsigned
- short), operator<<(int), operator<<(unsigned int), operator<<(float)):
- ... here.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/pod/23875.cc: New.
-
-2005-09-15 Mark Mitchell <mark@codesourcery.com>
-
- * testsuite/testsuite_character.h: Specialize character<>
- templates in __gnu_cxx, not in __gnu_test.
+2006-01-20 Joseph S. Myers <joseph@codesourcery.com>
-2005-09-13 Jonathan Wakely <cow@compsoc.man.ac.uk>
- Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/21674
- * testsuite/21_strings/basic_string/element_access/char/21674.cc: New.
- * testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc:
- New.
-
-2005-09-12 David Edelsohn <dje@gcc.gnu.org>
-
- PR libstdc++/22554
- PR libstdc++/23734
- * include/Makefile.am (stamp-assoc): Install each subgroup
- of headers separately.
- * include/Makefile.in: Regenerate.
-
-2005-09-12 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/ext/mt_allocator/22309_thread.cc: Remove dg-do run.
- * testsuite/lib/libstdc++.exp ( proc libstdc++_init): Enable
- shared only for linux.
-
-2005-09-12 Benjamin Kosnik <bkoz@redhat.com>
- David Edelsohn <dje@gcc.gnu.org>
-
- PR libstdc++/22554
- PR libstdc++/23734
- * include/Makefile.am (assoc_headers): Break into five sub values.
- (install-headers): Use them.
- (stamp-assoc): Same.
- * include/Makefile.in: Regenerate.
-
-2005-09-12 Chris Jefferson <chris@bubblescope.net>
-
- * include/bits/stl_algo.h (search_n): Delegate to specializations.
- (search_n(,,,,binary_predicate)): Likewise.
- (__search_n(forward_iterator_tag)): Original search_n, tweak to
- remove an unnecessary comparison.
- (__search_n(,,,,binary_predicate,forward_iterator_tag)): Likewise.
-
-2005-09-12 Jim Xochellis <jimxoch@yahoo.gr>
-
- * include/bits/stl_algo.h
- (__search_n(std::random_access_iterator_tag)): Add specialization.
- (__search_n(,,,,binary_predicate,std::random_access_iterator_tag)):
- Likewise.
-
-2005-09-12 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/23417
- * include/bits/stl_list.h (_List_impl): Use member initialization
- list for -Weffc++.
- * include/bits/stl_tree.h (_Rb_tree_impl): Same.
-
-2005-09-12 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/23767
- * include/bits/stl_iterator.h (__normal_iterator::
- __normal_iterator<>(const __normal_iterator<_Iter, _Container>&)):
- Enable only when _Iter is equal to _Container::pointer.
- * testsuite/21_strings/basic_string/types/23767.cc: New.
- * testsuite/23_containers/vector/types/23767.cc: Likewise.
- * testsuite/ext/vstring/types/23767.cc: Likewise.
-
-2005-09-11 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/19265
- PR libstdc++/22309
- * include/ext/mt_allocator.h
- (__gnu_cxx::__create_handler): Remove.
- (__pool<true>::_M_destroy_thread_key): Compatibility only.
- (__pool<true>::_M_initialize(__destroy): Same.
- (__pool<true>::_M_initialize): New.
- (__pool<true>::_M_initialize_once): Nothing fancy.
- (__pool<true>::_M_once): Remove.
- (__common_pool): New.
- (__common_pool_base): New.
- (__per_type_pool): New.
- (__per_type_pool_base): New.
- * src/mt_allocator.cc: Same.
- * config/linker-map.gnu (__pool<true>::_M_initialize()): Add.
-
-2005-09-11 Jakub Jelinek <jakub@redhat.com>
-
- PR libstdc++/19265
- PR libstdc++/22309
- * src/mt_allocator.cc (__gnu_internal::freelist_mutex): Make static.
- (__gnu_internal::__freelist): New type.
- (__gnu_internal::freelist): New variable.
- (__gnu_internal::_M_destroy_thread_key): New function.
- (__gnu_cxx::__pool<true>::_M_destroy): Don't delete
- _M_thread_freelist_initial.
- (__gnu_cxx::__pool<true>::_M_initialize): Make argument nameless.
- Don't use _M_thread_freelist and _M_thread_freelist_initial
- __pool<true> fields, instead use __gnu_internal::freelist fields, call
- gthread_key_create just once. Use
- __gnu_internal::_M_destroy_thread_key as key destructor.
- (__gnu_cxx::__pool<true>::_M_get_thread_id): Store size_t id
- rather than _Thread_record* in the thread specific value. Don't
- use _M_thread_freelist __pool<true> field, instead use
- __gnu_internal::freelist fields.
- (__gnu_cxx::__pool<true>::_M_destroy_thread_key): Do nothing.
-
-2005-09-11 Benjamin Kosnik <bkoz@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR libstdc++/19265
- PR libstdc++/22309
- * testsuite/testsuite_shared.cc: New.
- * testsuite/lib/dg-options.exp (dg-require-sharedlib): New.
- * testsuite/lib/libstdc++.exp (libstdc++_init): Look for shared
- library, and set v3-sharedlib based on this.
- (check_v3_target_sharedlib): New.
- (proc v3-build_support): Build shared objects.
- * testsuite/ext/mt_allocator/22309_thread.cc: New, use above.
-
-2005-09-11 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/23781
- * include/bits/stl_list.h (_List_iterator<>::
- _List_iterator(_List_node_base*), _List_const_iterator<>::
- _List_const_iterator(const _List_node_base*)): Make explicit.
- (list<>::begin(), list<>::end(), list<>::pop_back()): Adjust
- consistently.
- * include/bits/list.tcc (list<>::insert, list<>::erase): Adjust
- consistently.
- * include/bits/stl_tree.h (_Rb_tree_iterator<>::
- _Rb_tree_iterator(_Link_type), _Rb_tree_const_iterator<>::
- _Rb_tree_const_iterator(_Link_type)): Make explicit.
- (_Rb_tree<>::begin(), _Rb_tree<>::end()): Adjust consistently.
- * include/ext/slist (_Slist_iterator<>::_Slist_iterator(_Node*)):
- Make explicit.
- (slist<>::erase(iterator), slist<>::erase(iterator, iterator)):
- Adjust consistently.
- * include/tr1/hashtable (hashtable_iterator<>::
- hashtable_iterator(hash_node<>**)): Make explicit.
- * testsuite/23_containers/list/23781.cc: New.
- * testsuite/23_containers/map/23781.cc: Likewise.
- * testsuite/23_containers/multimap/23781.cc: Likewise.
- * testsuite/23_containers/multiset/23781.cc: Likewise.
- * testsuite/23_containers/set/23781.cc: Likewise.
- * testsuite/ext/slist/23781.cc: Likewise.
- * testsuite/tr1/6_containers/unordered/23781.cc: Likewise.
- * testsuite/23_containers/map/operators/1_neg.cc: Adjust dg-error
- line numbers.
- * testsuite/23_containers/set/operators/1_neg.cc: Likewise.
-
- * include/tr1/array (array<>::begin(), array<>::end()): Adjust
- stylistically for consistency with the other containers.
-
-2005-09-10 Joseph S. Myers <joseph@codesourcery.com>
-
- * testsuite/26_numerics/cmath/c99_classification_macros_c.cc:
- XFAIL on *-*-linux*, not *-*-linux-gnu.
-
-2005-09-09 Benjamin Kosnik <bkoz@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
-
- * src/debug.cc (iterator_base_mutex): Make static for internal
- linkage.
- * src/locale_init.cc (locale_mutex): Same.
- * src/mt_allocator.cc (freelist_mutex): Same.
- * src/pool_allocator.cc (palloc_init_mutex): Same.
-
-2005-09-02 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/tr1/6_containers/unordered/hashtable/23465.cc:
- Reduce maximum size and lf.
-
-2005-09-01 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/c_std/std_cmath.h: Declare C99 functions and helper
- functions as inline.
-
-2005-09-01 Benjamin Kosnik <bkoz@redhat.com>
- Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/lib/libstdc++.exp (check_v3_target_cxa_atexit): Fix
- comment.
-
-2005-09-01 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/lib/libstdc++.exp (check_v3_target_cxa_atexit): New.
- * testsuite/lib/dg-options.exp (dg-require-cxa-atexit): New.
- * testsuite/ext/mt_allocator/deallocate_local-6.cc: New.
- * testsuite/ext/mt_allocator/deallocate_local-8.cc: New.
- * testsuite/ext/mt_allocator/deallocate_local_thread-5.cc: New.
- * testsuite/ext/mt_allocator/deallocate_local_thread-7.cc: New.
- * docs/html/ext/mt_allocator.html: Add link to examples.
- * testsuite/testsuite_allocator.h: Tweak.
- * 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/new_allocator/deallocate_global.cc: Same.
- * testsuite/ext/new_allocator/deallocate_local.cc: Same.
-
-2005-08-31 Paolo Carlini <pcarlini@suse.de>
- Kaspar Fischer <fischerk@inf.ethz.ch>
-
- PR libstdc++/23632
- * include/bits/stl_bvector.h (_Bit_iterator::operator[],
- _Bit_const_iterator::operator[]): Const-ify.
- * testsuite/23_containers/vector/bool/23632.cc: New.
-
-2005-08-30 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/23578 (cont)
- * include/bits/stl_bvector.h (class vector<bool>): Add
- a dummy data() to avoid problems in debug-mode.
-
-2005-08-30 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/ext/hash_map/23528.cc: New.
-
-2005-08-29 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_map.h (class map): ... and a missing @a.
-
-2005-08-29 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_map.h (class map): Add missing % in comment.
-
-2005-08-29 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/23578 (DR 464 [Ready])
- * include/bits/stl_map.h (class map): Add at(const key_type&)
- member functions.
- * include/bits/stl_vector.h (class vector): Add data() member
- functions.
- * include/debug/map.h (class map): Adjust consistently.
- * include/debug/vector (class vector): Likewise.
- * testsuite/23_containers/map/element_access/1.cc: New.
- * testsuite/23_containers/vector/data_access/1.cc: Likewise.
- * docs/html/ext/howto.html: Add an entry for DR 464.
-
-2005-08-26 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/20534 (contd)
- * src/debug.cc (__gnu_debug): Remove __fancy_abort definition.
- Remove cstdio and cstdlib includes.
- * include/debug/debug.h: Define inline here. Remove
- _GLIBCXX_DEBUG_ABORT.
- * include/debug/macros.h: Remove __fancy_abort declaration,
- _GLIBXX_DEBUG_ABORT definition.
- * config/linker-map.gnu: Remove export.
-
-2005-08-26 Benjamin Kosnik <bkoz@redhat.com>
-
- * scripts/check_compile (UNIQUE_ID): New. Use to name output files.
-
-2005-08-26 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/23081
- * include/tr1/array: Implement members back(), front(), data(),
- and the tuple interface; tidy.
- * testsuite/tr1/6_containers/array/element_access/back.cc: New.
- * testsuite/tr1/6_containers/array/element_access/data.cc: Likewise.
- * testsuite/tr1/6_containers/array/element_access/front.cc: Likewise.
- * testsuite/tr1/6_containers/array/tuple_interface/get.cc: Likewise.
- * testsuite/tr1/6_containers/array/tuple_interface/tuple_element.cc:
- Likewise.
- * testsuite/tr1/6_containers/array/tuple_interface/tuple_size.cc:
- Likewise.
-
-2005-08-25 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/hashtable: Use __throw_exception_again,
- not naked throw, in the catch clauses.
-
-2005-08-24 Lawrence Lim <llim@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
- Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/23550
- * testsuite/21_strings/char_traits/requirements/char/1.cc
- (test01): Simplify counting.
- * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc
- (test02): Same.
-
-2005-08-24 Paolo Carlini <pcarlini@suse.de>
- Chris Jefferson <chris@bubblescope.net>
-
- PR libstdc++/23465
- * include/tr1/hashtable (hash_code_base::m_swap): Use
- std::swap.
- (hashtable<>::hashtable(const hashtable&)): Use copy_code;
- fix m_allocate_node call.
- * testsuite/tr1/6_containers/unordered/hashtable/23465.cc: New.
-
-2005-08-23 Kelley Cook <kcook@gcc.gnu.org>
-
- PR libstdc++/23462
- * testsuite/data/sgetn.txt: Revert to previous FSF address.
-
-2005-08-23 Thomas Kho <tkho@ucla.edu>
-
- PR libstdc++/23358
- * include/bits/stl_construct.h (_Destroy(_ForwardIterator,
- _ForwardIterator, allocator<_Tp>)): Removed unused template parameter.
-
-2005-08-22 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/23_containers/vector/resize/1.cc: XFAIL on darwin8.
- * testsuite/27_io/ios_base/storage/2.cc: Likewise.
-
-2005-08-19 J"orn Rennecke <joern.rennecke@st.com>
-
- * config/cpu/sh/atomicity.h: Replace broken generic code with current
- copy of generic/atomicity.h .
-
-2005-08-17 Kelley Cook <kcook@gcc.gnu.org>
-
- * All files: Update FSF address.
-
-2005-08-09 Andrew Pinski <pinskia@physics.uc.edu>
-
- * testsuite/26_numerics/cmath/c99_classification_macros_c.cc:
- xfail on *-*-darwin*.
-
-2005-08-03 Geoffrey Keating <geoffk@apple.com>
-
- * configure.ac: Don't use GCC_NO_EXECUTABLES or clear
- GLIBCXX_IS_NATIVE on Darwin crosses.
- * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Don't skip configuring
- the testsuite just because there's no symbol versioning.
- * configure: Regenerate.
-
- * acinclude.m4 (GLIBCXX_CHECK_SETRLIMIT_ancilliary): Print
- status messages.
- (GLIBCXX_CHECK_S_ISREG_OR_S_IFREG): Likewise.
- (GLIBCXX_CHECK_POLL): Likewise.
- (GLIBCXX_CHECK_WRITEV): Likewise.
- (GLIBCXX_CHECK_INT64_T): Likewise.
- (GLIBCXX_CHECK_LFS): Likewise.
- * configure: Regenerate.
-
-2005-07-30 Andrew Pinski <pinskia@physics.uc.edu>
-
- * scripts/make_exports.pl: Pass --strip-underscores to c++filt.
-
-2005-07-29 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libstdc++/22284
- * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Revert
- the change to info.ttype_base.
-
-2005-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
-
- * include/std/std_valarray.h: Fix grammar in comments.
-
-2005-07-25 Geoffrey Keating <geoffk@apple.com>
-
- * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Handle darwin-export,
- and make it the default for Darwin.
- * scripts/make-exports.pl: New.
- * src/Makefile.am: Update for changes to GLIBCXX_ENABLE_SYMVERS.
- Handle darwin-export.
- * configure: Regenerate.
- * include/Makefile.in: Regenerate.
- * libmath/Makefile.in: Regenerate.
- * libsupc++/Makefile.in: Regenerate.
- * po/Makefile.in: Regenerate.
- * src/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2005-07-25 Dave Odell <evilalias@hotmail.com>
-
- PR libstdc++/23053
- * include/tr1/hashtable (hashtable<>::find_node): Const-ify.
- * testsuite/tr1/6_containers/unordered/hashtable/23053.cc: New.
-
-2005-07-25 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/22515
- * include/bits/basic_string.h: Declare the specialization
- operator>>(basic_istream<char>&, basic_string<char>&).
- * include/std/std_istream.h: Declate the specialization
- operator>>(basic_istream<char>&, char*).
- * include/std/std_streambuf.h (basic_streambuf): Add friend
- declarations for the above.
- * src/istream.cc: Define the above.
- * testsuite/27_io/basic_istream/extractors_character/char/4.cc: New.
- * testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc:
- Likewise.
- * testsuite/performance/27_io/ifstream_extract_chars.cc: Likewise.
-
-2005-07-20 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/streambuf.tcc (xsgetn, xsputn): Use streamsize
- instead of size_t.
- * src/streambuf.cc (__copy_streambufs): Likewise.
-
-2005-07-18 Paolo Carlini <pcarlini@suse.de>
-
- * config/locale/gnu/ctype_members.cc (do_is(mask, wchar_t)):
- Speed-up for the common case of mask == ctype_base::space;
- otherwise, exit the loop earlier if the mask is one of the
- elementary ones.
-
-2005-07-14 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/21193 (float, double, long double)
- * include/tr1/functional (hash<float>, hash<double>):
- Reimplement exploiting the Fnv_hash<>::hash helper.
- (hash<long double>): Reimplement using frexp (in this
- case, due to random padding bits, the former approach
- is not generally viable).
-
-2005-07-13 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/21193 (string & wstring)
- * include/tr1/functional (hash<string>, hash<wstring>):
- Reimplement using the FNV hash.
-
- * include/tr1/functional: Trivial formatting fixes.
-
-2005-07-11 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/ostream.tcc (basic_ostream<>::operator<<(long),
- basic_ostream<>::operator<<(long long)): Don't deal with oct
- and hex and casts to unsigned here...
- * include/bits/locale_facets.tcc (__int_to_char(_CharT*, long,
- const _CharT*, ios_base::fmtflags), __int_to_char(_CharT*, long
- long, const _CharT*, ios_base::fmtflags)): ... do that here,
- instead, as per Table 57.
- (num_put<>::_M_insert_int): Tidy treatment of numeric base and
- sign.
- * include/std/std_ostream.h (operator<<(short), operator<<(int)):
- Adjust logic, as per the letter of the resolution of DR117 [WP].
- * testsuite/22_locale/num_put/put/char/10.cc: New.
- * testsuite/22_locale/num_put/put/wchar_t/10.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/char/7.cc:
- Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/7.cc:
- Likewise.
-
-2005-07-07 David Edelsohn <edelsohn@gnu.org>
-
- * testsuite/ext/pb_assoc/example/tree_order_statistics_join.cc:
- Change map_t to map_type.
-
-2005-07-05 Paolo Carlini <pcarlini@suse.de>
-
- Add class __versa_string, a versatile "basic_string-type" class:
- an additional, non-standard, template parameter allows to specify
- the preferred base class. Two are provided: __rc_string_base,
- which implements a behavior very similar to our standard string,
- and __sso_string_base, not reference-counted and optimized for
- short strings.
- * include/ext/rc_string_base.h: New.
- * include/ext/sso_string_base.h: Likewise.
- * include/ext/vstring.h: Likewise.
- * include/ext/vstring.tcc: Likewise.
- * include/ext/vstring_fwd.h: Likewise.
- * include/ext/vstring_util.h: Likewise.
- * include/Makefile.am: Add.
+ PR libstdc++/25524
+ * include/Makefile.am: Install host-specific headers in multilib
+ subdirectory.
* include/Makefile.in: Regenerate.
- * testsuite/ext/vstring/explicit_instantiation/1.cc: New.
- * testsuite/ext/vstring/explicit_instantiation/2.cc: Likewise.
- * testsuite/ext/vstring/explicit_instantiation/char/1.cc: Likewise.
- * testsuite/ext/vstring/explicit_instantiation/wchar_t/1.cc: Likewise.
-
- * Makefile.in: Regenerate with autotools 1.9.3 (to date, the version
- officially used by v3).
- * aclocal.m4: Likewise.
- * libmath/Makefile.in: Likewise.
- * libsupc++/Makefile.in: Likewise.
- * po/Makefile.in: Likewise.
- * src/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2005-07-01 Paolo Carlini <pcarlini@suse.de>
-
- Port from libstdcxx_so_7-branch:
- 2004-10-28 Chris Jefferson <chris@bubblescope.net>
-
- PR libstdc++/17441
- * include/bit/stl_algo.h (find(,,,input_iterator_tag),
- find(,,,random_access_interator_tag),
- find_if(,,,input_iterator_tag),
- find_if(,,,random_access_iterator_tag)): Uglify function name.
- (find, find_if): Use new uglified specialisation names.
- * testsuite/25_algorithms/find/17441.cc: New.
-2005-06-30 Ulrich Weigand <uweigand@de.ibm.com>
+2006-01-19 Paolo Carlini <pcarlini@suse.de>
- * include/ext/pb_assoc/detail/hash_fn/mask_based_range_hashing.hpp
- (PB_ASSOC_CLASS_C_DEC::s_highest_bit_1): Cast constant 1 to target
- type before shifting.
+ Implement list::splice (and merge) bits of N1599
+ * include/bits/stl_list.h (list<>::_M_check_equal_allocators): New.
+ (list<>::splice(iterator, list&), splice(iterator, list&, iterator),
+ splice(iterator, list&, iterator, iterator)): Use it.
+ * include/bits/list.tcc (list<>::merge(list&), merge(list&,
+ _StrictWeakOrdering)): Likewise.
+ * testsuite/23_containers/list/operators/5.cc: New.
-2005-06-29 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/21244 (cont^2)
- * include/ext/bitmap_allocator.h: Convert everywhere
- bits_per_block to size_t.
+2006-01-19 H.J. Lu <hongjiu.lu@intel.com>
-2005-06-29 Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/bits/basic_string.h, include/bits/locale_facets.h: Fix
- Doxygen comments that use wrong parameter and function names.
+ PR libstdc++/25797
+ * acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Remove -Werror
+ from CFLAGS. Check if linker really supports --gc-sections.
+ * configure: Regenerated.
-2005-06-29 Paolo Carlini <pcarlini@suse.de>
+2006-01-18 Paul Brook <paul@codesourcery.com>
- * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 37.
- * docs/html/ext/howto.html: Adjust.
+ * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Use std::abort.
-2005-06-29 Paolo Carlini <pcarlini@suse.de>
+2006-01-18 Paolo Carlini <pcarlini@suse.de>
- PR libstdc++/22131
- * include/bits/locale_facets.tcc (num_get<>::_M_extract_int,
- num_get<>::_M_extract_float, money_get<>::_M_extract):
- Adjust to assign the result also when digit grouping is
- wrong (but the grammar is correct), as per 22.2.2.1.2, p11-12
- (NB: consistently for money_get too).
- * config/locale/generic/c_locale.cc (__convert_to_v): Do
- not check ios_base::failbit at the outset.
- * config/locale/gnu/c_locale.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/22131.cc: New.
- * testsuite/22_locale/money_get/get/wchar_t/22131.cc: Likewise.
- * testsuite/22_locale/num_get/get/char/22131.cc: Likewise.
- * testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise.
- * testsuite/22_locale/num_get/get/char/12.cc: Adjust.
- * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
- Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/07.cc:
- Likewise.
+ * include/bits/allocator.h: Include <bits/cpp_type_traits.h>.
-2005-06-28 Paul Brook <paul@codesourcery.com>
-
- * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Check for
- __cxa_end_cleanup.
- * libsupc++/Makefile.am (sources): Add eh_call.c and eh_arm.c.
- * libsupc++/eh_arm.cc: New file.
- * libsupc++/eh_call.cc: New file.
- * libsupc++/eh_catch.cc (__cxa_get_exception_ptr): Use
- __gxx_caught_object.
- (__cxa_begin_catch): Ditto. Use __is_gxx_exception_class. Call
- _Unwind_Complete when using the ARM EABI.
- (__cxa_end_catch): Use __is_gxx_exception_class.
- * libsupc++/eh_personality.cc: Define NO_SIZE_OF_ENCODED_VALUE when
- using the ARM EABI.
- (save_caught_exception, restore_caught_exception): New functions.
- (_throw_typet): New typedef.
- (get_ttype_entry, get_adjusted_ptr, check_exception_spec): Add ARM
- EABI implementations.
- (PERSONALITY_FUNCTION): Use new functions. Addd support for ARM EABI
- unwinding libary.
- (__cxa_unexpected): Disable when using the ARM EABI.
- * libsupc++/eh_throw.cc (__cxa_throw): Use __GXX_INIT_EXCEPTION_CLASS.
- (__cxa_rethrow): Use __is_gxx_exception_class. Call
- _Unwind_RaiseException when using the ARM EABI.
- * libsupc++/unwind-cxx.h (struct __cxa_exception): Add fields for ARM
- EABI semantics.
- (struct __cxa_eh_globals): Ditto.
- (__cxa_call_terminate): Add prototype.
- (__cxa_type_match, __cxa_begin_cleanup, __cxa_end_cleanup): Add
- prototypes.
- (__get_exception_header_from_obj, __get_exception_header_from_ue):
- Move earlier in file.
- (__is_gxx_exception_class, __GXX_INIT_EXCEPTION_CLASS,
- __gxx_caught_object): New functions.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * libmath/Makefile.in: Regenerate.
- * libsupc++/Makefile.in: Regenerate.
- * po/Makefile.in: Regenerate.
- * src/Makefie.in: Regenerate.
- * testsuite/makefile.in: Regenerate.
+2006-01-18 Perry Smith <pedz@easesoftware.net>
-2005-06-27 Paolo Carlini <pcarlini@suse.de>
+ PR libstdc++/25823
+ PR libstdc++/25824
+ * libsupc++/eh_alloc.cc: Fix return type of memset declaration.
+ * libsupc++/eh_globals.cc: If !_GLIBCXX_HOSTED declare malloc and free.
- PR libstdc++/22102
- * include/bits/stl_tree.h (insert_unique(iterator, const _Val&),
- insert_equal((iterator, const _Val&)): Reimplement to check both
- before and after, as per the algorithm "ignore hint if wrong" of
- ISO paper N1780.
+2006-01-18 Paolo Carlini <pcarlini@suse.de>
-2005-06-27 Benjamin Kosnik <bkoz@redhat.com>
- Ami Tavory <pbassoc@gmail.com>
-
- * docs/html/documentation.html: Add link for policy based
- associative containers docs.
- * docs/html/ext/pb_assoc/Std_hash_set_impl.jpg: New.
- * docs/html/ext/pb_assoc/acks.html: New.
- * docs/html/ext/pb_assoc/balls_and_bins.jpg: New.
- * docs/html/ext/pb_assoc/basic_assoc_cntnr.html: New.
- * docs/html/ext/pb_assoc/basic_assoc_cntnr_compound_data.html: New.
- * docs/html/ext/pb_assoc/basic_assoc_cntnr_no_data.html: New.
- * docs/html/ext/pb_assoc/basic_ds_tag.html: New.
- * docs/html/ext/pb_assoc/basic_hash_assoc_cntnr.html: New.
- * docs/html/ext/pb_assoc/basic_hash_ds_tag.html: New.
- * docs/html/ext/pb_assoc/basic_invalidation_guarantee.html: New.
- * docs/html/ext/pb_assoc/basic_ms_tag.html: New.
- * docs/html/ext/pb_assoc/basic_tree_assoc_cntnr.html: New.
- * docs/html/ext/pb_assoc/
- basic_tree_assoc_cntnr_const_node_iterator.html: New.
- * docs/html/ext/pb_assoc/
- basic_tree_assoc_cntnr_node_iterator.html: New.
- * docs/html/ext/pb_assoc/basic_tree_assoc_cntnr_rev.html: New.
- * docs/html/ext/pb_assoc/basic_tree_assoc_cntnr_rev_it.html: New.
- * docs/html/ext/pb_assoc/basic_tree_ds_tag.html: New.
- * docs/html/ext/pb_assoc/cc_hash_assoc_cntnr.html: New.
- * docs/html/ext/pb_assoc/cc_hash_ds_tag.html: New.
- * docs/html/ext/pb_assoc/
- cc_hash_max_collision_check_resize_trigger.html: New.
- * docs/html/ext/pb_assoc/cc_hash_policy_cd.jpg: New.
- * docs/html/ext/pb_assoc/cd.jpg: New.
- * docs/html/ext/pb_assoc/component_requirements.html: New.
- * docs/html/ext/pb_assoc/compound_data_enabled_ms_tag.html: New.
- * docs/html/ext/pb_assoc/compound_data_type.html: New.
- * docs/html/ext/pb_assoc/compound_ds_tag.html: New.
- * docs/html/ext/pb_assoc/concepts.html: New.
- * docs/html/ext/pb_assoc/contact.html: New.
- * docs/html/ext/pb_assoc/counter_update_metadata.html: New.
- * docs/html/ext/pb_assoc/counter_update_policy.html: New.
- * docs/html/ext/pb_assoc/data_enabled_ms_tag.html: New.
- * docs/html/ext/pb_assoc/design.html: New.
- * docs/html/ext/pb_assoc/different_underlying_dss.jpg: New.
- * docs/html/ext/pb_assoc/direct_mask_range_hashing.html: New.
- * docs/html/ext/pb_assoc/direct_mod_range_hashing.html: New.
- * docs/html/ext/pb_assoc/disclaimer.html: New.
- * docs/html/ext/pb_assoc/ds_gen.html: New.
- * docs/html/ext/pb_assoc/ds_tag_cd.jpg: New.
- * docs/html/ext/pb_assoc/ds_traits.html: New.
- * docs/html/ext/pb_assoc/embedded_lists_1.jpg: New.
- * docs/html/ext/pb_assoc/embedded_lists_2.jpg: New.
- * docs/html/ext/pb_assoc/examples.html: New.
- * docs/html/ext/pb_assoc/exception_guarantees_specifics.html: New.
- * docs/html/ext/pb_assoc/find_invalidation_guarantee.html: New.
- * docs/html/ext/pb_assoc/find_iterators_cd.jpg: New.
- * docs/html/ext/pb_assoc/find_iterators_range_ops_1.jpg: New.
- * docs/html/ext/pb_assoc/find_iterators_range_ops_2.jpg: New.
- * docs/html/ext/pb_assoc/generics.html: New.
- * docs/html/ext/pb_assoc/gp_hash_assoc_cntnr.html: New.
- * docs/html/ext/pb_assoc/gp_hash_ds_tag.html: New.
- * docs/html/ext/pb_assoc/gp_hash_policy_cd.jpg: New.
- * docs/html/ext/pb_assoc/hash_and_probe_general.html: New.
- * docs/html/ext/pb_assoc/hash_based_containers.html: New.
- * docs/html/ext/pb_assoc/hash_cd.jpg: New.
- * docs/html/ext/pb_assoc/hash_exponential_size_policy.html: New.
- * docs/html/ext/pb_assoc/hash_fn.html: New.
- * docs/html/ext/pb_assoc/hash_load_check_resize_trigger.html: New.
- * docs/html/ext/pb_assoc/hash_policies.html: New.
- * docs/html/ext/pb_assoc/hash_policy_cd.jpg: New.
- * docs/html/ext/pb_assoc/hash_prime_size_policy.html: New.
- * docs/html/ext/pb_assoc/hash_range_hashing_seq_diagram.jpg: New.
- * docs/html/ext/pb_assoc/hash_range_hashing_seq_diagram2.jpg: New.
- * docs/html/ext/pb_assoc/hash_ranged_hash_range_hashing_fns.jpg: New.
- * docs/html/ext/pb_assoc/hash_standard_resize_policy.html: New.
- * docs/html/ext/pb_assoc/home.html: New.
- * docs/html/ext/pb_assoc/index.html: New.
- * docs/html/ext/pb_assoc/insert_resize_sequence_diagram1.jpg: New.
- * docs/html/ext/pb_assoc/insert_resize_sequence_diagram2.jpg: New.
- * docs/html/ext/pb_assoc/insert_resize_sequence_diagram3.jpg: New.
- * docs/html/ext/pb_assoc/insert_type_methods.html: New.
- * docs/html/ext/pb_assoc/interface.html: New.
- * docs/html/ext/pb_assoc/interval_node_invariants.jpg: New.
- * docs/html/ext/pb_assoc/introduction.html: New.
- * docs/html/ext/pb_assoc/invalidation_guarantee_cd.jpg: New.
- * docs/html/ext/pb_assoc/invalidation_guarantee_erase.jpg: New.
- * docs/html/ext/pb_assoc/lib_download.html: New.
- * docs/html/ext/pb_assoc/linear_probe_fn.html: New.
- * docs/html/ext/pb_assoc/list_updates.html: New.
- * docs/html/ext/pb_assoc/lu_assoc_cntnr.html: New.
- * docs/html/ext/pb_assoc/lu_based_containers.html: New.
- * docs/html/ext/pb_assoc/lu_cd.jpg: New.
- * docs/html/ext/pb_assoc/lu_ds_tag.html: New.
- * docs/html/ext/pb_assoc/lu_ops.jpg: New.
- * docs/html/ext/pb_assoc/mmap_value_utils.html: New.
- * docs/html/ext/pb_assoc/motivation.html: New.
- * docs/html/ext/pb_assoc/move_to_front_update_metadata.html: New.
- * docs/html/ext/pb_assoc/move_to_front_update_policy.html: New.
- * docs/html/ext/pb_assoc/ms_cd.jpg: New.
- * docs/html/ext/pb_assoc/ms_gen.html: New.
- * docs/html/ext/pb_assoc/ms_tag_cd.jpg: New.
- * docs/html/ext/pb_assoc/ms_traits.html: New.
- * docs/html/ext/pb_assoc/node_invariant_invalidations.jpg: New.
- * docs/html/ext/pb_assoc/node_invariants.html: New.
- * docs/html/ext/pb_assoc/node_invariants.jpg: New.
- * docs/html/ext/pb_assoc/non_unique_mapping.html: New.
- * docs/html/ext/pb_assoc/non_unique_mapping_containers.jpg: New.
- * docs/html/ext/pb_assoc/null_data_type.html: New.
- * docs/html/ext/pb_assoc/null_hash_fn.html: New.
- * docs/html/ext/pb_assoc/null_probe_fn.html: New.
- * docs/html/ext/pb_assoc/order_by_key.html: New.
- * docs/html/ext/pb_assoc/order_statistics_key.html: New.
- * docs/html/ext/pb_assoc/order_statistics_key_cmp.html: New.
- * docs/html/ext/pb_assoc/order_statistics_node_updator.html: New.
- * docs/html/ext/pb_assoc/ov_tree_ds_tag.html: New.
- * docs/html/ext/pb_assoc/overview.html: New.
- * docs/html/ext/pb_assoc/pb_assoc_ex.html: New.
- * docs/html/ext/pb_assoc/portability.html: New.
- * docs/html/ext/pb_assoc/quadratic_probe_fn.html: New.
- * docs/html/ext/pb_assoc/range_invalidation_guarantee.html: New.
- * docs/html/ext/pb_assoc/rank_node_invariants.jpg: New.
- * docs/html/ext/pb_assoc/rationale_null_node_updator.jpg: New.
- * docs/html/ext/pb_assoc/rb_tree_ds_tag.html: New.
- * docs/html/ext/pb_assoc/reference_iterator.jpg: New.
- * docs/html/ext/pb_assoc/references.html: New.
- * docs/html/ext/pb_assoc/regression_tests.html: New.
- * docs/html/ext/pb_assoc/resize_general.html: New.
- * docs/html/ext/pb_assoc/resize_policies.html: New.
- * docs/html/ext/pb_assoc/resize_policy_cd.jpg: New.
- * docs/html/ext/pb_assoc/restoring_node_invariants.jpg: New.
- * docs/html/ext/pb_assoc/sample_node_updator.hpp: New.
- * docs/html/ext/pb_assoc/sample_probe_fn.hpp: New.
- * docs/html/ext/pb_assoc/sample_probe_fn.html: New.
- * docs/html/ext/pb_assoc/sample_range_hashing.hpp: New.
- * docs/html/ext/pb_assoc/sample_range_hashing.html: New.
- * docs/html/ext/pb_assoc/sample_ranged_hash_fn.hpp: New.
- * docs/html/ext/pb_assoc/sample_ranged_hash_fn.html: New.
- * docs/html/ext/pb_assoc/sample_ranged_probe_fn.hpp: New.
- * docs/html/ext/pb_assoc/sample_ranged_probe_fn.html: New.
- * docs/html/ext/pb_assoc/sample_resize_policy.hpp: New.
- * docs/html/ext/pb_assoc/sample_resize_policy.html: New.
- * docs/html/ext/pb_assoc/sample_resize_trigger.hpp: New.
- * docs/html/ext/pb_assoc/sample_size_policy.hpp: New.
- * docs/html/ext/pb_assoc/sample_update_policy.hpp: New.
- * docs/html/ext/pb_assoc/size_policies_general.html: New.
- * docs/html/ext/pb_assoc/splay_tree_ds_tag.html: New.
- * docs/html/ext/pb_assoc/timing_tests.html: New.
- * docs/html/ext/pb_assoc/toc.html: New.
- * docs/html/ext/pb_assoc/tree_assoc_cntnr.html: New.
- * docs/html/ext/pb_assoc/
- tree_assoc_cntnr_const_node_iterator.html: New.
- * docs/html/ext/pb_assoc/tree_assoc_cntnr_node_iterator.html: New.
- * docs/html/ext/pb_assoc/tree_based_containers.html: New.
- * docs/html/ext/pb_assoc/tree_cd.jpg: New.
- * docs/html/ext/pb_assoc/trigger_policies_general.html: New.
- * docs/html/ext/pb_assoc/tutorial.html: New.
- * docs/html/ext/pb_assoc/update_seq_diagram.jpg: New.
- * include/Makefile.am: Add assoc_srcdir, assoc_builddir, assoc_subdir,
- assoc_headers.
- * include/Makefile.in: Regenerate.
- * include/ext/typelist.h: New.
- * include/ext/pb_assoc/assoc_cntnr.hpp: New.
- * include/ext/pb_assoc/data_type.hpp: New.
- * include/ext/pb_assoc/ds_trait.hpp: New.
- * include/ext/pb_assoc/exception.hpp: New.
- * include/ext/pb_assoc/hash_policy.hpp: New.
- * include/ext/pb_assoc/lu_policy.hpp: New.
- * include/ext/pb_assoc/ms_trait.hpp: New.
- * include/ext/pb_assoc/tree_policy.hpp: New.
- * include/ext/pb_assoc/trivial_iterator_def.hpp: New.
- * include/ext/pb_assoc/detail/assoc_cntnr_base.hpp: New.
- * include/ext/pb_assoc/detail/cond_dealtor.hpp: New.
- * include/ext/pb_assoc/detail/constructors_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/ds_trait_imp.hpp: New.
- * include/ext/pb_assoc/detail/hash_types_traits.hpp: New.
- * include/ext/pb_assoc/detail/map_debug_base.hpp: New.
- * include/ext/pb_assoc/detail/mapping_level_imp.hpp: New.
- * include/ext/pb_assoc/detail/ms_category_imp.hpp: New.
- * include/ext/pb_assoc/detail/ms_trait_imp.hpp: New.
- * include/ext/pb_assoc/detail/order_statistics_imp.hpp: New.
- * include/ext/pb_assoc/detail/standard_policies.hpp: New.
- * include/ext/pb_assoc/detail/standard_sizes.hpp: New.
- * include/ext/pb_assoc/detail/type_utils.hpp: New.
- * include/ext/pb_assoc/detail/typelist.hpp: New.
- * include/ext/pb_assoc/detail/types_traits.hpp: New.
- * include/ext/pb_assoc/detail/basic_assoc_cntnr/
- constructor_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_assoc_cntnr/
- constructors_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_assoc_cntnr/d_extract_key.hpp: New.
- * include/ext/pb_assoc/detail/basic_assoc_cntnr/
- d_find_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_assoc_cntnr/
- d_insert_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_assoc_cntnr/erase_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_assoc_cntnr/extract_key.hpp: New.
- * include/ext/pb_assoc/detail/basic_assoc_cntnr/info_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_assoc_cntnr/
- insert_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_assoc_cntnr/
- iterators_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/
- constructor_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/
- constructors_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/
- resize_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
- constructor_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
- constructors_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
- erase_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
- node_iteration_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
- policy_access_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
- r_erase_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
- r_range_iteration_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
- range_iteration_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
- split_join_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/bin_search_tree_/
- bin_search_tree_.hpp: New.
- * include/ext/pb_assoc/detail/bin_search_tree_/
- cond_dtor_entry_dealtor.hpp: New.
- * include/ext/pb_assoc/detail/bin_search_tree_/
- cond_key_dtor_entry_dealtor.hpp: New.
- * include/ext/pb_assoc/detail/bin_search_tree_/
- constructors_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/bin_search_tree_/debug_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/bin_search_tree_/erase_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/bin_search_tree_/find_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/bin_search_tree_/find_iterators.hpp: New.
- * include/ext/pb_assoc/detail/bin_search_tree_/info_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/bin_search_tree_/insert_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/bin_search_tree_/
- iterators_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/bin_search_tree_/node_iterators.hpp: New.
- * include/ext/pb_assoc/detail/bin_search_tree_/
- r_erase_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/bin_search_tree_/rotate_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/bin_search_tree_/
- split_join_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_hash_assoc_cntnr/
- constructor_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/cc_ht_map_.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/cmp_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/
- cond_key_dtor_entry_dealtor.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/
- constructor_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/
- constructor_destructor_no_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/
- constructor_destructor_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/debug_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/
- debug_no_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/
- debug_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/entry_list_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/erase_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/
- erase_no_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/
- erase_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/
- find_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/
- find_no_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/
- find_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/info_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/insert_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/
- insert_no_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/
- insert_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/iterators_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/
- policy_access_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/resize_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/
- resize_no_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/
- resize_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/size_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/cc_ht_map_/standard_policies.hpp: New.
- * include/ext/pb_assoc/detail/eq_fn/eq_by_less.hpp: New.
- * include/ext/pb_assoc/detail/eq_fn/hash_eq_fn.hpp: New.
- * include/ext/pb_assoc/detail/gp_hash_assoc_cntnr/
- constructor_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/
- constructor_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/
- constructor_destructor_no_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/
- constructor_destructor_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/debug_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/
- debug_no_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/
- debug_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/erase_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/
- erase_no_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/
- erase_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/find_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/
- find_no_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/
- find_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/gp_ht_map_.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/info_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/insert_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/
- insert_no_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/
- insert_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/iterator_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/
- policy_access_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/resize_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/
- resize_no_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/gp_ht_map_/
- resize_store_hash_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/hash_fn/
- direct_mask_range_hashing_imp.hpp: New.
- * include/ext/pb_assoc/detail/hash_fn/
- direct_mod_range_hashing_imp.hpp: New.
- * include/ext/pb_assoc/detail/hash_fn/linear_probe_fn_imp.hpp: New.
- * include/ext/pb_assoc/detail/hash_fn/
- mask_based_range_hashing.hpp: New.
- * include/ext/pb_assoc/detail/hash_fn/mod_based_range_hashing.hpp: New.
- * include/ext/pb_assoc/detail/hash_fn/probe_fn_base.hpp: New.
- * include/ext/pb_assoc/detail/hash_fn/quadratic_probe_fn_imp.hpp: New.
- * include/ext/pb_assoc/detail/hash_fn/ranged_hash_fn.hpp: New.
- * include/ext/pb_assoc/detail/hash_fn/ranged_probe_fn.hpp: New.
- * include/ext/pb_assoc/detail/lu_assoc_cntnr/
- constructor_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/lu_assoc_cntnr/
- policy_access_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/lu_map_/
- constructor_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/lu_map_/debug_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/lu_map_/erase_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/lu_map_/find_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/lu_map_/info_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/lu_map_/insert_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/lu_map_/iterators_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/lu_map_/lu_map_.hpp: New.
- * include/ext/pb_assoc/detail/lu_map_/policy_access_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/lu_policy/
- counter_lu_metadata_imp.hpp: New.
- * include/ext/pb_assoc/detail/lu_policy/counter_lu_policy_imp.hpp: New.
- * include/ext/pb_assoc/detail/lu_policy/mtf_lu_policy_imp.hpp: New.
- * include/ext/pb_assoc/detail/ov_tree_map_/cond_dtor.hpp: New.
- * include/ext/pb_assoc/detail/ov_tree_map_/
- constructors_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/ov_tree_map_/debug_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/ov_tree_map_/erase_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/ov_tree_map_/find_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/ov_tree_map_/info_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/ov_tree_map_/insert_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/ov_tree_map_/iterators_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/ov_tree_map_/node_iterators.hpp: New.
- * include/ext/pb_assoc/detail/ov_tree_map_/ov_tree_map_.hpp: New.
- * include/ext/pb_assoc/detail/ov_tree_map_/split_join_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/rb_tree_map_/
- constructors_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/rb_tree_map_/debug_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/rb_tree_map_/erase_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/rb_tree_map_/find_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/rb_tree_map_/info_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/rb_tree_map_/insert_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/rb_tree_map_/node.hpp: New.
- * include/ext/pb_assoc/detail/rb_tree_map_/rb_tree_.hpp: New.
- * include/ext/pb_assoc/detail/rb_tree_map_/split_join_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/resize_policy/
- cc_hash_max_collision_resize_trigger_imp.hpp: New.
- * include/ext/pb_assoc/detail/resize_policy/
- hash_exponential_size_policy_imp.hpp: New.
- * include/ext/pb_assoc/detail/resize_policy/
- hash_load_check_resize_trigger_imp.hpp: New.
- * include/ext/pb_assoc/detail/resize_policy/
- hash_prime_size_policy_imp.hpp: New.
- * include/ext/pb_assoc/detail/resize_policy/
- hash_standard_resize_policy_imp.hpp: New.
- * include/ext/pb_assoc/detail/resize_policy/
- ht_prime_size_policy_imp.hpp: New.
- * include/ext/pb_assoc/detail/resize_policy/size_base.hpp: New.
- * include/ext/pb_assoc/detail/splay_tree_/
- constructors_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/splay_tree_/debug_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/splay_tree_/erase_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/splay_tree_/find_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/splay_tree_/info_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/splay_tree_/insert_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/splay_tree_/node.hpp: New.
- * include/ext/pb_assoc/detail/splay_tree_/splay_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/splay_tree_/splay_tree_.hpp: New.
- * include/ext/pb_assoc/detail/splay_tree_/split_join_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/tree_assoc_cntnr/
- constructor_destructor_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/tree_policy/
- null_node_updator_imp.hpp: New.
- * include/ext/pb_assoc/detail/tree_policy/
- order_statistics_imp.hpp: New.
- * include/ext/pb_assoc/detail/typelist/typelist_append.hpp: New.
- * include/ext/pb_assoc/detail/typelist/typelist_apply.hpp: New.
- * include/ext/pb_assoc/detail/typelist/typelist_at_index.hpp: New.
- * include/ext/pb_assoc/detail/typelist/typelist_contains.hpp: New.
- * include/ext/pb_assoc/detail/typelist/typelist_filter.hpp: New.
- * include/ext/pb_assoc/detail/typelist/typelist_transform.hpp: New.
- * include/ext/pb_assoc/detail/typelist/
- typelist_typelist_append.hpp: New.
- * include/ext/pb_assoc/detail/unordered_iterator/
- const_find_iterator.hpp: New.
- * include/ext/pb_assoc/detail/unordered_iterator/
- const_iterator.hpp: New.
- * include/ext/pb_assoc/detail/unordered_iterator/
- find_iterator.hpp: New.
- * include/ext/pb_assoc/detail/unordered_iterator/iterator.hpp: New.
- * include/ext/pb_assoc/detail/value_type_adapter/
- constructor_destructor_and_related.hpp: New.
- * include/ext/pb_assoc/detail/value_type_adapter/
- erase_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/value_type_adapter/
- erase_if_pred.hpp: New.
- * include/ext/pb_assoc/detail/value_type_adapter/find_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/value_type_adapter/info_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/value_type_adapter/
- insert_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/value_type_adapter/
- invalidation_guarantee_selector.hpp: New.
* include/ext/pb_assoc/detail/value_type_adapter/
- it_value_type_traits.hpp: New.
- * include/ext/pb_assoc/detail/value_type_adapter/iterator.hpp: New.
+ value_type_adapter.hpp: Include <tr1/type_traits>.
* include/ext/pb_assoc/detail/value_type_adapter/
- iterator_fn_imps.hpp: New.
- * include/ext/pb_assoc/detail/value_type_adapter/ref_pair.hpp: New.
- * include/ext/pb_assoc/detail/value_type_adapter/
- value_type_adapter.hpp: New.
- * include/ext/pb_assoc/detail/value_type_adapter/
- value_type_traits.hpp: New.
- * testsuite/Makefile.am (CLEANFILES): Add .o, .dat, .cc.
- * testsuite/Makefile.in: Regenerate.
- * testsuite/testsuite_common_types.h: New.
- * testsuite/testsuite_visualization.h: New.
- * testsuite/ext/pb_assoc/example/basic_map.cc: New.
- * testsuite/ext/pb_assoc/example/basic_multimap.cc: New.
- * testsuite/ext/pb_assoc/example/basic_set.cc: New.
- * testsuite/ext/pb_assoc/example/ds_traits.cc: New.
- * testsuite/ext/pb_assoc/example/erase_if.cc: New.
- * testsuite/ext/pb_assoc/example/extract_key.cc: New.
- * testsuite/ext/pb_assoc/example/hash_find_neg.cc: New.
- * testsuite/ext/pb_assoc/example/hash_illegal_resize.cc: New.
- * testsuite/ext/pb_assoc/example/hash_initial_size.cc: New.
- * testsuite/ext/pb_assoc/example/hash_load_set_change.cc: New.
- * testsuite/ext/pb_assoc/example/hash_mod.cc: New.
- * testsuite/ext/pb_assoc/example/hash_resize.cc: New.
- * testsuite/ext/pb_assoc/example/hash_resize_neg.cc: New.
- * testsuite/ext/pb_assoc/example/hash_shift_mask.cc: New.
- * testsuite/ext/pb_assoc/example/mapping_level.cc: New.
- * testsuite/ext/pb_assoc/example/mapping_level_neg.cc: New.
- * testsuite/ext/pb_assoc/example/ms_traits.cc: New.
- * testsuite/ext/pb_assoc/example/ranged_hash.cc: New.
- * testsuite/ext/pb_assoc/example/store_hash.cc: New.
- * testsuite/ext/pb_assoc/example/tree_intervals.cc: New.
- * testsuite/ext/pb_assoc/example/tree_join.cc: New.
- * testsuite/ext/pb_assoc/example/tree_order_statistics.cc: New.
- * testsuite/ext/pb_assoc/example/tree_order_statistics_join.cc: New.
- * testsuite/ext/pb_assoc/example/tree_split.cc: New.
- * testsuite/performance/20_util/allocator/(insert.cc,
- insert_insert.cc, list_sort_search.cc, map_mt_find.cc, map_thread.cc,
- producer_consumer.cc): Recast to use typelists and move to...
- * testsuite/performance/23_containers/find/map.cc: New.
- * testsuite/performance/23_containers/index/map.cc: New.
- * testsuite/performance/23_containers/insert/associative.cc: New.
- * testsuite/performance/23_containers/insert/sequence.cc: New.
- * testsuite/performance/23_containers/insert_erase/associative.cc: New.
- * testsuite/performance/23_containers/producer_consumer/
- (associative.cc, sequence.cc): New.
- * testsuite/performance/23_containers/sort_search/list.cc: New.
- * testsuite/performance/23_containers/container_benchmark.cc: Remove.
- * testsuite/performance/23_containers/map_create_fill.cc: Move...
- * testsuite/performance/23_containers/create/map.cc: ...here.
- * testsuite/performance/23_containers/set_create_from_sorted.cc: Move.
- * testsuite/performance/23_containers/create_from_sorted/set.cc: here.
- * testsuite/performance/23_containers/list_create_fill_sort.cc: Move...
- * testsuite/performance/23_containers/create_sort/list.cc: ...here.
- * testsuite/performance/23_containers/set_insert_from_sorted.cc: Move.
- * testsuite/performance/23_containers/insert_from_sorted/set.cc: here.
-
-2005-06-23 Jakub Jelinek <jakub@redhat.com>
-
- PR libstdc++/22109
- * src/compatibility.cc (_GLIBCXX_SYMVER_COMPATIBILITY): Remove.
- (istreambuf_iterator, basic_fstream, basic_ifstream, basic_ofstream,
- _M_copy, _M_move, _M_assign, _M_disjunct, _M_check_length,
- _M_set_length_and_sharable, ignore, eq): Define to XX suffixed
- variants.
- (ignore (streamsize)): Remove _W prefixed aliases.
- (_GLIBCXX_3_4_SYMVER_SPECIAL, _GLIBCXX_3_4_5_SYMVER_SPECIAL,
- _GLIBCXX_APPLY_SYMVER_SPECIAL): Remove.
- (_GLIBCXX_3_4_SYMVER, _GLIBCXX_3_4_5_SYMVER): Add XXname argument.
- Use #XXname instead of #name as the alias argument.
- * config/abi/compatibility.h: Replace uses of
- _GLIBCXX_APPLY_SYMVER_SPECIAL with _GLIBCXX_APPLY_SYMVER. Always
- pass 2 arguments to the _GLIBCXX_APPLY_SYMVER macro.
- * include/bits/char_traits.h (char_traits::eq): Revert 2005-06-15
- change.
- * acinclude.m4: Decrease glibcxx_min_gnu_ld_version back to 21400.
- * configure: Rebuilt.
+ it_value_type_traits.hpp (it_value_type_traits_<>::value_type_holder):
+ Use tr1::aligned_storage and tr1::alignment_of.
+ (it_value_type_traits_<>::buf_t): Remove.
+ (it_value_type_traits_<>::make_valid, recast): Adjust.
-2005-06-19 Benjamin Kosnik <bkoz@redhat.com>
+2006-01-16 Benjamin Kosnik <bkoz@redhat.com>
- PR libstdc++/22111
- * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Remove
- GLIBCXX_TEST_ABI. Remove duplicate _GLIBCXX_ASM_SYMVER define.
- Don't enable abi testing unless versioned.
- * configure: Regenerate.
- * testsuite/Makefile.am (check-abi): Remove conditional.
- * testsuite/Makefile.in: Regenerate.
- * testsuite/libstdc++-abi/abi.exp: Call build_support, then check
- v3-symver before proceeding.
- * testsuite/lib/libstdc++.exp (libstdc++-dg-test): Set v3-symvers
- if _GLIBCXX_SYMVER.
+ PR libstdc++/25797
+ * acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Add -Werror to
+ CFLAGS for --gc-sections test. Correct compile test.
+ * configure: Regenerated.
-2005-06-17 Paolo Carlini <pcarlini@suse.de>
-
- Port from libstdcxx_so_7-branch:
- 2005-01-12 Christopher Jefferson <chris@bubblescope.net>
-
- * include/bits/stl_function.h (mem_fun_t, const_mem_fun_t,
- mem_fun_ref_t, const_mem_fun_ref_t, mem_fun1_t, const_mem_fun1_t,
- mem_fun1_ref_t, const_mem_fun1_ref_t): Remove overloads for void
- return type, just an old HP/SGI workaround.
- * testsuite/20_util/functional/binders.cc: Move to...
- * testsuite/20_util/functional/binders/3113.cc: ...here.
- * testsuite/20_util/functional/binders/1.cc: New.
-
-2005-06-17 Jonathan Wakely <redi@gcc.gnu.org>
-
- * docs/html/21_strings/gotw29a.txt: Update code to corrected version.
-
-2005-06-17 Jakub Jelinek <jakub@redhat.com>
- Benjamin Kosnik <bkoz@redhat.com>
-
- * config/abi/alpha-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/hppa-linux-gnu/baseline_symbols.txt: Same.
- * config/abi/mips-linux-gnu/baseline_symbols.txt: Same.
- * config/abi/sparc-linux-gnu/baseline_symbols.txt: Same.
-
- * config/abi/alpha-freebsd5/baseline_symbols.txt: Remove.
- * config/abi/i386-freebsd4/baseline_symbols.txt: Same.
- * config/abi/i386-freebsd5/baseline_symbols.txt: Same.
- * config/abi/sparc-freebsd5/baseline_symbols.txt: Same.
-
- * config/abi/arm-linux-gnu/baseline_symbols.txt: Remove.
- * config/abi/m68k-linux-gnu/baseline_symbols.txt: Same.
-
-2005-06-17 Jakub Jelinek <jakub@redhat.com>
+2006-01-15 Paolo Carlini <pcarlini@suse.de>
+ Gabriel Dos Reis <gdr@integrable-solutions.net>
- * config/abi/ia64-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/s390x-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/s390-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/x86_64-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
- * config/abi/powerpc-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/i486-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/i386-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/powerpc64-linux-gnu/baseline_symbols.txt: New file.
- * config/abi/powerpc64-linux-gnu/32/baseline_symbols.txt: New file.
+ PR libstdc++/25626
+ * include/std/std_valarray.h (valarray(const slice_array<>&),
+ valarray(const gslice_array<>&), valarray(const mask_array<>&),
+ valarray(const indirect_array<>&), valarray(const _Expr<>&)):
+ Forward to __valarray_copy_construct, not __valarray_copy.
+ * include/bits/valarray_array.h
+ (__valarray_copy_construct(_Array<>, _Array<>, _Array<>, size_t),
+ __valarray_copy_construct(_Array<>, size_t, size_t, _Array<>)):
+ New.
-2005-06-16 Jakub Jelinek <jakub@redhat.com>
+2006-01-15 Paolo Carlini <pcarlini@suse.de>
- * src/compatibility.cc: Include bits/c++config.h first.
- (_GLIBCXX_SYMVER_COMPATIBILITY): Define if _GLIBCXX_SYMVER
- and PIC are both defined.
- * include/bits/char_traits.h (char_traits::eq): Rename
- only if _GLIBCXX_SYMVER_COMPATIBILITY is defined.
+ * testsuite/tr1/8_c_compatibility/complex/overloads_int.cc:
+ Fix norm test, use casts everywhere.
-2005-06-16 Jakub Jelinek <jakub@redhat.com>
+2006-01-14 Paolo Carlini <pcarlini@suse.de>
- * acinclude.m4 ((GLIBCXX_ENABLE_SYMVERS): Rename _GLIBCXX_SIZE_T_IS_INT
- to _GLIBCXX_SIZE_T_IS_UINT. Define _GLIBCXX_PTRDIFF_T_IS_INT.
- * configure: Regenerate.
- * config.h.in: Regenerate.
- * src/compatibility.cc (istream:ignore(streamsize)): Use
- _GLIBCXX_PTRDIFF_T_IS_INT instead of _GLIBCXX_SIZE_T_IS_INT.
- * config/abi/compatibility.h: Rename _GLIBCXX_SIZE_T_IS_INT
- to _GLIBCXX_SIZE_T_IS_UINT. Use _GLIBCXX_PTRDIFF_T_IS_INT
- instead for symbols with streamsize arguments.
+ * testsuite/testsuite_tr1.h: Add missing include; use std::__are_same.
-2005-06-16 Jakub Jelinek <jakub@redhat.com>
+2006-01-14 Paolo Carlini <pcarlini@suse.de>
- * config/linker-map.gnu: Also export
- _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreE[il][il].
+ * testsuite/tr1/8_c_compatibility/complex/overloads_int.cc:
+ Fix wrong test (don't pick by mistake the (const complex<>&, int)
+ overload); add some.
-2005-06-15 Benjamin Kosnik <bkoz@redhat.com>
+2006-01-13 Paolo Carlini <pcarlini@suse.de>
+ Howard Hinnant <hhinnant@apple.com>
- * configure.ac (libtool_VERSION): To 6:6:0.
- * configure: Regenerate.
- * config/linker-map.gnu: Edit.
- * src/istream.cc: Move istream::ignore(streamsize) specializations...
- * src/compatibility.cc: ...here. New.
- * include/bits/char_traits.h (char_traits::eq): Rename when
- appropriate.
- * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Define _GLIBCXX_SIZE_T_IS_INT.
- Bump glibcxx_min_gnu_ld_version to 21590.
- * configure: Regenerate.
- * acconfig.h: Remove _GLIBCXX_ASM_SYMVER.
- * config.h.in: Regenerate.
- * src/Makefile.am (sources): Add compatibility.cc.
- * src/Makefile.in: Regenerate.
- * include/Makefile.am (host_headers_noinst): Add compatibility.h.
+ * include/tr1/complex (arg, conj, imag, norm, polar, pow, real):
+ Add, implementing TR1, 8.1.9.
+ (__promote_2): New.
+ * include/tr1/common.h: New, provides __promote, __promote_2.
+ * include/Makefile.am: Add.
* include/Makefile.in: Regenerate.
- * testsuite/testsuite_abi.h (symbol): Add data members.
- * testsuite/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.5,
- GLIBCXX_3.4.6. Remove deprecated versions. Do a better job
- version checking.
-
-2005-06-15 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/hashtable: Trivial formatting fixes.
- * include/tr1/unordered_map: Likewise.
- * include/tr1/unordered_set: Likewise.
-
-2005-06-14 Tom Tromey <tromey@redhat.com>
-
- PR libgcj/19877:
- * configure, aclocal.m4: Rebuilt.
- * Makefile.in, include/Makefile.in, libmath/Makefile.in,
- libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
- testsuite/Makefile.in: Likewise.
-
-2005-06-08 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/21955
- * include/std/std_sstream.h (basic_stringbuf::showmanyc): Add.
- Remove unnecessary this->_M_mode decoration.
- * include/bits/fstream.tcc: Adjust line spacing.
- * testsuite/27_io/basic_streambuf/in_avail/char/1.cc: New, test
- base class behavior.
- * testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc: Same.
- * testsuite/27_io/basic_stringbuf/in_avail/char/21955.cc: New.
- * testsuite/27_io/basic_stringbuf/in_avail/char/1.cc: Match
- filebuf behavior.
- * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Same.
- * testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc: Same.
- * testsuite/27_io/basic_stringbuf/str/char/1.cc: Same.
- * testsuite/27_io/basic_streambuf/in_avail/char/9701-3.cc: Move...
- * testsuite/27_io/basic_filebuf/in_avail/char/9701-3.cc: ...here.
-
-2005-06-07 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCXX_ENABLE_C99): Use C++ compiler for complex
- tests.
- * configure: Regenerated.
-
-2005-06-07 Adrian Straetling <straetling@de.ibm.com>
-
- * config/cpu/s390/atomicity.h: (__exchange_and_add,
- __atomic_add): Use the builtins for atomic memory operations.
-
-2005-06-06 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/21770 (cont: __gnu_debug::string)
- * include/debug/string: Use _Base typedefs for pointer, const_pointer,
- reference, const_reference, size_type, difference_type.
- * testsuite/21_strings/basic_string/2.cc: New.
-
-2005-06-06 Paolo Carlini <pcarlini@suse.de>
+ * testsuite/testsuite_tr1.h (check_ret_type): New.
+ * testsuite/tr1/8_c_compatibility/complex/overloads_int.cc: New.
+ * testsuite/tr1/8_c_compatibility/complex/overloads_float.cc: New.
- PR libstdc++/21770 (cont: debug-mode)
- * include/debug/deque: Use _Base typedefs for pointer, const_pointer,
- reference, const_reference.
- * include/debug/list: Likewise.
- * include/debug/map.h: Likewise.
- * include/debug/multimap.h: Likewise.
- * include/debug/multiset.h: Likewise.
- * include/debug/set.h: Likewise.
- * include/debug/vector: Likewise.
+2006-01-12 Benjamin Kosnik <bkoz@redhat.com>
-2005-06-06 Paolo Carlini <pcarlini@suse.de>
-
- Port from libstdcxx_so_7-branch:
- 2004-09-24 Paolo Carlini <pcarlini@suse.de>
- Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/bits/stl_list.h (list::list(size_type, value_type,
- const allocator_type&): Implement according to the letter of the
- standard, i.e., don't use two overloads, not equivalent in case
- of non default constructible T.
- (list::resize(size_type, const value_type&)): Fix the signature:
- according to the standard the second argument is by value; also,
- don't use two overloads.
- * include/bits/list.tcc (list::resize(size_type, const value_type&)):
- Adjust consistently the signature.
- * include/bits/stl_deque.h (deque::deque(size_type, value_type,
- const allocator_type&)): Likewise.
- (deque::resize(size_type, const value_type&)): Likewise.
- * include/bits/stl_vector.h (vector::vector(size_type, value_type,
- const allocator_type&)): Likewise.
- (vector::resize(size_type, const value_type&)): Likewise.
- * testsuite/testsuite_hooks.h: Add NonDefaultConstructible test type.
- * testsuite/23_containers/deque/explicit_instantiation/2.cc: New.
- * testsuite/23_containers/list/explicit_instantiation/2.cc: New.
- * testsuite/23_containers/map/explicit_instantiation/2.cc: New.
- * testsuite/23_containers/multimap/explicit_instantiation/2.cc: New.
- * testsuite/23_containers/multiset/explicit_instantiation/2.cc: New.
- * testsuite/23_containers/set/explicit_instantiation/2.cc: New.
- * testsuite/23_containers/vector/explicit_instantiation/2.cc: New.
-
- * include/bits/deque.tcc: Minor formatting fix.
-
-2005-06-06 Peter Doerfler <doerfler@techinfo.rwth-aachen.de>
-
- * include/bits/stl_function.h: ... and another one.
-
-2005-06-06 Peter Doerfler <doerfler@techinfo.rwth-aachen.de>
-
- * include/bits/stl_function.h: Fix typo in comment.
-
-2005-06-05 Paolo Carlini <pcarlini@suse.de>
-
- * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Check clog, clogf, clogl
- too for ac_c99_complex.
+ * acinclude.m4(GLIBCXX_CHECK_LINKER_FEATURES): Enable
+ --gc-sections in more cases.
* configure: Regenerate.
-
-2005-06-03 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/21770
- * include/bits/stl_deque.h: Add concept-check. In class _Deque_base
- rebind _Alloc to _Tp_alloc_type, change _Deque_impl to inherit from
- the latter and add _M_get_Tp_allocator() which returns it. Use
- everywhere _M_get_Tp_allocator() instead of get_allocator().
- * include/bits/deque.tcc: Likewise, use _M_get_Tp_allocator().
- * include/bits/stl_list.h: Add concept-check. In class _List_base
- rebind _Alloc to _Tp_alloc_type and add _M_get_Tp_allocator(), which
- returns the allocator (of type _Node_alloc_type) converted to
- _Tp_alloc_type. Use everywhere _M_get_Tp_allocator() instead of
- get_allocator().
- * include/bits/list.tcc: Likewise, use _M_get_Tp_allocator().
- * include/bits/stl_vector.h: Add concept-check. In class _Vector_base
- rebind _Alloc to _Tp_alloc_type, change _Vector_impl to inherit from
- the latter and add _M_get_Tp_allocator() which returns it. Use
- everywhere _M_get_Tp_allocator() instead of get_allocator().
- * include/bits/vector.tcc: Likewise, use _M_get_Tp_allocator().
- * include/bits/stl_map.h: Add concept-check. Rebind _Alloc to
- _Pair_alloc_type and use it for _Rb_tree.
- * include/bits/stl_multimap.h: Likewise.
- * include/bits/stl_multiset.h: Add concept-check. Rebind _Alloc to
- _Key_alloc_type and use it for _Rb_tree.
- * include/bits/stl_set.h: Likewise.
- * include/bits/basic_string.h: Rebind _Alloc to _CharT_alloc_type and
- use it for the allocator typedefs.
- * testsuite/21_strings/basic_string/1.cc: New.
- * testsuite/23_containers/deque/explicit_instantiation.cc: Move to...
- * testsuite/23_containers/deque/explicit_instantiation/1.cc: ... here.
- * testsuite/23_containers/deque/explicit_instantiation/3.cc: New.
- * testsuite/23_containers/list/explicit_instantiation.cc: Move to...
- * testsuite/23_containers/list/explicit_instantiation/1.cc: ... here.
- * testsuite/23_containers/list/explicit_instantiation/3.cc: New.
- * testsuite/23_containers/map/explicit_instantiation.cc: Move to...
- * testsuite/23_containers/map/explicit_instantiation/1.cc: ... here.
- * testsuite/23_containers/map/explicit_instantiation/3.cc: New.
- * testsuite/23_containers/multimap/explicit_instantiation.cc: Move to...
- * testsuite/23_containers/multimap/explicit_instantiation/1.cc: .. here.
- * testsuite/23_containers/multimap/explicit_instantiation/3.cc: New.
- * testsuite/23_containers/multiset/explicit_instantiation.cc: Move to...
- * testsuite/23_containers/multiset/explicit_instantiation/1.cc: .. here.
- * testsuite/23_containers/multiset/explicit_instantiation/3.cc: New.
- * testsuite/23_containers/set/explicit_instantiation.cc: Move to...
- * testsuite/23_containers/set/explicit_instantiation/1.cc: .. here.
- * testsuite/23_containers/set/explicit_instantiation/3.cc: New.
- * testsuite/23_containers/vector/explicit_instantiation.cc: Move to...
- * testsuite/23_containers/vector/explicit_instantiation/1.cc: ... here.
- * testsuite/23_containers/vector/explicit_instantiation/3.cc: New.
-
-2005-06-02 Nathan Sidwell <nathan@codesourcery.com>
-
- PR c++/21280
- * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust expected errors.
- * testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
-
-2005-05-31 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/20534 (contd)
- * include/debug/macros.h: Add _GLIBCXX_DEBUG_ABORT, using
- __gnu_debug::__fancy_abort.
- * src/debug.cc: Define the latter.
- * include/debug/debug.h: Use _GLIBCXX_DEBUG_ABORT instead of
- assert.
- * config/linker-map.gnu (__gnu_debug::__fancy_abort): Add.
-
-2005-05-30 Paolo Carlini <pcarlini@suse.de>
-
- * include/std/std_complex.h (log(const complex<_Tp>&)): When
- _GLIBCXX_USE_C99_COMPLEX, forward to __builtin_clog/clogf/clogl.
-
-2005-05-28 Paolo Carlini <pcarlini@suse.de>
-
- Revert:
- 2005-05-18 Paolo Carlini <pcarlini@suse.de>
- Nathan Myers <ncm@cantrip.org>
-
- PR libstdc++/19495
- * include/bits/basic_string.h (_Raw_bytes_alloc): Rebind to
- size_type instead of char and rename to _Raw_alloc.
- * include/bits/basic_string.tcc (_Rep::_M_destroy, _Rep::_S_create):
- Use the above.
- * src/bitmap_allocator.cc: Add instantiation for size_type.
- * src/mt_allocator.cc: Likewise.
- * src/pool_allocator.cc: Likewise.
- * include/ext/array_allocator.h: Tweak slightly, avoid assuming
- the existence of an _Array::begin() and size() members.
- * testsuite/ext/array_allocator/2.cc: Tweak to use an allocator
- of size_type, instead of char, thus avoiding problems with
- rebinds, not treated correctly by array_allocator.
-
-2005-05-27 Paolo Carlini <pcarlini@suse.de>
-
- * docs/html/abi.html: Mention 3.4.0 as the current baseline; add
- a notice about the configure options.
-
-2005-05-27 Mark Mitchell <mark@codesourcery.com>
-
- * docs/html/test.html: Mention PCH_CXXFLAGS.
- * testsuite/lib/libstdc++.exp: Set PCH_CXXFLAGS by probing for an
- available stcd++.h PCH.
- * testsuite/libstdc++-dg/normal.exp: Use PCH_CXXFLAGS.
-
-2005-05-27 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
-
- * src/misc-inst.cc: Remove unnecessary included files.
-
-2005-05-27 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/21674
- * include/bits/c++config: Remove extern template use when in debug
- mode, disable for non-weak systems.
-
-2005-05-27 Benjamin Kosnik <bkoz@redhat.com>
-
- PR libstdc++/20534
- * include/debug/debug.h: Forwarding header, that pulls in details
- only if in debug mode.
- * include/debug/macros.h: ...transfer all the internal macros here.
- * include/debug/functions.h: ...transfer all the functions here.
- * include/debug/safe_iterator.h: Add functions.h, macros.h includes.
- * include/debug/safe_sequence.h: Same.
- * include/debug/vector: Tweak.
- * include/Makefile.am (debug_headers): Add new includes.
- * include/Makefile.in: Regenerate.
- * testsuite/17_intro/no_assert_neg.cc: Add.
-
- * include/ext/hash_set: Add debug mode include.
- * include/ext/hash_map: Same.
- * include/debug/hash_map: Fix included files to match actual files.
- * include/debug/hash_set: Same.
+ * scripts/testsuite_flags.in: Remove SECTION_LDFLAGS.
+ * scripts/testsuite_flags.in (cxxldflags): New.
+ * testsuite/lib/libstdc++.exp (v3_target_compile): Add cxxldflags.
+ (libstdc++_init ): Same.
-2005-05-26 Paolo Carlini <pcarlini@suse.de>
+2006-01-12 Jan Beulich <jbeulich@novell.com>
- PR libstdc++/13943
- * include/c_std/std_cstdlib.h: Do not open code llabs and lldiv,
- available when _GLIBCXX_USE_C99 is defined.
- * testsuite/26_numerics/cstdlib/13943.cc: New.
+ * crossconfig.m4: Add AC_DEFINE-s for HAVE_HYPOT, HAVE_ISINF, and
+ HAVE_ISNAN for *-*-netware*.
+ * configure: Refresh.
- * acinclude.m4 ([GLIBCXX_ENABLE_C99]): For completeness, check
- also strtoll and strtoull for ac_c99_stdlib.
- * configure: Regenerate.
+2006-01-11 Benjamin Kosnik <bkoz@redhat.com>
-2005-05-25 Benjamin Kosnik <bkoz@redhat.com>
-
- * config/linker-map.gnu: Add linkage support for no extern templates.
- (std::ios_base::_M_call_callbacks): Add.
- (std::ios_base::_M_dispose_callbacks): Add.
- (std::locale::facet::_S_get_c_name): Add.
- (std::__copy_streambufs): Add.
- * configure.ac (libtool_VERSION): To 6:5:0.
+ * acinclude.m4(GLIBCXX_CHECK_LINKER_FEATURES): Use -Wl,-z,relro if
+ possible.
* configure: Regenerate.
- * testsuite/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.5.
-
-2005-05-25 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.h (_Rep::_M_set_length_and_sharable):
- Use, consistently, traits_type::assign.
-
-2005-05-25 Paolo Carlini <pcarlini@suse.de>
-
- * config/cpu/alpha/atomicity.h: Use the builtins for
- atomic memory operations.
- * config/cpu/powerpc/atomicity.h: Likewise.
- * config/cpu/ia64/atomicity.h: Do not include ia64intrin.h.
-
-2005-05-24 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/25_algorithms/equal.cc: Move to...
- * testsuite/25_algorithms/equal: ... here.
- * testsuite/25_algorithms/lower_bound.cc: Move to...
- * testsuite/25_algorithms/lower_bound: ... here.
-
-2005-05-24 Paolo Carlini <pcarlini@suse.de>
-
- Port from libstdcxx_so_7-branch:
- 2005-20-05 Chris Jefferson <chris@bubblescope.net>
-
- * testsuite/25_algorithms/heap.cc: Move to...
- * testsuite/25_algorithms/heap/heap.cc: ...here.
- * testsuite/25_algorithms/partition.cc: Move to...
- * testsuite/25_algorithms/partition/partition.cc: ...here.
-
- 2005-03-29 Christopher Jefferson <chris@bubblescope.net>
-
- * testsuite/25_algorithms/includes/1.cc: Add tests.
- * testsuite/25_algorithms/search/1.cc: Likewise.
- * testsuite/25_algorithms/unique_copy/1.cc: Likewise.
- * testsuite/25_algorithms/swap_ranges/1.cc: New.
- * testsuite/25_algorithms/swap_ranges/check_type.cc: New.
- * testsuite/25_algorithms/rotate.cc: Move to...
- * testsuite/25_algorithms/rotate/rotate.cc: ... here.
- * testsuite/25_algorithms/rotate/1.cc: New.
- * testsuite/25_algorithms/rotate/check_type.cc: New.
- * testsuite/25_algorithms/search_n/iterator.cc: Fix typo.
-
- 2005-03-14 Christopher Jefferson <chris@bubblescope.net>
-
- * include/bits/stl_algo.h (replace_copy, replace_copy_if):
- Don't assume that __new_value and *__first are convertible to
- each other.
-
- * testsuite/25_algorithms/find/1.cc: New.
- * testsuite/25_algorithms/find/check_type.cc: New.
- * testsuite/25_algorithms/find_if/1.cc: New.
- * testsuite/25_algorithms/find_if/check_type.cc: New.
- * testsuite/25_algorithms/replace/1.cc: New.
- * testsuite/25_algorithms/replace/check_type.cc: New.
- * testsuite/25_algorithms/replace_if/1.cc: New.
- * testsuite/25_algorithms/replace_if/check_type.cc: New.
- * testsuite/25_algorithms/replace_copy/1.cc: New.
- * testsuite/25_algorithms/replace_copy/check_type.cc: New.
- * testsuite/25_algorithms/replace_copy_if/1.cc: New.
- * testsuite/25_algorithms/replace_copy_if/check_type.cc: New.
- * testsuite/25_algorithms/remove/1.cc: New.
- * testsuite/25_algorithms/remove/check_type.cc: New.
- * testsuite/25_algorithms/remove_if/1.cc: New.
- * testsuite/25_algorithms/remove_if/check_type.cc: New.
- * testsuite/25_algorithms/count/1.cc: New.
- * testsuite/25_algorithms/count/check_type.cc: New.
- * testsuite/25_algorithms/count_if/1.cc: New.
- * testsuite/25_algorithms/count_if/check_type.cc: New.
-
- 2005-02-27 Christopher Jefferson <chris@bubblescope.net>
- Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/ext/is_heap/check_type.cc: New.
-
- 2005-02-27 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/ext/is_heap/1.cc: New.
-
- 2005-02-01 Christopher Jefferson <chris@bubblescope.net>
-
- * testsuite/ext/median.cc: New.
- * testsuite/25_algorithms/adjacent_find/1.cc: New.
- * testsuite/25_algorithms/adjacent_find/check_type.cc: New.
- * testsuite/25_algorithms/search/1.cc: New.
- * testsuite/25_algorithms/search/check_type.cc: New.
- * testsuite/25_algorithms/unique_copy/1.cc: New.
- * testsuite/25_algorithms/unique_copy/check_type.cc: New.
- * testsuite/25_algorithms/partial_sort/1.cc: New.
- * testsuite/25_algorithms/partial_sort/check_type.cc: New.
- * testsuite/25_algorithms/partial_sort_copy/1.cc: New.
- * testsuite/25_algorithms/partial_sort_copy/check_type.cc: New.
- * testsuite/25_algorithms/lower_bound/1.cc: New.
- * testsuite/25_algorithms/lower_bound/check_type.cc: New.
- * testsuite/25_algorithms/upper_bound/1.cc: New.
- * testsuite/25_algorithms/upper_bound/check_type.cc: New.
- * testsuite/25_algorithms/merge/1.cc: New.
- * testsuite/25_algorithms/merge/check_type.cc: New.
- * testsuite/25_algorithms/inplace_merge/1.cc: New.
- * testsuite/25_algorithms/inplace_merge/check_type.cc: New.
- * testsuite/25_algorithms/stable_sort/1.cc: New.
- * testsuite/25_algorithms/stable_sort/check_type.cc: New.
- * testsuite/25_algorithms/nth_element/1.cc: New.
- * testsuite/25_algorithms/nth_element/check_type.cc: New.
- * testsuite/25_algorithms/equal_range/1.cc: New.
- * testsuite/25_algorithms/equal_range/check_type.cc: New.
- * testsuite/25_algorithms/binary_search/1.cc: New.
- * testsuite/25_algorithms/binary_search/check_type.cc: New.
- * testsuite/25_algorithms/includes/1.cc: New.
- * testsuite/25_algorithms/includes/check_type.cc: New.
- * testsuite/25_algorithms/set_union/1.cc: New.
- * testsuite/25_algorithms/set_union/check_type.cc: New.
- * testsuite/25_algorithms/set_intersection/1.cc: New.
- * testsuite/25_algorithms/set_intersection/check_type.cc: New.
- * testsuite/25_algorithms/set_difference/1.cc: New.
- * testsuite/25_algorithms/set_difference/check_type.cc: New.
- * testsuite/25_algorithms/set_symmetric_difference/1.cc: New.
- * testsuite/25_algorithms/set_symmetric_difference/check_type.cc: New.
- * testsuite/25_algorithms/min_element/1.cc: New.
- * testsuite/25_algorithms/min_element/check_type.cc: New.
- * testsuite/25_algorithms/max_element/1.cc: New.
- * testsuite/25_algorithms/max_element/check_type.cc: New.
- * testsuite/25_algorithms/prev_permutation/1.cc: New.
- * testsuite/25_algorithms/prev_permutation/check_type.cc: New.
- * testsuite/25_algorithms/next_permutation/1.cc: New.
- * testsuite/25_algorithms/next_permutation/check_type.cc: New.
- * testsuite/25_algorithms/find_first_of/1.cc: New.
- * testsuite/25_algorithms/find_first_of/check_type.cc: New.
- * testsuite/25_algorithms/find_end/1.cc: New.
- * testsuite/25_algorithms/find_end/check_type.cc: New.
- * testsuite/25_algorithms/equal/check_type.cc: Insert iterator type.
- * testsuite/25_algorithms/lexicographical_compare/check_type.cc:
- Likewise.
-
- 2005-01-10 Christopher Jefferson <chris@bubblescope.net>
-
- * testsuite/25_algorithms/lexicographical_compare/check_type.cc: New.
- * testsuite/25_algorithms/lexicographical_compare/1.cc: Likewise.
- * testsuite/25_algorithms/mismatch/check_type.cc: Likewise.
- * testsuite/25_algorithms/mismatch/1.cc: Likewise.
- * testsuite/25_algorithms/equal/check_type.cc: New.
- * testsuite/25_algorithms/equal/1.cc: New.
-2005-05-24 Benjamin Kosnik <bkoz@redhat.com>
+2006-01-10 Paolo Carlini <pcarlini@suse.de>
- * include/bits/allocator.h: Change ___glibcxx_base_allocator to
- __glibcxx_base_allocator.
- * config/allocator/bitmap_allocator_base.h: Same.
- * config/allocator/malloc_allocator_base.h: Same.
- * config/allocator/mt_allocator_base.h: Same.
- * config/allocator/new_allocator_base.h: Same.
- * config/allocator/pool_allocator_base.h: Same.
-
-2005-05-24 Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/debug/string (class basic_string): Add missing
- default template arguments; provide typedefs for char
- and wchar_t.
- (operator[]): Allow s[s.size()] in debug mode, but not
- pedantic mode.
-
-2005-05-24 Paolo Carlini <pcarlini@suse.de>
-
- Port from libstdcxx_so_7-branch:
- 2005-04-25 Christopher Jefferson <chris@bubblescope.net>
-
- * include/bits/stl_algo.h (count): Correct concept checks.
- (search_n) : Likewise.
- * testsuite/25_algorithms/search_n/check_type.cc: New.
-
- * testsuite/testsuite_iterators.h
- (random_access_iterator_wrapper::operator+): Move out of
- class to external function, and add symmetric version.
-
- 2005-03-14 Christopher Jefferson <chris@bubblescope.net>
-
- * testsuite/testsuite_iterators.h (WritableObject::WritableObject):
- Add const.
-
- 2005-02-01 Christopher Jefferson <chris@bubblescope.net>
-
- * testsuite/testsuite_iterators.h (random_access_iterator_wrapper::
- operator--): Fix typo.
- (OutputContainer::OutputContainer): Correct zeroing array.
- (WritableObject::operator==): Fix typo.
- (WritableObject::operator=): make operator= templated
- to allow differing types to be assigned.
- (WritableObject::operator++): Fix checking if iterator is
- written to multiple times.
- (random_access_iterator_wrapper::operator+): Add const.
- (random_access_iterator_wrapper::operator-): Likewise.
- (random_access_iterator_wrapper::operator[]): Add dereference.
-
-2005-05-23 Jonathan Wakely <redi@gcc.gnu.org>
-
- * docs/html/debug.html: Explain that _GLIBXX_DEBUG_PEDANTIC
- had to be defined for pedantic mode in 3.4 and 4.0.0.
-
-2005-05-20 Jan Beulich <jbeulich@novell.com>
-
- * libmath/stubs.c: Also implement fabsf/fabsl if not present in the
- system libraries.
-
-2005-05-20 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_algo.h (__rotate<_RandomAccessIterator>):
- Don't qualify __tmp as const, _ValueType is not necessarily
- Assignable.
- * include/bits/stl_algobase.h (swap, __iter_swap<false>):
- Likewise, as an harmless extension.
-
-2005-05-19 Richard Henderson <rth@redhat.com>
-
- * libsupc++/unwind-cxx.h: Revert gcc_unreachable change.
-
-2005-05-19 Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/bits/basic_string.h (operator[]): Allow s[s.size()] in
- debug mode, but not pedantic mode.
-
-2005-05-19 Jan Beulich <jbeulich@novell.com>
-
- * libsupc++/unwind-cxx.h: Include cstdlib.
- (gcc_unreachable): #define.
- * libsupc++/eh_personality.cc (gcc_unreachable): Remove #define.
-
-2005-05-18 Paolo Carlini <pcarlini@suse.de>
- Nathan Myers <ncm@cantrip.org>
-
- PR libstdc++/19495
- * include/bits/basic_string.h (_Raw_bytes_alloc): Rebind to
- size_type instead of char and rename to _Raw_alloc.
- * include/bits/basic_string.tcc (_Rep::_M_destroy, _Rep::_S_create):
- Use the above.
- * src/bitmap_allocator.cc: Add instantiation for size_type.
- * src/mt_allocator.cc: Likewise.
- * src/pool_allocator.cc: Likewise.
- * include/ext/array_allocator.h: Tweak slightly, avoid assuming
- the existence of an _Array::begin() and size() members.
- * testsuite/ext/array_allocator/2.cc: Tweak to use an allocator
- of size_type, instead of char, thus avoiding problems with
- rebinds, not treated correctly by array_allocator.
-
-2005-05-18 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/22_locale/ctype/is/char/2.cc: Adjust dg-require-namedlocale.
- * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_year/char/wrapped_env.cc: Add
- missing dg-require-namedlocale.
- * testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_year/wchar_t/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.cc:
- Likewise.
-
-2005-05-18 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/testsuite_hooks.cc: Remove try_named_locale.
- * testsuite/testsuite_hooks.h: Remove try_named_locale.
- * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): New.
- * testsuite/lib/dg-options.exp (dg-require-namedlocale): New, uses
- the above.
- * testsuite/22_locale/codecvt/always_noconv/char/wrapped_env.cc: Use
- dg-require-namedlocale.
- * testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Likewise.
- * testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/codecvt/encoding/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/codecvt/encoding/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: Likewise.
- * testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/codecvt/in/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/codecvt/in/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/codecvt/in/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Likewise.
- * testsuite/22_locale/codecvt/in/wchar_t/7.cc: Likewise.
- * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Likewise.
- * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Likewise.
- * testsuite/22_locale/codecvt/in/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/codecvt/in/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/codecvt/length/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/codecvt/length/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/codecvt/length/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/codecvt/length/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Likewise.
- * testsuite/22_locale/codecvt/length/wchar_t/7.cc: Likewise.
- * testsuite/22_locale/codecvt/length/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/codecvt/length/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/codecvt/max_length/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/codecvt/max_length/char/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Likewise.
- * testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/codecvt/out/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/codecvt/out/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/codecvt/out/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Likewise.
- * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Likewise.
- * testsuite/22_locale/codecvt/out/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/codecvt/out/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/codecvt/unshift/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/codecvt/unshift/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Likewise.
- * testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/collate/compare/char/1.cc: Likewise.
- * testsuite/22_locale/collate/compare/char/2.cc: Likewise.
- * testsuite/22_locale/collate/compare/char/3.cc: Likewise.
- * testsuite/22_locale/collate/compare/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/collate/compare/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/collate/compare/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/collate/compare/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/collate/compare/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/collate/hash/char/2.cc: Likewise.
- * testsuite/22_locale/collate/hash/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/collate/hash/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/collate/hash/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/collate/transform/char/2.cc: Likewise.
- * testsuite/22_locale/collate/transform/char/3.cc: Likewise.
- * testsuite/22_locale/collate/transform/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/collate/transform/char/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/collate/transform/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/collate/transform/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/collate_byname/named_equivalence.cc: Likewise.
- * testsuite/22_locale/ctype/cons/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/ctype/cons/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
- * testsuite/22_locale/ctype/is/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/ctype/is/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/ctype/is/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/ctype/is/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/ctype/narrow/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/ctype/narrow/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/ctype/narrow/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/ctype/narrow/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/ctype/scan/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/ctype/scan/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/ctype/scan/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/ctype/to/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/ctype/to/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/ctype/to/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/ctype/widen/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/ctype/widen/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/ctype/widen/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/ctype/widen/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/ctype/widen/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/facet/2.cc: Likewise.
- * testsuite/22_locale/locale/cons/12352.cc: Likewise.
- * testsuite/22_locale/locale/cons/12438.cc: Likewise.
- * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
- * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
- * testsuite/22_locale/locale/cons/2.cc: Likewise.
- * testsuite/22_locale/locale/cons/4.cc: Likewise.
- * testsuite/22_locale/locale/cons/5.cc: Likewise.
- * testsuite/22_locale/locale/cons/7.cc: Likewise.
- * testsuite/22_locale/locale/cons/7222-env.cc: Likewise.
- * testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise.
- * testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise.
- * testsuite/22_locale/messages/members/char/1.cc: Likewise.
- * testsuite/22_locale/messages/members/char/2.cc: Likewise.
- * testsuite/22_locale/messages/members/char/3.cc: Likewise.
- * testsuite/22_locale/messages/members/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/messages/members/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/messages_byname/named_equivalence.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/1.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/10.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/11.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/11528.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/12.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/13.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/15.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/16.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/17.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/18.cc: Likewise.
- * 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/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/money_get/get/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/10.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/11.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/11528.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/12.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/13.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/15.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/16.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/17.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/18.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.
- * testsuite/22_locale/money_get/get/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.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/char/9780-3.cc: Likewise.
- * testsuite/22_locale/money_put/put/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/money_put/put/char/wrapped_locale.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.
- * testsuite/22_locale/money_put/put/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/moneypunct/members/char/2.cc: Likewise.
- * testsuite/22_locale/moneypunct/members/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/moneypunct/members/char/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/moneypunct/members/wchar_t/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/moneypunct/members/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/moneypunct_byname/named_equivalence.cc: Likewise.
- * testsuite/22_locale/num_get/get/char/1.cc: Likewise.
- * testsuite/22_locale/num_get/get/char/3.cc: Likewise.
- * testsuite/22_locale/num_get/get/char/5.cc: Likewise.
- * testsuite/22_locale/num_get/get/char/6.cc: Likewise.
- * testsuite/22_locale/num_get/get/char/9.cc: Likewise.
- * testsuite/22_locale/num_get/get/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/num_get/get/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/num_get/get/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/num_get/get/wchar_t/5.cc: Likewise.
- * testsuite/22_locale/num_get/get/wchar_t/6.cc: Likewise.
- * testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.
- * testsuite/22_locale/num_get/get/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/num_put/put/char/1.cc: Likewise.
- * testsuite/22_locale/num_put/put/char/20909.cc: Likewise.
- * testsuite/22_locale/num_put/put/char/20914.cc: Likewise.
- * testsuite/22_locale/num_put/put/char/3.cc: Likewise.
- * testsuite/22_locale/num_put/put/char/5.cc: Likewise.
- * testsuite/22_locale/num_put/put/char/9780-2.cc: Likewise.
- * testsuite/22_locale/num_put/put/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/num_put/put/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise.
- * testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.
- * testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise.
- * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
- * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
- * testsuite/22_locale/num_put/put/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/numpunct/members/char/2.cc: Likewise.
- * testsuite/22_locale/numpunct/members/char/3.cc: Likewise.
- * testsuite/22_locale/numpunct/members/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/numpunct/members/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/numpunct/members/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/numpunct/members/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/numpunct_byname/named_equivalence.cc: Likewise.
- * testsuite/22_locale/time_get/date_order/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/time_get/date_order/wchar_t/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Likewise.
- * testsuite/22_locale/time_get/get_date/wchar_t/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_monthname/char/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc:
- Likewise.
+ * include/tr1/complex: New file, hosts the additions to header
+ <complex> described in TR1, Chapter 8 [tr.c99].
+ * include/Makefile.am: Add.
+ * include/Makefile.in: Regenerate.
+ * testsuite/tr1/8_c_compatibility/complex/functions.cc: New.
+
+2006-01-09 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/25658
+ * testsuite/23_containers/deque/cons/assign/1.cc: Divide
+ sizes by 10.
+
+2006-01-08 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/22102 (insert as close to hint as possible)
+ * include/bits/stl_tree.h (_Rb_tree<>::_M_insert_lower,
+ _M_insert_equal_lower): New.
+ (_M_insert_equal(iterator, const _Val&),
+ _M_insert_equal(const_iterator, const _Val&)): Use the above.
+ * docs/html/ext/howto.html: Add an entry for DR 233.
+ * testsuite/23_containers/multiset/modifiers/insert/22102.cc: New.
+ * testsuite/23_containers/multimap/modifiers/insert/22102.cc: New.
+
+ * testsuite/23_containers/set/insert/: Move...
+ * testsuite/23_containers/set/modifiers/insert/: ...here.
+ * testsuite/23_containers/map/insert/: Move...
+ * testsuite/23_containers/map/modifiers/insert/: ...here.
+ * testsuite/23_containers/multiset/insert/: Move...
+ * testsuite/23_containers/multiset/modifiers/insert/: ...here.
+
+2006-01-06 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/stl_tree.h (_Rb_tree<>::insert_unique): Rename
+ to _M_insert_unique.
+ (_Rb_tree<>::insert_equal): Rename to _M_insert_equal.
+ * include/bits/stl_map.h (class map<>): Update callers.
+ * include/bits/stl_set.h (class set<>): Likewise.
+ * include/bits/stl_multimap.h (class multimap<>): Likewise.
+ * include/bits/stl_multiset.h (class multiset<>): Likewise.
+
+2006-01-06 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/stl_bvector.h (vector<bool>::erase(iterator,
+ iterator)): Just use _M_erase_at_end.
+
+2006-01-06 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/stl_bvector.h (class vector<bool>): Move all the
+ helpers under protected access mode, consistently with the primary
+ vector template.
+ (vector<bool>::_M_erase_at_end): Add.
+ (erase(iterator, iterator), clear, resize, _M_fill_assign,
+ _M_assign_aux): Use it.
+ * testsuite/23_containers/vector/bool/modifiers/erase/1.cc: New.
+
+2006-01-06 Paolo Carlini <pcarlini@suse.de>
+
+ Implement Option 3 of DR 431 for vector<bool>.
+ * include/bits/stl_bvector.h (class _Bvector_base): Change to
+ a struct, consistently with the primary vector template.
+ (class vector<bool>): Adjust to protected inheritance, tidy
+ typedefs.
+ (_Bvector_base<>::_M_get_Bit_allocator): Add.
+ (vector<bool>::vector(const vector&)): Use it.
+ (_Bvector_base<>::get_allocator): Tidy.
+ (vector<bool>::swap): Use __alloc_swap.
+ * testsuite/23_containers/vector/bool/modifiers/swap/1.cc: New.
+ * testsuite/23_containers/vector/bool/modifiers/swap/2.cc: New.
+
+2006-01-05 Paolo Carlini <pcarlini@suse.de>
+
+ * testsuite/testsuite_hooks.h (test_tm(unsigned)): Change to
+ take all the tm members.
+ * testsuite/testsuite_hooks.cc (test_tm): Adjust.
+ * testsuite/22_locale/time_put/put/wchar_t/10.cc: Update.
+ * testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
+ * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
+ * testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
+ * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
+ * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
+ * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
+ * testsuite/22_locale/time_put/put/wchar_t/9.cc: Likewise.
+ * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/10.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/1.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/5.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/6.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/7.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/8.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/9.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
+ * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Likewise.
+ * testsuite/22_locale/time_get/get_year/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/time_get/get_year/char/1.cc: Likewise.
+ * testsuite/22_locale/time_get/get_year/char/3.cc: Likewise.
+ * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
* testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
- * testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_time/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/time_get/get_time/char/wrapped_locale.cc:
- Likewise.
+ * testsuite/22_locale/time_get/get_monthname/char/1.cc: Likewise.
+ * testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
+ * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
+ * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
+ * testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
+ * testsuite/22_locale/time_get/get_weekday/char/3.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/char/1.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/char/3.cc: Likewise.
* testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
* testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_time/wchar_t/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_weekday/char/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
- * testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc:
- Likewise.
- * testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc:
- Likewise.
- * testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/6.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/7.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/8.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/9780-1.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/wrapped_env.cc: Likewise.
- * testsuite/22_locale/time_put/put/char/wrapped_locale.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
+ * testsuite/22_locale/time_get/get_time/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
+ * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
+ * testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
+ * testsuite/22_locale/time_get/get_time/char/3.cc: Likewise.
+ * testsuite/22_locale/time_get/get_time/char/4.cc: Likewise.
+
+2006-01-05 Paolo Carlini <pcarlini@suse.de>
+
+ * testsuite/testsuite_hooks.h (test_tm(unsigned)): New.
+ * testsuite/testsuite_hooks.cc (test_tm(unsigned)): Define.
+ * testsuite/22_locale/time_put/put/wchar_t/10.cc: Use it.
+ * testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
+ * testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/wrapped_env.cc: Likewise.
- * testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: Likewise.
- * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc: Likewise.
- * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc: Likewise.
- * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc: Likewise.
- * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc: Likewise.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc: Likewise.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc: Likewise.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: Likewise.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: Likewise.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: Likewise.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: Likewise.
- * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
- Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc:
- Likewise.
- * testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc: Likewise.
- * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: Likewise.
- * testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Likewise.
- * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc: Likewise.
- * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: Likewise.
- * testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc: Likewise.
- * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Likewise.
- * testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc: Likewise.
- * testsuite/27_io/objects/wchar_t/10.cc: Likewise.
- * testsuite/27_io/objects/wchar_t/11.cc: Likewise.
- * testsuite/27_io/objects/wchar_t/12.cc: Likewise.
- * testsuite/27_io/objects/wchar_t/13.cc: Likewise.
- * testsuite/27_io/objects/wchar_t/9520.cc: Likewise.
- * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise.
-
-2005-05-17 Nathan Sidwell <nathan@codesourcery.com>
-
- * libsupc++/eh_personality.cc (gcc_unreachable): Define.
-
-2005-05-16 Paolo Carlini <pcarlini@suse.de>
-
- * docs/html/install.html: Update list of required named
- locales, add "es_ES".
-
-2005-05-13 Magnus Fromreide <magfr@lysator.liu.se>
-
- * testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Use
- initialization instead of copying as the string is used only once.
- * testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise.
- * testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc: Likewise.
-
-2005-05-12 Benjamin Kosnik <bkoz@redhat.com>
-
- * scripts/create_testsuite_files: Fix.
-
-2005-05-12 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * testsuite/18_support/numeric_limits.cc (dg-options): Add
- -mieee to options on sh*-*-*.
-
-2005-05-10 Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/debug/debug.h: Fix typo in macro name.
-
-2005-05-09 Paolo Carlini <pcarlini@suse.de>
- Giovanni Bajo <giovannibajo@gcc.gnu.org>
-
- PR libstdc++/18604
- * include/bits/deque.tcc: Fully qualify names from namespace std.
- * include/bits/stl_bvector.h: Likewise.
- * include/bits/stl_deque.h: Likewise.
- * include/bits/stl_list.h: Likewise.
- * include/bits/stl_map.h: Likewise.
- * include/bits/stl_multimap.h: Likewise.
- * include/bits/stl_multiset.h: Likewise.
- * include/bits/stl_set.h: Likewise.
- * include/bits/stl_vector.h: Likewise.
- * include/bits/vector.tcc: Likewise.
- * include/std/std_bitset.h: Likewise.
- * testsuite/23_containers/bitset/18604.cc: New.
- * testsuite/23_containers/deque/18604.cc: Likewise.
- * testsuite/23_containers/list/18604.cc: Likewise.
- * testsuite/23_containers/map/18604.cc: Likewise.
- * testsuite/23_containers/set/18604.cc: Likewise.
- * testsuite/23_containers/vector/18604.cc: Likewise.
-
-2005-05-09 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
+ * testsuite/22_locale/time_put/put/wchar_t/9.cc: Likewise.
+ * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/10.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/1.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/5.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/6.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/7.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/8.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/9.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
+ * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Likewise.
+ * testsuite/22_locale/time_get/get_year/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/time_get/get_year/char/1.cc: Likewise.
+ * testsuite/22_locale/time_get/get_year/char/3.cc: Likewise.
+ * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
+ * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/time_get/get_monthname/char/1.cc: Likewise.
+ * testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
+ * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
+ * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
+ * testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
+ * testsuite/22_locale/time_get/get_weekday/char/3.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/char/1.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/char/3.cc: Likewise.
+ * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
+ * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/time_get/get_time/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
+ * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
+ * testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
+ * testsuite/22_locale/time_get/get_time/char/3.cc: Likewise.
+ * testsuite/22_locale/time_get/get_time/char/4.cc: Likewise.
-2005-05-09 Jonathan Wakely <redi@gcc.gnu.org>
+2006-01-04 Paolo Carlini <pcarlini@suse.de>
- DR 434. bitset::to_string() hard to use [Ready]
- * include/debug/bitset (to_string): Add three overloads, taking
- fewer template arguments.
+ * include/ext/sso_string_base.h (__sso_string_base<>::_M_dataplus):
+ Use _CharT_alloc_type as base class.
+ (_M_get_allocator, _M_swap, _M_create, _M_destroy): Adjust.
+ * include/ext/vstring.h (get_allocator): Tidy.
-2005-05-06 Mark Mitchell <mark@codesourcery.com>
+2006-01-04 Paolo Carlini <pcarlini@suse.de>
- * testsuite/testsuite_hooks.cc (try_mkfifo): Remove.
- * testsuite/testsuite_hooks.h (try_mkfifo): Likewise.
- * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use
- dg-require-fork and dg-require-mkfifo. Replace try_mkfifo with
- mkfifo.
- * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
- Likewise.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc:
+ Implement Option 3 of DR 431 for all the containers.
+ * include/bits/allocator.h (struct __alloc_swap): Add, swaps
+ allocators, optimized to nothing in case they are empty.
+ * include/bits/stl_deque.h (deque<>::swap): Use it.
+ * include/bits/stl_list.h (list<>::swap): Likewise.
+ * include/bits/stl_tree.h (_Rb_tree<>::swap): Likewise.
+ * include/bits/stl_vector.h (vector<>::swap): Likewise.
+ * include/tr1/hashtable (hashtable<>::swap): Likewise.
+ * include/ext/rc_string_base.h (__rc_string_base<>::_M_swap):
Likewise.
- * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
- * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
+ * include/ext/sso_string_base.h (__sso_string_base<>::_M_swap):
Likewise.
- * 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: Likewise.
- * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
- * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
-
-2005-05-04 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4: Remove testsuite_wchar_t and testsuite_thread.
- * testsuite/Makefile.am: Same.
- * scripts/create_testsuite_files: Same.
- * Makefile.in: Regenerate.
- * configure: Same.
- * include/Makefile.in: Same.
- * libmath/Makefile.in: Same.
- * libsupc++/Makefile.in: Same.
- * po/Makefile.in: Same.
- * src/Makefile.in: Same.
-
-2005-05-04 Mark Mitchell <mark@codesourcery.com>
-
- * testsuite/lib/libstdc++.exp (v3-build_support): Look for
- __GTHREADS, rather than _GLIBCXX_HAVE_GTHR_DEFAULT, to determine
- whether or not thread support is available.
-
- * docs/html/test.html: Explain how to run the testsuite on an
- installed directory.
-
-2005-05-01 Paolo Carlini <pcarlini@suse.de>
-
- * config/os/aix/os_defines.h: Remove obsolete __off_t,
- __off64_t, __ssize_t defines.
- * config/os/djgpp/os_defines.h: Likewise.
- * config/os/hpux/os_defines.h: Likewise.
- * config/os/irix/irix5.2/os_defines.h: Likewise.
- * config/os/irix/irix6.5/os_defines.h: Likewise.
- * config/os/solaris/solaris2.5/os_defines.h: Likewise.
- * config/os/solaris/solaris2.6/os_defines.h: Likewise.
- * config/os/solaris/solaris2.7/os_defines.h: Likewise.
- * docs/html/17_intro/porting.html: Don't discuss the defines.
- * docs/html/17_intro/porting.texi: Likewise.
-
-2005-04-29 Paolo Carlini <pcarlini@suse.de>
- Nathan Myers <ncm@cantrip.org>
-
- PR libstdc++/21286
- * include/bits/fstream.tcc (basic_filebuf<>::xsgetn):
- Loop on short reads; remove the work-around for
- libstdc++/20806, not needed anymore.
-
-2005-04-29 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/21238
- * include/bits/locale_facets.tcc (num_get::_M_extract_float,
- num_get::_M_extract_int, num_get::do_get(bool&),
- num_put::_M_insert_int, num_put::_M_insert_float,
- num_put::do_put(bool), money_get::_M_extract,
- money_put::_M_insert): Adjust the __cache_type typedef not to
- forward to a numpunct/moneypunct typedef.
- * testsuite/testsuite_character.h: Add pod_uint and its numpunct
- and moneypunct specializations.
- * testsuite/testsuite_character.cc: Add numpunct<pod_uint>::id
- and moneypunct<pod_uint>::id.
- * testsuite/22_locale/num_get/3.cc: New.
- * testsuite/22_locale/num_put/3.cc: Likewise.
- * testsuite/22_locale/money_get/3.cc: Likewise.
- * testsuite/22_locale/money_put/3.cc: Likewise.
-
- * include/bits/locale_facets.tcc (money_put::_M_insert,
- time_get::_M_extract_name): Prefer operator== to operator!=
- on char_types.
-
-2005-04-29 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits (is_convertible): Adjust according
- to the resolution of TR1 issue 3.20.
- * testsuite/tr1/4_metaprogramming/relationships_between_types/
- is_convertible/is_convertible.cc: Add tests.
-
-2005-04-28 Paolo Carlini <pcarlini@suse.de>
- Gabriel Dos Reis <gdr@integrable-solutions.net>
-
- PR libstdc++/21244 (cont)
- * include/bits/cpp_type_traits.h (struct __traitor): Convert
- to bool the values.
- * include/bits/stl_algo.h: Convert _S_threshold to int.
- * include/bits/stl_bvector.h: Revert previous change, convert
- _S_word_bit to int.
- * include/debug/formatter.h: Convert __max_parameters to
- size_t.
- * include/ext/mt_allocator.h: Likewise for _S_chunk_size.
- * include/ext/pool_allocator.h: Likewise for _S_max_bytes and
- _S_align.
- * include/ext/rope: Likewise for _S_alloc_granularity; convert
- _S_max_rope_depth to int.
- * include/ext/ropeimpl.h: Convert _S_path_cache_len to int;
- _S_max_rope_depth to int; _S_copy_max to size_t.
-
-2005-04-27 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/doxygen/user.cfg.in: Update to doxygen-1.4.2.
- * docs/doxygen/doxygroups.cc: Update namespace comments.
-
-2005-04-27 Dominik Strasser <dominik.strasser@infineon.com>
- Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/21244
- * include/bits/stl_bvector.h: Change the anonymous enum
- at namespace scope to _S_word_bit_enum.
- * testsuite/23_containers/vector/bool/21244.cc: New.
-
-2005-04-27 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits (has_trivial_copy, has_trivial_assign,
- has_nothrow_copy, has_nothrow_assign): Adjust according to the
- resolution of TR1 issue 3.21.
- * testsuite/testsuite_tr1.h (test_copy_property,
- test_assign_property): Remove.
- * testsuite/tr1/4_metaprogramming/type_properties/
- has_nothrow_assign/has_nothrow_assign.cc: Adjust.
- * testsuite/tr1/4_metaprogramming/type_properties/
- has_nothrow_copy/has_nothrow_copy.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/type_properties/
- has_trivial_assign/has_trivial_assign.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/type_properties/
- has_trivial_copy/has_trivial_copy.cc: Likewise.
-
-2005-04-26 Jones Desougi <jones@ingate.com>
-
- PR libstdc++/21131
- * linkage.m4: Fix comments.
-
-2005-04-26 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/21209
- * include/bits/locale_facets.tcc (_M_extract_int): Avoid signed
- integer overflow, always use a suited unsigned type in the main
- parsing loop.
- (struct __to_unsigned_type): New.
- * testsuite/22_locale/num_get/get/char/16.cc: New.
- * testsuite/22_locale/num_get/get/wchar_t/16.cc: Likewise.
-
-2005-04-25 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/21035
- * include/bits/basic_string.h (compare): Adjust the documentation
- to match the implementation and the standard.
-
-2005-04-24 Paolo Carlini <pcarlini@suse.de>
-
- * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 35.
-
-2005-04-20 Mark Mitchell <mark@codesourcery.com>
-
- * testsuite/ext/bitmap_allocator/check_allocate_max_size.cpp: Add
- explicit instantiations for systems without weak symbols.
- * testsuite/ext/bitmap_allocator/check_deallocate_null.cc:
- Likewise.
-
-2005-04-18 Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/bits/stl_algo.h (rotate_copy): Add missing std qualification.
-
-2005-04-17 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/20914
- * include/bits/locale_facets.tcc (__int_to_char(_CharT*, _ValueT,
- const _CharT*, ios_base::fmtflags, bool)): Don't deal with numeric
- base or sign here, instead...
- (_M_insert_int(_OutIter, ios_base&, _CharT, _ValueT)): ... here,
- after adding the grouping. This fixes the bug and also allows to
- clean-up the code dealing with integer types.
- (_M_group_int(const char*, size_t, _CharT, ios_base&, _CharT*,
- _CharT*, int&)): Simplify, remove bits dealing with numeric base.
- (__int_to_char(_CharT*, unsigned long, const _CharT*,
- ios_base::fmtflags), __int_to_char(_CharT*, unsigned long long,
- const _CharT*, ios_base::fmtflags)): Remove hackish fix for
- libstdc++/15565.
- (__int_to_char(_CharT*, long, const _CharT*, ios_base::fmtflags),
- __int_to_char(_CharT*, long long, const _CharT*, ios_base::fmtflags)):
- Simplify, don't pass the sign.
- (_M_insert_float(_OutIter, ios_base&, _CharT, char, _ValueT)):
- Deal with a sign at the beginning of __cs; robustify the grouping
- check.
- * testsuite/22_locale/num_put/put/char/20914.cc: New.
- * testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise.
-
-2005-04-14 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/bitmap_allocator.h
- (__gnu_cxx::free_list::_M_get_mutex): New.
- (__gnu_cxx::free_list::_M_get_free_list): New.
- (__gnu_cxx::free_list::_S_bfl_mutex): Remove.
- (__gnu_cxx::free_list::_S_free_list): Remove.
- * src/bitmap_allocator.cc: Same.
- * config/linker-map.gnu: Remove free_list and mutex export.
-
-2005-04-14 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/ext/pod_char_traits.h (__gnu_cxx::character): Add char_type.
- (character::to): New.
- (character::from): New.
- (operator==): Add state parameter.
- (operator<): Same.
- (char_traits::copy): Use std::copy.
- (char_traits::assign): Use std::fill_n.
- (char_traits::to_char_type): Use character::from.
- (char_traits::to_int_type): Use character::to.
- * testsuite/testsuite_character.h (__gnu_test::character): Remove.
- (__gnu_test::conversion_state): Remove.
- (__gnu_test::pod_char): Remove.
- (pod_char): New typedef.
- (pod_uchar): New typedef.
- (pod_ushort): New typedef.
- * testsuite/testsuite_character.cc: Fixups.
- * testsuite/21_strings/basic_string/inserters_extractors/pod/
- 10081-in.cc: Same.
- * testsuite/21_strings/basic_string/inserters_extractors/pod/
- 10081-out.cc: Same.
- * testsuite/22_locale/numpunct/members/pod/1.cc: Same.
- * testsuite/22_locale/numpunct/members/pod/2.cc: Same.
- * testsuite/27_io/basic_filebuf/close/12790-1.cc: Same.
- * testsuite/27_io/basic_filebuf/open/12790-1.cc: Same.
- * testsuite/27_io/basic_filebuf/seekoff/12790-1.cc: Same.
- * testsuite/27_io/basic_filebuf/seekoff/12790-2.cc: Same.
- * testsuite/27_io/basic_filebuf/seekoff/12790-3.cc: Same.
- * testsuite/27_io/basic_filebuf/seekoff/12790-4.cc: Same.
- * testsuite/27_io/basic_filebuf/seekpos/12790-1.cc: Same.
- * testsuite/27_io/basic_filebuf/seekpos/12790-2.cc: Same.
- * testsuite/27_io/basic_filebuf/seekpos/12790-3.cc: Same.
- * testsuite/27_io/basic_ios/imbue/14072.cc: Same.
- * testsuite/27_io/basic_istream/extractors_arithmetic/pod/
- 3983-1.cc: Same.
- * testsuite/27_io/basic_istream/extractors_character/pod/
- 3983-2.cc: Same.
- * testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc: Same.
- * testsuite/27_io/basic_istream/sentry/pod/1.cc: Same.
- * testsuite/27_io/basic_ostream/sentry/pod/1.cc: Same.
-
-2005-04-12 Mike Stump <mrs@apple.com>
-
- * configure: Regenerate.
-
-2005-04-08 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/Makefile.am: Remove libv3test.a.
- * testsuite/Makefile.in: Regenerate.
- * testsuite/lib/libstdc++.exp (v3_target_compile): Fix comments.
-
-2005-04-08 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/20909
- * include/bits/locale_facets.tcc (num_put<>::_M_insert_float):
- Don't even try to group numbers like 2e20, i.e., no decimal
- point, scientific notation.
- * testsuite/22_locale/num_put/put/char/20909.cc: New.
- * testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.
-
-2005-04-08 Kelley Cook <kcook@gcc.gnu.org>
-
- * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Define _GLIBCXX_ASM_SYMVER.
- * acconfig.h: Delete file.
- * Makefile.in, acinclude.m4, configure: Regenerate.
-
-2005-04-08 Kelley Cook <kcook@gcc.gnu.org>
-
- * linkage.m4 (GLIBCXX_MAYBE_UNDERSCORED_FUNCS): New macro.
- (GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1,
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2,
- GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3,
- GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1,
- GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2): Use it.
- (GLIBCXX_CHECK_MATH_SUPPORT): Delete obsolete comment.
- * acconfig.h: Delete redundant macros.
- * config.h.in, configure: Regenerate.
-
-2005-04-08 Kelley Cook <kcook@gcc.gnu.org>
-
- * linkage.m4 (GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1): Eliminate
- a subshell and if test fails, test for same functions with
- leading underscore.
- (GLIBCXX_CHECK_MATH_SUPPORT): Eliminate seperate checks for _funcs.
- * configure: Regenerate.
-
-2005-04-08 Danny Smith <dannysmith@users.sourceforge.net>
- Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/20806
- * config/os/mingw32/os_defines.h: Define
- _GLIBCXX_HAVE_DOS_BASED_FILESYSTEM.
- * config/os/newlib/os_defines.h: Likewise, for __CYGWIN__.
- * include/bits/fstream.tcc (basic_filebuf<>::showmanyc()):
- Use it.
- (basic_filebuf<>::xsgetn(_CharT*, streamsize)): Likewise.
-
-2005-04-08 Kelley Cook <kcook@gcc.gnu.org>
-
- * acconfig.h: Sort the bottom section.
- * config.h.in: Regenerate.
-
-2005-04-08 Kelley Cook <kcook@gcc.gnu.org>
-
- * acconfig.h: Remove redundant HAVE_FLOAT_H.
- * config.h.in: Regenerate.
-
-2005-04-08 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Create template for PACKAGE and VERSION.
- Update comment on how to regenerate file. Update minimum
- automake version to 1.9.3.
- * acconfig.h: Remove PACKAGE and VERSION.
- * aclocal.m4, configure, Makefile.in, po/Makefile.in,
- src/Makefile.in, include/Makefile.in, libmath/Makefile.in,
- testsuite/Makefile.in, config.h.in: Regenerate.
-
-2005-04-06 Benjamin Kosnik <bkoz@redhat.com>
-
- * docs/html/test.html: Update.
- * testsuite/printnow.c: Remove.
- * scripts/check_survey.in: Remove.
-
- * testsuite/abi_check.cc: To...
- * testuite/testsuite_abi_check.cc: ...here.
- * testsuite/libstdc++-abi/abi.exp: Change abi_check.cc to
- testsuite_abi_check.cc.
-
- * testsuite/testsuite_hooks.h: Move character related bits to...
- * testsuite/testsuite_character.h: ...here.
- * testsuite/testsuite_character.cc: ... and here.
- * testsuite/21_strings/basic_string/inserters_extractors/pod/
- 10081-in.cc: Use testsuite_character.h.
- * testsuite/21_strings/basic_string/inserters_extractors/pod/
- 10081-out.cc: Same.
- * testsuite/22_locale/numpunct/members/pod/1.cc: Same.
- * testsuite/22_locale/numpunct/members/pod/2.cc: Same.
- * testsuite/27_io/basic_filebuf/2.cc: Same.
- * testsuite/27_io/basic_fstream/2.cc: Same.
- * testsuite/27_io/basic_istream/2.cc: Same.
- * testsuite/27_io/basic_istream/extractors_arithmetic/pod/
- 3983-1.cc: Same.
- * testsuite/27_io/basic_istream/extractors_character/char/
- 9826.cc: Same.
- * testsuite/27_io/basic_istream/extractors_character/pod/
- 3983-2.cc: Same.
- * testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc: Same.
- * testsuite/27_io/basic_istream/sentry/pod/1.cc: Same.
- * testsuite/27_io/basic_ostream/2.cc: Same.
- * testsuite/27_io/basic_ostream/sentry/pod/1.cc: Same.
- * testsuite/27_io/basic_streambuf/2.cc: Same.
- * testsuite/27_io/basic_stringbuf/2.cc: Same.
- * testsuite/27_io/basic_stringbuf/4.cc: Same.
- * testsuite/27_io/basic_stringstream/2.cc: Same.
- * testsuite/27_io/fpos/1.cc: Same.
- * testsuite/ext/mt_allocator/tune-1.cc: Same.
- * testsuite/ext/mt_allocator/tune-2.cc: Same.
- * testsuite/ext/stdio_filebuf/char/1.cc: Same.
- * testsuite/lib/libstdc++.exp (v3-build_support): Add
- testsuite_character.cc.
- * testsuite/Makefile.am (libv3test_a_SOURCES): Add
- testsuite_character.cc.
- * testsuite/Makefile.in: Regenerate.
-
- * configure.ac: Remove use of check_survey.
- * configure: Regenerate.
- * testsuite/Makefile.am: Remove check-script and
- check-script-install rules.
- * testsuite/Makefile.in: Regenerate.
-
-2005-04-06 Ulrich Weigand <uweigand@de.ibm.com>
-
- * config/cpu/s390/atomicity.h (__exchange_and_add): Add "memory"
- clobber to inline assembly statement.
-
-2005-04-06 Kelley Cook <kcook@gcc.gnu.org>
-
- * acinclude.m4 (_GLIBCXX_USE_LONG_LONG,
- _GLIBCXX_USE_WCHAR_T, _GLIBCXX_USE_C99, _GLIBCXX_USE_C99_MATH,
- _GLIBCXX_USE_C99_COMPLEX, _GLIBCXX_RES_LIMITS, _GLIBCXX_CONCEPT_CHECKS,
- _GLIBCXX_SYMVER, _GLIBCXX_USE_LFS, _GLIBCXX_FULLY_DYNAMIC_STRING,
- _GLIBCXX_USE_NLS, HAVE_GTHR_DEFAULT, HAVE_MBSTATE_T, HAVE_POLL,
- HAVE_S_ISREG, HAVE_S_IFREG, HAVE_WRITEV, HAVE_INT64_T,
- HAVE_LC_MESSAGES): Use long form of AC_DEFINE ...
- * acconfig.h: ... to eliminate them from here.
- (_GLIBCXX_ASM_SYMVER): Move definition below @BOTTOM@.
- * config.h.in, configure: Regenerate.
-
-2005-04-05 Kelley Cook <kcook@gcc.gnu.org>
-
- * Makefile.am (ACLOCAL_AMFLAGS): Define.
- * crossconfig.m4: Wrap file into new GLIBCXX_CROSSCONFIG macro.
- * configure.ac: Use it.
- * acinclude.m4: Delete explicit m4_includes and sincludes.
- * aclocal.m4, configure, Makefile.in, po/Makefile.in,
- src/Makefile.in, include/Makefile.in, libmath/Makefile.in,
- testsuite/Makefile.in: Regenerate.
-
-2005-04-05 Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/tr1/memory, include/tr1/boost_shared_ptr.h: Use mutex
- to make _Sp_counted_base::add_ref_lock() thread-safe. Check whether
- to destroy resources by testing for equality, not inequality. Add
- empty critical sections to solve memory visibility issues.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/cons/auto_ptr_neg.cc: Use dg-excess-errors instead of
- explicitly listing line numbers which need to be kept in sync.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/assign/auto_ptr_neg.cc: Same.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/assign/auto_ptr_rvalue_neg.cc: Same.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/cons/weak_ptr_expired.cc: Make XFAIL for consistency when
- -fno-exceptions.
- * testsuite/tr1/2_general_utilities/memory/
- enable_shared_from_this/not_shared.cc: Add explanatory comments.
- * testsuite/tr1/2_general_utilities/memory/
- enable_shared_from_this/not_shared2.cc: Same.
- * testsuite/tr1/2_general_utilities/memory/
- enable_shared_from_this/not_shared3.cc: Same.
-
-2005-04-05 Kelley Cook <kcook@gcc.gnu.org>
-
- * acconfig.h: Delete macros already AC_DEFINED.
- * config.h.in: Regenerate.
-
-2005-04-05 Kelley Cook <kcook@gcc.gnu.org>
-
- * acconfig.h (HAVE_MODF): Remove.
- * linkage.m4: Check for modf.
- * config.h.in, configure: Regenerate.
-
-2005-04-05 Kelley Cook <kcook@gcc.gnu.org>
-
- * acconfig.h (ENABLE_NLS, HAVE_CATGETS): Remove.
- (HAVE_GETTEXT, HAVE_STPCPY): Likewise.
- * config.h.in: Regenerate.
-
-2005-04-05 Kelley Cook <kcook@gcc.gnu.org>
-
- * linkage.m4 (GLIBCXX_CHECK_BUILTIN_MATH_DEC): Use m4 translit macro
- to convert to uppercase instead of shelling out to tr.
- * acconfig.h: Remove now redundant HAVE__BUILTINS_*.
- * configure, config.h.in: Regenerate.
-
-2005-04-05 Kelley Cook <kcook@gcc.gnu.org>
-
- * acconfig.h (HAVE_TANL): Correct cut-and-paste typo.
- * config.h.in: Regenerate.
-
-2005-04-04 Mark Mitchell <mark@codesourcery.com>
-
- * testsuite/Makefile.am (check-local): Remove.
- (curent_symbols.txt): Likewise.
- (check-abi): Do not depend on current_symbols.txt.
- * testsuite/Makefile.in: Regenerated.
- * testsuite/libstdc++-abi/abi.exp: Build current_symbols.txt.
-
-2005-04-02 Douglas Gregor <doug.gregor@gmail.com>
-
- * include/tr1/tuple_iterate.h (tuple_element): Use new macro
- _GLIBCXX_T_NUM_ARGS_PLUS_1 because _T is a macro on Darwin.
- * include/tr1/repeat.h (_GLIBCXX_T_NUM_ARGS_PLUS_1): Define for
- each iteration.
- * scripts/gen_includers.h: Define _GLIBCXX_T_NUM_ARGS_PLUS_1 for
- each iteration.
-
-2005-04-01 Douglas Gregor <doug.gregor@gmail.com>
-
- * include/tr1/functional (_Maybe_wrap_member_pointer): Wrap up
- member pointers in _Mem_fn but let other function objects pass
- through unchanged.
- * include/tr1/functional_iterator (bind): Reduce number of bind()
- overloads to two to eliminate ambiguities. Use
- _Maybe_wrap_member_pointer to handle member pointers gracefully.
-
-2005-04-01 Mark Mitchell <mark@codesourcery.com>
-
- * testsuite/Makefile.am (noinst_PROGRAMS): Remove.
- (site.exp): Write out the path to the baseline file.
- (check-abi): Use DejaGNU.
- (check-abi-verbose): Remove.
- * testsuite/Makefile.in: Regenerated.
- * testsuite/abi_check.cc (main): Check the return value from
- compare_symbols.
- * testsuite/testsuite_abi.cc (compare_symbols): Return a value.
- * testsuite/testsuite_abi.h (compare_symbols): Adjust prototype.
- * testsuite/libstdc++-abi/abi.exp: New file.
-
-2005-03-31 Chris Jefferson <chris@bubblescope.net>
-
- * include/tr1/tuple: Support iteration via tuple_iterate.h.
- * include/tr1/tuple_iterate.h: Iteration file for tuple.
-
-2005-03-31 Douglas Gregor <doug.gregor@gmail.com>
-
- * include/Makefile.am (tr1_headers): Add bind and mu repetition
- headers and reference_wrapper<> forwarding header.
- * include/Makefile.in: Regenerate.
- * include/tr1/bind_iterate.h: Implementation of function call
- operators for the function object returned from tr1::bind().
- * include/tr1/bind_repeat.h: Bind-specific repetition header,
- akin to include/tr1/repeat.h.
- * include/tr1/functional (_Mem_fn): Bug fix: declare result member
- template for use with result_of.
- (is_bind_expression): New.
- (is_placeholder): New.
- (_Placeholder): New. Placeholder type for bind.
- (_Mu): New. Implementation detail of bind.
- (_Bind, _Bind_result): New. Function objects returned by bind.
- (_GLIBCXX_JOIN): New. Required to create bind placeholders.
- * include/tr1/functional_iterate.h (_Bind, _Bind_result, bind):
- New. Implementation of tr1::bind.
- * include/tr1/mu_iterate.h (_Mu): result template and operator()
- for the _Mu helper to bind.
- * include/tr1/ref_fwd.h (reference_wrapper): Forward declaration
- used by tuple header.
- (ref): Ditto.
- (cref): Ditto.
- * include/tr1/repeat.h: Add bind-specific repetition macros.
- * include/tr1/tuple: Use reference_wrapper forwarding header for
- initial definitions, then include <tr1/functional> at the end, to
- make the circular dependencies work.
- (tie): Support zero-argument tie() function.
- * testsuite/tr1/3_function_objects/bind/all_bound.cc: New test of
- bind() functionality with parameters bound.
- * testsuite/tr1/3_function_objects/bind/nested.cc: New test of
- nested bind() expressions.
- * testsuite/tr1/3_function_objects/bind/placeholders.cc: New test
- of bind() placeholders.
- * testsuite/tr1/3_function_objects/bind/ref.cc: New test of bind()
- with arguments bound via reference_wrapper<>.
- * scripts/gen_includers.pl: Generate the repetitive part of
- include/tr1/repeat.h.
- * scripts/gen_bind_includers.pl: Generate the repetitive part of
- include/tr1/bind_repeat.h.
-
-2005-03-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
-
- * testsuite/Makefile.am (CXX): Use ${SHELL}.
- (GLIBCXX_INCLUDES): Same.
- (AM_CXXFLAGS): Same.
- * testsuite/Makefile.in: Regenerate.
-
-2005-03-25 Mark Mitchell <mark@codesourcery.com>
-
- * testsuite/lib/libstdc++.exp (libstdc++_init): Define LOCALEDIR
- when testing an installed compiler.
-
- * testsuite/lib/libstdc++.exp (v3-build_support): Pass -w when
- compiling support objects.
-
-2005-03-24 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/tr1/memory: Forward to...
- * include/tr1/boost_shared_ptr.h: ...here. Add Boost Software License.
- * include/Makefile.am (tr1_headers): Add boost_shared_ptr.h.
- * include/Makefile.in: Regenerate.
- * testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/
- auto_ptr_neg.cc: Adjust line numbers.
-
-2005-03-23 Mark Mitchell <mark@codesourcery.com>
-
- * testsuite/Makefile.am (all-local): Do not build testsuite_files.
- * testsuite/Makefile.in: Regenerated.
-
-2005-03-23 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4: Adjust so that _GLIBCXX_USE_C99 implies
- using _GLIBCXX_USE_C99_COMPLEX, _GLIBCXX_USE_C99_MATH, and
- _GLIBCXX_USE_C99_WCHAR.
- Remove GLIBCXX_ENABLE_C_MBCHAR, consolidate in GLIBCXX_ENABLE_C99
- and GLIBCXX_ENABLE_WCHAR_T.
- Take C99 bits from GLIBCXX_CHECK_WCHAR_T_SUPPORT and put in
- GLIBCXX_ENABLE_C99.
- Change remaining parts of GLIBCXX_CHECK_WCHAR_T_SUPPORT to
- GLIBCXX_CHECK_ICONV_SUPPORT.
- * configure.ac: Remove GLIBCXX_ENABLE_C_MBCHAR, use
- GLIBCXX_CHECK_ICONV_SUPPORT and GLIBCXX_ENABLE_WCHAR_T.
- * crossconfig.m4: Same.
- * acconfig.h: Same, adjust comments.
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * docs/html/configopts.html: Change --enable-c-mbchar to
- --enable-wchar_t.
-
- * config/locale/gnu/c++locale_internal.h: Guard wide functions
- with _GLIBCXX_USE_WCHAR_T.
- * include/c_std/std_cwctype.h: Alphabetize, remove duplicates.
- * include/c_std/std_cstdio.h: Spacing.
-
- * config/locale/gnu/c_locale.h: Tweaks for unused warnings.
- * src/debug.cc: Same.
-
-2005-03-23 Mark Mitchell <mark@codesourcery.com>
-
- * testsuite/libstdc++-dg/normal.exp: Read testsuite_files, if it
- exists.
-
- * testsuite/lib/libstdc++.exp (libstdc++_wchar_t): Rename to ...
- (v3-wchar_t): ... this.
- (libstdc++_threads): Rename to ...
- (v3-threads): ... this.
- (libstdc++_test_objs): Rename to ...
- (v3-test_objs): ... this.
- (libstdc++_build_support): Rename to ...
- (v3-build_support): ... this.
- * testsuite/libstdc++-dg/normal.exp: Adjust to use new names.
-
- * testsuite/lib/libstdc++.exp (libstdc++_init): Improve handling
- of compilers not in the build directory.
- (libstdc++_wchar_t): New variable.
- (libstdc++_threads): Likewise.
- (libstdc++_test_objs): Likewise.
- (v3_target_compile): Use libstdc++_test_objs.
- (v3-list-tests): Remove.
- (listdc++_build_support): New function.
- * testsuite/libstdc++-dg/normal.exp: Rework to dynamically
- generate list of tests.
-
-2005-03-21 Chris Jefferson <chris@bubblescope.net>
-
- PR libstdc++/20577
- * include/bits/stl_algobase.h (iter_swap): Only delegate iter_swap
- to swap when the iterator's reference_type is a reference to its
- value_type.
- * testsuite/25_algorithms/iter_swap/20577.cc: New.
-
-2005-03-21 Zack Weinberg <zack@codesourcery.com>
-
- * acinclude.m4 (GLIBCXX_CONFIGURE): Delete gcc_version logic.
- (GLIBCXX_EXPORT_INSTALL_INFO): Adjust quotation so ${gcc_version}
- is expanded by the Makefiles, not by configure.
- * fragment.am: Set gcc_version.
- * libmath/Makefile.am: Likewise.
- * configure, Makefile.in, include/Makefile.in, libmath/Makefile.in
- * libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in
- * testsuite/Makefile.in: Regenerate.
-
-2005-03-16 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/20_util/functional/binders.cc: Remove explicit
- instantiations for non-weak systems.
- * testsuite/20_util/memory/allocator/1.cc: Likewise.
- * testsuite/20_util/memory/allocator/10378.cc: Likewise.
- * testsuite/20_util/memory/allocator/10416.cc: Likewise.
- * testsuite/20_util/memory/allocator/8230.cc: Likewise.
- * testsuite/20_util/utility/rel_ops.cc: Likewise.
- * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
- * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
- * testsuite/23_containers/deque/cons/1.cc: Likewise.
- * testsuite/23_containers/deque/cons/2.cc: Likewise.
- * testsuite/23_containers/deque/invalidation/1.cc: Likewise.
- * testsuite/23_containers/deque/invalidation/2.cc: Likewise.
- * testsuite/23_containers/deque/invalidation/3.cc: Likewise.
- * testsuite/23_containers/deque/invalidation/4.cc: Likewise.
- * testsuite/23_containers/deque/modifiers/swap.cc: Likewise.
- * testsuite/23_containers/deque/operators/1.cc: Likewise.
- * testsuite/23_containers/list/capacity/1.cc: Likewise.
- * testsuite/23_containers/list/cons/1.cc: Likewise.
- * testsuite/23_containers/list/cons/2.cc: Likewise.
- * testsuite/23_containers/list/cons/3.cc: Likewise.
- * testsuite/23_containers/list/cons/4.cc: Likewise.
- * testsuite/23_containers/list/cons/5.cc: Likewise.
- * testsuite/23_containers/list/cons/6.cc: Likewise.
- * testsuite/23_containers/list/cons/7.cc: Likewise.
- * testsuite/23_containers/list/cons/8.cc: Likewise.
- * testsuite/23_containers/list/cons/9.cc: Likewise.
- * testsuite/23_containers/list/invalidation/1.cc: Likewise.
- * testsuite/23_containers/list/invalidation/2.cc: Likewise.
- * testsuite/23_containers/list/invalidation/3.cc: Likewise.
- * testsuite/23_containers/list/invalidation/4.cc: Likewise.
- * testsuite/23_containers/list/modifiers/1.cc: Likewise.
- * testsuite/23_containers/list/modifiers/2.cc: Likewise.
- * testsuite/23_containers/list/modifiers/3.cc: Likewise.
- * testsuite/23_containers/list/operators/1.cc: Likewise.
- * testsuite/23_containers/list/operators/2.cc: Likewise.
- * testsuite/23_containers/list/operators/3.cc: Likewise.
- * testsuite/23_containers/list/operators/4.cc: Likewise.
- * testsuite/23_containers/map/insert/1.cc: Likewise.
- * testsuite/23_containers/map/invalidation/1.cc: Likewise.
- * testsuite/23_containers/map/invalidation/2.cc: Likewise.
- * testsuite/23_containers/map/modifiers/swap.cc: Likewise.
- * testsuite/23_containers/map/operators/1.cc: Likewise.
- * testsuite/23_containers/multimap/invalidation/1.cc: Likewise.
- * testsuite/23_containers/multimap/invalidation/2.cc: Likewise.
- * testsuite/23_containers/multimap/modifiers/swap.cc: Likewise.
- * testsuite/23_containers/multiset/insert/1.cc: Likewise.
- * testsuite/23_containers/multiset/insert/2.cc: Likewise.
- * testsuite/23_containers/multiset/invalidation/1.cc: Likewise.
- * testsuite/23_containers/multiset/invalidation/2.cc: Likewise.
- * testsuite/23_containers/multiset/modifiers/swap.cc: Likewise.
- * testsuite/23_containers/priority_queue/members/7161.cc: Likewise.
- * testsuite/23_containers/queue/members/7157.cc: Likewise.
- * testsuite/23_containers/set/insert/1.cc: Likewise.
- * testsuite/23_containers/set/invalidation/1.cc: Likewise.
- * testsuite/23_containers/set/invalidation/2.cc: Likewise.
- * testsuite/23_containers/set/modifiers/swap.cc: Likewise.
- * testsuite/23_containers/stack/members/7158.cc: Likewise.
- * testsuite/23_containers/vector/bool/6886.cc: Likewise.
- * testsuite/23_containers/vector/capacity/1.cc: Likewise.
- * testsuite/23_containers/vector/capacity/8230.cc: Likewise.
- * testsuite/23_containers/vector/cons/1.cc: Likewise.
- * testsuite/23_containers/vector/cons/2.cc: Likewise.
- * testsuite/23_containers/vector/cons/3.cc: Likewise.
- * testsuite/23_containers/vector/cons/6513.cc: Likewise.
- * testsuite/23_containers/vector/element_access/1.cc: Likewise.
- * 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/modifiers/1.cc: Likewise.
- * testsuite/23_containers/vector/modifiers/2.cc: Likewise.
- * testsuite/23_containers/vector/modifiers/swap.cc: Likewise.
- * testsuite/23_containers/vector/resize/1.cc: Likewise.
- * testsuite/24_iterators/back_insert_iterator.cc: Likewise.
- * testsuite/24_iterators/front_insert_iterator.cc: Likewise.
- * testsuite/24_iterators/insert_iterator.cc: Likewise.
- * testsuite/24_iterators/iterator.cc: Likewise.
- * testsuite/25_algorithms/copy/1.cc: Likewise.
- * testsuite/25_algorithms/copy/2.cc: Likewise.
- * testsuite/25_algorithms/copy/3.cc: Likewise.
- * testsuite/25_algorithms/copy/4.cc: Likewise.
- * testsuite/25_algorithms/equal.cc: Likewise.
- * testsuite/25_algorithms/fill/1.cc: Likewise.
- * testsuite/25_algorithms/fill/2.cc: Likewise.
- * testsuite/25_algorithms/min_max.cc: Likewise.
- * testsuite/25_algorithms/rotate.cc: Likewise.
- * testsuite/25_algorithms/unique/1.cc: Likewise.
- * testsuite/25_algorithms/unique/2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise.
- * testsuite/ext/concept_checks.cc: Likewise.
- * testsuite/ext/hash_map/1.cc: Likewise.
- * testsuite/ext/hash_set/1.cc: Likewise.
- * testsuite/ext/rope/1.cc: Likewise.
- * testsuite/ext/rope/2.cc: Likewise.
- * testsuite/ext/rope/3.cc: Likewise.
- * testsuite/thread/pthread1.cc: Likewise.
- * testsuite/thread/pthread4.cc: Likewise.
- * testsuite/thread/pthread5.cc: Likewise.
- * testsuite/thread/pthread6.cc: Likewise.
- * testsuite/thread/pthread7-rope.cc: Likewise.
-
-2005-03-15 Zack Weinberg <zack@codesourcery.com>
-
- * include/Makefile.am (c++config.h): Depend on DATESTAMP from gcc
- subdirectory. Generate #define of __GLIBCXX__ from contents of
- that file.
- * include/Makefile.in: Regenerate.
- * include/bits/c++config: Do not define __GLIBCXX__.
-
-2005-03-15 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/20352
- * include/std/std_complex.h (pow(const complex<_Tp>&,
- const _Tp&)): On non-c99 platforms, don't try to compute
- log of complex zero.
-
-2005-03-10 Ben Elliston <bje@au.ibm.com>
-
- * testsuite/22_locale/locale/cons/12658_thread-1.cc: Don't XFAIL
- on GNU/Linux.
-
-2005-03-07 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits (is_polymorphic): Don't forget
- the virtual destructor, thus avoiding warnings.
- * testsuite/testsuite_tr1.h (class AbstractClass,
- class PolymorphicClass): Likewise.
-
-2005-03-07 Paolo Carlini <pcarlini@suse.de>
-
- * include/std/std_complex.h (pow(const complex<_Tp>&,
- const complex<_Tp>&)): Dispatch to either __complex_pow(__x.__rep(),
- __y.__rep()) or __complex_pow(__x, __y) depending on the macro
- _GLIBCXX_USE_C99_COMPLEX.
-
-2005-03-07 Paolo Carlini <pcarlini@suse.de>
-
- * include/std/std_fstream.h (basic_fstream<>::open,
- basic_ifstream<>::open, basic_ofstream<>::open): Implement the
- resolution of DR 409 [Ready], call clear() on success.
- * docs/html/ext/howto.html: Add an entry for DR 409.
- * docs/html/faq/index.html (4_4): Clarify the new behavior.
- * testsuite/27_io/basic_ifstream/open/char/1.cc: Adjust.
- * testsuite/27_io/basic_ofstream/open/char/1.cc: Likewise.
-
-2005-03-05 Joseph S. Myers <joseph@codesourcery.com>
-
- * 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:
- XFAIL on *-*-hpux11.23.
-
-2005-03-04 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: Add is_base_of.
- * testsuite/tr1/4_metaprogramming/relationships_between_types/
- is_base_of/is_base_of.cc: New.
- * testsuite/tr1/4_metaprogramming/relationships_between_types/
- is_base_of/typedefs.cc: Likewise.
-
-2005-03-03 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/tr1/functional: Convert relative path.
-
- * docs/doxygen/user.cfg.in: Add tr1 includes.
-
-2005-03-03 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: Implemenet is_polymorphic.
- (is_empty): Minor tweaks.
- * testsuite/testsuite_tr1.h: Add test types.
- * testsuite/tr1/4_metaprogramming/type_properties/
- is_polymorphic/is_polymorphic.cc: New.
- * testsuite/tr1/4_metaprogramming/type_properties/
- is_polymorphic/typedefs.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/composite_type_traits/
- is_union_or_class/is_union_or_class.cc: Add tests.
-
-2005-03-02 Douglas Gregor <doug.gregor@gmail.com>
-
- * include/tr1/functional (_Has_result_type): Cleanup.
- (_Result_of_impl): Handle member data pointers correctly.
- (reference_wrapper): Support invocation.
- Move repetition code into new file include/tr1/repeat.h.
- * include/tr1/functional_iterate.h (reference_wrapper): Support
- invocation. Cleanup long lines.
- * include/tr1/ref_wrap_iterate.h (reference_wrapper): Declare
- invocation operators.
- * include/tr1/repeat.h: Code repetition header.
- * include/Makefile.am: Add ref_wrap_iterate.h, repeat.h.
- * include/Makefile.in: Add ref_wrap_iterate.h, repeat.h.
- * testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc:
- New test of reference_wrapper invocation.
- * testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc:
- New test of reference_wrapper typedefs and base classes.
- * testsuite/tr1/3_function_objects/result_of.cc: Trivial cleanup
- (e-mail address).
-
-2005-03-02 Douglas Gregor <doug.gregor@gmail.com>
-
- * include/tr1/function (result_of): New class template.
- * include/tr1/functional/iterator.h: Implementation of TR1
- result_of.
- * testsuite/tr1/3_function_objects/result_of.cc: New test
-
-2005-03-01 Vladimir Merzliakov <wanderer@rsu.ru>
-
- * testsuite/26_numerics/cmath/c99_classification_macros_c.cc: Tweak.
-
-2005-02-28 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/tr1/2_general_utilities/memory/shared_ptr/
- cons/auto_ptr_neg.cc: Correct line numbers.
-
- * testsuite/testsuite_abi.cc: Add CXXABI_1.3.1.
-
-2005-02-28 Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/tr1/memory: Replace checked_deleter with (unchecked)
- _Sp_deleter as GCC warns about delete on incomplete types anyway.
-
-2005-02-28 Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/tr1/memory: Add missing "inline" to __throw_bad_weak_ptr.
-
-2005-02-28 Hans-Peter Nilsson <hp@axis.com>
-
- PR target/19065
- * config/cpu/cris/atomicity.h (__exchange_and_add): In asm, use
- 'Q' constraint, not 'm'.
-
-2005-02-26 Earl Chew <earl_chew@agilent.com>
- Christopher Jefferson <chris@bubblescope.net>
-
- * include/bits/stl_tree.h (_Rb_tree<>::_M_insert): Don't leak
- memory if _M_key_compare throws.
-
-2005-02-25 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: Add the trivial is_union and is_class;
- add the __is_union_or_class extension.
- (is_enum, is_empty): Use the latter.
- * include/tr1/type_traits_fwd.h: Add __is_union_or_class.
- * testsuite/testsuite_tr1.h: Add UnionType; trivial formatting
- fixes.
- * testsuite/tr1/4_metaprogramming/composite_type_traits/
- is_union_or_class/is_union_or_class.cc: New.
- * testsuite/tr1/4_metaprogramming/composite_type_traits/
- is_union_or_class/typedefs.cc: Likewise.
-
-2005-02-24 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/tr1/6_containers/unordered/instantiate/hash.cc: Guard
- wchar_t use with _GLIBCXX_USE_WCHAR_T.
-
-2005-02-24 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/std/std_complex.h: _GLIBCXX_USE_C99_COMPLEX_MATH to
- _GLIBCXX_USE_C99_COMPLEX.
- * acinclude.m4: Same.
- * acconfig.h: Same.
- * configure: Regenerate.
- * config.h.in: Same.
-
-2005-02-24 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/functional (mem_fn): Avoid _T, badname on
- Darwin.
-
-2005-02-23 Douglas Gregor <doug.gregor@gmail.com>
-
- * include/tr1/functional (function): New class template.
- (mem_fn): New function template.
- Implementations of TR1 function and mem_fn facilities.
- * include/tr1/functional_iterate.h: Implementations of TR1
- function and mem_fn facilities.
- * testsuite/tr1/3_function_objects/function/1.cc: New
- test of std::tr1::function.
- * testsuite/tr1/3_function_objects/function/2.cc: New
- test of std::tr1::function.
- * testsuite/tr1/3_function_objects/function/3.cc: New
- test of std::tr1::function.
- * testsuite/tr1/3_function_objects/function/4.cc: New
- test of std::tr1::function.
- * testsuite/tr1/3_function_objects/function/5.cc: New
- test of std::tr1::function.
- * testsuite/tr1/3_function_objects/function/6.cc: New
- test of std::tr1::function.
- * testsuite/tr1/3_function_objects/function/7.cc: New
- test of std::tr1::function.
- * testsuite/tr1/3_function_objects/function/8.cc: New
- test of std::tr1::function.
- * testsuite/tr1/3_function_objects/function/9.cc: New
- test of std::tr1::function.
- * testsuite/tr1/3_function_objects/mem_fn.cc: New test of
- std::tr1::mem_fn.
-
-2005-02-23 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: Implement is_convertible.
- * testsuite/tr1/4_metaprogramming/relationships_between_types/
- is_convertible/is_convertible.cc: New.
- * testsuite/tr1/4_metaprogramming/relationships_between_types/
- is_convertible/typedefs.cc: Likewise.
- * testsuite/testsuite_tr1.h: Add class DerivedType.
-
- * include/tr1/type_traits (is_function): Don't mistake references
- to function types for function types.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_function/is_function.cc: Add testcase.
-
-2005-02-22 Benjamin Kosnik <bkoz@redhat.com>
-
- * scripts/check_performance: Tweaks.
-
- * testsuite/27_io/basic_ostream/inserters_other/wchar_t/2.cc: Name
- output file with extension that clean rules can find.
-
-2005-02-22 Richard Henderson <rth@redhat.com>
-
- PR libstdc++/20091
- * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't special case
- decrement of uncaughtExceptions for rethrow.
-
-2005-02-22 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/functional: Fix License to GPL with exception.
- * include/tr1/hashtable: Likewise.
- * include/tr1/tuple: Likewise.
- * include/tr1/type_traits: Likewise.
- * include/tr1/type_traits_fwd.h: Likewise.
- * include/tr1/unordered_map: Likewise.
+ * include/ext/vstring_util.h (__vstring_utility<>::_Alloc_hider):
+ Clean-up (now vstring uses the generic __alloc_swap facility).
+ * include/tr1/unordered_map: Adjust includes.
* include/tr1/unordered_set: Likewise.
- * include/tr1/utility: Likewise.
-
-2005-02-22 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/
- auto_ptr_neg.cc: Add missing dg-do compile directive.
- * testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/
- auto_ptr_rvalue_neg.cc: Likewise.
- * testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/
- shared_ptr_neg.cc: Likewise.
- * testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/
- auto_ptr_neg.cc: Likewise.
- * testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/
- reset_neg.cc: Likewise.
- * testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/
- swap_neg.cc: Likewise.
-
-2005-02-22 Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/Makefile.am, include/Makefile.in: Fix accidental extra
- change from previous commit.
-
-2005-02-21 Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/tr1/memory: New file.
- * include/Makefile.am, include/Makefile.in: Add new TR1 header.
- * testsuite/tr1/2_general_utilities/memory/
- enable_shared_from_this/not_shared.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- enable_shared_from_this/not_shared2.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- enable_shared_from_this/not_shared3.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- enable_shared_from_this/shared.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- enable_shared_from_this/still_shared.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/assign/assign.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/assign/auto_ptr.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/assign/auto_ptr_neg.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/assign/auto_ptr_rvalue_neg.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/assign/shared_ptr.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/assign/shared_ptr_neg.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/comparison/cmp.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/cons/auto_ptr.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/cons/auto_ptr_neg.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/cons/copy.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/cons/default.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/cons/pointer.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/cons/weak_ptr.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/cons/weak_ptr_expired.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/dest/dest.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/misc/io.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/misc/swap.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/modifiers/reset.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/modifiers/reset_neg.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/modifiers/swap.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/modifiers/swap_neg.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/observers/bool_conv.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/observers/get.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/observers/unique.cc: New test.
- * testsuite/tr1/2_general_utilities/memory/
- shared_ptr/observers/use_count.cc: New test.
-
-2005-02-21 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits (is_member_function_pointer):
- Remove ugly workaround for c++/19076.
-
-2005-02-21 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/basic_string.tcc (_Rep::_M_destroy): Don't
- check for this == &_S_empty_rep, it's always false, here.
-
-2005-02-19 Matt Austern <austern@gmail.com>
-
- * include/tr1/functional (tr1_hashtable_define_trivial_hash): Make
- hash<T>::operator() a const member function for T a fundamental type
- * include/tr1/hashtable (extract1st::operator()): Declare const.
- (hash_code_base): Declare all member functions const
- (hashtable::find): fix call to this->bucket_count()
- (hashtable::count): Likewise.
- (hashtable::equal_range): m_incr_bucket applies to iterator, not node.
- * testsuite/tr1/6_containers/unordered/find/set1.cc: New test.
- * testsuite/tr1/6_containers/unordered/find/map1.cc: New test.
- * testsuite/tr1/6_containers/unordered/find/multimap1.cc: New test.
- * testsuite/tr1/6_containers/unordered/find/multiset1.cc: New test.
-
-2005-02-19 Hans-Peter Nilsson <hp@axis.com>
-
- PR libstdc++/20071
- * include/tr1/functional (hash<std::wstring>): Wrap in #ifdef
- _GLIBCXX_USE_WCHAR_T.
-
-2005-02-18 Richard Henderson <rth@redhat.com>
-
- PR libstdc++/10606
- * config/linker-map.gnu (CXXABI_1.3.1): Add __cxa_get_exception_ptr.
- * libsupc++/eh_alloc.cc (__cxa_allocate_exception): Increment
- uncaughtExceptions here instead of ...
- * libsupc++/eh_throw.cc (__cxa_throw) ... here.
- (__cxa_rethrow): Increment uncaughtExceptions here instead of ...
- * libsupc++/eh_catch.cc (__cxa_end_catch): ... here.
- (__cxa_get_exception_ptr): New.
- * libsupc++/unwind-cxx.h (__cxa_get_exception_ptr): Declare.
-
-2005-02-18 Matt Austern <austern@apple.com>
-
- * testsuite/tr1/6_containers/unordered/insert/array_syntax.cc: Fix
- test case to use assignment instead of ==
- * testsuite/tr1/6_containers/unordered/insert/map_range.cc: New test.
- * testsuite/tr1/6_containers/unordered/insert/multimap_range.cc: New test.
- * testsuite/tr1/6_containers/unordered/insert/multiset_range.cc: New test.
- * testsuite/tr1/6_containers/unordered/insert/set_range.cc: New test.
-
-2005-02-18 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * testsuite/thread/pthread1.cc: Do not invoke pthread_setconcurrency
- on Solaris 2.6 and below.
- * testsuite/thread/pthread2.cc: Likewise.
- * testsuite/thread/pthread3.cc: Likewise.
- * testsuite/thread/pthread4.cc: Likewise.
- * testsuite/thread/pthread5.cc: Likewise.
- * testsuite/thread/pthread6.cc: Likewise.
- * testsuite/thread/pthread7-rope.cc: Likewise.
-
-2005-02-17 Matt Austern <austern@apple.com>
-
- * include/tr1/functional (hash): New function object.
- * include/tr1/hashtable: New file.
- * include/tr1/unordered_set: New file.
- * include/tr1/unordered_map: New file.
- * include/Makefile.am: Add three new TR1 headers.
- * include/Makefile.in: Likewise.
- * testsuite/tr1/6_containers/unordered/insert/array_syntax.cc: New test.
- * testsuite/tr1/6_containers/unordered/insert/map_single.cc: New test.
- * testsuite/tr1/6_containers/unordered/insert/multimap_single.cc: New test.
- * testsuite/tr1/6_containers/unordered/insert/multiset_single.cc: New test.
- * testsuite/tr1/6_containers/unordered/insert/set_single.cc: New test.
- * testsuite/tr1/6_containers/unordered/instantiate/hash.cc: New test.
- * testsuite/tr1/6_containers/unordered/instantiate/map.cc: New test.
- * testsuite/tr1/6_containers/unordered/instantiate/multimap.cc: New test.
- * testsuite/tr1/6_containers/unordered/instantiate/multiset.cc: New test.
- * testsuite/tr1/6_containers/unordered/instantiate/set.cc: New test.
-
-2005-02-16 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/23_containers/set/modifiers/16728.cc:
- Remove redundant include <testsuite_performance.h>.
-
-2005-02-16 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/19829
- * testsuite/21_strings/basic_string/find/char/3.cc: Fix the test
- at line #66 to not access str_lit01 beyond its end.
- * testsuite/21_strings/basic_string/find/wchar_t/3.cc: Likewise.
-
-2005-02-15 Paolo Carlini <pcarlini@suse.de>
- Jon Grimm <jgrimm2@us.ibm.com>
-
- PR libstdc++/19955
- * include/bits/locale_facets.h (ctype<char>::_M_narrow_init()):
- Fix the logic setting _M_narrow_ok: first check whether the
- transformation is trivial with a dflt == 0, then deal with the
- special case of zero.
- * testsuite/22_locale/ctype/narrow/char/19955.cc: New.
-
- * include/bits/locale_facets.h (ctype<char>::_M_widen_init()):
- Tweak consistently to use memcmp; minor formatting fixes.
-
-2005-02-15 Jakub Jelinek <jakub@redhat.com>
-
- PR libstdc++/19946
- * testsuite/demangle/abi_examples/01.cc (main): Adjust for 2005-02-13
- demangler change.
- * testsuite/demangle/abi_examples/02.cc (main): Likewise.
-
-2005-02-13 Richard Guenther <rguenth@gcc.gnu.org>
- Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/11706
- * include/c_std/std_cmath.h (pow): Use __builtin_powi[lf]
- for integer overloads.
-
- * testsuite/26_numerics/cmath/powi.cc: New.
-
-2005-02-11 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/26_numerics/complex/13450.cc: Fix XFAIL selector.
- * testsuite/26_numerics/complex/complex_value.cc: Ditto.
- * testsuite/26_numerics/complex/pow.cc: Ditto.
-
- * testsuite/lib/libstdc++.exp: Load target-supports-dg.exp.
- * testsuite/26_numerics/complex/13450.cc: XFAIL for broken_cplxf_arg.
- * testsuite/26_numerics/complex/complex_value.cc: Ditto.
- * testsuite/26_numerics/complex/pow.cc: Ditto.
-
-2005-02-09 Mike Stump <mrs@apple.com>
-
- * libsupc++/del_op.cc: Don't include cstdlib when !_GLIBCXX_HOSTED.
-
-2005-02-09 Janis Johnson <janis187@us.ibm.com>
-
- * testsuite/ext/array_allocator/2.cc: XFAIL for powerpc*-*-linux*.
-
-2005-02-08 Mark Mitchell <mark@codesourcery.com>
-
- * config/linker-map.gnu (GLIBCXX_3.4): Add _ZNSdC* and _ZNSdD*.
-
-2005-02-07 Loren J. Rittle <ljrittle@acm.org>
-
- * testsuite/27_io/basic_istream/getline/wchar_t/5.cc: Make buf static.
- * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc: Make ref and
- src static.
-
-2005-02-02 Brad Spencer <spencer@infointeractive.com>
-
- * debug.html: Fix broken tags.
- * documentation.html: Same.
-
-2005-02-02 Andreas Jaeger <aj@suse.de>
-
- * testsuite/lib/libstdc++.exp: Revert Geoffrey Keating's patch
- from 2005-01-28.
- * testsuite/Makefile.am: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2005-02-01 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/cpp_type_traits.h: Rename _M_type fields to
- __value, except for __enable_if, _M_type -> __type, consistently
- with the other traits.
- * include/bits/stl_algobase.h: Tweak consistently.
- * include/bits/stl_tree.h: Likewise.
- * include/bits/valarray_array.h: Likewise.
- * include/c_std/std_cmath.h: Likewise.
- * include/debug/safe_iterator.h: Likewise.
- * include/std/std_complex.h: Likewise.
-
-2005-01-31 Brad Spencer <spencer@infointeractive.com>
-
- * crossconfig.m4: Repair Solaris cross bits for strtold and strtof.
- * configure: Regenerated.
-
-2005-01-31 Mark Mitchell <mark@codesourcery.com>
-
- * include/std/std_limits.h (numeric_limits<float>::has_denorm):
- Add required cast.
- (numeric_limits<double>::has_denorm): Likewise.
- (numeric_limits<long double>::has_denorm): Likewise.
-
-2005-01-31 Paolo Carlini <pcarlini@suse.de>
- Gabriel Dos Reis <gdr@integrable-solutions.net>
-
- * include/bits/cpp_type_traits.h: Add types to the structs thus
- making type_traits.h redundant; exploit new __truth_type and
- __traitor helpers.
- * include/bits/type_traits.h: Remove.
- * include/Makefile.am: Update.
- * include/Makefile.in: Regenerate.
- * include/backward/tempbuf.h: Include cpp_type_traits.h instead.
- * include/bits/basic_string.h (replace(iterator, iterator,
- _InputIterator, _InputIterator), _S_construct(_InIterator,
- _InIterator, const _Alloc&)): Use __is_integer instead.
- * include/bits/stl_bvector.h (vector(_InputIterator,
- _InputIterator, const allocator_type&), assign(_InputIterator,
- _InputIterator), insert(iterator, _InputIterator, _InputIterator)):
- Likewise.
- * include/bits/stl_construct.h (_Destroy(_ForwardIterator,
- _ForwardIterator)): Use __is_scalar.
- * include/bits/stl_deque.h (deque(_InputIterator, _InputIterator,
- const allocator_type&), assign(_InputIterator, _InputIterator),
- insert(iterator, _InputIterator, _InputIterator)): Use __is_integer.
- * include/bits/stl_list.h (assign(_InputIterator, _InputIterator),
- insert(iterator, _InputIterator, _InputIterator)): Likewise.
- * include/bits/stl_tempbuf.h (_Temporary_buffer(_ForwardIterator,
- _ForwardIterator)): Use __is_scalar.
- * include/bits/stl_uninitialized.h (uninitialized_copy(_InputIterator,
- _InputIterator, _ForwardIterator), uninitialized_fill(_ForwardIterator,
- _ForwardIterator, const _Tp&), uninitialized_fill_n(_ForwardIterator,
- _Size, const _Tp&)): Likewise.
- * include/bits/stl_vector.h (vector(_InputIterator, _InputIterator,
- const allocator_type&), assign(_InputIterator, _InputIterator),
- insert(iterator, _InputIterator, _InputIterator)): Use __is_integer.
- * include/debug/debug.h (__valid_range(const _InputIterator&,
- const _InputIterator&)): Use __is_integer.
- * include/ext/slist (assign(_InputIterator, _InputIterator)): Likewise.
- * include/std/std_string.h: Include cpp_type_traits.h instead.
-
-2005-01-30 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/19642
- * config/locale/generic/c_locale.h (__convert_from_v): Switch only
- LC_NUMERIC, and only when actually != "C".
-
-2005-01-28 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits (is_function): Minor consistency tweaks.
-
-2005-01-28 Geoffrey Keating <geoffk@apple.com>
-
- * testsuite/lib/libstdc++.exp (libstdc++_init): Search the path
- for the compiler. Don't set cxxflags.
- (v3_target_compile): Search for libv3test.a relative to $objdir.
- (lsearch_all_inline): New.
- (lsearch_all_inline_not): New.
- (v3-list-tests): Rewrite to not need generated files.
- * testsuite/Makefile.am (IGNORE_WCHAR_T): New.
- (IGNORE_THREAD): New.
- (TESTS_TO_IGNORE): New.
- (site.exp): Set tests_to_ignore, cxxflags.
- * aclocal.m4: Regenerate.
- * Makefile.in: Regenerate.
- * libmath/Makefile.in: Likewise.
- * libsupc++/Makefile.in: Likewise.
- * po/Makefile.in: Likewise.
- * src/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2005-01-28 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: Implement is_empty.
- * testsuite/tr1/4_metaprogramming/type_properties/is_empty/
- is_empty.cc: New.
- * testsuite/tr1/4_metaprogramming/type_properties/is_empty/
- typedefs.cc: Likewise.
-
- * include/tr1/type_traits (__is_abstract_helper): Simplify a bit.
-
-2005-01-28 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: Implement is_abstract, by exploiting the
- resolution of DR core/337.
- * testsuite/testsuite_tr1.h: Add AbstractClass.
- * testsuite/tr1/4_metaprogramming/type_properties/is_abstract/
- is_abstract.cc: New.
- * testsuite/tr1/4_metaprogramming/type_properties/is_abstract/
- typedefs.cc: Likewise.
-
- * include/tr1/type_traits (is_function): Rewrite, use the conversion
- F& -> F* instead, thus avoiding problems with abstract classes.
- * testsuite/tr1/4_metaprogramming/primary_type_categories/
- is_function/is_function.cc: Add a test for tricky AbstractClass.
-
-2005-01-26 Paolo Carlini <pcarlini@suse.de>
-
- * include/ext/mt_allocator.h
- (struct __per_type_pool_policy<,, false>::_S_get_pool,
- struct __per_type_pool_policy<,, true>::_S_get_pool): Scale
- _M_chunk_size too with sizeof(_Tp), otherwise the allocator
- breaks down as soon as sizeof(_Tp) >~ _S_chunk_size / 128;
- reduce to 64 the multiplier for _M_max_bytes (safer wrt
- _Binmap_type being a short); trivial reformattings.
- * testsuite/ext/mt_allocator/check_allocate_big_per_type.cc: New.
-
-2005-01-26 Paolo Carlini <pcarlini@suse.de>
-
- * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Add ac_c99_complex
- to the final test for enable_c99, thus robustifying it; remove
- duplicate final test on ac_99_math.
- * configure: Regenerate.
-
- * include/std/std_complex.h: Remove usages of the dead
- _GLIBCXX_BUGGY_COMPLEX macro.
-
- * testsuite/26_numerics/cmath/19322.cc: Protect with
- _GLIBCXX_USE_C99_MATH instead of the stronger _GLIBCXX_USE_C99,
- since only C99 math facilities are involved.
- * testsuite/26_numerics/cmath/c99_classification_macros_c++.cc:
- Likewise.
-
-2005-01-25 Loren J. Rittle <ljrittle@acm.org>
-
- * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Map FreeBSD to darwin
- instead of generic. Change autoconf report to "darwin or freebsd".
- * configure: Regenerate.
- * config/os/bsd/freebsd/ctype_inline.h (ctype<wchar_t>::do_is): Add.
- (ctype<wchar_t>::do_scan_is): Likewise.
- (ctype<wchar_t>::do_scan_not): Likewise.
-
-2005-01-25 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4 (GLIBCXX_ENABLE_C99): Test for complex math
- functions, and enable _GLIBCXX_USE_C99_COMPLEX_MATH if they exist.
- * acconfig.h: Add _GLIBCXX_USE_C99_COMPLEX_MATH.
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * include/std/std_complex.h: Protect complex builtins with
- _GLIBCXX_USE_C99_COMPLEX_MATH.
-
-2005-01-24 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: Implement is_signed and is_unsigned.
- * testsuite/tr1/4_metaprogramming/type_properties/
- is_signed/is_signed.cc: New.
- * testsuite/tr1/4_metaprogramming/type_properties/
- is_signed/typedefs.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/type_properties/
- is_unsigned/is_unsigned.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/type_properties/
- is_unsigned/typedefs.cc: Likewise.
-
-2005-01-23 Paolo Carlini <pcarlini@suse.de>
-
- * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 34.
-
-2005-01-23 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/27_io/basic_ostream/cons/wchar_t/9827.cc: New.
- * testsuite/27_io/basic_ostream/endl/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_ostream/ends/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_ostream/ends/wchar_t/2.cc: Likewise.
- * testsuite/27_io/basic_ostream/exceptions/wchar_t/9561.cc: Likewise.
- * testsuite/27_io/basic_ostream/flush/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_ostream/flush/wchar_t/2.cc: Likewise.
- * testsuite/27_io/basic_ostream/flush/wchar_t/
- exceptions_badbit_throw.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/
- wchar_t/2.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/
- wchar_t/3.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/
- wchar_t/4.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/
- wchar_t/4402.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/
- wchar_t/5.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/
- wchar_t/6.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/
- wchar_t/9555-oa.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/
- wchar_t/exceptions_badbit_throw.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/
- wchar_t/exceptions_failbit_throw.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_character/
- wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_character/
- wchar_t/2.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_character/
- wchar_t/3.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_character/
- wchar_t/4.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_character/
- wchar_t/5.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_character/
- wchar_t/6.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_character/
- wchar_t/9555-oc.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/
- wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/
- wchar_t/2.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/
- wchar_t/3.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/
- wchar_t/4.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/
- wchar_t/5.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/
- wchar_t/9318-out.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/
- wchar_t/9424-out.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/
- wchar_t/9555-oo.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
- error_failbit.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
- exceptions_badbit_throw.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
- exceptions_failbit_throw.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
- exceptions_null.cc: Likewise.
- * testsuite/27_io/basic_ostream/put/char/1.cc: Likewise.
- * testsuite/27_io/basic_ostream/put/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_ostream/seekp/char/
- exceptions_badbit_throw.cc: Likewise.
- * testsuite/27_io/basic_ostream/seekp/wchar_t/
- 2346-fstream.cc: Likewise.
- * testsuite/27_io/basic_ostream/seekp/wchar_t/
- 2346-sstream.cc: Likewise.
- * testsuite/27_io/basic_ostream/seekp/wchar_t/
- exceptions_badbit_throw.cc: Likewise.
- * testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc: Likewise.
- * testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise.
- * testsuite/27_io/basic_ostream/tellp/wchar_t/2.cc: Likewise.
- * testsuite/27_io/basic_ostream/tellp/wchar_t/
- exceptions_badbit_throw.cc: Likewise.
- * testsuite/27_io/basic_ostream/write/wchar_t/1.cc: Likewise.
-
- * testsuite/data/wostream_inserter_char-1.tst: Likewise.
- * testsuite/data/wostream_inserter_char-1.txt: Likewise.
- * testsuite/data/wostream_inserter_other-1.tst: Likewise.
- * testsuite/data/wostream_inserter_other-2.tst: Likewise.
- * testsuite/data/wostream_seeks-1.tst: Likewise.
-
- * testsuite/27_io/basic_ostream/endl/char/1.cc: Minor tweaks.
- * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise.
- * testsuite/27_io/basic_ostream/exceptions/char/9561.cc: Likewise.
- * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
- * testsuite/27_io/basic_ostream/flush/char/2.cc: Likewise.
- * testsuite/27_io/basic_ostream/flush/char/
- exceptions_badbit_throw.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/
- char/2.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/
- char/3.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/
- char/4.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/
- char/4402.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/
- char/5.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_arithmetic/
- char/6.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_character/
- char/4.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/char/
- 2.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/char/
- 5.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/char/
- error_failbit.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/char/
- exceptions_badbit_throw.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/char/
- exceptions_failbit_throw.cc: Likewise.
- * testsuite/27_io/basic_ostream/inserters_other/char/
- exceptions_null.cc: Likewise.
- * testsuite/27_io/basic_ostream/put/char/1.cc: Likewise.
- * testsuite/27_io/basic_ostream/seekp/char/
- exceptions_badbit_throw.cc: Likewise.
- * testsuite/27_io/basic_ostream/sentry/char/2.cc: Likewise.
- * testsuite/27_io/basic_ostream/write/char/1.cc: Likewise.
-
-2005-01-23 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits (aligned_storage): Use __aligned__ instead
- of aligned.
-
-2005-01-23 Paolo Carlini <pcarlini@suse.de>
- Andreas Jaeger <aj@suse.de>
-
- PR libstdc++/19343
- * include/bits/functexcept.h: Mark the helpers as 'noreturn'.
-
-2005-01-21 Loren J. Rittle <ljrittle@acm.org>
-
- * testsuite/27_io/basic_filebuf/open/char/9507.cc: Allow
- lseek on fifo to succeed. Thus, check for consistent report.
-
-2005-01-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
-
- PR libstdc++/19510
- * include/bits/stl_list.h (_List_iterator): Initialize _M_node
- in constructor.
- (_List_const_iterator): Likewise.
- * include/bits/stl_tree.h (_Rb_tree_iterator): Likewise.
- (_Rb_tree_const_iterator): Likewise.
-
- * testsuite/23_containers/map/operators/1_neg.cc: Adjust line numbers.
+ * docs/html/ext/howto.html: Add an entry for DR 431.
+ * testsuite/23_containers/deque/modifiers/swap.cc: Move to...
+ * testsuite/23_containers/deque/modifiers/swap/1.cc: ... here.
+ * testsuite/23_containers/deque/modifiers/swap/2.cc: New.
+ * testsuite/23_containers/deque/modifiers/swap/3.cc: New.
+ * testsuite/23_containers/list/modifiers/swap.cc: Move to...
+ * testsuite/23_containers/list/modifiers/swap/1.cc: ... here.
+ * testsuite/23_containers/list/modifiers/swap/2.cc: New.
+ * testsuite/23_containers/list/modifiers/swap/3.cc: New.
+ * testsuite/23_containers/vector/modifiers/swap.cc: Move to...
+ * testsuite/23_containers/vector/modifiers/swap/1.cc: ... here.
+ * testsuite/23_containers/vector/modifiers/swap/2.cc: New.
+ * testsuite/23_containers/vector/modifiers/swap/3.cc: New.
+ * testsuite/23_containers/set/modifiers/swap.cc: Move to...
+ * testsuite/23_containers/set/modifiers/swap/1.cc: ... here.
+ * testsuite/23_containers/set/modifiers/swap/2.cc: New.
+ * testsuite/23_containers/set/modifiers/swap/3.cc: New.
+ * testsuite/23_containers/map/modifiers/swap.cc: Move to...
+ * testsuite/23_containers/map/modifiers/swap/1.cc: ... here.
+ * testsuite/23_containers/map/modifiers/swap/2.cc: New.
+ * testsuite/23_containers/map/modifiers/swap/3.cc: New.
+ * testsuite/23_containers/multiset/modifiers/swap.cc: Move to...
+ * testsuite/23_containers/multiset/modifiers/swap/1.cc: ... here.
+ * testsuite/23_containers/multiset/modifiers/swap/2.cc: New.
+ * testsuite/23_containers/multiset/modifiers/swap/3.cc: New.
+ * testsuite/23_containers/multimap/modifiers/swap.cc: Move to...
+ * testsuite/23_containers/multimap/modifiers/swap/1.cc: ... here.
+ * testsuite/23_containers/multimap/modifiers/swap/2.cc: New.
+ * testsuite/23_containers/multimap/modifiers/swap/3.cc: New.
+ * testsuite/tr1/6_containers/unordered/swap/unordered_set/1.cc: New.
+ * testsuite/tr1/6_containers/unordered/swap/unordered_set/2.cc: New.
+ * testsuite/tr1/6_containers/unordered/swap/unordered_map/1.cc: New.
+ * testsuite/tr1/6_containers/unordered/swap/unordered_map/2.cc: New.
+ * testsuite/tr1/6_containers/unordered/swap/unordered_multiset/1.cc: New.
+ * testsuite/tr1/6_containers/unordered/swap/unordered_multiset/2.cc: New.
+ * testsuite/tr1/6_containers/unordered/swap/unordered_multimap/1.cc: New.
+ * testsuite/tr1/6_containers/unordered/swap/unordered_multimap/2.cc: New.
+
+2006-01-03 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/stl_list.h (_List_base<>::_M_get_Node_allocator): Add.
+ (_M_get_Tp_allocator, get_allocator): Tidy.
+ (list<>::list(const list&), insert(iterator, size_type, const
+ value_type&), insert(iterator, _InputIterator, _InputIterator)):
+ Use _M_get_Node_allocator.
+ * include/bits/stl_tree.h (_Rb_tree<>::_M_get_Node_allocator()): Add.
+ (_Rb_tree(const _Rb_tree<>&): Use it.
+ * include/bits/stl_deque.h (_Deque_base<>::_M_get_map_allocator,
+ get_allocator): Tidy.
+ * include/bits/stl_vector.h (_Vector_base<>::get_allocator): Tidy.
+ * testsuite/23_containers/map/operators/1_neg.cc: Adjust dg-error
+ line numbers.
* testsuite/23_containers/set/operators/1_neg.cc: Likewise.
-
-2005-01-20 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/Makefile.am (check-compile): New.
- * testsuite/Makefile.in: Regenerate.
- * scripts/check_compile_time: New.
- * scripts/check_performance: Tweaks.
-
-2005-01-19 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/19535
- * include/tr1/utility (struct __pair_get<1>::__get, __const_get):
- Fix typo in the return type.
- * testsuite/tr1/6_containers/utility/19535.cc: New.
-
-2005-01-19 Loren J. Rittle <ljrittle@acm.org>
-
- * include/ext/array_allocator.h (array_allocator<>::allocate):
- Avoid __used. Use __array_used instead.
- * docs/html/17_intro/BADNAMES: Add list for FreeBSD.
-
-2005-01-18 David Edelsohn <edelsohn@gnu.org>
-
- * config/os/aix/os_defines.h (_XOPEN_SOURCE): Delete.
- (_XOPEN_SOURCE_EXTENDED): Delete.
-
-2005-01-18 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/testsuite_performance.h (time_counter::start):
- Clear. Tweaks.
- (clear_counters): Inline.
- (start_counters): Inline.
- (stop_counters): Inline.
- * testsuite/performance/20_util/allocator/map_thread.cc: Return.
- * testsuite/performance/20_util/allocator/insert.cc: Remove bogus
- return, add return.
- * testsuite/performance/20_util/allocator/map_thread.cc: Same.
-
-2005-01-17 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/19433
- * include/bits/stl_tree.h (_Rb_tree<>::insert_unique(iterator,
- const _Val&), _Rb_tree<>::insert_equal(iterator, const _Val&)):
- Obtain amortized constant complexity if t is inserted right after
- p - not before p - as per Table 69.
- * testsuite/performance/23_containers/set_insert_from_sorted.cc: New.
-
- * testsuite/23_containers/multiset/insert/2.cc: New.
- * testsuite/23_containers/set/insert/1.cc: Likewise.
-
- * testsuite/performance/23_containers/set_create_from_sorted.cc:
- Simplify.
-
- * include/bits/stl_tree.h: Add a few missing std:: qualifications.
-
-2005-01-16 Jonathan Wakely <redi@gcc.gnu.org>
-
- * include/ext/rope: Qualify calls to std::copy() by sequence_buffer.
- * testsuite/ext/rope/4.cc: Add.
-
-2005-01-16 Lorenz Minder <lminder@gmx.net>
- Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/19322
- * include/c_std/std_cmath.h: Define the C99 classification facilities
- directly inside namespace std:.
- * testsuite/26_numerics/cmath/19322.cc: New.
-
-2005-01-15 David Edelsohn <edelsohn@gnu.org>
-
- * config/os/aix/os_defines.h (_G_USING_THUNKS): Delete.
-
-2005-01-14 Paolo Carlini <pcarlini@suse.de>
-
- PR libstdc++/19422
- * include/bits/stl_tree.h (_Rb_tree<>::insert_equal(_II, _II),
- _Rb_tree<>::insert_unique(_II, _II)): Use insert_equal (insert_unique,
- respectively) with hint (end()).
- * testsuite/performance/23_containers/set_create_from_sorted.cc: New.
-
-2005-01-13 Geoffrey Keating <geoffk@apple.com>
-
- * configure.host (darwin): On darwin8 or later, no need to build
- libstdc++ with -flat_namespace.
-
-2005-01-13 Jonathan Wakely <redi@gcc.gnu.org>
-
- * docs/doxygen/user.cfg.in: Set HAVE_DOT back to YES.
-
-2005-01-13 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/26_numerics/cmath/c99_classification_macros_c++.cc:
- Re-enable commented-out test for double type.
-
-2005-01-11 Paolo Carlini <pcarlini@suse.de>
- Benjamin Kosnik <bkoz@redhat.com>
-
- * src/istream.cc (basic_istream<char>::ignore(streamsize),
- basic_istream<char>::ignore(streamsize, int_type),
- basic_istream<wchar_t>::ignore(streamsize),
- basic_istream<wchar_t>::ignore(streamsize, int_type)): In case
- more than numeric_limits<streamsize>::max() chars are skipped,
- set _M_gcount = max().
- * include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
- int_type)): Likewise; keep simple, don't forward.
-
-2005-01-11 Paolo Carlini <pcarlini@suse.de>
-
- * src/istream.cc (basic_istream<char>::ignore(streamsize),
- basic_istream<char>::ignore(streamsize, int_type),
- basic_istream<wchar_t>::ignore(streamsize),
- basic_istream<wchar_t>::ignore(streamsize, int_type)): Revert
- 2005-01-05 change: actually, the previous behavior is conforming
- and consistent with that of get(char_type*, streamsize, char_type),
- albeit slightly different from that of 3.3/3.4 in a corner case
- due to the use of snextc.
- * include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
- int_type)): Likewise.
- * testsuite/27_io/basic_istream/ignore/char/4.cc: Remove.
- * testsuite/27_io/basic_istream/ignore/wchar_t/4.cc: Likewise.
-
-2005-01-11 Paolo Carlini <pcarlini@suse.de>
-
- * include/tr1/type_traits: Implement alignment_of and aligned_storage.
- * testsuite/tr1/4_metaprogramming/other_transformations/
- aligned_storage/aligned_storage.cc: New.
- * testsuite/tr1/4_metaprogramming/other_transformations/
- aligned_storage/typedefs.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/type_properties/
- alignment_of/alignment_of.cc: Likewise.
- * testsuite/tr1/4_metaprogramming/type_properties/
- alignment_of/typedefs.cc: Likewise.
-
-2005-01-10 Paolo Carlini <pcarlini@suse.de>
-
- * Makefile.in: Regenerate.
- * libmath/Makefile.in: Likewise.
- * libsupc++/Makefile.in: Likewise.
- * po/Makefile.in: Likewise.
- * src/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2005-01-10 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/stl_algobase.h (lexicographical_compare):
- Fix concept check.
-
-2005-01-07 Benjamin Kosnik <bkoz@redhat.com>
-
- * acinclude.m4: Remove CCODECVT_H.
- * configure: Regenerate.
- * include/Makefile.am (host_headers_extra): Move to...
- (ext_headers): ...here.
- * include/Makefile.in: Regenerate.
- * include/ext/enc_filebuf: Remove enc_filebuf, consolidate
- enc_traits to...
- * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Move...
- * include/ext/codecvt_specializations.h: ...here. Remove
- _GLIBCXX_USE___ENC_TRAITS.
- (__enc_traits): To __encoding_state, put in __gnu_cxx namespace.
- (enc_char_traits): To __encoding_char_traits, put in __gnu_cxx
- namespace.
- * config/locale/generic/codecvt_specializations.h: Remove.
- * include/bits/codecvt.h: Remove codecvt_specializations.h include.
- * src/codecvt.cc: Remove __enc_traits::_S_max_size.
-
-2005-01-06 Benjamin Kosnik <bkoz@redhat.com>
-
- * include/bits/fstream.tcc: Remove unnecessary qualifications for
- uglified data members of basic_filebuf, including _M_buf,
- _M_buf_size, _M_mode, _M_pback_init.
- * include/std/std_fstream.h: Same.
-
-2005-01-05 Benjamin Kosnik <bkoz@redhat.com>
-
- * testsuite/testsuite_hooks.h:
- (copy_constructor::mark_call): Use __throw_runtime_error.
- (assignment_operator::mark_call): Same.
- * testsuite/testsuite_hooks.cc (verify_demangle): Same.
- (locale_data): Remove, just use runtime_error directly.
- (environment_variable): Same.
- (not_found): Same.
- (run_tests_wrapped_locale): Use __throw_runtime_error.
- (run_tests_wrapped_env): Same.
- (semaphore::semaphore): Same.
- (semaphore::signal): Same.
- (semaphore::wait): Same.
- * testsuite/testsuite_abi.h (symbol_error): Remove, use logic_error.
- * testsuite/testsuite_abi.cc (get_symbol): Use __throw_logic_error.
- (create_symbols): Use __throw_runtime_error.
- * src/bitmap_allocator.cc: Use __throw_bad_alloc.
-
-2005-01-05 Mark Mitchell <mark@codesourcery.com>
-
- * testsuite/27_io/basic_filebuf/open/char/9507.cc: Remove child
- process.
-
-2005-01-05 Paolo Carlini <pcarlini@suse.de>
-
- * src/istream.cc (basic_istream<char>::ignore(streamsize),
- basic_istream<char>::ignore(streamsize, int_type),
- basic_istream<wchar_t>::ignore(streamsize),
- basic_istream<wchar_t>::ignore(streamsize, int_type)): At the end,
- first check _M_gcount vs __n.
- * include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
- int_type)): Likewise.
- * testsuite/27_io/basic_istream/ignore/char/4.cc: New.
- * testsuite/27_io/basic_istream/ignore/wchar_t/4.cc: Likewise.
-
-2005-01-03 Mark Mitchell <mark@codesourcery.com>
-
- * testsuite/testsuite_hooks.cc: Use __throw_exception_again
- instead of just throw.
-
- * testsuite/testsuite_hooks.cc: Update coypright and follow style
- guidelines.
- * testsuite/testsuite_hooks.h: Likewise.
- * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use
- semaphores, not sleep.
- * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc:
- Likewise.
- * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
- * 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: Likewise.
- * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
- * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
-
- * configure.ac: Check for sys/ipc.h and sys/sem.h.
- * config.h.in: Regenerated.
- * configure: Likewise.
- * testsuite/testsuite_hooks.cc (_GLIBCXX_SYSV_SEM): Conditionally
- define.
- (sys/types.h): Include.
- (sys/ipc.h): Likewise.
- (sys/sem.h): Likewise.
- (__gnu_test::semun): New type.
- (__gnu_test::semaphore::sempaphore): New function.
- (__gnu_test::semaphore::~semaphore): Likewise.
- (__gnu_test::semaphore::wait): Likewise.
- (__gnu_test::semaphore::signal): Likewise.
- * testsuite/testsuite_hooks.h (__gnu_test::semaphore): New class.
- * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use
- semaphores, not sleep.
- * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
- * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc:
- Likewise.
- * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
- * 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: Likewise.
- * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
- * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
-
-2005-01-03 Paolo Carlini <pcarlini@suse.de>
-
- * include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
- int_type)): Reset _M_gcount to numeric_limits<streamsize>::min().
- * src/istream.cc (basic_istream<char>::ignore(streamsize, int_type),
- basic_istream<wchar_t>::ignore(streamsize, int_type)): Likewise.
- * src/istream.cc (basic_istream<char>::ignore(streamsize),
- basic_istream<wchar_t>::ignore(streamsize)): Likewise; fix a typo.
-
-2005-01-02 Paolo Carlini <pcarlini@suse.de>
-
- * src/istream.cc (basic_istream<char>::ignore(streamsize),
- basic_istream<char>::ignore(streamsize, int_type),
- basic_istream<wchar_t>::ignore(streamsize),
- basic_istream<wchar_t>::ignore(streamsize, int_type)): Avoid
- _M_gcount overflows.
- * include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
- int_type)): Likewise; use snextc in the main loop, consistently
- with the specializations above.
-
-2005-01-02 Chris Jefferson <chris@bubblescope.net>
-
- * include/bits/stl_algobase.h (mismatch): Correct concept check.
-
-2005-01-01 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/ext/enc_filebuf/char/13189.cc: Fix, first include
- testsuite_hooks.h, to know whether including ext/enc_filebuf.h.
- * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
-
-2005-01-01 Paolo Carlini <pcarlini@suse.de>
-
- * testsuite/27_io/basic_istream/extractors_character/char/1.cc: Fix,
- null-terminate array1 at the outset.
- * testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc:
- Likewise.
+
+ * testsuite/testsuite_allocator.h (uneq_allocator<>::swap): Fix.
+
+ * testsuite/testsuite_allocator.h (class uneq_allocator): A simple
+ non-empty testing allocator which can be endowed of a "personality"
+ at construction time.
+
+2006-01-03 Paolo Carlini <pcarlini@suse.de>
+
+ * testsuite/27_io/basic_stringstream/str/char/1.cc: Initialize vars.
+ * testsuite/27_io/basic_stringstream/str/wchar_t/1.cc: Likewise.
+ * testsuite/27_io/basic_istringstream/str/char/1.cc: Likewise, tidy.
+ * testsuite/27_io/basic_istringstream/str/wchar_t/1.cc: Likewise.
+
+2006-01-02 Mark Mitchell <mark@codesourcery.com>
+
+ * src/Makefile.am (LTLDFLAGS): New variable.
+ (CXXLINK): Use LTLDFLAGS.
+ * src/Makefile.in: Regenerated.
+ * libsupc++/Makefile.am (LTLDFLAGS): New variable.
+ (CXXLINK): Use LTLDFLAGS.
+ * libsupc++/Makefile.in: Regenerated.
+
+2006-01-02 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/24645
+ * include/std/std_istream.h (basic_istream<>::_M_extract): New.
+ (operator>>(bool&), operator>>(short&), operator>>(unsigned short&),
+ operator>>(int&), operator>>(unsigned int&), operator>>(long&),
+ operator>>(unsigned long&), operator>>(long long&), operator>>
+ (unsigned long long&), operator>>(float&), operator>>(double&),
+ operator>>(long double&), operator>>(void*&)): Use it.
+ * include/bits/istream.tcc (basic_istream<>::_M_extract): Define.
+ * include/std/std_ostream.h (basic_ostream<>::_M_insert): New.
+ (operator<<(long), operator<<(unsigned long), operator<<(bool),
+ operator<<(short), operator<<(unsigned short), operator<<(int),
+ operator<<(unsigned int), operator<<(long long), operator<<
+ (unsigned long long), operator<<(double), operator<<(float),
+ operator<<(long double), operator<<(const void*): Use it.
+ * include/bits/ostream.tcc (basic_ostream<>::_M_insert): Define.
+ * src/istream-inst.cc: Add _M_extract instantiations.
+ * src/ostream-inst.cc: Add _M_insert instantiations.
+ * config/abi/pre/gnu.ver: Export the new symbols @GLIBCXX_3.4.7;
+ detail existing @GLIBCXX_3.4 exports of basic_ostream, num_put,
+ money_put, etc., symbols to avoid exporting _M_insert symbols
+ @GLIBCXX_3.4.
diff --git a/libstdc++-v3/ChangeLog-2005 b/libstdc++-v3/ChangeLog-2005
new file mode 100644
index 00000000000..ef546e60d77
--- /dev/null
+++ b/libstdc++-v3/ChangeLog-2005
@@ -0,0 +1,5468 @@
+2005-12-28 Paolo Carlini <pcarlini@suse.de>
+
+ * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 40.
+
+2005-12-28 Chris Jefferson <chris@bubblescope.net>
+
+ * testsuite/testsuite_allocator.h (check_deallocate_null): Return true.
+
+2005-12-28 Paolo Carlini <pcarlini@suse.de>
+
+ * include/std/std_bitset.h (bitset<>::_M_copy_from_string,
+ bitset<>::_M_copy_to_string, bitset<>::operator>>): Reverse loop.
+
+ * testsuite/25_algorithms/heap/heap.cc (test01): Always enable
+ complexity checks.
+ * testsuite/18_support/numeric_limits/specialization.cc: Avoid
+ unused parameter warning.
+ * testsuite/18_support/numeric_limits/traps.cc: Acoid unused variable
+ warning.
+ * testsuite/ext/malloc_allocator/deallocate_global.cc: Fix format
+ string.
+ * testsuite/ext/malloc_allocator/deallocate_local.cc: Likewise.
+ * testsuite/ext/array_allocator/2.cc: Remove unused variable.
+ * testsuite/tr1/3_function_objects/mem_fn.cc: Avoid unused variable
+ warnings.
+ * testsuite/tr1/6_containers/unordered/instantiate/set.cc: Just
+ instantiate.
+ * testsuite/tr1/6_containers/unordered/instantiate/map.cc: Likewise.
+ * testsuite/tr1/6_containers/unordered/instantiate/hash.cc: Likewise.
+ * testsuite/tr1/6_containers/unordered/instantiate/multiset.cc:
+ Likewise.
+ * testsuite/tr1/6_containers/unordered/instantiate/multimap.cc:
+ Likewise.
+ * testsuite/tr1/6_containers/array/cons/aggregate_initialization.cc:
+ Avoid unused variable warnings.
+ * testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc:
+ Likewise.
+ * testsuite/thread/18185.cc: Likewise.
+ * testsuite/27_io/ios_base/storage/11584.cc: Likewise; avoid comparison
+ between signed and unsigned warning.
+ * testsuite/27_io/types/1.cc: Avoid unused variable warnings.
+ * testsuite/testsuite_allocator.h (check_new): Likewise.
+ (check_deallocate_null): Adjust return type.
+ * testsuite/testsuite_hooks.h (bitmask_operators): Avoid unused
+ variable warnings.
+ * testsuite/21_strings/c_strings/wchar_t/24559.cc: Avoid unused
+ variable warning.
+
+2005-12-28 Chris Jefferson <chris@bubblescope.net>
+
+ * include/std/std_bitset.h (bitset<0>::set, bitset<0>::reset,
+ bitset<0>::flip, bitset<0>::test): Add inline specializations for
+ bitset<0>.
+
+ * testsuite/tr1/6_containers/unordered/insert/multiset_range.cc
+ (test01): Add static cast.
+ * testsuite/tr1/6_containers/unordered/insert/set_range.cc
+ (test01): Likewise.
+ * testsuite/testsuite_hooks.h (operator==(NonDefaultConstructible,
+ NonDefaultConstructible), operator<(NonDefaultConstructible,
+ NonDefaultConstrictible)): Avoid unused parameter warning.
+
+2005-12-26 Chris Jefferson <chris@bubblescope.net>
+
+ * include/ext/mt_allocator.h (__mt_alloc::__mt_alloc): Remove
+ name of unused parameter.
+ * include/bits/stream_iterator.h (istream_iterator::istream_iterator):
+ Construct _M_value.
+ * include/debug/functions.h (__check_valid_range): Add
+ __attribute__((unused)).
+ * include/tr1/hashtable (hashtable::end): Remove name of unused
+ parameter.
+ * include/tr1/tuple_iterate.h (tuple::tuple): Likewise.
+ (tuple::operator=): Add __attribute__((unused)).
+ * include/tr1/functional (Fnv_hash<4>::hash): Add static_cast.
+ (Fnv_hash<8>::hash): Likewise.
+
+ * testsuite/25_algorithms/iter_swap/20577.cc (swap): Remove name of
+ unused parameter.
+ * testsuite/25_algorithms/unique_copy/check_type.cc (S2::S2,X2::X2):
+ Likewise.
+ * testsuite/22_locale/ctype/narrow/char/19955.cc (do_narrow): Likewise.
+ * testsuite/22_locale/ctype/is/char/9858.cc (Derived::do_is,
+ Derived::do_scan_is, Derived::do_scan_not, Derived2::do_is,
+ Derived2::do_scan_is, Derived2::do_scan_not): Likewise.
+ * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc (TP::do_put):
+ Likewise.
+ * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc (TP::do_put):
+ Likewise.
+ * testsuite/22_locale/time_put/put/char/12439_1.cc (TP::do_put):
+ Likewise.
+ * testsuite/22_locale/time_put/put/char/12439_3.cc (TP::do_put):
+ Likewise.
+ * testsuite/testsuite_io.h (fail_num_get::do_get, fail_num_put::do_put):
+ Likewise.
+ * testsuite/25_algorithms/find/17441.cc (find): Likewise.
+ * testsuite/23_containers/vector/cons/clear_allocator.cc
+ (clear_alloc::clear_alloc): Likewise.
+ * testsuite/23_containers/vector/bool/clear_allocator.cc
+ (clear_alloc::clear_alloc): Likewise.
+ * testsuite/23_containers/list/cons/clear_allocator.cc
+ (clear_alloc::clear_alloc): Likewise.
+ * testsuite/23_containers/set/modifiers/16728.cc (test_container):
+ Likewise.
+ * testsuite/27_io/basic_ios/cons/char/3.cc (char_traits::to_char_type,
+ to_int_type): Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/12206.cc (codecvt::do_out, do_in,
+ do_unshift, do_length): Likewise.
+ * testsuite/21_strings/basic_string/capacity/1.cc
+ (operator==(A<T>,A<T>), operator<(A<T>,A<T>),
+ char_traits::to_char_type, char_traits::to_int_type): Likewise
+ * testsuite/testsuite_character.h (ctype::do_is, ctype::do_scan_is,
+ ctype::do_scan_not, do_toupper, do_tolower): Likewise.
+ * testsuite/25_algorithms/replace_copy/check_type.cc (Z::operator=):
+ Add missing return statement.
+ * testsuite/25_algorithms/replace_copy_if/check_type.cc (Z::operator=):
+ Likewise.
+ * testsuite/testsuite_iterators.h (output_iterator_wrapper::operator=,
+ random_access_iterator_wrapper::operator==): Likewise.
+ * testsuite/20_util/functional/binders/1.cc (s::f_int_int_const,
+ s::f_int_int, s::f_int_void_const, s::f_int_void): Likewise.
+ * testsuite/27_io/types/1.cc (test01): Likewise.
+ * testsuite/27_io/basic_ostream/write/wchar_t/1.cc (test01): Likewise.
+ * testsuite/27_io/basic_ostream/write/char/1.cc (test01): Likewise.
+ * testsuite/21_strings/c_strings/wchar_t/24559.cc (main): Likewise.
+ * testsuite/27_io/basic_istream/ignore/wchar_t/2.cc (check): Add static
+ cast.
+ * testsuite/27_io/basic_istream/ignore/char/2.cc (check): Likewise.
+ * testsuite/27_io/basic_istream/getline/wchar_t/5.cc (check): Likewise.
+ * testsuite/27_io/basic_istream/getline/char/5.cc (check): Likewise.
+ * testsuite/testsuite_allocator.h (check_new): Likewise.
+ (check_deallocate_null): Add missing return value.
+ * testsuite/ext/pool_allocator/allocate_chunk.cc (test01):
+ Make variable unsigned.
+ * testsuite/23_containers/vector/modifiers/erase/1.cc (N,N1,N2,N3,N4,
+ N5,test01): Likewise.
+ * testsuite/26_numerics/valarray/valarray_subset_assignment.cc
+ (check_array): Likewise.
+ (main): Removed unused variable.
+ * testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc (test05):
+ Removed unused variable.
+ * testsuite/27_io/basic_ostream/flush/wchar_t/1.cc (test01): Likewise.
+ * testsuite/27_io/basic_ostream/flush/char/1.cc (test01): Likewise.
+ * testsuite/27_io/basic_ostream/endl/wchar_t/1.cc (test01): Likewise.
+ * testsuite/27_io/basic_ostream/endl/char/1.cc (test01): Likewise.
+ * testsuite/27_io/basic_ostream/ends/wchar_t/1.cc (test01): Likewise.
+ * testsuite/27_io/basic_ostream/ends/char/1.cc (test01): Likewise.
+ * testsuite/tr1/2_general_utilities/memory/shared_ptr/
+ assign/shared_ptr.cc (test01): Correct return type.
+ * testsuite/27_io/basic_filebuf/close/char/2.cc (test_02):
+ Add default value to close_num.
+
+2005-12-24 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/stl_algobase.h (fill(const _Deque_iterator&,
+ const _Deque_iterator&, const _Tp&)): Deal, correctly, only
+ with iterators (leave const_iterators alone).
+
+2005-12-24 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/stl_algobase.h (fill(const _Deque_iterator<>&,
+ const _Deque_iterator<>&, const _Tp&)): Add.
+
+ * testsuite/23_containers/deque/cons/assign/1.cc: New.
+
+2005-12-19 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/stl_deque.h (deque<>::resize, _M_fill_assign):
+ Avoid troubles with ADL, user defined operators and _Deque_iterator.
+ (operator-(const _Deque_iterator<>&, const _Deque_iterator<>&):
+ Add overload for left and right iterators of the same type.
+ * include/bits/deque.tcc (erase(iterator)): Avoid troubles with ADL,
+ user defined operators and _Deque_iterator.
+ * testsuite/23_containers/deque/types/1.cc: Add.
+
+ * include/bits/deque.tcc (_M_insert_aux(iterator, size_type,
+ const value_type&)): Qualify with std:: fill call.
+
+2005-12-18 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/bits/c++config: Add in revised namespace associations.
+ _GLIBCXX_BEGIN_NAMESPACE: New macro.
+ _GLIBCXX_END_NAMESPACE: Same.
+ _GLIBCXX_BEGIN_NESTED_NAMESPACE: Same.
+ _GLIBCXX_END_NESTED_NAMESPACE: Same.
+ * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS]): Add gnu-versioned-namespace.
+ * configure: Regenerated.
+ * config.h.in: Same.
+ * config/abi/pre/gnu-versioned-namespace.ver: New.
+ * config/abi/pre/gnu.ver (GLIBCXX_3.4.7): Add exports for nested
+ debug mode items.
+ * include/Makefile.am (${host_builddir}/c++config.h): Fill in
+ values for __GLIBCXX__ and _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION.
+ * include/Makefile.in: Regnerate.
+ * src/compatibility.cc: Alias new, nested definitions to exported
+ symbols from non-nested __gnu_debug.
+ * src/Makefile.am: Add in ENABLE_SYMVERS_GNU_NAMESPACE.
+ * src/Makefile.in: Regenerate.
+
+ * docs/html/debug_mode.html: Revise for nested design.
+ * docs/html/debug.html: Use debug qualifications instead of
+ __gnu_debug.
+ * docs/html/configopts.html: Revise documentation for
+ --enable-symvers.
+
+ * include/debug/formatter: Simplify namespace qualifications for
+ current, nested-only reality. Add top-level namespace alias,
+ namespace debug, for debug-mode containers.
+ * include/debug/safe_iterator.h: Same.
+ * include/debug/set.h: Same.
+ * include/debug/hash_multimap.h: Same.
+ * include/debug/hash_set.h: Same.
+ * include/debug/bitset
+ * include/debug/safe_sequence.h: Same.
+ * include/debug/multiset.h: Same.
+ * include/debug/safe_base.h: Same.
+ * include/debug/functions.h: Same.
+ * include/debug/safe_iterator.tcc
+ * include/debug/hash_multiset.h: Same.
+ * include/debug/vector
+ * include/debug/map.h: Same.
+ * include/debug/deque
+ * include/debug/hash_map.h: Same.
+ * include/debug/string
+ * include/debug/macros.h: Same.
+ * include/debug/list
+ * include/debug/debug.h: Same.
+ * include/debug/multimap.h: Same.
+ * src/debug.cc: Same.
+ * testsuite/23_containers/vector/invalidation/1.cc: Cleanups.
+ * testsuite/23_containers/vector/invalidation/2.cc: Same.
+ * testsuite/23_containers/vector/invalidation/3.cc: Same.
+ * testsuite/23_containers/vector/invalidation/4.cc: Same.
+ * testsuite/23_containers/deque/invalidation/1.cc: Same.
+ * testsuite/23_containers/deque/invalidation/2.cc: Same.
+ * testsuite/23_containers/deque/invalidation/3.cc: Same.
+ * testsuite/23_containers/deque/invalidation/4.cc: Same.
+ * testsuite/23_containers/multiset/invalidation/1.cc: Same.
+ * testsuite/23_containers/multiset/invalidation/2.cc: Same.
+ * testsuite/23_containers/multimap/invalidation/1.cc: Same.
+ * testsuite/23_containers/multimap/invalidation/2.cc: Same.
+ * testsuite/23_containers/bitset/invalidation/1.cc: Same.
+ * testsuite/23_containers/bitset/cons/16020.cc: Same.
+ * testsuite/23_containers/bitset/operations/13838.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/set/invalidation/1.cc: Same.
+ * testsuite/23_containers/set/invalidation/2.cc: Same.
+ * testsuite/23_containers/map/invalidation/1.cc: Same.
+ * testsuite/23_containers/map/invalidation/2.cc: Same.
+ * testsuite/23_containers/map/insert/16813.cc: Same.
+
+ * include/bits/basic_ios.h: Use _GLIBCXX_BEGIN_NAMESPACE(std) and
+ friends.
+ * include/bits/stl_list.h: Same.
+ * include/bits/stl_map.h: Same.
+ * include/bits/stl_algobase.h: Same.
+ * include/bits/localefwd.h: Same.
+ * include/bits/valarray_array.tcc: Same.
+ * include/bits/valarray_after.h: Same.
+ * include/bits/gslice_array.h: Same.
+ * include/bits/stl_queue.h: Same.
+ * include/bits/gslice.h: Same.
+ * include/bits/locale_facets.tcc: Same.
+ * include/bits/locale_classes.h: Same.
+ * include/bits/stl_set.h: Same.
+ * include/bits/locale_facets.h: Same.
+ * include/bits/stl_stack.h: Same.
+ * include/bits/stl_iterator_base_types.h: Same.
+ * include/bits/stl_heap.h: Same.
+ * include/bits/indirect_array.h: Same.
+ * include/bits/atomicity.h: Same.
+ * include/bits/stream_iterator.h: Same.
+ * include/bits/concurrence.h: Same.
+ * include/bits/basic_string.h: Same.
+ * include/bits/stl_multimap.h: Same.
+ * include/bits/stl_pair.h: Same.
+ * include/bits/basic_ios.tcc: Same.
+ * include/bits/stl_raw_storage_iter.h: Same.
+ * include/bits/stl_vector.h: Same.
+ * include/bits/stl_numeric.h: Same.
+ * include/bits/ios_base.h: Same.
+ * include/bits/stl_deque.h: Same.
+ * include/bits/istream.tcc: Same.
+ * include/bits/postypes.h: Same.
+ * include/bits/stl_multiset.h: Same.
+ * include/bits/mask_array.h: Same.
+ * include/bits/stl_uninitialized.h: Same.
+ * include/bits/ostream.tcc: Same.
+ * include/bits/slice_array.h: Same.
+ * include/bits/boost_concept_check.h: Same.
+ * include/bits/sstream.tcc: Same.
+ * include/bits/stl_iterator_base_funcs.h: Same.
+ * include/bits/char_traits.h: Same.
+ * include/bits/stl_algo.h: Same.
+ * include/bits/stringfwd.h: Same.
+ * include/bits/c++config
+ * include/bits/stl_iterator.h: Same.
+ * include/bits/valarray_array.h: Same.
+ * include/bits/stl_tempbuf.h: Same.
+ * include/bits/vector.tcc: Same.
+ * include/bits/deque.tcc: Same.
+ * include/bits/stl_bvector.h: Same.
+ * include/bits/basic_string.tcc: Same.
+ * include/bits/list.tcc: Same.
+ * include/bits/streambuf_iterator.h: Same.
+ * include/bits/valarray_before.h: Same.
+ * include/bits/stl_construct.h: Same.
+ * include/bits/stl_function.h: Same.
+ * include/bits/cpp_type_traits.h: Same.
+ * include/bits/streambuf.tcc: Same.
+ * include/bits/allocator.h: Same.
+ * include/bits/stl_tree.h: Same.
+ * include/bits/fstream.tcc: Same.
+ * include/bits/stl_relops.h: Same.
+ * include/bits/functexcept.h: Same.
+ * include/std/std_valarray.h: Same.
+ * include/std/std_iostream.h: Same.
+ * include/std/std_streambuf.h: Same.
+ * include/std/std_bitset.h: Same.
+ * include/std/std_iosfwd.h: Same.
+ * include/std/std_iomanip.h: Same.
+ * include/std/std_fstream.h: Same.
+ * include/std/std_limits.h: Same.
+ * include/std/std_stdexcept.h: Same.
+ * include/std/std_istream.h: Same.
+ * include/std/std_complex.h: Same.
+ * include/std/std_memory.h: Same.
+ * include/std/std_ostream.h: Same.
+ * include/std/std_sstream.h: Same.
+ * include/c_std/std_csignal.h: Same.
+ * include/c_std/std_cstdlib.h: Same.
+ * include/c_std/std_cstdio.h: Same.
+ * include/c_std/std_cstdarg.h: Same.
+ * include/c_std/std_cctype.h: Same.
+ * include/c_std/std_cmath.h: Same.
+ * include/c_std/std_ctime.h: Same.
+ * include/c_std/std_clocale.h: Same.
+ * include/c_std/std_csetjmp.h: Same.
+ * include/c_std/std_cwchar.h: Same.
+ * include/c_std/std_cstring.h: Same.
+ * include/c_std/std_cstddef.h: Same.
+ * include/c_std/std_cwctype.h: Same.
+ * include/backward/iterator.h: Same.
+ * include/backward/set.h: Same.
+ * include/backward/hashtable.h: Same.
+ * include/backward/fstream.h: Same.
+ * include/backward/tempbuf.h: Same.
+ * include/backward/istream.h: Same.
+ * include/backward/bvector.h: Same.
+ * include/backward/stack.h: Same.
+ * include/backward/rope.h: Same.
+ * include/backward/complex.h: Same.
+ * include/backward/ostream.h: Same.
+ * include/backward/heap.h: Same.
+ * include/backward/iostream.h: Same.
+ * include/backward/function.h: Same.
+ * include/backward/multimap.h: Same.
+ * include/backward/pair.h: Same.
+ * include/backward/stream.h: Same.
+ * include/backward/iomanip.h: Same.
+ * include/backward/strstream
+ * include/backward/slist.h: Same.
+ * include/backward/tree.h: Same.
+ * include/backward/vector.h: Same.
+ * include/backward/deque.h: Same.
+ * include/backward/multiset.h: Same.
+ * include/backward/list.h: Same.
+ * include/backward/map.h: Same.
+ * include/backward/algobase.h: Same.
+ * include/backward/hash_map.h: Same.
+ * include/backward/algo.h: Same.
+ * include/backward/queue.h: Same.
+ * include/backward/streambuf.h: Same.
+ * src/allocator-inst.cc: Same.
+ * src/complex_io.cc: Same.
+ * src/localename.cc: Same.
+ * src/limits.cc: Same.
+ * src/ios_failure.cc: Same.
+ * src/locale-misc-inst.cc: Same.
+ * src/streambuf-inst.cc: Same.
+ * src/misc-inst.cc: Same.
+ * src/concept-inst.cc: Same.
+ * src/ios_locale.cc: Same.
+ * src/pool_allocator.cc: Same.
+ * src/fstream-inst.cc: Same.
+ * src/istream-inst.cc: Same.
+ * src/string-inst.cc: Same.
+ * src/locale_init.cc: Same.
+ * src/ctype.cc: Same.
+ * src/strstream.cc: Same.
+ * src/ostream-inst.cc: Same.
+ * src/functexcept.cc: Same.
+ * src/streambuf.cc: Same.
+ * src/sstream-inst.cc: Same.
+ * src/ios.cc: Same.
+ * src/valarray-inst.cc: Same.
+ * src/locale.cc: Same.
+ * src/tree.cc: Same.
+ * src/stdexcept.cc: Same.
+ * src/istream.cc: Same.
+ * src/compatibility.cc: Same.
+ * src/locale-inst.cc: Same.
+ * src/globals_io.cc: Same.
+ * src/list.cc: Same.
+ * src/ios_init.cc: Same.
+ * src/locale_facets.cc: Same.
+ * src/codecvt.cc: Same.
+
+ * include/tr1/unordered_map: Use _GLIBCXX_BEGIN_NAMESPACE(tr1).
+ * include/tr1/boost_shared_ptr.h: Same.
+ * include/tr1/tuple
+ * include/tr1/hashtable
+ * include/tr1/type_traits_fwd.h: Same.
+ * include/tr1/unordered_set
+ * include/tr1/functional
+ * include/tr1/ref_fwd.h: Same.
+ * include/tr1/utility
+ * include/tr1/type_traits
+ * include/tr1/array
+
+ * include/ext/hashtable.h: Use _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx).
+ * include/ext/typelist.h: Same.
+ * include/ext/hash_map: Same.
+ * include/ext/rc_string_base.h: Same.
+ * include/ext/pool_allocator.h: Same.
+ * include/ext/iterator: Same.
+ * include/ext/rb_tree: Same.
+ * include/ext/numeric: Same.
+ * include/ext/vstring.tcc: Same.
+ * include/ext/sso_string_base.h: Same.
+ * include/ext/stdio_filebuf.h: Same.
+ * include/ext/algorithm: Same.
+ * include/ext/codecvt_specializations.h: Same.
+ * include/ext/new_allocator.h: Same.
+ * include/ext/array_allocator.h: Same.
+ * include/ext/vstring_util.h: Same.
+ * include/ext/vstring_fwd.h: Same.
+ * include/ext/mt_allocator.h: Same.
+ * include/ext/debug_allocator.h: Same.
+ * include/ext/slist: Same.
+ * include/ext/stdio_sync_filebuf.h: Same.
+ * include/ext/hash_fun.h: Same.
+ * include/ext/malloc_allocator.h: Same.
+ * include/ext/functional: Same.
+ * include/ext/bitmap_allocator.h: Same.
+ * include/ext/pod_char_traits.h: Same.
+ * include/ext/vstring.h: Same.
+ * include/ext/ropeimpl.h: Same.
+ * include/ext/hash_set: Same.
+ * include/ext/memory: Same.
+ * include/ext/rope: Same.
+ * include/bits/boost_concept_check.h: Same.
+ * include/bits/stl_iterator.h: Same.
+ * include/bits/char_traits.h: Same.
+ * include/bits/cpp_type_traits.h: Same.
+ * include/bits/concurrence.h: Same.
+ * include/bits/atomicity.h: Same.
+ * config/locale/gnu/numeric_members.cc: Same.
+ * config/locale/gnu/collate_members.cc: Same.
+ * config/locale/gnu/ctype_members.cc: Same.
+ * config/locale/gnu/c_locale.cc: Same.
+ * config/locale/gnu/codecvt_members.cc: Same.
+ * config/locale/gnu/messages_members.cc: Same.
+ * config/locale/gnu/c_locale.h: Same.
+ * config/locale/gnu/monetary_members.cc: Same.
+ * config/locale/gnu/time_members.cc: Same.
+ * config/locale/ieee_1003.1-2001/c_locale.h: Same.
+ * config/locale/generic/numeric_members.cc: Same.
+ * config/locale/generic/collate_members.cc: Same.
+ * config/locale/generic/ctype_members.cc: Same.
+ * config/locale/generic/c_locale.cc: Same.
+ * config/locale/generic/codecvt_members.cc: Same.
+ * config/locale/generic/messages_members.cc: Same.
+ * config/locale/generic/c_locale.h: Same.
+ * config/locale/generic/monetary_members.cc: Same.
+ * config/locale/generic/time_members.cc: Same.
+ * config/os/aix/atomicity.h: Same.
+ * config/os/irix/atomicity.h: Same.
+ * config/cpu/powerpc/atomicity.h: Same.
+ * config/cpu/cris/atomicity.h: Same.
+ * config/cpu/ia64/atomicity.h: Same.
+ * config/cpu/alpha/atomicity.h: Same.
+ * config/cpu/m68k/atomicity.h: Same.
+ * config/cpu/hppa/atomicity.h: Same.
+ * config/cpu/mips/atomicity.h: Same.
+ * config/cpu/sparc/atomicity.h: Same.
+ * config/cpu/i386/atomicity.h: Same.
+ * config/cpu/i486/atomicity.h: Same.
+ * config/cpu/sh/atomicity.h: Same.
+ * config/cpu/generic/atomicity.h: Same.
+ * config/cpu/s390/atomicity.h: Same.
+ * config/io/c_io_stdio.h: Same.
+ * config/io/basic_file_stdio.cc: Same.
+ * config/io/basic_file_stdio.h: Same.
+ * src/misc-inst.cc: Same.
+ * src/concept-inst.cc: Same.
+ * src/ext-inst.cc: Same.
+ * src/string-inst.cc: Same.
+ * src/pool_allocator.cc: Same.
+ * src/bitmap_allocator.cc: Same.
+ * src/mt_allocator.cc: Same.
+ * libsupc++/exception: Same.
+ * libsupc++/vterminate.cc: Same.
+ * testsuite/ext/hash_map/1.cc: Explicitly qualify __gnu_cxx::hash_map.
+ * testsuite/ext/hash_map/14648.cc: Same.
+
+ * libsupc++/eh_alloc.cc: Correct comment line spacing.
+
+2005-12-18 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/stl_algobase.h (__copy_normal::copy_n): Uglify
+ to __copy_n.
+ (__copy_backward::copy_b): Likewise to __copy_b.
+ (__copy_backward_normal::copy_b_n): Likewise to __copy_b_n.
+ (copy, __copy_backward_aux, copy_backward): Adjust.
+
+2005-12-18 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/stl_algo.h (partial_sort_copy): Add
+ _BinaryPredicateConcept<_Compare, _InputValueType, _OutputValueType>
+ (merge, set_union, set_symmetric_difference): Add
+ _OutputIteratorConcept<_OutputIterator, _ValueType2>.
+ (binary_search): Remove redundant _BinaryPredicateConcept<_Compare,
+ _ValueType, _Tp>, taken care by lower_bound.
+ * include/bits/stl_algo.h: Cosmetic changes.
+
+2005-12-18 Paolo Carlini <pcarlini@suse.de>
+ Howard Hinnant <hhinnant@apple.com>
+
+ * include/bits/stl_algo.h (merge, includes, set_union,
+ set_intersection, set_difference, set_symmetric_difference):
+ Fix concept checks.
+
+2005-12-18 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/stl_algo.h (partial_sort_copy, lower_bound,
+ upper_bound, equal_range, binary_search): Fix concept checks.
+
+2005-12-18 Benjamin Kosnik <bkoz@redhat.com>
+
+ * config/abi/post: New.
+ * config/abi/*-linux-gnu: Move to..
+ * config/abi/post/*-linux-gnu: ... here.
+ * config/abi/pre: New.
+ * config/linker-map.gnu: Move to ..
+ * config/abi/pre/gnu.ver: ... here.
+ * config/linker-map.dummy: Move to..
+ * config/abi/pre/none.ver: ... here.
+ * src/Makefile.am: Use ENABLE_SYMVERS_GNU,
+ ENABLE_SYMVERS_DARWIN, ENABLE_SYMVERS_GNU_NAMESPACE.
+ Use libstdc++-symbols.ver instead of libstdc++-symbol.ver.
+ * src/Makefile.in: Regnerate.
+ * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Adjust paths for new
+ placement of abi baseline files.
+ (GLIBCXX_ENABLE_SYMVERS): Add ENABLE_SYMVERS, ENABLE_SYMVERS_GNU,
+ ENABLE_SYMVERS_DARWIN. SYMVER_MAP to SYMVER_FILE.
+ * configure: Regnerate.
+ * config.h.in: Regnerate.
+ * src/compatibility.cc: Adjust macro usage.
+
+2005-12-17 Benjamin Kosnik <bkoz@redhat.com>
+
+ * src/io-inst.cc: Separate instantiations into...
+ * src/ios-inst.cc: .. this.
+ * src/iostream-inst.cc: ... and this.
+ * src/Makefile.am (sources): Update.
+ * src/Makefile.in: Regenerate.
+
+2005-12-17 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/25472
+ * include/c_std/std_cstdlib.h: Fix for freestanding.
+
+2005-12-17 Benjamin Kosnik <bkoz@redhat.com>
+
+ * testsuite/libstdc++-dg/normal.exp: Rename to..
+ * testsuite/libstdc++-dg/conformance.exp: ... this.
+
+2005-12-17 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/stl_vector.h (vector(const vector&)): Use
+ _M_get_Tp_allocator.
+ * include/bits/stl_deque.h (deque(const deque&)): Likewise.
+ (_M_destroy_data): Adjust.
+
+2005-12-17 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/stl_deque.h (deque<>::_M_erase_at_end,
+ _M_erase_at_begin, _M_destroy_data, _M_destroy_data_dispatch,
+ _M_destroy_data_aux): New, optimize erase at begin() / end() and
+ consistently use the "segmented iterator" optimization.
+ (deque<>::~deque(), resize, clear, _M_assign_aux, _M_fill_assign):
+ Use the above.
+ * include/bits/deque.tcc (deque<>::operator=, _M_assign_aux): Same.
+ (erase(iterator, iterator)): Likewise, clean-up.
+ (erase(iterator)): Tweak, don't call copy unnecessarily.
+ (_M_destroy_data_aux): Define.
+ * testsuite/23_containers/deque/modifiers/erase/1.cc: New.
+ * testsuite/23_containers/deque/modifiers/erase/2.cc: Likewise.
+
+2005-12-17 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * include/bits/valarray_after.h (_Expr<>::operator[](slice)):
+ Don't assume the closure implements general indexing, as a matter
+ of fact, most of them don't.
+ (_Expr<>::operator[](const gslice&)): Likewise.
+ (_Expr<>::operator[](const valarray<bool>&)): Likewise.
+ (_Expr<>::operator[](const valarray<size_t>&)): Likewise.
+ (_Expr<>::shift): Fix thinko.
+ (_Expr<>::cshift): Likewise.
+ (_Expr<>::apply): Likewise.
+
+2005-12-16 Paolo Carlini <pcarlini@suse.de>
+
+ * testsuite/tr1/4_metaprogramming/type_properties/is_empty/is_empty.cc:
+ Fix class NonEmptyClassTwo.
+
+2005-12-15 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/stl_vector.h (vector<>::_M_get_Tp_allocator): Change
+ to return by ref and add non const version.
+ * include/bits/stl_deque.h (deque<>::_M_get_Tp_allocator): Likewise.
+
+2005-12-15 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/25421
+ * config/locale/gnu/c_locale.cc (_S_destroy_c_locale): Check
+ for null argument.
+ * testsuite/22_locale/facet/25421.cc: New.
+
+2005-12-13 Carlos O'Donell <carlos@codesourcery.com>
+
+ * include/std/std_limits.h (struct numeric_limits):
+ Use __DBL_HAS_DENORM__, __FLT_HAS_DENORM__, __LDBL_HAS_DENORM__.
+
+2005-12-10 Paolo Carlini <pcarlini@suse.de>
+
+ * include/ext/sso_string_base.h (__sso_string_base<>::_M_compare):
+ Add, specialized for char and wchar_t to immediately return true
+ when a string is compared to itself.
+ * include/ext/rc_string_base.h (__rc_string_base<>::_M_compare):
+ Likewise, for the same _Rep.
+ * include/ext/vstring.h (compare(const string&)): Use it.
+
+ * include/ext/sso_string_base.h (__sso_string_base<>::_M_destroy):
+ Deallocate passed size + 1.
+ (_M_dispose, _M_reserve): Adjust.
+
+2005-12-09 Paolo Carlini <pcarlini@suse.de>
+ Howard Hinnant <hhinnant@apple.com>
+
+ PR libstdc++/25288
+ * include/bits/stl_list.h (list<>::_M_insert_dispatch, _M_fill_insert):
+ Remove.
+ (_M_initialize_dispatch, _M_fill_initialize): Add.
+ (list(size_type, const value_type&, const allocator_type&),
+ list(const list&), list(_InputIterator, _InputIterator,
+ const allocator_type&): Use the latter.
+ (insert(iterator, size_type, const value_type&), insert(iterator,
+ _InputIterator, _InputIterator)): Use construction & splice.
+ * testsuite/23_containers/list/modifiers/insert/25288.cc: New.
+ * testsuite/testsuite_allocator.h (class throw_allocator): Add.
+
+ * include/bits/stl_list.h (list<>::insert, erase): Fix wrong comments.
+
+2005-12-08 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/stl_vector.h (vector<>::size, resize, capacity,
+ operator[]): Avoid troubles with ADL, user defined operators
+ and __normal_iterator.
+ (_M_erase_at_end): Fix to take a pointer.
+ (clear): Adjust call.
+ * include/bits/vector.tcc (vector<>::insert(iterator, const
+ value_type&), erase(iterator, iterator), operator=(const
+ vector<>&), _M_assign_aux(input_iterator_tag), _M_insert_aux,
+ _M_fill_insert, _M_range_insert): Likewise.
+ (_M_fill_assign, _M_assign_aux(forward_iterator_tag)): Adjust
+ _M_erase_at_end call.
+ * testsuite/23_containers/vector/types/1.cc: New.
+
+2005-12-08 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/24617
+ * include/bits/stl_vector.h (vector<>::_M_erase_at_end): New.
+ (vector<>::clear, resize): Use it.
+ * include/bits/vector.tcc (vector<>::erase(iterator, iterator),
+ _M_fill_assign, _M_assign_aux): Likewise.
+
+ * testsuite/23_containers/vector/modifiers/erase/1.cc: New.
+
+2005-12-07 Paolo Carlini <pcarlini@suse.de>
+
+ * docs/html/configopts.html ([--enable-libstdcxx-allocator]):
+ Mention the SGI pooled allocator.
+
+2005-12-06 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/basic_string.h (insert(iterator, _CharT),
+ erase(iterator), erase(iterator, iterator)): Avoid troubles
+ with ADL, user defined operators and __normal_iterator.
+ * include/bits/stl_iterator.h (operator-(const __normal_iterator
+ <_Iterator, _Container>&, const __normal_iterator<_Iterator,
+ _Container>&)): Add overload for left and right iterators of
+ the same type.
+ * include/debug/safe_iterator.h (operator-(const _Safe_iterator
+ <_Iterator, _Sequence>&, const _Safe_iterator<_Iterator,
+ _Sequence>&)): Likewise.
+ * testsuite/21_strings/basic_string/types/1.cc: New.
+
+2005-12-05 Paolo Carlini <pcarlini@suse.de>
+
+ * include/ext/sso_string_base.h (__sso_string_base<>::_M_assign):
+ Simplify, avoid pointless reallocations.
+
+2005-12-04 Paolo Carlini <pcarlini@suse.de>
+
+ * include/ext/sso_string_base.h (__sso_string_base<>::_M_reserve):
+ Simplify.
+
+2005-12-04 Paolo Carlini <pcarlini@suse.de>
+
+ * include/ext/vstring.h (__versa_string<>::operator+, all
+ versions): Move out of line...
+ * include/ext/vstring.tcc (__versa_string<>::operator+): ...
+ here; consistently use reserve for the benefit of sso_string_base;
+ prefer push_back to single-char append when appropriate.
+
+ * include/ext/vstring.h (__versa_string<>::push_back): Don't
+ call _M_reserve, _M_mutate instead.
+ (reserve): Just forward to _M_reserve.
+ * include/ext/vstring.tcc (__versa_string<>::_M_reserve): Remove.
+ * include/ext/rc_string_base.h (__rc_string_base<>::_M_reserve): Also
+ do the initial checks (first on length, in case __res == capacity).
+ * include/ext/sso_string_base.h (__sso_string_base<>::_M_reserve:
+ Likewise; don't call _M_set_length unnecessarily.
+
+2005-12-04 Paolo Carlini <pcarlini@suse.de>
+
+ * include/ext/vstring.h (__versa_string<>::_M_append): New.
+ (append(const __versa_string&), append(const __versa_string&,
+ size_type, size_type), append(const _CharT*, size_type),
+ append(const _CharT*)): Use it.
+ (append(size_type, _CharT)): Delegate to _M_replace_aux.
+ (assign(const __versa_string&, size_type, size_type),
+ assign(const _CharT*), replace(size_type, size_type,
+ const _CharT*, size_type)): Forward to _M_replace.
+ * include/ext/vstring.tcc (__versa_string<>::_M_append):
+ Define, core append functionality.
+ (_M_replace): Simplify, move __s == 0 case to _M_replace_aux.
+ (_M_replace_aux): Reorganize, don't call _M_replace.
+
+2005-12-04 Paolo Carlini <pcarlini@suse.de>
+
+ * include/ext/vstring.tcc (__versa_string<>::_M_replace):
+ Perform _M_check_length at the beginning and remove it from ...
+ (replace, _M_replace_dispatch, _M_replace_aux, assign): ... here.
+ (assign): Now move inline.
+ (resize): Don't call _M_check_length redundantly, append does.
+
+2005-12-04 Paolo Carlini <pcarlini@suse.de>
+
+ * include/ext/sso_string_base.h (__sso_string_base<>::_M_get_allocator):
+ Add non const version.
+ * include/ext/rc_string_base.h (__rc_string_base<>::_M_get_allocator):
+ Likewise.
+
+ * include/ext/sso_string_base.h (__sso_string_base<>::_M_erase): Add.
+ * include/ext/rc_string_base.h (__rc_string_base<>::_M_erase): Likewise.
+ (_M_leak_hard): Use it.
+ * include/ext/vstring.h (__versa_string<>::clear, erase, all
+ versions): Use it.
+ * include/ext/vstring.tcc (__versa_string<>::resize): Likewise.
+
+ * include/ext/vstring.h (__versa_string<>::_M_replace_safe):
+ Remove.
+ * include/ext/vstring.h (__versa_string<>::_M_replace): New, does
+ the in-place work or delegates to _M_mutate in case of reallocation.
+ * include/ext/vstring.tcc (__versa_string<>::_M_replace_safe):
+ Remove.
+ * include/ext/vstring.tcc (__versa_string<>::_M_replace): Define.
+ (assign, replace, _M_replace_dispatch, _M_replace_aux): Use it.
+ * include/ext/sso_string_base.h (__sso_string_base<>::_M_mutate):
+ Change to manage only reallocations.
+ * include/ext/rc_string_base.h (__rc_string_base<>::_M_mutate):
+ Likewise.
+
+ * include/ext/vstring.h (__versa_string<>::insert(size_type,
+ const __versa_string&), insert(size_type, const __versa_string&,
+ size_type, size_type), insert(size_type, const _CharT*, size_type),
+ insert(size_type, const _CharT*)): Delegate to replace.
+
+ * include/ext/vstring.h (__versa_string<>::reserve): Move out of
+ line.
+ * include/ext/vstring.tcc (__versa_string<>::reserve): Do the
+ checks and call _M_reserve.
+ * include/ext/vstring.h (__versa_string<>::append): Call _M_reserve
+ instead of reserve.
+ * include/ext/vstring.tcc (__versa_string<>::append, all versions):
+ Likewise.
+ * include/ext/sso_string_base.h (__sso_string_base<>::_M_reserve):
+ Adjust.
+ * include/ext/rc_string_base.h (__rc_string_base<>::_M_reserve):
+ Likewise.
+
+2005-12-02 David Billinghurst (David.Billinghurst@riotinto.com)
+
+ PR testsuite/25193
+ * testsuite/lib/libstdc++.exp (libstdc++-dg-test): Catch
+ error if file cannot be deleted.
+
+2005-11-23 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/24975 (basic_string)
+ * include/bits/basic_string.h (_Rep::_S_empty_rep): Avoid
+ strict-aliasing warnings.
+
+2005-11-22 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/24975
+ * include/bits/stl_set.h (insert(iterator, const value_type&),
+ erase(iterator), erase(iterator, iterator)): Don't break aliasing
+ rules casting to _Rep_iterator&, forward to _Rb_tree facilities.
+ * include/bits/stl_multiset.h (insert(iterator, const value_type&),
+ erase(iterator), erase(iterator, iterator)): Likewise.
+ * include/bits/stl_tree.h (_Rb_tree<>::_M_insert(_Const_Base_ptr,
+ _Const_Base_ptr, const value_type&), insert_unique(const_iterator,
+ const value_type&), insert_equal(const_iterator, const value_type&),
+ erase(const_iterator), erase(const_iterator, const_iterator)): New,
+ _Rb_tree<>::const_iterator counterparts of existing facilities.
+
+2005-11-21 Benjamin Kosnik <bkoz@redhat.com>
+ Ulrich Drepper <drepper@redhat.com>
+
+ PR libstdc++/23591
+ * scripts/create_testsuite_files: Support for "C" test files.
+ * testsuite/lib/libstdc++.exp: Same.
+ * testsuite/libstdc++-dg/normal.exp: Same.
+ * testsuite/ext/mt_allocator/22309_thread.cc: Update names.
+ * testsuite/19_diagnostics/23591_thread-1.c: New.
+ * testsuite/testsuite_shared.cc: Add tests, rename existing functions.
+ * libsupc++/eh_globals.cc: Make global thread local if possible.
+ * configure.ac: Use GCC_CHECK_TLS.
+ * acinclude.m4: Include tls.m4.
+ * configure: Regenerate.
+ * config.h.in: Same.
+
+2005-11-21 Benjamin Kosnik <bkoz@redhat.com>
+
+ * libsupc++/del_op.cc: Include c++config.h first.
+ * libsupc++/eh_alloc.cc: Same.
+ * libsupc++/new_opv.cc: Same.
+ * libsupc++/eh_throw.cc: Same.
+ * libsupc++/new_op.cc: Same.
+ * libsupc++/del_opv.cc: Same.
+ * libsupc++/eh_catch.cc: Same.
+ * libsupc++/guard.cc: Same.
+ * libsupc++/del_opnt.cc: Same.
+ * libsupc++/eh_exception.cc: Same.
+ * libsupc++/new_opvnt.cc: Same.
+ * libsupc++/eh_term_handler.cc: Same.
+ * libsupc++/eh_personality.cc: Same.
+ * libsupc++/eh_call.cc: Same.
+ * libsupc++/new_opnt.cc: Same.
+ * libsupc++/del_opvnt.cc: Same.
+
+2005-11-21 Benjamin Kosnik <bkoz@redhat.com>
+
+ * src/Makefile.am (LTCXXCOMPILE): CXXFLAGS last.
+ * libsupc++/Makefile.am: Same.
+ * src/Makefile.in: Regenerate.
+ * libsupc++/Makefile.in: Same.
+
+2005-11-21 Paolo Carlini <pcarlini@suse.de>
+
+ * include/ext/sso_string_base.h: Minor formatting and stylistic fixes.
+ (__sso_string_base<>::_M_get_allocator): Return by const ref.
+ * include/ext/rc_string_base.h: Likewise.
+ (__rc_string_base<>::_M_get_allocator): Return by const ref.
+ (__rc_string_base<>::_M_dispose): Take void, use _M_get_allocator.
+ (__rc_string_base<>::_M_grab): Take one alloc, use _M_get_allocator.
+ (__rc_string_base<>::~__rc_string_base,
+ __rc_string_base(const __rc_string_base&), _M_assign, _M_reserve,
+ _M_mutate): Adjust.
+ * include/ext/vstring_util.h: Minor stylistic fixes.
+
+2005-11-18 Paolo Carlini <pcarlini@suse.de>
+
+ * include/ext/rc_string_base.h (__rc_string_base<>::_Rep): Avoid the
+ anonymous struct extension, adjust everywhere.
+
+ * include/ext/rc_string_base.h (__rc_string_base<>::_S_empty_rep()):
+ Just use a static member.
+ (__rc_string_base<>::__rc_string_base(), _S_construct): Adjust.
+
+ * include/ext/rc_string_base.h (__rc_string_base<>::_Rep): Use
+ anonymous union together with _CharT to fix alignment issues,
+ rebind to _Rep and rename _Raw_alloc to _Rep_alloc_type.
+ (__rc_string_base<>::_Rep::_S_create, _M_destroy): Adjust consistently.
+
+ * include/ext/vstring_util.h (__is_null_p): Move inside struct
+ __vstring_utility as static _S_is_null_pointer.
+ * include/ext/sso_string.h
+ (__sso_string_base<>::_M_construct(std::forward_iterator_tag): Adjust.
+ * include/ext/rc_string_base.h
+ (__rc_string_base<>::_S_construct(std::forward_iterator_tag): Likewise.
+
+ Implement Option 3 of DR 431 for ext/vstring - both available bases.
+ * include/bits/cpp_type_traits.h (struct __is_empty): Add.
+ * include/ext/vstring.h (__versa_string<>::swap): Delegate to
+ this->_M_swap.
+ * include/ext/vstring.tcc (__versa_string<>::swap): Remove.
+ * include/ext/vstring_util.h (struct __vstring_utility<>): Add struct
+ _Alloc_hider<>, augmented of allocator swapping facility, specialized
+ to nop for empty allocators.
+ * include/ext/rc_string_base.h (__rc_string_base<>::_M_swap): Use it.
+ (__rc_string_base<>::_M_is_leaked, _M_set_sharable): Change to private.
+ * include/ext/sso_string_base.h (__sso_string_base<>::_M_swap):
+ Likewise.
+ (__sso_string_base<>::_M_is_leaked, _M_set_sharable): Remove, unused.
+ * include/ext/rc_string_base.h (__rc_string_base<>::_M_data(_CharT*):
+ Return void.
+ * include/ext/sso_string_base.h (__sso_string_base<>::_M_data(_CharT*):
+ Likewise.
+
+2005-11-17 Geoffrey Keating <geoffk@apple.com>
+
+ * config/os/bsd/darwin/ppc-extra.ver: New.
+ * src/Makefile.am (libstdc++-symbol.ver): Move outside conditionals,
+ and make dependent on port symbol files.
+ (libstdc++-symbol.explist): Use the generated .ver file, not
+ the template.
+ * src/compatibility.cc [APPLE] (__eprintf): New.
+ * src/Makefile.in: Regenerate.
+ * configure.host (powerpc*-*-darwin*): Define
+ port_specific_symbol_files.
+
+2005-11-16 Nathan Sidwell <nathan@codesourcery.com>
+
+ * libsupc++/eh_arm.cc (__cxa_begin_cleanup): Remember a
+ foreign exception too.
+ (__gnu_end_cleanup): Recover a foreign exception too.
+ * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Cope
+ with forced unwinding.
+ * libsupc++/eh_throw.cc (__cxxabiv1::__cxa_rethrow): Use
+ _Unwind_Resume_or_Rethrow for ARM EABI.
+
+2005-11-14 Geoffrey Keating <geoffk@apple.com>
+
+ * acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Don't check for
+ shared libgcc for darwin exports.
+ * configure: Regenerate.
+
+2005-11-13 Jonathan Wakely <redi@gcc.gnu.org>
+
+ * include/tr1/boost_shared_ptr.h (get_deleter):
+ Declare before shared_ptr.
+ (shared_ptr<>): Declare get_deleter as friend.
+ (shared_ptr<>:_M_get_deleter): Private.
+
+2005-11-13 Douglas Gregor <doug.gregor@gmail.com>
+
+ PR libstdc++/24818
+ * include/tr1/ref_wrap_iterate.h
+ (reference_wrapper::operator()()): Don't dereferene the result of
+ get() before calling it; it's already a reference.
+ * testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc:
+ Test nullary calls to reference_wrappers.
+
+2005-11-11 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/24808
+ * include/tr1/type_traits (__is_abstract_helper): Rename to __in_array
+ (with complemented logic).
+ (is_function): Use it, don't use __conv_helper.
+ (is_abstract): Adjust.
+ (__conv_helper): Rename to __is_convertible_simple.
+ (is_convertible): Adjust.
+ * testsuite/testsuite_tr1.h (class IncompleteClass): Add.
+ * testsuite/tr1/4_metaprogramming/composite_type_traits/is_object/
+ 24808.cc: New.
+ * testsuite/tr1/4_metaprogramming/primary_type_categories/is_enum/
+ 24808.cc: Likewise.
+ * testsuite/tr1/4_metaprogramming/primary_type_categories/is_function/
+ 24808.cc: Likewise.
+
+2005-11-11 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/24799
+ * include/tr1/functional (hash): Inherit from std::unary_function.
+ * testsuite/tr1/6_containers/unordered/hash/24799.cc: New.
+
+ PR libstdc++/24805
+ * include/tr1/boost_shared_ptr.h (swap(shared_ptr<>&, shared_ptr<>&),
+ swap(weak_ptr<>&, weak_ptr<>&)): Move inside namespace tr1.
+ * testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/
+ 24805.cc: New.
+
+ PR libstdc++/24809
+ * include/tr1/type_traits (__is_polymorhpic_helper): Adjust destructor.
+ * testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/
+ 24809.cc: New.
+
+2005-11-10 Paolo Carlini <pcarlini@suse.de>
+
+ * testsuite/tr1/2_general_utilities/memory/
+ enable_shared_from_this/not_shared.cc: Adjust, remove xfail.
+ * testsuite/tr1/2_general_utilities/memory/
+ enable_shared_from_this/not_shared2.cc: Likewise.
+ * testsuite/tr1/2_general_utilities/memory/
+ enable_shared_from_this/not_shared3.cc: Likewise.
+
+2005-11-10 Paolo Carlini <pcarlini@suse.de>
+
+ * include/tr1/boost_shared_ptr.h (_Sp_counted_base::release,
+ weak_release): Protect barriers with __GTHREADS.
+
+2005-11-10 Paolo Carlini <pcarlini@suse.de>
+ Peter Dimov <pdimov@mmltd.net>
+
+ * include/tr1/boost_shared_ptr.h (_Sp_counted_base::release):
+ Optimize by manually inlining weak_release.
+
+ * include/tr1/boost_shared_ptr.h (_Sp_counted_base::release,
+ weak_release): Use explicit memory barriers.
+
+2005-11-09 Benjamin Kosnik <bkoz@redhat.com>
+ Paolo Carlini <pcarlini@suse.de>
+ Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ PR libstdc++/22203
+ * numeric_limits.cc: Split into...
+ * numeric_limits/specialization.cc: ..this.
+ * numeric_limits/is_iec559.cc: Same.
+ * numeric_limits/sign.cc: Same.
+ * numeric_limits/quiet_NaN.cc: Same.
+ * numeric_limits/digits10.cc: Same.
+ * numeric_limits/denorm_min.cc: Same.
+ * numeric_limits/min_max.cc: Same.
+ * numeric_limits/epsilon.cc: Same.
+ * numeric_limits/infinity.cc: Same.
+ * numeric_limits/traps.cc: New.
+
+2005-11-09 Paolo Carlini <pcarlini@suse.de>
+
+ * include/tr1/boost_shared_ptr.h: Trivial formatting fixes.
+
+2005-11-08 Benjamin Kosnik <bkoz@redhat.com>
+
+ * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode): Use
+ exe as the executable extension.
+
+ * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Change gnu defaults to
+ new.
+ (GLIBCXX_ENABLE_PCH): Adjust message order.
+ * configure: Regenerate.
+
+ * scripts/testsuite_flags.in (query): Correct print_usagex typo.
+
+ * include/bits/functexcept.h: Remove argument names.
+
+ * src/mt_allocator.cc: Adjust comment.
+
+2005-11-06 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/18174
+ * include/bits/stl_queue.h (priority_queue): Tweak a bit the
+ comment describing the container.
+
+2005-11-05 Paolo Carlini <pcarlini@suse.de>
+
+ * configure.host: Add | rs6000 to the cpu_defines_dir switch,
+ consistently with the try_cpu one.
+
+2005-11-05 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/22203
+ * include/bits/c++config: Include cpu_defines.h.
+ * include/Makefile.am: Add cpu_defines.h to host_headers.
+ * configure.host: Add cpu_defines_dir.
+ * configure.ac: Use it.
+ * config/cpu/powerpc/cpu_defines.h: New.
+ * config/cpu/generic/cpu_defines.h: Likewise.
+ * configure: Regenerate.
+ * Makefile.in: Likewise.
+ * include/Makefile.in: Likewise.
+ * libmath/Makefile.in: Likewise.
+ * libsupc++/Makefile.in: Likewise.
+ * po/Makefile.in: Likewise.
+ * src/Makefile.in: Likewise.
+ * testsuite/Makefile.in: Likewise.
+
+2005-11-03 Paolo Carlini <pcarlini@suse.de>
+
+ * include/ext/sso_string_base.h (__sso_string_base<>::_M_swap):
+ Change the various traits_type::copy call to always copy the
+ entire local buffer; return early and don't do a full swap on
+ the lengths for two common cases; change two _S_copy to plain
+ traits_type::copy.
+
+2005-11-02 Thomas Kho <tkho@ucla.edu>
+
+ PR libstdc++/23425
+ * include/bits/stl_vector.h (vector<>::clear): Open code
+ in terms of _Destroy.
+
+2005-11-02 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/vector.tcc (vector<>::_M_fill_assign): Qualify fill_n.
+
+2005-11-01 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/24595
+ * include/tr1/boost_shared_ptr.h (shared_ptr<>::get_deleter):
+ Move out of shared_ptr.
+ * testsuite/tr1/2_general_utilities/memory/shared_ptr/misc/24595.cc:
+ New.
+
+2005-10-30 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/20213
+ * include/c_std/std_csignal.h: Adjust comment as per 17.4.1.2/4.
+ * include/c_std/std_cstdlib.h: Likewise.
+ * include/c_std/std_cstdio.h: Likewise.
+ * include/c_std/std_cstdarg.h: Likewise.
+ * include/c_std/std_cctype.h: Likewise.
+ * include/c_std/std_cerrno.h: Likewise.
+ * include/c_std/std_cmath.h: Likewise.
+ * include/c_std/std_ciso646.h: Likewise.
+ * include/c_std/std_ctime.h: Likewise.
+ * include/c_std/std_clocale.h: Likewise.
+ * include/c_std/std_climits.h: Likewise.
+ * include/c_std/std_cassert.h: Likewise.
+ * include/c_std/std_csetjmp.h: Likewise.
+ * include/c_std/std_cwchar.h: Likewise.
+ * include/c_std/std_cfloat.h: Likewise.
+ * include/c_std/std_cstring.h: Likewise.
+ * include/c_std/std_cstddef.h: Likewise.
+ * include/c_std/std_cwctype.h: Likewise.
+
+2005-10-29 Carey Evans <carey.evans@gmail.com>
+
+ PR libstdc++/22087
+ * config/os/djgpp/ctype_inline.h: Fix.
+ * config/os/djgpp/ctype_noninline.h: Likewise.
+
+2005-10-28 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/24559
+ * include/c_std/std_cwchar.h (wcspbrk): Adjust signature.
+ * testsuite/21_strings/c_strings/wchar_t/24559.cc: New.
+
+2005-10-25 Paolo Carlini <pcarlini@suse.de>
+
+ * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 39.
+ * docs/html/ext/howto.html: Adjust.
+
+2005-10-21 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/24450
+ * config/locale/generic/time_members.h (__timepunct<>::
+ __timepunct(__c_locale, const char*, size_t)): Avoid leaking
+ memory if new throws inside _M_initialize_timepunct.
+ * config/locale/gnu/time_members.h (__timepunct<>::
+ __timepunct(__c_locale, const char*, size_t)): Likewise.
+ * config/locale/gnu/message_members.h (messages<>::
+ messages(__c_locale, const char*, size_t)): Rearrange to
+ avoid memory leaks.
+
+2005-10-19 Paolo Carlini <pcarlini@suse.de>
+
+ * include/ext/sso_string_base.h (_M_swap): Rewrite.
+
+2005-10-19 Paolo Carlini <pcarlini@suse.de>
+
+ * include/ext/rc_string_base.h (_S_terminal): Remove.
+ (_M_set_length): Adjust.
+ (_S_max_size): Change to anonymous enum.
+ (_M_max_size()): Add, returns the latter.
+ * include/ext/sso_string_base.h: Likewise.
+ * include/ext/vstring.h (max_size): Adjust.
+
+2005-10-17 Jonathan Wakely <redi@gcc.gnu.org>
+
+ PR libstdc++/24244
+ * include/tr1/boost_shared_ptr.h
+ (_Sp_counted_base::_Sp_counted_base()): When __GTHREAD_MUTEX_INIT
+ is defined, initialize the mutex.
+
+2005-10-15 Paolo Carlini <pcarlini@suse.de>
+
+ * include/tr1/functional: Add missing #pragma GCC system_header.
+
+2005-10-14 Paolo Carlini <pcarlini@suse.de>
+
+ * include/tr1/hashtable (hashtable::m_erase): Rename to erase_node.
+ (hashtable::erase(iterator), erase(const_iterator)): Adjust.
+
+2005-10-13 Richard Earnshaw <richard.earnsahw@arm.com>
+
+ PR libstdc++/23926
+ * acinclude.m4 (port_specific_symbol_files): More symbol versioning
+ fixes.
+ * configure: Regenerate.
+
+2005-10-13 Hans-Peter Nilsson <hp@axis.com>
+
+ * testsuite/lib/libstdc++.exp (libstdc++_init): Require
+ native testing before setting v3-sharedlib to 1.
+
+2005-10-12 Joe Buck <Joe.Buck@synopsys.com>
+
+ * docs/html/27_io/howto.html: Use reference to ifstream when
+ including iosfwd.
+
+2005-10-11 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR libstdc++/23926
+ * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Fix typo in check
+ for GNU LD.
+ * configure: Regenerate.
+
+2005-10-10 Benjamin Kosnik <bkoz@redhat.com>
+
+ * configure.ac (libtool_VERSION): To 6:7:0.
+ * configure: Regenerate.
+ * testsuite/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.7.
+ * config/linker-map.gnu: Export locale::_Impl::_M_install_cache.
+
+2005-10-10 Ian Lance Taylor <ian@airs.com>
+
+ PR libstdc++/13583
+ * include/bits/locale_classes.h (locale::_Impl::_M_install_cache):
+ Move out of line.
+ * src/locale.cc: Define here, add mutex.
+
+2005-10-09 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/24061 (issue 6.19)
+ * include/tr1/hashtable (struct node_const_iterator, struct
+ hashtable_const_iterator): New, add const variants to enable separate
+ overloadings for iterator and const_iterator in unordered_set and
+ unordered_multiset (as required by issue 6.19).
+ (class hashtable): Change the mutable_iterators template parameter
+ to constant_iterators and adjust throughout the logic.
+ (hashtable::insert(iterator, const value_type&), erase(iterator)
+ erase(iterator, iterator)): New, as per issue 6.19.
+ (hashtable::m_erase(node*, node**)): New, called by erase(iterator)
+ and erase(const_iterator).
+ (hashtable::Insert_Conv_Type): New, used by insert(iterator,
+ const value_type&) and insert(const_iterator, const value_type&)
+ to delegate the work to insert(const value_type&).
+ * include/tr1/unordered_map (class unordered_map, unordered_multimap):
+ Adjust typedefs.
+ * include/tr1/unordered_set (class unordered_set, unordered_multiset):
+ Likewise.
+ * testsuite/tr1/6_containers/unordered/erase/24061-map.cc: New.
+ * testsuite/tr1/6_containers/unordered/erase/24061-multimap.cc: New.
+ * testsuite/tr1/6_containers/unordered/erase/24061-multiset.cc: New.
+ * testsuite/tr1/6_containers/unordered/erase/24061-set.cc: New.
+ * testsuite/tr1/6_containers/unordered/insert/24061-map.cc: New.
+ * testsuite/tr1/6_containers/unordered/insert/24061-multimap.cc: New.
+ * testsuite/tr1/6_containers/unordered/insert/24061-multiset.cc: New.
+ * testsuite/tr1/6_containers/unordered/insert/24061-set.cc: New.
+
+2005-10-08 Kazu Hirata <kazu@codesourcery.com>
+
+ Merge from csl-arm-branch:
+ 2004-12-15 Daniel Jacobowitz <dan@codesourcery.com>
+ * libstdc++-v3/config/linker-map.gnu: Add ARM EABI symbols.
+
+2005-10-07 Paolo Carlini <pcarlini@suse.de>
+
+ Fix libstdc++/24196 for ext/vstring/rc by returning to the behavior
+ of basic_string pre-2003-06-13; remove fully-dynamic-string stuff.
+ * include/ext/rc_string_base.h (_M_refcopy): Move inside the
+ _Rep class and remove code in macro.
+ (__rc_string_base()): Construct with _S_empty_rep()._M_refcopy().
+ (_M_dispose, _M_leak_hard): Remove code in macro.
+ (_S_construct): Return _S_empty_rep()._M_refcopy() for empty string.
+ (_M_grab): Adjust.
+
+ * include/ext/rc_string_base.h (_Rep::_M_refdata()): Minor tweak,
+ mark throw().
+
+2005-10-07 Benjamin Kosnik <bkoz@redhat.com>
+
+ * docs/doxygen/user.cfg.in: Update to Doyxygen 1.4.4.
+
+2005-10-05 Paolo Carlini <pcarlini@suse.de>
+
+ * include/ext/sso_string_base.h (struct __sso_string_local):
+ Remove, actually POD types cannot have user defined constructors
+ (being aggregates) and therefore can always be members of unions.
+ (class __sso_string_base): Adjust consistently.
+
+2005-10-05 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/24198
+ * testsuite/27_io/basic_filebuf/3.cc: Use __gnu_test::pod_ushort
+ instead.
+ * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: Likewise.
+ * testsuite/27_io/basic_fstream/3.cc: Likewise; run the test.
+ * testsuite/27_io/basic_ifstream/3.cc: Likewise; run the test.
+ * testsuite/27_io/basic_ios/3.cc: Likewise.
+ * testsuite/27_io/basic_iostream/3.cc: Likewise; run the test.
+ * testsuite/27_io/basic_istream/3.cc: Likewise; run the test.
+ * testsuite/27_io/basic_istringstream/3.cc: Likewise; run the test.
+ * testsuite/27_io/basic_ofstream/3.cc: Likewise; run the test.
+ * testsuite/27_io/basic_ostream/3.cc: Likewise; run the test.
+ * testsuite/27_io/basic_ostringstream/3.cc: Likewise; run the test.
+ * testsuite/27_io/basic_streambuf/3.cc: Likewise.
+ * testsuite/27_io/basic_stringbuf/3.cc: Likewise.
+ * testsuite/27_io/basic_stringstream/3.cc: Likewise; run the test.
+
+2005-10-05 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/11729 (DR 280, [Ready])
+ * include/bits/stl_iterator.h: Add reverse_iterator global
+ functions with two template parameters (operator==, !=, <,
+ >, <=, >=, -).
+ * testsuite/24_iterators/reverse_iterator/11729.cc: New.
+ * docs/html/ext/howto.html: Add an entry for issue 280.
+
+2005-10-03 Paolo Carlini <pcarlini@suse.de>
+
+ * include/tr1/hashtable
+ (node_iterator::node_iterator(const node_iterator<,true,>&)): Fix to
+ take a "false" (i.e., is_const == false) node_iterator.
+ (hashtable_iterator::hashtable_iterator(const hashtable_iterator<,
+ true,>&)): Likewise for hashtable_iterator.
+ (hashtable::const_local_iterator): Fix typedef (is_const == true).
+ (hashtable::const_iterator): Likewise.
+ * testsuite/tr1/6_containers/unordered/types/map_iterator.cc: New.
+ * testsuite/tr1/6_containers/unordered/types/multimap_iterator.cc: New.
+ * testsuite/tr1/6_containers/unordered/types/set_iterator.cc: New.
+ * testsuite/tr1/6_containers/unordered/types/multiset_iterator.cc: New.
+
+2005-10-02 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/24054
+ * include/tr1/hashtable (erase(const key_type&)): Return the
+ number of elements erased.
+ * testsuite/tr1/6_containers/unordered/hashtable/24054.cc: New.
+
+2005-10-01 Kenny Simpson <theonetruekenny@yahoo.com>
+
+ * include/tr1/tuple_iterate.h (tuple::operator=(const std::pair<>&)):
+ Add missing return.
+
+2005-09-30 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/24064
+ * include/tr1/hashtable (hash_code_base<>::store_code): Add.
+ (hashtable<>::insert(const value_type&)): Use it.
+ * testsuite/tr1/6_containers/unordered/hashtable/24064.cc: New.
+
+2005-09-30 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/23953
+ * include/bits/locale_facets.tcc (__numpunct_cache<>::_M_cache,
+ __moneypunct_cache<>::_M_cache): Check that grouping()[0] > 0.
+ (__verify_grouping): Do the last check only if __grouping[__min] > 0.
+ (__add_grouping<>): End recursion if *__gbeg <= 0.
+ * testsuite/22_locale/num_get/get/char/23953.cc: New.
+ * testsuite/22_locale/num_get/get/wchar_t/23953.cc: Likewise.
+ * testsuite/22_locale/num_put/put/char/23953.cc: Likewise.
+ * testsuite/22_locale/num_put/put/wchar_t/23953.cc: Likewise.
+
+2005-09-29 Chris Jefferson <chris@bubblescope.net>
+
+ PR libstdc++/23978
+ * include/tr1/tuple_iterate.h (tuple): Add operator=(std::pair).
+ * testsuite/tr1/6_containers/tuple/creation_functions/23978.cc: New.
+
+ * include/tr1/functional (ref, cref): Make inline.
+ * include/tr1/tuple_iterate.h (tie): Correct formatting.
+ (make_tuple): Make inline.
+
+2005-09-25 Benjamin Kosnik <bkoz@redhat.com>
+ Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * include/ext/mt_allocator.h
+ (__per_type_pool<...true>::_S_initialize_once): Always call
+ _M_initialize_once.
+ (__common_pool<...true>::_S_initialize_once): Same.
+
+2005-09-23 Benjamin Kosnik <bkoz@redhat.com>
+
+ * testsuite/ext/mt_allocator/tune-1.cc: Clarify for single-thread.
+ * testsuite/ext/mt_allocator/tune-2.cc: Same.
+ * testsuite/ext/mt_allocator/tune-3.cc: Same.
+ * testsuite/ext/mt_allocator/tune-4.cc: Same.
+
+2005-09-21 Guillaume Melquiond <guillaume.melquiond@ens-lyon.fr>
+
+ PR libstdc++/23956
+ * include/ext/mt_allocator.h: Remove excess
+ policy_type::_S_get_pool calls in constructors.
+
+2005-09-18 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/23417 (cont)
+ * include/bits/stl_tree.h (_Rb_tree_impl<true>): Use member
+ initialization list for -Weffc++.
+
+2005-09-16 Janis Johnson <janis187@us.ibm.com>
+
+ * testsuite/27_io/basic_ostream/inserters_arithmetic/char/23871.cc:
+ New.
+
+2005-09-15 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/21674
+ PR libstdc++/22205
+ PR libstdc++/22222
+ * include/bits/c++config: Set _GLIBCXX_STD regardless of __GXX_WEAK__.
+ Add in check for __NO_INLINE__ for warning.
+ * testsuite/lib/dg-options.exp (dg-require-debug-mode): New.
+ * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode): New.
+ * testsuite/21_strings/basic_string/element_access/char/21674.cc:
+ Use it.
+ * testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc:
+ Use it.
+
+2005-09-15 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/23875
+ * include/std/std_ostream.h (operator<<(short), operator<<(unsigned
+ short), operator<<(int), operator<<(unsigned int), operator<<(float)):
+ Don't call operator<<(long), operator<<(unsigned long), or
+ operator<<(double), do the work mandated by the resolution of DR117...
+ * include/bits/ostream.tcc (operator<<(short), operator<<(unsigned
+ short), operator<<(int), operator<<(unsigned int), operator<<(float)):
+ ... here.
+ * testsuite/27_io/basic_ostream/inserters_arithmetic/pod/23875.cc: New.
+
+2005-09-15 Mark Mitchell <mark@codesourcery.com>
+
+ * testsuite/testsuite_character.h: Specialize character<>
+ templates in __gnu_cxx, not in __gnu_test.
+
+2005-09-13 Jonathan Wakely <cow@compsoc.man.ac.uk>
+ Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/21674
+ * testsuite/21_strings/basic_string/element_access/char/21674.cc: New.
+ * testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc:
+ New.
+
+2005-09-12 David Edelsohn <dje@gcc.gnu.org>
+
+ PR libstdc++/22554
+ PR libstdc++/23734
+ * include/Makefile.am (stamp-assoc): Install each subgroup
+ of headers separately.
+ * include/Makefile.in: Regenerate.
+
+2005-09-12 Benjamin Kosnik <bkoz@redhat.com>
+
+ * testsuite/ext/mt_allocator/22309_thread.cc: Remove dg-do run.
+ * testsuite/lib/libstdc++.exp ( proc libstdc++_init): Enable
+ shared only for linux.
+
+2005-09-12 Benjamin Kosnik <bkoz@redhat.com>
+ David Edelsohn <dje@gcc.gnu.org>
+
+ PR libstdc++/22554
+ PR libstdc++/23734
+ * include/Makefile.am (assoc_headers): Break into five sub values.
+ (install-headers): Use them.
+ (stamp-assoc): Same.
+ * include/Makefile.in: Regenerate.
+
+2005-09-12 Chris Jefferson <chris@bubblescope.net>
+
+ * include/bits/stl_algo.h (search_n): Delegate to specializations.
+ (search_n(,,,,binary_predicate)): Likewise.
+ (__search_n(forward_iterator_tag)): Original search_n, tweak to
+ remove an unnecessary comparison.
+ (__search_n(,,,,binary_predicate,forward_iterator_tag)): Likewise.
+
+2005-09-12 Jim Xochellis <jimxoch@yahoo.gr>
+
+ * include/bits/stl_algo.h
+ (__search_n(std::random_access_iterator_tag)): Add specialization.
+ (__search_n(,,,,binary_predicate,std::random_access_iterator_tag)):
+ Likewise.
+
+2005-09-12 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/23417
+ * include/bits/stl_list.h (_List_impl): Use member initialization
+ list for -Weffc++.
+ * include/bits/stl_tree.h (_Rb_tree_impl): Same.
+
+2005-09-12 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/23767
+ * include/bits/stl_iterator.h (__normal_iterator::
+ __normal_iterator<>(const __normal_iterator<_Iter, _Container>&)):
+ Enable only when _Iter is equal to _Container::pointer.
+ * testsuite/21_strings/basic_string/types/23767.cc: New.
+ * testsuite/23_containers/vector/types/23767.cc: Likewise.
+ * testsuite/ext/vstring/types/23767.cc: Likewise.
+
+2005-09-11 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/19265
+ PR libstdc++/22309
+ * include/ext/mt_allocator.h
+ (__gnu_cxx::__create_handler): Remove.
+ (__pool<true>::_M_destroy_thread_key): Compatibility only.
+ (__pool<true>::_M_initialize(__destroy): Same.
+ (__pool<true>::_M_initialize): New.
+ (__pool<true>::_M_initialize_once): Nothing fancy.
+ (__pool<true>::_M_once): Remove.
+ (__common_pool): New.
+ (__common_pool_base): New.
+ (__per_type_pool): New.
+ (__per_type_pool_base): New.
+ * src/mt_allocator.cc: Same.
+ * config/linker-map.gnu (__pool<true>::_M_initialize()): Add.
+
+2005-09-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR libstdc++/19265
+ PR libstdc++/22309
+ * src/mt_allocator.cc (__gnu_internal::freelist_mutex): Make static.
+ (__gnu_internal::__freelist): New type.
+ (__gnu_internal::freelist): New variable.
+ (__gnu_internal::_M_destroy_thread_key): New function.
+ (__gnu_cxx::__pool<true>::_M_destroy): Don't delete
+ _M_thread_freelist_initial.
+ (__gnu_cxx::__pool<true>::_M_initialize): Make argument nameless.
+ Don't use _M_thread_freelist and _M_thread_freelist_initial
+ __pool<true> fields, instead use __gnu_internal::freelist fields, call
+ gthread_key_create just once. Use
+ __gnu_internal::_M_destroy_thread_key as key destructor.
+ (__gnu_cxx::__pool<true>::_M_get_thread_id): Store size_t id
+ rather than _Thread_record* in the thread specific value. Don't
+ use _M_thread_freelist __pool<true> field, instead use
+ __gnu_internal::freelist fields.
+ (__gnu_cxx::__pool<true>::_M_destroy_thread_key): Do nothing.
+
+2005-09-11 Benjamin Kosnik <bkoz@redhat.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR libstdc++/19265
+ PR libstdc++/22309
+ * testsuite/testsuite_shared.cc: New.
+ * testsuite/lib/dg-options.exp (dg-require-sharedlib): New.
+ * testsuite/lib/libstdc++.exp (libstdc++_init): Look for shared
+ library, and set v3-sharedlib based on this.
+ (check_v3_target_sharedlib): New.
+ (proc v3-build_support): Build shared objects.
+ * testsuite/ext/mt_allocator/22309_thread.cc: New, use above.
+
+2005-09-11 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/23781
+ * include/bits/stl_list.h (_List_iterator<>::
+ _List_iterator(_List_node_base*), _List_const_iterator<>::
+ _List_const_iterator(const _List_node_base*)): Make explicit.
+ (list<>::begin(), list<>::end(), list<>::pop_back()): Adjust
+ consistently.
+ * include/bits/list.tcc (list<>::insert, list<>::erase): Adjust
+ consistently.
+ * include/bits/stl_tree.h (_Rb_tree_iterator<>::
+ _Rb_tree_iterator(_Link_type), _Rb_tree_const_iterator<>::
+ _Rb_tree_const_iterator(_Link_type)): Make explicit.
+ (_Rb_tree<>::begin(), _Rb_tree<>::end()): Adjust consistently.
+ * include/ext/slist (_Slist_iterator<>::_Slist_iterator(_Node*)):
+ Make explicit.
+ (slist<>::erase(iterator), slist<>::erase(iterator, iterator)):
+ Adjust consistently.
+ * include/tr1/hashtable (hashtable_iterator<>::
+ hashtable_iterator(hash_node<>**)): Make explicit.
+ * testsuite/23_containers/list/23781.cc: New.
+ * testsuite/23_containers/map/23781.cc: Likewise.
+ * testsuite/23_containers/multimap/23781.cc: Likewise.
+ * testsuite/23_containers/multiset/23781.cc: Likewise.
+ * testsuite/23_containers/set/23781.cc: Likewise.
+ * testsuite/ext/slist/23781.cc: Likewise.
+ * testsuite/tr1/6_containers/unordered/23781.cc: Likewise.
+ * testsuite/23_containers/map/operators/1_neg.cc: Adjust dg-error
+ line numbers.
+ * testsuite/23_containers/set/operators/1_neg.cc: Likewise.
+
+ * include/tr1/array (array<>::begin(), array<>::end()): Adjust
+ stylistically for consistency with the other containers.
+
+2005-09-10 Joseph S. Myers <joseph@codesourcery.com>
+
+ * testsuite/26_numerics/cmath/c99_classification_macros_c.cc:
+ XFAIL on *-*-linux*, not *-*-linux-gnu.
+
+2005-09-09 Benjamin Kosnik <bkoz@redhat.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ * src/debug.cc (iterator_base_mutex): Make static for internal
+ linkage.
+ * src/locale_init.cc (locale_mutex): Same.
+ * src/mt_allocator.cc (freelist_mutex): Same.
+ * src/pool_allocator.cc (palloc_init_mutex): Same.
+
+2005-09-02 Paolo Carlini <pcarlini@suse.de>
+
+ * testsuite/tr1/6_containers/unordered/hashtable/23465.cc:
+ Reduce maximum size and lf.
+
+2005-09-01 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/c_std/std_cmath.h: Declare C99 functions and helper
+ functions as inline.
+
+2005-09-01 Benjamin Kosnik <bkoz@redhat.com>
+ Paolo Carlini <pcarlini@suse.de>
+
+ * testsuite/lib/libstdc++.exp (check_v3_target_cxa_atexit): Fix
+ comment.
+
+2005-09-01 Benjamin Kosnik <bkoz@redhat.com>
+
+ * testsuite/lib/libstdc++.exp (check_v3_target_cxa_atexit): New.
+ * testsuite/lib/dg-options.exp (dg-require-cxa-atexit): New.
+ * testsuite/ext/mt_allocator/deallocate_local-6.cc: New.
+ * testsuite/ext/mt_allocator/deallocate_local-8.cc: New.
+ * testsuite/ext/mt_allocator/deallocate_local_thread-5.cc: New.
+ * testsuite/ext/mt_allocator/deallocate_local_thread-7.cc: New.
+ * docs/html/ext/mt_allocator.html: Add link to examples.
+ * testsuite/testsuite_allocator.h: Tweak.
+ * 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/new_allocator/deallocate_global.cc: Same.
+ * testsuite/ext/new_allocator/deallocate_local.cc: Same.
+
+2005-08-31 Paolo Carlini <pcarlini@suse.de>
+ Kaspar Fischer <fischerk@inf.ethz.ch>
+
+ PR libstdc++/23632
+ * include/bits/stl_bvector.h (_Bit_iterator::operator[],
+ _Bit_const_iterator::operator[]): Const-ify.
+ * testsuite/23_containers/vector/bool/23632.cc: New.
+
+2005-08-30 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/23578 (cont)
+ * include/bits/stl_bvector.h (class vector<bool>): Add
+ a dummy data() to avoid problems in debug-mode.
+
+2005-08-30 Paolo Carlini <pcarlini@suse.de>
+
+ * testsuite/ext/hash_map/23528.cc: New.
+
+2005-08-29 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/stl_map.h (class map): ... and a missing @a.
+
+2005-08-29 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/stl_map.h (class map): Add missing % in comment.
+
+2005-08-29 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/23578 (DR 464 [Ready])
+ * include/bits/stl_map.h (class map): Add at(const key_type&)
+ member functions.
+ * include/bits/stl_vector.h (class vector): Add data() member
+ functions.
+ * include/debug/map.h (class map): Adjust consistently.
+ * include/debug/vector (class vector): Likewise.
+ * testsuite/23_containers/map/element_access/1.cc: New.
+ * testsuite/23_containers/vector/data_access/1.cc: Likewise.
+ * docs/html/ext/howto.html: Add an entry for DR 464.
+
+2005-08-26 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/20534 (contd)
+ * src/debug.cc (__gnu_debug): Remove __fancy_abort definition.
+ Remove cstdio and cstdlib includes.
+ * include/debug/debug.h: Define inline here. Remove
+ _GLIBCXX_DEBUG_ABORT.
+ * include/debug/macros.h: Remove __fancy_abort declaration,
+ _GLIBXX_DEBUG_ABORT definition.
+ * config/linker-map.gnu: Remove export.
+
+2005-08-26 Benjamin Kosnik <bkoz@redhat.com>
+
+ * scripts/check_compile (UNIQUE_ID): New. Use to name output files.
+
+2005-08-26 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/23081
+ * include/tr1/array: Implement members back(), front(), data(),
+ and the tuple interface; tidy.
+ * testsuite/tr1/6_containers/array/element_access/back.cc: New.
+ * testsuite/tr1/6_containers/array/element_access/data.cc: Likewise.
+ * testsuite/tr1/6_containers/array/element_access/front.cc: Likewise.
+ * testsuite/tr1/6_containers/array/tuple_interface/get.cc: Likewise.
+ * testsuite/tr1/6_containers/array/tuple_interface/tuple_element.cc:
+ Likewise.
+ * testsuite/tr1/6_containers/array/tuple_interface/tuple_size.cc:
+ Likewise.
+
+2005-08-25 Paolo Carlini <pcarlini@suse.de>
+
+ * include/tr1/hashtable: Use __throw_exception_again,
+ not naked throw, in the catch clauses.
+
+2005-08-24 Lawrence Lim <llim@redhat.com>
+ Jakub Jelinek <jakub@redhat.com>
+ Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/23550
+ * testsuite/21_strings/char_traits/requirements/char/1.cc
+ (test01): Simplify counting.
+ * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc
+ (test02): Same.
+
+2005-08-24 Paolo Carlini <pcarlini@suse.de>
+ Chris Jefferson <chris@bubblescope.net>
+
+ PR libstdc++/23465
+ * include/tr1/hashtable (hash_code_base::m_swap): Use
+ std::swap.
+ (hashtable<>::hashtable(const hashtable&)): Use copy_code;
+ fix m_allocate_node call.
+ * testsuite/tr1/6_containers/unordered/hashtable/23465.cc: New.
+
+2005-08-23 Kelley Cook <kcook@gcc.gnu.org>
+
+ PR libstdc++/23462
+ * testsuite/data/sgetn.txt: Revert to previous FSF address.
+
+2005-08-23 Thomas Kho <tkho@ucla.edu>
+
+ PR libstdc++/23358
+ * include/bits/stl_construct.h (_Destroy(_ForwardIterator,
+ _ForwardIterator, allocator<_Tp>)): Removed unused template parameter.
+
+2005-08-22 Geoffrey Keating <geoffk@apple.com>
+
+ * testsuite/23_containers/vector/resize/1.cc: XFAIL on darwin8.
+ * testsuite/27_io/ios_base/storage/2.cc: Likewise.
+
+2005-08-19 J"orn Rennecke <joern.rennecke@st.com>
+
+ * config/cpu/sh/atomicity.h: Replace broken generic code with current
+ copy of generic/atomicity.h .
+
+2005-08-17 Kelley Cook <kcook@gcc.gnu.org>
+
+ * All files: Update FSF address.
+
+2005-08-09 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * testsuite/26_numerics/cmath/c99_classification_macros_c.cc:
+ xfail on *-*-darwin*.
+
+2005-08-03 Geoffrey Keating <geoffk@apple.com>
+
+ * configure.ac: Don't use GCC_NO_EXECUTABLES or clear
+ GLIBCXX_IS_NATIVE on Darwin crosses.
+ * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Don't skip configuring
+ the testsuite just because there's no symbol versioning.
+ * configure: Regenerate.
+
+ * acinclude.m4 (GLIBCXX_CHECK_SETRLIMIT_ancilliary): Print
+ status messages.
+ (GLIBCXX_CHECK_S_ISREG_OR_S_IFREG): Likewise.
+ (GLIBCXX_CHECK_POLL): Likewise.
+ (GLIBCXX_CHECK_WRITEV): Likewise.
+ (GLIBCXX_CHECK_INT64_T): Likewise.
+ (GLIBCXX_CHECK_LFS): Likewise.
+ * configure: Regenerate.
+
+2005-07-30 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * scripts/make_exports.pl: Pass --strip-underscores to c++filt.
+
+2005-07-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR libstdc++/22284
+ * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Revert
+ the change to info.ttype_base.
+
+2005-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ * include/std/std_valarray.h: Fix grammar in comments.
+
+2005-07-25 Geoffrey Keating <geoffk@apple.com>
+
+ * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Handle darwin-export,
+ and make it the default for Darwin.
+ * scripts/make-exports.pl: New.
+ * src/Makefile.am: Update for changes to GLIBCXX_ENABLE_SYMVERS.
+ Handle darwin-export.
+ * configure: Regenerate.
+ * include/Makefile.in: Regenerate.
+ * libmath/Makefile.in: Regenerate.
+ * libsupc++/Makefile.in: Regenerate.
+ * po/Makefile.in: Regenerate.
+ * src/Makefile.in: Regenerate.
+ * testsuite/Makefile.in: Regenerate.
+
+2005-07-25 Dave Odell <evilalias@hotmail.com>
+
+ PR libstdc++/23053
+ * include/tr1/hashtable (hashtable<>::find_node): Const-ify.
+ * testsuite/tr1/6_containers/unordered/hashtable/23053.cc: New.
+
+2005-07-25 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/22515
+ * include/bits/basic_string.h: Declare the specialization
+ operator>>(basic_istream<char>&, basic_string<char>&).
+ * include/std/std_istream.h: Declate the specialization
+ operator>>(basic_istream<char>&, char*).
+ * include/std/std_streambuf.h (basic_streambuf): Add friend
+ declarations for the above.
+ * src/istream.cc: Define the above.
+ * testsuite/27_io/basic_istream/extractors_character/char/4.cc: New.
+ * testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc:
+ Likewise.
+ * testsuite/performance/27_io/ifstream_extract_chars.cc: Likewise.
+
+2005-07-20 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/streambuf.tcc (xsgetn, xsputn): Use streamsize
+ instead of size_t.
+ * src/streambuf.cc (__copy_streambufs): Likewise.
+
+2005-07-18 Paolo Carlini <pcarlini@suse.de>
+
+ * config/locale/gnu/ctype_members.cc (do_is(mask, wchar_t)):
+ Speed-up for the common case of mask == ctype_base::space;
+ otherwise, exit the loop earlier if the mask is one of the
+ elementary ones.
+
+2005-07-14 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/21193 (float, double, long double)
+ * include/tr1/functional (hash<float>, hash<double>):
+ Reimplement exploiting the Fnv_hash<>::hash helper.
+ (hash<long double>): Reimplement using frexp (in this
+ case, due to random padding bits, the former approach
+ is not generally viable).
+
+2005-07-13 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/21193 (string & wstring)
+ * include/tr1/functional (hash<string>, hash<wstring>):
+ Reimplement using the FNV hash.
+
+ * include/tr1/functional: Trivial formatting fixes.
+
+2005-07-11 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/ostream.tcc (basic_ostream<>::operator<<(long),
+ basic_ostream<>::operator<<(long long)): Don't deal with oct
+ and hex and casts to unsigned here...
+ * include/bits/locale_facets.tcc (__int_to_char(_CharT*, long,
+ const _CharT*, ios_base::fmtflags), __int_to_char(_CharT*, long
+ long, const _CharT*, ios_base::fmtflags)): ... do that here,
+ instead, as per Table 57.
+ (num_put<>::_M_insert_int): Tidy treatment of numeric base and
+ sign.
+ * include/std/std_ostream.h (operator<<(short), operator<<(int)):
+ Adjust logic, as per the letter of the resolution of DR117 [WP].
+ * testsuite/22_locale/num_put/put/char/10.cc: New.
+ * testsuite/22_locale/num_put/put/wchar_t/10.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_arithmetic/char/7.cc:
+ Likewise.
+ * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/7.cc:
+ Likewise.
+
+2005-07-07 David Edelsohn <edelsohn@gnu.org>
+
+ * testsuite/ext/pb_assoc/example/tree_order_statistics_join.cc:
+ Change map_t to map_type.
+
+2005-07-05 Paolo Carlini <pcarlini@suse.de>
+
+ Add class __versa_string, a versatile "basic_string-type" class:
+ an additional, non-standard, template parameter allows to specify
+ the preferred base class. Two are provided: __rc_string_base,
+ which implements a behavior very similar to our standard string,
+ and __sso_string_base, not reference-counted and optimized for
+ short strings.
+ * include/ext/rc_string_base.h: New.
+ * include/ext/sso_string_base.h: Likewise.
+ * include/ext/vstring.h: Likewise.
+ * include/ext/vstring.tcc: Likewise.
+ * include/ext/vstring_fwd.h: Likewise.
+ * include/ext/vstring_util.h: Likewise.
+ * include/Makefile.am: Add.
+ * include/Makefile.in: Regenerate.
+ * testsuite/ext/vstring/explicit_instantiation/1.cc: New.
+ * testsuite/ext/vstring/explicit_instantiation/2.cc: Likewise.
+ * testsuite/ext/vstring/explicit_instantiation/char/1.cc: Likewise.
+ * testsuite/ext/vstring/explicit_instantiation/wchar_t/1.cc: Likewise.
+
+ * Makefile.in: Regenerate with autotools 1.9.3 (to date, the version
+ officially used by v3).
+ * aclocal.m4: Likewise.
+ * libmath/Makefile.in: Likewise.
+ * libsupc++/Makefile.in: Likewise.
+ * po/Makefile.in: Likewise.
+ * src/Makefile.in: Likewise.
+ * testsuite/Makefile.in: Likewise.
+
+2005-07-01 Paolo Carlini <pcarlini@suse.de>
+
+ Port from libstdcxx_so_7-branch:
+ 2004-10-28 Chris Jefferson <chris@bubblescope.net>
+
+ PR libstdc++/17441
+ * include/bit/stl_algo.h (find(,,,input_iterator_tag),
+ find(,,,random_access_interator_tag),
+ find_if(,,,input_iterator_tag),
+ find_if(,,,random_access_iterator_tag)): Uglify function name.
+ (find, find_if): Use new uglified specialisation names.
+ * testsuite/25_algorithms/find/17441.cc: New.
+
+2005-06-30 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * include/ext/pb_assoc/detail/hash_fn/mask_based_range_hashing.hpp
+ (PB_ASSOC_CLASS_C_DEC::s_highest_bit_1): Cast constant 1 to target
+ type before shifting.
+
+2005-06-29 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/21244 (cont^2)
+ * include/ext/bitmap_allocator.h: Convert everywhere
+ bits_per_block to size_t.
+
+2005-06-29 Jonathan Wakely <redi@gcc.gnu.org>
+
+ * include/bits/basic_string.h, include/bits/locale_facets.h: Fix
+ Doxygen comments that use wrong parameter and function names.
+
+2005-06-29 Paolo Carlini <pcarlini@suse.de>
+
+ * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 37.
+ * docs/html/ext/howto.html: Adjust.
+
+2005-06-29 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/22131
+ * include/bits/locale_facets.tcc (num_get<>::_M_extract_int,
+ num_get<>::_M_extract_float, money_get<>::_M_extract):
+ Adjust to assign the result also when digit grouping is
+ wrong (but the grammar is correct), as per 22.2.2.1.2, p11-12
+ (NB: consistently for money_get too).
+ * config/locale/generic/c_locale.cc (__convert_to_v): Do
+ not check ios_base::failbit at the outset.
+ * config/locale/gnu/c_locale.cc: Likewise.
+ * testsuite/22_locale/money_get/get/char/22131.cc: New.
+ * testsuite/22_locale/money_get/get/wchar_t/22131.cc: Likewise.
+ * testsuite/22_locale/num_get/get/char/22131.cc: Likewise.
+ * testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise.
+ * testsuite/22_locale/num_get/get/char/12.cc: Adjust.
+ * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
+ * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
+ Likewise.
+ * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/07.cc:
+ Likewise.
+
+2005-06-28 Paul Brook <paul@codesourcery.com>
+
+ * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Check for
+ __cxa_end_cleanup.
+ * libsupc++/Makefile.am (sources): Add eh_call.c and eh_arm.c.
+ * libsupc++/eh_arm.cc: New file.
+ * libsupc++/eh_call.cc: New file.
+ * libsupc++/eh_catch.cc (__cxa_get_exception_ptr): Use
+ __gxx_caught_object.
+ (__cxa_begin_catch): Ditto. Use __is_gxx_exception_class. Call
+ _Unwind_Complete when using the ARM EABI.
+ (__cxa_end_catch): Use __is_gxx_exception_class.
+ * libsupc++/eh_personality.cc: Define NO_SIZE_OF_ENCODED_VALUE when
+ using the ARM EABI.
+ (save_caught_exception, restore_caught_exception): New functions.
+ (_throw_typet): New typedef.
+ (get_ttype_entry, get_adjusted_ptr, check_exception_spec): Add ARM
+ EABI implementations.
+ (PERSONALITY_FUNCTION): Use new functions. Addd support for ARM EABI
+ unwinding libary.
+ (__cxa_unexpected): Disable when using the ARM EABI.
+ * libsupc++/eh_throw.cc (__cxa_throw): Use __GXX_INIT_EXCEPTION_CLASS.
+ (__cxa_rethrow): Use __is_gxx_exception_class. Call
+ _Unwind_RaiseException when using the ARM EABI.
+ * libsupc++/unwind-cxx.h (struct __cxa_exception): Add fields for ARM
+ EABI semantics.
+ (struct __cxa_eh_globals): Ditto.
+ (__cxa_call_terminate): Add prototype.
+ (__cxa_type_match, __cxa_begin_cleanup, __cxa_end_cleanup): Add
+ prototypes.
+ (__get_exception_header_from_obj, __get_exception_header_from_ue):
+ Move earlier in file.
+ (__is_gxx_exception_class, __GXX_INIT_EXCEPTION_CLASS,
+ __gxx_caught_object): New functions.
+ * aclocal.m4: Regenerate.
+ * configure: Regenerate.
+ * Makefile.in: Regenerate.
+ * include/Makefile.in: Regenerate.
+ * libmath/Makefile.in: Regenerate.
+ * libsupc++/Makefile.in: Regenerate.
+ * po/Makefile.in: Regenerate.
+ * src/Makefie.in: Regenerate.
+ * testsuite/makefile.in: Regenerate.
+
+2005-06-27 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/22102
+ * include/bits/stl_tree.h (insert_unique(iterator, const _Val&),
+ insert_equal((iterator, const _Val&)): Reimplement to check both
+ before and after, as per the algorithm "ignore hint if wrong" of
+ ISO paper N1780.
+
+2005-06-27 Benjamin Kosnik <bkoz@redhat.com>
+ Ami Tavory <pbassoc@gmail.com>
+
+ * docs/html/documentation.html: Add link for policy based
+ associative containers docs.
+ * docs/html/ext/pb_assoc/Std_hash_set_impl.jpg: New.
+ * docs/html/ext/pb_assoc/acks.html: New.
+ * docs/html/ext/pb_assoc/balls_and_bins.jpg: New.
+ * docs/html/ext/pb_assoc/basic_assoc_cntnr.html: New.
+ * docs/html/ext/pb_assoc/basic_assoc_cntnr_compound_data.html: New.
+ * docs/html/ext/pb_assoc/basic_assoc_cntnr_no_data.html: New.
+ * docs/html/ext/pb_assoc/basic_ds_tag.html: New.
+ * docs/html/ext/pb_assoc/basic_hash_assoc_cntnr.html: New.
+ * docs/html/ext/pb_assoc/basic_hash_ds_tag.html: New.
+ * docs/html/ext/pb_assoc/basic_invalidation_guarantee.html: New.
+ * docs/html/ext/pb_assoc/basic_ms_tag.html: New.
+ * docs/html/ext/pb_assoc/basic_tree_assoc_cntnr.html: New.
+ * docs/html/ext/pb_assoc/
+ basic_tree_assoc_cntnr_const_node_iterator.html: New.
+ * docs/html/ext/pb_assoc/
+ basic_tree_assoc_cntnr_node_iterator.html: New.
+ * docs/html/ext/pb_assoc/basic_tree_assoc_cntnr_rev.html: New.
+ * docs/html/ext/pb_assoc/basic_tree_assoc_cntnr_rev_it.html: New.
+ * docs/html/ext/pb_assoc/basic_tree_ds_tag.html: New.
+ * docs/html/ext/pb_assoc/cc_hash_assoc_cntnr.html: New.
+ * docs/html/ext/pb_assoc/cc_hash_ds_tag.html: New.
+ * docs/html/ext/pb_assoc/
+ cc_hash_max_collision_check_resize_trigger.html: New.
+ * docs/html/ext/pb_assoc/cc_hash_policy_cd.jpg: New.
+ * docs/html/ext/pb_assoc/cd.jpg: New.
+ * docs/html/ext/pb_assoc/component_requirements.html: New.
+ * docs/html/ext/pb_assoc/compound_data_enabled_ms_tag.html: New.
+ * docs/html/ext/pb_assoc/compound_data_type.html: New.
+ * docs/html/ext/pb_assoc/compound_ds_tag.html: New.
+ * docs/html/ext/pb_assoc/concepts.html: New.
+ * docs/html/ext/pb_assoc/contact.html: New.
+ * docs/html/ext/pb_assoc/counter_update_metadata.html: New.
+ * docs/html/ext/pb_assoc/counter_update_policy.html: New.
+ * docs/html/ext/pb_assoc/data_enabled_ms_tag.html: New.
+ * docs/html/ext/pb_assoc/design.html: New.
+ * docs/html/ext/pb_assoc/different_underlying_dss.jpg: New.
+ * docs/html/ext/pb_assoc/direct_mask_range_hashing.html: New.
+ * docs/html/ext/pb_assoc/direct_mod_range_hashing.html: New.
+ * docs/html/ext/pb_assoc/disclaimer.html: New.
+ * docs/html/ext/pb_assoc/ds_gen.html: New.
+ * docs/html/ext/pb_assoc/ds_tag_cd.jpg: New.
+ * docs/html/ext/pb_assoc/ds_traits.html: New.
+ * docs/html/ext/pb_assoc/embedded_lists_1.jpg: New.
+ * docs/html/ext/pb_assoc/embedded_lists_2.jpg: New.
+ * docs/html/ext/pb_assoc/examples.html: New.
+ * docs/html/ext/pb_assoc/exception_guarantees_specifics.html: New.
+ * docs/html/ext/pb_assoc/find_invalidation_guarantee.html: New.
+ * docs/html/ext/pb_assoc/find_iterators_cd.jpg: New.
+ * docs/html/ext/pb_assoc/find_iterators_range_ops_1.jpg: New.
+ * docs/html/ext/pb_assoc/find_iterators_range_ops_2.jpg: New.
+ * docs/html/ext/pb_assoc/generics.html: New.
+ * docs/html/ext/pb_assoc/gp_hash_assoc_cntnr.html: New.
+ * docs/html/ext/pb_assoc/gp_hash_ds_tag.html: New.
+ * docs/html/ext/pb_assoc/gp_hash_policy_cd.jpg: New.
+ * docs/html/ext/pb_assoc/hash_and_probe_general.html: New.
+ * docs/html/ext/pb_assoc/hash_based_containers.html: New.
+ * docs/html/ext/pb_assoc/hash_cd.jpg: New.
+ * docs/html/ext/pb_assoc/hash_exponential_size_policy.html: New.
+ * docs/html/ext/pb_assoc/hash_fn.html: New.
+ * docs/html/ext/pb_assoc/hash_load_check_resize_trigger.html: New.
+ * docs/html/ext/pb_assoc/hash_policies.html: New.
+ * docs/html/ext/pb_assoc/hash_policy_cd.jpg: New.
+ * docs/html/ext/pb_assoc/hash_prime_size_policy.html: New.
+ * docs/html/ext/pb_assoc/hash_range_hashing_seq_diagram.jpg: New.
+ * docs/html/ext/pb_assoc/hash_range_hashing_seq_diagram2.jpg: New.
+ * docs/html/ext/pb_assoc/hash_ranged_hash_range_hashing_fns.jpg: New.
+ * docs/html/ext/pb_assoc/hash_standard_resize_policy.html: New.
+ * docs/html/ext/pb_assoc/home.html: New.
+ * docs/html/ext/pb_assoc/index.html: New.
+ * docs/html/ext/pb_assoc/insert_resize_sequence_diagram1.jpg: New.
+ * docs/html/ext/pb_assoc/insert_resize_sequence_diagram2.jpg: New.
+ * docs/html/ext/pb_assoc/insert_resize_sequence_diagram3.jpg: New.
+ * docs/html/ext/pb_assoc/insert_type_methods.html: New.
+ * docs/html/ext/pb_assoc/interface.html: New.
+ * docs/html/ext/pb_assoc/interval_node_invariants.jpg: New.
+ * docs/html/ext/pb_assoc/introduction.html: New.
+ * docs/html/ext/pb_assoc/invalidation_guarantee_cd.jpg: New.
+ * docs/html/ext/pb_assoc/invalidation_guarantee_erase.jpg: New.
+ * docs/html/ext/pb_assoc/lib_download.html: New.
+ * docs/html/ext/pb_assoc/linear_probe_fn.html: New.
+ * docs/html/ext/pb_assoc/list_updates.html: New.
+ * docs/html/ext/pb_assoc/lu_assoc_cntnr.html: New.
+ * docs/html/ext/pb_assoc/lu_based_containers.html: New.
+ * docs/html/ext/pb_assoc/lu_cd.jpg: New.
+ * docs/html/ext/pb_assoc/lu_ds_tag.html: New.
+ * docs/html/ext/pb_assoc/lu_ops.jpg: New.
+ * docs/html/ext/pb_assoc/mmap_value_utils.html: New.
+ * docs/html/ext/pb_assoc/motivation.html: New.
+ * docs/html/ext/pb_assoc/move_to_front_update_metadata.html: New.
+ * docs/html/ext/pb_assoc/move_to_front_update_policy.html: New.
+ * docs/html/ext/pb_assoc/ms_cd.jpg: New.
+ * docs/html/ext/pb_assoc/ms_gen.html: New.
+ * docs/html/ext/pb_assoc/ms_tag_cd.jpg: New.
+ * docs/html/ext/pb_assoc/ms_traits.html: New.
+ * docs/html/ext/pb_assoc/node_invariant_invalidations.jpg: New.
+ * docs/html/ext/pb_assoc/node_invariants.html: New.
+ * docs/html/ext/pb_assoc/node_invariants.jpg: New.
+ * docs/html/ext/pb_assoc/non_unique_mapping.html: New.
+ * docs/html/ext/pb_assoc/non_unique_mapping_containers.jpg: New.
+ * docs/html/ext/pb_assoc/null_data_type.html: New.
+ * docs/html/ext/pb_assoc/null_hash_fn.html: New.
+ * docs/html/ext/pb_assoc/null_probe_fn.html: New.
+ * docs/html/ext/pb_assoc/order_by_key.html: New.
+ * docs/html/ext/pb_assoc/order_statistics_key.html: New.
+ * docs/html/ext/pb_assoc/order_statistics_key_cmp.html: New.
+ * docs/html/ext/pb_assoc/order_statistics_node_updator.html: New.
+ * docs/html/ext/pb_assoc/ov_tree_ds_tag.html: New.
+ * docs/html/ext/pb_assoc/overview.html: New.
+ * docs/html/ext/pb_assoc/pb_assoc_ex.html: New.
+ * docs/html/ext/pb_assoc/portability.html: New.
+ * docs/html/ext/pb_assoc/quadratic_probe_fn.html: New.
+ * docs/html/ext/pb_assoc/range_invalidation_guarantee.html: New.
+ * docs/html/ext/pb_assoc/rank_node_invariants.jpg: New.
+ * docs/html/ext/pb_assoc/rationale_null_node_updator.jpg: New.
+ * docs/html/ext/pb_assoc/rb_tree_ds_tag.html: New.
+ * docs/html/ext/pb_assoc/reference_iterator.jpg: New.
+ * docs/html/ext/pb_assoc/references.html: New.
+ * docs/html/ext/pb_assoc/regression_tests.html: New.
+ * docs/html/ext/pb_assoc/resize_general.html: New.
+ * docs/html/ext/pb_assoc/resize_policies.html: New.
+ * docs/html/ext/pb_assoc/resize_policy_cd.jpg: New.
+ * docs/html/ext/pb_assoc/restoring_node_invariants.jpg: New.
+ * docs/html/ext/pb_assoc/sample_node_updator.hpp: New.
+ * docs/html/ext/pb_assoc/sample_probe_fn.hpp: New.
+ * docs/html/ext/pb_assoc/sample_probe_fn.html: New.
+ * docs/html/ext/pb_assoc/sample_range_hashing.hpp: New.
+ * docs/html/ext/pb_assoc/sample_range_hashing.html: New.
+ * docs/html/ext/pb_assoc/sample_ranged_hash_fn.hpp: New.
+ * docs/html/ext/pb_assoc/sample_ranged_hash_fn.html: New.
+ * docs/html/ext/pb_assoc/sample_ranged_probe_fn.hpp: New.
+ * docs/html/ext/pb_assoc/sample_ranged_probe_fn.html: New.
+ * docs/html/ext/pb_assoc/sample_resize_policy.hpp: New.
+ * docs/html/ext/pb_assoc/sample_resize_policy.html: New.
+ * docs/html/ext/pb_assoc/sample_resize_trigger.hpp: New.
+ * docs/html/ext/pb_assoc/sample_size_policy.hpp: New.
+ * docs/html/ext/pb_assoc/sample_update_policy.hpp: New.
+ * docs/html/ext/pb_assoc/size_policies_general.html: New.
+ * docs/html/ext/pb_assoc/splay_tree_ds_tag.html: New.
+ * docs/html/ext/pb_assoc/timing_tests.html: New.
+ * docs/html/ext/pb_assoc/toc.html: New.
+ * docs/html/ext/pb_assoc/tree_assoc_cntnr.html: New.
+ * docs/html/ext/pb_assoc/
+ tree_assoc_cntnr_const_node_iterator.html: New.
+ * docs/html/ext/pb_assoc/tree_assoc_cntnr_node_iterator.html: New.
+ * docs/html/ext/pb_assoc/tree_based_containers.html: New.
+ * docs/html/ext/pb_assoc/tree_cd.jpg: New.
+ * docs/html/ext/pb_assoc/trigger_policies_general.html: New.
+ * docs/html/ext/pb_assoc/tutorial.html: New.
+ * docs/html/ext/pb_assoc/update_seq_diagram.jpg: New.
+ * include/Makefile.am: Add assoc_srcdir, assoc_builddir, assoc_subdir,
+ assoc_headers.
+ * include/Makefile.in: Regenerate.
+ * include/ext/typelist.h: New.
+ * include/ext/pb_assoc/assoc_cntnr.hpp: New.
+ * include/ext/pb_assoc/data_type.hpp: New.
+ * include/ext/pb_assoc/ds_trait.hpp: New.
+ * include/ext/pb_assoc/exception.hpp: New.
+ * include/ext/pb_assoc/hash_policy.hpp: New.
+ * include/ext/pb_assoc/lu_policy.hpp: New.
+ * include/ext/pb_assoc/ms_trait.hpp: New.
+ * include/ext/pb_assoc/tree_policy.hpp: New.
+ * include/ext/pb_assoc/trivial_iterator_def.hpp: New.
+ * include/ext/pb_assoc/detail/assoc_cntnr_base.hpp: New.
+ * include/ext/pb_assoc/detail/cond_dealtor.hpp: New.
+ * include/ext/pb_assoc/detail/constructors_destructor_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/ds_trait_imp.hpp: New.
+ * include/ext/pb_assoc/detail/hash_types_traits.hpp: New.
+ * include/ext/pb_assoc/detail/map_debug_base.hpp: New.
+ * include/ext/pb_assoc/detail/mapping_level_imp.hpp: New.
+ * include/ext/pb_assoc/detail/ms_category_imp.hpp: New.
+ * include/ext/pb_assoc/detail/ms_trait_imp.hpp: New.
+ * include/ext/pb_assoc/detail/order_statistics_imp.hpp: New.
+ * include/ext/pb_assoc/detail/standard_policies.hpp: New.
+ * include/ext/pb_assoc/detail/standard_sizes.hpp: New.
+ * include/ext/pb_assoc/detail/type_utils.hpp: New.
+ * include/ext/pb_assoc/detail/typelist.hpp: New.
+ * include/ext/pb_assoc/detail/types_traits.hpp: New.
+ * include/ext/pb_assoc/detail/basic_assoc_cntnr/
+ constructor_destructor_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/basic_assoc_cntnr/
+ constructors_destructor_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/basic_assoc_cntnr/d_extract_key.hpp: New.
+ * include/ext/pb_assoc/detail/basic_assoc_cntnr/
+ d_find_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/basic_assoc_cntnr/
+ d_insert_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/basic_assoc_cntnr/erase_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/basic_assoc_cntnr/extract_key.hpp: New.
+ * include/ext/pb_assoc/detail/basic_assoc_cntnr/info_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/basic_assoc_cntnr/
+ insert_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/basic_assoc_cntnr/
+ iterators_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/
+ constructor_destructor_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/
+ constructors_destructor_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/
+ resize_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
+ constructor_destructor_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
+ constructors_destructor_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
+ erase_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
+ node_iteration_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
+ policy_access_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
+ r_erase_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
+ r_range_iteration_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
+ range_iteration_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
+ split_join_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/bin_search_tree_/
+ bin_search_tree_.hpp: New.
+ * include/ext/pb_assoc/detail/bin_search_tree_/
+ cond_dtor_entry_dealtor.hpp: New.
+ * include/ext/pb_assoc/detail/bin_search_tree_/
+ cond_key_dtor_entry_dealtor.hpp: New.
+ * include/ext/pb_assoc/detail/bin_search_tree_/
+ constructors_destructor_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/bin_search_tree_/debug_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/bin_search_tree_/erase_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/bin_search_tree_/find_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/bin_search_tree_/find_iterators.hpp: New.
+ * include/ext/pb_assoc/detail/bin_search_tree_/info_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/bin_search_tree_/insert_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/bin_search_tree_/
+ iterators_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/bin_search_tree_/node_iterators.hpp: New.
+ * include/ext/pb_assoc/detail/bin_search_tree_/
+ r_erase_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/bin_search_tree_/rotate_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/bin_search_tree_/
+ split_join_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/cc_hash_assoc_cntnr/
+ constructor_destructor_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/cc_ht_map_/cc_ht_map_.hpp: New.
+ * include/ext/pb_assoc/detail/cc_ht_map_/cmp_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/cc_ht_map_/
+ cond_key_dtor_entry_dealtor.hpp: New.
+ * include/ext/pb_assoc/detail/cc_ht_map_/
+ constructor_destructor_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/cc_ht_map_/
+ constructor_destructor_no_store_hash_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/cc_ht_map_/
+ constructor_destructor_store_hash_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/cc_ht_map_/debug_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/cc_ht_map_/
+ debug_no_store_hash_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/cc_ht_map_/
+ debug_store_hash_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/cc_ht_map_/entry_list_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/cc_ht_map_/erase_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/cc_ht_map_/
+ erase_no_store_hash_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/cc_ht_map_/
+ erase_store_hash_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/cc_ht_map_/
+ find_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/cc_ht_map_/
+ find_no_store_hash_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/cc_ht_map_/
+ find_store_hash_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/cc_ht_map_/info_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/cc_ht_map_/insert_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/cc_ht_map_/
+ insert_no_store_hash_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/cc_ht_map_/
+ insert_store_hash_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/cc_ht_map_/iterators_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/cc_ht_map_/
+ policy_access_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/cc_ht_map_/resize_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/cc_ht_map_/
+ resize_no_store_hash_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/cc_ht_map_/
+ resize_store_hash_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/cc_ht_map_/size_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/cc_ht_map_/standard_policies.hpp: New.
+ * include/ext/pb_assoc/detail/eq_fn/eq_by_less.hpp: New.
+ * include/ext/pb_assoc/detail/eq_fn/hash_eq_fn.hpp: New.
+ * include/ext/pb_assoc/detail/gp_hash_assoc_cntnr/
+ constructor_destructor_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/gp_ht_map_/
+ constructor_destructor_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/gp_ht_map_/
+ constructor_destructor_no_store_hash_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/gp_ht_map_/
+ constructor_destructor_store_hash_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/gp_ht_map_/debug_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/gp_ht_map_/
+ debug_no_store_hash_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/gp_ht_map_/
+ debug_store_hash_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/gp_ht_map_/erase_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/gp_ht_map_/
+ erase_no_store_hash_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/gp_ht_map_/
+ erase_store_hash_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/gp_ht_map_/find_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/gp_ht_map_/
+ find_no_store_hash_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/gp_ht_map_/
+ find_store_hash_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/gp_ht_map_/gp_ht_map_.hpp: New.
+ * include/ext/pb_assoc/detail/gp_ht_map_/info_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/gp_ht_map_/insert_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/gp_ht_map_/
+ insert_no_store_hash_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/gp_ht_map_/
+ insert_store_hash_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/gp_ht_map_/iterator_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/gp_ht_map_/
+ policy_access_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/gp_ht_map_/resize_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/gp_ht_map_/
+ resize_no_store_hash_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/gp_ht_map_/
+ resize_store_hash_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/hash_fn/
+ direct_mask_range_hashing_imp.hpp: New.
+ * include/ext/pb_assoc/detail/hash_fn/
+ direct_mod_range_hashing_imp.hpp: New.
+ * include/ext/pb_assoc/detail/hash_fn/linear_probe_fn_imp.hpp: New.
+ * include/ext/pb_assoc/detail/hash_fn/
+ mask_based_range_hashing.hpp: New.
+ * include/ext/pb_assoc/detail/hash_fn/mod_based_range_hashing.hpp: New.
+ * include/ext/pb_assoc/detail/hash_fn/probe_fn_base.hpp: New.
+ * include/ext/pb_assoc/detail/hash_fn/quadratic_probe_fn_imp.hpp: New.
+ * include/ext/pb_assoc/detail/hash_fn/ranged_hash_fn.hpp: New.
+ * include/ext/pb_assoc/detail/hash_fn/ranged_probe_fn.hpp: New.
+ * include/ext/pb_assoc/detail/lu_assoc_cntnr/
+ constructor_destructor_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/lu_assoc_cntnr/
+ policy_access_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/lu_map_/
+ constructor_destructor_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/lu_map_/debug_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/lu_map_/erase_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/lu_map_/find_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/lu_map_/info_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/lu_map_/insert_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/lu_map_/iterators_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/lu_map_/lu_map_.hpp: New.
+ * include/ext/pb_assoc/detail/lu_map_/policy_access_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/lu_policy/
+ counter_lu_metadata_imp.hpp: New.
+ * include/ext/pb_assoc/detail/lu_policy/counter_lu_policy_imp.hpp: New.
+ * include/ext/pb_assoc/detail/lu_policy/mtf_lu_policy_imp.hpp: New.
+ * include/ext/pb_assoc/detail/ov_tree_map_/cond_dtor.hpp: New.
+ * include/ext/pb_assoc/detail/ov_tree_map_/
+ constructors_destructor_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/ov_tree_map_/debug_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/ov_tree_map_/erase_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/ov_tree_map_/find_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/ov_tree_map_/info_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/ov_tree_map_/insert_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/ov_tree_map_/iterators_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/ov_tree_map_/node_iterators.hpp: New.
+ * include/ext/pb_assoc/detail/ov_tree_map_/ov_tree_map_.hpp: New.
+ * include/ext/pb_assoc/detail/ov_tree_map_/split_join_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/rb_tree_map_/
+ constructors_destructor_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/rb_tree_map_/debug_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/rb_tree_map_/erase_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/rb_tree_map_/find_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/rb_tree_map_/info_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/rb_tree_map_/insert_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/rb_tree_map_/node.hpp: New.
+ * include/ext/pb_assoc/detail/rb_tree_map_/rb_tree_.hpp: New.
+ * include/ext/pb_assoc/detail/rb_tree_map_/split_join_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/resize_policy/
+ cc_hash_max_collision_resize_trigger_imp.hpp: New.
+ * include/ext/pb_assoc/detail/resize_policy/
+ hash_exponential_size_policy_imp.hpp: New.
+ * include/ext/pb_assoc/detail/resize_policy/
+ hash_load_check_resize_trigger_imp.hpp: New.
+ * include/ext/pb_assoc/detail/resize_policy/
+ hash_prime_size_policy_imp.hpp: New.
+ * include/ext/pb_assoc/detail/resize_policy/
+ hash_standard_resize_policy_imp.hpp: New.
+ * include/ext/pb_assoc/detail/resize_policy/
+ ht_prime_size_policy_imp.hpp: New.
+ * include/ext/pb_assoc/detail/resize_policy/size_base.hpp: New.
+ * include/ext/pb_assoc/detail/splay_tree_/
+ constructors_destructor_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/splay_tree_/debug_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/splay_tree_/erase_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/splay_tree_/find_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/splay_tree_/info_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/splay_tree_/insert_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/splay_tree_/node.hpp: New.
+ * include/ext/pb_assoc/detail/splay_tree_/splay_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/splay_tree_/splay_tree_.hpp: New.
+ * include/ext/pb_assoc/detail/splay_tree_/split_join_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/tree_assoc_cntnr/
+ constructor_destructor_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/tree_policy/
+ null_node_updator_imp.hpp: New.
+ * include/ext/pb_assoc/detail/tree_policy/
+ order_statistics_imp.hpp: New.
+ * include/ext/pb_assoc/detail/typelist/typelist_append.hpp: New.
+ * include/ext/pb_assoc/detail/typelist/typelist_apply.hpp: New.
+ * include/ext/pb_assoc/detail/typelist/typelist_at_index.hpp: New.
+ * include/ext/pb_assoc/detail/typelist/typelist_contains.hpp: New.
+ * include/ext/pb_assoc/detail/typelist/typelist_filter.hpp: New.
+ * include/ext/pb_assoc/detail/typelist/typelist_transform.hpp: New.
+ * include/ext/pb_assoc/detail/typelist/
+ typelist_typelist_append.hpp: New.
+ * include/ext/pb_assoc/detail/unordered_iterator/
+ const_find_iterator.hpp: New.
+ * include/ext/pb_assoc/detail/unordered_iterator/
+ const_iterator.hpp: New.
+ * include/ext/pb_assoc/detail/unordered_iterator/
+ find_iterator.hpp: New.
+ * include/ext/pb_assoc/detail/unordered_iterator/iterator.hpp: New.
+ * include/ext/pb_assoc/detail/value_type_adapter/
+ constructor_destructor_and_related.hpp: New.
+ * include/ext/pb_assoc/detail/value_type_adapter/
+ erase_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/value_type_adapter/
+ erase_if_pred.hpp: New.
+ * include/ext/pb_assoc/detail/value_type_adapter/find_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/value_type_adapter/info_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/value_type_adapter/
+ insert_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/value_type_adapter/
+ invalidation_guarantee_selector.hpp: New.
+ * include/ext/pb_assoc/detail/value_type_adapter/
+ it_value_type_traits.hpp: New.
+ * include/ext/pb_assoc/detail/value_type_adapter/iterator.hpp: New.
+ * include/ext/pb_assoc/detail/value_type_adapter/
+ iterator_fn_imps.hpp: New.
+ * include/ext/pb_assoc/detail/value_type_adapter/ref_pair.hpp: New.
+ * include/ext/pb_assoc/detail/value_type_adapter/
+ value_type_adapter.hpp: New.
+ * include/ext/pb_assoc/detail/value_type_adapter/
+ value_type_traits.hpp: New.
+ * testsuite/Makefile.am (CLEANFILES): Add .o, .dat, .cc.
+ * testsuite/Makefile.in: Regenerate.
+ * testsuite/testsuite_common_types.h: New.
+ * testsuite/testsuite_visualization.h: New.
+ * testsuite/ext/pb_assoc/example/basic_map.cc: New.
+ * testsuite/ext/pb_assoc/example/basic_multimap.cc: New.
+ * testsuite/ext/pb_assoc/example/basic_set.cc: New.
+ * testsuite/ext/pb_assoc/example/ds_traits.cc: New.
+ * testsuite/ext/pb_assoc/example/erase_if.cc: New.
+ * testsuite/ext/pb_assoc/example/extract_key.cc: New.
+ * testsuite/ext/pb_assoc/example/hash_find_neg.cc: New.
+ * testsuite/ext/pb_assoc/example/hash_illegal_resize.cc: New.
+ * testsuite/ext/pb_assoc/example/hash_initial_size.cc: New.
+ * testsuite/ext/pb_assoc/example/hash_load_set_change.cc: New.
+ * testsuite/ext/pb_assoc/example/hash_mod.cc: New.
+ * testsuite/ext/pb_assoc/example/hash_resize.cc: New.
+ * testsuite/ext/pb_assoc/example/hash_resize_neg.cc: New.
+ * testsuite/ext/pb_assoc/example/hash_shift_mask.cc: New.
+ * testsuite/ext/pb_assoc/example/mapping_level.cc: New.
+ * testsuite/ext/pb_assoc/example/mapping_level_neg.cc: New.
+ * testsuite/ext/pb_assoc/example/ms_traits.cc: New.
+ * testsuite/ext/pb_assoc/example/ranged_hash.cc: New.
+ * testsuite/ext/pb_assoc/example/store_hash.cc: New.
+ * testsuite/ext/pb_assoc/example/tree_intervals.cc: New.
+ * testsuite/ext/pb_assoc/example/tree_join.cc: New.
+ * testsuite/ext/pb_assoc/example/tree_order_statistics.cc: New.
+ * testsuite/ext/pb_assoc/example/tree_order_statistics_join.cc: New.
+ * testsuite/ext/pb_assoc/example/tree_split.cc: New.
+ * testsuite/performance/20_util/allocator/(insert.cc,
+ insert_insert.cc, list_sort_search.cc, map_mt_find.cc, map_thread.cc,
+ producer_consumer.cc): Recast to use typelists and move to...
+ * testsuite/performance/23_containers/find/map.cc: New.
+ * testsuite/performance/23_containers/index/map.cc: New.
+ * testsuite/performance/23_containers/insert/associative.cc: New.
+ * testsuite/performance/23_containers/insert/sequence.cc: New.
+ * testsuite/performance/23_containers/insert_erase/associative.cc: New.
+ * testsuite/performance/23_containers/producer_consumer/
+ (associative.cc, sequence.cc): New.
+ * testsuite/performance/23_containers/sort_search/list.cc: New.
+ * testsuite/performance/23_containers/container_benchmark.cc: Remove.
+ * testsuite/performance/23_containers/map_create_fill.cc: Move...
+ * testsuite/performance/23_containers/create/map.cc: ...here.
+ * testsuite/performance/23_containers/set_create_from_sorted.cc: Move.
+ * testsuite/performance/23_containers/create_from_sorted/set.cc: here.
+ * testsuite/performance/23_containers/list_create_fill_sort.cc: Move...
+ * testsuite/performance/23_containers/create_sort/list.cc: ...here.
+ * testsuite/performance/23_containers/set_insert_from_sorted.cc: Move.
+ * testsuite/performance/23_containers/insert_from_sorted/set.cc: here.
+
+2005-06-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR libstdc++/22109
+ * src/compatibility.cc (_GLIBCXX_SYMVER_COMPATIBILITY): Remove.
+ (istreambuf_iterator, basic_fstream, basic_ifstream, basic_ofstream,
+ _M_copy, _M_move, _M_assign, _M_disjunct, _M_check_length,
+ _M_set_length_and_sharable, ignore, eq): Define to XX suffixed
+ variants.
+ (ignore (streamsize)): Remove _W prefixed aliases.
+ (_GLIBCXX_3_4_SYMVER_SPECIAL, _GLIBCXX_3_4_5_SYMVER_SPECIAL,
+ _GLIBCXX_APPLY_SYMVER_SPECIAL): Remove.
+ (_GLIBCXX_3_4_SYMVER, _GLIBCXX_3_4_5_SYMVER): Add XXname argument.
+ Use #XXname instead of #name as the alias argument.
+ * config/abi/compatibility.h: Replace uses of
+ _GLIBCXX_APPLY_SYMVER_SPECIAL with _GLIBCXX_APPLY_SYMVER. Always
+ pass 2 arguments to the _GLIBCXX_APPLY_SYMVER macro.
+ * include/bits/char_traits.h (char_traits::eq): Revert 2005-06-15
+ change.
+ * acinclude.m4: Decrease glibcxx_min_gnu_ld_version back to 21400.
+ * configure: Rebuilt.
+
+2005-06-19 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/22111
+ * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Remove
+ GLIBCXX_TEST_ABI. Remove duplicate _GLIBCXX_ASM_SYMVER define.
+ Don't enable abi testing unless versioned.
+ * configure: Regenerate.
+ * testsuite/Makefile.am (check-abi): Remove conditional.
+ * testsuite/Makefile.in: Regenerate.
+ * testsuite/libstdc++-abi/abi.exp: Call build_support, then check
+ v3-symver before proceeding.
+ * testsuite/lib/libstdc++.exp (libstdc++-dg-test): Set v3-symvers
+ if _GLIBCXX_SYMVER.
+
+2005-06-17 Paolo Carlini <pcarlini@suse.de>
+
+ Port from libstdcxx_so_7-branch:
+ 2005-01-12 Christopher Jefferson <chris@bubblescope.net>
+
+ * include/bits/stl_function.h (mem_fun_t, const_mem_fun_t,
+ mem_fun_ref_t, const_mem_fun_ref_t, mem_fun1_t, const_mem_fun1_t,
+ mem_fun1_ref_t, const_mem_fun1_ref_t): Remove overloads for void
+ return type, just an old HP/SGI workaround.
+ * testsuite/20_util/functional/binders.cc: Move to...
+ * testsuite/20_util/functional/binders/3113.cc: ...here.
+ * testsuite/20_util/functional/binders/1.cc: New.
+
+2005-06-17 Jonathan Wakely <redi@gcc.gnu.org>
+
+ * docs/html/21_strings/gotw29a.txt: Update code to corrected version.
+
+2005-06-17 Jakub Jelinek <jakub@redhat.com>
+ Benjamin Kosnik <bkoz@redhat.com>
+
+ * config/abi/alpha-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/hppa-linux-gnu/baseline_symbols.txt: Same.
+ * config/abi/mips-linux-gnu/baseline_symbols.txt: Same.
+ * config/abi/sparc-linux-gnu/baseline_symbols.txt: Same.
+
+ * config/abi/alpha-freebsd5/baseline_symbols.txt: Remove.
+ * config/abi/i386-freebsd4/baseline_symbols.txt: Same.
+ * config/abi/i386-freebsd5/baseline_symbols.txt: Same.
+ * config/abi/sparc-freebsd5/baseline_symbols.txt: Same.
+
+ * config/abi/arm-linux-gnu/baseline_symbols.txt: Remove.
+ * config/abi/m68k-linux-gnu/baseline_symbols.txt: Same.
+
+2005-06-17 Jakub Jelinek <jakub@redhat.com>
+
+ * config/abi/ia64-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/s390x-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/s390-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/x86_64-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
+ * config/abi/powerpc-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/i486-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/i386-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/powerpc64-linux-gnu/baseline_symbols.txt: New file.
+ * config/abi/powerpc64-linux-gnu/32/baseline_symbols.txt: New file.
+
+2005-06-16 Jakub Jelinek <jakub@redhat.com>
+
+ * src/compatibility.cc: Include bits/c++config.h first.
+ (_GLIBCXX_SYMVER_COMPATIBILITY): Define if _GLIBCXX_SYMVER
+ and PIC are both defined.
+ * include/bits/char_traits.h (char_traits::eq): Rename
+ only if _GLIBCXX_SYMVER_COMPATIBILITY is defined.
+
+2005-06-16 Jakub Jelinek <jakub@redhat.com>
+
+ * acinclude.m4 ((GLIBCXX_ENABLE_SYMVERS): Rename _GLIBCXX_SIZE_T_IS_INT
+ to _GLIBCXX_SIZE_T_IS_UINT. Define _GLIBCXX_PTRDIFF_T_IS_INT.
+ * configure: Regenerate.
+ * config.h.in: Regenerate.
+ * src/compatibility.cc (istream:ignore(streamsize)): Use
+ _GLIBCXX_PTRDIFF_T_IS_INT instead of _GLIBCXX_SIZE_T_IS_INT.
+ * config/abi/compatibility.h: Rename _GLIBCXX_SIZE_T_IS_INT
+ to _GLIBCXX_SIZE_T_IS_UINT. Use _GLIBCXX_PTRDIFF_T_IS_INT
+ instead for symbols with streamsize arguments.
+
+2005-06-16 Jakub Jelinek <jakub@redhat.com>
+
+ * config/linker-map.gnu: Also export
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreE[il][il].
+
+2005-06-15 Benjamin Kosnik <bkoz@redhat.com>
+
+ * configure.ac (libtool_VERSION): To 6:6:0.
+ * configure: Regenerate.
+ * config/linker-map.gnu: Edit.
+ * src/istream.cc: Move istream::ignore(streamsize) specializations...
+ * src/compatibility.cc: ...here. New.
+ * include/bits/char_traits.h (char_traits::eq): Rename when
+ appropriate.
+ * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Define _GLIBCXX_SIZE_T_IS_INT.
+ Bump glibcxx_min_gnu_ld_version to 21590.
+ * configure: Regenerate.
+ * acconfig.h: Remove _GLIBCXX_ASM_SYMVER.
+ * config.h.in: Regenerate.
+ * src/Makefile.am (sources): Add compatibility.cc.
+ * src/Makefile.in: Regenerate.
+ * include/Makefile.am (host_headers_noinst): Add compatibility.h.
+ * include/Makefile.in: Regenerate.
+ * testsuite/testsuite_abi.h (symbol): Add data members.
+ * testsuite/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.5,
+ GLIBCXX_3.4.6. Remove deprecated versions. Do a better job
+ version checking.
+
+2005-06-15 Paolo Carlini <pcarlini@suse.de>
+
+ * include/tr1/hashtable: Trivial formatting fixes.
+ * include/tr1/unordered_map: Likewise.
+ * include/tr1/unordered_set: Likewise.
+
+2005-06-14 Tom Tromey <tromey@redhat.com>
+
+ PR libgcj/19877:
+ * configure, aclocal.m4: Rebuilt.
+ * Makefile.in, include/Makefile.in, libmath/Makefile.in,
+ libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
+ testsuite/Makefile.in: Likewise.
+
+2005-06-08 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/21955
+ * include/std/std_sstream.h (basic_stringbuf::showmanyc): Add.
+ Remove unnecessary this->_M_mode decoration.
+ * include/bits/fstream.tcc: Adjust line spacing.
+ * testsuite/27_io/basic_streambuf/in_avail/char/1.cc: New, test
+ base class behavior.
+ * testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc: Same.
+ * testsuite/27_io/basic_stringbuf/in_avail/char/21955.cc: New.
+ * testsuite/27_io/basic_stringbuf/in_avail/char/1.cc: Match
+ filebuf behavior.
+ * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Same.
+ * testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc: Same.
+ * testsuite/27_io/basic_stringbuf/str/char/1.cc: Same.
+ * testsuite/27_io/basic_streambuf/in_avail/char/9701-3.cc: Move...
+ * testsuite/27_io/basic_filebuf/in_avail/char/9701-3.cc: ...here.
+
+2005-06-07 Benjamin Kosnik <bkoz@redhat.com>
+
+ * acinclude.m4 (GLIBCXX_ENABLE_C99): Use C++ compiler for complex
+ tests.
+ * configure: Regenerated.
+
+2005-06-07 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/cpu/s390/atomicity.h: (__exchange_and_add,
+ __atomic_add): Use the builtins for atomic memory operations.
+
+2005-06-06 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/21770 (cont: __gnu_debug::string)
+ * include/debug/string: Use _Base typedefs for pointer, const_pointer,
+ reference, const_reference, size_type, difference_type.
+ * testsuite/21_strings/basic_string/2.cc: New.
+
+2005-06-06 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/21770 (cont: debug-mode)
+ * include/debug/deque: Use _Base typedefs for pointer, const_pointer,
+ reference, const_reference.
+ * include/debug/list: Likewise.
+ * include/debug/map.h: Likewise.
+ * include/debug/multimap.h: Likewise.
+ * include/debug/multiset.h: Likewise.
+ * include/debug/set.h: Likewise.
+ * include/debug/vector: Likewise.
+
+2005-06-06 Paolo Carlini <pcarlini@suse.de>
+
+ Port from libstdcxx_so_7-branch:
+ 2004-09-24 Paolo Carlini <pcarlini@suse.de>
+ Jonathan Wakely <redi@gcc.gnu.org>
+
+ * include/bits/stl_list.h (list::list(size_type, value_type,
+ const allocator_type&): Implement according to the letter of the
+ standard, i.e., don't use two overloads, not equivalent in case
+ of non default constructible T.
+ (list::resize(size_type, const value_type&)): Fix the signature:
+ according to the standard the second argument is by value; also,
+ don't use two overloads.
+ * include/bits/list.tcc (list::resize(size_type, const value_type&)):
+ Adjust consistently the signature.
+ * include/bits/stl_deque.h (deque::deque(size_type, value_type,
+ const allocator_type&)): Likewise.
+ (deque::resize(size_type, const value_type&)): Likewise.
+ * include/bits/stl_vector.h (vector::vector(size_type, value_type,
+ const allocator_type&)): Likewise.
+ (vector::resize(size_type, const value_type&)): Likewise.
+ * testsuite/testsuite_hooks.h: Add NonDefaultConstructible test type.
+ * testsuite/23_containers/deque/explicit_instantiation/2.cc: New.
+ * testsuite/23_containers/list/explicit_instantiation/2.cc: New.
+ * testsuite/23_containers/map/explicit_instantiation/2.cc: New.
+ * testsuite/23_containers/multimap/explicit_instantiation/2.cc: New.
+ * testsuite/23_containers/multiset/explicit_instantiation/2.cc: New.
+ * testsuite/23_containers/set/explicit_instantiation/2.cc: New.
+ * testsuite/23_containers/vector/explicit_instantiation/2.cc: New.
+
+ * include/bits/deque.tcc: Minor formatting fix.
+
+2005-06-06 Peter Doerfler <doerfler@techinfo.rwth-aachen.de>
+
+ * include/bits/stl_function.h: ... and another one.
+
+2005-06-06 Peter Doerfler <doerfler@techinfo.rwth-aachen.de>
+
+ * include/bits/stl_function.h: Fix typo in comment.
+
+2005-06-05 Paolo Carlini <pcarlini@suse.de>
+
+ * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Check clog, clogf, clogl
+ too for ac_c99_complex.
+ * configure: Regenerate.
+
+2005-06-03 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/21770
+ * include/bits/stl_deque.h: Add concept-check. In class _Deque_base
+ rebind _Alloc to _Tp_alloc_type, change _Deque_impl to inherit from
+ the latter and add _M_get_Tp_allocator() which returns it. Use
+ everywhere _M_get_Tp_allocator() instead of get_allocator().
+ * include/bits/deque.tcc: Likewise, use _M_get_Tp_allocator().
+ * include/bits/stl_list.h: Add concept-check. In class _List_base
+ rebind _Alloc to _Tp_alloc_type and add _M_get_Tp_allocator(), which
+ returns the allocator (of type _Node_alloc_type) converted to
+ _Tp_alloc_type. Use everywhere _M_get_Tp_allocator() instead of
+ get_allocator().
+ * include/bits/list.tcc: Likewise, use _M_get_Tp_allocator().
+ * include/bits/stl_vector.h: Add concept-check. In class _Vector_base
+ rebind _Alloc to _Tp_alloc_type, change _Vector_impl to inherit from
+ the latter and add _M_get_Tp_allocator() which returns it. Use
+ everywhere _M_get_Tp_allocator() instead of get_allocator().
+ * include/bits/vector.tcc: Likewise, use _M_get_Tp_allocator().
+ * include/bits/stl_map.h: Add concept-check. Rebind _Alloc to
+ _Pair_alloc_type and use it for _Rb_tree.
+ * include/bits/stl_multimap.h: Likewise.
+ * include/bits/stl_multiset.h: Add concept-check. Rebind _Alloc to
+ _Key_alloc_type and use it for _Rb_tree.
+ * include/bits/stl_set.h: Likewise.
+ * include/bits/basic_string.h: Rebind _Alloc to _CharT_alloc_type and
+ use it for the allocator typedefs.
+ * testsuite/21_strings/basic_string/1.cc: New.
+ * testsuite/23_containers/deque/explicit_instantiation.cc: Move to...
+ * testsuite/23_containers/deque/explicit_instantiation/1.cc: ... here.
+ * testsuite/23_containers/deque/explicit_instantiation/3.cc: New.
+ * testsuite/23_containers/list/explicit_instantiation.cc: Move to...
+ * testsuite/23_containers/list/explicit_instantiation/1.cc: ... here.
+ * testsuite/23_containers/list/explicit_instantiation/3.cc: New.
+ * testsuite/23_containers/map/explicit_instantiation.cc: Move to...
+ * testsuite/23_containers/map/explicit_instantiation/1.cc: ... here.
+ * testsuite/23_containers/map/explicit_instantiation/3.cc: New.
+ * testsuite/23_containers/multimap/explicit_instantiation.cc: Move to...
+ * testsuite/23_containers/multimap/explicit_instantiation/1.cc: .. here.
+ * testsuite/23_containers/multimap/explicit_instantiation/3.cc: New.
+ * testsuite/23_containers/multiset/explicit_instantiation.cc: Move to...
+ * testsuite/23_containers/multiset/explicit_instantiation/1.cc: .. here.
+ * testsuite/23_containers/multiset/explicit_instantiation/3.cc: New.
+ * testsuite/23_containers/set/explicit_instantiation.cc: Move to...
+ * testsuite/23_containers/set/explicit_instantiation/1.cc: .. here.
+ * testsuite/23_containers/set/explicit_instantiation/3.cc: New.
+ * testsuite/23_containers/vector/explicit_instantiation.cc: Move to...
+ * testsuite/23_containers/vector/explicit_instantiation/1.cc: ... here.
+ * testsuite/23_containers/vector/explicit_instantiation/3.cc: New.
+
+2005-06-02 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/21280
+ * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust expected errors.
+ * testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
+
+2005-05-31 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/20534 (contd)
+ * include/debug/macros.h: Add _GLIBCXX_DEBUG_ABORT, using
+ __gnu_debug::__fancy_abort.
+ * src/debug.cc: Define the latter.
+ * include/debug/debug.h: Use _GLIBCXX_DEBUG_ABORT instead of
+ assert.
+ * config/linker-map.gnu (__gnu_debug::__fancy_abort): Add.
+
+2005-05-30 Paolo Carlini <pcarlini@suse.de>
+
+ * include/std/std_complex.h (log(const complex<_Tp>&)): When
+ _GLIBCXX_USE_C99_COMPLEX, forward to __builtin_clog/clogf/clogl.
+
+2005-05-28 Paolo Carlini <pcarlini@suse.de>
+
+ Revert:
+ 2005-05-18 Paolo Carlini <pcarlini@suse.de>
+ Nathan Myers <ncm@cantrip.org>
+
+ PR libstdc++/19495
+ * include/bits/basic_string.h (_Raw_bytes_alloc): Rebind to
+ size_type instead of char and rename to _Raw_alloc.
+ * include/bits/basic_string.tcc (_Rep::_M_destroy, _Rep::_S_create):
+ Use the above.
+ * src/bitmap_allocator.cc: Add instantiation for size_type.
+ * src/mt_allocator.cc: Likewise.
+ * src/pool_allocator.cc: Likewise.
+ * include/ext/array_allocator.h: Tweak slightly, avoid assuming
+ the existence of an _Array::begin() and size() members.
+ * testsuite/ext/array_allocator/2.cc: Tweak to use an allocator
+ of size_type, instead of char, thus avoiding problems with
+ rebinds, not treated correctly by array_allocator.
+
+2005-05-27 Paolo Carlini <pcarlini@suse.de>
+
+ * docs/html/abi.html: Mention 3.4.0 as the current baseline; add
+ a notice about the configure options.
+
+2005-05-27 Mark Mitchell <mark@codesourcery.com>
+
+ * docs/html/test.html: Mention PCH_CXXFLAGS.
+ * testsuite/lib/libstdc++.exp: Set PCH_CXXFLAGS by probing for an
+ available stcd++.h PCH.
+ * testsuite/libstdc++-dg/normal.exp: Use PCH_CXXFLAGS.
+
+2005-05-27 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
+
+ * src/misc-inst.cc: Remove unnecessary included files.
+
+2005-05-27 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/21674
+ * include/bits/c++config: Remove extern template use when in debug
+ mode, disable for non-weak systems.
+
+2005-05-27 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/20534
+ * include/debug/debug.h: Forwarding header, that pulls in details
+ only if in debug mode.
+ * include/debug/macros.h: ...transfer all the internal macros here.
+ * include/debug/functions.h: ...transfer all the functions here.
+ * include/debug/safe_iterator.h: Add functions.h, macros.h includes.
+ * include/debug/safe_sequence.h: Same.
+ * include/debug/vector: Tweak.
+ * include/Makefile.am (debug_headers): Add new includes.
+ * include/Makefile.in: Regenerate.
+ * testsuite/17_intro/no_assert_neg.cc: Add.
+
+ * include/ext/hash_set: Add debug mode include.
+ * include/ext/hash_map: Same.
+ * include/debug/hash_map: Fix included files to match actual files.
+ * include/debug/hash_set: Same.
+
+2005-05-26 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/13943
+ * include/c_std/std_cstdlib.h: Do not open code llabs and lldiv,
+ available when _GLIBCXX_USE_C99 is defined.
+ * testsuite/26_numerics/cstdlib/13943.cc: New.
+
+ * acinclude.m4 ([GLIBCXX_ENABLE_C99]): For completeness, check
+ also strtoll and strtoull for ac_c99_stdlib.
+ * configure: Regenerate.
+
+2005-05-25 Benjamin Kosnik <bkoz@redhat.com>
+
+ * config/linker-map.gnu: Add linkage support for no extern templates.
+ (std::ios_base::_M_call_callbacks): Add.
+ (std::ios_base::_M_dispose_callbacks): Add.
+ (std::locale::facet::_S_get_c_name): Add.
+ (std::__copy_streambufs): Add.
+ * configure.ac (libtool_VERSION): To 6:5:0.
+ * configure: Regenerate.
+ * testsuite/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.5.
+
+2005-05-25 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/basic_string.h (_Rep::_M_set_length_and_sharable):
+ Use, consistently, traits_type::assign.
+
+2005-05-25 Paolo Carlini <pcarlini@suse.de>
+
+ * config/cpu/alpha/atomicity.h: Use the builtins for
+ atomic memory operations.
+ * config/cpu/powerpc/atomicity.h: Likewise.
+ * config/cpu/ia64/atomicity.h: Do not include ia64intrin.h.
+
+2005-05-24 Paolo Carlini <pcarlini@suse.de>
+
+ * testsuite/25_algorithms/equal.cc: Move to...
+ * testsuite/25_algorithms/equal: ... here.
+ * testsuite/25_algorithms/lower_bound.cc: Move to...
+ * testsuite/25_algorithms/lower_bound: ... here.
+
+2005-05-24 Paolo Carlini <pcarlini@suse.de>
+
+ Port from libstdcxx_so_7-branch:
+ 2005-20-05 Chris Jefferson <chris@bubblescope.net>
+
+ * testsuite/25_algorithms/heap.cc: Move to...
+ * testsuite/25_algorithms/heap/heap.cc: ...here.
+ * testsuite/25_algorithms/partition.cc: Move to...
+ * testsuite/25_algorithms/partition/partition.cc: ...here.
+
+ 2005-03-29 Christopher Jefferson <chris@bubblescope.net>
+
+ * testsuite/25_algorithms/includes/1.cc: Add tests.
+ * testsuite/25_algorithms/search/1.cc: Likewise.
+ * testsuite/25_algorithms/unique_copy/1.cc: Likewise.
+ * testsuite/25_algorithms/swap_ranges/1.cc: New.
+ * testsuite/25_algorithms/swap_ranges/check_type.cc: New.
+ * testsuite/25_algorithms/rotate.cc: Move to...
+ * testsuite/25_algorithms/rotate/rotate.cc: ... here.
+ * testsuite/25_algorithms/rotate/1.cc: New.
+ * testsuite/25_algorithms/rotate/check_type.cc: New.
+ * testsuite/25_algorithms/search_n/iterator.cc: Fix typo.
+
+ 2005-03-14 Christopher Jefferson <chris@bubblescope.net>
+
+ * include/bits/stl_algo.h (replace_copy, replace_copy_if):
+ Don't assume that __new_value and *__first are convertible to
+ each other.
+
+ * testsuite/25_algorithms/find/1.cc: New.
+ * testsuite/25_algorithms/find/check_type.cc: New.
+ * testsuite/25_algorithms/find_if/1.cc: New.
+ * testsuite/25_algorithms/find_if/check_type.cc: New.
+ * testsuite/25_algorithms/replace/1.cc: New.
+ * testsuite/25_algorithms/replace/check_type.cc: New.
+ * testsuite/25_algorithms/replace_if/1.cc: New.
+ * testsuite/25_algorithms/replace_if/check_type.cc: New.
+ * testsuite/25_algorithms/replace_copy/1.cc: New.
+ * testsuite/25_algorithms/replace_copy/check_type.cc: New.
+ * testsuite/25_algorithms/replace_copy_if/1.cc: New.
+ * testsuite/25_algorithms/replace_copy_if/check_type.cc: New.
+ * testsuite/25_algorithms/remove/1.cc: New.
+ * testsuite/25_algorithms/remove/check_type.cc: New.
+ * testsuite/25_algorithms/remove_if/1.cc: New.
+ * testsuite/25_algorithms/remove_if/check_type.cc: New.
+ * testsuite/25_algorithms/count/1.cc: New.
+ * testsuite/25_algorithms/count/check_type.cc: New.
+ * testsuite/25_algorithms/count_if/1.cc: New.
+ * testsuite/25_algorithms/count_if/check_type.cc: New.
+
+ 2005-02-27 Christopher Jefferson <chris@bubblescope.net>
+ Paolo Carlini <pcarlini@suse.de>
+
+ * testsuite/ext/is_heap/check_type.cc: New.
+
+ 2005-02-27 Paolo Carlini <pcarlini@suse.de>
+
+ * testsuite/ext/is_heap/1.cc: New.
+
+ 2005-02-01 Christopher Jefferson <chris@bubblescope.net>
+
+ * testsuite/ext/median.cc: New.
+ * testsuite/25_algorithms/adjacent_find/1.cc: New.
+ * testsuite/25_algorithms/adjacent_find/check_type.cc: New.
+ * testsuite/25_algorithms/search/1.cc: New.
+ * testsuite/25_algorithms/search/check_type.cc: New.
+ * testsuite/25_algorithms/unique_copy/1.cc: New.
+ * testsuite/25_algorithms/unique_copy/check_type.cc: New.
+ * testsuite/25_algorithms/partial_sort/1.cc: New.
+ * testsuite/25_algorithms/partial_sort/check_type.cc: New.
+ * testsuite/25_algorithms/partial_sort_copy/1.cc: New.
+ * testsuite/25_algorithms/partial_sort_copy/check_type.cc: New.
+ * testsuite/25_algorithms/lower_bound/1.cc: New.
+ * testsuite/25_algorithms/lower_bound/check_type.cc: New.
+ * testsuite/25_algorithms/upper_bound/1.cc: New.
+ * testsuite/25_algorithms/upper_bound/check_type.cc: New.
+ * testsuite/25_algorithms/merge/1.cc: New.
+ * testsuite/25_algorithms/merge/check_type.cc: New.
+ * testsuite/25_algorithms/inplace_merge/1.cc: New.
+ * testsuite/25_algorithms/inplace_merge/check_type.cc: New.
+ * testsuite/25_algorithms/stable_sort/1.cc: New.
+ * testsuite/25_algorithms/stable_sort/check_type.cc: New.
+ * testsuite/25_algorithms/nth_element/1.cc: New.
+ * testsuite/25_algorithms/nth_element/check_type.cc: New.
+ * testsuite/25_algorithms/equal_range/1.cc: New.
+ * testsuite/25_algorithms/equal_range/check_type.cc: New.
+ * testsuite/25_algorithms/binary_search/1.cc: New.
+ * testsuite/25_algorithms/binary_search/check_type.cc: New.
+ * testsuite/25_algorithms/includes/1.cc: New.
+ * testsuite/25_algorithms/includes/check_type.cc: New.
+ * testsuite/25_algorithms/set_union/1.cc: New.
+ * testsuite/25_algorithms/set_union/check_type.cc: New.
+ * testsuite/25_algorithms/set_intersection/1.cc: New.
+ * testsuite/25_algorithms/set_intersection/check_type.cc: New.
+ * testsuite/25_algorithms/set_difference/1.cc: New.
+ * testsuite/25_algorithms/set_difference/check_type.cc: New.
+ * testsuite/25_algorithms/set_symmetric_difference/1.cc: New.
+ * testsuite/25_algorithms/set_symmetric_difference/check_type.cc: New.
+ * testsuite/25_algorithms/min_element/1.cc: New.
+ * testsuite/25_algorithms/min_element/check_type.cc: New.
+ * testsuite/25_algorithms/max_element/1.cc: New.
+ * testsuite/25_algorithms/max_element/check_type.cc: New.
+ * testsuite/25_algorithms/prev_permutation/1.cc: New.
+ * testsuite/25_algorithms/prev_permutation/check_type.cc: New.
+ * testsuite/25_algorithms/next_permutation/1.cc: New.
+ * testsuite/25_algorithms/next_permutation/check_type.cc: New.
+ * testsuite/25_algorithms/find_first_of/1.cc: New.
+ * testsuite/25_algorithms/find_first_of/check_type.cc: New.
+ * testsuite/25_algorithms/find_end/1.cc: New.
+ * testsuite/25_algorithms/find_end/check_type.cc: New.
+ * testsuite/25_algorithms/equal/check_type.cc: Insert iterator type.
+ * testsuite/25_algorithms/lexicographical_compare/check_type.cc:
+ Likewise.
+
+ 2005-01-10 Christopher Jefferson <chris@bubblescope.net>
+
+ * testsuite/25_algorithms/lexicographical_compare/check_type.cc: New.
+ * testsuite/25_algorithms/lexicographical_compare/1.cc: Likewise.
+ * testsuite/25_algorithms/mismatch/check_type.cc: Likewise.
+ * testsuite/25_algorithms/mismatch/1.cc: Likewise.
+ * testsuite/25_algorithms/equal/check_type.cc: New.
+ * testsuite/25_algorithms/equal/1.cc: New.
+
+2005-05-24 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/bits/allocator.h: Change ___glibcxx_base_allocator to
+ __glibcxx_base_allocator.
+ * config/allocator/bitmap_allocator_base.h: Same.
+ * config/allocator/malloc_allocator_base.h: Same.
+ * config/allocator/mt_allocator_base.h: Same.
+ * config/allocator/new_allocator_base.h: Same.
+ * config/allocator/pool_allocator_base.h: Same.
+
+2005-05-24 Jonathan Wakely <redi@gcc.gnu.org>
+
+ * include/debug/string (class basic_string): Add missing
+ default template arguments; provide typedefs for char
+ and wchar_t.
+ (operator[]): Allow s[s.size()] in debug mode, but not
+ pedantic mode.
+
+2005-05-24 Paolo Carlini <pcarlini@suse.de>
+
+ Port from libstdcxx_so_7-branch:
+ 2005-04-25 Christopher Jefferson <chris@bubblescope.net>
+
+ * include/bits/stl_algo.h (count): Correct concept checks.
+ (search_n) : Likewise.
+ * testsuite/25_algorithms/search_n/check_type.cc: New.
+
+ * testsuite/testsuite_iterators.h
+ (random_access_iterator_wrapper::operator+): Move out of
+ class to external function, and add symmetric version.
+
+ 2005-03-14 Christopher Jefferson <chris@bubblescope.net>
+
+ * testsuite/testsuite_iterators.h (WritableObject::WritableObject):
+ Add const.
+
+ 2005-02-01 Christopher Jefferson <chris@bubblescope.net>
+
+ * testsuite/testsuite_iterators.h (random_access_iterator_wrapper::
+ operator--): Fix typo.
+ (OutputContainer::OutputContainer): Correct zeroing array.
+ (WritableObject::operator==): Fix typo.
+ (WritableObject::operator=): make operator= templated
+ to allow differing types to be assigned.
+ (WritableObject::operator++): Fix checking if iterator is
+ written to multiple times.
+ (random_access_iterator_wrapper::operator+): Add const.
+ (random_access_iterator_wrapper::operator-): Likewise.
+ (random_access_iterator_wrapper::operator[]): Add dereference.
+
+2005-05-23 Jonathan Wakely <redi@gcc.gnu.org>
+
+ * docs/html/debug.html: Explain that _GLIBXX_DEBUG_PEDANTIC
+ had to be defined for pedantic mode in 3.4 and 4.0.0.
+
+2005-05-20 Jan Beulich <jbeulich@novell.com>
+
+ * libmath/stubs.c: Also implement fabsf/fabsl if not present in the
+ system libraries.
+
+2005-05-20 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/stl_algo.h (__rotate<_RandomAccessIterator>):
+ Don't qualify __tmp as const, _ValueType is not necessarily
+ Assignable.
+ * include/bits/stl_algobase.h (swap, __iter_swap<false>):
+ Likewise, as an harmless extension.
+
+2005-05-19 Richard Henderson <rth@redhat.com>
+
+ * libsupc++/unwind-cxx.h: Revert gcc_unreachable change.
+
+2005-05-19 Jonathan Wakely <redi@gcc.gnu.org>
+
+ * include/bits/basic_string.h (operator[]): Allow s[s.size()] in
+ debug mode, but not pedantic mode.
+
+2005-05-19 Jan Beulich <jbeulich@novell.com>
+
+ * libsupc++/unwind-cxx.h: Include cstdlib.
+ (gcc_unreachable): #define.
+ * libsupc++/eh_personality.cc (gcc_unreachable): Remove #define.
+
+2005-05-18 Paolo Carlini <pcarlini@suse.de>
+ Nathan Myers <ncm@cantrip.org>
+
+ PR libstdc++/19495
+ * include/bits/basic_string.h (_Raw_bytes_alloc): Rebind to
+ size_type instead of char and rename to _Raw_alloc.
+ * include/bits/basic_string.tcc (_Rep::_M_destroy, _Rep::_S_create):
+ Use the above.
+ * src/bitmap_allocator.cc: Add instantiation for size_type.
+ * src/mt_allocator.cc: Likewise.
+ * src/pool_allocator.cc: Likewise.
+ * include/ext/array_allocator.h: Tweak slightly, avoid assuming
+ the existence of an _Array::begin() and size() members.
+ * testsuite/ext/array_allocator/2.cc: Tweak to use an allocator
+ of size_type, instead of char, thus avoiding problems with
+ rebinds, not treated correctly by array_allocator.
+
+2005-05-18 Paolo Carlini <pcarlini@suse.de>
+
+ * testsuite/22_locale/ctype/is/char/2.cc: Adjust dg-require-namedlocale.
+ * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/time_get/get_year/char/wrapped_env.cc: Add
+ missing dg-require-namedlocale.
+ * testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/get_year/wchar_t/wrapped_env.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.cc:
+ Likewise.
+
+2005-05-18 Paolo Carlini <pcarlini@suse.de>
+
+ * testsuite/testsuite_hooks.cc: Remove try_named_locale.
+ * testsuite/testsuite_hooks.h: Remove try_named_locale.
+ * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): New.
+ * testsuite/lib/dg-options.exp (dg-require-namedlocale): New, uses
+ the above.
+ * testsuite/22_locale/codecvt/always_noconv/char/wrapped_env.cc: Use
+ dg-require-namedlocale.
+ * testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Likewise.
+ * testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc:
+ Likewise.
+ * testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/codecvt/encoding/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/codecvt/encoding/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: Likewise.
+ * testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/codecvt/in/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/codecvt/in/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/codecvt/in/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Likewise.
+ * testsuite/22_locale/codecvt/in/wchar_t/7.cc: Likewise.
+ * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Likewise.
+ * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Likewise.
+ * testsuite/22_locale/codecvt/in/wchar_t/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/codecvt/in/wchar_t/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/codecvt/length/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/codecvt/length/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/codecvt/length/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/codecvt/length/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Likewise.
+ * testsuite/22_locale/codecvt/length/wchar_t/7.cc: Likewise.
+ * testsuite/22_locale/codecvt/length/wchar_t/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/codecvt/length/wchar_t/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/codecvt/max_length/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/codecvt/max_length/char/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Likewise.
+ * testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_env.cc:
+ Likewise.
+ * testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/codecvt/out/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/codecvt/out/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/codecvt/out/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Likewise.
+ * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Likewise.
+ * testsuite/22_locale/codecvt/out/wchar_t/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/codecvt/out/wchar_t/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/codecvt/unshift/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/codecvt/unshift/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Likewise.
+ * testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/collate/compare/char/1.cc: Likewise.
+ * testsuite/22_locale/collate/compare/char/2.cc: Likewise.
+ * testsuite/22_locale/collate/compare/char/3.cc: Likewise.
+ * testsuite/22_locale/collate/compare/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/collate/compare/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/collate/compare/wchar_t/1.cc: Likewise.
+ * testsuite/22_locale/collate/compare/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/collate/compare/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/collate/hash/char/2.cc: Likewise.
+ * testsuite/22_locale/collate/hash/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/collate/hash/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/collate/hash/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/collate/transform/char/2.cc: Likewise.
+ * testsuite/22_locale/collate/transform/char/3.cc: Likewise.
+ * testsuite/22_locale/collate/transform/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/collate/transform/char/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/collate/transform/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/collate/transform/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc:
+ Likewise.
+ * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/collate_byname/named_equivalence.cc: Likewise.
+ * testsuite/22_locale/ctype/cons/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/ctype/cons/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
+ * testsuite/22_locale/ctype/is/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/ctype/is/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/ctype/is/wchar_t/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/ctype/is/wchar_t/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/ctype/narrow/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/ctype/narrow/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/ctype/narrow/wchar_t/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/ctype/narrow/wchar_t/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/ctype/scan/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/ctype/scan/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/ctype/scan/wchar_t/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/ctype/to/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/ctype/to/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/ctype/to/wchar_t/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/ctype/widen/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/ctype/widen/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/ctype/widen/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/ctype/widen/wchar_t/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/ctype/widen/wchar_t/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/facet/2.cc: Likewise.
+ * testsuite/22_locale/locale/cons/12352.cc: Likewise.
+ * testsuite/22_locale/locale/cons/12438.cc: Likewise.
+ * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
+ * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
+ * testsuite/22_locale/locale/cons/2.cc: Likewise.
+ * testsuite/22_locale/locale/cons/4.cc: Likewise.
+ * testsuite/22_locale/locale/cons/5.cc: Likewise.
+ * testsuite/22_locale/locale/cons/7.cc: Likewise.
+ * testsuite/22_locale/locale/cons/7222-env.cc: Likewise.
+ * testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise.
+ * testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise.
+ * testsuite/22_locale/messages/members/char/1.cc: Likewise.
+ * testsuite/22_locale/messages/members/char/2.cc: Likewise.
+ * testsuite/22_locale/messages/members/char/3.cc: Likewise.
+ * testsuite/22_locale/messages/members/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/messages/members/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/messages_byname/named_equivalence.cc: Likewise.
+ * testsuite/22_locale/money_get/get/char/1.cc: Likewise.
+ * testsuite/22_locale/money_get/get/char/10.cc: Likewise.
+ * testsuite/22_locale/money_get/get/char/11.cc: Likewise.
+ * testsuite/22_locale/money_get/get/char/11528.cc: Likewise.
+ * testsuite/22_locale/money_get/get/char/12.cc: Likewise.
+ * testsuite/22_locale/money_get/get/char/13.cc: Likewise.
+ * testsuite/22_locale/money_get/get/char/15.cc: Likewise.
+ * testsuite/22_locale/money_get/get/char/16.cc: Likewise.
+ * testsuite/22_locale/money_get/get/char/17.cc: Likewise.
+ * testsuite/22_locale/money_get/get/char/18.cc: Likewise.
+ * 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/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/money_get/get/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
+ * testsuite/22_locale/money_get/get/wchar_t/10.cc: Likewise.
+ * testsuite/22_locale/money_get/get/wchar_t/11.cc: Likewise.
+ * testsuite/22_locale/money_get/get/wchar_t/11528.cc: Likewise.
+ * testsuite/22_locale/money_get/get/wchar_t/12.cc: Likewise.
+ * testsuite/22_locale/money_get/get/wchar_t/13.cc: Likewise.
+ * testsuite/22_locale/money_get/get/wchar_t/15.cc: Likewise.
+ * testsuite/22_locale/money_get/get/wchar_t/16.cc: Likewise.
+ * testsuite/22_locale/money_get/get/wchar_t/17.cc: Likewise.
+ * testsuite/22_locale/money_get/get/wchar_t/18.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.
+ * testsuite/22_locale/money_get/get/wchar_t/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.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/char/9780-3.cc: Likewise.
+ * testsuite/22_locale/money_put/put/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/money_put/put/char/wrapped_locale.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.
+ * testsuite/22_locale/money_put/put/wchar_t/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/moneypunct/members/char/2.cc: Likewise.
+ * testsuite/22_locale/moneypunct/members/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/moneypunct/members/char/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/moneypunct/members/wchar_t/wrapped_env.cc:
+ Likewise.
+ * testsuite/22_locale/moneypunct/members/wchar_t/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/moneypunct_byname/named_equivalence.cc: Likewise.
+ * testsuite/22_locale/num_get/get/char/1.cc: Likewise.
+ * testsuite/22_locale/num_get/get/char/3.cc: Likewise.
+ * testsuite/22_locale/num_get/get/char/5.cc: Likewise.
+ * testsuite/22_locale/num_get/get/char/6.cc: Likewise.
+ * testsuite/22_locale/num_get/get/char/9.cc: Likewise.
+ * testsuite/22_locale/num_get/get/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/num_get/get/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.
+ * testsuite/22_locale/num_get/get/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/num_get/get/wchar_t/5.cc: Likewise.
+ * testsuite/22_locale/num_get/get/wchar_t/6.cc: Likewise.
+ * testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.
+ * testsuite/22_locale/num_get/get/wchar_t/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/num_put/put/char/1.cc: Likewise.
+ * testsuite/22_locale/num_put/put/char/20909.cc: Likewise.
+ * testsuite/22_locale/num_put/put/char/20914.cc: Likewise.
+ * testsuite/22_locale/num_put/put/char/3.cc: Likewise.
+ * testsuite/22_locale/num_put/put/char/5.cc: Likewise.
+ * testsuite/22_locale/num_put/put/char/9780-2.cc: Likewise.
+ * testsuite/22_locale/num_put/put/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/num_put/put/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise.
+ * testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.
+ * testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise.
+ * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
+ * testsuite/22_locale/num_put/put/wchar_t/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/numpunct/members/char/2.cc: Likewise.
+ * testsuite/22_locale/numpunct/members/char/3.cc: Likewise.
+ * testsuite/22_locale/numpunct/members/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/numpunct/members/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/numpunct/members/wchar_t/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/numpunct/members/wchar_t/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/numpunct_byname/named_equivalence.cc: Likewise.
+ * testsuite/22_locale/time_get/date_order/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/date_order/wchar_t/wrapped_env.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Likewise.
+ * testsuite/22_locale/time_get/get_date/wchar_t/wrapped_env.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
+ * testsuite/22_locale/time_get/get_monthname/char/wrapped_env.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
+ * testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
+ * testsuite/22_locale/time_get/get_time/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/time_get/get_time/char/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
+ * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/time_get/get_time/wchar_t/wrapped_env.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
+ * testsuite/22_locale/time_get/get_weekday/char/wrapped_env.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc:
+ Likewise.
+ * testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc:
+ Likewise.
+ * testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/6.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/7.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/8.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/9780-1.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/time_put/put/char/wrapped_locale.cc: Likewise.
+ * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
+ * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
+ * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
+ * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
+ * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
+ * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
+ * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
+ * testsuite/22_locale/time_put/put/wchar_t/wrapped_env.cc: Likewise.
+ * testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: Likewise.
+ * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
+ Likewise.
+ * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc:
+ Likewise.
+ * testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc: Likewise.
+ * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: Likewise.
+ * testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Likewise.
+ * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc: Likewise.
+ * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: Likewise.
+ * testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc: Likewise.
+ * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Likewise.
+ * testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc: Likewise.
+ * testsuite/27_io/objects/wchar_t/10.cc: Likewise.
+ * testsuite/27_io/objects/wchar_t/11.cc: Likewise.
+ * testsuite/27_io/objects/wchar_t/12.cc: Likewise.
+ * testsuite/27_io/objects/wchar_t/13.cc: Likewise.
+ * testsuite/27_io/objects/wchar_t/9520.cc: Likewise.
+ * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise.
+
+2005-05-17 Nathan Sidwell <nathan@codesourcery.com>
+
+ * libsupc++/eh_personality.cc (gcc_unreachable): Define.
+
+2005-05-16 Paolo Carlini <pcarlini@suse.de>
+
+ * docs/html/install.html: Update list of required named
+ locales, add "es_ES".
+
+2005-05-13 Magnus Fromreide <magfr@lysator.liu.se>
+
+ * testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Use
+ initialization instead of copying as the string is used only once.
+ * testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise.
+ * testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise.
+ * testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc: Likewise.
+
+2005-05-12 Benjamin Kosnik <bkoz@redhat.com>
+
+ * scripts/create_testsuite_files: Fix.
+
+2005-05-12 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * testsuite/18_support/numeric_limits.cc (dg-options): Add
+ -mieee to options on sh*-*-*.
+
+2005-05-10 Jonathan Wakely <redi@gcc.gnu.org>
+
+ * include/debug/debug.h: Fix typo in macro name.
+
+2005-05-09 Paolo Carlini <pcarlini@suse.de>
+ Giovanni Bajo <giovannibajo@gcc.gnu.org>
+
+ PR libstdc++/18604
+ * include/bits/deque.tcc: Fully qualify names from namespace std.
+ * include/bits/stl_bvector.h: Likewise.
+ * include/bits/stl_deque.h: Likewise.
+ * include/bits/stl_list.h: Likewise.
+ * include/bits/stl_map.h: Likewise.
+ * include/bits/stl_multimap.h: Likewise.
+ * include/bits/stl_multiset.h: Likewise.
+ * include/bits/stl_set.h: Likewise.
+ * include/bits/stl_vector.h: Likewise.
+ * include/bits/vector.tcc: Likewise.
+ * include/std/std_bitset.h: Likewise.
+ * testsuite/23_containers/bitset/18604.cc: New.
+ * testsuite/23_containers/deque/18604.cc: Likewise.
+ * testsuite/23_containers/list/18604.cc: Likewise.
+ * testsuite/23_containers/map/18604.cc: Likewise.
+ * testsuite/23_containers/set/18604.cc: Likewise.
+ * testsuite/23_containers/vector/18604.cc: Likewise.
+
+2005-05-09 Mike Stump <mrs@apple.com>
+
+ * configure: Regenerate.
+
+2005-05-09 Jonathan Wakely <redi@gcc.gnu.org>
+
+ DR 434. bitset::to_string() hard to use [Ready]
+ * include/debug/bitset (to_string): Add three overloads, taking
+ fewer template arguments.
+
+2005-05-06 Mark Mitchell <mark@codesourcery.com>
+
+ * testsuite/testsuite_hooks.cc (try_mkfifo): Remove.
+ * testsuite/testsuite_hooks.h (try_mkfifo): Likewise.
+ * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use
+ dg-require-fork and dg-require-mkfifo. Replace try_mkfifo with
+ mkfifo.
+ * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
+ Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc:
+ Likewise.
+ * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
+ Likewise.
+ * 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: Likewise.
+ * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
+ * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
+
+2005-05-04 Benjamin Kosnik <bkoz@redhat.com>
+
+ * acinclude.m4: Remove testsuite_wchar_t and testsuite_thread.
+ * testsuite/Makefile.am: Same.
+ * scripts/create_testsuite_files: Same.
+ * Makefile.in: Regenerate.
+ * configure: Same.
+ * include/Makefile.in: Same.
+ * libmath/Makefile.in: Same.
+ * libsupc++/Makefile.in: Same.
+ * po/Makefile.in: Same.
+ * src/Makefile.in: Same.
+
+2005-05-04 Mark Mitchell <mark@codesourcery.com>
+
+ * testsuite/lib/libstdc++.exp (v3-build_support): Look for
+ __GTHREADS, rather than _GLIBCXX_HAVE_GTHR_DEFAULT, to determine
+ whether or not thread support is available.
+
+ * docs/html/test.html: Explain how to run the testsuite on an
+ installed directory.
+
+2005-05-01 Paolo Carlini <pcarlini@suse.de>
+
+ * config/os/aix/os_defines.h: Remove obsolete __off_t,
+ __off64_t, __ssize_t defines.
+ * config/os/djgpp/os_defines.h: Likewise.
+ * config/os/hpux/os_defines.h: Likewise.
+ * config/os/irix/irix5.2/os_defines.h: Likewise.
+ * config/os/irix/irix6.5/os_defines.h: Likewise.
+ * config/os/solaris/solaris2.5/os_defines.h: Likewise.
+ * config/os/solaris/solaris2.6/os_defines.h: Likewise.
+ * config/os/solaris/solaris2.7/os_defines.h: Likewise.
+ * docs/html/17_intro/porting.html: Don't discuss the defines.
+ * docs/html/17_intro/porting.texi: Likewise.
+
+2005-04-29 Paolo Carlini <pcarlini@suse.de>
+ Nathan Myers <ncm@cantrip.org>
+
+ PR libstdc++/21286
+ * include/bits/fstream.tcc (basic_filebuf<>::xsgetn):
+ Loop on short reads; remove the work-around for
+ libstdc++/20806, not needed anymore.
+
+2005-04-29 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/21238
+ * include/bits/locale_facets.tcc (num_get::_M_extract_float,
+ num_get::_M_extract_int, num_get::do_get(bool&),
+ num_put::_M_insert_int, num_put::_M_insert_float,
+ num_put::do_put(bool), money_get::_M_extract,
+ money_put::_M_insert): Adjust the __cache_type typedef not to
+ forward to a numpunct/moneypunct typedef.
+ * testsuite/testsuite_character.h: Add pod_uint and its numpunct
+ and moneypunct specializations.
+ * testsuite/testsuite_character.cc: Add numpunct<pod_uint>::id
+ and moneypunct<pod_uint>::id.
+ * testsuite/22_locale/num_get/3.cc: New.
+ * testsuite/22_locale/num_put/3.cc: Likewise.
+ * testsuite/22_locale/money_get/3.cc: Likewise.
+ * testsuite/22_locale/money_put/3.cc: Likewise.
+
+ * include/bits/locale_facets.tcc (money_put::_M_insert,
+ time_get::_M_extract_name): Prefer operator== to operator!=
+ on char_types.
+
+2005-04-29 Paolo Carlini <pcarlini@suse.de>
+
+ * include/tr1/type_traits (is_convertible): Adjust according
+ to the resolution of TR1 issue 3.20.
+ * testsuite/tr1/4_metaprogramming/relationships_between_types/
+ is_convertible/is_convertible.cc: Add tests.
+
+2005-04-28 Paolo Carlini <pcarlini@suse.de>
+ Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ PR libstdc++/21244 (cont)
+ * include/bits/cpp_type_traits.h (struct __traitor): Convert
+ to bool the values.
+ * include/bits/stl_algo.h: Convert _S_threshold to int.
+ * include/bits/stl_bvector.h: Revert previous change, convert
+ _S_word_bit to int.
+ * include/debug/formatter.h: Convert __max_parameters to
+ size_t.
+ * include/ext/mt_allocator.h: Likewise for _S_chunk_size.
+ * include/ext/pool_allocator.h: Likewise for _S_max_bytes and
+ _S_align.
+ * include/ext/rope: Likewise for _S_alloc_granularity; convert
+ _S_max_rope_depth to int.
+ * include/ext/ropeimpl.h: Convert _S_path_cache_len to int;
+ _S_max_rope_depth to int; _S_copy_max to size_t.
+
+2005-04-27 Benjamin Kosnik <bkoz@redhat.com>
+
+ * docs/doxygen/user.cfg.in: Update to doxygen-1.4.2.
+ * docs/doxygen/doxygroups.cc: Update namespace comments.
+
+2005-04-27 Dominik Strasser <dominik.strasser@infineon.com>
+ Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/21244
+ * include/bits/stl_bvector.h: Change the anonymous enum
+ at namespace scope to _S_word_bit_enum.
+ * testsuite/23_containers/vector/bool/21244.cc: New.
+
+2005-04-27 Paolo Carlini <pcarlini@suse.de>
+
+ * include/tr1/type_traits (has_trivial_copy, has_trivial_assign,
+ has_nothrow_copy, has_nothrow_assign): Adjust according to the
+ resolution of TR1 issue 3.21.
+ * testsuite/testsuite_tr1.h (test_copy_property,
+ test_assign_property): Remove.
+ * testsuite/tr1/4_metaprogramming/type_properties/
+ has_nothrow_assign/has_nothrow_assign.cc: Adjust.
+ * testsuite/tr1/4_metaprogramming/type_properties/
+ has_nothrow_copy/has_nothrow_copy.cc: Likewise.
+ * testsuite/tr1/4_metaprogramming/type_properties/
+ has_trivial_assign/has_trivial_assign.cc: Likewise.
+ * testsuite/tr1/4_metaprogramming/type_properties/
+ has_trivial_copy/has_trivial_copy.cc: Likewise.
+
+2005-04-26 Jones Desougi <jones@ingate.com>
+
+ PR libstdc++/21131
+ * linkage.m4: Fix comments.
+
+2005-04-26 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/21209
+ * include/bits/locale_facets.tcc (_M_extract_int): Avoid signed
+ integer overflow, always use a suited unsigned type in the main
+ parsing loop.
+ (struct __to_unsigned_type): New.
+ * testsuite/22_locale/num_get/get/char/16.cc: New.
+ * testsuite/22_locale/num_get/get/wchar_t/16.cc: Likewise.
+
+2005-04-25 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/21035
+ * include/bits/basic_string.h (compare): Adjust the documentation
+ to match the implementation and the standard.
+
+2005-04-24 Paolo Carlini <pcarlini@suse.de>
+
+ * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 35.
+
+2005-04-20 Mark Mitchell <mark@codesourcery.com>
+
+ * testsuite/ext/bitmap_allocator/check_allocate_max_size.cpp: Add
+ explicit instantiations for systems without weak symbols.
+ * testsuite/ext/bitmap_allocator/check_deallocate_null.cc:
+ Likewise.
+
+2005-04-18 Jonathan Wakely <redi@gcc.gnu.org>
+
+ * include/bits/stl_algo.h (rotate_copy): Add missing std qualification.
+
+2005-04-17 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/20914
+ * include/bits/locale_facets.tcc (__int_to_char(_CharT*, _ValueT,
+ const _CharT*, ios_base::fmtflags, bool)): Don't deal with numeric
+ base or sign here, instead...
+ (_M_insert_int(_OutIter, ios_base&, _CharT, _ValueT)): ... here,
+ after adding the grouping. This fixes the bug and also allows to
+ clean-up the code dealing with integer types.
+ (_M_group_int(const char*, size_t, _CharT, ios_base&, _CharT*,
+ _CharT*, int&)): Simplify, remove bits dealing with numeric base.
+ (__int_to_char(_CharT*, unsigned long, const _CharT*,
+ ios_base::fmtflags), __int_to_char(_CharT*, unsigned long long,
+ const _CharT*, ios_base::fmtflags)): Remove hackish fix for
+ libstdc++/15565.
+ (__int_to_char(_CharT*, long, const _CharT*, ios_base::fmtflags),
+ __int_to_char(_CharT*, long long, const _CharT*, ios_base::fmtflags)):
+ Simplify, don't pass the sign.
+ (_M_insert_float(_OutIter, ios_base&, _CharT, char, _ValueT)):
+ Deal with a sign at the beginning of __cs; robustify the grouping
+ check.
+ * testsuite/22_locale/num_put/put/char/20914.cc: New.
+ * testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise.
+
+2005-04-14 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/ext/bitmap_allocator.h
+ (__gnu_cxx::free_list::_M_get_mutex): New.
+ (__gnu_cxx::free_list::_M_get_free_list): New.
+ (__gnu_cxx::free_list::_S_bfl_mutex): Remove.
+ (__gnu_cxx::free_list::_S_free_list): Remove.
+ * src/bitmap_allocator.cc: Same.
+ * config/linker-map.gnu: Remove free_list and mutex export.
+
+2005-04-14 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/ext/pod_char_traits.h (__gnu_cxx::character): Add char_type.
+ (character::to): New.
+ (character::from): New.
+ (operator==): Add state parameter.
+ (operator<): Same.
+ (char_traits::copy): Use std::copy.
+ (char_traits::assign): Use std::fill_n.
+ (char_traits::to_char_type): Use character::from.
+ (char_traits::to_int_type): Use character::to.
+ * testsuite/testsuite_character.h (__gnu_test::character): Remove.
+ (__gnu_test::conversion_state): Remove.
+ (__gnu_test::pod_char): Remove.
+ (pod_char): New typedef.
+ (pod_uchar): New typedef.
+ (pod_ushort): New typedef.
+ * testsuite/testsuite_character.cc: Fixups.
+ * testsuite/21_strings/basic_string/inserters_extractors/pod/
+ 10081-in.cc: Same.
+ * testsuite/21_strings/basic_string/inserters_extractors/pod/
+ 10081-out.cc: Same.
+ * testsuite/22_locale/numpunct/members/pod/1.cc: Same.
+ * testsuite/22_locale/numpunct/members/pod/2.cc: Same.
+ * testsuite/27_io/basic_filebuf/close/12790-1.cc: Same.
+ * testsuite/27_io/basic_filebuf/open/12790-1.cc: Same.
+ * testsuite/27_io/basic_filebuf/seekoff/12790-1.cc: Same.
+ * testsuite/27_io/basic_filebuf/seekoff/12790-2.cc: Same.
+ * testsuite/27_io/basic_filebuf/seekoff/12790-3.cc: Same.
+ * testsuite/27_io/basic_filebuf/seekoff/12790-4.cc: Same.
+ * testsuite/27_io/basic_filebuf/seekpos/12790-1.cc: Same.
+ * testsuite/27_io/basic_filebuf/seekpos/12790-2.cc: Same.
+ * testsuite/27_io/basic_filebuf/seekpos/12790-3.cc: Same.
+ * testsuite/27_io/basic_ios/imbue/14072.cc: Same.
+ * testsuite/27_io/basic_istream/extractors_arithmetic/pod/
+ 3983-1.cc: Same.
+ * testsuite/27_io/basic_istream/extractors_character/pod/
+ 3983-2.cc: Same.
+ * testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc: Same.
+ * testsuite/27_io/basic_istream/sentry/pod/1.cc: Same.
+ * testsuite/27_io/basic_ostream/sentry/pod/1.cc: Same.
+
+2005-04-12 Mike Stump <mrs@apple.com>
+
+ * configure: Regenerate.
+
+2005-04-08 Benjamin Kosnik <bkoz@redhat.com>
+
+ * testsuite/Makefile.am: Remove libv3test.a.
+ * testsuite/Makefile.in: Regenerate.
+ * testsuite/lib/libstdc++.exp (v3_target_compile): Fix comments.
+
+2005-04-08 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/20909
+ * include/bits/locale_facets.tcc (num_put<>::_M_insert_float):
+ Don't even try to group numbers like 2e20, i.e., no decimal
+ point, scientific notation.
+ * testsuite/22_locale/num_put/put/char/20909.cc: New.
+ * testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.
+
+2005-04-08 Kelley Cook <kcook@gcc.gnu.org>
+
+ * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Define _GLIBCXX_ASM_SYMVER.
+ * acconfig.h: Delete file.
+ * Makefile.in, acinclude.m4, configure: Regenerate.
+
+2005-04-08 Kelley Cook <kcook@gcc.gnu.org>
+
+ * linkage.m4 (GLIBCXX_MAYBE_UNDERSCORED_FUNCS): New macro.
+ (GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1,
+ GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2,
+ GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3,
+ GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1,
+ GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2): Use it.
+ (GLIBCXX_CHECK_MATH_SUPPORT): Delete obsolete comment.
+ * acconfig.h: Delete redundant macros.
+ * config.h.in, configure: Regenerate.
+
+2005-04-08 Kelley Cook <kcook@gcc.gnu.org>
+
+ * linkage.m4 (GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1): Eliminate
+ a subshell and if test fails, test for same functions with
+ leading underscore.
+ (GLIBCXX_CHECK_MATH_SUPPORT): Eliminate seperate checks for _funcs.
+ * configure: Regenerate.
+
+2005-04-08 Danny Smith <dannysmith@users.sourceforge.net>
+ Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/20806
+ * config/os/mingw32/os_defines.h: Define
+ _GLIBCXX_HAVE_DOS_BASED_FILESYSTEM.
+ * config/os/newlib/os_defines.h: Likewise, for __CYGWIN__.
+ * include/bits/fstream.tcc (basic_filebuf<>::showmanyc()):
+ Use it.
+ (basic_filebuf<>::xsgetn(_CharT*, streamsize)): Likewise.
+
+2005-04-08 Kelley Cook <kcook@gcc.gnu.org>
+
+ * acconfig.h: Sort the bottom section.
+ * config.h.in: Regenerate.
+
+2005-04-08 Kelley Cook <kcook@gcc.gnu.org>
+
+ * acconfig.h: Remove redundant HAVE_FLOAT_H.
+ * config.h.in: Regenerate.
+
+2005-04-08 Kelley Cook <kcook@gcc.gnu.org>
+
+ * configure.ac: Create template for PACKAGE and VERSION.
+ Update comment on how to regenerate file. Update minimum
+ automake version to 1.9.3.
+ * acconfig.h: Remove PACKAGE and VERSION.
+ * aclocal.m4, configure, Makefile.in, po/Makefile.in,
+ src/Makefile.in, include/Makefile.in, libmath/Makefile.in,
+ testsuite/Makefile.in, config.h.in: Regenerate.
+
+2005-04-06 Benjamin Kosnik <bkoz@redhat.com>
+
+ * docs/html/test.html: Update.
+ * testsuite/printnow.c: Remove.
+ * scripts/check_survey.in: Remove.
+
+ * testsuite/abi_check.cc: To...
+ * testuite/testsuite_abi_check.cc: ...here.
+ * testsuite/libstdc++-abi/abi.exp: Change abi_check.cc to
+ testsuite_abi_check.cc.
+
+ * testsuite/testsuite_hooks.h: Move character related bits to...
+ * testsuite/testsuite_character.h: ...here.
+ * testsuite/testsuite_character.cc: ... and here.
+ * testsuite/21_strings/basic_string/inserters_extractors/pod/
+ 10081-in.cc: Use testsuite_character.h.
+ * testsuite/21_strings/basic_string/inserters_extractors/pod/
+ 10081-out.cc: Same.
+ * testsuite/22_locale/numpunct/members/pod/1.cc: Same.
+ * testsuite/22_locale/numpunct/members/pod/2.cc: Same.
+ * testsuite/27_io/basic_filebuf/2.cc: Same.
+ * testsuite/27_io/basic_fstream/2.cc: Same.
+ * testsuite/27_io/basic_istream/2.cc: Same.
+ * testsuite/27_io/basic_istream/extractors_arithmetic/pod/
+ 3983-1.cc: Same.
+ * testsuite/27_io/basic_istream/extractors_character/char/
+ 9826.cc: Same.
+ * testsuite/27_io/basic_istream/extractors_character/pod/
+ 3983-2.cc: Same.
+ * testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc: Same.
+ * testsuite/27_io/basic_istream/sentry/pod/1.cc: Same.
+ * testsuite/27_io/basic_ostream/2.cc: Same.
+ * testsuite/27_io/basic_ostream/sentry/pod/1.cc: Same.
+ * testsuite/27_io/basic_streambuf/2.cc: Same.
+ * testsuite/27_io/basic_stringbuf/2.cc: Same.
+ * testsuite/27_io/basic_stringbuf/4.cc: Same.
+ * testsuite/27_io/basic_stringstream/2.cc: Same.
+ * testsuite/27_io/fpos/1.cc: Same.
+ * testsuite/ext/mt_allocator/tune-1.cc: Same.
+ * testsuite/ext/mt_allocator/tune-2.cc: Same.
+ * testsuite/ext/stdio_filebuf/char/1.cc: Same.
+ * testsuite/lib/libstdc++.exp (v3-build_support): Add
+ testsuite_character.cc.
+ * testsuite/Makefile.am (libv3test_a_SOURCES): Add
+ testsuite_character.cc.
+ * testsuite/Makefile.in: Regenerate.
+
+ * configure.ac: Remove use of check_survey.
+ * configure: Regenerate.
+ * testsuite/Makefile.am: Remove check-script and
+ check-script-install rules.
+ * testsuite/Makefile.in: Regenerate.
+
+2005-04-06 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/cpu/s390/atomicity.h (__exchange_and_add): Add "memory"
+ clobber to inline assembly statement.
+
+2005-04-06 Kelley Cook <kcook@gcc.gnu.org>
+
+ * acinclude.m4 (_GLIBCXX_USE_LONG_LONG,
+ _GLIBCXX_USE_WCHAR_T, _GLIBCXX_USE_C99, _GLIBCXX_USE_C99_MATH,
+ _GLIBCXX_USE_C99_COMPLEX, _GLIBCXX_RES_LIMITS, _GLIBCXX_CONCEPT_CHECKS,
+ _GLIBCXX_SYMVER, _GLIBCXX_USE_LFS, _GLIBCXX_FULLY_DYNAMIC_STRING,
+ _GLIBCXX_USE_NLS, HAVE_GTHR_DEFAULT, HAVE_MBSTATE_T, HAVE_POLL,
+ HAVE_S_ISREG, HAVE_S_IFREG, HAVE_WRITEV, HAVE_INT64_T,
+ HAVE_LC_MESSAGES): Use long form of AC_DEFINE ...
+ * acconfig.h: ... to eliminate them from here.
+ (_GLIBCXX_ASM_SYMVER): Move definition below @BOTTOM@.
+ * config.h.in, configure: Regenerate.
+
+2005-04-05 Kelley Cook <kcook@gcc.gnu.org>
+
+ * Makefile.am (ACLOCAL_AMFLAGS): Define.
+ * crossconfig.m4: Wrap file into new GLIBCXX_CROSSCONFIG macro.
+ * configure.ac: Use it.
+ * acinclude.m4: Delete explicit m4_includes and sincludes.
+ * aclocal.m4, configure, Makefile.in, po/Makefile.in,
+ src/Makefile.in, include/Makefile.in, libmath/Makefile.in,
+ testsuite/Makefile.in: Regenerate.
+
+2005-04-05 Jonathan Wakely <redi@gcc.gnu.org>
+
+ * include/tr1/memory, include/tr1/boost_shared_ptr.h: Use mutex
+ to make _Sp_counted_base::add_ref_lock() thread-safe. Check whether
+ to destroy resources by testing for equality, not inequality. Add
+ empty critical sections to solve memory visibility issues.
+ * testsuite/tr1/2_general_utilities/memory/
+ shared_ptr/cons/auto_ptr_neg.cc: Use dg-excess-errors instead of
+ explicitly listing line numbers which need to be kept in sync.
+ * testsuite/tr1/2_general_utilities/memory/
+ shared_ptr/assign/auto_ptr_neg.cc: Same.
+ * testsuite/tr1/2_general_utilities/memory/
+ shared_ptr/assign/auto_ptr_rvalue_neg.cc: Same.
+ * testsuite/tr1/2_general_utilities/memory/
+ shared_ptr/cons/weak_ptr_expired.cc: Make XFAIL for consistency when
+ -fno-exceptions.
+ * testsuite/tr1/2_general_utilities/memory/
+ enable_shared_from_this/not_shared.cc: Add explanatory comments.
+ * testsuite/tr1/2_general_utilities/memory/
+ enable_shared_from_this/not_shared2.cc: Same.
+ * testsuite/tr1/2_general_utilities/memory/
+ enable_shared_from_this/not_shared3.cc: Same.
+
+2005-04-05 Kelley Cook <kcook@gcc.gnu.org>
+
+ * acconfig.h: Delete macros already AC_DEFINED.
+ * config.h.in: Regenerate.
+
+2005-04-05 Kelley Cook <kcook@gcc.gnu.org>
+
+ * acconfig.h (HAVE_MODF): Remove.
+ * linkage.m4: Check for modf.
+ * config.h.in, configure: Regenerate.
+
+2005-04-05 Kelley Cook <kcook@gcc.gnu.org>
+
+ * acconfig.h (ENABLE_NLS, HAVE_CATGETS): Remove.
+ (HAVE_GETTEXT, HAVE_STPCPY): Likewise.
+ * config.h.in: Regenerate.
+
+2005-04-05 Kelley Cook <kcook@gcc.gnu.org>
+
+ * linkage.m4 (GLIBCXX_CHECK_BUILTIN_MATH_DEC): Use m4 translit macro
+ to convert to uppercase instead of shelling out to tr.
+ * acconfig.h: Remove now redundant HAVE__BUILTINS_*.
+ * configure, config.h.in: Regenerate.
+
+2005-04-05 Kelley Cook <kcook@gcc.gnu.org>
+
+ * acconfig.h (HAVE_TANL): Correct cut-and-paste typo.
+ * config.h.in: Regenerate.
+
+2005-04-04 Mark Mitchell <mark@codesourcery.com>
+
+ * testsuite/Makefile.am (check-local): Remove.
+ (curent_symbols.txt): Likewise.
+ (check-abi): Do not depend on current_symbols.txt.
+ * testsuite/Makefile.in: Regenerated.
+ * testsuite/libstdc++-abi/abi.exp: Build current_symbols.txt.
+
+2005-04-02 Douglas Gregor <doug.gregor@gmail.com>
+
+ * include/tr1/tuple_iterate.h (tuple_element): Use new macro
+ _GLIBCXX_T_NUM_ARGS_PLUS_1 because _T is a macro on Darwin.
+ * include/tr1/repeat.h (_GLIBCXX_T_NUM_ARGS_PLUS_1): Define for
+ each iteration.
+ * scripts/gen_includers.h: Define _GLIBCXX_T_NUM_ARGS_PLUS_1 for
+ each iteration.
+
+2005-04-01 Douglas Gregor <doug.gregor@gmail.com>
+
+ * include/tr1/functional (_Maybe_wrap_member_pointer): Wrap up
+ member pointers in _Mem_fn but let other function objects pass
+ through unchanged.
+ * include/tr1/functional_iterator (bind): Reduce number of bind()
+ overloads to two to eliminate ambiguities. Use
+ _Maybe_wrap_member_pointer to handle member pointers gracefully.
+
+2005-04-01 Mark Mitchell <mark@codesourcery.com>
+
+ * testsuite/Makefile.am (noinst_PROGRAMS): Remove.
+ (site.exp): Write out the path to the baseline file.
+ (check-abi): Use DejaGNU.
+ (check-abi-verbose): Remove.
+ * testsuite/Makefile.in: Regenerated.
+ * testsuite/abi_check.cc (main): Check the return value from
+ compare_symbols.
+ * testsuite/testsuite_abi.cc (compare_symbols): Return a value.
+ * testsuite/testsuite_abi.h (compare_symbols): Adjust prototype.
+ * testsuite/libstdc++-abi/abi.exp: New file.
+
+2005-03-31 Chris Jefferson <chris@bubblescope.net>
+
+ * include/tr1/tuple: Support iteration via tuple_iterate.h.
+ * include/tr1/tuple_iterate.h: Iteration file for tuple.
+
+2005-03-31 Douglas Gregor <doug.gregor@gmail.com>
+
+ * include/Makefile.am (tr1_headers): Add bind and mu repetition
+ headers and reference_wrapper<> forwarding header.
+ * include/Makefile.in: Regenerate.
+ * include/tr1/bind_iterate.h: Implementation of function call
+ operators for the function object returned from tr1::bind().
+ * include/tr1/bind_repeat.h: Bind-specific repetition header,
+ akin to include/tr1/repeat.h.
+ * include/tr1/functional (_Mem_fn): Bug fix: declare result member
+ template for use with result_of.
+ (is_bind_expression): New.
+ (is_placeholder): New.
+ (_Placeholder): New. Placeholder type for bind.
+ (_Mu): New. Implementation detail of bind.
+ (_Bind, _Bind_result): New. Function objects returned by bind.
+ (_GLIBCXX_JOIN): New. Required to create bind placeholders.
+ * include/tr1/functional_iterate.h (_Bind, _Bind_result, bind):
+ New. Implementation of tr1::bind.
+ * include/tr1/mu_iterate.h (_Mu): result template and operator()
+ for the _Mu helper to bind.
+ * include/tr1/ref_fwd.h (reference_wrapper): Forward declaration
+ used by tuple header.
+ (ref): Ditto.
+ (cref): Ditto.
+ * include/tr1/repeat.h: Add bind-specific repetition macros.
+ * include/tr1/tuple: Use reference_wrapper forwarding header for
+ initial definitions, then include <tr1/functional> at the end, to
+ make the circular dependencies work.
+ (tie): Support zero-argument tie() function.
+ * testsuite/tr1/3_function_objects/bind/all_bound.cc: New test of
+ bind() functionality with parameters bound.
+ * testsuite/tr1/3_function_objects/bind/nested.cc: New test of
+ nested bind() expressions.
+ * testsuite/tr1/3_function_objects/bind/placeholders.cc: New test
+ of bind() placeholders.
+ * testsuite/tr1/3_function_objects/bind/ref.cc: New test of bind()
+ with arguments bound via reference_wrapper<>.
+ * scripts/gen_includers.pl: Generate the repetitive part of
+ include/tr1/repeat.h.
+ * scripts/gen_bind_includers.pl: Generate the repetitive part of
+ include/tr1/bind_repeat.h.
+
+2005-03-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
+
+ * testsuite/Makefile.am (CXX): Use ${SHELL}.
+ (GLIBCXX_INCLUDES): Same.
+ (AM_CXXFLAGS): Same.
+ * testsuite/Makefile.in: Regenerate.
+
+2005-03-25 Mark Mitchell <mark@codesourcery.com>
+
+ * testsuite/lib/libstdc++.exp (libstdc++_init): Define LOCALEDIR
+ when testing an installed compiler.
+
+ * testsuite/lib/libstdc++.exp (v3-build_support): Pass -w when
+ compiling support objects.
+
+2005-03-24 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/tr1/memory: Forward to...
+ * include/tr1/boost_shared_ptr.h: ...here. Add Boost Software License.
+ * include/Makefile.am (tr1_headers): Add boost_shared_ptr.h.
+ * include/Makefile.in: Regenerate.
+ * testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/
+ auto_ptr_neg.cc: Adjust line numbers.
+
+2005-03-23 Mark Mitchell <mark@codesourcery.com>
+
+ * testsuite/Makefile.am (all-local): Do not build testsuite_files.
+ * testsuite/Makefile.in: Regenerated.
+
+2005-03-23 Benjamin Kosnik <bkoz@redhat.com>
+
+ * acinclude.m4: Adjust so that _GLIBCXX_USE_C99 implies
+ using _GLIBCXX_USE_C99_COMPLEX, _GLIBCXX_USE_C99_MATH, and
+ _GLIBCXX_USE_C99_WCHAR.
+ Remove GLIBCXX_ENABLE_C_MBCHAR, consolidate in GLIBCXX_ENABLE_C99
+ and GLIBCXX_ENABLE_WCHAR_T.
+ Take C99 bits from GLIBCXX_CHECK_WCHAR_T_SUPPORT and put in
+ GLIBCXX_ENABLE_C99.
+ Change remaining parts of GLIBCXX_CHECK_WCHAR_T_SUPPORT to
+ GLIBCXX_CHECK_ICONV_SUPPORT.
+ * configure.ac: Remove GLIBCXX_ENABLE_C_MBCHAR, use
+ GLIBCXX_CHECK_ICONV_SUPPORT and GLIBCXX_ENABLE_WCHAR_T.
+ * crossconfig.m4: Same.
+ * acconfig.h: Same, adjust comments.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+ * docs/html/configopts.html: Change --enable-c-mbchar to
+ --enable-wchar_t.
+
+ * config/locale/gnu/c++locale_internal.h: Guard wide functions
+ with _GLIBCXX_USE_WCHAR_T.
+ * include/c_std/std_cwctype.h: Alphabetize, remove duplicates.
+ * include/c_std/std_cstdio.h: Spacing.
+
+ * config/locale/gnu/c_locale.h: Tweaks for unused warnings.
+ * src/debug.cc: Same.
+
+2005-03-23 Mark Mitchell <mark@codesourcery.com>
+
+ * testsuite/libstdc++-dg/normal.exp: Read testsuite_files, if it
+ exists.
+
+ * testsuite/lib/libstdc++.exp (libstdc++_wchar_t): Rename to ...
+ (v3-wchar_t): ... this.
+ (libstdc++_threads): Rename to ...
+ (v3-threads): ... this.
+ (libstdc++_test_objs): Rename to ...
+ (v3-test_objs): ... this.
+ (libstdc++_build_support): Rename to ...
+ (v3-build_support): ... this.
+ * testsuite/libstdc++-dg/normal.exp: Adjust to use new names.
+
+ * testsuite/lib/libstdc++.exp (libstdc++_init): Improve handling
+ of compilers not in the build directory.
+ (libstdc++_wchar_t): New variable.
+ (libstdc++_threads): Likewise.
+ (libstdc++_test_objs): Likewise.
+ (v3_target_compile): Use libstdc++_test_objs.
+ (v3-list-tests): Remove.
+ (listdc++_build_support): New function.
+ * testsuite/libstdc++-dg/normal.exp: Rework to dynamically
+ generate list of tests.
+
+2005-03-21 Chris Jefferson <chris@bubblescope.net>
+
+ PR libstdc++/20577
+ * include/bits/stl_algobase.h (iter_swap): Only delegate iter_swap
+ to swap when the iterator's reference_type is a reference to its
+ value_type.
+ * testsuite/25_algorithms/iter_swap/20577.cc: New.
+
+2005-03-21 Zack Weinberg <zack@codesourcery.com>
+
+ * acinclude.m4 (GLIBCXX_CONFIGURE): Delete gcc_version logic.
+ (GLIBCXX_EXPORT_INSTALL_INFO): Adjust quotation so ${gcc_version}
+ is expanded by the Makefiles, not by configure.
+ * fragment.am: Set gcc_version.
+ * libmath/Makefile.am: Likewise.
+ * configure, Makefile.in, include/Makefile.in, libmath/Makefile.in
+ * libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in
+ * testsuite/Makefile.in: Regenerate.
+
+2005-03-16 Paolo Carlini <pcarlini@suse.de>
+
+ * testsuite/20_util/functional/binders.cc: Remove explicit
+ instantiations for non-weak systems.
+ * testsuite/20_util/memory/allocator/1.cc: Likewise.
+ * testsuite/20_util/memory/allocator/10378.cc: Likewise.
+ * testsuite/20_util/memory/allocator/10416.cc: Likewise.
+ * testsuite/20_util/memory/allocator/8230.cc: Likewise.
+ * testsuite/20_util/utility/rel_ops.cc: Likewise.
+ * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
+ * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
+ * testsuite/23_containers/deque/cons/1.cc: Likewise.
+ * testsuite/23_containers/deque/cons/2.cc: Likewise.
+ * testsuite/23_containers/deque/invalidation/1.cc: Likewise.
+ * testsuite/23_containers/deque/invalidation/2.cc: Likewise.
+ * testsuite/23_containers/deque/invalidation/3.cc: Likewise.
+ * testsuite/23_containers/deque/invalidation/4.cc: Likewise.
+ * testsuite/23_containers/deque/modifiers/swap.cc: Likewise.
+ * testsuite/23_containers/deque/operators/1.cc: Likewise.
+ * testsuite/23_containers/list/capacity/1.cc: Likewise.
+ * testsuite/23_containers/list/cons/1.cc: Likewise.
+ * testsuite/23_containers/list/cons/2.cc: Likewise.
+ * testsuite/23_containers/list/cons/3.cc: Likewise.
+ * testsuite/23_containers/list/cons/4.cc: Likewise.
+ * testsuite/23_containers/list/cons/5.cc: Likewise.
+ * testsuite/23_containers/list/cons/6.cc: Likewise.
+ * testsuite/23_containers/list/cons/7.cc: Likewise.
+ * testsuite/23_containers/list/cons/8.cc: Likewise.
+ * testsuite/23_containers/list/cons/9.cc: Likewise.
+ * testsuite/23_containers/list/invalidation/1.cc: Likewise.
+ * testsuite/23_containers/list/invalidation/2.cc: Likewise.
+ * testsuite/23_containers/list/invalidation/3.cc: Likewise.
+ * testsuite/23_containers/list/invalidation/4.cc: Likewise.
+ * testsuite/23_containers/list/modifiers/1.cc: Likewise.
+ * testsuite/23_containers/list/modifiers/2.cc: Likewise.
+ * testsuite/23_containers/list/modifiers/3.cc: Likewise.
+ * testsuite/23_containers/list/operators/1.cc: Likewise.
+ * testsuite/23_containers/list/operators/2.cc: Likewise.
+ * testsuite/23_containers/list/operators/3.cc: Likewise.
+ * testsuite/23_containers/list/operators/4.cc: Likewise.
+ * testsuite/23_containers/map/insert/1.cc: Likewise.
+ * testsuite/23_containers/map/invalidation/1.cc: Likewise.
+ * testsuite/23_containers/map/invalidation/2.cc: Likewise.
+ * testsuite/23_containers/map/modifiers/swap.cc: Likewise.
+ * testsuite/23_containers/map/operators/1.cc: Likewise.
+ * testsuite/23_containers/multimap/invalidation/1.cc: Likewise.
+ * testsuite/23_containers/multimap/invalidation/2.cc: Likewise.
+ * testsuite/23_containers/multimap/modifiers/swap.cc: Likewise.
+ * testsuite/23_containers/multiset/insert/1.cc: Likewise.
+ * testsuite/23_containers/multiset/insert/2.cc: Likewise.
+ * testsuite/23_containers/multiset/invalidation/1.cc: Likewise.
+ * testsuite/23_containers/multiset/invalidation/2.cc: Likewise.
+ * testsuite/23_containers/multiset/modifiers/swap.cc: Likewise.
+ * testsuite/23_containers/priority_queue/members/7161.cc: Likewise.
+ * testsuite/23_containers/queue/members/7157.cc: Likewise.
+ * testsuite/23_containers/set/insert/1.cc: Likewise.
+ * testsuite/23_containers/set/invalidation/1.cc: Likewise.
+ * testsuite/23_containers/set/invalidation/2.cc: Likewise.
+ * testsuite/23_containers/set/modifiers/swap.cc: Likewise.
+ * testsuite/23_containers/stack/members/7158.cc: Likewise.
+ * testsuite/23_containers/vector/bool/6886.cc: Likewise.
+ * testsuite/23_containers/vector/capacity/1.cc: Likewise.
+ * testsuite/23_containers/vector/capacity/8230.cc: Likewise.
+ * testsuite/23_containers/vector/cons/1.cc: Likewise.
+ * testsuite/23_containers/vector/cons/2.cc: Likewise.
+ * testsuite/23_containers/vector/cons/3.cc: Likewise.
+ * testsuite/23_containers/vector/cons/6513.cc: Likewise.
+ * testsuite/23_containers/vector/element_access/1.cc: Likewise.
+ * 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/modifiers/1.cc: Likewise.
+ * testsuite/23_containers/vector/modifiers/2.cc: Likewise.
+ * testsuite/23_containers/vector/modifiers/swap.cc: Likewise.
+ * testsuite/23_containers/vector/resize/1.cc: Likewise.
+ * testsuite/24_iterators/back_insert_iterator.cc: Likewise.
+ * testsuite/24_iterators/front_insert_iterator.cc: Likewise.
+ * testsuite/24_iterators/insert_iterator.cc: Likewise.
+ * testsuite/24_iterators/iterator.cc: Likewise.
+ * testsuite/25_algorithms/copy/1.cc: Likewise.
+ * testsuite/25_algorithms/copy/2.cc: Likewise.
+ * testsuite/25_algorithms/copy/3.cc: Likewise.
+ * testsuite/25_algorithms/copy/4.cc: Likewise.
+ * testsuite/25_algorithms/equal.cc: Likewise.
+ * testsuite/25_algorithms/fill/1.cc: Likewise.
+ * testsuite/25_algorithms/fill/2.cc: Likewise.
+ * testsuite/25_algorithms/min_max.cc: Likewise.
+ * testsuite/25_algorithms/rotate.cc: Likewise.
+ * testsuite/25_algorithms/unique/1.cc: Likewise.
+ * testsuite/25_algorithms/unique/2.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise.
+ * testsuite/ext/concept_checks.cc: Likewise.
+ * testsuite/ext/hash_map/1.cc: Likewise.
+ * testsuite/ext/hash_set/1.cc: Likewise.
+ * testsuite/ext/rope/1.cc: Likewise.
+ * testsuite/ext/rope/2.cc: Likewise.
+ * testsuite/ext/rope/3.cc: Likewise.
+ * testsuite/thread/pthread1.cc: Likewise.
+ * testsuite/thread/pthread4.cc: Likewise.
+ * testsuite/thread/pthread5.cc: Likewise.
+ * testsuite/thread/pthread6.cc: Likewise.
+ * testsuite/thread/pthread7-rope.cc: Likewise.
+
+2005-03-15 Zack Weinberg <zack@codesourcery.com>
+
+ * include/Makefile.am (c++config.h): Depend on DATESTAMP from gcc
+ subdirectory. Generate #define of __GLIBCXX__ from contents of
+ that file.
+ * include/Makefile.in: Regenerate.
+ * include/bits/c++config: Do not define __GLIBCXX__.
+
+2005-03-15 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/20352
+ * include/std/std_complex.h (pow(const complex<_Tp>&,
+ const _Tp&)): On non-c99 platforms, don't try to compute
+ log of complex zero.
+
+2005-03-10 Ben Elliston <bje@au.ibm.com>
+
+ * testsuite/22_locale/locale/cons/12658_thread-1.cc: Don't XFAIL
+ on GNU/Linux.
+
+2005-03-07 Paolo Carlini <pcarlini@suse.de>
+
+ * include/tr1/type_traits (is_polymorphic): Don't forget
+ the virtual destructor, thus avoiding warnings.
+ * testsuite/testsuite_tr1.h (class AbstractClass,
+ class PolymorphicClass): Likewise.
+
+2005-03-07 Paolo Carlini <pcarlini@suse.de>
+
+ * include/std/std_complex.h (pow(const complex<_Tp>&,
+ const complex<_Tp>&)): Dispatch to either __complex_pow(__x.__rep(),
+ __y.__rep()) or __complex_pow(__x, __y) depending on the macro
+ _GLIBCXX_USE_C99_COMPLEX.
+
+2005-03-07 Paolo Carlini <pcarlini@suse.de>
+
+ * include/std/std_fstream.h (basic_fstream<>::open,
+ basic_ifstream<>::open, basic_ofstream<>::open): Implement the
+ resolution of DR 409 [Ready], call clear() on success.
+ * docs/html/ext/howto.html: Add an entry for DR 409.
+ * docs/html/faq/index.html (4_4): Clarify the new behavior.
+ * testsuite/27_io/basic_ifstream/open/char/1.cc: Adjust.
+ * testsuite/27_io/basic_ofstream/open/char/1.cc: Likewise.
+
+2005-03-05 Joseph S. Myers <joseph@codesourcery.com>
+
+ * 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:
+ XFAIL on *-*-hpux11.23.
+
+2005-03-04 Paolo Carlini <pcarlini@suse.de>
+
+ * include/tr1/type_traits: Add is_base_of.
+ * testsuite/tr1/4_metaprogramming/relationships_between_types/
+ is_base_of/is_base_of.cc: New.
+ * testsuite/tr1/4_metaprogramming/relationships_between_types/
+ is_base_of/typedefs.cc: Likewise.
+
+2005-03-03 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/tr1/functional: Convert relative path.
+
+ * docs/doxygen/user.cfg.in: Add tr1 includes.
+
+2005-03-03 Paolo Carlini <pcarlini@suse.de>
+
+ * include/tr1/type_traits: Implemenet is_polymorphic.
+ (is_empty): Minor tweaks.
+ * testsuite/testsuite_tr1.h: Add test types.
+ * testsuite/tr1/4_metaprogramming/type_properties/
+ is_polymorphic/is_polymorphic.cc: New.
+ * testsuite/tr1/4_metaprogramming/type_properties/
+ is_polymorphic/typedefs.cc: Likewise.
+ * testsuite/tr1/4_metaprogramming/composite_type_traits/
+ is_union_or_class/is_union_or_class.cc: Add tests.
+
+2005-03-02 Douglas Gregor <doug.gregor@gmail.com>
+
+ * include/tr1/functional (_Has_result_type): Cleanup.
+ (_Result_of_impl): Handle member data pointers correctly.
+ (reference_wrapper): Support invocation.
+ Move repetition code into new file include/tr1/repeat.h.
+ * include/tr1/functional_iterate.h (reference_wrapper): Support
+ invocation. Cleanup long lines.
+ * include/tr1/ref_wrap_iterate.h (reference_wrapper): Declare
+ invocation operators.
+ * include/tr1/repeat.h: Code repetition header.
+ * include/Makefile.am: Add ref_wrap_iterate.h, repeat.h.
+ * include/Makefile.in: Add ref_wrap_iterate.h, repeat.h.
+ * testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc:
+ New test of reference_wrapper invocation.
+ * testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc:
+ New test of reference_wrapper typedefs and base classes.
+ * testsuite/tr1/3_function_objects/result_of.cc: Trivial cleanup
+ (e-mail address).
+
+2005-03-02 Douglas Gregor <doug.gregor@gmail.com>
+
+ * include/tr1/function (result_of): New class template.
+ * include/tr1/functional/iterator.h: Implementation of TR1
+ result_of.
+ * testsuite/tr1/3_function_objects/result_of.cc: New test
+
+2005-03-01 Vladimir Merzliakov <wanderer@rsu.ru>
+
+ * testsuite/26_numerics/cmath/c99_classification_macros_c.cc: Tweak.
+
+2005-02-28 Benjamin Kosnik <bkoz@redhat.com>
+
+ * testsuite/tr1/2_general_utilities/memory/shared_ptr/
+ cons/auto_ptr_neg.cc: Correct line numbers.
+
+ * testsuite/testsuite_abi.cc: Add CXXABI_1.3.1.
+
+2005-02-28 Jonathan Wakely <redi@gcc.gnu.org>
+
+ * include/tr1/memory: Replace checked_deleter with (unchecked)
+ _Sp_deleter as GCC warns about delete on incomplete types anyway.
+
+2005-02-28 Jonathan Wakely <redi@gcc.gnu.org>
+
+ * include/tr1/memory: Add missing "inline" to __throw_bad_weak_ptr.
+
+2005-02-28 Hans-Peter Nilsson <hp@axis.com>
+
+ PR target/19065
+ * config/cpu/cris/atomicity.h (__exchange_and_add): In asm, use
+ 'Q' constraint, not 'm'.
+
+2005-02-26 Earl Chew <earl_chew@agilent.com>
+ Christopher Jefferson <chris@bubblescope.net>
+
+ * include/bits/stl_tree.h (_Rb_tree<>::_M_insert): Don't leak
+ memory if _M_key_compare throws.
+
+2005-02-25 Paolo Carlini <pcarlini@suse.de>
+
+ * include/tr1/type_traits: Add the trivial is_union and is_class;
+ add the __is_union_or_class extension.
+ (is_enum, is_empty): Use the latter.
+ * include/tr1/type_traits_fwd.h: Add __is_union_or_class.
+ * testsuite/testsuite_tr1.h: Add UnionType; trivial formatting
+ fixes.
+ * testsuite/tr1/4_metaprogramming/composite_type_traits/
+ is_union_or_class/is_union_or_class.cc: New.
+ * testsuite/tr1/4_metaprogramming/composite_type_traits/
+ is_union_or_class/typedefs.cc: Likewise.
+
+2005-02-24 Benjamin Kosnik <bkoz@redhat.com>
+
+ * testsuite/tr1/6_containers/unordered/instantiate/hash.cc: Guard
+ wchar_t use with _GLIBCXX_USE_WCHAR_T.
+
+2005-02-24 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/std/std_complex.h: _GLIBCXX_USE_C99_COMPLEX_MATH to
+ _GLIBCXX_USE_C99_COMPLEX.
+ * acinclude.m4: Same.
+ * acconfig.h: Same.
+ * configure: Regenerate.
+ * config.h.in: Same.
+
+2005-02-24 Paolo Carlini <pcarlini@suse.de>
+
+ * include/tr1/functional (mem_fn): Avoid _T, badname on
+ Darwin.
+
+2005-02-23 Douglas Gregor <doug.gregor@gmail.com>
+
+ * include/tr1/functional (function): New class template.
+ (mem_fn): New function template.
+ Implementations of TR1 function and mem_fn facilities.
+ * include/tr1/functional_iterate.h: Implementations of TR1
+ function and mem_fn facilities.
+ * testsuite/tr1/3_function_objects/function/1.cc: New
+ test of std::tr1::function.
+ * testsuite/tr1/3_function_objects/function/2.cc: New
+ test of std::tr1::function.
+ * testsuite/tr1/3_function_objects/function/3.cc: New
+ test of std::tr1::function.
+ * testsuite/tr1/3_function_objects/function/4.cc: New
+ test of std::tr1::function.
+ * testsuite/tr1/3_function_objects/function/5.cc: New
+ test of std::tr1::function.
+ * testsuite/tr1/3_function_objects/function/6.cc: New
+ test of std::tr1::function.
+ * testsuite/tr1/3_function_objects/function/7.cc: New
+ test of std::tr1::function.
+ * testsuite/tr1/3_function_objects/function/8.cc: New
+ test of std::tr1::function.
+ * testsuite/tr1/3_function_objects/function/9.cc: New
+ test of std::tr1::function.
+ * testsuite/tr1/3_function_objects/mem_fn.cc: New test of
+ std::tr1::mem_fn.
+
+2005-02-23 Paolo Carlini <pcarlini@suse.de>
+
+ * include/tr1/type_traits: Implement is_convertible.
+ * testsuite/tr1/4_metaprogramming/relationships_between_types/
+ is_convertible/is_convertible.cc: New.
+ * testsuite/tr1/4_metaprogramming/relationships_between_types/
+ is_convertible/typedefs.cc: Likewise.
+ * testsuite/testsuite_tr1.h: Add class DerivedType.
+
+ * include/tr1/type_traits (is_function): Don't mistake references
+ to function types for function types.
+ * testsuite/tr1/4_metaprogramming/primary_type_categories/
+ is_function/is_function.cc: Add testcase.
+
+2005-02-22 Benjamin Kosnik <bkoz@redhat.com>
+
+ * scripts/check_performance: Tweaks.
+
+ * testsuite/27_io/basic_ostream/inserters_other/wchar_t/2.cc: Name
+ output file with extension that clean rules can find.
+
+2005-02-22 Richard Henderson <rth@redhat.com>
+
+ PR libstdc++/20091
+ * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't special case
+ decrement of uncaughtExceptions for rethrow.
+
+2005-02-22 Paolo Carlini <pcarlini@suse.de>
+
+ * include/tr1/functional: Fix License to GPL with exception.
+ * include/tr1/hashtable: Likewise.
+ * include/tr1/tuple: Likewise.
+ * include/tr1/type_traits: Likewise.
+ * include/tr1/type_traits_fwd.h: Likewise.
+ * include/tr1/unordered_map: Likewise.
+ * include/tr1/unordered_set: Likewise.
+ * include/tr1/utility: Likewise.
+
+2005-02-22 Paolo Carlini <pcarlini@suse.de>
+
+ * testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/
+ auto_ptr_neg.cc: Add missing dg-do compile directive.
+ * testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/
+ auto_ptr_rvalue_neg.cc: Likewise.
+ * testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/
+ shared_ptr_neg.cc: Likewise.
+ * testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/
+ auto_ptr_neg.cc: Likewise.
+ * testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/
+ reset_neg.cc: Likewise.
+ * testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/
+ swap_neg.cc: Likewise.
+
+2005-02-22 Jonathan Wakely <redi@gcc.gnu.org>
+
+ * include/Makefile.am, include/Makefile.in: Fix accidental extra
+ change from previous commit.
+
+2005-02-21 Jonathan Wakely <redi@gcc.gnu.org>
+
+ * include/tr1/memory: New file.
+ * include/Makefile.am, include/Makefile.in: Add new TR1 header.
+ * testsuite/tr1/2_general_utilities/memory/
+ enable_shared_from_this/not_shared.cc: New test.
+ * testsuite/tr1/2_general_utilities/memory/
+ enable_shared_from_this/not_shared2.cc: New test.
+ * testsuite/tr1/2_general_utilities/memory/
+ enable_shared_from_this/not_shared3.cc: New test.
+ * testsuite/tr1/2_general_utilities/memory/
+ enable_shared_from_this/shared.cc: New test.
+ * testsuite/tr1/2_general_utilities/memory/
+ enable_shared_from_this/still_shared.cc: New test.
+ * testsuite/tr1/2_general_utilities/memory/
+ shared_ptr/assign/assign.cc: New test.
+ * testsuite/tr1/2_general_utilities/memory/
+ shared_ptr/assign/auto_ptr.cc: New test.
+ * testsuite/tr1/2_general_utilities/memory/
+ shared_ptr/assign/auto_ptr_neg.cc: New test.
+ * testsuite/tr1/2_general_utilities/memory/
+ shared_ptr/assign/auto_ptr_rvalue_neg.cc: New test.
+ * testsuite/tr1/2_general_utilities/memory/
+ shared_ptr/assign/shared_ptr.cc: New test.
+ * testsuite/tr1/2_general_utilities/memory/
+ shared_ptr/assign/shared_ptr_neg.cc: New test.
+ * testsuite/tr1/2_general_utilities/memory/
+ shared_ptr/comparison/cmp.cc: New test.
+ * testsuite/tr1/2_general_utilities/memory/
+ shared_ptr/cons/auto_ptr.cc: New test.
+ * testsuite/tr1/2_general_utilities/memory/
+ shared_ptr/cons/auto_ptr_neg.cc: New test.
+ * testsuite/tr1/2_general_utilities/memory/
+ shared_ptr/cons/copy.cc: New test.
+ * testsuite/tr1/2_general_utilities/memory/
+ shared_ptr/cons/default.cc: New test.
+ * testsuite/tr1/2_general_utilities/memory/
+ shared_ptr/cons/pointer.cc: New test.
+ * testsuite/tr1/2_general_utilities/memory/
+ shared_ptr/cons/weak_ptr.cc: New test.
+ * testsuite/tr1/2_general_utilities/memory/
+ shared_ptr/cons/weak_ptr_expired.cc: New test.
+ * testsuite/tr1/2_general_utilities/memory/
+ shared_ptr/dest/dest.cc: New test.
+ * testsuite/tr1/2_general_utilities/memory/
+ shared_ptr/misc/io.cc: New test.
+ * testsuite/tr1/2_general_utilities/memory/
+ shared_ptr/misc/swap.cc: New test.
+ * testsuite/tr1/2_general_utilities/memory/
+ shared_ptr/modifiers/reset.cc: New test.
+ * testsuite/tr1/2_general_utilities/memory/
+ shared_ptr/modifiers/reset_neg.cc: New test.
+ * testsuite/tr1/2_general_utilities/memory/
+ shared_ptr/modifiers/swap.cc: New test.
+ * testsuite/tr1/2_general_utilities/memory/
+ shared_ptr/modifiers/swap_neg.cc: New test.
+ * testsuite/tr1/2_general_utilities/memory/
+ shared_ptr/observers/bool_conv.cc: New test.
+ * testsuite/tr1/2_general_utilities/memory/
+ shared_ptr/observers/get.cc: New test.
+ * testsuite/tr1/2_general_utilities/memory/
+ shared_ptr/observers/unique.cc: New test.
+ * testsuite/tr1/2_general_utilities/memory/
+ shared_ptr/observers/use_count.cc: New test.
+
+2005-02-21 Paolo Carlini <pcarlini@suse.de>
+
+ * include/tr1/type_traits (is_member_function_pointer):
+ Remove ugly workaround for c++/19076.
+
+2005-02-21 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/basic_string.tcc (_Rep::_M_destroy): Don't
+ check for this == &_S_empty_rep, it's always false, here.
+
+2005-02-19 Matt Austern <austern@gmail.com>
+
+ * include/tr1/functional (tr1_hashtable_define_trivial_hash): Make
+ hash<T>::operator() a const member function for T a fundamental type
+ * include/tr1/hashtable (extract1st::operator()): Declare const.
+ (hash_code_base): Declare all member functions const
+ (hashtable::find): fix call to this->bucket_count()
+ (hashtable::count): Likewise.
+ (hashtable::equal_range): m_incr_bucket applies to iterator, not node.
+ * testsuite/tr1/6_containers/unordered/find/set1.cc: New test.
+ * testsuite/tr1/6_containers/unordered/find/map1.cc: New test.
+ * testsuite/tr1/6_containers/unordered/find/multimap1.cc: New test.
+ * testsuite/tr1/6_containers/unordered/find/multiset1.cc: New test.
+
+2005-02-19 Hans-Peter Nilsson <hp@axis.com>
+
+ PR libstdc++/20071
+ * include/tr1/functional (hash<std::wstring>): Wrap in #ifdef
+ _GLIBCXX_USE_WCHAR_T.
+
+2005-02-18 Richard Henderson <rth@redhat.com>
+
+ PR libstdc++/10606
+ * config/linker-map.gnu (CXXABI_1.3.1): Add __cxa_get_exception_ptr.
+ * libsupc++/eh_alloc.cc (__cxa_allocate_exception): Increment
+ uncaughtExceptions here instead of ...
+ * libsupc++/eh_throw.cc (__cxa_throw) ... here.
+ (__cxa_rethrow): Increment uncaughtExceptions here instead of ...
+ * libsupc++/eh_catch.cc (__cxa_end_catch): ... here.
+ (__cxa_get_exception_ptr): New.
+ * libsupc++/unwind-cxx.h (__cxa_get_exception_ptr): Declare.
+
+2005-02-18 Matt Austern <austern@apple.com>
+
+ * testsuite/tr1/6_containers/unordered/insert/array_syntax.cc: Fix
+ test case to use assignment instead of ==
+ * testsuite/tr1/6_containers/unordered/insert/map_range.cc: New test.
+ * testsuite/tr1/6_containers/unordered/insert/multimap_range.cc: New test.
+ * testsuite/tr1/6_containers/unordered/insert/multiset_range.cc: New test.
+ * testsuite/tr1/6_containers/unordered/insert/set_range.cc: New test.
+
+2005-02-18 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * testsuite/thread/pthread1.cc: Do not invoke pthread_setconcurrency
+ on Solaris 2.6 and below.
+ * testsuite/thread/pthread2.cc: Likewise.
+ * testsuite/thread/pthread3.cc: Likewise.
+ * testsuite/thread/pthread4.cc: Likewise.
+ * testsuite/thread/pthread5.cc: Likewise.
+ * testsuite/thread/pthread6.cc: Likewise.
+ * testsuite/thread/pthread7-rope.cc: Likewise.
+
+2005-02-17 Matt Austern <austern@apple.com>
+
+ * include/tr1/functional (hash): New function object.
+ * include/tr1/hashtable: New file.
+ * include/tr1/unordered_set: New file.
+ * include/tr1/unordered_map: New file.
+ * include/Makefile.am: Add three new TR1 headers.
+ * include/Makefile.in: Likewise.
+ * testsuite/tr1/6_containers/unordered/insert/array_syntax.cc: New test.
+ * testsuite/tr1/6_containers/unordered/insert/map_single.cc: New test.
+ * testsuite/tr1/6_containers/unordered/insert/multimap_single.cc: New test.
+ * testsuite/tr1/6_containers/unordered/insert/multiset_single.cc: New test.
+ * testsuite/tr1/6_containers/unordered/insert/set_single.cc: New test.
+ * testsuite/tr1/6_containers/unordered/instantiate/hash.cc: New test.
+ * testsuite/tr1/6_containers/unordered/instantiate/map.cc: New test.
+ * testsuite/tr1/6_containers/unordered/instantiate/multimap.cc: New test.
+ * testsuite/tr1/6_containers/unordered/instantiate/multiset.cc: New test.
+ * testsuite/tr1/6_containers/unordered/instantiate/set.cc: New test.
+
+2005-02-16 Paolo Carlini <pcarlini@suse.de>
+
+ * testsuite/23_containers/set/modifiers/16728.cc:
+ Remove redundant include <testsuite_performance.h>.
+
+2005-02-16 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/19829
+ * testsuite/21_strings/basic_string/find/char/3.cc: Fix the test
+ at line #66 to not access str_lit01 beyond its end.
+ * testsuite/21_strings/basic_string/find/wchar_t/3.cc: Likewise.
+
+2005-02-15 Paolo Carlini <pcarlini@suse.de>
+ Jon Grimm <jgrimm2@us.ibm.com>
+
+ PR libstdc++/19955
+ * include/bits/locale_facets.h (ctype<char>::_M_narrow_init()):
+ Fix the logic setting _M_narrow_ok: first check whether the
+ transformation is trivial with a dflt == 0, then deal with the
+ special case of zero.
+ * testsuite/22_locale/ctype/narrow/char/19955.cc: New.
+
+ * include/bits/locale_facets.h (ctype<char>::_M_widen_init()):
+ Tweak consistently to use memcmp; minor formatting fixes.
+
+2005-02-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR libstdc++/19946
+ * testsuite/demangle/abi_examples/01.cc (main): Adjust for 2005-02-13
+ demangler change.
+ * testsuite/demangle/abi_examples/02.cc (main): Likewise.
+
+2005-02-13 Richard Guenther <rguenth@gcc.gnu.org>
+ Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/11706
+ * include/c_std/std_cmath.h (pow): Use __builtin_powi[lf]
+ for integer overloads.
+
+ * testsuite/26_numerics/cmath/powi.cc: New.
+
+2005-02-11 Janis Johnson <janis187@us.ibm.com>
+
+ * testsuite/26_numerics/complex/13450.cc: Fix XFAIL selector.
+ * testsuite/26_numerics/complex/complex_value.cc: Ditto.
+ * testsuite/26_numerics/complex/pow.cc: Ditto.
+
+ * testsuite/lib/libstdc++.exp: Load target-supports-dg.exp.
+ * testsuite/26_numerics/complex/13450.cc: XFAIL for broken_cplxf_arg.
+ * testsuite/26_numerics/complex/complex_value.cc: Ditto.
+ * testsuite/26_numerics/complex/pow.cc: Ditto.
+
+2005-02-09 Mike Stump <mrs@apple.com>
+
+ * libsupc++/del_op.cc: Don't include cstdlib when !_GLIBCXX_HOSTED.
+
+2005-02-09 Janis Johnson <janis187@us.ibm.com>
+
+ * testsuite/ext/array_allocator/2.cc: XFAIL for powerpc*-*-linux*.
+
+2005-02-08 Mark Mitchell <mark@codesourcery.com>
+
+ * config/linker-map.gnu (GLIBCXX_3.4): Add _ZNSdC* and _ZNSdD*.
+
+2005-02-07 Loren J. Rittle <ljrittle@acm.org>
+
+ * testsuite/27_io/basic_istream/getline/wchar_t/5.cc: Make buf static.
+ * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc: Make ref and
+ src static.
+
+2005-02-02 Brad Spencer <spencer@infointeractive.com>
+
+ * debug.html: Fix broken tags.
+ * documentation.html: Same.
+
+2005-02-02 Andreas Jaeger <aj@suse.de>
+
+ * testsuite/lib/libstdc++.exp: Revert Geoffrey Keating's patch
+ from 2005-01-28.
+ * testsuite/Makefile.am: Likewise.
+ * testsuite/Makefile.in: Likewise.
+
+2005-02-01 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/cpp_type_traits.h: Rename _M_type fields to
+ __value, except for __enable_if, _M_type -> __type, consistently
+ with the other traits.
+ * include/bits/stl_algobase.h: Tweak consistently.
+ * include/bits/stl_tree.h: Likewise.
+ * include/bits/valarray_array.h: Likewise.
+ * include/c_std/std_cmath.h: Likewise.
+ * include/debug/safe_iterator.h: Likewise.
+ * include/std/std_complex.h: Likewise.
+
+2005-01-31 Brad Spencer <spencer@infointeractive.com>
+
+ * crossconfig.m4: Repair Solaris cross bits for strtold and strtof.
+ * configure: Regenerated.
+
+2005-01-31 Mark Mitchell <mark@codesourcery.com>
+
+ * include/std/std_limits.h (numeric_limits<float>::has_denorm):
+ Add required cast.
+ (numeric_limits<double>::has_denorm): Likewise.
+ (numeric_limits<long double>::has_denorm): Likewise.
+
+2005-01-31 Paolo Carlini <pcarlini@suse.de>
+ Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * include/bits/cpp_type_traits.h: Add types to the structs thus
+ making type_traits.h redundant; exploit new __truth_type and
+ __traitor helpers.
+ * include/bits/type_traits.h: Remove.
+ * include/Makefile.am: Update.
+ * include/Makefile.in: Regenerate.
+ * include/backward/tempbuf.h: Include cpp_type_traits.h instead.
+ * include/bits/basic_string.h (replace(iterator, iterator,
+ _InputIterator, _InputIterator), _S_construct(_InIterator,
+ _InIterator, const _Alloc&)): Use __is_integer instead.
+ * include/bits/stl_bvector.h (vector(_InputIterator,
+ _InputIterator, const allocator_type&), assign(_InputIterator,
+ _InputIterator), insert(iterator, _InputIterator, _InputIterator)):
+ Likewise.
+ * include/bits/stl_construct.h (_Destroy(_ForwardIterator,
+ _ForwardIterator)): Use __is_scalar.
+ * include/bits/stl_deque.h (deque(_InputIterator, _InputIterator,
+ const allocator_type&), assign(_InputIterator, _InputIterator),
+ insert(iterator, _InputIterator, _InputIterator)): Use __is_integer.
+ * include/bits/stl_list.h (assign(_InputIterator, _InputIterator),
+ insert(iterator, _InputIterator, _InputIterator)): Likewise.
+ * include/bits/stl_tempbuf.h (_Temporary_buffer(_ForwardIterator,
+ _ForwardIterator)): Use __is_scalar.
+ * include/bits/stl_uninitialized.h (uninitialized_copy(_InputIterator,
+ _InputIterator, _ForwardIterator), uninitialized_fill(_ForwardIterator,
+ _ForwardIterator, const _Tp&), uninitialized_fill_n(_ForwardIterator,
+ _Size, const _Tp&)): Likewise.
+ * include/bits/stl_vector.h (vector(_InputIterator, _InputIterator,
+ const allocator_type&), assign(_InputIterator, _InputIterator),
+ insert(iterator, _InputIterator, _InputIterator)): Use __is_integer.
+ * include/debug/debug.h (__valid_range(const _InputIterator&,
+ const _InputIterator&)): Use __is_integer.
+ * include/ext/slist (assign(_InputIterator, _InputIterator)): Likewise.
+ * include/std/std_string.h: Include cpp_type_traits.h instead.
+
+2005-01-30 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/19642
+ * config/locale/generic/c_locale.h (__convert_from_v): Switch only
+ LC_NUMERIC, and only when actually != "C".
+
+2005-01-28 Paolo Carlini <pcarlini@suse.de>
+
+ * include/tr1/type_traits (is_function): Minor consistency tweaks.
+
+2005-01-28 Geoffrey Keating <geoffk@apple.com>
+
+ * testsuite/lib/libstdc++.exp (libstdc++_init): Search the path
+ for the compiler. Don't set cxxflags.
+ (v3_target_compile): Search for libv3test.a relative to $objdir.
+ (lsearch_all_inline): New.
+ (lsearch_all_inline_not): New.
+ (v3-list-tests): Rewrite to not need generated files.
+ * testsuite/Makefile.am (IGNORE_WCHAR_T): New.
+ (IGNORE_THREAD): New.
+ (TESTS_TO_IGNORE): New.
+ (site.exp): Set tests_to_ignore, cxxflags.
+ * aclocal.m4: Regenerate.
+ * Makefile.in: Regenerate.
+ * libmath/Makefile.in: Likewise.
+ * libsupc++/Makefile.in: Likewise.
+ * po/Makefile.in: Likewise.
+ * src/Makefile.in: Likewise.
+ * testsuite/Makefile.in: Likewise.
+
+2005-01-28 Paolo Carlini <pcarlini@suse.de>
+
+ * include/tr1/type_traits: Implement is_empty.
+ * testsuite/tr1/4_metaprogramming/type_properties/is_empty/
+ is_empty.cc: New.
+ * testsuite/tr1/4_metaprogramming/type_properties/is_empty/
+ typedefs.cc: Likewise.
+
+ * include/tr1/type_traits (__is_abstract_helper): Simplify a bit.
+
+2005-01-28 Paolo Carlini <pcarlini@suse.de>
+
+ * include/tr1/type_traits: Implement is_abstract, by exploiting the
+ resolution of DR core/337.
+ * testsuite/testsuite_tr1.h: Add AbstractClass.
+ * testsuite/tr1/4_metaprogramming/type_properties/is_abstract/
+ is_abstract.cc: New.
+ * testsuite/tr1/4_metaprogramming/type_properties/is_abstract/
+ typedefs.cc: Likewise.
+
+ * include/tr1/type_traits (is_function): Rewrite, use the conversion
+ F& -> F* instead, thus avoiding problems with abstract classes.
+ * testsuite/tr1/4_metaprogramming/primary_type_categories/
+ is_function/is_function.cc: Add a test for tricky AbstractClass.
+
+2005-01-26 Paolo Carlini <pcarlini@suse.de>
+
+ * include/ext/mt_allocator.h
+ (struct __per_type_pool_policy<,, false>::_S_get_pool,
+ struct __per_type_pool_policy<,, true>::_S_get_pool): Scale
+ _M_chunk_size too with sizeof(_Tp), otherwise the allocator
+ breaks down as soon as sizeof(_Tp) >~ _S_chunk_size / 128;
+ reduce to 64 the multiplier for _M_max_bytes (safer wrt
+ _Binmap_type being a short); trivial reformattings.
+ * testsuite/ext/mt_allocator/check_allocate_big_per_type.cc: New.
+
+2005-01-26 Paolo Carlini <pcarlini@suse.de>
+
+ * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Add ac_c99_complex
+ to the final test for enable_c99, thus robustifying it; remove
+ duplicate final test on ac_99_math.
+ * configure: Regenerate.
+
+ * include/std/std_complex.h: Remove usages of the dead
+ _GLIBCXX_BUGGY_COMPLEX macro.
+
+ * testsuite/26_numerics/cmath/19322.cc: Protect with
+ _GLIBCXX_USE_C99_MATH instead of the stronger _GLIBCXX_USE_C99,
+ since only C99 math facilities are involved.
+ * testsuite/26_numerics/cmath/c99_classification_macros_c++.cc:
+ Likewise.
+
+2005-01-25 Loren J. Rittle <ljrittle@acm.org>
+
+ * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Map FreeBSD to darwin
+ instead of generic. Change autoconf report to "darwin or freebsd".
+ * configure: Regenerate.
+ * config/os/bsd/freebsd/ctype_inline.h (ctype<wchar_t>::do_is): Add.
+ (ctype<wchar_t>::do_scan_is): Likewise.
+ (ctype<wchar_t>::do_scan_not): Likewise.
+
+2005-01-25 Benjamin Kosnik <bkoz@redhat.com>
+
+ * acinclude.m4 (GLIBCXX_ENABLE_C99): Test for complex math
+ functions, and enable _GLIBCXX_USE_C99_COMPLEX_MATH if they exist.
+ * acconfig.h: Add _GLIBCXX_USE_C99_COMPLEX_MATH.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+ * include/std/std_complex.h: Protect complex builtins with
+ _GLIBCXX_USE_C99_COMPLEX_MATH.
+
+2005-01-24 Paolo Carlini <pcarlini@suse.de>
+
+ * include/tr1/type_traits: Implement is_signed and is_unsigned.
+ * testsuite/tr1/4_metaprogramming/type_properties/
+ is_signed/is_signed.cc: New.
+ * testsuite/tr1/4_metaprogramming/type_properties/
+ is_signed/typedefs.cc: Likewise.
+ * testsuite/tr1/4_metaprogramming/type_properties/
+ is_unsigned/is_unsigned.cc: Likewise.
+ * testsuite/tr1/4_metaprogramming/type_properties/
+ is_unsigned/typedefs.cc: Likewise.
+
+2005-01-23 Paolo Carlini <pcarlini@suse.de>
+
+ * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 34.
+
+2005-01-23 Paolo Carlini <pcarlini@suse.de>
+
+ * testsuite/27_io/basic_ostream/cons/wchar_t/9827.cc: New.
+ * testsuite/27_io/basic_ostream/endl/wchar_t/1.cc: Likewise.
+ * testsuite/27_io/basic_ostream/ends/wchar_t/1.cc: Likewise.
+ * testsuite/27_io/basic_ostream/ends/wchar_t/2.cc: Likewise.
+ * testsuite/27_io/basic_ostream/exceptions/wchar_t/9561.cc: Likewise.
+ * testsuite/27_io/basic_ostream/flush/wchar_t/1.cc: Likewise.
+ * testsuite/27_io/basic_ostream/flush/wchar_t/2.cc: Likewise.
+ * testsuite/27_io/basic_ostream/flush/wchar_t/
+ exceptions_badbit_throw.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_arithmetic/
+ wchar_t/2.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_arithmetic/
+ wchar_t/3.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_arithmetic/
+ wchar_t/4.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_arithmetic/
+ wchar_t/4402.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_arithmetic/
+ wchar_t/5.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_arithmetic/
+ wchar_t/6.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_arithmetic/
+ wchar_t/9555-oa.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_arithmetic/
+ wchar_t/exceptions_badbit_throw.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_arithmetic/
+ wchar_t/exceptions_failbit_throw.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_character/
+ wchar_t/1.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_character/
+ wchar_t/2.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_character/
+ wchar_t/3.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_character/
+ wchar_t/4.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_character/
+ wchar_t/5.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_character/
+ wchar_t/6.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_character/
+ wchar_t/9555-oc.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_other/
+ wchar_t/1.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_other/
+ wchar_t/2.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_other/
+ wchar_t/3.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_other/
+ wchar_t/4.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_other/
+ wchar_t/5.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_other/
+ wchar_t/9318-out.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_other/
+ wchar_t/9424-out.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_other/
+ wchar_t/9555-oo.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
+ error_failbit.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
+ exceptions_badbit_throw.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
+ exceptions_failbit_throw.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
+ exceptions_null.cc: Likewise.
+ * testsuite/27_io/basic_ostream/put/char/1.cc: Likewise.
+ * testsuite/27_io/basic_ostream/put/wchar_t/1.cc: Likewise.
+ * testsuite/27_io/basic_ostream/seekp/char/
+ exceptions_badbit_throw.cc: Likewise.
+ * testsuite/27_io/basic_ostream/seekp/wchar_t/
+ 2346-fstream.cc: Likewise.
+ * testsuite/27_io/basic_ostream/seekp/wchar_t/
+ 2346-sstream.cc: Likewise.
+ * testsuite/27_io/basic_ostream/seekp/wchar_t/
+ exceptions_badbit_throw.cc: Likewise.
+ * testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc: Likewise.
+ * testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc: Likewise.
+ * testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise.
+ * testsuite/27_io/basic_ostream/tellp/wchar_t/2.cc: Likewise.
+ * testsuite/27_io/basic_ostream/tellp/wchar_t/
+ exceptions_badbit_throw.cc: Likewise.
+ * testsuite/27_io/basic_ostream/write/wchar_t/1.cc: Likewise.
+
+ * testsuite/data/wostream_inserter_char-1.tst: Likewise.
+ * testsuite/data/wostream_inserter_char-1.txt: Likewise.
+ * testsuite/data/wostream_inserter_other-1.tst: Likewise.
+ * testsuite/data/wostream_inserter_other-2.tst: Likewise.
+ * testsuite/data/wostream_seeks-1.tst: Likewise.
+
+ * testsuite/27_io/basic_ostream/endl/char/1.cc: Minor tweaks.
+ * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise.
+ * testsuite/27_io/basic_ostream/exceptions/char/9561.cc: Likewise.
+ * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
+ * testsuite/27_io/basic_ostream/flush/char/2.cc: Likewise.
+ * testsuite/27_io/basic_ostream/flush/char/
+ exceptions_badbit_throw.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_arithmetic/
+ char/2.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_arithmetic/
+ char/3.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_arithmetic/
+ char/4.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_arithmetic/
+ char/4402.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_arithmetic/
+ char/5.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_arithmetic/
+ char/6.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_character/
+ char/4.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_other/char/
+ 2.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_other/char/
+ 5.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_other/char/
+ error_failbit.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_other/char/
+ exceptions_badbit_throw.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_other/char/
+ exceptions_failbit_throw.cc: Likewise.
+ * testsuite/27_io/basic_ostream/inserters_other/char/
+ exceptions_null.cc: Likewise.
+ * testsuite/27_io/basic_ostream/put/char/1.cc: Likewise.
+ * testsuite/27_io/basic_ostream/seekp/char/
+ exceptions_badbit_throw.cc: Likewise.
+ * testsuite/27_io/basic_ostream/sentry/char/2.cc: Likewise.
+ * testsuite/27_io/basic_ostream/write/char/1.cc: Likewise.
+
+2005-01-23 Paolo Carlini <pcarlini@suse.de>
+
+ * include/tr1/type_traits (aligned_storage): Use __aligned__ instead
+ of aligned.
+
+2005-01-23 Paolo Carlini <pcarlini@suse.de>
+ Andreas Jaeger <aj@suse.de>
+
+ PR libstdc++/19343
+ * include/bits/functexcept.h: Mark the helpers as 'noreturn'.
+
+2005-01-21 Loren J. Rittle <ljrittle@acm.org>
+
+ * testsuite/27_io/basic_filebuf/open/char/9507.cc: Allow
+ lseek on fifo to succeed. Thus, check for consistent report.
+
+2005-01-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR libstdc++/19510
+ * include/bits/stl_list.h (_List_iterator): Initialize _M_node
+ in constructor.
+ (_List_const_iterator): Likewise.
+ * include/bits/stl_tree.h (_Rb_tree_iterator): Likewise.
+ (_Rb_tree_const_iterator): Likewise.
+
+ * testsuite/23_containers/map/operators/1_neg.cc: Adjust line numbers.
+ * testsuite/23_containers/set/operators/1_neg.cc: Likewise.
+
+2005-01-20 Benjamin Kosnik <bkoz@redhat.com>
+
+ * testsuite/Makefile.am (check-compile): New.
+ * testsuite/Makefile.in: Regenerate.
+ * scripts/check_compile_time: New.
+ * scripts/check_performance: Tweaks.
+
+2005-01-19 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/19535
+ * include/tr1/utility (struct __pair_get<1>::__get, __const_get):
+ Fix typo in the return type.
+ * testsuite/tr1/6_containers/utility/19535.cc: New.
+
+2005-01-19 Loren J. Rittle <ljrittle@acm.org>
+
+ * include/ext/array_allocator.h (array_allocator<>::allocate):
+ Avoid __used. Use __array_used instead.
+ * docs/html/17_intro/BADNAMES: Add list for FreeBSD.
+
+2005-01-18 David Edelsohn <edelsohn@gnu.org>
+
+ * config/os/aix/os_defines.h (_XOPEN_SOURCE): Delete.
+ (_XOPEN_SOURCE_EXTENDED): Delete.
+
+2005-01-18 Benjamin Kosnik <bkoz@redhat.com>
+
+ * testsuite/testsuite_performance.h (time_counter::start):
+ Clear. Tweaks.
+ (clear_counters): Inline.
+ (start_counters): Inline.
+ (stop_counters): Inline.
+ * testsuite/performance/20_util/allocator/map_thread.cc: Return.
+ * testsuite/performance/20_util/allocator/insert.cc: Remove bogus
+ return, add return.
+ * testsuite/performance/20_util/allocator/map_thread.cc: Same.
+
+2005-01-17 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/19433
+ * include/bits/stl_tree.h (_Rb_tree<>::insert_unique(iterator,
+ const _Val&), _Rb_tree<>::insert_equal(iterator, const _Val&)):
+ Obtain amortized constant complexity if t is inserted right after
+ p - not before p - as per Table 69.
+ * testsuite/performance/23_containers/set_insert_from_sorted.cc: New.
+
+ * testsuite/23_containers/multiset/insert/2.cc: New.
+ * testsuite/23_containers/set/insert/1.cc: Likewise.
+
+ * testsuite/performance/23_containers/set_create_from_sorted.cc:
+ Simplify.
+
+ * include/bits/stl_tree.h: Add a few missing std:: qualifications.
+
+2005-01-16 Jonathan Wakely <redi@gcc.gnu.org>
+
+ * include/ext/rope: Qualify calls to std::copy() by sequence_buffer.
+ * testsuite/ext/rope/4.cc: Add.
+
+2005-01-16 Lorenz Minder <lminder@gmx.net>
+ Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/19322
+ * include/c_std/std_cmath.h: Define the C99 classification facilities
+ directly inside namespace std:.
+ * testsuite/26_numerics/cmath/19322.cc: New.
+
+2005-01-15 David Edelsohn <edelsohn@gnu.org>
+
+ * config/os/aix/os_defines.h (_G_USING_THUNKS): Delete.
+
+2005-01-14 Paolo Carlini <pcarlini@suse.de>
+
+ PR libstdc++/19422
+ * include/bits/stl_tree.h (_Rb_tree<>::insert_equal(_II, _II),
+ _Rb_tree<>::insert_unique(_II, _II)): Use insert_equal (insert_unique,
+ respectively) with hint (end()).
+ * testsuite/performance/23_containers/set_create_from_sorted.cc: New.
+
+2005-01-13 Geoffrey Keating <geoffk@apple.com>
+
+ * configure.host (darwin): On darwin8 or later, no need to build
+ libstdc++ with -flat_namespace.
+
+2005-01-13 Jonathan Wakely <redi@gcc.gnu.org>
+
+ * docs/doxygen/user.cfg.in: Set HAVE_DOT back to YES.
+
+2005-01-13 Paolo Carlini <pcarlini@suse.de>
+
+ * testsuite/26_numerics/cmath/c99_classification_macros_c++.cc:
+ Re-enable commented-out test for double type.
+
+2005-01-11 Paolo Carlini <pcarlini@suse.de>
+ Benjamin Kosnik <bkoz@redhat.com>
+
+ * src/istream.cc (basic_istream<char>::ignore(streamsize),
+ basic_istream<char>::ignore(streamsize, int_type),
+ basic_istream<wchar_t>::ignore(streamsize),
+ basic_istream<wchar_t>::ignore(streamsize, int_type)): In case
+ more than numeric_limits<streamsize>::max() chars are skipped,
+ set _M_gcount = max().
+ * include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
+ int_type)): Likewise; keep simple, don't forward.
+
+2005-01-11 Paolo Carlini <pcarlini@suse.de>
+
+ * src/istream.cc (basic_istream<char>::ignore(streamsize),
+ basic_istream<char>::ignore(streamsize, int_type),
+ basic_istream<wchar_t>::ignore(streamsize),
+ basic_istream<wchar_t>::ignore(streamsize, int_type)): Revert
+ 2005-01-05 change: actually, the previous behavior is conforming
+ and consistent with that of get(char_type*, streamsize, char_type),
+ albeit slightly different from that of 3.3/3.4 in a corner case
+ due to the use of snextc.
+ * include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
+ int_type)): Likewise.
+ * testsuite/27_io/basic_istream/ignore/char/4.cc: Remove.
+ * testsuite/27_io/basic_istream/ignore/wchar_t/4.cc: Likewise.
+
+2005-01-11 Paolo Carlini <pcarlini@suse.de>
+
+ * include/tr1/type_traits: Implement alignment_of and aligned_storage.
+ * testsuite/tr1/4_metaprogramming/other_transformations/
+ aligned_storage/aligned_storage.cc: New.
+ * testsuite/tr1/4_metaprogramming/other_transformations/
+ aligned_storage/typedefs.cc: Likewise.
+ * testsuite/tr1/4_metaprogramming/type_properties/
+ alignment_of/alignment_of.cc: Likewise.
+ * testsuite/tr1/4_metaprogramming/type_properties/
+ alignment_of/typedefs.cc: Likewise.
+
+2005-01-10 Paolo Carlini <pcarlini@suse.de>
+
+ * Makefile.in: Regenerate.
+ * libmath/Makefile.in: Likewise.
+ * libsupc++/Makefile.in: Likewise.
+ * po/Makefile.in: Likewise.
+ * src/Makefile.in: Likewise.
+ * testsuite/Makefile.in: Likewise.
+
+2005-01-10 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/stl_algobase.h (lexicographical_compare):
+ Fix concept check.
+
+2005-01-07 Benjamin Kosnik <bkoz@redhat.com>
+
+ * acinclude.m4: Remove CCODECVT_H.
+ * configure: Regenerate.
+ * include/Makefile.am (host_headers_extra): Move to...
+ (ext_headers): ...here.
+ * include/Makefile.in: Regenerate.
+ * include/ext/enc_filebuf: Remove enc_filebuf, consolidate
+ enc_traits to...
+ * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Move...
+ * include/ext/codecvt_specializations.h: ...here. Remove
+ _GLIBCXX_USE___ENC_TRAITS.
+ (__enc_traits): To __encoding_state, put in __gnu_cxx namespace.
+ (enc_char_traits): To __encoding_char_traits, put in __gnu_cxx
+ namespace.
+ * config/locale/generic/codecvt_specializations.h: Remove.
+ * include/bits/codecvt.h: Remove codecvt_specializations.h include.
+ * src/codecvt.cc: Remove __enc_traits::_S_max_size.
+
+2005-01-06 Benjamin Kosnik <bkoz@redhat.com>
+
+ * include/bits/fstream.tcc: Remove unnecessary qualifications for
+ uglified data members of basic_filebuf, including _M_buf,
+ _M_buf_size, _M_mode, _M_pback_init.
+ * include/std/std_fstream.h: Same.
+
+2005-01-05 Benjamin Kosnik <bkoz@redhat.com>
+
+ * testsuite/testsuite_hooks.h:
+ (copy_constructor::mark_call): Use __throw_runtime_error.
+ (assignment_operator::mark_call): Same.
+ * testsuite/testsuite_hooks.cc (verify_demangle): Same.
+ (locale_data): Remove, just use runtime_error directly.
+ (environment_variable): Same.
+ (not_found): Same.
+ (run_tests_wrapped_locale): Use __throw_runtime_error.
+ (run_tests_wrapped_env): Same.
+ (semaphore::semaphore): Same.
+ (semaphore::signal): Same.
+ (semaphore::wait): Same.
+ * testsuite/testsuite_abi.h (symbol_error): Remove, use logic_error.
+ * testsuite/testsuite_abi.cc (get_symbol): Use __throw_logic_error.
+ (create_symbols): Use __throw_runtime_error.
+ * src/bitmap_allocator.cc: Use __throw_bad_alloc.
+
+2005-01-05 Mark Mitchell <mark@codesourcery.com>
+
+ * testsuite/27_io/basic_filebuf/open/char/9507.cc: Remove child
+ process.
+
+2005-01-05 Paolo Carlini <pcarlini@suse.de>
+
+ * src/istream.cc (basic_istream<char>::ignore(streamsize),
+ basic_istream<char>::ignore(streamsize, int_type),
+ basic_istream<wchar_t>::ignore(streamsize),
+ basic_istream<wchar_t>::ignore(streamsize, int_type)): At the end,
+ first check _M_gcount vs __n.
+ * include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
+ int_type)): Likewise.
+ * testsuite/27_io/basic_istream/ignore/char/4.cc: New.
+ * testsuite/27_io/basic_istream/ignore/wchar_t/4.cc: Likewise.
+
+2005-01-03 Mark Mitchell <mark@codesourcery.com>
+
+ * testsuite/testsuite_hooks.cc: Use __throw_exception_again
+ instead of just throw.
+
+ * testsuite/testsuite_hooks.cc: Update coypright and follow style
+ guidelines.
+ * testsuite/testsuite_hooks.h: Likewise.
+ * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use
+ semaphores, not sleep.
+ * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc:
+ Likewise.
+ * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
+ * 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: Likewise.
+ * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
+ * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
+
+ * configure.ac: Check for sys/ipc.h and sys/sem.h.
+ * config.h.in: Regenerated.
+ * configure: Likewise.
+ * testsuite/testsuite_hooks.cc (_GLIBCXX_SYSV_SEM): Conditionally
+ define.
+ (sys/types.h): Include.
+ (sys/ipc.h): Likewise.
+ (sys/sem.h): Likewise.
+ (__gnu_test::semun): New type.
+ (__gnu_test::semaphore::sempaphore): New function.
+ (__gnu_test::semaphore::~semaphore): Likewise.
+ (__gnu_test::semaphore::wait): Likewise.
+ (__gnu_test::semaphore::signal): Likewise.
+ * testsuite/testsuite_hooks.h (__gnu_test::semaphore): New class.
+ * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use
+ semaphores, not sleep.
+ * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
+ * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc:
+ Likewise.
+ * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
+ * 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: Likewise.
+ * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
+ * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
+
+2005-01-03 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
+ int_type)): Reset _M_gcount to numeric_limits<streamsize>::min().
+ * src/istream.cc (basic_istream<char>::ignore(streamsize, int_type),
+ basic_istream<wchar_t>::ignore(streamsize, int_type)): Likewise.
+ * src/istream.cc (basic_istream<char>::ignore(streamsize),
+ basic_istream<wchar_t>::ignore(streamsize)): Likewise; fix a typo.
+
+2005-01-02 Paolo Carlini <pcarlini@suse.de>
+
+ * src/istream.cc (basic_istream<char>::ignore(streamsize),
+ basic_istream<char>::ignore(streamsize, int_type),
+ basic_istream<wchar_t>::ignore(streamsize),
+ basic_istream<wchar_t>::ignore(streamsize, int_type)): Avoid
+ _M_gcount overflows.
+ * include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
+ int_type)): Likewise; use snextc in the main loop, consistently
+ with the specializations above.
+
+2005-01-02 Chris Jefferson <chris@bubblescope.net>
+
+ * include/bits/stl_algobase.h (mismatch): Correct concept check.
+
+2005-01-01 Paolo Carlini <pcarlini@suse.de>
+
+ * testsuite/ext/enc_filebuf/char/13189.cc: Fix, first include
+ testsuite_hooks.h, to know whether including ext/enc_filebuf.h.
+ * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
+
+2005-01-01 Paolo Carlini <pcarlini@suse.de>
+
+ * testsuite/27_io/basic_istream/extractors_character/char/1.cc: Fix,
+ null-terminate array1 at the outset.
+ * testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc:
+ Likewise.
diff --git a/libstdc++-v3/ChangeLog.libstdcxx_so_7-branch b/libstdc++-v3/ChangeLog.libstdcxx_so_7-branch
index df352eadf4b..6a3c8546d92 100644
--- a/libstdc++-v3/ChangeLog.libstdcxx_so_7-branch
+++ b/libstdc++-v3/ChangeLog.libstdcxx_so_7-branch
@@ -1,3 +1,10 @@
+2006-01-23 Paolo Carlini <pcarlini@suse.de>
+
+ Merged to mainline at revision 110135.
+
+ (adjusted include/c_std/cmath.tcc vs _GLIBCXX_BEGIN_NAMESPACE;
+ roughly merged in gnu.ver symbols)
+
2006-01-03 Benjamin Kosnik <bkoz@redhat.com>
* acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Set default versioning to
diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4
index d4ddc494258..db63087d423 100644
--- a/libstdc++-v3/acinclude.m4
+++ b/libstdc++-v3/acinclude.m4
@@ -187,7 +187,7 @@ dnl safe (like an empty string).
dnl
dnl Defines:
dnl SECTION_LDFLAGS='-Wl,--gc-sections' if possible
-dnl OPT_LDFLAGS='-Wl,-O1' if possible
+dnl OPT_LDFLAGS='-Wl,-O1' and '-z,relro' if possible
dnl LD (as a side effect of testing)
dnl Sets:
dnl with_gnu_ld
@@ -222,49 +222,70 @@ AC_DEFUN([GLIBCXX_CHECK_LINKER_FEATURES], [
# Start by getting the version number. I think the libtool test already
# does some of this, but throws away the result.
+ AC_MSG_CHECKING([for ld version])
changequote(,)
ldver=`$LD --version 2>/dev/null | head -1 | \
sed -e 's/GNU ld version \([0-9.][0-9.]*\).*/\1/'`
changequote([,])
glibcxx_gnu_ld_version=`echo $ldver | \
$AWK -F. '{ if (NF<3) [$]3=0; print ([$]1*100+[$]2)*100+[$]3 }'`
+ AC_MSG_RESULT($glibcxx_gnu_ld_version)
# Set --gc-sections.
- if test "$with_gnu_ld" = "notbroken"; then
- # GNU ld it is! Joy and bunny rabbits!
+ glibcxx_gcsections_min_ld=21602
+ if test x"$with_gnu_ld" = x"yes" &&
+ test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
- # All these tests are for C++; save the language and the compiler flags.
- # Need to do this so that g++ won't try to link in libstdc++
+ # Sufficiently young GNU ld it is! Joy and bunny rabbits!
+ # NB: This flag only works reliably after 2.16.1. Configure tests
+ # for this are difficult, so hard wire a value that should work.
+
+ # All these tests are for C++, but run with the "C" compiler driver.
+ # Need to do this so that g++ won't try to link in libstdc++/libsupc++.
ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
- CFLAGS='-x c++ -Wl,--gc-sections'
+ CFLAGS='-x c++ -Wl,--gc-sections'
# Check for -Wl,--gc-sections
- # XXX This test is broken at the moment, as symbols required for linking
- # are now in libsupc++ (not built yet). In addition, this test has
- # cored on solaris in the past. In addition, --gc-sections doesn't
- # really work at the moment (keeps on discarding used sections, first
- # .eh_frame and now some of the glibc sections for iconv).
- # Bzzzzt. Thanks for playing, maybe next time.
AC_MSG_CHECKING([for ld that supports -Wl,--gc-sections])
- AC_TRY_RUN([
- int main(void)
- {
- try { throw 1; }
- catch (...) { };
- return 0;
- }
- ], [ac_sectionLDflags=yes],[ac_sectionLDflags=no], [ac_sectionLDflags=yes])
+ AC_TRY_LINK([ int one(void) { return 1; }
+ int two(void) { return 2; }
+ ], [ two(); ] , [ac_gcsections=yes], [ac_gcsections=no])
+ if test "$ac_gcsections" = "yes"; then
+ rm -f conftest.c
+ touch conftest.c
+ if $CC -c conftest.c; then
+ if $LD --gc-sections -o conftest conftest.o 2>&1 | \
+ grep "Warning: gc-sections option ignored" > /dev/null; then
+ ac_gcsections=no
+ fi
+ fi
+ rm -f conftest.c conftest.o conftest
+ fi
+ if test "$ac_gcsections" = "yes"; then
+ SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
+ fi
+ AC_MSG_RESULT($ac_gcsections)
+
if test "$ac_test_CFLAGS" = set; then
CFLAGS="$ac_save_CFLAGS"
else
# this is the suspicious part
CFLAGS=''
fi
- if test "$ac_sectionLDflags" = "yes"; then
- SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
+ fi
+
+ # Set -z,relro.
+ # Note this is only for shared objects.
+ ac_ld_relro=no
+ if test x"$with_gnu_ld" = x"yes"; then
+ AC_MSG_CHECKING([for ld that supports -Wl,-z,relro])
+ cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
+ if test -n "$cxx_z_relo"; then
+ OPT_LDFLAGS="-Wl,-z,relro"
+ ac_ld_relro=yes
fi
- AC_MSG_RESULT($ac_sectionLDflags)
+ AC_MSG_RESULT($ac_ld_relro)
fi
# Set linker optimization flags.
diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver
index c38a38c4c4f..d2ec6a31148 100644
--- a/libstdc++-v3/config/abi/pre/gnu.ver
+++ b/libstdc++-v3/config/abi/pre/gnu.ver
@@ -27,20 +27,57 @@ GLIBCXX_4.2 {
# Names inside the 'extern' block are demangled names.
extern "C++"
{
- std::[A-Za-h]*;
+ std::[A-Za]*;
+ std::ba[a-r]*;
+ std::basic_[a-e]*;
+ std::basic_f[a-r]*;
+# std::basic_fstream;
+ std::basic_f[t-z]*;
+ std::basic_[g-h]*;
+ std::basic_i[a-e]*;
+# std::basic_ifstream;
+ std::basic_i[g-r]*;
+ std::basic_istr[a-d]*;
+# std::basic_istream;
+ std::basic_istr[f-z]*;
+ std::basic_i[t-z]*;
+ std::basic_[j-n]*;
+ std::basic_o[a-e]*;
+# std::basic_ofstream;
+# std::basic_o[g-z]*;
+ std::basic_o[g-r]*;
+ std::basic_ostr[a-d]*;
+ std::basic_ostr[f-z]*;
+ std::basic_[p-r]*;
+ std::basic_streambuf*;
+# std::basic_string
+# std::basic_stringbuf
+ std::basic_stringstream*;
+ std::basic_[t-z]*;
+ std::ba[t-z]*;
+ std::b[b-z]*;
+ std::c[a-g]*;
+# std::char_traits;
+ std::c[i-z]*;
+ std::[d-h]*;
std::i[a-n]*;
std::ios_base::[A-Ha-z]*;
std::ios_base::_M_grow_words*;
std::ios_base::_M_init*;
std::ios_base::Init::[A-Za-z]*;
std::ios_base::[J-Za-z]*;
- std::i[p-z]*;
+ std::i[p-r]*;
+# std::istream
+# std::istreambuf_iterator
+ std::istringstream*;
+ std::istrstream*;
+ std::i[t-z]*;
std::[A-Zj-k]*;
std::length_error*;
std::logic_error*;
std::locale::[A-Za-e]*;
std::locale::facet::[A-Za-z]*;
- std::locale::facet::_S_get_c_locale*;
+ std::locale::facet::_S_get_c_locale*;
std::locale::facet::_S_clone_c_locale*;
std::locale::facet::_S_create_c_locale*;
std::locale::facet::_S_destroy_c_locale*;
@@ -50,11 +87,23 @@ GLIBCXX_4.2 {
std::locale::[A-Zj-z]*;
std::locale::_[A-Ha-z]*;
std::locale::_Impl::[A-Za-z]*;
- std::locale::_Impl::_M_[A-Za-z]*;
+# std::locale::_Impl::_M_[A-Za-z]*;
std::locale::_[J-Ra-z]*;
std::locale::_S_normalize_category*;
std::locale::_[T-Za-z]*;
- std::[A-Zm-z]*;
+# std::[A-Zm-r]*;
+ std::[A-Zm-n]*;
+ std::[p-r]*;
+ std::ostrstream*;
+ std::out_of_range*;
+ std::overflow_error*;
+ std::set_new_handler*;
+ std::set_terminate*;
+ std::set_unexpected*;
+# std::string
+ std::strstream*;
+ std::strstreambuf*;
+ std::[A-Zt-z]*;
std::_List_node_base::swap*;
std::_List_node_base::reverse*;
@@ -72,35 +121,196 @@ GLIBCXX_4.2 {
std::__num_base::_S_atoms_out;
std::__moneypunct_cache*;
std::__numpunct_cache*;
- std::__timepunct_cache*;
+ std::__timepunct_cache*
};
# Names not in an 'extern' block are mangled names.
- # operator new(size_t)
- _Znw[jm];
- # operator new(size_t, std::nothrow_t const&)
- _Znw[jm]RKSt9nothrow_t;
-
- # operator delete(void*)
- _ZdlPv;
- # operator delete(void*, std::nothrow_t const&)
- _ZdlPvRKSt9nothrow_t;
-
- # operator new[](size_t)
- _Zna[jm];
- # operator new[](size_t, std::nothrow_t const&)
- _Zna[jm]RKSt9nothrow_t;
+ # std::string
+ _ZNSsC*;
+ _ZNSsD*;
+ _ZNSs[0-9][a-z]*;
+ _ZNSs12_Alloc_hiderC*;
+ _ZNSs12_M_leak_hardEv;
+ _ZNSs12_S_constructE[jm]cRKSaIcE;
+ _ZNSs12_S_empty_repEv;
+ _ZNSs13_S_copy_chars*;
+ _ZNSs[0-9][0-9]_M_replace*;
+ _ZNSs4_Rep10_M_destroy*;
+ _ZNSs4_Rep10_M_dispose*;
+ _ZNSs4_Rep10_M_refcopyEv;
+ _ZNSs4_Rep10_M_refdataEv;
+ _ZNSs4_Rep12_S_empty_repEv;
+ _ZNSs4_Rep13_M_set_leakedEv;
+ _ZNSs4_Rep15_M_set_sharableEv;
+ _ZNSs4_Rep7_M_grab*;
+ _ZNSs4_Rep8_M_clone*;
+ _ZNSs4_Rep9_S_createE[jm][jm]*;
+ _ZNSs7_M_dataEPc;
+ _ZNSs7_M_leakEv;
+ _ZNSs9_M_mutateE[jm][jm][jm];
+ _ZNSs4_Rep20_S_empty_rep_storageE;
+ _ZNSs4_Rep11_S_max_sizeE;
+ _ZNSs4_Rep11_S_terminalE;
+ _ZNSsaSE*;
+ _ZNSsixE*;
+ _ZNSspLE*;
+ _ZNKSs[0-9][a-z]*;
+ _ZNKSs[0-9][0-9][a-z]*;
+ _ZNKSs[a-z]*;
+ _ZNKSs4_Rep12_M_is_leakedEv;
+ _ZNKSs4_Rep12_M_is_sharedEv;
+ _ZNKSs6_M_repEv;
+ _ZNKSs7_M_dataEv;
+ _ZNKSs7_M_iendEv;
+ _ZNKSs8_M_check*;
+ _ZNKSs8_M_limit*;
+ _ZNKSs9_M_ibeginEv;
+ _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_E*;
+
+ # std::wstring
+ _ZNSbIwSt11char_traitsIwESaIwEEC*;
+ _ZNSbIwSt11char_traitsIwESaIwEED*;
+ _ZNSbIwSt11char_traitsIwESaIwEE[0-9][a-z]*;
+ _ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC*;
+ _ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv;
+ _ZNSbIwSt11char_traitsIwESaIwEE12_S_constructE[jm]wRKS1_;
+ _ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv;
+ _ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_chars*;
+ _ZNSbIwSt11char_traitsIwESaIwEE[0-9][0-9]_M_replace*;
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroy*;
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_dispose*;
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv;
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv;
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep12_S_empty_repEv;
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv;
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv;
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grab*;
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_clone*;
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createE[jm][jm]*;
+ _ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw;
+ _ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv;
+ _ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateE[jm][jm][jm];
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE;
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE;
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE;
+ _ZNSbIwSt11char_traitsIwESaIwEEaSE*;
+ _ZNSbIwSt11char_traitsIwESaIwEEixE*;
+ _ZNSbIwSt11char_traitsIwESaIwEEpLE*;
+ _ZNKSbIwSt11char_traitsIwESaIwEE[0-9][a-z]*;
+ _ZNKSbIwSt11char_traitsIwESaIwEE[0-9][0-9][a-z]*;
+ _ZNKSbIwSt11char_traitsIwESaIwEE[a-z]*;
+ _ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv;
+ _ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv;
+ _ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv;
+ _ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv;
+ _ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv;
+ _ZNKSbIwSt11char_traitsIwESaIwEE8_M_check*;
+ _ZNKSbIwSt11char_traitsIwESaIwEE8_M_limit*;
+ _ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv;
+ _ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_E*;
+
+ # std::basic_stringbuf
+ _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE[CD]*;
+ _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE[0-9][a-r]*;
+ _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE[0-9]seek*;
+ _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE[0-9]set*;
+ _ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv;
+ _ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv;
+ _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs;
+ _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E;
+ _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE[0-9][t-z]*;
+ _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE[0-9]_M_[a-z]*;
+ _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE[0-9][0-9]_M_[a-z]*;
- # operator delete[](void*)
- _ZdaPv;
- # operator delete[](void*, std::nothrow_t const&)
- _ZdaPvRKSt9nothrow_t;
# std::basic_iostream constructors, destructors
_ZNSdC*;
_ZNSdD*;
+ # std::basic_fstream
+ _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EEC*;
+ _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EED*;
+ _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EE5closeEv;
+ _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EE7is_openEv;
+ _ZNSt13basic_fstreamI[cw]St11char_traitsI[cw]EE4open*;
+ _ZNKSt13basic_fstreamI[cw]St11char_traitsI[cw]EE5rdbufEv;
+
+ # std::basic_ifstream
+ _ZNSt14basic_ifstreamI[cw]St11char_traitsI[cw]EEC*;
+ _ZNSt14basic_ifstreamI[cw]St11char_traitsI[cw]EED*;
+ _ZNSt14basic_ifstreamI[cw]St11char_traitsI[cw]EE5closeEv;
+ _ZNSt14basic_ifstreamI[cw]St11char_traitsI[cw]EE7is_openEv;
+ _ZNSt14basic_ifstreamI[cw]St11char_traitsI[cw]EE4open*;
+ _ZNKSt14basic_ifstreamI[cw]St11char_traitsI[cw]EE5rdbufEv;
+
+ # std::basic_ofstream
+ _ZNSt14basic_ofstreamI[cw]St11char_traitsI[cw]EEC*;
+ _ZNSt14basic_ofstreamI[cw]St11char_traitsI[cw]EED*;
+ _ZNSt14basic_ofstreamI[cw]St11char_traitsI[cw]EE5closeEv;
+ _ZNSt14basic_ofstreamI[cw]St11char_traitsI[cw]EE7is_openEv;
+ _ZNSt14basic_ofstreamI[cw]St11char_traitsI[cw]EE4open*;
+ _ZNKSt14basic_ofstreamI[cw]St11char_traitsI[cw]EE5rdbufEv;
+
+ # std::basic_istream<char>
+ _ZNSiC*;
+ _ZNSiD*;
+ _ZNKSi[0-9][a-z]*;
+ _ZNSi[0-9][a-h]*;
+ _ZNSi[0-9][j-z]*;
+ _ZNSi6ignoreE[il][il];
+ _ZNSirsE*;
+
+ # std::basic_istream<wchar_t>
+ _ZNSt13basic_istreamIwSt11char_traitsIwEEC*;
+ _ZNSt13basic_istreamIwSt11char_traitsIwEED*;
+ _ZNKSt13basic_istreamIwSt11char_traitsIwEE[0-9][a-z]*;
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE[0-9][a-h]*;
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE[0-9][j-z]*;
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreE[il][ijlm];
+ _ZNSt13basic_istreamIwSt11char_traitsIwEErsE*;
+
+ # std::istream operators and extractors
+ _ZSt7getlineI[cw]St11char_traitsI[cw]ESaI[cw]EERSt13basic_istream*;
+ _ZSt2wsI[cw]St11char_traitsI[cw]EE*;
+ _ZStrsI[cw]St11char_traitsI[cw]EERSt13basic_istream*;
+ _ZStrsI[cw]St11char_traitsI[cw]ESaI[cw]EERSt13basic_istream*;
+ _ZStrsISt11char_traitsI[cw]EERSt13basic_istream*;
+ _ZStrsId[cw]St11char_traitsI[cw]EERSt13basic_istream*;
+ _ZStrsIe[cw]St11char_traitsI[cw]EERSt13basic_istream*;
+ _ZStrsIf[cw]St11char_traitsI[cw]EERSt13basic_istream*;
+
+ # std::basic_ostream<char>
+ _ZNSoC*;
+ _ZNSoD*;
+ _ZNKSo6sentrycvbEv;
+ _ZNSo8_M_write*;
+ _ZNSo[0-9][a-z]*;
+ _ZNSolsE*;
+
+ # std::basic_ostream<wchar_t>
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEEC*;
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEED*;
+ _ZNKSt13basic_ostreamIwSt11char_traitsIwEE[0-9][a-z]*;
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw;
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv;
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpE*;
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv;
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKw*;
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentry*;
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_write*;
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEElsE*;
+
+ # std::ostream operators and inserters
+ _ZSt4end[ls]I[cw]St11char_traitsI[cw]EERSt13basic_ostream*;
+ _ZSt5flushI[cw]St11char_traitsI[cw]EERSt13basic_ostream*;
+ _ZStlsI[cw]St11char_traitsI[cw]EERSt13basic_ostream*;
+ _ZStlsI[cw]St11char_traitsI[cw]ESaI[cw]EERSt13basic_ostream*;
+ _ZStlsISt11char_traitsI[cw]EERSt13basic_ostream*;
+ _ZStlsId[cw]St11char_traitsI[cw]EERSt13basic_ostream*;
+ _ZStlsIe[cw]St11char_traitsI[cw]EERSt13basic_ostream*;
+ _ZStlsIf[cw]St11char_traitsI[cw]EERSt13basic_ostream*;
+
# std::locale destructors
_ZNSt6localeD*;
@@ -115,10 +325,22 @@ GLIBCXX_4.2 {
_ZNSt8ios_baseD*;
_ZNSt8ios_base4InitD*;
- # bool has_facet
+ # bool std::has_facet
_ZSt9has_facet*;
- # _Rb_tree
+ # std::num_get
+ _ZNKSt7num_getI[cw]St19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEE*;
+
+ # std::num_put
+ _ZNKSt7num_putI[cw]St19ostreambuf_iteratorI[cw]St11char_traitsI[cw]EEE*;
+
+ # std::money_get
+ _ZNKSt9money_getI[cw]St19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEE*;
+
+ # std::money_put
+ _ZNKSt9money_putI[cw]St19ostreambuf_iteratorI[cw]St11char_traitsI[cw]EEE*;
+
+ # std::_Rb_tree
_ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base;
_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base;
_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base;
@@ -144,6 +366,58 @@ GLIBCXX_4.2 {
_ZNSt12__basic_fileIcEC*;
_ZNSt12__basic_fileIcED*;
+ # std::__convert_to_v
+ _ZSt14__convert_to_v*;
+
+ # __gnu_cxx::stdio_sync_filebuf
+ _ZTVN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEE;
+
+ # __gnu_cxx::__atomic_add
+ # __gnu_cxx::__exchange_and_add
+ _ZN9__gnu_cxx12__atomic_add*;
+ _ZN9__gnu_cxx18__exchange_and_add*;
+
+ # __gnu_debug
+ _ZN10__gnu_norm15_List_node_base4hookEPS0_;
+ _ZN10__gnu_norm15_List_node_base4swapERS0_S1_;
+ _ZN10__gnu_norm15_List_node_base6unhookEv;
+ _ZN10__gnu_norm15_List_node_base7reverseEv;
+ _ZN10__gnu_norm15_List_node_base8transferEPS0_S1_;
+ _ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb;
+ _ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv;
+ _ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv;
+ _ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_;
+ _ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv;
+ _ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv;
+ _ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv;
+ _ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_;
+ _ZNK11__gnu_debug16_Error_formatter8_M_errorEv;
+ _ZNK11__gnu_debug16_Error_formatter10_M_messageENS_13_Debug_msg_idE;
+ _ZNK11__gnu_debug16_Error_formatter10_Parameter14_M_print_fieldEPKS0_PKc;
+ _ZNK11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_;
+ _ZNK11__gnu_debug16_Error_formatter13_M_print_wordEPKc;
+ _ZNK11__gnu_debug16_Error_formatter15_M_print_stringEPKc;
+
+ # operator new(size_t)
+ _Znw[jm];
+ # operator new(size_t, std::nothrow_t const&)
+ _Znw[jm]RKSt9nothrow_t;
+
+ # operator delete(void*)
+ _ZdlPv;
+ # operator delete(void*, std::nothrow_t const&)
+ _ZdlPvRKSt9nothrow_t;
+
+ # operator new[](size_t)
+ _Zna[jm];
+ # operator new[](size_t, std::nothrow_t const&)
+ _Zna[jm]RKSt9nothrow_t;
+
+ # operator delete[](void*)
+ _ZdaPv;
+ # operator delete[](void*, std::nothrow_t const&)
+ _ZdaPvRKSt9nothrow_t;
+
# virtual table
_ZTVNSt8ios_base7failureE;
_ZTVNSt6locale5facetE;
@@ -194,9 +468,6 @@ GLIBCXX_4.2 {
_ZTv0_n12_NS*;
_ZTv0_n24_NS*;
- # std::__convert_to_v
- _ZSt14__convert_to_v*;
-
# stub functions from libmath
sinf;
sinl;
@@ -230,13 +501,39 @@ GLIBCXX_4.2 {
__signbitf;
__signbitl;
- # __gnu_cxx::stdio_sync_filebuf
- _ZTVN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEE;
+ # GLIBCXX_ABI compatibility only.
+ # std::string
+ _ZNKSs11_M_disjunctEPKc;
+ _ZNKSs15_M_check_lengthE[jm][jm]PKc;
+ _ZNSs4_Rep26_M_set_length_and_sharableE*;
+ _ZNSs7_M_copyEPcPKc[jm];
+ _ZNSs7_M_moveEPcPKc[jm];
+ _ZNSs9_M_assignEPc[jm]c;
- # __gnu_cxx::__atomic_add
- # __gnu_cxx::__exchange_and_add
- _ZN9__gnu_cxx12__atomic_add*;
- _ZN9__gnu_cxx18__exchange_and_add*;
+ # std::wstring
+ _ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw;
+ _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthE[jm][jm]PKc;
+ _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableE*;
+ _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKw[jm];
+ _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKw[jm];
+ _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPw[jm]w;
+
+ _ZNKSt13basic_fstreamI[cw]St11char_traitsI[cw]EE7is_openEv;
+ _ZNKSt14basic_ifstreamI[cw]St11char_traitsI[cw]EE7is_openEv;
+ _ZNKSt14basic_ofstreamI[cw]St11char_traitsI[cw]EE7is_openEv;
+
+ _ZNSi6ignoreE[ilv];
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreE[ilv];
+
+ _ZNSt11char_traitsI[cw]E2eqERK[cw]S2_;
+
+ _ZNSt19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEppEv;
+
+ # std::locale::Impl _M_ members
+ _ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE;
+ _ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE;
+ _ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE;
+ _ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_i;
# In GLIBCXX_3.4.1
_ZNSt12__basic_fileIcE4fileEv;
@@ -270,7 +567,9 @@ GLIBCXX_4.2 {
modfl;
# In GLIBCXX_3.4.4
- _ZN9__gnu_cxx6__poolILb[01]EE13_M_initializeEv;
+ _ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv;
+ _ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE;
+ _ZN9__gnu_cxx6__poolILb1EE21_M_destroy_thread_keyEPv;
_ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv;
_ZN9__gnu_cxx6__poolILb[01]EE16_M_reserve_blockE[jm][jm];
_ZN9__gnu_cxx6__poolILb[01]EE16_M_reclaim_blockEPc[jm];
@@ -285,14 +584,26 @@ GLIBCXX_4.2 {
_ZNSt8ios_base20_M_dispose_callbacksEv;
_ZNSt6locale5facet13_S_get_c_nameEv;
- # In GLIBCXX_3.4.6
+ # In GLIBCXX_3.4.6
+ _ZSt17__copy_streambufsI[cw]St11char_traitsI[cw]EEiPSt15basic_streambuf*;
+ _ZNSt8ios_base17_M_call_callbacksENS_5eventE;
+ _ZNSt8ios_base20_M_dispose_callbacksEv;
+ _ZNSt6locale5facet13_S_get_c_nameEv;
+
+ _ZNSt15basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EE9showmanycEv;
+
+ _ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv;
+
_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEv;
-
- # In GLIBCXX_3.4.7
+
+ # In GLIBCXX_3.4.7
_ZNSt6locale5_Impl16_M_install_cacheEPKNS_5facetE[jm];
+ _ZNSt10__gnu_norm15_List_node_base4hookEPS0_;
_ZNSt10__gnu_norm15_List_node_base4swapERS0_S1_;
+ _ZNSt10__gnu_norm15_List_node_base6unhookEv;
_ZNSt10__gnu_norm15_List_node_base7reverseEv;
+ _ZNSt10__gnu_norm15_List_node_base8transferEPS0_S1_;
_ZNKSt11__gnu_debug16_Error_formatter8_M_errorEv;
_ZNKSt11__gnu_debug16_Error_formatter10_M_messageENS_13_Debug_msg_idE;
_ZNKSt11__gnu_debug16_Error_formatter10_Parameter14_M_print_fieldEPKS0_PKc;
@@ -307,6 +618,11 @@ GLIBCXX_4.2 {
_ZNSt11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv;
_ZNSt11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv;
_ZNSt11__gnu_debug19_Safe_sequence_base7_M_swapERS0_;
+
+ _ZNSo9_M_insertI*;
+ _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertI*;
+ _ZNSi10_M_extractI*;
+ _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractI*;
# Changed in libstdcxx_so_7-branch
_ZNSt10__gnu_norm15_List_node_base7_M_hookEPS0_;
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
index acb2e296219..f1438f160ca 100755
--- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure
@@ -8266,83 +8266,126 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# Start by getting the version number. I think the libtool test already
# does some of this, but throws away the result.
+ echo "$as_me:$LINENO: checking for ld version" >&5
+echo $ECHO_N "checking for ld version... $ECHO_C" >&6
ldver=`$LD --version 2>/dev/null | head -1 | \
sed -e 's/GNU ld version \([0-9.][0-9.]*\).*/\1/'`
glibcxx_gnu_ld_version=`echo $ldver | \
$AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
+ echo "$as_me:$LINENO: result: $glibcxx_gnu_ld_version" >&5
+echo "${ECHO_T}$glibcxx_gnu_ld_version" >&6
# Set --gc-sections.
- if test "$with_gnu_ld" = "notbroken"; then
- # GNU ld it is! Joy and bunny rabbits!
+ glibcxx_gcsections_min_ld=21602
+ if test x"$with_gnu_ld" = x"yes" &&
+ test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
- # All these tests are for C++; save the language and the compiler flags.
- # Need to do this so that g++ won't try to link in libstdc++
+ # Sufficiently young GNU ld it is! Joy and bunny rabbits!
+ # NB: This flag only works reliably after 2.16.1. Configure tests
+ # for this are difficult, so hard wire a value that should work.
+
+ # All these tests are for C++, but run with the "C" compiler driver.
+ # Need to do this so that g++ won't try to link in libstdc++/libsupc++.
ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
- CFLAGS='-x c++ -Wl,--gc-sections'
+ CFLAGS='-x c++ -Wl,--gc-sections'
# Check for -Wl,--gc-sections
- # XXX This test is broken at the moment, as symbols required for linking
- # are now in libsupc++ (not built yet). In addition, this test has
- # cored on solaris in the past. In addition, --gc-sections doesn't
- # really work at the moment (keeps on discarding used sections, first
- # .eh_frame and now some of the glibc sections for iconv).
- # Bzzzzt. Thanks for playing, maybe next time.
echo "$as_me:$LINENO: checking for ld that supports -Wl,--gc-sections" >&5
echo $ECHO_N "checking for ld that supports -Wl,--gc-sections... $ECHO_C" >&6
- if test "$cross_compiling" = yes; then
- ac_sectionLDflags=yes
-else
- cat >conftest.$ac_ext <<_ACEOF
+ if test x$gcc_no_link = xyes; then
+ { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
+echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
+ int one(void) { return 1; }
+ int two(void) { return 2; }
- int main(void)
- {
- try { throw 1; }
- catch (...) { };
- return 0;
- }
-
+int
+main ()
+{
+ two();
+ ;
+ return 0;
+}
_ACEOF
-rm -f conftest$ac_exeext
+rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+ (eval $ac_link) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
- ac_sectionLDflags=yes
+ ac_gcsections=yes
else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+ echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-( exit $ac_status )
-ac_sectionLDflags=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ac_gcsections=no
fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test "$ac_gcsections" = "yes"; then
+ rm -f conftest.c
+ touch conftest.c
+ if $CC -c conftest.c; then
+ if $LD --gc-sections -o conftest conftest.o 2>&1 | \
+ grep "Warning: gc-sections option ignored" > /dev/null; then
+ ac_gcsections=no
+ fi
+ fi
+ rm -f conftest.c conftest.o conftest
+ fi
+ if test "$ac_gcsections" = "yes"; then
+ SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
+ fi
+ echo "$as_me:$LINENO: result: $ac_gcsections" >&5
+echo "${ECHO_T}$ac_gcsections" >&6
+
if test "$ac_test_CFLAGS" = set; then
CFLAGS="$ac_save_CFLAGS"
else
# this is the suspicious part
CFLAGS=''
fi
- if test "$ac_sectionLDflags" = "yes"; then
- SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
+ fi
+
+ # Set -z,relro.
+ # Note this is only for shared objects.
+ ac_ld_relro=no
+ if test x"$with_gnu_ld" = x"yes"; then
+ echo "$as_me:$LINENO: checking for ld that supports -Wl,-z,relro" >&5
+echo $ECHO_N "checking for ld that supports -Wl,-z,relro... $ECHO_C" >&6
+ cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
+ if test -n "$cxx_z_relo"; then
+ OPT_LDFLAGS="-Wl,-z,relro"
+ ac_ld_relro=yes
fi
- echo "$as_me:$LINENO: result: $ac_sectionLDflags" >&5
-echo "${ECHO_T}$ac_sectionLDflags" >&6
+ echo "$as_me:$LINENO: result: $ac_ld_relro" >&5
+echo "${ECHO_T}$ac_ld_relro" >&6
fi
# Set linker optimization flags.
@@ -53090,83 +53133,126 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# Start by getting the version number. I think the libtool test already
# does some of this, but throws away the result.
+ echo "$as_me:$LINENO: checking for ld version" >&5
+echo $ECHO_N "checking for ld version... $ECHO_C" >&6
ldver=`$LD --version 2>/dev/null | head -1 | \
sed -e 's/GNU ld version \([0-9.][0-9.]*\).*/\1/'`
glibcxx_gnu_ld_version=`echo $ldver | \
$AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
+ echo "$as_me:$LINENO: result: $glibcxx_gnu_ld_version" >&5
+echo "${ECHO_T}$glibcxx_gnu_ld_version" >&6
# Set --gc-sections.
- if test "$with_gnu_ld" = "notbroken"; then
- # GNU ld it is! Joy and bunny rabbits!
+ glibcxx_gcsections_min_ld=21602
+ if test x"$with_gnu_ld" = x"yes" &&
+ test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
+
+ # Sufficiently young GNU ld it is! Joy and bunny rabbits!
+ # NB: This flag only works reliably after 2.16.1. Configure tests
+ # for this are difficult, so hard wire a value that should work.
- # All these tests are for C++; save the language and the compiler flags.
- # Need to do this so that g++ won't try to link in libstdc++
+ # All these tests are for C++, but run with the "C" compiler driver.
+ # Need to do this so that g++ won't try to link in libstdc++/libsupc++.
ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
- CFLAGS='-x c++ -Wl,--gc-sections'
+ CFLAGS='-x c++ -Wl,--gc-sections'
# Check for -Wl,--gc-sections
- # XXX This test is broken at the moment, as symbols required for linking
- # are now in libsupc++ (not built yet). In addition, this test has
- # cored on solaris in the past. In addition, --gc-sections doesn't
- # really work at the moment (keeps on discarding used sections, first
- # .eh_frame and now some of the glibc sections for iconv).
- # Bzzzzt. Thanks for playing, maybe next time.
echo "$as_me:$LINENO: checking for ld that supports -Wl,--gc-sections" >&5
echo $ECHO_N "checking for ld that supports -Wl,--gc-sections... $ECHO_C" >&6
- if test "$cross_compiling" = yes; then
- ac_sectionLDflags=yes
-else
- cat >conftest.$ac_ext <<_ACEOF
+ if test x$gcc_no_link = xyes; then
+ { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
+echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
+ int one(void) { return 1; }
+ int two(void) { return 2; }
- int main(void)
- {
- try { throw 1; }
- catch (...) { };
- return 0;
- }
-
+int
+main ()
+{
+ two();
+ ;
+ return 0;
+}
_ACEOF
-rm -f conftest$ac_exeext
+rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+ (eval $ac_link) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
- ac_sectionLDflags=yes
+ ac_gcsections=yes
else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+ echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-( exit $ac_status )
-ac_sectionLDflags=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ac_gcsections=no
fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test "$ac_gcsections" = "yes"; then
+ rm -f conftest.c
+ touch conftest.c
+ if $CC -c conftest.c; then
+ if $LD --gc-sections -o conftest conftest.o 2>&1 | \
+ grep "Warning: gc-sections option ignored" > /dev/null; then
+ ac_gcsections=no
+ fi
+ fi
+ rm -f conftest.c conftest.o conftest
+ fi
+ if test "$ac_gcsections" = "yes"; then
+ SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
+ fi
+ echo "$as_me:$LINENO: result: $ac_gcsections" >&5
+echo "${ECHO_T}$ac_gcsections" >&6
+
if test "$ac_test_CFLAGS" = set; then
CFLAGS="$ac_save_CFLAGS"
else
# this is the suspicious part
CFLAGS=''
fi
- if test "$ac_sectionLDflags" = "yes"; then
- SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
+ fi
+
+ # Set -z,relro.
+ # Note this is only for shared objects.
+ ac_ld_relro=no
+ if test x"$with_gnu_ld" = x"yes"; then
+ echo "$as_me:$LINENO: checking for ld that supports -Wl,-z,relro" >&5
+echo $ECHO_N "checking for ld that supports -Wl,-z,relro... $ECHO_C" >&6
+ cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
+ if test -n "$cxx_z_relo"; then
+ OPT_LDFLAGS="-Wl,-z,relro"
+ ac_ld_relro=yes
fi
- echo "$as_me:$LINENO: result: $ac_sectionLDflags" >&5
-echo "${ECHO_T}$ac_sectionLDflags" >&6
+ echo "$as_me:$LINENO: result: $ac_ld_relro" >&5
+echo "${ECHO_T}$ac_ld_relro" >&6
fi
# Set linker optimization flags.
@@ -74407,83 +74493,126 @@ done
# Start by getting the version number. I think the libtool test already
# does some of this, but throws away the result.
+ echo "$as_me:$LINENO: checking for ld version" >&5
+echo $ECHO_N "checking for ld version... $ECHO_C" >&6
ldver=`$LD --version 2>/dev/null | head -1 | \
sed -e 's/GNU ld version \([0-9.][0-9.]*\).*/\1/'`
glibcxx_gnu_ld_version=`echo $ldver | \
$AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
+ echo "$as_me:$LINENO: result: $glibcxx_gnu_ld_version" >&5
+echo "${ECHO_T}$glibcxx_gnu_ld_version" >&6
# Set --gc-sections.
- if test "$with_gnu_ld" = "notbroken"; then
- # GNU ld it is! Joy and bunny rabbits!
+ glibcxx_gcsections_min_ld=21602
+ if test x"$with_gnu_ld" = x"yes" &&
+ test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
+
+ # Sufficiently young GNU ld it is! Joy and bunny rabbits!
+ # NB: This flag only works reliably after 2.16.1. Configure tests
+ # for this are difficult, so hard wire a value that should work.
- # All these tests are for C++; save the language and the compiler flags.
- # Need to do this so that g++ won't try to link in libstdc++
+ # All these tests are for C++, but run with the "C" compiler driver.
+ # Need to do this so that g++ won't try to link in libstdc++/libsupc++.
ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
- CFLAGS='-x c++ -Wl,--gc-sections'
+ CFLAGS='-x c++ -Wl,--gc-sections'
# Check for -Wl,--gc-sections
- # XXX This test is broken at the moment, as symbols required for linking
- # are now in libsupc++ (not built yet). In addition, this test has
- # cored on solaris in the past. In addition, --gc-sections doesn't
- # really work at the moment (keeps on discarding used sections, first
- # .eh_frame and now some of the glibc sections for iconv).
- # Bzzzzt. Thanks for playing, maybe next time.
echo "$as_me:$LINENO: checking for ld that supports -Wl,--gc-sections" >&5
echo $ECHO_N "checking for ld that supports -Wl,--gc-sections... $ECHO_C" >&6
- if test "$cross_compiling" = yes; then
- ac_sectionLDflags=yes
-else
- cat >conftest.$ac_ext <<_ACEOF
+ if test x$gcc_no_link = xyes; then
+ { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
+echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
+ int one(void) { return 1; }
+ int two(void) { return 2; }
- int main(void)
- {
- try { throw 1; }
- catch (...) { };
- return 0;
- }
-
+int
+main ()
+{
+ two();
+ ;
+ return 0;
+}
_ACEOF
-rm -f conftest$ac_exeext
+rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+ (eval $ac_link) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
- ac_sectionLDflags=yes
+ ac_gcsections=yes
else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+ echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-( exit $ac_status )
-ac_sectionLDflags=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ac_gcsections=no
fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test "$ac_gcsections" = "yes"; then
+ rm -f conftest.c
+ touch conftest.c
+ if $CC -c conftest.c; then
+ if $LD --gc-sections -o conftest conftest.o 2>&1 | \
+ grep "Warning: gc-sections option ignored" > /dev/null; then
+ ac_gcsections=no
+ fi
+ fi
+ rm -f conftest.c conftest.o conftest
+ fi
+ if test "$ac_gcsections" = "yes"; then
+ SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
+ fi
+ echo "$as_me:$LINENO: result: $ac_gcsections" >&5
+echo "${ECHO_T}$ac_gcsections" >&6
+
if test "$ac_test_CFLAGS" = set; then
CFLAGS="$ac_save_CFLAGS"
else
# this is the suspicious part
CFLAGS=''
fi
- if test "$ac_sectionLDflags" = "yes"; then
- SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
+ fi
+
+ # Set -z,relro.
+ # Note this is only for shared objects.
+ ac_ld_relro=no
+ if test x"$with_gnu_ld" = x"yes"; then
+ echo "$as_me:$LINENO: checking for ld that supports -Wl,-z,relro" >&5
+echo $ECHO_N "checking for ld that supports -Wl,-z,relro... $ECHO_C" >&6
+ cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
+ if test -n "$cxx_z_relo"; then
+ OPT_LDFLAGS="-Wl,-z,relro"
+ ac_ld_relro=yes
fi
- echo "$as_me:$LINENO: result: $ac_sectionLDflags" >&5
-echo "${ECHO_T}$ac_sectionLDflags" >&6
+ echo "$as_me:$LINENO: result: $ac_ld_relro" >&5
+echo "${ECHO_T}$ac_ld_relro" >&6
fi
# Set linker optimization flags.
@@ -75887,83 +76016,126 @@ done
# Start by getting the version number. I think the libtool test already
# does some of this, but throws away the result.
+ echo "$as_me:$LINENO: checking for ld version" >&5
+echo $ECHO_N "checking for ld version... $ECHO_C" >&6
ldver=`$LD --version 2>/dev/null | head -1 | \
sed -e 's/GNU ld version \([0-9.][0-9.]*\).*/\1/'`
glibcxx_gnu_ld_version=`echo $ldver | \
$AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
+ echo "$as_me:$LINENO: result: $glibcxx_gnu_ld_version" >&5
+echo "${ECHO_T}$glibcxx_gnu_ld_version" >&6
# Set --gc-sections.
- if test "$with_gnu_ld" = "notbroken"; then
- # GNU ld it is! Joy and bunny rabbits!
+ glibcxx_gcsections_min_ld=21602
+ if test x"$with_gnu_ld" = x"yes" &&
+ test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
+
+ # Sufficiently young GNU ld it is! Joy and bunny rabbits!
+ # NB: This flag only works reliably after 2.16.1. Configure tests
+ # for this are difficult, so hard wire a value that should work.
- # All these tests are for C++; save the language and the compiler flags.
- # Need to do this so that g++ won't try to link in libstdc++
+ # All these tests are for C++, but run with the "C" compiler driver.
+ # Need to do this so that g++ won't try to link in libstdc++/libsupc++.
ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
- CFLAGS='-x c++ -Wl,--gc-sections'
+ CFLAGS='-x c++ -Wl,--gc-sections'
# Check for -Wl,--gc-sections
- # XXX This test is broken at the moment, as symbols required for linking
- # are now in libsupc++ (not built yet). In addition, this test has
- # cored on solaris in the past. In addition, --gc-sections doesn't
- # really work at the moment (keeps on discarding used sections, first
- # .eh_frame and now some of the glibc sections for iconv).
- # Bzzzzt. Thanks for playing, maybe next time.
echo "$as_me:$LINENO: checking for ld that supports -Wl,--gc-sections" >&5
echo $ECHO_N "checking for ld that supports -Wl,--gc-sections... $ECHO_C" >&6
- if test "$cross_compiling" = yes; then
- ac_sectionLDflags=yes
-else
- cat >conftest.$ac_ext <<_ACEOF
+ if test x$gcc_no_link = xyes; then
+ { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
+echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
+ int one(void) { return 1; }
+ int two(void) { return 2; }
- int main(void)
- {
- try { throw 1; }
- catch (...) { };
- return 0;
- }
-
+int
+main ()
+{
+ two();
+ ;
+ return 0;
+}
_ACEOF
-rm -f conftest$ac_exeext
+rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+ (eval $ac_link) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
- ac_sectionLDflags=yes
+ ac_gcsections=yes
else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+ echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-( exit $ac_status )
-ac_sectionLDflags=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ac_gcsections=no
fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test "$ac_gcsections" = "yes"; then
+ rm -f conftest.c
+ touch conftest.c
+ if $CC -c conftest.c; then
+ if $LD --gc-sections -o conftest conftest.o 2>&1 | \
+ grep "Warning: gc-sections option ignored" > /dev/null; then
+ ac_gcsections=no
+ fi
+ fi
+ rm -f conftest.c conftest.o conftest
+ fi
+ if test "$ac_gcsections" = "yes"; then
+ SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
+ fi
+ echo "$as_me:$LINENO: result: $ac_gcsections" >&5
+echo "${ECHO_T}$ac_gcsections" >&6
+
if test "$ac_test_CFLAGS" = set; then
CFLAGS="$ac_save_CFLAGS"
else
# this is the suspicious part
CFLAGS=''
fi
- if test "$ac_sectionLDflags" = "yes"; then
- SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
+ fi
+
+ # Set -z,relro.
+ # Note this is only for shared objects.
+ ac_ld_relro=no
+ if test x"$with_gnu_ld" = x"yes"; then
+ echo "$as_me:$LINENO: checking for ld that supports -Wl,-z,relro" >&5
+echo $ECHO_N "checking for ld that supports -Wl,-z,relro... $ECHO_C" >&6
+ cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
+ if test -n "$cxx_z_relo"; then
+ OPT_LDFLAGS="-Wl,-z,relro"
+ ac_ld_relro=yes
fi
- echo "$as_me:$LINENO: result: $ac_sectionLDflags" >&5
-echo "${ECHO_T}$ac_sectionLDflags" >&6
+ echo "$as_me:$LINENO: result: $ac_ld_relro" >&5
+echo "${ECHO_T}$ac_ld_relro" >&6
fi
# Set linker optimization flags.
@@ -77243,83 +77415,126 @@ done
# Start by getting the version number. I think the libtool test already
# does some of this, but throws away the result.
+ echo "$as_me:$LINENO: checking for ld version" >&5
+echo $ECHO_N "checking for ld version... $ECHO_C" >&6
ldver=`$LD --version 2>/dev/null | head -1 | \
sed -e 's/GNU ld version \([0-9.][0-9.]*\).*/\1/'`
glibcxx_gnu_ld_version=`echo $ldver | \
$AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
+ echo "$as_me:$LINENO: result: $glibcxx_gnu_ld_version" >&5
+echo "${ECHO_T}$glibcxx_gnu_ld_version" >&6
# Set --gc-sections.
- if test "$with_gnu_ld" = "notbroken"; then
- # GNU ld it is! Joy and bunny rabbits!
+ glibcxx_gcsections_min_ld=21602
+ if test x"$with_gnu_ld" = x"yes" &&
+ test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
+
+ # Sufficiently young GNU ld it is! Joy and bunny rabbits!
+ # NB: This flag only works reliably after 2.16.1. Configure tests
+ # for this are difficult, so hard wire a value that should work.
- # All these tests are for C++; save the language and the compiler flags.
- # Need to do this so that g++ won't try to link in libstdc++
+ # All these tests are for C++, but run with the "C" compiler driver.
+ # Need to do this so that g++ won't try to link in libstdc++/libsupc++.
ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
- CFLAGS='-x c++ -Wl,--gc-sections'
+ CFLAGS='-x c++ -Wl,--gc-sections'
# Check for -Wl,--gc-sections
- # XXX This test is broken at the moment, as symbols required for linking
- # are now in libsupc++ (not built yet). In addition, this test has
- # cored on solaris in the past. In addition, --gc-sections doesn't
- # really work at the moment (keeps on discarding used sections, first
- # .eh_frame and now some of the glibc sections for iconv).
- # Bzzzzt. Thanks for playing, maybe next time.
echo "$as_me:$LINENO: checking for ld that supports -Wl,--gc-sections" >&5
echo $ECHO_N "checking for ld that supports -Wl,--gc-sections... $ECHO_C" >&6
- if test "$cross_compiling" = yes; then
- ac_sectionLDflags=yes
-else
- cat >conftest.$ac_ext <<_ACEOF
+ if test x$gcc_no_link = xyes; then
+ { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
+echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
+ int one(void) { return 1; }
+ int two(void) { return 2; }
- int main(void)
- {
- try { throw 1; }
- catch (...) { };
- return 0;
- }
-
+int
+main ()
+{
+ two();
+ ;
+ return 0;
+}
_ACEOF
-rm -f conftest$ac_exeext
+rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+ (eval $ac_link) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
- ac_sectionLDflags=yes
+ ac_gcsections=yes
else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+ echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-( exit $ac_status )
-ac_sectionLDflags=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ac_gcsections=no
fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test "$ac_gcsections" = "yes"; then
+ rm -f conftest.c
+ touch conftest.c
+ if $CC -c conftest.c; then
+ if $LD --gc-sections -o conftest conftest.o 2>&1 | \
+ grep "Warning: gc-sections option ignored" > /dev/null; then
+ ac_gcsections=no
+ fi
+ fi
+ rm -f conftest.c conftest.o conftest
+ fi
+ if test "$ac_gcsections" = "yes"; then
+ SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
+ fi
+ echo "$as_me:$LINENO: result: $ac_gcsections" >&5
+echo "${ECHO_T}$ac_gcsections" >&6
+
if test "$ac_test_CFLAGS" = set; then
CFLAGS="$ac_save_CFLAGS"
else
# this is the suspicious part
CFLAGS=''
fi
- if test "$ac_sectionLDflags" = "yes"; then
- SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
+ fi
+
+ # Set -z,relro.
+ # Note this is only for shared objects.
+ ac_ld_relro=no
+ if test x"$with_gnu_ld" = x"yes"; then
+ echo "$as_me:$LINENO: checking for ld that supports -Wl,-z,relro" >&5
+echo $ECHO_N "checking for ld that supports -Wl,-z,relro... $ECHO_C" >&6
+ cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
+ if test -n "$cxx_z_relo"; then
+ OPT_LDFLAGS="-Wl,-z,relro"
+ ac_ld_relro=yes
fi
- echo "$as_me:$LINENO: result: $ac_sectionLDflags" >&5
-echo "${ECHO_T}$ac_sectionLDflags" >&6
+ echo "$as_me:$LINENO: result: $ac_ld_relro" >&5
+echo "${ECHO_T}$ac_ld_relro" >&6
fi
# Set linker optimization flags.
@@ -79386,83 +79601,126 @@ done
# Start by getting the version number. I think the libtool test already
# does some of this, but throws away the result.
+ echo "$as_me:$LINENO: checking for ld version" >&5
+echo $ECHO_N "checking for ld version... $ECHO_C" >&6
ldver=`$LD --version 2>/dev/null | head -1 | \
sed -e 's/GNU ld version \([0-9.][0-9.]*\).*/\1/'`
glibcxx_gnu_ld_version=`echo $ldver | \
$AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
+ echo "$as_me:$LINENO: result: $glibcxx_gnu_ld_version" >&5
+echo "${ECHO_T}$glibcxx_gnu_ld_version" >&6
# Set --gc-sections.
- if test "$with_gnu_ld" = "notbroken"; then
- # GNU ld it is! Joy and bunny rabbits!
+ glibcxx_gcsections_min_ld=21602
+ if test x"$with_gnu_ld" = x"yes" &&
+ test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
- # All these tests are for C++; save the language and the compiler flags.
- # Need to do this so that g++ won't try to link in libstdc++
+ # Sufficiently young GNU ld it is! Joy and bunny rabbits!
+ # NB: This flag only works reliably after 2.16.1. Configure tests
+ # for this are difficult, so hard wire a value that should work.
+
+ # All these tests are for C++, but run with the "C" compiler driver.
+ # Need to do this so that g++ won't try to link in libstdc++/libsupc++.
ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
- CFLAGS='-x c++ -Wl,--gc-sections'
+ CFLAGS='-x c++ -Wl,--gc-sections'
# Check for -Wl,--gc-sections
- # XXX This test is broken at the moment, as symbols required for linking
- # are now in libsupc++ (not built yet). In addition, this test has
- # cored on solaris in the past. In addition, --gc-sections doesn't
- # really work at the moment (keeps on discarding used sections, first
- # .eh_frame and now some of the glibc sections for iconv).
- # Bzzzzt. Thanks for playing, maybe next time.
echo "$as_me:$LINENO: checking for ld that supports -Wl,--gc-sections" >&5
echo $ECHO_N "checking for ld that supports -Wl,--gc-sections... $ECHO_C" >&6
- if test "$cross_compiling" = yes; then
- ac_sectionLDflags=yes
-else
- cat >conftest.$ac_ext <<_ACEOF
+ if test x$gcc_no_link = xyes; then
+ { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
+echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
+ int one(void) { return 1; }
+ int two(void) { return 2; }
- int main(void)
- {
- try { throw 1; }
- catch (...) { };
- return 0;
- }
-
+int
+main ()
+{
+ two();
+ ;
+ return 0;
+}
_ACEOF
-rm -f conftest$ac_exeext
+rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+ (eval $ac_link) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
- ac_sectionLDflags=yes
+ ac_gcsections=yes
else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+ echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-( exit $ac_status )
-ac_sectionLDflags=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ac_gcsections=no
fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test "$ac_gcsections" = "yes"; then
+ rm -f conftest.c
+ touch conftest.c
+ if $CC -c conftest.c; then
+ if $LD --gc-sections -o conftest conftest.o 2>&1 | \
+ grep "Warning: gc-sections option ignored" > /dev/null; then
+ ac_gcsections=no
+ fi
+ fi
+ rm -f conftest.c conftest.o conftest
+ fi
+ if test "$ac_gcsections" = "yes"; then
+ SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
+ fi
+ echo "$as_me:$LINENO: result: $ac_gcsections" >&5
+echo "${ECHO_T}$ac_gcsections" >&6
+
if test "$ac_test_CFLAGS" = set; then
CFLAGS="$ac_save_CFLAGS"
else
# this is the suspicious part
CFLAGS=''
fi
- if test "$ac_sectionLDflags" = "yes"; then
- SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
+ fi
+
+ # Set -z,relro.
+ # Note this is only for shared objects.
+ ac_ld_relro=no
+ if test x"$with_gnu_ld" = x"yes"; then
+ echo "$as_me:$LINENO: checking for ld that supports -Wl,-z,relro" >&5
+echo $ECHO_N "checking for ld that supports -Wl,-z,relro... $ECHO_C" >&6
+ cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
+ if test -n "$cxx_z_relo"; then
+ OPT_LDFLAGS="-Wl,-z,relro"
+ ac_ld_relro=yes
fi
- echo "$as_me:$LINENO: result: $ac_sectionLDflags" >&5
-echo "${ECHO_T}$ac_sectionLDflags" >&6
+ echo "$as_me:$LINENO: result: $ac_ld_relro" >&5
+echo "${ECHO_T}$ac_ld_relro" >&6
fi
# Set linker optimization flags.
@@ -80695,83 +80953,126 @@ done
# Start by getting the version number. I think the libtool test already
# does some of this, but throws away the result.
+ echo "$as_me:$LINENO: checking for ld version" >&5
+echo $ECHO_N "checking for ld version... $ECHO_C" >&6
ldver=`$LD --version 2>/dev/null | head -1 | \
sed -e 's/GNU ld version \([0-9.][0-9.]*\).*/\1/'`
glibcxx_gnu_ld_version=`echo $ldver | \
$AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
+ echo "$as_me:$LINENO: result: $glibcxx_gnu_ld_version" >&5
+echo "${ECHO_T}$glibcxx_gnu_ld_version" >&6
# Set --gc-sections.
- if test "$with_gnu_ld" = "notbroken"; then
- # GNU ld it is! Joy and bunny rabbits!
+ glibcxx_gcsections_min_ld=21602
+ if test x"$with_gnu_ld" = x"yes" &&
+ test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
+
+ # Sufficiently young GNU ld it is! Joy and bunny rabbits!
+ # NB: This flag only works reliably after 2.16.1. Configure tests
+ # for this are difficult, so hard wire a value that should work.
- # All these tests are for C++; save the language and the compiler flags.
- # Need to do this so that g++ won't try to link in libstdc++
+ # All these tests are for C++, but run with the "C" compiler driver.
+ # Need to do this so that g++ won't try to link in libstdc++/libsupc++.
ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
- CFLAGS='-x c++ -Wl,--gc-sections'
+ CFLAGS='-x c++ -Wl,--gc-sections'
# Check for -Wl,--gc-sections
- # XXX This test is broken at the moment, as symbols required for linking
- # are now in libsupc++ (not built yet). In addition, this test has
- # cored on solaris in the past. In addition, --gc-sections doesn't
- # really work at the moment (keeps on discarding used sections, first
- # .eh_frame and now some of the glibc sections for iconv).
- # Bzzzzt. Thanks for playing, maybe next time.
echo "$as_me:$LINENO: checking for ld that supports -Wl,--gc-sections" >&5
echo $ECHO_N "checking for ld that supports -Wl,--gc-sections... $ECHO_C" >&6
- if test "$cross_compiling" = yes; then
- ac_sectionLDflags=yes
-else
- cat >conftest.$ac_ext <<_ACEOF
+ if test x$gcc_no_link = xyes; then
+ { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
+echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
+ int one(void) { return 1; }
+ int two(void) { return 2; }
- int main(void)
- {
- try { throw 1; }
- catch (...) { };
- return 0;
- }
-
+int
+main ()
+{
+ two();
+ ;
+ return 0;
+}
_ACEOF
-rm -f conftest$ac_exeext
+rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+ (eval $ac_link) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
- ac_sectionLDflags=yes
+ ac_gcsections=yes
else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+ echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-( exit $ac_status )
-ac_sectionLDflags=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ac_gcsections=no
fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test "$ac_gcsections" = "yes"; then
+ rm -f conftest.c
+ touch conftest.c
+ if $CC -c conftest.c; then
+ if $LD --gc-sections -o conftest conftest.o 2>&1 | \
+ grep "Warning: gc-sections option ignored" > /dev/null; then
+ ac_gcsections=no
+ fi
+ fi
+ rm -f conftest.c conftest.o conftest
+ fi
+ if test "$ac_gcsections" = "yes"; then
+ SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
+ fi
+ echo "$as_me:$LINENO: result: $ac_gcsections" >&5
+echo "${ECHO_T}$ac_gcsections" >&6
+
if test "$ac_test_CFLAGS" = set; then
CFLAGS="$ac_save_CFLAGS"
else
# this is the suspicious part
CFLAGS=''
fi
- if test "$ac_sectionLDflags" = "yes"; then
- SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
+ fi
+
+ # Set -z,relro.
+ # Note this is only for shared objects.
+ ac_ld_relro=no
+ if test x"$with_gnu_ld" = x"yes"; then
+ echo "$as_me:$LINENO: checking for ld that supports -Wl,-z,relro" >&5
+echo $ECHO_N "checking for ld that supports -Wl,-z,relro... $ECHO_C" >&6
+ cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
+ if test -n "$cxx_z_relo"; then
+ OPT_LDFLAGS="-Wl,-z,relro"
+ ac_ld_relro=yes
fi
- echo "$as_me:$LINENO: result: $ac_sectionLDflags" >&5
-echo "${ECHO_T}$ac_sectionLDflags" >&6
+ echo "$as_me:$LINENO: result: $ac_ld_relro" >&5
+echo "${ECHO_T}$ac_ld_relro" >&6
fi
# Set linker optimization flags.
@@ -82053,83 +82354,126 @@ done
# Start by getting the version number. I think the libtool test already
# does some of this, but throws away the result.
+ echo "$as_me:$LINENO: checking for ld version" >&5
+echo $ECHO_N "checking for ld version... $ECHO_C" >&6
ldver=`$LD --version 2>/dev/null | head -1 | \
sed -e 's/GNU ld version \([0-9.][0-9.]*\).*/\1/'`
glibcxx_gnu_ld_version=`echo $ldver | \
$AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
+ echo "$as_me:$LINENO: result: $glibcxx_gnu_ld_version" >&5
+echo "${ECHO_T}$glibcxx_gnu_ld_version" >&6
# Set --gc-sections.
- if test "$with_gnu_ld" = "notbroken"; then
- # GNU ld it is! Joy and bunny rabbits!
+ glibcxx_gcsections_min_ld=21602
+ if test x"$with_gnu_ld" = x"yes" &&
+ test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
- # All these tests are for C++; save the language and the compiler flags.
- # Need to do this so that g++ won't try to link in libstdc++
+ # Sufficiently young GNU ld it is! Joy and bunny rabbits!
+ # NB: This flag only works reliably after 2.16.1. Configure tests
+ # for this are difficult, so hard wire a value that should work.
+
+ # All these tests are for C++, but run with the "C" compiler driver.
+ # Need to do this so that g++ won't try to link in libstdc++/libsupc++.
ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
- CFLAGS='-x c++ -Wl,--gc-sections'
+ CFLAGS='-x c++ -Wl,--gc-sections'
# Check for -Wl,--gc-sections
- # XXX This test is broken at the moment, as symbols required for linking
- # are now in libsupc++ (not built yet). In addition, this test has
- # cored on solaris in the past. In addition, --gc-sections doesn't
- # really work at the moment (keeps on discarding used sections, first
- # .eh_frame and now some of the glibc sections for iconv).
- # Bzzzzt. Thanks for playing, maybe next time.
echo "$as_me:$LINENO: checking for ld that supports -Wl,--gc-sections" >&5
echo $ECHO_N "checking for ld that supports -Wl,--gc-sections... $ECHO_C" >&6
- if test "$cross_compiling" = yes; then
- ac_sectionLDflags=yes
-else
- cat >conftest.$ac_ext <<_ACEOF
+ if test x$gcc_no_link = xyes; then
+ { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
+echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
+ int one(void) { return 1; }
+ int two(void) { return 2; }
- int main(void)
- {
- try { throw 1; }
- catch (...) { };
- return 0;
- }
-
+int
+main ()
+{
+ two();
+ ;
+ return 0;
+}
_ACEOF
-rm -f conftest$ac_exeext
+rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+ (eval $ac_link) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
- ac_sectionLDflags=yes
+ ac_gcsections=yes
else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+ echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-( exit $ac_status )
-ac_sectionLDflags=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ac_gcsections=no
fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test "$ac_gcsections" = "yes"; then
+ rm -f conftest.c
+ touch conftest.c
+ if $CC -c conftest.c; then
+ if $LD --gc-sections -o conftest conftest.o 2>&1 | \
+ grep "Warning: gc-sections option ignored" > /dev/null; then
+ ac_gcsections=no
+ fi
+ fi
+ rm -f conftest.c conftest.o conftest
+ fi
+ if test "$ac_gcsections" = "yes"; then
+ SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
+ fi
+ echo "$as_me:$LINENO: result: $ac_gcsections" >&5
+echo "${ECHO_T}$ac_gcsections" >&6
+
if test "$ac_test_CFLAGS" = set; then
CFLAGS="$ac_save_CFLAGS"
else
# this is the suspicious part
CFLAGS=''
fi
- if test "$ac_sectionLDflags" = "yes"; then
- SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
+ fi
+
+ # Set -z,relro.
+ # Note this is only for shared objects.
+ ac_ld_relro=no
+ if test x"$with_gnu_ld" = x"yes"; then
+ echo "$as_me:$LINENO: checking for ld that supports -Wl,-z,relro" >&5
+echo $ECHO_N "checking for ld that supports -Wl,-z,relro... $ECHO_C" >&6
+ cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
+ if test -n "$cxx_z_relo"; then
+ OPT_LDFLAGS="-Wl,-z,relro"
+ ac_ld_relro=yes
fi
- echo "$as_me:$LINENO: result: $ac_sectionLDflags" >&5
-echo "${ECHO_T}$ac_sectionLDflags" >&6
+ echo "$as_me:$LINENO: result: $ac_ld_relro" >&5
+echo "${ECHO_T}$ac_ld_relro" >&6
fi
# Set linker optimization flags.
@@ -83169,6 +83513,18 @@ echo $ECHO_N "checking for enabled iconv specializations... $ECHO_C" >&6
echo "$as_me:$LINENO: result: $enable_iconv" >&5
echo "${ECHO_T}$enable_iconv" >&6
+ cat >>confdefs.h <<\_ACEOF
+#define HAVE_HYPOT 1
+_ACEOF
+
+ cat >>confdefs.h <<\_ACEOF
+#define HAVE_ISINF 1
+_ACEOF
+
+ cat >>confdefs.h <<\_ACEOF
+#define HAVE_ISNAN 1
+_ACEOF
+
# For showmanyc_helper().
@@ -83791,83 +84147,126 @@ echo "${ECHO_T}$glibcxx_cv_WRITEV" >&6
# Start by getting the version number. I think the libtool test already
# does some of this, but throws away the result.
+ echo "$as_me:$LINENO: checking for ld version" >&5
+echo $ECHO_N "checking for ld version... $ECHO_C" >&6
ldver=`$LD --version 2>/dev/null | head -1 | \
sed -e 's/GNU ld version \([0-9.][0-9.]*\).*/\1/'`
glibcxx_gnu_ld_version=`echo $ldver | \
$AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
+ echo "$as_me:$LINENO: result: $glibcxx_gnu_ld_version" >&5
+echo "${ECHO_T}$glibcxx_gnu_ld_version" >&6
# Set --gc-sections.
- if test "$with_gnu_ld" = "notbroken"; then
- # GNU ld it is! Joy and bunny rabbits!
+ glibcxx_gcsections_min_ld=21602
+ if test x"$with_gnu_ld" = x"yes" &&
+ test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
+
+ # Sufficiently young GNU ld it is! Joy and bunny rabbits!
+ # NB: This flag only works reliably after 2.16.1. Configure tests
+ # for this are difficult, so hard wire a value that should work.
- # All these tests are for C++; save the language and the compiler flags.
- # Need to do this so that g++ won't try to link in libstdc++
+ # All these tests are for C++, but run with the "C" compiler driver.
+ # Need to do this so that g++ won't try to link in libstdc++/libsupc++.
ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
- CFLAGS='-x c++ -Wl,--gc-sections'
+ CFLAGS='-x c++ -Wl,--gc-sections'
# Check for -Wl,--gc-sections
- # XXX This test is broken at the moment, as symbols required for linking
- # are now in libsupc++ (not built yet). In addition, this test has
- # cored on solaris in the past. In addition, --gc-sections doesn't
- # really work at the moment (keeps on discarding used sections, first
- # .eh_frame and now some of the glibc sections for iconv).
- # Bzzzzt. Thanks for playing, maybe next time.
echo "$as_me:$LINENO: checking for ld that supports -Wl,--gc-sections" >&5
echo $ECHO_N "checking for ld that supports -Wl,--gc-sections... $ECHO_C" >&6
- if test "$cross_compiling" = yes; then
- ac_sectionLDflags=yes
-else
- cat >conftest.$ac_ext <<_ACEOF
+ if test x$gcc_no_link = xyes; then
+ { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
+echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
+ int one(void) { return 1; }
+ int two(void) { return 2; }
- int main(void)
- {
- try { throw 1; }
- catch (...) { };
- return 0;
- }
-
+int
+main ()
+{
+ two();
+ ;
+ return 0;
+}
_ACEOF
-rm -f conftest$ac_exeext
+rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+ (eval $ac_link) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
- ac_sectionLDflags=yes
+ ac_gcsections=yes
else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+ echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-( exit $ac_status )
-ac_sectionLDflags=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ac_gcsections=no
fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test "$ac_gcsections" = "yes"; then
+ rm -f conftest.c
+ touch conftest.c
+ if $CC -c conftest.c; then
+ if $LD --gc-sections -o conftest conftest.o 2>&1 | \
+ grep "Warning: gc-sections option ignored" > /dev/null; then
+ ac_gcsections=no
+ fi
+ fi
+ rm -f conftest.c conftest.o conftest
+ fi
+ if test "$ac_gcsections" = "yes"; then
+ SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
+ fi
+ echo "$as_me:$LINENO: result: $ac_gcsections" >&5
+echo "${ECHO_T}$ac_gcsections" >&6
+
if test "$ac_test_CFLAGS" = set; then
CFLAGS="$ac_save_CFLAGS"
else
# this is the suspicious part
CFLAGS=''
fi
- if test "$ac_sectionLDflags" = "yes"; then
- SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
+ fi
+
+ # Set -z,relro.
+ # Note this is only for shared objects.
+ ac_ld_relro=no
+ if test x"$with_gnu_ld" = x"yes"; then
+ echo "$as_me:$LINENO: checking for ld that supports -Wl,-z,relro" >&5
+echo $ECHO_N "checking for ld that supports -Wl,-z,relro... $ECHO_C" >&6
+ cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
+ if test -n "$cxx_z_relo"; then
+ OPT_LDFLAGS="-Wl,-z,relro"
+ ac_ld_relro=yes
fi
- echo "$as_me:$LINENO: result: $ac_sectionLDflags" >&5
-echo "${ECHO_T}$ac_sectionLDflags" >&6
+ echo "$as_me:$LINENO: result: $ac_ld_relro" >&5
+echo "${ECHO_T}$ac_ld_relro" >&6
fi
# Set linker optimization flags.
@@ -85862,83 +86261,126 @@ done
# Start by getting the version number. I think the libtool test already
# does some of this, but throws away the result.
+ echo "$as_me:$LINENO: checking for ld version" >&5
+echo $ECHO_N "checking for ld version... $ECHO_C" >&6
ldver=`$LD --version 2>/dev/null | head -1 | \
sed -e 's/GNU ld version \([0-9.][0-9.]*\).*/\1/'`
glibcxx_gnu_ld_version=`echo $ldver | \
$AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
+ echo "$as_me:$LINENO: result: $glibcxx_gnu_ld_version" >&5
+echo "${ECHO_T}$glibcxx_gnu_ld_version" >&6
# Set --gc-sections.
- if test "$with_gnu_ld" = "notbroken"; then
- # GNU ld it is! Joy and bunny rabbits!
+ glibcxx_gcsections_min_ld=21602
+ if test x"$with_gnu_ld" = x"yes" &&
+ test $glibcxx_gnu_ld_version -gt $glibcxx_gcsections_min_ld ; then
+
+ # Sufficiently young GNU ld it is! Joy and bunny rabbits!
+ # NB: This flag only works reliably after 2.16.1. Configure tests
+ # for this are difficult, so hard wire a value that should work.
- # All these tests are for C++; save the language and the compiler flags.
- # Need to do this so that g++ won't try to link in libstdc++
+ # All these tests are for C++, but run with the "C" compiler driver.
+ # Need to do this so that g++ won't try to link in libstdc++/libsupc++.
ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
- CFLAGS='-x c++ -Wl,--gc-sections'
+ CFLAGS='-x c++ -Wl,--gc-sections'
# Check for -Wl,--gc-sections
- # XXX This test is broken at the moment, as symbols required for linking
- # are now in libsupc++ (not built yet). In addition, this test has
- # cored on solaris in the past. In addition, --gc-sections doesn't
- # really work at the moment (keeps on discarding used sections, first
- # .eh_frame and now some of the glibc sections for iconv).
- # Bzzzzt. Thanks for playing, maybe next time.
echo "$as_me:$LINENO: checking for ld that supports -Wl,--gc-sections" >&5
echo $ECHO_N "checking for ld that supports -Wl,--gc-sections... $ECHO_C" >&6
- if test "$cross_compiling" = yes; then
- ac_sectionLDflags=yes
-else
- cat >conftest.$ac_ext <<_ACEOF
+ if test x$gcc_no_link = xyes; then
+ { { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
+echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
+ int one(void) { return 1; }
+ int two(void) { return 2; }
- int main(void)
- {
- try { throw 1; }
- catch (...) { };
- return 0;
- }
-
+int
+main ()
+{
+ two();
+ ;
+ return 0;
+}
_ACEOF
-rm -f conftest$ac_exeext
+rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
+ (eval $ac_link) 2>conftest.er1
ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
- ac_sectionLDflags=yes
+ ac_gcsections=yes
else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+ echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-( exit $ac_status )
-ac_sectionLDflags=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ac_gcsections=no
fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test "$ac_gcsections" = "yes"; then
+ rm -f conftest.c
+ touch conftest.c
+ if $CC -c conftest.c; then
+ if $LD --gc-sections -o conftest conftest.o 2>&1 | \
+ grep "Warning: gc-sections option ignored" > /dev/null; then
+ ac_gcsections=no
+ fi
+ fi
+ rm -f conftest.c conftest.o conftest
+ fi
+ if test "$ac_gcsections" = "yes"; then
+ SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
+ fi
+ echo "$as_me:$LINENO: result: $ac_gcsections" >&5
+echo "${ECHO_T}$ac_gcsections" >&6
+
if test "$ac_test_CFLAGS" = set; then
CFLAGS="$ac_save_CFLAGS"
else
# this is the suspicious part
CFLAGS=''
fi
- if test "$ac_sectionLDflags" = "yes"; then
- SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
+ fi
+
+ # Set -z,relro.
+ # Note this is only for shared objects.
+ ac_ld_relro=no
+ if test x"$with_gnu_ld" = x"yes"; then
+ echo "$as_me:$LINENO: checking for ld that supports -Wl,-z,relro" >&5
+echo $ECHO_N "checking for ld that supports -Wl,-z,relro... $ECHO_C" >&6
+ cxx_z_relo=`$LD -v --help 2>/dev/null | grep "z relro"`
+ if test -n "$cxx_z_relo"; then
+ OPT_LDFLAGS="-Wl,-z,relro"
+ ac_ld_relro=yes
fi
- echo "$as_me:$LINENO: result: $ac_sectionLDflags" >&5
-echo "${ECHO_T}$ac_sectionLDflags" >&6
+ echo "$as_me:$LINENO: result: $ac_ld_relro" >&5
+echo "${ECHO_T}$ac_ld_relro" >&6
fi
# Set linker optimization flags.
diff --git a/libstdc++-v3/crossconfig.m4 b/libstdc++-v3/crossconfig.m4
index 200aa6275cc..ec43775be29 100644
--- a/libstdc++-v3/crossconfig.m4
+++ b/libstdc++-v3/crossconfig.m4
@@ -273,6 +273,9 @@ case "${host}" in
GLIBCXX_CHECK_LINKER_FEATURES
GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
GLIBCXX_CHECK_ICONV_SUPPORT
+ AC_DEFINE(HAVE_HYPOT)
+ AC_DEFINE(HAVE_ISINF)
+ AC_DEFINE(HAVE_ISNAN)
# For showmanyc_helper().
AC_CHECK_HEADERS(sys/ioctl.h sys/filio.h)
diff --git a/libstdc++-v3/docs/html/ext/howto.html b/libstdc++-v3/docs/html/ext/howto.html
index c6ee4b10120..69b68baba76 100644
--- a/libstdc++-v3/docs/html/ext/howto.html
+++ b/libstdc++-v3/docs/html/ext/howto.html
@@ -408,6 +408,13 @@
is specified in the conversion specification.
</dd>
+ <dt><a href="lwg-active.html#233">233</a>:
+ <em>Insertion hints in associative containers</em>
+ </dt>
+ <dd>Implement N1780, first check before then check after, insert as close
+ to hint as possible.
+ </dd>
+
<dt><a href="lwg-defects.html#235">235</a>:
<em>No specification of default ctor for reverse_iterator</em>
</dt>
diff --git a/libstdc++-v3/docs/html/ext/lwg-active.html b/libstdc++-v3/docs/html/ext/lwg-active.html
index f5b7662ed72..fc705efb442 100644
--- a/libstdc++-v3/docs/html/ext/lwg-active.html
+++ b/libstdc++-v3/docs/html/ext/lwg-active.html
@@ -1,15 +1,18 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
-<html><head><title>C++ Standard Library Active Issues List</title></head>
+<html><head><title>C++ Standard Library Active Issues List</title>
+
+<style>ins {background-color:#FFFFA0}
+del {background-color:#FFFFA0}</style></head>
<body bgcolor="#ffffff" text="#000000">
<table>
<tbody><tr>
<td align="left">Doc. no.</td>
-<td align="left">N1908=05-0168</td>
+<td align="left">N1926=05-0186</td>
</tr>
<tr>
<td align="left">Date:</td>
-<td align="left">2005-10-23</td>
+<td align="left">2005-12-16</td>
</tr>
<tr>
<td align="left">Project:</td>
@@ -20,7 +23,7 @@
<td align="left">Howard Hinnant &lt;howard.hinnant@gmail.com&gt;</td>
</tr>
</tbody></table>
-<h1>C++ Standard Library Active Issues List (Revision R39)</h1>
+<h1>C++ Standard Library Active Issues List (Revision R40)</h1>
<p>Reference ISO/IEC IS 14882:1998(E)</p>
<p>Also see:</p>
<ul>
@@ -88,6 +91,10 @@
directory as the issues list files. </p>
<h2>Revision History</h2>
<ul>
+<li>R40:
+2005-12-16 mid-term mailing.
+Added new issues <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#529">529</a>-<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#535">535</a>.
+</li>
<li>R39:
2005-10-14 post-Mont Tremblant mailing.
Added new issues <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#526">526</a>-<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#528">528</a>.
@@ -901,7 +908,7 @@ intended here is that the copy constructors can't fail.</p>
<hr>
<a name="258"><h3>258.&nbsp;Missing allocator requirement</h3></a><p><b>Section:</b>&nbsp;20.1.5 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-utilities.html#lib.allocator.requirements"> [lib.allocator.requirements]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#Open">Open</a>&nbsp; <b>Submitter:</b>&nbsp;Matt Austern&nbsp; <b>Date:</b>&nbsp;22 Aug 2000</p>
<p>
-&gt;From lib-7752:
+From lib-7752:
</p>
<p>
@@ -2408,7 +2415,7 @@ object throws.
might reasonably swallow the exception, or call abort, or do
something even more drastic.]</i></p>
<hr>
-<a name="419"><h3>419.&nbsp;istream extractors not setting failbit if eofbit is already set</h3></a><p><b>Section:</b>&nbsp;27.6.1.1.2 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-iostreams.html#lib.istream::sentry"> [lib.istream::sentry]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#Open">Open</a>&nbsp; <b>Submitter:</b>&nbsp;Martin Sebor&nbsp; <b>Date:</b>&nbsp;18 Sep 2003</p>
+<a name="419"></a><h3><a name="419">419.&nbsp;istream extractors not setting failbit if eofbit is already set</a></h3><p><b>Section:</b>&nbsp;27.6.1.1.2 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-iostreams.html#lib.istream::sentry"> [lib.istream::sentry]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#Open">Open</a>&nbsp; <b>Submitter:</b>&nbsp;Martin Sebor&nbsp; <b>Date:</b>&nbsp;18 Sep 2003</p>
<p>
27.6.1.1.2, p2 says that istream::sentry ctor prepares for input if is.good()
@@ -2726,7 +2733,7 @@ ostream::write().
negative. Martin will do that review.]</i></p>
<hr>
-<a name="424"><h3>424.&nbsp;normative notes</h3></a><p><b>Section:</b>&nbsp;17.3.1.1 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-intro.html#lib.structure.summary"> [lib.structure.summary]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#Open">Open</a>&nbsp; <b>Submitter:</b>&nbsp;Martin Sebor&nbsp; <b>Date:</b>&nbsp;18 Sep 2003</p>
+<a name="424"></a><h3><a name="424">424.&nbsp;normative notes</a></h3><p><b>Section:</b>&nbsp;17.3.1.1 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-intro.html#lib.structure.summary"> [lib.structure.summary]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#Open">Open</a>&nbsp; <b>Submitter:</b>&nbsp;Martin Sebor&nbsp; <b>Date:</b>&nbsp;18 Sep 2003</p>
<p>
The text in 17.3.1.1, p1 says:
@@ -2838,7 +2845,7 @@ object (e.g., slice (2, 1, 1) for a valarray of size 1).
performance, so we don't want to require specific checking. We
need wording to express this decision.]</i></p>
<hr>
-<a name="431"><h3>431.&nbsp;Swapping containers with unequal allocators</h3></a><p><b>Section:</b>&nbsp;20.1.5 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-utilities.html#lib.allocator.requirements"> [lib.allocator.requirements]</a>, 25 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-algorithms.html#lib.algorithms"> [lib.algorithms]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#Open">Open</a>&nbsp; <b>Submitter:</b>&nbsp;Matt Austern&nbsp; <b>Date:</b>&nbsp;20 Sep 2003</p>
+<a name="431"></a><h3><a name="431">431.&nbsp;Swapping containers with unequal allocators</a></h3><p><b>Section:</b>&nbsp;20.1.5 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-utilities.html#lib.allocator.requirements"> [lib.allocator.requirements]</a>, 25 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-algorithms.html#lib.algorithms"> [lib.algorithms]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#Open">Open</a>&nbsp; <b>Submitter:</b>&nbsp;Matt Austern&nbsp; <b>Date:</b>&nbsp;20 Sep 2003</p>
<p>Clause 20.1.5 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-utilities.html#lib.allocator.requirements"> [lib.allocator.requirements]</a> paragraph 4 says that implementations
are permitted to supply containers that are unable to cope with
allocator instances and that container implementations may assume
@@ -3101,7 +3108,7 @@ operational semantics for this column to:
</code>
<hr>
-<a name="459"></a><h3><a name="459">459.&nbsp;Requirement for widening in stage 2 is overspecification</a></h3><p><b>Section:</b>&nbsp;22.2.2.1.2 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-locales.html#lib.facet.num.get.virtuals"> [lib.facet.num.get.virtuals]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#Open">Open</a>&nbsp; <b>Submitter:</b>&nbsp;Martin Sebor&nbsp; <b>Date:</b>&nbsp;16 Mar 2004</p>
+<a name="459"><h3>459.&nbsp;Requirement for widening in stage 2 is overspecification</h3></a><p><b>Section:</b>&nbsp;22.2.2.1.2 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-locales.html#lib.facet.num.get.virtuals"> [lib.facet.num.get.virtuals]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#Open">Open</a>&nbsp; <b>Submitter:</b>&nbsp;Martin Sebor&nbsp; <b>Date:</b>&nbsp;16 Mar 2004</p>
<p>When parsing strings of wide-character digits, the standard
requires the library to widen narrow-character "atoms" and compare
the widened atoms against the characters that are being parsed.
@@ -3812,7 +3819,7 @@ list&lt;double&gt; &gt; should not take O(1).</p>
provide wording.]</i></p>
<hr>
-<a name="484"><h3>484.&nbsp;Convertible to T</h3></a><p><b>Section:</b>&nbsp;24.1.1 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-iterators.html#lib.input.iterators"> [lib.input.iterators]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#Open">Open</a>&nbsp; <b>Submitter:</b>&nbsp;Chris&nbsp; <b>Date:</b>&nbsp;16 Sep 2004</p>
+<a name="484"><h3>484.&nbsp;Convertible to T</h3></a><p><b>Section:</b>&nbsp;24.1.1 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-iterators.html#lib.input.iterators"> [lib.input.iterators]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#Open">Open</a>&nbsp; <b>Submitter:</b>&nbsp;Chris Jefferson&nbsp; <b>Date:</b>&nbsp;16 Sep 2004</p>
<p>From comp.std.c++:</p>
<p>
@@ -3856,7 +3863,7 @@ class I expect?</p>
overloads. It's a minor problem but a real one. So leave open for
now, hope we solve it as part of iterator redesign.]</i></p>
<hr>
-<a name="485"><h3>485.&nbsp;output iterator insufficently constrained</h3></a><p><b>Section:</b>&nbsp;24.1.2 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-iterators.html#lib.output.iterators"> [lib.output.iterators]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#Open">Open</a>&nbsp; <b>Submitter:</b>&nbsp;Chris&nbsp; <b>Date:</b>&nbsp;13 Oct 2004</p>
+<a name="485"><h3>485.&nbsp;output iterator insufficently constrained</h3></a><p><b>Section:</b>&nbsp;24.1.2 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-iterators.html#lib.output.iterators"> [lib.output.iterators]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#Open">Open</a>&nbsp; <b>Submitter:</b>&nbsp;Chris Jefferson&nbsp; <b>Date:</b>&nbsp;13 Oct 2004</p>
<p>
The note on 24.1.2 Output iterators insufficently limits what can be
performed on output iterators. While it requires that each iterator is
@@ -4826,7 +4833,7 @@ in each case as having some real type.
<blockquote><pre>typedef RealType input_type;
</pre></blockquote>
<hr>
-<a name="512"></a><h3><a name="512">512.&nbsp;Seeding subtract_with_carry_01 from a single unsigned long</a></h3><p><b>Section:</b>&nbsp;TR1 5.1.4.4 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/tr1.html#tr.rand.eng.sub1"> [tr.rand.eng.sub1]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#New">New</a>&nbsp; <b>Submitter:</b>&nbsp;Walter Brown&nbsp; <b>Date:</b>&nbsp;3 Jul 2005</p>
+<a name="512"><h3>512.&nbsp;Seeding subtract_with_carry_01 from a single unsigned long</h3></a><p><b>Section:</b>&nbsp;TR1 5.1.4.4 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/tr1.html#tr.rand.eng.sub1"> [tr.rand.eng.sub1]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#New">New</a>&nbsp; <b>Submitter:</b>&nbsp;Walter Brown&nbsp; <b>Date:</b>&nbsp;3 Jul 2005</p>
<p>
Paragraph 8 specifies the algorithm by which a subtract_with_carry_01 engine
is to be seeded given a single unsigned long. This algorithm is seriously
@@ -5117,7 +5124,7 @@ function's cv-qualifiers); the type T1 is cv T0*
</blockquote>
<p><b>Proposed resolution:</b></p>
<hr>
-<a name="522"></a><h3><a name="522">522.&nbsp;Tuple doesn't define swap</a></h3><p><b>Section:</b>&nbsp;TR1 6.1 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/tr1.html#tr.tuple"> [tr.tuple]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#New">New</a>&nbsp; <b>Submitter:</b>&nbsp;Andy Koenig&nbsp; <b>Date:</b>&nbsp;3 Jul 2005</p>
+<a name="522"><h3>522.&nbsp;Tuple doesn't define swap</h3></a><p><b>Section:</b>&nbsp;TR1 6.1 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/tr1.html#tr.tuple"> [tr.tuple]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#New">New</a>&nbsp; <b>Submitter:</b>&nbsp;Andy Koenig&nbsp; <b>Date:</b>&nbsp;3 Jul 2005</p>
<p>
Tuple doesn't define swap(). It should.
</p>
@@ -5301,7 +5308,7 @@ seem to be lacking a definition.
</p>
<p><b>Proposed resolution:</b></p>
<hr>
-<a name="526"></a><h3><a name="526">526.&nbsp;Is it undefined if a function in the standard changes in parameters?</a></h3><p><b>Section:</b>&nbsp;23.1.1 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-containers.html#lib.sequence.reqmts"> [lib.sequence.reqmts]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#New">New</a>&nbsp; <b>Submitter:</b>&nbsp;Chris Jefferson&nbsp; <b>Date:</b>&nbsp;14 Sep 2005</p>
+<a name="526"><h3>526.&nbsp;Is it undefined if a function in the standard changes in parameters?</h3></a><p><b>Section:</b>&nbsp;23.1.1 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-containers.html#lib.sequence.reqmts"> [lib.sequence.reqmts]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#New">New</a>&nbsp; <b>Submitter:</b>&nbsp;Chris Jefferson&nbsp; <b>Date:</b>&nbsp;14 Sep 2005</p>
<p>
Problem: There are a number of places in the C++ standard library where
it is possible to write what appear to be sensible ways of calling
@@ -5463,5 +5470,300 @@ same type, those signatures that become otherwise indistinguishable
collapse into a single signature.</ins>
</p>
+<hr>
+<a name="529"><h3>529.&nbsp;The standard encourages redundant and confusing preconditions</h3></a><p><b>Section:</b>&nbsp;17.4.3.8 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-intro.html#lib.res.on.required"> [lib.res.on.required]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#New">New</a>&nbsp; <b>Submitter:</b>&nbsp;David Abrahams&nbsp; <b>Date:</b>&nbsp;25 Oct 2005</p>
+<p>
+17.4.3.8/1 says:
+</p>
+
+<blockquote>
+Violation of the preconditions specified in a function's
+Required behavior: paragraph results in undefined behavior unless the
+function's Throws: paragraph specifies throwing an exception when the
+precondition is violated.
+</blockquote>
+
+<p>
+This implies that a precondition violation can lead to defined
+behavior. That conflicts with the only reasonable definition of
+precondition: that a violation leads to undefined behavior. Any other
+definition muddies the waters when it comes to analyzing program
+correctness, because precondition violations may be routinely done in
+correct code (e.g. you can use std::vector::at with the full
+expectation that you'll get an exception when your index is out of
+range, catch the exception, and continue). Not only is it a bad
+example to set, but it encourages needless complication and redundancy
+in the standard. For example:
+</p>
+
+<blockquote><pre> 21 Strings library
+ 21.3.3 basic_string capacity
+
+ void resize(size_type n, charT c);
+
+ 5 Requires: n &lt;= max_size()
+ 6 Throws: length_error if n &gt; max_size().
+ 7 Effects: Alters the length of the string designated by *this as follows:
+</pre></blockquote>
+
+<p>
+The Requires clause is entirely redundant and can be dropped. We
+could make that simplifying change (and many others like it) even
+without changing 17.4.3.8/1; the wording there just seems to encourage
+the redundant and error-prone Requires: clause.
+</p>
+
+<p><b>Proposed resolution:</b></p>
+<p>
+1. Change 17.4.3.8/1 to read:
+</p>
+
+<blockquote>
+Violation of the preconditions specified in a function's
+<i>Required behavior:</i> paragraph results in undefined behavior
+<del>unless the function's <i>Throws:</i> paragraph specifies throwing
+an exception when the precondition is violated</del>.
+</blockquote>
+
+<p>
+2. Go through and remove redundant Requires: clauses. Specifics to be
+ provided by Dave A.
+</p>
+<hr>
+<a name="530"><h3>530.&nbsp;Must elements of a string be contiguous?</h3></a><p><b>Section:</b>&nbsp;21.3 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-strings.html#lib.basic.string"> [lib.basic.string]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#New">New</a>&nbsp; <b>Submitter:</b>&nbsp;Matt Austern&nbsp; <b>Date:</b>&nbsp;15 Nov 2005</p>
+<p>Issue <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#69">69</a>, which was incorporated into C++03, mandated
+&nbsp;&nbsp; that the elements of a vector must be stored in contiguous memory.
+&nbsp;&nbsp; Should the same also apply to <tt>basic_string</tt>?</p>
+
+<p>We almost require contiguity already. Clause 23.3.4 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-containers.html#lib.multiset"> [lib.multiset]</a>
+&nbsp; defines <tt>operator[]</tt> as <tt>data()[pos]</tt>. What's missing
+&nbsp; is a similar guarantee if we access the string's elements via the
+&nbsp; iterator interface.</p>
+
+<p>Given the existence of <tt>data()</tt>, and the definition of
+&nbsp; <tt>operator[]</tt> and <tt>at</tt> in terms of <tt>data</tt>,
+&nbsp; I don't believe it's possible to write a useful and standard-
+&nbsp; conforming <tt>basic_string</tt> that isn't contiguous. I'm not
+&nbsp; aware of any non-contiguous implementation. We should just require
+&nbsp; it.
+</p>
+<p><b>Proposed resolution:</b></p>
+<p>Add the following text to the end of 23.3 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-containers.html#lib.associative"> [lib.associative]</a>,
+paragraph 2. </p>
+
+<blockquote>
+&nbsp; <p>The characters in a string are stored contiguously, meaning that if
+&nbsp; <tt>s</tt> is a <tt>basic_string&lt;charT, Allocator&gt;</tt>, then
+&nbsp; it obeys the identity
+&nbsp; <tt>&amp;*(s.begin() + n) == &amp;*s.begin() + n</tt>
+&nbsp; for all <tt>0 &lt;= n &lt; s.size()</tt>.
+ </p>
+</blockquote>
+<hr>
+<a name="531"><h3>531.&nbsp;array forms of unformatted input functions</h3></a><p><b>Section:</b>&nbsp;27.6.1.3 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-iostreams.html#lib.istream.unformatted"> [lib.istream.unformatted]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#New">New</a>&nbsp; <b>Submitter:</b>&nbsp;Martin Sebor&nbsp; <b>Date:</b>&nbsp;23 Nov 2005</p>
+<p>
+The array forms of unformatted input functions don't seem to have well-defined
+semantics for zero-element arrays in a couple of cases. The affected ones
+(<tt>istream::get()</tt> and <tt>istream::getline()</tt>) are supposed to
+terminate when <tt>(n - 1)</tt> characters are stored, which obviously can
+never be true when <tt>(n == 0)</tt> holds to start with. See
+c++std-lib-16071.
+</p>
+<p><b>Proposed resolution:</b></p>
+<p>
+I suggest changing 27.6.1.3, p7 (<tt>istream::get()</tt>), bullet 1 to read:
+</p>
+ <p>
+ </p><ul>
+ <li>
+ <tt>(n &lt; 1)</tt> is true or <tt>(n - 1)</tt> characters
+ are stored;
+ </li>
+ </ul>
+ <p></p>
+ <p>
+
+and similarly p17 (<tt>istream::getline()</tt>), bullet 3 to:
+
+ </p>
+ <p>
+ </p><ul>
+ <li>
+ <tt>(n &lt; 1)</tt> is true or <tt>(n - 1)</tt> characters
+ are stored (in which case the function calls
+ <tt>setstate(failbit)</tt>).
+ </li>
+ </ul>
+ <p></p>
+
+ <p>
+
+In addition, to clarify that <tt>istream::getline()</tt> must not store the
+terminating NUL character unless the the array has non-zero size, Robert
+Klarer suggests in c++std-lib-16082 to change 27.6.1.3, p20 to read:
+
+ </p>
+ <p>
+ </p><blockquote>
+
+In any case, provided <tt>(n &gt; 0)</tt> is true, it then stores a null character
+(using charT()) into the next successive location of the array.
+
+ </blockquote>
+ <p></p>
+<hr>
+<a name="532"><h3>532.&nbsp;Tuple comparison</h3></a><p><b>Section:</b>&nbsp;TR1 6.1.3.5 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/tr1.html#tr.tuple.rel"> [tr.tuple.rel]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#New">New</a>&nbsp; <b>Submitter:</b>&nbsp;David Abrahams&nbsp; <b>Date:</b>&nbsp;29 Nov 2005</p>
+<p>
+Where possible, tuple comparison operators &lt;,&lt;=,=&gt;, and &gt; ought to be
+defined in terms of std::less rather than operator&lt;, in order to
+support comparison of tuples of pointers.
+</p>
+<p><b>Proposed resolution:</b></p>
+<p>
+change 6.1.3.5/5 from:
+</p>
+
+<blockquote>
+ Returns: The result of a lexicographical comparison between t and
+ u. The result is defined as: (bool)(get&lt;0&gt;(t) &lt; get&lt;0&gt;(u)) ||
+ (!(bool)(get&lt;0&gt;(u) &lt; get&lt;0&gt;(t)) &amp;&amp; ttail &lt; utail), where rtail for
+ some tuple r is a tuple containing all but the first element of
+ r. For any two zero-length tuples e and f, e &lt; f returns false.
+</blockquote>
+
+<p>
+to:
+</p>
+
+<blockquote>
+<p>
+ Returns: The result of a lexicographical comparison between t and
+ u. For any two zero-length tuples e and f, e &lt; f returns false.
+ Otherwise, the result is defined as: cmp( get&lt;0&gt;(t), get&lt;0&gt;(u)) ||
+ (!cmp(get&lt;0&gt;(u), get&lt;0&gt;(t)) &amp;&amp; ttail &lt; utail), where rtail for some
+ tuple r is a tuple containing all but the first element of r, and
+ cmp(x,y) is an unspecified function template defined as follows.
+</p>
+<p>
+ Where T is the type of x and U is the type of y:
+</p>
+
+<p>
+ if T and U are pointer types and T is convertible to U, returns
+ less&lt;U&gt;()(x,y)
+</p>
+
+<p>
+ otherwise, if T and U are pointer types, returns less&lt;T&gt;()(x,y)
+</p>
+
+<p>
+ otherwise, returns (bool)(x &lt; y)
+</p>
+</blockquote>
+<hr>
+<a name="533"><h3>533.&nbsp;typo in 2.2.3.10/1</h3></a><p><b>Section:</b>&nbsp;TR1 2.2.3.10 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/tr1.html#tr.util.smartptr.getdeleter"> [tr.util.smartptr.getdeleter]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#New">New</a>&nbsp; <b>Submitter:</b>&nbsp;Paolo Carlini&nbsp; <b>Date:</b>&nbsp;9 Nov 2005</p>
+<p>
+I'm seeing something that looks like a typo. The Return of <tt>get_deleter</tt>
+says:
+</p>
+<blockquote>
+If <tt>*this</tt> <i>owns</i> a deleter <tt>d</tt>...
+</blockquote>
+<p>
+but <tt>get_deleter</tt> is a free function!
+</p>
+<p><b>Proposed resolution:</b></p>
+<p>
+Therefore, I think should be:
+</p>
+<blockquote>
+If <tt><del>*this</del> <ins>p</ins></tt> <i>owns</i> a deleter <tt>d</tt>...
+</blockquote>
+<hr>
+<a name="534"><h3>534.&nbsp;Missing basic_string members</h3></a><p><b>Section:</b>&nbsp;21.3 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-strings.html#lib.basic.string"> [lib.basic.string]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#New">New</a>&nbsp; <b>Submitter:</b>&nbsp;Alisdair Meredith&nbsp; <b>Date:</b>&nbsp;16 Nov 2005</p>
+<p>
+OK, we all know std::basic_string is bloated and already has way too
+many members. However, I propose it is missing 3 useful members that
+are often expected by users believing it is a close approximation of the
+container concept. All 3 are listed in table 71 as 'optional'
+</p>
+
+<p>
+i/ pop_back.
+</p>
+
+<p>
+This is the one I feel most strongly about, as I only just discovered it
+was missing as we are switching to a more conforming standard library
+&lt;g&gt;
+</p>
+
+<p>
+I find it particularly inconsistent to support push_back, but not
+pop_back.
+</p>
+
+<p>
+ii/ back.
+</p>
+
+<p>
+There are certainly cases where I want to examine the last character of
+a string before deciding to append, or to trim trailing path separators
+from directory names etc. *rbegin() somehow feels inelegant.
+</p>
+
+<p>
+iii/ front
+</p>
+
+<p>
+This one I don't feel strongly about, but if I can get the first two,
+this one feels that it should be added as a 'me too' for consistency.
+</p>
+
+<p>
+I believe this would be similarly useful to the data() member recently
+added to vector, or at() member added to the maps.
+</p>
+<p><b>Proposed resolution:</b></p>
+<p>
+</p>
+<hr>
+<a name="535"><h3>535.&nbsp;std::string::swap specification poorly worded</h3></a><p><b>Section:</b>&nbsp;21.3.5.8 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-strings.html#lib.string::swap"> [lib.string::swap]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#New">New</a>&nbsp; <b>Submitter:</b>&nbsp;Beman Dawes&nbsp; <b>Date:</b>&nbsp;14 Dec 2005</p>
+<p>
+std::string::swap currently says for effects and postcondition:
+</p>
+
+<blockquote>
+<p>
+<i>Effects:</i> Swaps the contents of the two strings.
+</p>
+
+<p>
+<i>Postcondition:</i> <tt>*this</tt> contains the characters that were in <tt><i>s</i></tt>,
+<tt><i>s</i></tt> contains the characters that were in <tt>*this</tt>.
+</p>
+</blockquote>
+
+<p>
+Specifying both Effects and Postcondition seems redundant, and the postcondition
+needs to be made stronger. Users would be unhappy if the characters were not in
+the same order after the swap.
+</p>
+<p><b>Proposed resolution:</b></p>
+<blockquote>
+<p>
+<del><i>Effects:</i> Swaps the contents of the two strings.</del>
+</p>
+
+<p>
+<i>Postcondition:</i> <tt>*this</tt> contains the <ins>same sequence of</ins>
+characters that <del>were</del> <ins>was</ins> in <tt><i>s</i></tt>,
+<tt><i>s</i></tt> contains the <ins>same sequence of</ins> characters that
+<del>were</del> <ins>was</ins> in <tt>*this</tt>.
+</p>
+</blockquote>
<p>----- End of document -----</p>
</body></html> \ No newline at end of file
diff --git a/libstdc++-v3/docs/html/ext/lwg-defects.html b/libstdc++-v3/docs/html/ext/lwg-defects.html
index 380c85e70e6..01c251dc462 100644
--- a/libstdc++-v3/docs/html/ext/lwg-defects.html
+++ b/libstdc++-v3/docs/html/ext/lwg-defects.html
@@ -1,15 +1,18 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
-<html><head><title>C++ Standard Library Defect Report List</title></head>
+<html><head><title>C++ Standard Library Defect Report List</title>
+
+<style>ins {background-color:#FFFFA0}
+del {background-color:#FFFFA0}</style></head>
<body bgcolor="#ffffff" text="#000000">
<table>
<tbody><tr>
<td align="left">Doc. no.</td>
-<td align="left">N1909=05-0169</td>
+<td align="left">N1927=05-0187</td>
</tr>
<tr>
<td align="left">Date:</td>
-<td align="left">2005-10-23</td>
+<td align="left">2005-12-16</td>
</tr>
<tr>
<td align="left">Project:</td>
@@ -20,7 +23,7 @@
<td align="left">Howard Hinnant &lt;howard.hinnant@gmail.com&gt;</td>
</tr>
</tbody></table>
-<h1>C++ Standard Library Defect Report List (Revision R39)</h1>
+<h1>C++ Standard Library Defect Report List (Revision R40)</h1>
<p>Reference ISO/IEC IS 14882:1998(E)</p>
<p>Also see:</p>
<ul>
@@ -42,6 +45,10 @@
document.</p>
<h2>Revision History</h2>
<ul>
+<li>R40:
+2005-12-16 mid-term mailing.
+Added new issues <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#529">529</a>-<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#535">535</a>.
+</li>
<li>R39:
2005-10-14 post-Mont Tremblant mailing.
Added new issues <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#526">526</a>-<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#528">528</a>.
@@ -642,7 +649,7 @@ list maintainer's note: the IS is the same.]</p>
<p>See 99-0040/N1216, October 22, 1999, by Stephen D. Clamage for the analysis
supporting to the proposed resolution.</p>
<hr>
-<a name="11"><h3>11.&nbsp;Bitset minor problems</h3></a><p><b>Section:</b>&nbsp;23.3.5 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-containers.html#lib.template.bitset"> [lib.template.bitset]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#TC">TC</a>&nbsp; <b>Submitter:</b>&nbsp;Matt Austern&nbsp; <b>Date:</b>&nbsp;22 Jan 1998</p>
+<a name="11"></a><h3><a name="11">11.&nbsp;Bitset minor problems</a></h3><p><b>Section:</b>&nbsp;23.3.5 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-containers.html#lib.template.bitset"> [lib.template.bitset]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#TC">TC</a>&nbsp; <b>Submitter:</b>&nbsp;Matt Austern&nbsp; <b>Date:</b>&nbsp;22 Jan 1998</p>
<p>(1) bitset&lt;&gt;::operator[] is mentioned in the class synopsis (23.3.5), but it is
not documented in 23.3.5.2. </p>
@@ -731,7 +738,7 @@ lists. </p>
<tt>do_narrow</tt> and <tt>do_widen</tt> should be copied
from 22.2.1.3 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-locales.html#lib.facet.ctype.special"> [lib.facet.ctype.special]</a>.</p>
<hr>
-<a name="17"><h3>17.&nbsp;Bad bool parsing</h3></a><p><b>Section:</b>&nbsp;22.2.2.1.2 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-locales.html#lib.facet.num.get.virtuals"> [lib.facet.num.get.virtuals]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#TC">TC</a>&nbsp; <b>Submitter:</b>&nbsp;Nathan Myers&nbsp; <b>Date:</b>&nbsp;6 Aug 1998</p>
+<a name="17"></a><h3><a name="17">17.&nbsp;Bad bool parsing</a></h3><p><b>Section:</b>&nbsp;22.2.2.1.2 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-locales.html#lib.facet.num.get.virtuals"> [lib.facet.num.get.virtuals]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#TC">TC</a>&nbsp; <b>Submitter:</b>&nbsp;Nathan Myers&nbsp; <b>Date:</b>&nbsp;6 Aug 1998</p>
<p>This section describes the process of parsing a text boolean value from the input
stream. It does not say it recognizes either of the sequences "true" or
"false" and returns the corresponding bool value; instead, it says it recognizes
@@ -810,7 +817,7 @@ change "&amp;&amp;" to "&amp;".</p>
<tt>err==str.failbit</tt>. --end example]</p>
</blockquote>
<hr>
-<a name="18"><h3>18.&nbsp;Get(...bool&amp;) omitted</h3></a><p><b>Section:</b>&nbsp;22.2.2.1.1 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-locales.html#lib.facet.num.get.members"> [lib.facet.num.get.members]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#TC">TC</a>&nbsp; <b>Submitter:</b>&nbsp;Nathan Myers&nbsp; <b>Date:</b>&nbsp;6 Aug 1998</p>
+<a name="18"></a><h3><a name="18">18.&nbsp;Get(...bool&amp;) omitted</a></h3><p><b>Section:</b>&nbsp;22.2.2.1.1 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-locales.html#lib.facet.num.get.members"> [lib.facet.num.get.members]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#TC">TC</a>&nbsp; <b>Submitter:</b>&nbsp;Nathan Myers&nbsp; <b>Date:</b>&nbsp;6 Aug 1998</p>
<p>In the list of num_get&lt;&gt; non-virtual members on page 22-23, the member
that parses bool values was omitted from the list of definitions of non-virtual
members, though it is listed in the class definition and the corresponding
@@ -894,7 +901,7 @@ one case. The resolution of this issue clarifies what the LWG
believes to have been the original intent.</p>
<hr>
-<a name="24"></a><h3><a name="24">24.&nbsp;"do_convert" doesn't exist</a></h3><p><b>Section:</b>&nbsp;22.2.1.5.2 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-locales.html#lib.locale.codecvt.virtuals"> [lib.locale.codecvt.virtuals]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#TC">TC</a>&nbsp; <b>Submitter:</b>&nbsp;Nathan Myers&nbsp; <b>Date:</b>&nbsp;6 Aug 1998</p>
+<a name="24"><h3>24.&nbsp;"do_convert" doesn't exist</h3></a><p><b>Section:</b>&nbsp;22.2.1.5.2 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-locales.html#lib.locale.codecvt.virtuals"> [lib.locale.codecvt.virtuals]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#TC">TC</a>&nbsp; <b>Submitter:</b>&nbsp;Nathan Myers&nbsp; <b>Date:</b>&nbsp;6 Aug 1998</p>
<p>The description of codecvt&lt;&gt;::do_out and do_in mentions a
symbol "do_convert" which is not defined in the
standard. This is a leftover from an edit, and should be "do_in
@@ -2068,7 +2075,7 @@ character"
</p>
<p>
-In 27.6.1.3, [lib.istream.unformatted], paragraph 5. Change the
+In 27.6.1.3, [lib.istream.unformatted], paragraph 7. Change the
beginning of the first sentence of the effects clause from "Extracts
characters" to "Behaves as an unformatted input function (as described
in 27.6.1.3, paragraph 1). After constructing a sentry object, extracts
@@ -2246,7 +2253,7 @@ unformatted output function (as described in 27.6.2.6, paragraph 1)."
by Judy Ward and Matt Austern. This proposed resolution is section
VI of that paper.</p>
<hr>
-<a name="61"><h3>61.&nbsp;Ambiguity in iostreams exception policy</h3></a><p><b>Section:</b>&nbsp;27.6.1.3 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-iostreams.html#lib.istream.unformatted"> [lib.istream.unformatted]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#TC">TC</a>&nbsp; <b>Submitter:</b>&nbsp;Matt Austern&nbsp; <b>Date:</b>&nbsp;6 Aug 1998</p>
+<a name="61"></a><h3><a name="61">61.&nbsp;Ambiguity in iostreams exception policy</a></h3><p><b>Section:</b>&nbsp;27.6.1.3 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-iostreams.html#lib.istream.unformatted"> [lib.istream.unformatted]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#TC">TC</a>&nbsp; <b>Submitter:</b>&nbsp;Matt Austern&nbsp; <b>Date:</b>&nbsp;6 Aug 1998</p>
<p>The introduction to the section on unformatted input (27.6.1.3)
says that every unformatted input function catches all exceptions that
were thrown during input, sets badbit, and then conditionally rethrows
@@ -2340,7 +2347,7 @@ elaboration of the first. </p>
(27.4.4.3), then the caught exception is rethrown. </p>
</blockquote>
<hr>
-<a name="66"><h3>66.&nbsp;Strstreambuf::setbuf</h3></a><p><b>Section:</b>&nbsp;D.7.1.3 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/future.html#depr.strstreambuf.virtuals"> [depr.strstreambuf.virtuals]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#TC">TC</a>&nbsp; <b>Submitter:</b>&nbsp;Matt Austern&nbsp; <b>Date:</b>&nbsp;18 Aug 1998</p>
+<a name="66"></a><h3><a name="66">66.&nbsp;Strstreambuf::setbuf</a></h3><p><b>Section:</b>&nbsp;D.7.1.3 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/future.html#depr.strstreambuf.virtuals"> [depr.strstreambuf.virtuals]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#TC">TC</a>&nbsp; <b>Submitter:</b>&nbsp;Matt Austern&nbsp; <b>Date:</b>&nbsp;18 Aug 1998</p>
<p>D.7.1.3, paragraph 19, says that strstreambuf::setbuf
"Performs an operation that is defined separately for each class
derived from strstreambuf". This is obviously an incorrect
@@ -2752,7 +2759,7 @@ returning eof or by throwing an exception; there are no other
possibilities. The proposed resolution makes it clear that these two
functions do get characters from a streambuf.</p>
<hr>
-<a name="92"></a><h3><a name="92">92.&nbsp;Incomplete Algorithm Requirements</a></h3><p><b>Section:</b>&nbsp;25 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-algorithms.html#lib.algorithms"> [lib.algorithms]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#WP">WP</a>&nbsp; <b>Submitter:</b>&nbsp;Nico Josuttis&nbsp; <b>Date:</b>&nbsp;29 Sep 1998</p>
+<a name="92"><h3>92.&nbsp;Incomplete Algorithm Requirements</h3></a><p><b>Section:</b>&nbsp;25 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-algorithms.html#lib.algorithms"> [lib.algorithms]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#WP">WP</a>&nbsp; <b>Submitter:</b>&nbsp;Nico Josuttis&nbsp; <b>Date:</b>&nbsp;29 Sep 1998</p>
<p>The standard does not state, how often a function object is copied,
called, or the order of calls inside an algorithm. This may lead to
surprising/buggy behavior. Consider the following example: </p>
@@ -3662,7 +3669,7 @@ to return a const char* not a const charT*. </p>
<tt>do_scan_not()</tt> to return a <tt> const
charT*</tt>. </p>
<hr>
-<a name="125"></a><h3><a name="125">125.&nbsp;valarray&lt;T&gt;::operator!() return type is inconsistent</a></h3><p><b>Section:</b>&nbsp;26.3.2 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-numerics.html#lib.template.valarray"> [lib.template.valarray]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#TC">TC</a>&nbsp; <b>Submitter:</b>&nbsp;Judy Ward&nbsp; <b>Date:</b>&nbsp;15 Dec 1998</p>
+<a name="125"><h3>125.&nbsp;valarray&lt;T&gt;::operator!() return type is inconsistent</h3></a><p><b>Section:</b>&nbsp;26.3.2 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-numerics.html#lib.template.valarray"> [lib.template.valarray]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#TC">TC</a>&nbsp; <b>Submitter:</b>&nbsp;Judy Ward&nbsp; <b>Date:</b>&nbsp;15 Dec 1998</p>
<p>In Section 26.3.2 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-numerics.html#lib.template.valarray"> [lib.template.valarray]</a> valarray&lt;T&gt;::operator!() is
declared to return a valarray&lt;T&gt;, but in Section 26.3.2.5 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-numerics.html#lib.valarray.unary"> [lib.valarray.unary]</a> it is declared to return a valarray&lt;bool&gt;. The
latter appears to be correct. </p>
@@ -6450,7 +6457,7 @@ resolution is the one proposed by Howard.]</i></p>
to <tt>swap</tt>. Also, in 26.3.3.3 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-numerics.html#lib.valarray.transcend"> [lib.valarray.transcend]</a> paragraph 1,
state that the valarray transcendentals use unqualified lookup.</p>
<hr>
-<a name="227"><h3>227.&nbsp;std::swap() should require CopyConstructible or DefaultConstructible arguments</h3></a><p><b>Section:</b>&nbsp;25.2.2 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-algorithms.html#lib.alg.swap"> [lib.alg.swap]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#TC">TC</a>&nbsp; <b>Submitter:</b>&nbsp;Dave Abrahams&nbsp; <b>Date:</b>&nbsp;09 Apr 2000</p>
+<a name="227"></a><h3><a name="227">227.&nbsp;std::swap() should require CopyConstructible or DefaultConstructible arguments</a></h3><p><b>Section:</b>&nbsp;25.2.2 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-algorithms.html#lib.alg.swap"> [lib.alg.swap]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#TC">TC</a>&nbsp; <b>Submitter:</b>&nbsp;Dave Abrahams&nbsp; <b>Date:</b>&nbsp;09 Apr 2000</p>
<p>25.2.2 reads:</p>
<blockquote>
<p><tt> template&lt;class T&gt; void swap(T&amp; a, T&amp; b);</tt><br>
@@ -7029,7 +7036,7 @@ minor as not to require re-review.
]</i></p>
<hr>
-<a name="242"><h3>242.&nbsp;Side effects of function objects</h3></a><p><b>Section:</b>&nbsp;25.2.3 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-algorithms.html#lib.alg.transform"> [lib.alg.transform]</a>, 26.4 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-numerics.html#lib.numeric.ops"> [lib.numeric.ops]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#WP">WP</a>&nbsp; <b>Submitter:</b>&nbsp;Angelika Langer&nbsp; <b>Date:</b>&nbsp;May 15 2000</p>
+<a name="242"></a><h3><a name="242">242.&nbsp;Side effects of function objects</a></h3><p><b>Section:</b>&nbsp;25.2.3 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-algorithms.html#lib.alg.transform"> [lib.alg.transform]</a>, 26.4 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-numerics.html#lib.numeric.ops"> [lib.numeric.ops]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#WP">WP</a>&nbsp; <b>Submitter:</b>&nbsp;Angelika Langer&nbsp; <b>Date:</b>&nbsp;May 15 2000</p>
<p>The algorithms transform(), accumulate(), inner_product(),
partial_sum(), and adjacent_difference() require that the function
object supplied to them shall not have any side effects.</p>
@@ -7330,7 +7337,7 @@ iterators into *this, not into x.
<p>The original proposed resolution said that iterators and references
would remain "valid". The new proposed resolution clarifies what that
means. Note that this only applies to the case of equal allocators.
-&gt;From 20.1.5 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-utilities.html#lib.allocator.requirements"> [lib.allocator.requirements]</a> paragraph 4, the behavior of list when
+From 20.1.5 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-utilities.html#lib.allocator.requirements"> [lib.allocator.requirements]</a> paragraph 4, the behavior of list when
allocators compare nonequal is outside the scope of the standard.</p>
<hr>
<a name="251"><h3>251.&nbsp;basic_stringbuf missing allocator_type</h3></a><p><b>Section:</b>&nbsp;27.7.1 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-iostreams.html#lib.stringbuf"> [lib.stringbuf]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#WP">WP</a>&nbsp; <b>Submitter:</b>&nbsp;Martin Sebor&nbsp; <b>Date:</b>&nbsp;28 Jul 2000</p>
@@ -10598,7 +10605,7 @@ parameter name conveys real normative meaning.
<hr>
<a name="338"><h3>338.&nbsp; is whitespace allowed between `-' and a digit?</h3></a><p><b>Section:</b>&nbsp;22.2 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-locales.html#lib.locale.categories"> [lib.locale.categories]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#WP">WP</a>&nbsp; <b>Submitter:</b>&nbsp;Martin Sebor&nbsp; <b>Date:</b>&nbsp;17 Sep 2001</p>
<p>
-&gt;From Stage 2 processing in 22.2.2.1.2 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-locales.html#lib.facet.num.get.virtuals"> [lib.facet.num.get.virtuals]</a>, p8 and 9 (the
+From Stage 2 processing in 22.2.2.1.2 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-locales.html#lib.facet.num.get.virtuals"> [lib.facet.num.get.virtuals]</a>, p8 and 9 (the
original text or the text corrected by the proposed resolution of
issue <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#221">221</a>) it seems clear that no whitespace is allowed
within a number, but 22.2.3.1 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-locales.html#lib.locale.numpunct"> [lib.locale.numpunct]</a>, p2, which gives the
@@ -11080,7 +11087,7 @@ key greater than k, or a.end() if such an element is not found.
<p><i>[Curaçao: LWG reviewed PR.]</i></p>
<hr>
-<a name="355"></a><h3><a name="355">355.&nbsp;Operational semantics for a.back()</a></h3><p><b>Section:</b>&nbsp;23.1.1 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-containers.html#lib.sequence.reqmts"> [lib.sequence.reqmts]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#WP">WP</a>&nbsp; <b>Submitter:</b>&nbsp;Yaroslav Mironov&nbsp; <b>Date:</b>&nbsp;23 Jan 2002</p>
+<a name="355"><h3>355.&nbsp;Operational semantics for a.back()</h3></a><p><b>Section:</b>&nbsp;23.1.1 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-containers.html#lib.sequence.reqmts"> [lib.sequence.reqmts]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#WP">WP</a>&nbsp; <b>Submitter:</b>&nbsp;Yaroslav Mironov&nbsp; <b>Date:</b>&nbsp;23 Jan 2002</p>
<p>Table 68 "Optional Sequence Operations" in 23.1.1/12
specifies operational semantics for "a.back()" as
@@ -11149,8 +11156,8 @@ LWG would like a new issue opened.]</i></p>
"*tmp" to "return *tmp;"]</i></p>
<hr>
-<a name="358"></a><h3><a name="358">358.&nbsp;interpreting <tt>thousands_sep</tt> after a <tt>decimal_point</tt>
-</a></h3><p><b>Section:</b>&nbsp;22.2.2.1.2 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-locales.html#lib.facet.num.get.virtuals"> [lib.facet.num.get.virtuals]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#WP">WP</a>&nbsp; <b>Submitter:</b>&nbsp;Martin Sebor&nbsp; <b>Date:</b>&nbsp;12 Mar 2002</p>
+<a name="358"><h3>358.&nbsp;interpreting <tt>thousands_sep</tt> after a <tt>decimal_point</tt>
+</h3></a><p><b>Section:</b>&nbsp;22.2.2.1.2 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-locales.html#lib.facet.num.get.virtuals"> [lib.facet.num.get.virtuals]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#WP">WP</a>&nbsp; <b>Submitter:</b>&nbsp;Martin Sebor&nbsp; <b>Date:</b>&nbsp;12 Mar 2002</p>
<p>
I don't think <tt>thousands_sep</tt> is being treated correctly after
decimal_point has been seen. Since grouping applies only to the
@@ -11432,7 +11439,7 @@ with the following signature:</p>
<p><b>Rationale:</b></p>
<p>Fixes an obvious typo.</p>
<hr>
-<a name="373"></a><h3><a name="373">373.&nbsp;Are basic_istream and basic_ostream to use (exceptions()&amp;badbit) != 0 ?</a></h3><p><b>Section:</b>&nbsp;27.6.1.2.1 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-iostreams.html#lib.istream.formatted.reqmts"> [lib.istream.formatted.reqmts]</a>, 27.6.2.5.1 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-iostreams.html#lib.ostream.formatted.reqmts"> [lib.ostream.formatted.reqmts]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#WP">WP</a>&nbsp; <b>Submitter:</b>&nbsp;Keith Baker&nbsp; <b>Date:</b>&nbsp;23 Jul 2002</p>
+<a name="373"><h3>373.&nbsp;Are basic_istream and basic_ostream to use (exceptions()&amp;badbit) != 0 ?</h3></a><p><b>Section:</b>&nbsp;27.6.1.2.1 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-iostreams.html#lib.istream.formatted.reqmts"> [lib.istream.formatted.reqmts]</a>, 27.6.2.5.1 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-iostreams.html#lib.ostream.formatted.reqmts"> [lib.ostream.formatted.reqmts]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#WP">WP</a>&nbsp; <b>Submitter:</b>&nbsp;Keith Baker&nbsp; <b>Date:</b>&nbsp;23 Jul 2002</p>
<p>
In 27.6.1.2.1 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-iostreams.html#lib.istream.formatted.reqmts"> [lib.istream.formatted.reqmts]</a> and 27.6.2.5.1 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-iostreams.html#lib.ostream.formatted.reqmts"> [lib.ostream.formatted.reqmts]</a>
@@ -11449,7 +11456,7 @@ In 27.6.1.2.1 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-iostreams
<p><b>Rationale:</b></p>
<p>Fixes an obvious typo.</p>
<hr>
-<a name="375"></a><h3><a name="375">375.&nbsp;basic_ios should be ios_base in 27.7.1.3</a></h3><p><b>Section:</b>&nbsp;27.7.1.3 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-iostreams.html#lib.stringbuf.virtuals"> [lib.stringbuf.virtuals]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#WP">WP</a>&nbsp; <b>Submitter:</b>&nbsp;Ray Lischner&nbsp; <b>Date:</b>&nbsp;14 Aug 2002</p>
+<a name="375"><h3>375.&nbsp;basic_ios should be ios_base in 27.7.1.3</h3></a><p><b>Section:</b>&nbsp;27.7.1.3 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-iostreams.html#lib.stringbuf.virtuals"> [lib.stringbuf.virtuals]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#WP">WP</a>&nbsp; <b>Submitter:</b>&nbsp;Ray Lischner&nbsp; <b>Date:</b>&nbsp;14 Aug 2002</p>
<p>
In Section 27.7.1.3 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-iostreams.html#lib.stringbuf.virtuals"> [lib.stringbuf.virtuals]</a>: Table 90, Table 91, and paragraph
14 all contain references to "basic_ios::" which should be
@@ -11531,7 +11538,7 @@ heading Meaning, to "space for more than (to_limit - to) destination
elements was needed to terminate a sequence given the value of state."
</p>
<hr>
-<a name="381"></a><h3><a name="381">381.&nbsp;detection of invalid mbstate_t in codecvt</a></h3><p><b>Section:</b>&nbsp;22.2.1.5.2 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-locales.html#lib.locale.codecvt.virtuals"> [lib.locale.codecvt.virtuals]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#WP">WP</a>&nbsp; <b>Submitter:</b>&nbsp;Martin Sebor&nbsp; <b>Date:</b>&nbsp;6 Sep 2002</p>
+<a name="381"><h3>381.&nbsp;detection of invalid mbstate_t in codecvt</h3></a><p><b>Section:</b>&nbsp;22.2.1.5.2 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-locales.html#lib.locale.codecvt.virtuals"> [lib.locale.codecvt.virtuals]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#WP">WP</a>&nbsp; <b>Submitter:</b>&nbsp;Martin Sebor&nbsp; <b>Date:</b>&nbsp;6 Sep 2002</p>
<p>
All but one codecvt member functions that take a state_type argument
list as one of their preconditions that the state_type argument have
@@ -12743,7 +12750,7 @@ longer allowable since [pbase(), epptr()) may now contain
uninitialized characters. Positioning is only allowable over the
initialized range.</p>
<hr>
-<a name="434"><h3>434.&nbsp;bitset::to_string() hard to use</h3></a><p><b>Section:</b>&nbsp;23.3.5.2 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-containers.html#lib.bitset.members"> [lib.bitset.members]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#DR">DR</a>&nbsp; <b>Submitter:</b>&nbsp;Martin Sebor&nbsp; <b>Date:</b>&nbsp;15 Oct 2003</p>
+<a name="434"></a><h3><a name="434">434.&nbsp;bitset::to_string() hard to use</a></h3><p><b>Section:</b>&nbsp;23.3.5.2 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-containers.html#lib.bitset.members"> [lib.bitset.members]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#DR">DR</a>&nbsp; <b>Submitter:</b>&nbsp;Martin Sebor&nbsp; <b>Date:</b>&nbsp;15 Oct 2003</p>
<p>
It has been pointed out a number of times that the bitset to_string() member
function template is tedious to use since callers must explicitly specify the
@@ -13788,7 +13795,7 @@ imposed by Table 37 on compare() when char is signed.
Post-Redmond: Martin provided wording.]</i></p>
<hr>
-<a name="468"><h3>468.&nbsp;unexpected consequences of ios_base::operator void*()</h3></a><p><b>Section:</b>&nbsp;27.4.4.3 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-iostreams.html#lib.iostate.flags"> [lib.iostate.flags]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#WP">WP</a>&nbsp; <b>Submitter:</b>&nbsp;Martin Sebor&nbsp; <b>Date:</b>&nbsp;28 Jun 2004</p>
+<a name="468"></a><h3><a name="468">468.&nbsp;unexpected consequences of ios_base::operator void*()</a></h3><p><b>Section:</b>&nbsp;27.4.4.3 <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lib-iostreams.html#lib.iostate.flags"> [lib.iostate.flags]</a>&nbsp; <b>Status:</b>&nbsp;<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#WP">WP</a>&nbsp; <b>Submitter:</b>&nbsp;Martin Sebor&nbsp; <b>Date:</b>&nbsp;28 Jun 2004</p>
<p>The program below is required to compile but when run it typically
produces unexpected results due to the user-defined conversion from
diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am
index 5e5abba74b3..844629ceb6b 100644
--- a/libstdc++-v3/include/Makefile.am
+++ b/libstdc++-v3/include/Makefile.am
@@ -1,6 +1,7 @@
## Makefile for the include subdirectory of the GNU C++ Standard library.
##
-## Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+## Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
+## Free Software Foundation, Inc.
##
## This file is part of the libstdc++ version 3 distribution.
## Process this file with automake to produce Makefile.in.
@@ -482,21 +483,23 @@ tr1_headers = \
${tr1_srcdir}/bind_repeat.h \
${tr1_srcdir}/bind_iterate.h \
${tr1_srcdir}/boost_shared_ptr.h \
- ${tr1_srcdir}/mu_iterate.h \
+ ${tr1_srcdir}/common.h \
+ ${tr1_srcdir}/complex \
${tr1_srcdir}/functional \
${tr1_srcdir}/functional_iterate.h \
+ ${tr1_srcdir}/hashtable \
${tr1_srcdir}/memory \
+ ${tr1_srcdir}/mu_iterate.h \
${tr1_srcdir}/ref_fwd.h \
${tr1_srcdir}/ref_wrap_iterate.h \
${tr1_srcdir}/repeat.h \
${tr1_srcdir}/tuple \
${tr1_srcdir}/tuple_iterate.h \
- ${tr1_srcdir}/utility \
${tr1_srcdir}/type_traits \
${tr1_srcdir}/type_traits_fwd.h \
- ${tr1_srcdir}/hashtable \
${tr1_srcdir}/unordered_set \
- ${tr1_srcdir}/unordered_map
+ ${tr1_srcdir}/unordered_map \
+ ${tr1_srcdir}/utility
# This is the common subset of files that all three "C" header models use.
@@ -611,6 +614,7 @@ endif
host_srcdir = ${glibcxx_srcdir}/$(OS_INC_SRCDIR)
host_builddir = ./${host_alias}/bits
+host_installdir = ${gxx_include_dir}/${host_alias}$(MULTISUBDIR)/bits
host_headers = \
${host_srcdir}/ctype_base.h \
${host_srcdir}/ctype_inline.h \
@@ -644,6 +648,7 @@ thread_host_headers = \
pch_input = ${host_builddir}/stdc++.h
pch_output_builddir = ${host_builddir}/stdc++.h.gch
+pch_output_installdir = ${host_installdir}/stdc++.h.gch
pch_source = ${glibcxx_srcdir}/include/stdc++.h
PCHFLAGS=-Winvalid-pch -Wno-deprecated -x c++-header $(CXXFLAGS)
if GLIBCXX_BUILD_PCH
@@ -916,9 +921,9 @@ endif
# are copied here.
install-freestanding-headers:
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}
- $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${host_builddir}
+ $(mkinstalldirs) $(DESTDIR)${host_installdir}
for file in ${host_srcdir}/os_defines.h ${host_builddir}/c++config.h; do \
- $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${host_builddir}; done
+ $(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}; done
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${std_builddir}
$(INSTALL_DATA) ${std_builddir}/limits $(DESTDIR)${gxx_include_dir}/${std_builddir}
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${c_base_builddir}
@@ -978,15 +983,15 @@ install-headers:
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${debug_builddir}
for file in ${debug_headers}; do \
$(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${debug_builddir}; done
- $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${host_builddir}
+ $(mkinstalldirs) $(DESTDIR)${host_installdir}
for file in ${host_headers} ${host_headers_extra} \
${thread_host_headers}; do \
- $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${host_builddir}; done
+ $(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}; done
install-pch:
- $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${pch_output_builddir}
+ $(mkinstalldirs) $(DESTDIR)${pch_output_installdir}
for file in ${pch_output_builddir}/*; do \
- $(INSTALL_DATA) $$file $(DESTDIR)${gxx_include_dir}/${pch_output_builddir}; done
+ $(INSTALL_DATA) $$file $(DESTDIR)${pch_output_installdir}; done
# By adding these files here, automake will remove them for 'make clean'
CLEANFILES = ${pch_input} ${pch_output_builddir}/*
diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in
index 5e7c986e0cc..6dfba58c118 100644
--- a/libstdc++-v3/include/Makefile.in
+++ b/libstdc++-v3/include/Makefile.in
@@ -700,21 +700,23 @@ tr1_headers = \
${tr1_srcdir}/bind_repeat.h \
${tr1_srcdir}/bind_iterate.h \
${tr1_srcdir}/boost_shared_ptr.h \
- ${tr1_srcdir}/mu_iterate.h \
+ ${tr1_srcdir}/common.h \
+ ${tr1_srcdir}/complex \
${tr1_srcdir}/functional \
${tr1_srcdir}/functional_iterate.h \
+ ${tr1_srcdir}/hashtable \
${tr1_srcdir}/memory \
+ ${tr1_srcdir}/mu_iterate.h \
${tr1_srcdir}/ref_fwd.h \
${tr1_srcdir}/ref_wrap_iterate.h \
${tr1_srcdir}/repeat.h \
${tr1_srcdir}/tuple \
${tr1_srcdir}/tuple_iterate.h \
- ${tr1_srcdir}/utility \
${tr1_srcdir}/type_traits \
${tr1_srcdir}/type_traits_fwd.h \
- ${tr1_srcdir}/hashtable \
${tr1_srcdir}/unordered_set \
- ${tr1_srcdir}/unordered_map
+ ${tr1_srcdir}/unordered_map \
+ ${tr1_srcdir}/utility
# This is the common subset of files that all three "C" header models use.
@@ -825,6 +827,7 @@ debug_headers = \
@GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE@c_compatibility_headers_extra = ${c_compatibility_headers}
host_srcdir = ${glibcxx_srcdir}/$(OS_INC_SRCDIR)
host_builddir = ./${host_alias}/bits
+host_installdir = ${gxx_include_dir}/${host_alias}$(MULTISUBDIR)/bits
host_headers = \
${host_srcdir}/ctype_base.h \
${host_srcdir}/ctype_inline.h \
@@ -860,6 +863,7 @@ thread_host_headers = \
pch_input = ${host_builddir}/stdc++.h
pch_output_builddir = ${host_builddir}/stdc++.h.gch
+pch_output_installdir = ${host_installdir}/stdc++.h.gch
pch_source = ${glibcxx_srcdir}/include/stdc++.h
PCHFLAGS = -Winvalid-pch -Wno-deprecated -x c++-header $(CXXFLAGS)
@GLIBCXX_BUILD_PCH_FALSE@pch_build =
@@ -1289,9 +1293,9 @@ ${pch_input}: ${allstamped} ${host_builddir}/c++config.h ${pch_source}
# are copied here.
install-freestanding-headers:
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}
- $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${host_builddir}
+ $(mkinstalldirs) $(DESTDIR)${host_installdir}
for file in ${host_srcdir}/os_defines.h ${host_builddir}/c++config.h; do \
- $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${host_builddir}; done
+ $(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}; done
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${std_builddir}
$(INSTALL_DATA) ${std_builddir}/limits $(DESTDIR)${gxx_include_dir}/${std_builddir}
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${c_base_builddir}
@@ -1351,15 +1355,15 @@ install-headers:
$(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${debug_builddir}
for file in ${debug_headers}; do \
$(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${debug_builddir}; done
- $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${host_builddir}
+ $(mkinstalldirs) $(DESTDIR)${host_installdir}
for file in ${host_headers} ${host_headers_extra} \
${thread_host_headers}; do \
- $(INSTALL_DATA) $${file} $(DESTDIR)${gxx_include_dir}/${host_builddir}; done
+ $(INSTALL_DATA) $${file} $(DESTDIR)${host_installdir}; done
install-pch:
- $(mkinstalldirs) $(DESTDIR)${gxx_include_dir}/${pch_output_builddir}
+ $(mkinstalldirs) $(DESTDIR)${pch_output_installdir}
for file in ${pch_output_builddir}/*; do \
- $(INSTALL_DATA) $$file $(DESTDIR)${gxx_include_dir}/${pch_output_builddir}; done
+ $(INSTALL_DATA) $$file $(DESTDIR)${pch_output_installdir}; done
# Stop implicit '.o' make rules from ever stomping on extensionless
# headers, in the improbable case where some foolish, crack-addled
diff --git a/libstdc++-v3/include/bits/allocator.h b/libstdc++-v3/include/bits/allocator.h
index ddb5817f9f3..43939c14fa7 100644
--- a/libstdc++-v3/include/bits/allocator.h
+++ b/libstdc++-v3/include/bits/allocator.h
@@ -1,6 +1,7 @@
// Allocators -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -51,6 +52,8 @@
// Define the base class to std::allocator.
#include <bits/c++allocator.h>
+#include <bits/cpp_type_traits.h> // for __is_empty
+
_GLIBCXX_BEGIN_NAMESPACE(std)
template<typename _Tp>
diff --git a/libstdc++-v3/include/bits/istream.tcc b/libstdc++-v3/include/bits/istream.tcc
index 541e75afb80..184c2bd613f 100644
--- a/libstdc++-v3/include/bits/istream.tcc
+++ b/libstdc++-v3/include/bits/istream.tcc
@@ -110,310 +110,27 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
template<typename _CharT, typename _Traits>
- basic_istream<_CharT, _Traits>&
- basic_istream<_CharT, _Traits>::
- operator>>(bool& __n)
- {
- sentry __cerb(*this, false);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- const __num_get_type& __ng = __check_facet(this->_M_num_get);
- __ng.get(*this, 0, *this, __err, __n);
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_istream<_CharT, _Traits>&
- basic_istream<_CharT, _Traits>::
- operator>>(short& __n)
- {
- sentry __cerb(*this, false);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- long __l;
- const __num_get_type& __ng = __check_facet(this->_M_num_get);
- __ng.get(*this, 0, *this, __err, __l);
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 118. basic_istream uses nonexistent num_get member functions.
- if (!(__err & ios_base::failbit)
- && (numeric_limits<short>::min() <= __l
- && __l <= numeric_limits<short>::max()))
- __n = __l;
- else
- __err |= ios_base::failbit;
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_istream<_CharT, _Traits>&
- basic_istream<_CharT, _Traits>::
- operator>>(unsigned short& __n)
- {
- sentry __cerb(*this, false);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- const __num_get_type& __ng = __check_facet(this->_M_num_get);
- __ng.get(*this, 0, *this, __err, __n);
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_istream<_CharT, _Traits>&
- basic_istream<_CharT, _Traits>::
- operator>>(int& __n)
- {
- sentry __cerb(*this, false);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- long __l;
- const __num_get_type& __ng = __check_facet(this->_M_num_get);
- __ng.get(*this, 0, *this, __err, __l);
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 118. basic_istream uses nonexistent num_get member functions.
- if (!(__err & ios_base::failbit)
- && (numeric_limits<int>::min() <= __l
- && __l <= numeric_limits<int>::max()))
- __n = __l;
- else
- __err |= ios_base::failbit;
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_istream<_CharT, _Traits>&
- basic_istream<_CharT, _Traits>::
- operator>>(unsigned int& __n)
- {
- sentry __cerb(*this, false);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- const __num_get_type& __ng = __check_facet(this->_M_num_get);
- __ng.get(*this, 0, *this, __err, __n);
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_istream<_CharT, _Traits>&
- basic_istream<_CharT, _Traits>::
- operator>>(long& __n)
- {
- sentry __cerb(*this, false);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- const __num_get_type& __ng = __check_facet(this->_M_num_get);
- __ng.get(*this, 0, *this, __err, __n);
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_istream<_CharT, _Traits>&
- basic_istream<_CharT, _Traits>::
- operator>>(unsigned long& __n)
- {
- sentry __cerb(*this, false);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- const __num_get_type& __ng = __check_facet(this->_M_num_get);
- __ng.get(*this, 0, *this, __err, __n);
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
-#ifdef _GLIBCXX_USE_LONG_LONG
- template<typename _CharT, typename _Traits>
- basic_istream<_CharT, _Traits>&
- basic_istream<_CharT, _Traits>::
- operator>>(long long& __n)
- {
- sentry __cerb(*this, false);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- const __num_get_type& __ng = __check_facet(this->_M_num_get);
- __ng.get(*this, 0, *this, __err, __n);
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_istream<_CharT, _Traits>&
- basic_istream<_CharT, _Traits>::
- operator>>(unsigned long long& __n)
- {
- sentry __cerb(*this, false);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- const __num_get_type& __ng = __check_facet(this->_M_num_get);
- __ng.get(*this, 0, *this, __err, __n);
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-#endif
-
- template<typename _CharT, typename _Traits>
- basic_istream<_CharT, _Traits>&
- basic_istream<_CharT, _Traits>::
- operator>>(float& __n)
- {
- sentry __cerb(*this, false);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- const __num_get_type& __ng = __check_facet(this->_M_num_get);
- __ng.get(*this, 0, *this, __err, __n);
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_istream<_CharT, _Traits>&
- basic_istream<_CharT, _Traits>::
- operator>>(double& __n)
- {
- sentry __cerb(*this, false);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- const __num_get_type& __ng = __check_facet(this->_M_num_get);
- __ng.get(*this, 0, *this, __err, __n);
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_istream<_CharT, _Traits>&
- basic_istream<_CharT, _Traits>::
- operator>>(long double& __n)
- {
- sentry __cerb(*this, false);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- const __num_get_type& __ng = __check_facet(this->_M_num_get);
- __ng.get(*this, 0, *this, __err, __n);
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_istream<_CharT, _Traits>&
- basic_istream<_CharT, _Traits>::
- operator>>(void*& __n)
- {
- sentry __cerb(*this, false);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- const __num_get_type& __ng = __check_facet(this->_M_num_get);
- __ng.get(*this, 0, *this, __err, __n);
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
+ template<typename _ValueT>
+ basic_istream<_CharT, _Traits>&
+ basic_istream<_CharT, _Traits>::
+ _M_extract(_ValueT& __v)
+ {
+ sentry __cerb(*this, false);
+ if (__cerb)
+ {
+ ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
+ try
+ {
+ const __num_get_type& __ng = __check_facet(this->_M_num_get);
+ __ng.get(*this, 0, *this, __err, __v);
+ }
+ catch(...)
+ { this->_M_setstate(ios_base::badbit); }
+ if (__err)
+ this->setstate(__err);
+ }
+ return *this;
+ }
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>&
diff --git a/libstdc++-v3/include/bits/list.tcc b/libstdc++-v3/include/bits/list.tcc
index 87dd99aa5e0..b905d470067 100644
--- a/libstdc++-v3/include/bits/list.tcc
+++ b/libstdc++-v3/include/bits/list.tcc
@@ -1,6 +1,7 @@
// List implementation (out of line) -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -214,6 +215,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
// 300. list::merge() specification incomplete
if (this != &__x)
{
+ _M_check_equal_allocators(__x);
+
iterator __first1 = begin();
iterator __last1 = end();
iterator __first2 = __x.begin();
@@ -233,6 +236,36 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
}
template<typename _Tp, typename _Alloc>
+ template <typename _StrictWeakOrdering>
+ void
+ list<_Tp, _Alloc>::
+ merge(list& __x, _StrictWeakOrdering __comp)
+ {
+ // _GLIBCXX_RESOLVE_LIB_DEFECTS
+ // 300. list::merge() specification incomplete
+ if (this != &__x)
+ {
+ _M_check_equal_allocators(__x);
+
+ iterator __first1 = begin();
+ iterator __last1 = end();
+ iterator __first2 = __x.begin();
+ iterator __last2 = __x.end();
+ while (__first1 != __last1 && __first2 != __last2)
+ if (__comp(*__first2, *__first1))
+ {
+ iterator __next = __first2;
+ _M_transfer(__first1, __first2, ++__next);
+ __first2 = __next;
+ }
+ else
+ ++__first1;
+ if (__first2 != __last2)
+ _M_transfer(__last1, __first2, __last2);
+ }
+ }
+
+ template<typename _Tp, typename _Alloc>
void
list<_Tp, _Alloc>::
sort()
@@ -312,34 +345,6 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
template <typename _StrictWeakOrdering>
void
list<_Tp, _Alloc>::
- merge(list& __x, _StrictWeakOrdering __comp)
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 300. list::merge() specification incomplete
- if (this != &__x)
- {
- iterator __first1 = begin();
- iterator __last1 = end();
- iterator __first2 = __x.begin();
- iterator __last2 = __x.end();
- while (__first1 != __last1 && __first2 != __last2)
- if (__comp(*__first2, *__first1))
- {
- iterator __next = __first2;
- _M_transfer(__first1, __first2, ++__next);
- __first2 = __next;
- }
- else
- ++__first1;
- if (__first2 != __last2)
- _M_transfer(__last1, __first2, __last2);
- }
- }
-
- template<typename _Tp, typename _Alloc>
- template <typename _StrictWeakOrdering>
- void
- list<_Tp, _Alloc>::
sort(_StrictWeakOrdering __comp)
{
// Do nothing if the list has length 0 or 1.
diff --git a/libstdc++-v3/include/bits/ostream.tcc b/libstdc++-v3/include/bits/ostream.tcc
index 1642583845f..7b80495c7e8 100644
--- a/libstdc++-v3/include/bits/ostream.tcc
+++ b/libstdc++-v3/include/bits/ostream.tcc
@@ -97,333 +97,29 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
template<typename _CharT, typename _Traits>
- basic_ostream<_CharT, _Traits>&
- basic_ostream<_CharT, _Traits>::
- operator<<(bool __n)
- {
- sentry __cerb(*this);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- const __num_put_type& __np = __check_facet(this->_M_num_put);
- if (__np.put(*this, *this, this->fill(), __n).failed())
- __err |= ios_base::badbit;
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_ostream<_CharT, _Traits>&
- basic_ostream<_CharT, _Traits>::
- operator<<(short __n)
- {
- sentry __cerb(*this);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 117. basic_ostream uses nonexistent num_put member functions.
- long __l;
- const ios_base::fmtflags __fmt = (this->flags()
- & ios_base::basefield);
- if (__fmt == ios_base::oct || __fmt == ios_base::hex)
- __l = static_cast<long>(static_cast<unsigned short>(__n));
- else
- __l = static_cast<long>(__n);
- const __num_put_type& __np = __check_facet(this->_M_num_put);
- if (__np.put(*this, *this, this->fill(), __l).failed())
- __err |= ios_base::badbit;
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_ostream<_CharT, _Traits>&
- basic_ostream<_CharT, _Traits>::
- operator<<(unsigned short __n)
- {
- sentry __cerb(*this);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 117. basic_ostream uses nonexistent num_put member functions.
- const __num_put_type& __np = __check_facet(this->_M_num_put);
- if (__np.put(*this, *this, this->fill(),
- static_cast<unsigned long>(__n)).failed())
- __err |= ios_base::badbit;
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_ostream<_CharT, _Traits>&
- basic_ostream<_CharT, _Traits>::
- operator<<(int __n)
- {
- sentry __cerb(*this);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 117. basic_ostream uses nonexistent num_put member functions.
- long __l;
- const ios_base::fmtflags __fmt = (this->flags()
- & ios_base::basefield);
- if (__fmt == ios_base::oct || __fmt == ios_base::hex)
- __l = static_cast<long>(static_cast<unsigned int>(__n));
- else
- __l = static_cast<long>(__n);
- const __num_put_type& __np = __check_facet(this->_M_num_put);
- if (__np.put(*this, *this, this->fill(), __l).failed())
- __err |= ios_base::badbit;
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_ostream<_CharT, _Traits>&
- basic_ostream<_CharT, _Traits>::
- operator<<(unsigned int __n)
- {
- sentry __cerb(*this);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 117. basic_ostream uses nonexistent num_put member functions.
- const __num_put_type& __np = __check_facet(this->_M_num_put);
- if (__np.put(*this, *this, this->fill(),
- static_cast<unsigned long>(__n)).failed())
- __err |= ios_base::badbit;
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_ostream<_CharT, _Traits>&
- basic_ostream<_CharT, _Traits>::
- operator<<(long __n)
- {
- sentry __cerb(*this);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- const __num_put_type& __np = __check_facet(this->_M_num_put);
- if (__np.put(*this, *this, this->fill(), __n).failed())
- __err |= ios_base::badbit;
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_ostream<_CharT, _Traits>&
- basic_ostream<_CharT, _Traits>::
- operator<<(unsigned long __n)
- {
- sentry __cerb(*this);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- const __num_put_type& __np = __check_facet(this->_M_num_put);
- if (__np.put(*this, *this, this->fill(), __n).failed())
- __err |= ios_base::badbit;
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
-#ifdef _GLIBCXX_USE_LONG_LONG
- template<typename _CharT, typename _Traits>
- basic_ostream<_CharT, _Traits>&
- basic_ostream<_CharT, _Traits>::
- operator<<(long long __n)
- {
- sentry __cerb(*this);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- const __num_put_type& __np = __check_facet(this->_M_num_put);
- if (__np.put(*this, *this, this->fill(), __n).failed())
- __err |= ios_base::badbit;
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_ostream<_CharT, _Traits>&
- basic_ostream<_CharT, _Traits>::
- operator<<(unsigned long long __n)
- {
- sentry __cerb(*this);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- const __num_put_type& __np = __check_facet(this->_M_num_put);
- if (__np.put(*this, *this, this->fill(), __n).failed())
- __err |= ios_base::badbit;
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-#endif
-
- template<typename _CharT, typename _Traits>
- basic_ostream<_CharT, _Traits>&
- basic_ostream<_CharT, _Traits>::
- operator<<(float __n)
- {
- sentry __cerb(*this);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- // _GLIBCXX_RESOLVE_LIB_DEFECTS
- // 117. basic_ostream uses nonexistent num_put member functions.
- const __num_put_type& __np = __check_facet(this->_M_num_put);
- if (__np.put(*this, *this, this->fill(),
- static_cast<double>(__n)).failed())
- __err |= ios_base::badbit;
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_ostream<_CharT, _Traits>&
- basic_ostream<_CharT, _Traits>::
- operator<<(double __n)
- {
- sentry __cerb(*this);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- const __num_put_type& __np = __check_facet(this->_M_num_put);
- if (__np.put(*this, *this, this->fill(), __n).failed())
- __err |= ios_base::badbit;
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_ostream<_CharT, _Traits>&
- basic_ostream<_CharT, _Traits>::
- operator<<(long double __n)
- {
- sentry __cerb(*this);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- const __num_put_type& __np = __check_facet(this->_M_num_put);
- if (__np.put(*this, *this, this->fill(), __n).failed())
- __err |= ios_base::badbit;
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
- template<typename _CharT, typename _Traits>
- basic_ostream<_CharT, _Traits>&
- basic_ostream<_CharT, _Traits>::
- operator<<(const void* __n)
- {
- sentry __cerb(*this);
- if (__cerb)
- {
- ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
- try
- {
- const __num_put_type& __np = __check_facet(this->_M_num_put);
- if (__np.put(*this, *this, this->fill(), __n).failed())
- __err |= ios_base::badbit;
- }
- catch(...)
- { this->_M_setstate(ios_base::badbit); }
- if (__err)
- this->setstate(__err);
- }
- return *this;
- }
-
+ template<typename _ValueT>
+ basic_ostream<_CharT, _Traits>&
+ basic_ostream<_CharT, _Traits>::
+ _M_insert(_ValueT __v)
+ {
+ sentry __cerb(*this);
+ if (__cerb)
+ {
+ ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
+ try
+ {
+ const __num_put_type& __np = __check_facet(this->_M_num_put);
+ if (__np.put(*this, *this, this->fill(), __v).failed())
+ __err |= ios_base::badbit;
+ }
+ catch(...)
+ { this->_M_setstate(ios_base::badbit); }
+ if (__err)
+ this->setstate(__err);
+ }
+ return *this;
+ }
+
template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>&
basic_ostream<_CharT, _Traits>::
diff --git a/libstdc++-v3/include/bits/stl_deque.h b/libstdc++-v3/include/bits/stl_deque.h
index 49adfcf561a..9aa05061b99 100644
--- a/libstdc++-v3/include/bits/stl_deque.h
+++ b/libstdc++-v3/include/bits/stl_deque.h
@@ -1,6 +1,7 @@
// Deque implementation -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/stl_list.h b/libstdc++-v3/include/bits/stl_list.h
index 535bac6b139..43ae8a1b18f 100644
--- a/libstdc++-v3/include/bits/stl_list.h
+++ b/libstdc++-v3/include/bits/stl_list.h
@@ -1,6 +1,7 @@
// List implementation -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -951,12 +952,18 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
* The elements of @a x are inserted in constant time in front of
* the element referenced by @a position. @a x becomes an empty
* list.
+ *
+ * Requires this != @a x.
*/
void
splice(iterator __position, list& __x)
{
if (!__x.empty())
- this->_M_transfer(__position, __x.begin(), __x.end());
+ {
+ _M_check_equal_allocators(__x);
+
+ this->_M_transfer(__position, __x.begin(), __x.end());
+ }
}
/**
@@ -969,12 +976,16 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
* inserts it into the current list before @a position.
*/
void
- splice(iterator __position, list&, iterator __i)
+ splice(iterator __position, list& __x, iterator __i)
{
iterator __j = __i;
++__j;
if (__position == __i || __position == __j)
return;
+
+ if (this != &__x)
+ _M_check_equal_allocators(__x);
+
this->_M_transfer(__position, __i, __j);
}
@@ -991,10 +1002,15 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
* Undefined if @a position is in [first,last).
*/
void
- splice(iterator __position, list&, iterator __first, iterator __last)
+ splice(iterator __position, list& __x, iterator __first, iterator __last)
{
if (__first != __last)
- this->_M_transfer(__position, __first, __last);
+ {
+ if (this != &__x)
+ _M_check_equal_allocators(__x);
+
+ this->_M_transfer(__position, __first, __last);
+ }
}
/**
@@ -1023,8 +1039,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
* responsibilty.
*/
template<typename _Predicate>
- void
- remove_if(_Predicate);
+ void
+ remove_if(_Predicate);
/**
* @brief Remove consecutive duplicate elements.
@@ -1188,6 +1204,14 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
_M_get_Tp_allocator().destroy(&__n->_M_data);
_M_put_node(__n);
}
+
+ // To implement the splice (and merge) bits of N1599.
+ void
+ _M_check_equal_allocators(list& __x)
+ {
+ if (_M_get_Node_allocator() != __x._M_get_Node_allocator())
+ __throw_runtime_error(__N("list::_M_check_equal_allocators"));
+ }
};
/**
diff --git a/libstdc++-v3/include/bits/stl_map.h b/libstdc++-v3/include/bits/stl_map.h
index d8f73e25048..355201df30f 100644
--- a/libstdc++-v3/include/bits/stl_map.h
+++ b/libstdc++-v3/include/bits/stl_map.h
@@ -1,6 +1,6 @@
// Map implementation -*- C++ -*-
-// Copyright (C) 2001, 2002, 2004, 2005 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2004, 2005, 2006 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -201,7 +201,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
const _Compare& __comp = _Compare(),
const allocator_type& __a = allocator_type())
: _M_t(__comp, __a)
- { _M_t.insert_unique(__first, __last); }
+ { _M_t._M_insert_unique(__first, __last); }
// FIXME There is no dtor declared, but we should have something generated
// by Doxygen. I don't know what tags to add to this paragraph to make
@@ -408,7 +408,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
*/
std::pair<iterator,bool>
insert(const value_type& __x)
- { return _M_t.insert_unique(__x); }
+ { return _M_t._M_insert_unique(__x); }
/**
* @brief Attempts to insert a std::pair into the %map.
@@ -432,7 +432,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
*/
iterator
insert(iterator position, const value_type& __x)
- { return _M_t.insert_unique(position, __x); }
+ { return _M_t._M_insert_unique(position, __x); }
/**
* @brief A template function that attemps to insert a range of elements.
@@ -445,7 +445,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
template <typename _InputIterator>
void
insert(_InputIterator __first, _InputIterator __last)
- { _M_t.insert_unique(__first, __last); }
+ { _M_t._M_insert_unique(__first, __last); }
// _GLIBCXX_RESOLVE_LIB_DEFECTS
// DR 130. Return type of container::erase(iterator) differs for
diff --git a/libstdc++-v3/include/bits/stl_multimap.h b/libstdc++-v3/include/bits/stl_multimap.h
index 13b78ef818f..e06ea6e9470 100644
--- a/libstdc++-v3/include/bits/stl_multimap.h
+++ b/libstdc++-v3/include/bits/stl_multimap.h
@@ -1,6 +1,6 @@
// Multimap implementation -*- C++ -*-
-// Copyright (C) 2001, 2002, 2004, 2005 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2004, 2005, 2006 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -214,7 +214,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
const _Compare& __comp = _Compare(),
const allocator_type& __a = allocator_type())
: _M_t(__comp, __a)
- { _M_t.insert_equal(__first, __last); }
+ { _M_t._M_insert_equal(__first, __last); }
// FIXME There is no dtor declared, but we should have something generated
// by Doxygen. I don't know what tags to add to this paragraph to make
@@ -366,7 +366,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
*/
iterator
insert(const value_type& __x)
- { return _M_t.insert_equal(__x); }
+ { return _M_t._M_insert_equal(__x); }
/**
* @brief Inserts a std::pair into the %multimap.
@@ -390,7 +390,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
*/
iterator
insert(iterator __position, const value_type& __x)
- { return _M_t.insert_equal(__position, __x); }
+ { return _M_t._M_insert_equal(__position, __x); }
/**
* @brief A template function that attemps to insert a range of elements.
@@ -403,7 +403,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
template <typename _InputIterator>
void
insert(_InputIterator __first, _InputIterator __last)
- { _M_t.insert_equal(__first, __last); }
+ { _M_t._M_insert_equal(__first, __last); }
// _GLIBCXX_RESOLVE_LIB_DEFECTS
// DR 130. Return type of container::erase(iterator) differs for
diff --git a/libstdc++-v3/include/bits/stl_multiset.h b/libstdc++-v3/include/bits/stl_multiset.h
index ac845bfb3d0..38bc35a5c22 100644
--- a/libstdc++-v3/include/bits/stl_multiset.h
+++ b/libstdc++-v3/include/bits/stl_multiset.h
@@ -1,6 +1,6 @@
// Multiset implementation -*- C++ -*-
-// Copyright (C) 2001, 2002, 2004, 2005 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2004, 2005, 2006 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -169,7 +169,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
const _Compare& __comp = _Compare(),
const allocator_type& __a = allocator_type())
: _M_t(__comp, __a)
- { _M_t.insert_equal(__first, __last); }
+ { _M_t._M_insert_equal(__first, __last); }
/**
* @brief %Multiset copy constructor.
@@ -324,7 +324,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
*/
iterator
insert(const value_type& __x)
- { return _M_t.insert_equal(__x); }
+ { return _M_t._M_insert_equal(__x); }
/**
* @brief Inserts an element into the %multiset.
@@ -348,7 +348,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
*/
iterator
insert(iterator __position, const value_type& __x)
- { return _M_t.insert_equal(__position, __x); }
+ { return _M_t._M_insert_equal(__position, __x); }
/**
* @brief A template function that attemps to insert a range of elements.
@@ -361,7 +361,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
template <class _InputIterator>
void
insert(_InputIterator __first, _InputIterator __last)
- { _M_t.insert_equal(__first, __last); }
+ { _M_t._M_insert_equal(__first, __last); }
// _GLIBCXX_RESOLVE_LIB_DEFECTS
// DR 130. Return type of container::erase(iterator) differs for
diff --git a/libstdc++-v3/include/bits/stl_set.h b/libstdc++-v3/include/bits/stl_set.h
index a268c1732bb..4faa6e5a24f 100644
--- a/libstdc++-v3/include/bits/stl_set.h
+++ b/libstdc++-v3/include/bits/stl_set.h
@@ -1,6 +1,6 @@
// Set implementation -*- C++ -*-
-// Copyright (C) 2001, 2002, 2004, 2005 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2004, 2005, 2006 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -178,7 +178,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
const _Compare& __comp = _Compare(),
const allocator_type& __a = allocator_type())
: _M_t(__comp, __a)
- { _M_t.insert_unique(__first, __last); }
+ { _M_t._M_insert_unique(__first, __last); }
/**
* @brief Set copy constructor.
@@ -334,7 +334,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
insert(const value_type& __x)
{
std::pair<typename _Rep_type::iterator, bool> __p =
- _M_t.insert_unique(__x);
+ _M_t._M_insert_unique(__x);
return std::pair<iterator, bool>(__p.first, __p.second);
}
@@ -359,7 +359,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
*/
iterator
insert(iterator __position, const value_type& __x)
- { return _M_t.insert_unique(__position, __x); }
+ { return _M_t._M_insert_unique(__position, __x); }
/**
* @brief A template function that attemps to insert a range of elements.
@@ -372,7 +372,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
template<class _InputIterator>
void
insert(_InputIterator __first, _InputIterator __last)
- { _M_t.insert_unique(__first, __last); }
+ { _M_t._M_insert_unique(__first, __last); }
// _GLIBCXX_RESOLVE_LIB_DEFECTS
// DR 130. Return type of container::erase(iterator) differs for
diff --git a/libstdc++-v3/include/bits/stl_tree.h b/libstdc++-v3/include/bits/stl_tree.h
index c1177e24541..3b10bad9d57 100644
--- a/libstdc++-v3/include/bits/stl_tree.h
+++ b/libstdc++-v3/include/bits/stl_tree.h
@@ -1,6 +1,7 @@
// RB tree implementation -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -356,7 +357,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_M_get_Node_allocator() const
{ return *static_cast<const _Node_allocator*>(&this->_M_impl); }
- allocator_type
+ allocator_type
get_allocator() const
{ return allocator_type(_M_get_Node_allocator()); }
@@ -554,6 +555,11 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
iterator
_M_insert(_Base_ptr __x, _Base_ptr __y, const value_type& __v);
+ // _GLIBCXX_RESOLVE_LIB_DEFECTS
+ // 233. Insertion hints in associative containers.
+ iterator
+ _M_insert_lower(_Base_ptr __x, _Base_ptr __y, const value_type& __v);
+
const_iterator
_M_insert(_Const_Base_ptr __x, _Const_Base_ptr __y,
const value_type& __v);
@@ -657,31 +663,36 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
swap(_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __t);
// Insert/erase.
- pair<iterator,bool>
- insert_unique(const value_type& __x);
+ pair<iterator, bool>
+ _M_insert_unique(const value_type& __x);
iterator
- insert_equal(const value_type& __x);
+ _M_insert_equal(const value_type& __x);
+
+ // _GLIBCXX_RESOLVE_LIB_DEFECTS
+ // 233. Insertion hints in associative containers.
+ iterator
+ _M_insert_equal_lower(const value_type& __x);
iterator
- insert_unique(iterator __position, const value_type& __x);
+ _M_insert_unique(iterator __position, const value_type& __x);
const_iterator
- insert_unique(const_iterator __position, const value_type& __x);
+ _M_insert_unique(const_iterator __position, const value_type& __x);
iterator
- insert_equal(iterator __position, const value_type& __x);
+ _M_insert_equal(iterator __position, const value_type& __x);
const_iterator
- insert_equal(const_iterator __position, const value_type& __x);
+ _M_insert_equal(const_iterator __position, const value_type& __x);
template<typename _InputIterator>
void
- insert_unique(_InputIterator __first, _InputIterator __last);
+ _M_insert_unique(_InputIterator __first, _InputIterator __last);
template<typename _InputIterator>
void
- insert_equal(_InputIterator __first, _InputIterator __last);
+ _M_insert_equal(_InputIterator __first, _InputIterator __last);
iterator
erase(iterator __position);
@@ -841,6 +852,24 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc>
+ typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
+ _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
+ _M_insert_lower(_Base_ptr __x, _Base_ptr __p, const _Val& __v)
+ {
+ bool __insert_left = (__x != 0 || __p == _M_end()
+ || !_M_impl._M_key_compare()(_S_key(__p),
+ _KeyOfValue()(__v)));
+
+ _Link_type __z = _M_create_node(__v);
+
+ _Rb_tree_insert_and_rebalance(__insert_left, __z, __p,
+ this->_M_impl._M_header);
+ ++_M_impl._M_node_count;
+ return iterator(__z);
+ }
+
+ template<typename _Key, typename _Val, typename _KeyOfValue,
+ typename _Compare, typename _Alloc>
typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
_M_insert(_Const_Base_ptr __x, _Const_Base_ptr __p, const _Val& __v)
@@ -862,7 +891,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
typename _Compare, typename _Alloc>
typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
- insert_equal(const _Val& __v)
+ _M_insert_equal(const _Val& __v)
{
_Link_type __x = _M_begin();
_Link_type __y = _M_end();
@@ -877,44 +906,61 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<typename _Key, typename _Val, typename _KeyOfValue,
typename _Compare, typename _Alloc>
+ typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
+ _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
+ _M_insert_equal_lower(const _Val& __v)
+ {
+ _Link_type __x = _M_begin();
+ _Link_type __y = _M_end();
+ while (__x != 0)
+ {
+ __y = __x;
+ __x = !_M_impl._M_key_compare()(_S_key(__x), _KeyOfValue()(__v)) ?
+ _S_left(__x) : _S_right(__x);
+ }
+ return _M_insert_lower(__x, __y, __v);
+ }
+
+ template<typename _Key, typename _Val, typename _KeyOfValue,
+ typename _Compare, typename _Alloc>
void
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
swap(_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __t)
{
if (_M_root() == 0)
- {
- if (__t._M_root() != 0)
{
- _M_root() = __t._M_root();
- _M_leftmost() = __t._M_leftmost();
- _M_rightmost() = __t._M_rightmost();
- _M_root()->_M_parent = _M_end();
-
- __t._M_root() = 0;
- __t._M_leftmost() = __t._M_end();
- __t._M_rightmost() = __t._M_end();
+ if (__t._M_root() != 0)
+ {
+ _M_root() = __t._M_root();
+ _M_leftmost() = __t._M_leftmost();
+ _M_rightmost() = __t._M_rightmost();
+ _M_root()->_M_parent = _M_end();
+
+ __t._M_root() = 0;
+ __t._M_leftmost() = __t._M_end();
+ __t._M_rightmost() = __t._M_end();
+ }
}
- }
else if (__t._M_root() == 0)
- {
- __t._M_root() = _M_root();
- __t._M_leftmost() = _M_leftmost();
- __t._M_rightmost() = _M_rightmost();
- __t._M_root()->_M_parent = __t._M_end();
-
- _M_root() = 0;
- _M_leftmost() = _M_end();
- _M_rightmost() = _M_end();
- }
+ {
+ __t._M_root() = _M_root();
+ __t._M_leftmost() = _M_leftmost();
+ __t._M_rightmost() = _M_rightmost();
+ __t._M_root()->_M_parent = __t._M_end();
+
+ _M_root() = 0;
+ _M_leftmost() = _M_end();
+ _M_rightmost() = _M_end();
+ }
else
- {
- std::swap(_M_root(),__t._M_root());
- std::swap(_M_leftmost(),__t._M_leftmost());
- std::swap(_M_rightmost(),__t._M_rightmost());
-
- _M_root()->_M_parent = _M_end();
- __t._M_root()->_M_parent = __t._M_end();
- }
+ {
+ std::swap(_M_root(),__t._M_root());
+ std::swap(_M_leftmost(),__t._M_leftmost());
+ std::swap(_M_rightmost(),__t._M_rightmost());
+
+ _M_root()->_M_parent = _M_end();
+ __t._M_root()->_M_parent = __t._M_end();
+ }
// No need to swap header's color as it does not change.
std::swap(this->_M_impl._M_node_count, __t._M_impl._M_node_count);
std::swap(this->_M_impl._M_key_compare(), __t._M_impl._M_key_compare());
@@ -930,7 +976,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
_Compare, _Alloc>::iterator, bool>
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
- insert_unique(const _Val& __v)
+ _M_insert_unique(const _Val& __v)
{
_Link_type __x = _M_begin();
_Link_type __y = _M_end();
@@ -956,7 +1002,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
typename _Compare, typename _Alloc>
typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
- insert_unique(iterator __position, const _Val& __v)
+ _M_insert_unique(iterator __position, const _Val& __v)
{
// end()
if (__position._M_node == _M_end())
@@ -966,7 +1012,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_KeyOfValue()(__v)))
return _M_insert(0, _M_rightmost(), __v);
else
- return insert_unique(__v).first;
+ return _M_insert_unique(__v).first;
}
else if (_M_impl._M_key_compare()(_KeyOfValue()(__v),
_S_key(__position._M_node)))
@@ -985,7 +1031,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
__position._M_node, __v);
}
else
- return insert_unique(__v).first;
+ return _M_insert_unique(__v).first;
}
else if (_M_impl._M_key_compare()(_S_key(__position._M_node),
_KeyOfValue()(__v)))
@@ -1003,7 +1049,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return _M_insert(__after._M_node, __after._M_node, __v);
}
else
- return insert_unique(__v).first;
+ return _M_insert_unique(__v).first;
}
else
return __position; // Equivalent keys.
@@ -1013,7 +1059,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
typename _Compare, typename _Alloc>
typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
- insert_unique(const_iterator __position, const _Val& __v)
+ _M_insert_unique(const_iterator __position, const _Val& __v)
{
// end()
if (__position._M_node == _M_end())
@@ -1023,7 +1069,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_KeyOfValue()(__v)))
return _M_insert(0, _M_rightmost(), __v);
else
- return const_iterator(insert_unique(__v).first);
+ return const_iterator(_M_insert_unique(__v).first);
}
else if (_M_impl._M_key_compare()(_KeyOfValue()(__v),
_S_key(__position._M_node)))
@@ -1042,7 +1088,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
__position._M_node, __v);
}
else
- return const_iterator(insert_unique(__v).first);
+ return const_iterator(_M_insert_unique(__v).first);
}
else if (_M_impl._M_key_compare()(_S_key(__position._M_node),
_KeyOfValue()(__v)))
@@ -1060,7 +1106,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return _M_insert(__after._M_node, __after._M_node, __v);
}
else
- return const_iterator(insert_unique(__v).first);
+ return const_iterator(_M_insert_unique(__v).first);
}
else
return __position; // Equivalent keys.
@@ -1070,7 +1116,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
typename _Compare, typename _Alloc>
typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
- insert_equal(iterator __position, const _Val& __v)
+ _M_insert_equal(iterator __position, const _Val& __v)
{
// end()
if (__position._M_node == _M_end())
@@ -1080,7 +1126,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_S_key(_M_rightmost())))
return _M_insert(0, _M_rightmost(), __v);
else
- return insert_equal(__v);
+ return _M_insert_equal(__v);
}
else if (!_M_impl._M_key_compare()(_S_key(__position._M_node),
_KeyOfValue()(__v)))
@@ -1099,7 +1145,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
__position._M_node, __v);
}
else
- return insert_equal(__v);
+ return _M_insert_equal(__v);
}
else
{
@@ -1116,7 +1162,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return _M_insert(__after._M_node, __after._M_node, __v);
}
else
- return insert_equal(__v);
+ return _M_insert_equal_lower(__v);
}
}
@@ -1124,7 +1170,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
typename _Compare, typename _Alloc>
typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::const_iterator
_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
- insert_equal(const_iterator __position, const _Val& __v)
+ _M_insert_equal(const_iterator __position, const _Val& __v)
{
// end()
if (__position._M_node == _M_end())
@@ -1134,7 +1180,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_S_key(_M_rightmost())))
return _M_insert(0, _M_rightmost(), __v);
else
- return const_iterator(insert_equal(__v));
+ return const_iterator(_M_insert_equal(__v));
}
else if (!_M_impl._M_key_compare()(_S_key(__position._M_node),
_KeyOfValue()(__v)))
@@ -1153,7 +1199,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
__position._M_node, __v);
}
else
- return const_iterator(insert_equal(__v));
+ return const_iterator(_M_insert_equal(__v));
}
else
{
@@ -1170,7 +1216,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return _M_insert(__after._M_node, __after._M_node, __v);
}
else
- return const_iterator(insert_equal(__v));
+ return const_iterator(_M_insert_equal_lower(__v));
}
}
@@ -1179,10 +1225,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<class _II>
void
_Rb_tree<_Key, _Val, _KoV, _Cmp, _Alloc>::
- insert_equal(_II __first, _II __last)
+ _M_insert_equal(_II __first, _II __last)
{
for (; __first != __last; ++__first)
- insert_equal(end(), *__first);
+ _M_insert_equal(end(), *__first);
}
template<typename _Key, typename _Val, typename _KoV,
@@ -1190,10 +1236,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<class _II>
void
_Rb_tree<_Key, _Val, _KoV, _Cmp, _Alloc>::
- insert_unique(_II __first, _II __last)
+ _M_insert_unique(_II __first, _II __last)
{
for (; __first != __last; ++__first)
- insert_unique(end(), *__first);
+ _M_insert_unique(end(), *__first);
}
template<typename _Key, typename _Val, typename _KeyOfValue,
diff --git a/libstdc++-v3/include/bits/stl_vector.h b/libstdc++-v3/include/bits/stl_vector.h
index 1d6c0241f71..712deef94c0 100644
--- a/libstdc++-v3/include/bits/stl_vector.h
+++ b/libstdc++-v3/include/bits/stl_vector.h
@@ -1,6 +1,7 @@
// Vector implementation -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/bits/stream_iterator.h b/libstdc++-v3/include/bits/stream_iterator.h
index dabb9ce46a2..ce3e675bc6a 100644
--- a/libstdc++-v3/include/bits/stream_iterator.h
+++ b/libstdc++-v3/include/bits/stream_iterator.h
@@ -60,7 +60,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
public:
/// Construct end of input stream iterator.
istream_iterator()
- : _M_stream(0), _M_ok(false) {}
+ : _M_stream(0), _M_value(), _M_ok(false) {}
/// Construct start of input stream iterator.
istream_iterator(istream_type& __s)
diff --git a/libstdc++-v3/include/bits/valarray_array.h b/libstdc++-v3/include/bits/valarray_array.h
index 490384fdcc4..06924fe3ed5 100644
--- a/libstdc++-v3/include/bits/valarray_array.h
+++ b/libstdc++-v3/include/bits/valarray_array.h
@@ -1,6 +1,6 @@
// The template and inlines for the -*- C++ -*- internal _Array helper class.
-// Copyright (C) 1997, 1998, 1999, 2000, 2003, 2004, 2005
+// Copyright (C) 1997, 1998, 1999, 2000, 2003, 2004, 2005, 2006
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -428,6 +428,22 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
_Tp* const __restrict__ _M_data;
};
+
+ // Copy-construct plain array __b[<__n>] from indexed array __a[__i[<__n>]]
+ template<typename _Tp>
+ inline void
+ __valarray_copy_construct(_Array<_Tp> __a, _Array<size_t> __i,
+ _Array<_Tp> __b, size_t __n)
+ { std::__valarray_copy_construct(__a._M_data, __i._M_data,
+ __b._M_data, __n); }
+
+ // Copy-construct plain array __b[<__n>] from strided array __a[<__n : __s>]
+ template<typename _Tp>
+ inline void
+ __valarray_copy_construct(_Array<_Tp> __a, size_t __n, size_t __s,
+ _Array<_Tp> __b)
+ { std::__valarray_copy_construct(__a._M_data, __n, __s, __b._M_data); }
+
template<typename _Tp>
inline void
__valarray_fill (_Array<_Tp> __a, size_t __n, const _Tp& __t)
diff --git a/libstdc++-v3/include/c_std/cmath.tcc b/libstdc++-v3/include/c_std/cmath.tcc
index 737b58c7de9..420d3683c1b 100644
--- a/libstdc++-v3/include/c_std/cmath.tcc
+++ b/libstdc++-v3/include/c_std/cmath.tcc
@@ -1,6 +1,7 @@
// -*- C++ -*- C math library.
-// Copyright (C) 2000, 2003, 2004 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -32,8 +33,10 @@
#ifndef _GLIBCXX_CMATH_TCC
#define _GLIBCXX_CMATH_TCC 1
-namespace std
-{
+#include <bits/c++config.h>
+
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
template<typename _Tp>
inline _Tp
__cmath_power(_Tp __x, unsigned int __n)
@@ -49,6 +52,7 @@ namespace std
return __y;
}
-}
+
+_GLIBCXX_END_NAMESPACE
#endif
diff --git a/libstdc++-v3/include/debug/functions.h b/libstdc++-v3/include/debug/functions.h
index 1abe16300cd..4f1c733d62a 100644
--- a/libstdc++-v3/include/debug/functions.h
+++ b/libstdc++-v3/include/debug/functions.h
@@ -154,7 +154,8 @@ namespace __gnu_debug
template<typename _InputIterator>
inline _InputIterator
__check_valid_range(const _InputIterator& __first,
- const _InputIterator& __last)
+ const _InputIterator& __last
+ __attribute__((__unused__)))
{
_GLIBCXX_DEBUG_ASSERT(__valid_range(__first, __last));
return __first;
@@ -163,7 +164,8 @@ namespace __gnu_debug
/** Checks that __s is non-NULL or __n == 0, and then returns __s. */
template<typename _CharT, typename _Integer>
inline const _CharT*
- __check_string(const _CharT* __s, const _Integer& __n)
+ __check_string(const _CharT* __s,
+ const _Integer& __n __attribute__((__unused__)))
{
#ifdef _GLIBCXX_DEBUG_PEDANTIC
_GLIBCXX_DEBUG_ASSERT(__s != 0 || __n == 0);
diff --git a/libstdc++-v3/include/ext/mt_allocator.h b/libstdc++-v3/include/ext/mt_allocator.h
index 8ee95fad79b..495a9127b1e 100644
--- a/libstdc++-v3/include/ext/mt_allocator.h
+++ b/libstdc++-v3/include/ext/mt_allocator.h
@@ -621,7 +621,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
__mt_alloc(const __mt_alloc&) throw() { }
template<typename _Tp1, typename _Poolp1>
- __mt_alloc(const __mt_alloc<_Tp1, _Poolp1>& obj) throw() { }
+ __mt_alloc(const __mt_alloc<_Tp1, _Poolp1>&) throw() { }
~__mt_alloc() throw() { }
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/it_value_type_traits.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/it_value_type_traits.hpp
index c8b09d35154..4be113d8ecd 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/it_value_type_traits.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/it_value_type_traits.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -94,16 +94,13 @@ struct it_value_type_traits_
value_type>::other::const_pointer
const_pointer;
- typedef
- typename Allocator_::template rebind<
- int* >::other::value_type
- buf_t;
-
struct value_type_holder
{
- buf_t m_a_key_buf[sizeof(key_ref_pair) / sizeof(buf_t) + 1];
+ typename std::tr1::aligned_storage<sizeof(key_ref_pair),
+ std::tr1::alignment_of<key_ref_pair>::value>::type m_a_key_buf;
- buf_t m_a_value_buf[sizeof(value_type) / sizeof(buf_t) + 1];
+ typename std::tr1::aligned_storage<sizeof(value_type),
+ std::tr1::alignment_of<value_type>::value>::type m_a_value_buf;
};
typedef
@@ -114,7 +111,7 @@ struct it_value_type_traits_
inline static pointer
recast(value_type_hoder_valerence r_holder)
{
- return reinterpret_cast<pointer>(r_holder.m_a_value_buf);
+ return reinterpret_cast<pointer>(&r_holder.m_a_value_buf);
}
inline static void
@@ -125,7 +122,7 @@ struct it_value_type_traits_
void* >::other::value_type
void_pointer;
- void_pointer p_target = r_holder.m_a_key_buf;
+ void_pointer p_target = &r_holder.m_a_key_buf;
new (p_target) key_ref_pair(r_bk, r_val.first);
@@ -135,9 +132,9 @@ struct it_value_type_traits_
key_ref_pair_pointer;
key_ref_pair_pointer p_key =
- reinterpret_cast<key_ref_pair_pointer>(r_holder.m_a_key_buf);
+ reinterpret_cast<key_ref_pair_pointer>(&r_holder.m_a_key_buf);
- p_target = r_holder.m_a_value_buf;
+ p_target = &r_holder.m_a_value_buf;
new (p_target) value_type(*p_key, r_val.second);
}
@@ -185,16 +182,13 @@ struct it_value_type_traits_<
value_type>::other::const_pointer
const_pointer;
- typedef
- typename Allocator_::template rebind<
- int* >::other::value_type
- buf_t;
-
struct value_type_holder
{
- buf_t m_a_key_buf[sizeof(key_ref_pair) / sizeof(buf_t) + 1];
+ typename std::tr1::aligned_storage<sizeof(key_ref_pair),
+ std::tr1::alignment_of<key_ref_pair>::value>::type m_a_key_buf;
- buf_t m_a_value_buf[sizeof(value_type) / sizeof(buf_t) + 1];
+ typename std::tr1::aligned_storage<sizeof(value_type),
+ std::tr1::alignment_of<value_type>::value>::type m_a_value_buf;
};
typedef
@@ -205,7 +199,7 @@ struct it_value_type_traits_<
inline static pointer
recast(value_type_hoder_valerence r_holder)
{
- return reinterpret_cast<pointer>(r_holder.m_a_value_buf);
+ return reinterpret_cast<pointer>(&r_holder.m_a_value_buf);
}
inline static void
@@ -216,7 +210,7 @@ struct it_value_type_traits_<
void* >::other::value_type
void_pointer;
- void_pointer p_target = r_holder.m_a_value_buf;
+ void_pointer p_target = &r_holder.m_a_value_buf;
new (p_target) key_ref_pair(r_bk, r_val.first);
}
diff --git a/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/value_type_adapter.hpp b/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/value_type_adapter.hpp
index 343d8610402..9f2dfb2fb6a 100644
--- a/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/value_type_adapter.hpp
+++ b/libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/value_type_adapter.hpp
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2005 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -51,6 +51,7 @@
#include <ext/pb_assoc/detail/type_utils.hpp>
#include <utility>
#include <algorithm>
+#include <tr1/type_traits> // for aligned_storage/alignment_of
namespace pb_assoc
{
diff --git a/libstdc++-v3/include/std/std_bitset.h b/libstdc++-v3/include/std/std_bitset.h
index c1cfadad7bd..ad47238ed62 100644
--- a/libstdc++-v3/include/std/std_bitset.h
+++ b/libstdc++-v3/include/std/std_bitset.h
@@ -1144,19 +1144,20 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
template<size_t _Nb>
template<class _CharT, class _Traits, class _Alloc>
void
- bitset<_Nb>::_M_copy_from_string(const std::basic_string<_CharT, _Traits,
- _Alloc>& __s, size_t __pos, size_t __n)
+ bitset<_Nb>::
+ _M_copy_from_string(const std::basic_string<_CharT, _Traits,
+ _Alloc>& __s, size_t __pos, size_t __n)
{
reset();
const size_t __nbits = std::min(_Nb, std::min(__n, __s.size() - __pos));
- for (size_t __i = 0; __i < __nbits; ++__i)
+ for (size_t __i = __nbits; __i > 0; --__i)
{
- switch(__s[__pos + __nbits - __i - 1])
+ switch(__s[__pos + __nbits - __i])
{
case '0':
break;
case '1':
- set(__i);
+ set(__i - 1);
break;
default:
__throw_invalid_argument(__N("bitset::_M_copy_from_string"));
@@ -1167,13 +1168,13 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
template<size_t _Nb>
template<class _CharT, class _Traits, class _Alloc>
void
- bitset<_Nb>::_M_copy_to_string(std::basic_string<_CharT, _Traits,
- _Alloc>& __s) const
+ bitset<_Nb>::
+ _M_copy_to_string(std::basic_string<_CharT, _Traits, _Alloc>& __s) const
{
__s.assign(_Nb, '0');
- for (size_t __i = 0; __i < _Nb; ++__i)
- if (_Unchecked_test(__i))
- __s[_Nb - 1 - __i] = '1';
+ for (size_t __i = _Nb; __i > 0; --__i)
+ if (_Unchecked_test(__i - 1))
+ __s[_Nb - __i] = '1';
}
// 23.3.5.3 bitset operations:
@@ -1242,7 +1243,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
// 303. Bitset input operator underspecified
const char_type __zero = __is.widen('0');
const char_type __one = __is.widen('1');
- for (size_t __i = 0; __i < _Nb; ++__i)
+ for (size_t __i = _Nb; __i > 0; --__i)
{
static typename _Traits::int_type __eof = _Traits::eof();
@@ -1290,6 +1291,44 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
__x._M_copy_to_string(__tmp);
return __os << __tmp;
}
+
+ // Specializations for zero-sized bitsets, to avoid "unsigned comparison
+ // with zero" warnings.
+ template<>
+ inline bitset<0>&
+ bitset<0>::
+ set(size_t, bool)
+ {
+ __throw_out_of_range(__N("bitset::set"));
+ return *this;
+ }
+
+ template<>
+ inline bitset<0>&
+ bitset<0>::
+ reset(size_t)
+ {
+ __throw_out_of_range(__N("bitset::reset"));
+ return *this;
+ }
+
+ template<>
+ inline bitset<0>&
+ bitset<0>::
+ flip(size_t)
+ {
+ __throw_out_of_range(__N("bitset::flip"));
+ return *this;
+ }
+
+ template<>
+ inline bool
+ bitset<0>::
+ test(size_t) const
+ {
+ __throw_out_of_range(__N("bitset::test"));
+ return false;
+ }
//@}
_GLIBCXX_END_NESTED_NAMESPACE
diff --git a/libstdc++-v3/include/std/std_istream.h b/libstdc++-v3/include/std/std_istream.h
index 2c5c572286a..659d3e2a2d7 100644
--- a/libstdc++-v3/include/std/std_istream.h
+++ b/libstdc++-v3/include/std/std_istream.h
@@ -166,45 +166,86 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* @c num_get facet) to parse the input data.
*/
__istream_type&
- operator>>(bool& __n);
+ operator>>(bool& __n)
+ { return _M_extract(__n); }
__istream_type&
- operator>>(short& __n);
+ operator>>(short& __n)
+ {
+ // _GLIBCXX_RESOLVE_LIB_DEFECTS
+ // 118. basic_istream uses nonexistent num_get member functions.
+ long __l;
+ _M_extract(__l);
+ if (!this->fail())
+ {
+ if (numeric_limits<short>::min() <= __l
+ && __l <= numeric_limits<short>::max())
+ __n = __l;
+ else
+ this->setstate(ios_base::failbit);
+ }
+ return *this;
+ }
__istream_type&
- operator>>(unsigned short& __n);
+ operator>>(unsigned short& __n)
+ { return _M_extract(__n); }
__istream_type&
- operator>>(int& __n);
-
+ operator>>(int& __n)
+ {
+ // _GLIBCXX_RESOLVE_LIB_DEFECTS
+ // 118. basic_istream uses nonexistent num_get member functions.
+ long __l;
+ _M_extract(__l);
+ if (!this->fail())
+ {
+ if (numeric_limits<int>::min() <= __l
+ && __l <= numeric_limits<int>::max())
+ __n = __l;
+ else
+ this->setstate(ios_base::failbit);
+ }
+ return *this;
+ }
+
__istream_type&
- operator>>(unsigned int& __n);
+ operator>>(unsigned int& __n)
+ { return _M_extract(__n); }
__istream_type&
- operator>>(long& __n);
+ operator>>(long& __n)
+ { return _M_extract(__n); }
__istream_type&
- operator>>(unsigned long& __n);
+ operator>>(unsigned long& __n)
+ { return _M_extract(__n); }
#ifdef _GLIBCXX_USE_LONG_LONG
__istream_type&
- operator>>(long long& __n);
+ operator>>(long long& __n)
+ { return _M_extract(__n); }
__istream_type&
- operator>>(unsigned long long& __n);
+ operator>>(unsigned long long& __n)
+ { return _M_extract(__n); }
#endif
__istream_type&
- operator>>(float& __f);
+ operator>>(float& __f)
+ { return _M_extract(__f); }
__istream_type&
- operator>>(double& __f);
+ operator>>(double& __f)
+ { return _M_extract(__f); }
__istream_type&
- operator>>(long double& __f);
+ operator>>(long double& __f)
+ { return _M_extract(__f); }
__istream_type&
- operator>>(void*& __p);
+ operator>>(void*& __p)
+ { return _M_extract(__p); }
/**
* @brief Extracting into another streambuf.
@@ -572,6 +613,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
protected:
explicit
basic_istream(): _M_gcount(streamsize(0)) { }
+
+ template<typename _ValueT>
+ __istream_type&
+ _M_extract(_ValueT& __v);
};
// Explicit specialization declarations, defined in src/istream.cc.
diff --git a/libstdc++-v3/include/std/std_ostream.h b/libstdc++-v3/include/std/std_ostream.h
index 8d4228238e7..8dc398ed0ef 100644
--- a/libstdc++-v3/include/std/std_ostream.h
+++ b/libstdc++-v3/include/std/std_ostream.h
@@ -164,45 +164,86 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* @c num_get facet) to perform numeric formatting.
*/
__ostream_type&
- operator<<(long __n);
+ operator<<(long __n)
+ { return _M_insert(__n); }
__ostream_type&
- operator<<(unsigned long __n);
+ operator<<(unsigned long __n)
+ { return _M_insert(__n); }
__ostream_type&
- operator<<(bool __n);
+ operator<<(bool __n)
+ { return _M_insert(__n); }
__ostream_type&
- operator<<(short __n);
+ operator<<(short __n)
+ {
+ // _GLIBCXX_RESOLVE_LIB_DEFECTS
+ // 117. basic_ostream uses nonexistent num_put member functions.
+ const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield;
+ if (__fmt == ios_base::oct || __fmt == ios_base::hex)
+ return _M_insert(static_cast<long>(static_cast<unsigned short>(__n)));
+ else
+ return _M_insert(static_cast<long>(__n));
+ }
__ostream_type&
- operator<<(unsigned short __n);
+ operator<<(unsigned short __n)
+ {
+ // _GLIBCXX_RESOLVE_LIB_DEFECTS
+ // 117. basic_ostream uses nonexistent num_put member functions.
+ return _M_insert(static_cast<unsigned long>(__n));
+ }
__ostream_type&
- operator<<(int __n);
+ operator<<(int __n)
+ {
+ // _GLIBCXX_RESOLVE_LIB_DEFECTS
+ // 117. basic_ostream uses nonexistent num_put member functions.
+ const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield;
+ if (__fmt == ios_base::oct || __fmt == ios_base::hex)
+ return _M_insert(static_cast<long>(static_cast<unsigned int>(__n)));
+ else
+ return _M_insert(static_cast<long>(__n));
+ }
__ostream_type&
- operator<<(unsigned int __n);
+ operator<<(unsigned int __n)
+ {
+ // _GLIBCXX_RESOLVE_LIB_DEFECTS
+ // 117. basic_ostream uses nonexistent num_put member functions.
+ return _M_insert(static_cast<unsigned long>(__n));
+ }
#ifdef _GLIBCXX_USE_LONG_LONG
__ostream_type&
- operator<<(long long __n);
+ operator<<(long long __n)
+ { return _M_insert(__n); }
__ostream_type&
- operator<<(unsigned long long __n);
+ operator<<(unsigned long long __n)
+ { return _M_insert(__n); }
#endif
__ostream_type&
- operator<<(double __f);
+ operator<<(double __f)
+ { return _M_insert(__f); }
__ostream_type&
- operator<<(float __f);
+ operator<<(float __f)
+ {
+ // _GLIBCXX_RESOLVE_LIB_DEFECTS
+ // 117. basic_ostream uses nonexistent num_put member functions.
+ return _M_insert(static_cast<double>(__f));
+ }
__ostream_type&
- operator<<(long double __f);
+ operator<<(long double __f)
+ { return _M_insert(__f); }
__ostream_type&
- operator<<(const void* __p);
+ operator<<(const void* __p)
+ { return _M_insert(__p); }
/**
* @brief Extracting from another streambuf.
@@ -339,6 +380,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
protected:
explicit
basic_ostream() { }
+
+ template<typename _ValueT>
+ __ostream_type&
+ _M_insert(_ValueT __v);
};
/**
diff --git a/libstdc++-v3/include/std/std_valarray.h b/libstdc++-v3/include/std/std_valarray.h
index 82b2fb891a7..ada7aea4062 100644
--- a/libstdc++-v3/include/std/std_valarray.h
+++ b/libstdc++-v3/include/std/std_valarray.h
@@ -1,6 +1,6 @@
// The template and inlines for the -*- C++ -*- valarray class.
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2006
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -583,7 +583,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
valarray<_Tp>::valarray(const slice_array<_Tp>& __sa)
: _M_size(__sa._M_sz), _M_data(__valarray_get_storage<_Tp>(__sa._M_sz))
{
- std::__valarray_copy
+ std::__valarray_copy_construct
(__sa._M_array, __sa._M_sz, __sa._M_stride, _Array<_Tp>(_M_data));
}
@@ -593,7 +593,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
: _M_size(__ga._M_index.size()),
_M_data(__valarray_get_storage<_Tp>(_M_size))
{
- std::__valarray_copy
+ std::__valarray_copy_construct
(__ga._M_array, _Array<size_t>(__ga._M_index),
_Array<_Tp>(_M_data), _M_size);
}
@@ -603,7 +603,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
valarray<_Tp>::valarray(const mask_array<_Tp>& __ma)
: _M_size(__ma._M_sz), _M_data(__valarray_get_storage<_Tp>(__ma._M_sz))
{
- std::__valarray_copy
+ std::__valarray_copy_construct
(__ma._M_array, __ma._M_mask, _Array<_Tp>(_M_data), _M_size);
}
@@ -612,7 +612,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
valarray<_Tp>::valarray(const indirect_array<_Tp>& __ia)
: _M_size(__ia._M_sz), _M_data(__valarray_get_storage<_Tp>(__ia._M_sz))
{
- std::__valarray_copy
+ std::__valarray_copy_construct
(__ia._M_array, __ia._M_index, _Array<_Tp>(_M_data), _M_size);
}
@@ -620,7 +620,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
inline
valarray<_Tp>::valarray(const _Expr<_Dom, _Tp>& __e)
: _M_size(__e.size()), _M_data(__valarray_get_storage<_Tp>(_M_size))
- { std::__valarray_copy(__e, _M_size, _Array<_Tp>(_M_data)); }
+ { std::__valarray_copy_construct(__e, _M_size, _Array<_Tp>(_M_data)); }
template<typename _Tp>
inline
diff --git a/libstdc++-v3/include/tr1/common.h b/libstdc++-v3/include/tr1/common.h
new file mode 100644
index 00000000000..ca9559e463a
--- /dev/null
+++ b/libstdc++-v3/include/tr1/common.h
@@ -0,0 +1,66 @@
+// Internal header for TR1 complex -*- C++ -*-
+
+// Copyright (C) 2006 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+/** @file
+ * This is a TR1 C++ Library header.
+ */
+
+#ifndef _TR1_COMMON_H
+#define _TR1_COMMON_H 1
+
+#include <tr1/type_traits>
+
+// namespace std::tr1
+namespace std
+{
+_GLIBCXX_BEGIN_NAMESPACE(tr1)
+
+ template<typename _Tp, bool = is_integral<_Tp>::value>
+ struct __promote
+ { typedef double __type; };
+
+ template<typename _Tp>
+ struct __promote<_Tp, false>
+ { typedef _Tp __type; };
+
+ template<typename _Tp, typename _Up>
+ struct __promote_2
+ {
+ private:
+ typedef typename __promote<_Tp>::__type __type1;
+ typedef typename __promote<_Up>::__type __type2;
+
+ public:
+ typedef __typeof__(__type1() + __type2()) __type;
+ };
+
+_GLIBCXX_END_NAMESPACE
+} // namespace std
+
+#endif
diff --git a/libstdc++-v3/include/tr1/complex b/libstdc++-v3/include/tr1/complex
new file mode 100644
index 00000000000..39205afefdc
--- /dev/null
+++ b/libstdc++-v3/include/tr1/complex
@@ -0,0 +1,395 @@
+// TR1 complex -*- C++ -*-
+
+// Copyright (C) 2006 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+/** @file
+ * This is a TR1 C++ Library header.
+ */
+
+#ifndef _TR1_COMPLEX
+#define _TR1_COMPLEX 1
+
+#include "../complex"
+#include <tr1/common.h>
+
+// namespace std::tr1
+namespace std
+{
+_GLIBCXX_BEGIN_NAMESPACE(tr1)
+
+ // Forward declarations.
+ template<typename _Tp> std::complex<_Tp> acos(const std::complex<_Tp>&);
+ template<typename _Tp> std::complex<_Tp> asin(const std::complex<_Tp>&);
+ template<typename _Tp> std::complex<_Tp> atan(const std::complex<_Tp>&);
+
+ template<typename _Tp> std::complex<_Tp> acosh(const std::complex<_Tp>&);
+ template<typename _Tp> std::complex<_Tp> asinh(const std::complex<_Tp>&);
+ template<typename _Tp> std::complex<_Tp> atanh(const std::complex<_Tp>&);
+ template<typename _Tp> std::complex<_Tp> fabs(const std::complex<_Tp>&);
+
+ /// @brief acos(__z) [8.1.2].
+ // Effects: Behaves the same as C99 function cacos, defined
+ // in subclause 7.3.5.1.
+ template<typename _Tp>
+ inline std::complex<_Tp>
+ __complex_acos(const std::complex<_Tp>& __z)
+ {
+ const std::complex<_Tp> __t = std::tr1::asin(__z);
+ const _Tp __pi_2 = 1.5707963267948966192313216916397514L;
+ return std::complex<_Tp>(__pi_2 - __t.real(), -__t.imag());
+ }
+
+#if _GLIBCXX_USE_C99_COMPLEX
+ inline __complex__ float
+ __complex_acos(__complex__ float __z)
+ { return __builtin_cacosf(__z); }
+
+ inline __complex__ double
+ __complex_acos(__complex__ double __z)
+ { return __builtin_cacos(__z); }
+
+ inline __complex__ long double
+ __complex_acos(const __complex__ long double& __z)
+ { return __builtin_cacosl(__z); }
+
+ template<typename _Tp>
+ inline std::complex<_Tp>
+ acos(const std::complex<_Tp>& __z)
+ { return __complex_acos(__z.__rep()); }
+#else
+ template<typename _Tp>
+ inline std::complex<_Tp>
+ acos(const std::complex<_Tp>& __z)
+ { return __complex_acos(__z); }
+#endif
+
+ /// @brief asin(__z) [8.1.3].
+ // Effects: Behaves the same as C99 function casin, defined
+ // in subclause 7.3.5.2.
+ template<typename _Tp>
+ inline std::complex<_Tp>
+ __complex_asin(const std::complex<_Tp>& __z)
+ {
+ std::complex<_Tp> __t(-__z.imag(), __z.real());
+ __t = std::tr1::asinh(__t);
+ return std::complex<_Tp>(__t.imag(), -__t.real());
+ }
+
+#if _GLIBCXX_USE_C99_COMPLEX
+ inline __complex__ float
+ __complex_asin(__complex__ float __z)
+ { return __builtin_casinf(__z); }
+
+ inline __complex__ double
+ __complex_asin(__complex__ double __z)
+ { return __builtin_casin(__z); }
+
+ inline __complex__ long double
+ __complex_asin(const __complex__ long double& __z)
+ { return __builtin_casinl(__z); }
+
+ template<typename _Tp>
+ inline std::complex<_Tp>
+ asin(const std::complex<_Tp>& __z)
+ { return __complex_asin(__z.__rep()); }
+#else
+ template<typename _Tp>
+ inline std::complex<_Tp>
+ asin(const std::complex<_Tp>& __z)
+ { return __complex_asin(__z); }
+#endif
+
+ /// @brief atan(__z) [8.1.4].
+ // Effects: Behaves the same as C99 function catan, defined
+ // in subclause 7.3.5.3.
+ template<typename _Tp>
+ std::complex<_Tp>
+ __complex_atan(const std::complex<_Tp>& __z)
+ {
+ const _Tp __r2 = __z.real() * __z.real();
+ const _Tp __x = _Tp(1.0) - __r2 - __z.imag() * __z.imag();
+
+ _Tp __num = __z.imag() + _Tp(1.0);
+ _Tp __den = __z.imag() - _Tp(1.0);
+
+ __num = __r2 + __num * __num;
+ __den = __r2 + __den * __den;
+
+ return std::complex<_Tp>(_Tp(0.5) * atan2(_Tp(2.0) * __z.real(), __x),
+ _Tp(0.25) * log(__num / __den));
+ }
+
+#if _GLIBCXX_USE_C99_COMPLEX
+ inline __complex__ float
+ __complex_atan(__complex__ float __z)
+ { return __builtin_catanf(__z); }
+
+ inline __complex__ double
+ __complex_atan(__complex__ double __z)
+ { return __builtin_catan(__z); }
+
+ inline __complex__ long double
+ __complex_atan(const __complex__ long double& __z)
+ { return __builtin_catanl(__z); }
+
+ template<typename _Tp>
+ inline std::complex<_Tp>
+ atan(const std::complex<_Tp>& __z)
+ { return __complex_atan(__z.__rep()); }
+#else
+ template<typename _Tp>
+ inline std::complex<_Tp>
+ atan(const std::complex<_Tp>& __z)
+ { return __complex_atan(__z); }
+#endif
+
+ /// @brief acosh(__z) [8.1.5].
+ // Effects: Behaves the same as C99 function cacosh, defined
+ // in subclause 7.3.6.1.
+ template<typename _Tp>
+ std::complex<_Tp>
+ __complex_acosh(const std::complex<_Tp>& __z)
+ {
+ std::complex<_Tp> __t((__z.real() - __z.imag())
+ * (__z.real() + __z.imag()) - _Tp(1.0),
+ _Tp(2.0) * __z.real() * __z.imag());
+ __t = std::sqrt(__t);
+
+ return std::log(__t + __z);
+ }
+
+#if _GLIBCXX_USE_C99_COMPLEX
+ inline __complex__ float
+ __complex_acosh(__complex__ float __z)
+ { return __builtin_cacoshf(__z); }
+
+ inline __complex__ double
+ __complex_acosh(__complex__ double __z)
+ { return __builtin_cacosh(__z); }
+
+ inline __complex__ long double
+ __complex_acosh(const __complex__ long double& __z)
+ { return __builtin_cacoshl(__z); }
+
+ template<typename _Tp>
+ inline std::complex<_Tp>
+ acosh(const std::complex<_Tp>& __z)
+ { return __complex_acosh(__z.__rep()); }
+#else
+ template<typename _Tp>
+ inline std::complex<_Tp>
+ acosh(const std::complex<_Tp>& __z)
+ { return __complex_acosh(__z); }
+#endif
+
+ /// @brief asinh(__z) [8.1.6].
+ // Effects: Behaves the same as C99 function casin, defined
+ // in subclause 7.3.6.2.
+ template<typename _Tp>
+ std::complex<_Tp>
+ __complex_asinh(const std::complex<_Tp>& __z)
+ {
+ std::complex<_Tp> __t((__z.real() - __z.imag())
+ * (__z.real() + __z.imag()) + _Tp(1.0),
+ _Tp(2.0) * __z.real() * __z.imag());
+ __t = std::sqrt(__t);
+
+ return std::log(__t + __z);
+ }
+
+#if _GLIBCXX_USE_C99_COMPLEX
+ inline __complex__ float
+ __complex_asinh(__complex__ float __z)
+ { return __builtin_casinhf(__z); }
+
+ inline __complex__ double
+ __complex_asinh(__complex__ double __z)
+ { return __builtin_casinh(__z); }
+
+ inline __complex__ long double
+ __complex_asinh(const __complex__ long double& __z)
+ { return __builtin_casinhl(__z); }
+
+ template<typename _Tp>
+ inline std::complex<_Tp>
+ asinh(const std::complex<_Tp>& __z)
+ { return __complex_asinh(__z.__rep()); }
+#else
+ template<typename _Tp>
+ inline std::complex<_Tp>
+ asinh(const std::complex<_Tp>& __z)
+ { return __complex_asinh(__z); }
+#endif
+
+ /// @brief atanh(__z) [8.1.7].
+ // Effects: Behaves the same as C99 function catanh, defined
+ // in subclause 7.3.6.3.
+ template<typename _Tp>
+ std::complex<_Tp>
+ __complex_atanh(const std::complex<_Tp>& __z)
+ {
+ const _Tp __i2 = __z.imag() * __z.imag();
+ const _Tp __x = _Tp(1.0) - __i2 - __z.real() * __z.real();
+
+ _Tp __num = _Tp(1.0) + __z.real();
+ _Tp __den = _Tp(1.0) - __z.real();
+
+ __num = __i2 + __num * __num;
+ __den = __i2 + __den * __den;
+
+ return std::complex<_Tp>(_Tp(0.25) * (log(__num) - log(__den)),
+ _Tp(0.5) * atan2(_Tp(2.0) * __z.imag(), __x));
+ }
+
+#if _GLIBCXX_USE_C99_COMPLEX
+ inline __complex__ float
+ __complex_atanh(__complex__ float __z)
+ { return __builtin_catanhf(__z); }
+
+ inline __complex__ double
+ __complex_atanh(__complex__ double __z)
+ { return __builtin_catanh(__z); }
+
+ inline __complex__ long double
+ __complex_atanh(const __complex__ long double& __z)
+ { return __builtin_catanhl(__z); }
+
+ template<typename _Tp>
+ inline std::complex<_Tp>
+ atanh(const std::complex<_Tp>& __z)
+ { return __complex_atanh(__z.__rep()); }
+#else
+ template<typename _Tp>
+ inline std::complex<_Tp>
+ atanh(const std::complex<_Tp>& __z)
+ { return __complex_atanh(__z); }
+#endif
+
+ /// @brief fabs(__z) [8.1.8].
+ // Effects: Behaves the same as C99 function cabs, defined
+ // in subclause 7.3.8.1.
+ template<typename _Tp>
+ inline std::complex<_Tp>
+ fabs(const std::complex<_Tp>& __z)
+ { return std::abs(__z); }
+
+
+ /// @brief Additional overloads [8.1.9].
+ //
+
+ // See common.h for the primary template.
+ template<typename _Tp, typename _Up>
+ struct __promote_2<std::complex<_Tp>, _Up>
+ {
+ public:
+ typedef std::complex<typename __promote_2<_Tp, _Up>::__type> __type;
+ };
+
+ template<typename _Tp, typename _Up>
+ struct __promote_2<_Tp, std::complex<_Up> >
+ {
+ public:
+ typedef std::complex<typename __promote_2<_Tp, _Up>::__type> __type;
+ };
+
+ template<typename _Tp, typename _Up>
+ struct __promote_2<std::complex<_Tp>, std::complex<_Up> >
+ {
+ public:
+ typedef std::complex<typename __promote_2<_Tp, _Up>::__type> __type;
+ };
+
+
+ template<typename _Tp>
+ inline typename __promote<_Tp>::__type
+ arg(_Tp __x)
+ {
+ typedef typename __promote<_Tp>::__type __type;
+ return std::arg(std::complex<__type>(__x));
+ }
+
+ template<typename _Tp>
+ inline std::complex<typename __promote<_Tp>::__type>
+ conj(_Tp __x)
+ { return __x; }
+
+ template<typename _Tp>
+ inline typename __promote<_Tp>::__type
+ imag(_Tp)
+ { return _Tp(); }
+
+ template<typename _Tp>
+ inline typename __promote<_Tp>::__type
+ norm(_Tp __x)
+ {
+ typedef typename __promote<_Tp>::__type __type;
+ return __type(__x) * __type(__x);
+ }
+
+ template<typename _Tp, typename _Up>
+ inline std::complex<typename __promote_2<_Tp, _Up>::__type>
+ polar(const _Tp& __rho, const _Up& __theta)
+ {
+ typedef typename __promote_2<_Tp, _Up>::__type __type;
+ return std::polar(__type(__rho), __type(__theta));
+ }
+
+ template<typename _Tp, typename _Up>
+ inline std::complex<typename __promote_2<_Tp, _Up>::__type>
+ pow(const std::complex<_Tp>& __x, const _Up& __y)
+ {
+ typedef typename __promote_2<_Tp, _Up>::__type __type;
+ return std::pow(std::complex<__type>(__x), __type(__y));
+ }
+
+ template<typename _Tp, typename _Up>
+ inline std::complex<typename __promote_2<_Tp, _Up>::__type>
+ pow(const _Tp& __x, const std::complex<_Up>& __y)
+ {
+ typedef typename __promote_2<_Tp, _Up>::__type __type;
+ return std::pow(__type(__x), std::complex<__type>(__y));
+ }
+
+ template<typename _Tp, typename _Up>
+ inline std::complex<typename __promote_2<_Tp, _Up>::__type>
+ pow(const std::complex<_Tp>& __x, const std::complex<_Up>& __y)
+ {
+ typedef typename __promote_2<_Tp, _Up>::__type __type;
+ return std::pow(std::complex<__type>(__x),
+ std::complex<__type>(__y));
+ }
+
+ template<typename _Tp>
+ inline typename __promote<_Tp>::__type
+ real(_Tp __x)
+ { return __x; }
+
+_GLIBCXX_END_NAMESPACE
+}
+
+#endif
diff --git a/libstdc++-v3/include/tr1/functional b/libstdc++-v3/include/tr1/functional
index ae31faef758..a8e3d3cce7e 100644
--- a/libstdc++-v3/include/tr1/functional
+++ b/libstdc++-v3/include/tr1/functional
@@ -1156,7 +1156,7 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
static std::size_t
hash(const char* first, std::size_t length)
{
- std::size_t result = 2166136261UL;
+ std::size_t result = static_cast<std::size_t>(2166136261UL);
for (; length > 0; --length)
{
result ^= (std::size_t)*first++;
@@ -1172,7 +1172,7 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
static std::size_t
hash(const char* first, std::size_t length)
{
- std::size_t result = 14695981039346656037ULL;
+ std::size_t result = static_cast<std::size_t>(14695981039346656037ULL);
for (; length > 0; --length)
{
result ^= (std::size_t)*first++;
diff --git a/libstdc++-v3/include/tr1/hashtable b/libstdc++-v3/include/tr1/hashtable
index b0356fdcab4..0b9bc418443 100644
--- a/libstdc++-v3/include/tr1/hashtable
+++ b/libstdc++-v3/include/tr1/hashtable
@@ -1,6 +1,6 @@
// Internal header for TR1 unordered_set and unordered_map -*- C++ -*-
-// Copyright (C) 2005 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -1104,7 +1104,7 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
{ return local_iterator(m_buckets[n]); }
local_iterator
- end(size_type n)
+ end(size_type)
{ return local_iterator(0); }
const_local_iterator
@@ -1112,7 +1112,7 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
{ return const_local_iterator(m_buckets[n]); }
const_local_iterator
- end(size_type n) const
+ end(size_type) const
{ return const_local_iterator(0); }
float
diff --git a/libstdc++-v3/include/tr1/tuple_iterate.h b/libstdc++-v3/include/tr1/tuple_iterate.h
index 4ae56615ea9..320073bda52 100644
--- a/libstdc++-v3/include/tr1/tuple_iterate.h
+++ b/libstdc++-v3/include/tr1/tuple_iterate.h
@@ -93,13 +93,13 @@ template<_GLIBCXX_TEMPLATE_PARAMS>
#else
- tuple(const tuple& __in)
+ tuple(const tuple&)
{ }
#endif
tuple&
- operator=(const tuple& __in)
+ operator=(const tuple& __in __attribute__((__unused__)) )
{
_GLIBCXX_TUPLE_ASSIGN
return *this;
diff --git a/libstdc++-v3/include/tr1/unordered_map b/libstdc++-v3/include/tr1/unordered_map
index cf8e09c8fcd..da0d86bf8b6 100644
--- a/libstdc++-v3/include/tr1/unordered_map
+++ b/libstdc++-v3/include/tr1/unordered_map
@@ -1,6 +1,6 @@
// TR1 unordered_map -*- C++ -*-
-// Copyright (C) 2005 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -36,7 +36,6 @@
#include <tr1/hashtable>
#include <tr1/functional>
-#include <tr1/functional>
namespace std
{
diff --git a/libstdc++-v3/include/tr1/unordered_set b/libstdc++-v3/include/tr1/unordered_set
index 724c896cb67..02c518451af 100644
--- a/libstdc++-v3/include/tr1/unordered_set
+++ b/libstdc++-v3/include/tr1/unordered_set
@@ -1,6 +1,6 @@
// TR1 unordered_set -*- C++ -*-
-// Copyright (C) 2005 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/libsupc++/Makefile.am b/libstdc++-v3/libsupc++/Makefile.am
index 2c749cb0dbe..4ce28615969 100644
--- a/libstdc++-v3/libsupc++/Makefile.am
+++ b/libstdc++-v3/libsupc++/Makefile.am
@@ -139,6 +139,8 @@ LTCXXCOMPILE = $(LIBTOOL) --tag CXX --tag disable-shared \
--mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
+
# 3) We'd have a problem when building the shared libstdc++ object if
# the rules automake generates would be used. We cannot allow g++ to
# be used since this would add -lstdc++ to the link line which of
@@ -147,7 +149,7 @@ LTCXXCOMPILE = $(LIBTOOL) --tag CXX --tag disable-shared \
# compilation driver.
CXXLINK = $(LIBTOOL) --tag CXX --tag disable-shared \
--mode=link $(CXX) \
- $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LDFLAGS) -o $@
+ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@
# We have to have rules modified from the default to counteract SUN make
# prepending each of $(glibcxxinstall_HEADERS) with VPATH below.
diff --git a/libstdc++-v3/libsupc++/Makefile.in b/libstdc++-v3/libsupc++/Makefile.in
index 9d208845997..1ad2ff1fb55 100644
--- a/libstdc++-v3/libsupc++/Makefile.in
+++ b/libstdc++-v3/libsupc++/Makefile.in
@@ -402,6 +402,7 @@ LTCXXCOMPILE = $(LIBTOOL) --tag CXX --tag disable-shared \
--mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
# 3) We'd have a problem when building the shared libstdc++ object if
# the rules automake generates would be used. We cannot allow g++ to
@@ -411,7 +412,7 @@ LTCXXCOMPILE = $(LIBTOOL) --tag CXX --tag disable-shared \
# compilation driver.
CXXLINK = $(LIBTOOL) --tag CXX --tag disable-shared \
--mode=link $(CXX) \
- $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LDFLAGS) -o $@
+ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@
all: all-am
diff --git a/libstdc++-v3/libsupc++/eh_alloc.cc b/libstdc++-v3/libsupc++/eh_alloc.cc
index b9097812a75..9a922af9c2a 100644
--- a/libstdc++-v3/libsupc++/eh_alloc.cc
+++ b/libstdc++-v3/libsupc++/eh_alloc.cc
@@ -1,5 +1,6 @@
// -*- C++ -*- Allocate exception objects.
-// Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
+// Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -49,7 +50,7 @@ using std::memcpy;
// -- but for now, we assume that they are.
extern "C" void *malloc (std::size_t);
extern "C" void free(void *);
-extern "C" int memset (void *, int, std::size_t);
+extern "C" void *memset (void *, int, std::size_t);
#endif
using namespace __cxxabiv1;
diff --git a/libstdc++-v3/libsupc++/eh_globals.cc b/libstdc++-v3/libsupc++/eh_globals.cc
index 9b7e916716d..5f44e13a7a1 100644
--- a/libstdc++-v3/libsupc++/eh_globals.cc
+++ b/libstdc++-v3/libsupc++/eh_globals.cc
@@ -1,5 +1,6 @@
// -*- C++ -*- Manage the thread-local exception globals.
-// Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
+// Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -34,6 +35,16 @@
#include "unwind-cxx.h"
#include "bits/gthr.h"
+#if _GLIBCXX_HOSTED
+using std::free;
+using std::malloc;
+#else
+// In a freestanding environment, these functions may not be
+// available -- but for now, we assume that they are.
+extern "C" void *malloc (std::size_t);
+extern "C" void free(void *);
+#endif
+
using namespace __cxxabiv1;
#if _GLIBCXX_HAVE_TLS
@@ -81,7 +92,7 @@ eh_globals_dtor(void* ptr)
_Unwind_DeleteException(&exn->unwindHeader);
exn = next;
}
- std::free(ptr);
+ free(ptr);
}
}
@@ -125,7 +136,7 @@ __cxxabiv1::__cxa_get_globals() throw()
g = static_cast<__cxa_eh_globals*>(__gthread_getspecific(init._M_key));
if (!g)
{
- void* v = std::malloc(sizeof(__cxa_eh_globals));
+ void* v = malloc(sizeof(__cxa_eh_globals));
if (v == 0 || __gthread_setspecific(init._M_key, v) != 0)
std::terminate();
g = static_cast<__cxa_eh_globals*>(v);
diff --git a/libstdc++-v3/libsupc++/eh_personality.cc b/libstdc++-v3/libsupc++/eh_personality.cc
index 917a397569c..99efe278af0 100644
--- a/libstdc++-v3/libsupc++/eh_personality.cc
+++ b/libstdc++-v3/libsupc++/eh_personality.cc
@@ -1,5 +1,5 @@
// -*- C++ -*- The GNU C++ exception personality routine.
-// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2006 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -386,7 +386,7 @@ PERSONALITY_FUNCTION (int version,
break;
default:
- abort();
+ std::abort();
}
actions |= state & _US_FORCE_UNWIND;
diff --git a/libstdc++-v3/scripts/testsuite_flags.in b/libstdc++-v3/scripts/testsuite_flags.in
index 6f70002bcd4..86b02359f92 100755
--- a/libstdc++-v3/scripts/testsuite_flags.in
+++ b/libstdc++-v3/scripts/testsuite_flags.in
@@ -18,6 +18,7 @@ Usage:
--install-cxx
--cxxflags
--cxxpchflags
+ --cxxldflags
EOF
}
@@ -48,7 +49,7 @@ case ${query} in
;;
--cxxflags)
CXXFLAGS_save="-g -O2 -D_GLIBCXX_ASSERT"
- CXXFLAGS_config='@SECTION_FLAGS@ @SECTION_LDFLAGS@ -fmessage-length=0
+ CXXFLAGS_config='@SECTION_FLAGS@ -fmessage-length=0
@EXTRA_CXX_FLAGS@ -DLOCALEDIR="@glibcxx_localedir@" '
echo ${CXXFLAGS_save} ${CXXFLAGS_config}
;;
@@ -56,6 +57,10 @@ case ${query} in
PCHFLAGS="@glibcxx_PCHFLAGS@"
echo ${PCHFLAGS}
;;
+ --cxxldflags)
+ SECTIONLDFLAGS="@SECTION_LDFLAGS@"
+ echo ${SECTIONLDFLAGS}
+ ;;
*)
print_usage
;;
diff --git a/libstdc++-v3/src/Makefile.am b/libstdc++-v3/src/Makefile.am
index cc700d4a34d..d0f63859401 100644
--- a/libstdc++-v3/src/Makefile.am
+++ b/libstdc++-v3/src/Makefile.am
@@ -236,6 +236,8 @@ AM_CXXFLAGS = \
LTCXXCOMPILE = $(LIBTOOL) --tag CXX --mode=compile $(CXX) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
+
# 3) We'd have a problem when building the shared libstdc++ object if
# the rules automake generates would be used. We cannot allow g++ to
# be used since this would add -lstdc++ to the link line which of
@@ -243,7 +245,7 @@ LTCXXCOMPILE = $(LIBTOOL) --tag CXX --mode=compile $(CXX) $(INCLUDES) \
# directory to configure libstdc++-v3 to use gcc as the C++
# compilation driver.
CXXLINK = $(LIBTOOL) --tag CXX --mode=link $(CXX) \
- $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LDFLAGS) -o $@
+ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@
# Added bits to build debug library.
diff --git a/libstdc++-v3/src/Makefile.in b/libstdc++-v3/src/Makefile.in
index cf0ebb752d8..15468dc5663 100644
--- a/libstdc++-v3/src/Makefile.in
+++ b/libstdc++-v3/src/Makefile.in
@@ -412,6 +412,7 @@ AM_CXXFLAGS = \
LTCXXCOMPILE = $(LIBTOOL) --tag CXX --mode=compile $(CXX) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
# 3) We'd have a problem when building the shared libstdc++ object if
# the rules automake generates would be used. We cannot allow g++ to
@@ -420,7 +421,7 @@ LTCXXCOMPILE = $(LIBTOOL) --tag CXX --mode=compile $(CXX) $(INCLUDES) \
# directory to configure libstdc++-v3 to use gcc as the C++
# compilation driver.
CXXLINK = $(LIBTOOL) --tag CXX --mode=link $(CXX) \
- $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LDFLAGS) -o $@
+ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@
debugdir = debug
all: all-am
diff --git a/libstdc++-v3/src/istream-inst.cc b/libstdc++-v3/src/istream-inst.cc
index d71314d3d99..2e5c7d34418 100644
--- a/libstdc++-v3/src/istream-inst.cc
+++ b/libstdc++-v3/src/istream-inst.cc
@@ -53,6 +53,20 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template istream& operator>>(istream&, _Setprecision);
template istream& operator>>(istream&, _Setw);
+ template istream& istream::_M_extract(unsigned short&);
+ template istream& istream::_M_extract(unsigned int&);
+ template istream& istream::_M_extract(long&);
+ template istream& istream::_M_extract(unsigned long&);
+ template istream& istream::_M_extract(bool&);
+#ifdef _GLIBCXX_USE_LONG_LONG
+ template istream& istream::_M_extract(long long&);
+ template istream& istream::_M_extract(unsigned long long&);
+#endif
+ template istream& istream::_M_extract(float&);
+ template istream& istream::_M_extract(double&);
+ template istream& istream::_M_extract(long double&);
+ template istream& istream::_M_extract(void*&);
+
#ifdef _GLIBCXX_USE_WCHAR_T
template class basic_istream<wchar_t>;
template wistream& ws(wistream&);
@@ -65,6 +79,20 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template wistream& operator>>(wistream&, _Setbase);
template wistream& operator>>(wistream&, _Setprecision);
template wistream& operator>>(wistream&, _Setw);
+
+ template wistream& wistream::_M_extract(unsigned short&);
+ template wistream& wistream::_M_extract(unsigned int&);
+ template wistream& wistream::_M_extract(long&);
+ template wistream& wistream::_M_extract(unsigned long&);
+ template wistream& wistream::_M_extract(bool&);
+#ifdef _GLIBCXX_USE_LONG_LONG
+ template wistream& wistream::_M_extract(long long&);
+ template wistream& wistream::_M_extract(unsigned long long&);
+#endif
+ template wistream& wistream::_M_extract(float&);
+ template wistream& wistream::_M_extract(double&);
+ template wistream& wistream::_M_extract(long double&);
+ template wistream& wistream::_M_extract(void*&);
#endif
_GLIBCXX_END_NAMESPACE
diff --git a/libstdc++-v3/src/ostream-inst.cc b/libstdc++-v3/src/ostream-inst.cc
index 4568dca5cde..70df37beb76 100644
--- a/libstdc++-v3/src/ostream-inst.cc
+++ b/libstdc++-v3/src/ostream-inst.cc
@@ -1,6 +1,6 @@
// Explicit instantiation file.
-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2005
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -56,6 +56,17 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template ostream& operator<<(ostream&, _Setprecision);
template ostream& operator<<(ostream&, _Setw);
+ template ostream& ostream::_M_insert(long);
+ template ostream& ostream::_M_insert(unsigned long);
+ template ostream& ostream::_M_insert(bool);
+#ifdef _GLIBCXX_USE_LONG_LONG
+ template ostream& ostream::_M_insert(long long);
+ template ostream& ostream::_M_insert(unsigned long long);
+#endif
+ template ostream& ostream::_M_insert(double);
+ template ostream& ostream::_M_insert(long double);
+ template ostream& ostream::_M_insert(const void*);
+
#ifdef _GLIBCXX_USE_WCHAR_T
template class basic_ostream<wchar_t>;
template wostream& endl(wostream&);
@@ -72,6 +83,17 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template wostream& operator<<(wostream&, _Setbase);
template wostream& operator<<(wostream&, _Setprecision);
template wostream& operator<<(wostream&, _Setw);
+
+ template wostream& wostream::_M_insert(long);
+ template wostream& wostream::_M_insert(unsigned long);
+ template wostream& wostream::_M_insert(bool);
+#ifdef _GLIBCXX_USE_LONG_LONG
+ template wostream& wostream::_M_insert(long long);
+ template wostream& wostream::_M_insert(unsigned long long);
+#endif
+ template wostream& wostream::_M_insert(double);
+ template wostream& wostream::_M_insert(long double);
+ template wostream& wostream::_M_insert(const void*);
#endif
_GLIBCXX_END_NAMESPACE
diff --git a/libstdc++-v3/testsuite/18_support/numeric_limits/specialization.cc b/libstdc++-v3/testsuite/18_support/numeric_limits/specialization.cc
index 815b7f5505c..0a1c8fec353 100644
--- a/libstdc++-v3/testsuite/18_support/numeric_limits/specialization.cc
+++ b/libstdc++-v3/testsuite/18_support/numeric_limits/specialization.cc
@@ -3,7 +3,7 @@
// 1999-08-23 bkoz
-// Copyright (C) 1999, 2001, 2002, 2003, 2004 Free Software Foundation
+// Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -41,7 +41,7 @@ template<typename T>
struct B
{
- B(int i = 0) { }
+ B(int = 0) { }
};
diff --git a/libstdc++-v3/testsuite/18_support/numeric_limits/traps.cc b/libstdc++-v3/testsuite/18_support/numeric_limits/traps.cc
index e9bdd84e4b3..197a2518943 100644
--- a/libstdc++-v3/testsuite/18_support/numeric_limits/traps.cc
+++ b/libstdc++-v3/testsuite/18_support/numeric_limits/traps.cc
@@ -26,14 +26,14 @@
template<typename T>
void
- test_traps()
+ test_traps(T r = T(0))
{
typedef T value_type;
volatile value_type i(5);
volatile value_type j(0);
if (!std::numeric_limits<value_type>::traps)
- value_type r = i/j;
+ r = i / j;
}
// libstdc++/22203
diff --git a/libstdc++-v3/testsuite/20_util/functional/binders/1.cc b/libstdc++-v3/testsuite/20_util/functional/binders/1.cc
index 040125128d2..2d374e60fb0 100644
--- a/libstdc++-v3/testsuite/20_util/functional/binders/1.cc
+++ b/libstdc++-v3/testsuite/20_util/functional/binders/1.cc
@@ -27,12 +27,12 @@ struct s
{
void f_void_int_const(int) const {}
void f_void_int(int) {}
- int f_int_int_const(int) const {}
- int f_int_int(int) {}
+ int f_int_int_const(int) const { return 1; }
+ int f_int_int(int) {return 1; }
void f_void_void_const() const {}
void f_void_void() {}
- int f_int_void_const() const {}
- int f_int_void() {}
+ int f_int_void_const() const { return 1; }
+ int f_int_void() { return 1; }
};
void test01(s& a)
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/1.cc
index 84db30ce8dc..ea53bab00d9 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/1.cc
@@ -29,11 +29,11 @@ template<typename T>
template<typename T>
bool
- operator==(const A<T>& a, const A<T>& b) { return true; }
+ operator==(const A<T>&, const A<T>&) { return true; }
template<typename T>
bool
- operator<(const A<T>& a, const A<T>& b) { return true; }
+ operator<(const A<T>&, const A<T>&) { return true; }
struct B { };
@@ -105,11 +105,11 @@ namespace std
}
static char_type
- to_char_type(const int_type& __c)
+ to_char_type(const int_type&)
{ return char_type(); }
static int_type
- to_int_type(const char_type& __c) { return int_type(); }
+ to_int_type(const char_type&) { return int_type(); }
static bool
eq_int_type(const int_type& __c1, const int_type& __c2)
diff --git a/libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/24559.cc b/libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/24559.cc
index 26f03267855..9e2a17dea30 100644
--- a/libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/24559.cc
+++ b/libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/24559.cc
@@ -23,10 +23,10 @@
// { dg-do compile }
// libstdc++/24559
+void test01(wchar_t* (*) (wchar_t *, const wchar_t*)) { }
+
int main()
{
- typedef wchar_t* (*pf)(wchar_t *, const wchar_t*);
- pf p1 = std::wcspbrk;
-
+ test01(std::wcspbrk);
return 0;
}
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/is/char/9858.cc b/libstdc++-v3/testsuite/22_locale/ctype/is/char/9858.cc
index 905ea42b30c..3af6372e0c5 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/is/char/9858.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/is/char/9858.cc
@@ -39,15 +39,15 @@ public:
do_is(mask, char_type) const { return true; }
const char_type*
- do_is(const char_type* lo, const char_type* hi, mask* vec) const
+ do_is(const char_type*, const char_type* hi, mask*) const
{ return hi; }
const char_type*
- do_scan_is(mask m, const char_type* lo, const char_type* hi) const
+ do_scan_is(mask, const char_type*, const char_type* hi) const
{ return hi; }
const char_type*
- do_scan_not(mask m, const char_type* lo, const char_type* hi) const
+ do_scan_not(mask, const char_type*, const char_type* hi) const
{ return hi; }
};
@@ -58,15 +58,15 @@ public:
do_is(mask, char_type) const { called = 1; return true; }
const char_type*
- do_is(const char_type* lo, const char_type* hi, mask* vec) const
+ do_is(const char_type*, const char_type* hi, mask*) const
{ called = 5; return hi; }
const char_type*
- do_scan_is(mask m, const char_type* lo, const char_type* hi) const
+ do_scan_is(mask, const char_type*, const char_type* hi) const
{ called = 10; return hi; }
const char_type*
- do_scan_not(mask m, const char_type* lo, const char_type* hi) const
+ do_scan_not(mask, const char_type*, const char_type* hi) const
{ called = 15; return hi; }
};
diff --git a/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/19955.cc b/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/19955.cc
index 396fc03d5e0..9f944cc1dfb 100644
--- a/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/19955.cc
+++ b/libstdc++-v3/testsuite/22_locale/ctype/narrow/char/19955.cc
@@ -36,7 +36,7 @@ class Ctype1
protected:
const char*
do_narrow(const char* lo, const char* hi,
- char dflt, char* to) const
+ char, char* to) const
{
for (int i = 0; lo != hi; ++lo, ++to, ++i)
*to = *lo + i;
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/1.cc
index 73f533cf554..469133f8162 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/1.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -47,7 +47,7 @@ void test01()
ios_base::iostate errorstate = good;
// create "C" time objects
- const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
// iter_type
// get_date(iter_type, iter_type, ios_base&, ios_base::iostate&, tm*) const
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12750.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12750.cc
index b5e1a244ea2..a51f5c5f3ff 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12750.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12750.cc
@@ -2,7 +2,7 @@
// 2003-10-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2003, 2005 Free Software Foundation
+// Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -47,8 +47,8 @@ void test01()
ios_base::iostate errorstate = good;
// create "C" time objects
- const tm time_bday01 = { 0, 0, 12, 2, 9, 103, 4, 274, -1 };
- const tm time_bday02 = { 0, 0, 12, 26, 9, 103, 0, 298, -1 };
+ const tm time_bday01 = __gnu_test::test_tm(0, 0, 12, 2, 9, 103, 4, 274, -1);
+ const tm time_bday02 = __gnu_test::test_tm(0, 0, 12, 26, 9, 103, 0, 298, -1);
// inspection of named locales, is_IS
iss.imbue(loc_is);
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/2.cc
index c1b8fae91c9..8c5a876bf9c 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/2.cc
@@ -2,7 +2,7 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -52,7 +52,7 @@ void test02()
ios_base::iostate errorstate = good;
// create "C" time objects
- const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
// iter_type
// get_date(iter_type, iter_type, ios_base&, ios_base::iostate&, tm*) const
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/3.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/3.cc
index fee8ced1543..92762e10775 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/char/3.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -38,7 +38,7 @@ void test03()
const locale loc_c = locale::classic();
// Create "C" time objects
- const tm time_sanity = { 0, 0, 12, 26, 5, 97, 2, 0, 0 };
+ const tm time_sanity = __gnu_test::test_tm(0, 0, 12, 26, 5, 97, 2, 0, 0);
tm tm1;
istringstream iss;
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/1.cc
index 61b079d4e0a..aead697120c 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -48,7 +48,7 @@ void test01()
ios_base::iostate errorstate = good;
// create "C" time objects
- const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
// iter_type
// get_date(iter_type, iter_type, ios_base&, ios_base::iostate&, tm*) const
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12750.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12750.cc
index 33014545375..40f1b5edc6f 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12750.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12750.cc
@@ -2,7 +2,7 @@
// 2003-10-27 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2003, 2005 Free Software Foundation
+// Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -47,8 +47,8 @@ void test01()
ios_base::iostate errorstate = good;
// create "C" time objects
- const tm time_bday01 = { 0, 0, 12, 2, 9, 103, 4, 274, -1 };
- const tm time_bday02 = { 0, 0, 12, 26, 9, 103, 0, 298, -1 };
+ const tm time_bday01 = __gnu_test::test_tm(0, 0, 12, 2, 9, 103, 4, 274, -1);
+ const tm time_bday02 = __gnu_test::test_tm(0, 0, 12, 26, 9, 103, 0, 298, -1);
// inspection of named locales, is_IS
iss.imbue(loc_is);
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/2.cc
index a506dafc315..3060063babe 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/2.cc
@@ -2,7 +2,7 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -52,7 +52,7 @@ void test02()
ios_base::iostate errorstate = good;
// create "C" time objects
- const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
// iter_type
// get_date(iter_type, iter_type, ios_base&, ios_base::iostate&, tm*) const
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/3.cc
index c4bd129ecce..759b7fd42e6 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/3.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -38,7 +38,7 @@ void test03()
const locale loc_c = locale::classic();
// Create "C" time objects
- const tm time_sanity = { 0, 0, 12, 26, 5, 97, 2, 0, 0 };
+ const tm time_sanity = __gnu_test::test_tm(0, 0, 12, 26, 5, 97, 2, 0, 0);
tm tm1;
istringstream iss;
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/1.cc
index 678bee3039d..b5d5d869e54 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/1.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -38,7 +38,7 @@ void test01()
locale loc_c = locale::classic();
// create "C" time objects
- const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
// iter_type
// get_monthname(iter_type, iter_type, ios_base&,
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/2.cc
index 727f6a89b06..b29106297d4 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/2.cc
@@ -2,7 +2,7 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -40,7 +40,7 @@ void test02()
VERIFY( loc_hk != loc_c );
VERIFY( loc_hk != loc_de );
- const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
const string empty;
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc
index 94c2f90a1b8..17a9516f063 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -38,7 +38,7 @@ void test01()
locale loc_c = locale::classic();
// create "C" time objects
- const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
// iter_type
// get_monthname(iter_type, iter_type, ios_base&,
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc
index 08a93658f37..fe5255530e3 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc
@@ -2,7 +2,7 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -40,7 +40,7 @@ void test02()
VERIFY( loc_hk != loc_c );
VERIFY( loc_hk != loc_de );
- const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
const wstring empty;
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/1.cc
index 9aa45997a86..e4c586ef72b 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/1.cc
@@ -2,7 +2,7 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -50,7 +50,7 @@ void test01()
ios_base::iostate errorstate = good;
// create "C" time objects
- const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
// 2
// iter_type
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc
index 75391315606..2b71a6ebb50 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc
@@ -2,7 +2,7 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -39,7 +39,7 @@ void test02()
VERIFY( loc_hk != loc_c );
const string empty;
- const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
// create an ostream-derived object, cache the time_get facet
iterator_type end;
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/3.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/3.cc
index 1599278b85b..3356adef3c7 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/3.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -38,7 +38,7 @@ void test03()
const locale loc_c = locale::classic();
// Create "C" time objects
- const tm time_sanity = { 0, 0, 12, 26, 5, 97, 2, 0, 0 };
+ const tm time_sanity = __gnu_test::test_tm(0, 0, 12, 26, 5, 97, 2, 0, 0);
tm tm1;
istringstream iss;
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/4.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/4.cc
index e49a6206524..ff300bbbf9e 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/4.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/4.cc
@@ -1,6 +1,6 @@
// 2004-08-29 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004 Free Software Foundation
+// Copyright (C) 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -46,7 +46,7 @@ void test01()
ios_base::iostate errorstate = good;
// create "C" time objects
- const tm time_bday = { 60, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time_bday = __gnu_test::test_tm(60, 0, 12, 4, 3, 71, 0, 93, 0);
iss.str("12:00:60 ");
iterator_type is_it01(iss);
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/1.cc
index 15e30339d21..415d3fd1dc2 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/1.cc
@@ -2,7 +2,7 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -50,7 +50,7 @@ void test01()
ios_base::iostate errorstate = good;
// create "C" time objects
- const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
// 2
// iter_type
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc
index 498badba949..1b3de6f496c 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc
@@ -2,7 +2,7 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -39,7 +39,7 @@ void test02()
VERIFY( loc_hk != loc_c );
const wstring empty;
- const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
// create an ostream-derived object, cache the time_get facet
iterator_type end;
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/3.cc
index e0bb4442419..72892c60862 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/3.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -38,7 +38,7 @@ void test03()
const locale loc_c = locale::classic();
// Create "C" time objects
- const tm time_sanity = { 0, 0, 12, 26, 5, 97, 2, 0, 0 };
+ const tm time_sanity = __gnu_test::test_tm(0, 0, 12, 26, 5, 97, 2, 0, 0);
tm tm1;
wistringstream iss;
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/4.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/4.cc
index 161fb193c3c..ba9e9bdf6f4 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/4.cc
@@ -1,6 +1,6 @@
// 2004-08-29 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004 Free Software Foundation
+// Copyright (C) 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -46,7 +46,7 @@ void test01()
ios_base::iostate errorstate = good;
// create "C" time objects
- const tm time_bday = { 60, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time_bday = __gnu_test::test_tm(60, 0, 12, 4, 3, 71, 0, 93, 0);
iss.str(L"12:00:60 ");
iterator_type is_it01(iss);
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/1.cc
index d4c260766ac..1c214bf1cdb 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/1.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -47,7 +47,7 @@ void test01()
ios_base::iostate errorstate = good;
// create "C" time objects
- const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
// iter_type
// get_weekday(iter_type, iter_type, ios_base&,
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/2.cc
index 23b50d63dcf..08b06efec34 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/2.cc
@@ -2,7 +2,7 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -52,7 +52,7 @@ void test02()
ios_base::iostate errorstate = good;
// create "C" time objects
- const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
// inspection of named locales, de_DE
iss.imbue(loc_de);
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/3.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/3.cc
index 24dcc51fb96..46f01842547 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/3.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -38,7 +38,7 @@ void test03()
const locale loc_c = locale::classic();
// Create "C" time objects
- const tm time_sanity = { 0, 0, 12, 26, 5, 97, 2, 0, 0 };
+ const tm time_sanity = __gnu_test::test_tm(0, 0, 12, 26, 5, 97, 2, 0, 0);
tm tm1;
istringstream iss;
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc
index 81e0cbd3022..27b6cff54e9 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -47,7 +47,7 @@ void test01()
ios_base::iostate errorstate = good;
// create "C" time objects
- const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
// iter_type
// get_weekday(iter_type, iter_type, ios_base&,
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc
index 6857abb9799..e3547972c81 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc
@@ -2,7 +2,7 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -52,7 +52,7 @@ void test02()
ios_base::iostate errorstate = good;
// create "C" time objects
- const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
// inspection of named locales, de_DE
iss.imbue(loc_de);
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc
index 942c87c8ff0..44393344500 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -38,7 +38,7 @@ void test03()
const locale loc_c = locale::classic();
// Create "C" time objects
- const tm time_sanity = { 0, 0, 12, 26, 5, 97, 2, 0, 0 };
+ const tm time_sanity = __gnu_test::test_tm(0, 0, 12, 26, 5, 97, 2, 0, 0);
tm tm1;
wistringstream iss;
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/1.cc
index 66e44ac5a9c..782984cf50f 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/1.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -47,7 +47,7 @@ void test01()
ios_base::iostate errorstate = good;
// create "C" time objects
- const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
// iter_type
// get_year(iter_type, iter_type, ios_base&, ios_base::iostate&, tm*) const
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/3.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/3.cc
index 11b177f879c..6a646b1a7a0 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_year/char/3.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -38,7 +38,7 @@ void test03()
const locale loc_c = locale::classic();
// Create "C" time objects
- const tm time_sanity = { 0, 0, 12, 26, 5, 97, 2, 0, 0 };
+ const tm time_sanity = __gnu_test::test_tm(0, 0, 12, 26, 5, 97, 2, 0, 0);
tm tm1;
istringstream iss;
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/1.cc
index 0fff5d58a58..0bf843d4dfa 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -47,7 +47,7 @@ void test01()
ios_base::iostate errorstate = good;
// create "C" time objects
- const tm time_bday = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
// iter_type
// get_year(iter_type, iter_type, ios_base&, ios_base::iostate&, tm*) const
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/3.cc
index 85fd34d523a..fdfa472ffeb 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/3.cc
@@ -1,6 +1,6 @@
// 2001-09-21 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -38,7 +38,7 @@ void test03()
const locale loc_c = locale::classic();
// Create "C" time objects
- const tm time_sanity = { 0, 0, 12, 26, 5, 97, 2, 0, 0 };
+ const tm time_sanity = __gnu_test::test_tm(0, 0, 12, 26, 5, 97, 2, 0, 0);
tm tm1;
istringstream iss;
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/1.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/1.cc
index 2d6096c3922..ee06172656d 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/1.cc
@@ -1,6 +1,6 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -32,7 +32,7 @@ void test01()
bool test __attribute__((unused)) = true;
// create "C" time objects
- tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
// basic construction
locale loc_c = locale::classic();
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/10.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/10.cc
index 9f2223d4cae..c7e2abe75ce 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/10.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/10.cc
@@ -1,6 +1,6 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -40,7 +40,7 @@ void test10()
const locale loc_c = locale::classic();
const string x(50, 'x'); // have to have allocated string!
string res;
- const tm time_sanity = { 0, 0, 12, 26, 5, 97, 2 };
+ const tm time_sanity = __gnu_test::test_tm(0, 0, 12, 26, 5, 97, 2, 0, 0);
ostringstream oss;
oss.imbue(locale(loc_c, new time_put_type));
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_1.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_1.cc
index ec1f26da5d2..4680c7aecfa 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_1.cc
@@ -31,7 +31,7 @@ public:
protected:
iter_type do_put(iter_type s, std::ios_base&, char_type fill,
- const std::tm* t, char format, char modifier) const
+ const std::tm*, char, char) const
{
fill_chars.push_back(fill);
return s;
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_3.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_3.cc
index 80d5dbba24c..4408565350e 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_3.cc
@@ -29,8 +29,8 @@ public:
mutable std::string format_chars;
protected:
- iter_type do_put(iter_type s, std::ios_base&, char_type fill,
- const std::tm* t, char format, char modifier) const
+ iter_type do_put(iter_type s, std::ios_base&, char_type,
+ const std::tm*, char format, char) const
{
format_chars.push_back(format);
return s;
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/17038.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/17038.cc
index bac3c910374..aa456fc4458 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/17038.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/17038.cc
@@ -2,7 +2,7 @@
// 2004-08-25 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004, 2005 Free Software Foundation
+// Copyright (C) 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -35,7 +35,7 @@ void test01()
bool test __attribute__((unused)) = true;
// create "C" time objects
- tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
// basic construction
locale loc_c = locale::classic();
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/2.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/2.cc
index db91d110a7a..121ad787bb3 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/2.cc
@@ -2,7 +2,7 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -34,7 +34,7 @@ void test02()
bool test __attribute__((unused)) = true;
// create "C" time object
- tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
// basic construction and sanity check
locale loc_c = locale::classic();
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/3.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/3.cc
index 3fd23797281..acae5c1eb65 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/3.cc
@@ -2,7 +2,7 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -34,7 +34,7 @@ void test03()
bool test __attribute__((unused)) = true;
// create "C" time objects
- tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
// basic construction and sanity check.
locale loc_c = locale::classic();
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/4.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/4.cc
index 8a2ba847679..33018395283 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/4.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/4.cc
@@ -2,7 +2,7 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -34,7 +34,7 @@ void test04()
bool test __attribute__((unused)) = true;
// create "C" time objects
- tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
// basic construction and sanity check
locale loc_c = locale::classic();
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/5.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/5.cc
index 6488b0e3a5d..e7a93f07df6 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/5.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/5.cc
@@ -1,6 +1,6 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -33,7 +33,7 @@ void test05()
bool test __attribute__((unused)) = true;
// create "C" time objects
- tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
const char* date = "%A, the second of %B";
const char* date_ex = "%Ex";
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/6.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/6.cc
index ffec0393cba..0bb9a2d28db 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/6.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/6.cc
@@ -2,7 +2,7 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -35,7 +35,7 @@ void test06()
bool test __attribute__((unused)) = true;
// create "C" time objects
- tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
const char* date = "%A, the second of %B";
const char* date_ex = "%Ex";
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/7.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/7.cc
index b4c5747c7dc..7753fe947bc 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/7.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/7.cc
@@ -2,7 +2,7 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -35,7 +35,7 @@ void test07()
bool test __attribute__((unused)) = true;
// create "C" time objects
- tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
const char* date = "%A, the second of %B";
const char* date_ex = "%Ex";
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/8.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/8.cc
index 4699fdbdc2d..3a1d9914277 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/8.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/8.cc
@@ -2,7 +2,7 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -35,7 +35,7 @@ void test08()
bool test __attribute__((unused)) = true;
// create "C" time objects
- tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
const char* date = "%A, the second of %B";
const char* date_ex = "%Ex";
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/char/9.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/char/9.cc
index 76f711067e1..86c509c247c 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/char/9.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/char/9.cc
@@ -1,6 +1,6 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -40,7 +40,7 @@ void test09()
const locale loc_c = locale::classic();
const string x(50, 'x'); // have to have allocated string!
string res;
- const tm time_sanity = { 0, 0, 12, 26, 5, 97, 2 };
+ const tm time_sanity = __gnu_test::test_tm(0, 0, 12, 26, 5, 97, 2, 0, 0);
const char* date = "%X, %A, the second of %B, %Y";
ostringstream oss;
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/1.cc
index c4be6be6f6e..9dd77260a61 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/1.cc
@@ -1,6 +1,6 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -32,7 +32,7 @@ void test01()
bool test __attribute__((unused)) = true;
// create "C" time objects
- tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
// basic construction
locale loc_c = locale::classic();
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/10.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/10.cc
index c68e8ff9551..f1c91b171e7 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/10.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/10.cc
@@ -1,6 +1,6 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -40,7 +40,7 @@ void test10()
const locale loc_c = locale::classic();
const wstring x(50, 'x'); // have to have allocated wstring!
wstring res;
- const tm time_sanity = { 0, 0, 12, 26, 5, 97, 2 };
+ const tm time_sanity = __gnu_test::test_tm(0, 0, 12, 26, 5, 97, 2, 0, 0);
wostringstream oss;
oss.imbue(locale(loc_c, new time_put_type));
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_1.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_1.cc
index 8d7d96ea1df..7ef4643875b 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_1.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_1.cc
@@ -31,7 +31,7 @@ public:
protected:
iter_type do_put(iter_type s, std::ios_base&, char_type fill,
- const std::tm* t, char format, char modifier) const
+ const std::tm*, char, char) const
{
fill_chars.push_back(fill);
return s;
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_3.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_3.cc
index 696b900fa48..82601e82959 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_3.cc
@@ -29,8 +29,8 @@ public:
mutable std::string format_chars;
protected:
- iter_type do_put(iter_type s, std::ios_base&, char_type fill,
- const std::tm* t, char format, char modifier) const
+ iter_type do_put(iter_type s, std::ios_base&, char_type,
+ const std::tm*, char format, char) const
{
format_chars.push_back(format);
return s;
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/17038.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/17038.cc
index 3f5527cb02b..e245f48e2ce 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/17038.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/17038.cc
@@ -2,7 +2,7 @@
// 2004-08-25 Paolo Carlini <pcarlini@suse.de>
-// Copyright (C) 2004, 2005 Free Software Foundation
+// Copyright (C) 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -35,7 +35,7 @@ void test01()
bool test __attribute__((unused)) = true;
// create "C" time objects
- tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
// basic construction
locale loc_c = locale::classic();
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/2.cc
index e98616215ab..672248c07ff 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/2.cc
@@ -2,7 +2,7 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -34,7 +34,7 @@ void test02()
bool test __attribute__((unused)) = true;
// create "C" time objects
- tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
// basic construction and sanity check
locale loc_c = locale::classic();
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/3.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/3.cc
index 83900e14bd3..8f8659dcbbc 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/3.cc
@@ -2,7 +2,7 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -34,7 +34,7 @@ void test03()
bool test __attribute__((unused)) = true;
// create "C" time objects
- tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
// basic construction and sanity check
locale loc_c = locale::classic();
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/4.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/4.cc
index bb98ecfe732..a3b469d67ce 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/4.cc
@@ -2,7 +2,7 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -34,7 +34,7 @@ void test04()
bool test __attribute__((unused)) = true;
// create "C" time objects
- tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
// basic construction and sanity check
locale loc_c = locale::classic();
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/5.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/5.cc
index e09382c389e..4d30717cc86 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/5.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/5.cc
@@ -1,6 +1,6 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -33,7 +33,7 @@ void test05()
bool test __attribute__((unused)) = true;
// create "C" time objects
- tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
const wchar_t* date = L"%A, the second of %B";
const wchar_t* date_ex = L"%Ex";
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/6.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/6.cc
index 7f13c04e5c2..28f3d9ab74f 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/6.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/6.cc
@@ -2,7 +2,7 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -35,7 +35,7 @@ void test06()
bool test __attribute__((unused)) = true;
// create "C" time objects
- tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
const wchar_t* date = L"%A, the second of %B";
const wchar_t* date_ex = L"%Ex";
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/7.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/7.cc
index 31c7b968898..aecd6d93dca 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/7.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/7.cc
@@ -2,7 +2,7 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -35,7 +35,7 @@ void test07()
bool test __attribute__((unused)) = true;
// create "C" time objects
- tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
const wchar_t* date = L"%A, the second of %B";
const wchar_t* date_ex = L"%Ex";
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/8.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/8.cc
index 4e0da84d57a..c3f123e4f6e 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/8.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/8.cc
@@ -2,7 +2,7 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -35,7 +35,7 @@ void test08()
bool test __attribute__((unused)) = true;
// create "C" time objects
- tm time1 = { 0, 0, 12, 4, 3, 71, 0, 93, 0 };
+ const tm time1 = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
const wchar_t* date = L"%A, the second of %B";
const wchar_t* date_ex = L"%Ex";
diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/9.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/9.cc
index a421835e472..3a3e01c633b 100644
--- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/9.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/9.cc
@@ -1,6 +1,6 @@
// 2001-09-17 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -40,7 +40,7 @@ void test09()
const locale loc_c = locale::classic();
const wstring x(50, L'x'); // have to have allocated wstring!
wstring res;
- const tm time_sanity = { 0, 0, 12, 26, 5, 97, 2 };
+ const tm time_sanity = __gnu_test::test_tm(0, 0, 12, 26, 5, 97, 2, 0, 0);
const wchar_t* date = L"%X, %A, the second of %B, %Y";
wostringstream oss;
diff --git a/libstdc++-v3/testsuite/23_containers/deque/cons/clear_allocator.cc b/libstdc++-v3/testsuite/23_containers/deque/cons/clear_allocator.cc
index a523098d583..863688f1cae 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/cons/clear_allocator.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/cons/clear_allocator.cc
@@ -37,11 +37,11 @@ template<typename T>
clear_alloc() throw()
{ }
- clear_alloc(clear_alloc const& _wa) throw()
+ clear_alloc(clear_alloc const&) throw() : new_allocator<T>()
{ }
template<typename T1>
- clear_alloc(clear_alloc<T1> const& _wa) throw()
+ clear_alloc(clear_alloc<T1> const&) throw()
{ }
virtual ~clear_alloc() throw()
diff --git a/libstdc++-v3/testsuite/23_containers/list/cons/clear_allocator.cc b/libstdc++-v3/testsuite/23_containers/list/cons/clear_allocator.cc
index 0d951570551..0a62618ef78 100644
--- a/libstdc++-v3/testsuite/23_containers/list/cons/clear_allocator.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/cons/clear_allocator.cc
@@ -37,11 +37,11 @@ template<typename T>
clear_alloc() throw()
{ }
- clear_alloc(clear_alloc const& _wa) throw()
+ clear_alloc(clear_alloc const&) throw() : new_allocator<T>()
{ }
template<typename T1>
- clear_alloc(clear_alloc<T1> const& _wa) throw()
+ clear_alloc(clear_alloc<T1> const&) throw()
{ }
virtual ~clear_alloc() throw()
diff --git a/libstdc++-v3/testsuite/23_containers/list/operators/5.cc b/libstdc++-v3/testsuite/23_containers/list/operators/5.cc
new file mode 100644
index 00000000000..22f504691d9
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/list/operators/5.cc
@@ -0,0 +1,141 @@
+// 2006-01-19 Paolo Carlini <pcarlini@suse.de>
+
+// Copyright (C) 2006 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without Pred the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 23.2.2.4 list operations [lib.list.ops]
+
+#include <list>
+#include <stdexcept>
+#include <testsuite_hooks.h>
+#include <testsuite_allocator.h>
+
+// Check the splice (and merge) bits of N1599.
+void
+test01()
+{
+ bool test __attribute__((unused)) = true;
+
+ typedef __gnu_test::uneq_allocator<int> my_alloc;
+ typedef std::list<int, my_alloc> my_list;
+
+ const int data1[] = {1, 2, 3, 4, 5};
+ const int data2[] = {6, 7, 8, 9, 10};
+ const size_t N1 = sizeof(data1) / sizeof(int);
+ const size_t N2 = sizeof(data2) / sizeof(int);
+
+ my_alloc alloc01(1), alloc02(2);
+
+ my_list l01(data1, data1 + N1, alloc01);
+ const my_list l01_ref = l01;
+
+ my_list l02(data2, data2 + N2, alloc02);
+ const my_list l02_ref = l02;
+
+ bool catched = false;
+
+ try
+ {
+ l01.splice(l01.begin(), l02);
+ }
+ catch(std::runtime_error&)
+ {
+ catched = true;
+ }
+ catch(...)
+ {
+ VERIFY( false );
+ }
+ VERIFY( catched );
+ VERIFY( l01 == l01_ref );
+ VERIFY( l02 == l02_ref );
+
+ catched = false;
+ try
+ {
+ l01.splice(l01.begin(), l02, l02.begin());
+ }
+ catch(std::runtime_error&)
+ {
+ catched = true;
+ }
+ catch(...)
+ {
+ VERIFY( false );
+ }
+ VERIFY( catched );
+ VERIFY( l01 == l01_ref );
+ VERIFY( l02 == l02_ref );
+
+ catched = false;
+ try
+ {
+ l01.splice(l01.begin(), l02, l02.begin(), l02.end());
+ }
+ catch(std::runtime_error&)
+ {
+ catched = true;
+ }
+ catch(...)
+ {
+ VERIFY( false );
+ }
+ VERIFY( catched );
+ VERIFY( l01 == l01_ref );
+ VERIFY( l02 == l02_ref );
+
+ catched = false;
+ try
+ {
+ l01.merge(l02);
+ }
+ catch(std::runtime_error&)
+ {
+ catched = true;
+ }
+ catch(...)
+ {
+ VERIFY( false );
+ }
+ VERIFY( catched );
+ VERIFY( l01 == l01_ref );
+ VERIFY( l02 == l02_ref );
+
+ catched = false;
+ try
+ {
+ l01.merge(l02, std::less<int>());
+ }
+ catch(std::runtime_error&)
+ {
+ catched = true;
+ }
+ catch(...)
+ {
+ VERIFY( false );
+ }
+ VERIFY( catched );
+ VERIFY( l01 == l01_ref );
+ VERIFY( l02 == l02_ref );
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/23_containers/map/insert/1.cc b/libstdc++-v3/testsuite/23_containers/map/modifiers/insert/1.cc
index 7bf7a6cb96a..7bf7a6cb96a 100644
--- a/libstdc++-v3/testsuite/23_containers/map/insert/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/modifiers/insert/1.cc
diff --git a/libstdc++-v3/testsuite/23_containers/map/insert/16813.cc b/libstdc++-v3/testsuite/23_containers/map/modifiers/insert/16813.cc
index 1132aad7748..1132aad7748 100644
--- a/libstdc++-v3/testsuite/23_containers/map/insert/16813.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/modifiers/insert/16813.cc
diff --git a/libstdc++-v3/testsuite/23_containers/map/operators/1_neg.cc b/libstdc++-v3/testsuite/23_containers/map/operators/1_neg.cc
index 405f8e4caa7..54e741425de 100644
--- a/libstdc++-v3/testsuite/23_containers/map/operators/1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/operators/1_neg.cc
@@ -1,6 +1,7 @@
// { dg-do compile }
-// Copyright (C) 2000, 2001, 2002, 2004, 2005 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -41,5 +42,5 @@ void test01()
test &= itr == mapByName.end(); // { dg-error "no" }
}
-// { dg-error "candidates are" "" { target *-*-* } 210 }
-// { dg-error "candidates are" "" { target *-*-* } 214 }
+// { dg-error "candidates are" "" { target *-*-* } 211 }
+// { dg-error "candidates are" "" { target *-*-* } 215 }
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/22102.cc b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/22102.cc
new file mode 100644
index 00000000000..dfaf4c252d7
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/22102.cc
@@ -0,0 +1,141 @@
+// 2006-01-07 Paolo Carlini <pcarlini@suse.de>
+
+// Copyright (C) 2006 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 23.3.2 Class template multimap
+
+#include <map>
+#include <testsuite_hooks.h>
+
+// libstdc++/22102
+void test01()
+{
+ bool test __attribute__((unused)) = true;
+ typedef std::multimap<int, int> Mmap;
+ typedef Mmap::value_type value_type;
+ typedef Mmap::iterator iterator;
+
+ Mmap mm1;
+
+ const iterator it1 = mm1.insert(value_type(0, 0));
+ const iterator it2 = mm1.insert(value_type(1, 1));
+ const iterator it3 = mm1.insert(value_type(2, 2));
+
+ const value_type vt1(2, 1);
+ const iterator it4 = mm1.insert(it1, vt1);
+ iterator it5 = it4;
+ iterator it6 = it4;
+ VERIFY( mm1.size() == 4 );
+ VERIFY( *it4 == vt1 );
+ VERIFY( ++it5 == it3 );
+ VERIFY( --it6 == it2 );
+ VERIFY( *it5 == *it3 );
+ VERIFY( *it6 == *it2 );
+
+ const value_type vt2(2, 0);
+ const iterator it7 = mm1.insert(mm1.begin(), vt2);
+ iterator it8 = it7;
+ iterator it9 = it7;
+ VERIFY( mm1.size() == 5 );
+ VERIFY( *it7 == vt2 );
+ VERIFY( ++it8 == it4 );
+ VERIFY( --it9 == it2 );
+ VERIFY( *it8 == *it4 );
+ VERIFY( *it9 == *it2 );
+
+ const value_type vt3(2, -1);
+ const iterator it10 = mm1.insert(it1, vt3);
+ iterator it11 = it10;
+ iterator it12 = it10;
+ VERIFY( mm1.size() == 6 );
+ VERIFY( *it10 == vt3 );
+ VERIFY( ++it11 == it7 );
+ VERIFY( --it12 == it2 );
+ VERIFY( *it11 == *it7 );
+ VERIFY( *it12 == *it2 );
+
+ const value_type vt4(0, 1);
+ const iterator it13 = mm1.insert(it10, vt4);
+ iterator it14 = it13;
+ iterator it15 = it13;
+ VERIFY( mm1.size() == 7 );
+ VERIFY( *it13 == vt4 );
+ VERIFY( ++it14 == it2 );
+ VERIFY( --it15 == it1 );
+ VERIFY( *it14 == *it2 );
+ VERIFY( *it15 == *it1 );
+
+ const value_type vt5(1, 0);
+ const iterator it16 = mm1.insert(it13, vt5);
+ iterator it17 = it16;
+ iterator it18 = it16;
+ VERIFY( mm1.size() == 8 );
+ VERIFY( *it16 == vt5 );
+ VERIFY( ++it17 == it2 );
+ VERIFY( --it18 == it13 );
+ VERIFY( *it17 == *it2 );
+ VERIFY( *it18 == *it13 );
+
+ const value_type vt6(0, -1);
+ const iterator it19 = mm1.insert(it1, vt6);
+ iterator it20 = it19;
+ VERIFY( mm1.size() == 9 );
+ VERIFY( *it19 == vt6 );
+ VERIFY( it19 == mm1.begin() );
+ VERIFY( ++it20 == it1 );
+ VERIFY( *it20 == *it1 );
+
+ const value_type vt7(3, 3);
+ const iterator it21 = mm1.insert(it19, vt7);
+ iterator it22 = it21;
+ iterator it23 = it21;
+ VERIFY( mm1.size() == 10 );
+ VERIFY( *it21 == vt7 );
+ VERIFY( ++it22 == mm1.end() );
+ VERIFY( --it23 == it3 );
+ VERIFY( *it23 == *it3 );
+
+ const value_type vt8(2, 3);
+ const iterator it24 = mm1.insert(mm1.end(), vt8);
+ iterator it25 = it24;
+ iterator it26 = it24;
+ VERIFY( mm1.size() == 11 );
+ VERIFY( *it24 == vt8 );
+ VERIFY( ++it25 == it21 );
+ VERIFY( --it26 == it3 );
+ VERIFY( *it25 == *it21 );
+ VERIFY( *it26 == *it3 );
+
+ const value_type vt9(3, 2);
+ const iterator it27 = mm1.insert(it3, vt9);
+ iterator it28 = it27;
+ iterator it29 = it27;
+ VERIFY( mm1.size() == 12 );
+ VERIFY( *it27 == vt9 );
+ VERIFY( ++it28 == it21 );
+ VERIFY( --it29 == it24 );
+ VERIFY( *it28 == *it21 );
+ VERIFY( *it29 == *it24 );
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/insert/1.cc b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/1.cc
index c1a5de3dc74..c1a5de3dc74 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/insert/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/1.cc
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/insert/2.cc b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/2.cc
index 0f654cb0500..0f654cb0500 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/insert/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/2.cc
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/22102.cc b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/22102.cc
new file mode 100644
index 00000000000..99b808f1b33
--- /dev/null
+++ b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/insert/22102.cc
@@ -0,0 +1,141 @@
+// 2006-01-07 Paolo Carlini <pcarlini@suse.de>
+
+// Copyright (C) 2006 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 23.3.4 Class template multiset
+
+#include <set>
+#include <testsuite_hooks.h>
+
+// libstdc++/22102
+void test01()
+{
+ bool test __attribute__((unused)) = true;
+ typedef std::multiset<int> Mset;
+ typedef Mset::value_type value_type;
+ typedef Mset::iterator iterator;
+
+ Mset ms1;
+
+ const iterator it1 = ms1.insert(value_type(0));
+ const iterator it2 = ms1.insert(value_type(1));
+ const iterator it3 = ms1.insert(value_type(2));
+
+ const value_type vt1(2);
+ const iterator it4 = ms1.insert(it1, vt1);
+ iterator it5 = it4;
+ iterator it6 = it4;
+ VERIFY( ms1.size() == 4 );
+ VERIFY( *it4 == vt1 );
+ VERIFY( ++it5 == it3 );
+ VERIFY( --it6 == it2 );
+ VERIFY( *it5 == *it3 );
+ VERIFY( *it6 == *it2 );
+
+ const value_type vt2(2);
+ const iterator it7 = ms1.insert(ms1.begin(), vt2);
+ iterator it8 = it7;
+ iterator it9 = it7;
+ VERIFY( ms1.size() == 5 );
+ VERIFY( *it7 == vt2 );
+ VERIFY( ++it8 == it4 );
+ VERIFY( --it9 == it2 );
+ VERIFY( *it8 == *it4 );
+ VERIFY( *it9 == *it2 );
+
+ const value_type vt3(2);
+ const iterator it10 = ms1.insert(it1, vt3);
+ iterator it11 = it10;
+ iterator it12 = it10;
+ VERIFY( ms1.size() == 6 );
+ VERIFY( *it10 == vt3 );
+ VERIFY( ++it11 == it7 );
+ VERIFY( --it12 == it2 );
+ VERIFY( *it11 == *it7 );
+ VERIFY( *it12 == *it2 );
+
+ const value_type vt4(0);
+ const iterator it13 = ms1.insert(it10, vt4);
+ iterator it14 = it13;
+ iterator it15 = it13;
+ VERIFY( ms1.size() == 7 );
+ VERIFY( *it13 == vt4 );
+ VERIFY( ++it14 == it2 );
+ VERIFY( --it15 == it1 );
+ VERIFY( *it14 == *it2 );
+ VERIFY( *it15 == *it1 );
+
+ const value_type vt5(1);
+ const iterator it16 = ms1.insert(it13, vt5);
+ iterator it17 = it16;
+ iterator it18 = it16;
+ VERIFY( ms1.size() == 8 );
+ VERIFY( *it16 == vt5 );
+ VERIFY( ++it17 == it2 );
+ VERIFY( --it18 == it13 );
+ VERIFY( *it17 == *it2 );
+ VERIFY( *it18 == *it13 );
+
+ const value_type vt6(0);
+ const iterator it19 = ms1.insert(it1, vt6);
+ iterator it20 = it19;
+ VERIFY( ms1.size() == 9 );
+ VERIFY( *it19 == vt6 );
+ VERIFY( it19 == ms1.begin() );
+ VERIFY( ++it20 == it1 );
+ VERIFY( *it20 == *it1 );
+
+ const value_type vt7(3);
+ const iterator it21 = ms1.insert(it19, vt7);
+ iterator it22 = it21;
+ iterator it23 = it21;
+ VERIFY( ms1.size() == 10 );
+ VERIFY( *it21 == vt7 );
+ VERIFY( ++it22 == ms1.end() );
+ VERIFY( --it23 == it3 );
+ VERIFY( *it23 == *it3 );
+
+ const value_type vt8(2);
+ const iterator it24 = ms1.insert(ms1.end(), vt8);
+ iterator it25 = it24;
+ iterator it26 = it24;
+ VERIFY( ms1.size() == 11 );
+ VERIFY( *it24 == vt8 );
+ VERIFY( ++it25 == it21 );
+ VERIFY( --it26 == it3 );
+ VERIFY( *it25 == *it21 );
+ VERIFY( *it26 == *it3 );
+
+ const value_type vt9(3);
+ const iterator it27 = ms1.insert(it3, vt9);
+ iterator it28 = it27;
+ iterator it29 = it27;
+ VERIFY( ms1.size() == 12 );
+ VERIFY( *it27 == vt9 );
+ VERIFY( ++it28 == it21 );
+ VERIFY( --it29 == it24 );
+ VERIFY( *it28 == *it21 );
+ VERIFY( *it29 == *it24 );
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/23_containers/set/modifiers/16728.cc b/libstdc++-v3/testsuite/23_containers/set/modifiers/16728.cc
index 1571edebb48..2120f5bbff7 100644
--- a/libstdc++-v3/testsuite/23_containers/set/modifiers/16728.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/modifiers/16728.cc
@@ -75,7 +75,7 @@ template<typename Container>
template<typename Container>
void
- test_container(Container obj, bool run_threaded = false)
+ test_container(Container, bool run_threaded = false)
{
do_loop<Container>();
std::ostringstream comment;
diff --git a/libstdc++-v3/testsuite/23_containers/set/insert/1.cc b/libstdc++-v3/testsuite/23_containers/set/modifiers/insert/1.cc
index 22fdf0debbb..22fdf0debbb 100644
--- a/libstdc++-v3/testsuite/23_containers/set/insert/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/modifiers/insert/1.cc
diff --git a/libstdc++-v3/testsuite/23_containers/set/operators/1_neg.cc b/libstdc++-v3/testsuite/23_containers/set/operators/1_neg.cc
index a0286b0566d..48f6ae68f69 100644
--- a/libstdc++-v3/testsuite/23_containers/set/operators/1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/operators/1_neg.cc
@@ -1,6 +1,7 @@
// { dg-do compile }
-// Copyright (C) 2000, 2001, 2002, 2004, 2005 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -39,5 +40,5 @@ void test01()
test &= itr == setByName.end(); // { dg-error "no" }
}
-// { dg-error "candidates are" "" { target *-*-* } 285 }
-// { dg-error "candidates are" "" { target *-*-* } 289 }
+// { dg-error "candidates are" "" { target *-*-* } 286 }
+// { dg-error "candidates are" "" { target *-*-* } 290 }
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/clear_allocator.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/clear_allocator.cc
index 43601910b4f..bbb6523808f 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/clear_allocator.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/clear_allocator.cc
@@ -37,11 +37,11 @@ template<typename T>
clear_alloc() throw()
{ }
- clear_alloc(clear_alloc const& _wa) throw()
+ clear_alloc(clear_alloc const&) throw() : new_allocator<T>()
{ }
template<typename T1>
- clear_alloc(clear_alloc<T1> const& _wa) throw()
+ clear_alloc(clear_alloc<T1> const&) throw()
{ }
virtual ~clear_alloc() throw()
diff --git a/libstdc++-v3/testsuite/23_containers/vector/cons/clear_allocator.cc b/libstdc++-v3/testsuite/23_containers/vector/cons/clear_allocator.cc
index 232fd34fb74..787d2c09abb 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/cons/clear_allocator.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/cons/clear_allocator.cc
@@ -37,11 +37,11 @@ template<typename T>
clear_alloc() throw()
{ }
- clear_alloc(clear_alloc const& _wa) throw()
+ clear_alloc(clear_alloc const&) throw() : new_allocator<T>()
{ }
template<typename T1>
- clear_alloc(clear_alloc<T1> const& _wa) throw()
+ clear_alloc(clear_alloc<T1> const&) throw()
{ }
virtual ~clear_alloc() throw()
diff --git a/libstdc++-v3/testsuite/23_containers/vector/modifiers/erase/1.cc b/libstdc++-v3/testsuite/23_containers/vector/modifiers/erase/1.cc
index 0a3cffb90b2..0b2d497fefd 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/modifiers/erase/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/modifiers/erase/1.cc
@@ -29,12 +29,12 @@ const int A2[] = {0, 2, 3, 4, 10, 11, 12, 13, 14, 15};
const int A3[] = {0, 2, 3, 4, 10, 11};
const int A4[] = {4, 10, 11};
const int A5[] = {4, 10};
-const int N = sizeof(A) / sizeof(int);
-const int N1 = sizeof(A1) / sizeof(int);
-const int N2 = sizeof(A2) / sizeof(int);
-const int N3 = sizeof(A3) / sizeof(int);
-const int N4 = sizeof(A4) / sizeof(int);
-const int N5 = sizeof(A5) / sizeof(int);
+const unsigned int N = sizeof(A) / sizeof(int);
+const unsigned int N1 = sizeof(A1) / sizeof(int);
+const unsigned int N2 = sizeof(A2) / sizeof(int);
+const unsigned int N3 = sizeof(A3) / sizeof(int);
+const unsigned int N4 = sizeof(A4) / sizeof(int);
+const unsigned int N5 = sizeof(A5) / sizeof(int);
void
test01()
@@ -85,17 +85,17 @@ test02()
typedef vec_type::iterator iterator_type;
vec_type v, v1, v2, v3, v4, v5;
- for (int i = 0; i < N; ++i)
+ for (unsigned int i = 0; i < N; ++i)
v.push_back(std::vector<int>(1, A[i]));
- for (int i = 0; i < N1; ++i)
+ for (unsigned int i = 0; i < N1; ++i)
v1.push_back(std::vector<int>(1, A1[i]));
- for (int i = 0; i < N2; ++i)
+ for (unsigned int i = 0; i < N2; ++i)
v2.push_back(std::vector<int>(1, A2[i]));
- for (int i = 0; i < N3; ++i)
+ for (unsigned int i = 0; i < N3; ++i)
v3.push_back(std::vector<int>(1, A3[i]));
- for (int i = 0; i < N4; ++i)
+ for (unsigned int i = 0; i < N4; ++i)
v4.push_back(std::vector<int>(1, A4[i]));
- for (int i = 0; i < N5; ++i)
+ for (unsigned int i = 0; i < N5; ++i)
v5.push_back(std::vector<int>(1, A5[i]));
iterator_type it1 = v.erase(v.begin() + 1);
diff --git a/libstdc++-v3/testsuite/25_algorithms/find/17441.cc b/libstdc++-v3/testsuite/25_algorithms/find/17441.cc
index eadb1a1d4e8..89721bd24fc 100644
--- a/libstdc++-v3/testsuite/25_algorithms/find/17441.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/find/17441.cc
@@ -24,8 +24,8 @@ using namespace std;
template<typename InputIterator, typename Tp>
InputIterator
- find(InputIterator first, InputIterator last,
- const Tp& val, input_iterator_tag)
+ find(InputIterator first, InputIterator,
+ const Tp&, input_iterator_tag)
{ return first; }
// libstdc++/17441
diff --git a/libstdc++-v3/testsuite/25_algorithms/heap/heap.cc b/libstdc++-v3/testsuite/25_algorithms/heap/heap.cc
index 6fbd3ed4c06..ba916a8f01e 100644
--- a/libstdc++-v3/testsuite/25_algorithms/heap/heap.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/heap/heap.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -19,7 +19,6 @@
// 25.3.6 Heap operations [lib.alg.heap.operations]
#include <algorithm>
-//#include <cmath>
#include <testsuite_hooks.h>
bool test __attribute__((unused)) = true;
@@ -29,24 +28,24 @@ const int B[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17};
const int C[] = {17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
const int N = sizeof(A) / sizeof(int);
-// This functor has the equivalent functionality of std::geater<>,
+// This functor has the equivalent functionality of std::greater<>,
// but there is no dependency on <functional> and it also tracks the
// number of invocations since creation.
class Gt
{
public:
- static int count() { return itsCount; }
- static void reset() { itsCount = 0; }
-
- bool
- operator()(const int& x, const int& y)
- {
- ++itsCount;
- return x > y;
- }
+ static int count() { return itsCount; }
+ static void reset() { itsCount = 0; }
+
+ bool
+ operator()(const int& x, const int& y)
+ {
+ ++itsCount;
+ return x > y;
+ }
private:
- static int itsCount;
+ static int itsCount;
};
int Gt::itsCount = 0;
@@ -57,27 +56,27 @@ int Gt::itsCount = 0;
void
test01()
{
- // sort array s1 using push_heap/pop_heap
- int s1[N];
- std::copy(A, A + N, s1);
- VERIFY(std::equal(s1, s1 + N, A));
-
- for (int i = 2; i <= N; ++i) {
- std::push_heap(s1, s1 + i);
- }
- for (int i = N; i >= 2; --i) {
- std::pop_heap(s1, s1 + i);
- }
- VERIFY(std::equal(s1, s1 + N, B));
-
- // sort array s2 using make_heap/sort_heap
- int s2[N];
- std::copy(A, A + N, s2);
- VERIFY(std::equal(s2, s2 + N, A));
-
- std::make_heap(s2, s2 + N);
- std::sort_heap(s2, s2 + N);
- VERIFY(std::equal(s2, s2 + N, B));
+ // sort array s1 using push_heap/pop_heap
+ int s1[N];
+ std::copy(A, A + N, s1);
+ VERIFY(std::equal(s1, s1 + N, A));
+
+ for (int i = 2; i <= N; ++i)
+ std::push_heap(s1, s1 + i);
+
+ for (int i = N; i >= 2; --i)
+ std::pop_heap(s1, s1 + i);
+
+ VERIFY(std::equal(s1, s1 + N, B));
+
+ // sort array s2 using make_heap/sort_heap
+ int s2[N];
+ std::copy(A, A + N, s2);
+ VERIFY(std::equal(s2, s2 + N, A));
+
+ std::make_heap(s2, s2 + N);
+ std::sort_heap(s2, s2 + N);
+ VERIFY(std::equal(s2, s2 + N, B));
}
// Perform same tests as above but with the comparison predicate
@@ -85,49 +84,43 @@ test01()
void
test02()
{
- Gt gt;
+ Gt gt;
// const int logN = static_cast<int>(std::log(static_cast<double>(N)) + 0.5);
- const int logN = 3;
-
- int s1[N];
- std::copy(A, A + N, s1);
- VERIFY(std::equal(s1, s1 + N, A));
-
- for (int i = 2; i <= N; ++i) {
- std::push_heap(s1, s1 + i, gt);
-#ifndef _GLIBCXX_DEBUG
- VERIFY(gt.count() <= logN);
-#endif
- gt.reset();
+ const int logN = 3;
+
+ int s1[N];
+ std::copy(A, A + N, s1);
+ VERIFY(std::equal(s1, s1 + N, A));
+
+ for (int i = 2; i <= N; ++i)
+ {
+ std::push_heap(s1, s1 + i, gt);
+ VERIFY(gt.count() <= logN);
+ gt.reset();
}
- for (int i = N; i >= 2; --i) {
- std::pop_heap(s1, s1 + i, gt);
-#ifndef _GLIBCXX_DEBUG
- VERIFY(gt.count() <= 2 * logN);
-#endif
- gt.reset();
+ for (int i = N; i >= 2; --i)
+ {
+ std::pop_heap(s1, s1 + i, gt);
+ VERIFY(gt.count() <= 2 * logN);
+ gt.reset();
}
- VERIFY(std::equal(s1, s1 + N, C));
-
- // sort array s2 using make_heap/sort_heap
- int s2[N];
- std::copy(A, A + N, s2);
- VERIFY(std::equal(s2, s2 + N, A));
-
- std::make_heap(s2, s2 + N, gt);
-#ifndef _GLIBCXX_DEBUG
- VERIFY(gt.count() <= 3 * N);
-#endif
- gt.reset();
-
- std::sort_heap(s2, s2 + N, gt);
-#ifndef _GLIBCXX_DEBUG
- VERIFY(gt.count() <= N * logN);
-#endif
-
- VERIFY(std::equal(s2, s2 + N, C));
+ VERIFY(std::equal(s1, s1 + N, C));
+
+ // sort array s2 using make_heap/sort_heap
+ int s2[N];
+ std::copy(A, A + N, s2);
+ VERIFY(std::equal(s2, s2 + N, A));
+
+ std::make_heap(s2, s2 + N, gt);
+ VERIFY(gt.count() <= 3 * N);
+ gt.reset();
+
+ std::sort_heap(s2, s2 + N, gt);
+ VERIFY(gt.count() <= N * logN);
+
+ VERIFY(std::equal(s2, s2 + N, C));
}
int
@@ -135,6 +128,5 @@ main()
{
test01();
test02();
-
return 0;
}
diff --git a/libstdc++-v3/testsuite/25_algorithms/iter_swap/20577.cc b/libstdc++-v3/testsuite/25_algorithms/iter_swap/20577.cc
index e21f512d784..01d9628edb8 100644
--- a/libstdc++-v3/testsuite/25_algorithms/iter_swap/20577.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/iter_swap/20577.cc
@@ -47,7 +47,7 @@ test2()
int int_swap_count;
struct X {};
-void swap(X& i, X& j)
+void swap(X&, X&)
{ ++int_swap_count; }
void
diff --git a/libstdc++-v3/testsuite/25_algorithms/replace_copy/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/replace_copy/check_type.cc
index fbaa5ec4d54..efdc14796cd 100644
--- a/libstdc++-v3/testsuite/25_algorithms/replace_copy/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/replace_copy/check_type.cc
@@ -34,11 +34,11 @@ struct Z
{
Z&
operator=(const X&)
- { }
+ { return *this; }
Z&
operator=(const Y&)
- { }
+ { return *this; }
};
bool
diff --git a/libstdc++-v3/testsuite/25_algorithms/replace_copy_if/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/replace_copy_if/check_type.cc
index 6191abb0ee3..f95e2b9c8b1 100644
--- a/libstdc++-v3/testsuite/25_algorithms/replace_copy_if/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/replace_copy_if/check_type.cc
@@ -34,11 +34,11 @@ struct Z
{
Z&
operator=(const X&)
- { }
+ { return *this; }
Z&
operator=(const Y&)
- { }
+ { return *this; }
};
bool
diff --git a/libstdc++-v3/testsuite/25_algorithms/unique_copy/check_type.cc b/libstdc++-v3/testsuite/25_algorithms/unique_copy/check_type.cc
index 5433b77d118..1fe11b18940 100644
--- a/libstdc++-v3/testsuite/25_algorithms/unique_copy/check_type.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/unique_copy/check_type.cc
@@ -30,7 +30,7 @@ struct S1 { };
struct S2
{
- S2(const S1& s1) {}
+ S2(const S1&) {}
};
bool
@@ -40,7 +40,7 @@ struct X1 { };
struct X2
{
- X2(const X1& x1) {}
+ X2(const X1&) {}
};
bool
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/valarray_subset_assignment.cc b/libstdc++-v3/testsuite/26_numerics/valarray/valarray_subset_assignment.cc
index d5f0fa27a87..4ce22afb31a 100644
--- a/libstdc++-v3/testsuite/26_numerics/valarray/valarray_subset_assignment.cc
+++ b/libstdc++-v3/testsuite/26_numerics/valarray/valarray_subset_assignment.cc
@@ -35,14 +35,13 @@
bool check_array(std::valarray<double>& a, double b[])
{
- for (int i=0; i < a.size(); i++)
+ for (unsigned int i=0; i < a.size(); i++)
if (a[i] != b[i]) return false;
return true;
}
int main()
{
- double dvar = 1.0;
std::valarray<double> val_d(10); // 0 1 2 3 4 5 6 7 8 9
std::valarray<double> val_d1(10); // 10 9 8 7 6 5 4 3 2 1
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/2.cc
index 3af0a735c90..f96e041ecbb 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/2.cc
@@ -43,7 +43,7 @@ const char name_02[] = "filebuf_virtuals-2.txt"; // empty file, need to create
void test_02()
{
bool test __attribute__((unused)) = true;
- int close_num;
+ int close_num = 0;
// read (ext)
FILE* f2 = fopen(name_01, "r");
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/12206.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/12206.cc
index 44c51b978e1..721e0333840 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/12206.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/12206.cc
@@ -65,21 +65,21 @@ namespace std
static locale::id id;
protected:
- virtual result do_out(mbstate_t&, const Char* from,
- const Char* from_end,
- const Char*& from_next, char* to,
- char* to_limit, char*& to_next) const
+ virtual result do_out(mbstate_t&, const Char*,
+ const Char*,
+ const Char*&, char*,
+ char*, char*&) const
{ return ok; }
- virtual result do_in(mbstate_t&, const char* from,
- const char* from_end,
- const char*& from_next, Char* to,
- Char* to_limit, Char*& to_next) const
+ virtual result do_in(mbstate_t&, const char*,
+ const char*,
+ const char*&, Char*,
+ Char*, Char*&) const
{ return ok; }
- virtual result do_unshift(mbstate_t&, char* to, char*,
- char*& to_next) const
+ virtual result do_unshift(mbstate_t&, char*, char*,
+ char*&) const
{ return noconv; }
- virtual int do_length(mbstate_t&, const char* from,
- const char* from_end, size_t max) const
+ virtual int do_length(mbstate_t&, const char*,
+ const char*, size_t) const
{ return 1; }
virtual int do_encoding() const throw()
{ return 1; }
diff --git a/libstdc++-v3/testsuite/27_io/basic_ios/cons/char/3.cc b/libstdc++-v3/testsuite/27_io/basic_ios/cons/char/3.cc
index 90e76001a20..d55d6ad46c7 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ios/cons/char/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ios/cons/char/3.cc
@@ -100,11 +100,11 @@ namespace std
}
static char_type
- to_char_type(const int_type& __c)
+ to_char_type(const int_type&)
{ return char_type(); }
static int_type
- to_int_type(const char_type& __c) { return int_type(); }
+ to_int_type(const char_type&) { return int_type(); }
static bool
eq_int_type(const int_type& __c1, const int_type& __c2)
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/getline/char/5.cc b/libstdc++-v3/testsuite/27_io/basic_istream/getline/char/5.cc
index e2cb0b9d647..dccaa9f938b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/getline/char/5.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/getline/char/5.cc
@@ -49,7 +49,8 @@ void check(istream& stream, const string& str, unsigned nchunks, char delim)
while (stream.getline(buf, sizeof(buf), delim))
{
index_new = str.find(delim, index);
- VERIFY( stream.gcount() == index_new - index + 1 );
+ VERIFY( static_cast<string::size_type>(stream.gcount()) ==
+ index_new - index + 1 );
VERIFY( !str.compare(index, index_new - index, buf) );
index = index_new + 1;
++n;
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/5.cc b/libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/5.cc
index 3417b60699e..19cd94ff4a4 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/5.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/5.cc
@@ -51,7 +51,8 @@ check(wistream& stream, const wstring& str, unsigned nchunks, wchar_t delim)
while (stream.getline(buf, sizeof(buf) / sizeof(wchar_t), delim))
{
index_new = str.find(delim, index);
- VERIFY( stream.gcount() == index_new - index + 1 );
+ VERIFY( static_cast<string::size_type>(stream.gcount()) ==
+ index_new - index + 1 );
VERIFY( !str.compare(index, index_new - index, buf) );
index = index_new + 1;
++n;
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/2.cc
index b903b1b4304..1ed3a8435e3 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/2.cc
@@ -49,7 +49,8 @@ void check(istream& stream, const string& str, unsigned nchunks, char delim)
while (stream.ignore(numeric_limits<streamsize>::max(), delim).good())
{
index_new = str.find(delim, index);
- VERIFY( stream.gcount() == index_new - index + 1 );
+ VERIFY( static_cast<string::size_type>(stream.gcount()) ==
+ index_new - index + 1 );
index = index_new + 1;
++n;
}
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/2.cc
index 4b84af64d8e..0107f87dcef 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/2.cc
@@ -51,7 +51,8 @@ check(wistream& stream, const wstring& str, unsigned nchunks, wchar_t delim)
while (stream.ignore(numeric_limits<streamsize>::max(), delim).good())
{
index_new = str.find(delim, index);
- VERIFY( stream.gcount() == index_new - index + 1 );
+ VERIFY( static_cast<string::size_type>(stream.gcount()) ==
+ index_new - index + 1 );
index = index_new + 1;
++n;
}
diff --git a/libstdc++-v3/testsuite/27_io/basic_istringstream/str/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_istringstream/str/char/1.cc
index ced7600be9f..e062c0c637f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istringstream/str/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istringstream/str/char/1.cc
@@ -1,6 +1,7 @@
// 2000-01-10 bkoz
-// Copyright (C) 2000, 2001, 2003, 2004 Free Software Foundation, Inc.
+// Copyright (C) 2000, 2001, 2003, 2004, 2005, 2006
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -31,10 +32,9 @@ void test01()
const std::string str01 = "123";
std::string str02;
const int i01 = 123;
- int a,b;
+ int a = 0, b = 0;
- std::ios_base::iostate state1, state2, statefail, stateeof;
- statefail = std::ios_base::failbit;
+ std::ios_base::iostate state1, state2, stateeof;
stateeof = std::ios_base::eofbit;
// string str() const
diff --git a/libstdc++-v3/testsuite/27_io/basic_istringstream/str/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_istringstream/str/wchar_t/1.cc
index d0b90545da1..c231f1dd6d7 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istringstream/str/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istringstream/str/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -29,10 +29,9 @@ void test01()
const std::wstring str01 = L"123";
std::wstring str02;
const int i01 = 123;
- int a, b;
+ int a = 0, b = 0;
- std::ios_base::iostate state1, state2, statefail, stateeof;
- statefail = std::ios_base::failbit;
+ std::ios_base::iostate state1, state2, stateeof;
stateeof = std::ios_base::eofbit;
// string str() const
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/endl/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/endl/char/1.cc
index 2c547bda57e..8c14a5d47c7 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/endl/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/endl/char/1.cc
@@ -28,7 +28,6 @@ void test01(void)
{
bool test __attribute__((unused)) = true;
- const char str_lit01[] = " venice ";
const std::string str01(" santa barbara ");
std::string str04;
std::string str05;
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/endl/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/endl/wchar_t/1.cc
index d6de23b6835..2214a7216bb 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/endl/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/endl/wchar_t/1.cc
@@ -26,7 +26,6 @@ void test01(void)
{
bool test __attribute__((unused)) = true;
- const wchar_t str_lit01[] = L" venice ";
const std::wstring str01(L" santa barbara ");
std::wstring str04;
std::wstring str05;
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/ends/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/ends/char/1.cc
index ce64d6963ef..88ace74a7fa 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/ends/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/ends/char/1.cc
@@ -28,7 +28,6 @@ void test01(void)
{
bool test __attribute__((unused)) = true;
- const char str_lit01[] = " venice ";
const std::string str01(" santa barbara ");
std::string str04;
std::string str05;
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/ends/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/ends/wchar_t/1.cc
index 55eeb564553..babae552737 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/ends/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/ends/wchar_t/1.cc
@@ -26,7 +26,6 @@ void test01(void)
{
bool test __attribute__((unused)) = true;
- const wchar_t str_lit01[] = L" venice ";
const std::wstring str01(L" santa barbara ");
std::wstring str04;
std::wstring str05;
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/flush/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/flush/char/1.cc
index d73b2223ab2..5ca3a2cb953 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/flush/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/flush/char/1.cc
@@ -28,7 +28,6 @@ void test01(void)
{
bool test __attribute__((unused)) = true;
- const char str_lit01[] = " venice ";
const std::string str01(" santa barbara ");
std::string str04;
std::string str05;
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/flush/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/flush/wchar_t/1.cc
index 49551112aab..34847e5b54c 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/flush/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/flush/wchar_t/1.cc
@@ -26,7 +26,6 @@ void test01(void)
{
bool test __attribute__((unused)) = true;
- const wchar_t str_lit01[] = L" venice ";
const std::wstring str01(L" santa barbara ");
std::wstring str04;
std::wstring str05;
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/write/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/write/char/1.cc
index b91a09e78e5..7ac042e92c9 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/write/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/write/char/1.cc
@@ -42,8 +42,8 @@ protected:
void test01()
{
- bool test = true;
-
+ bool test __attribute__((unused)) = true;
+
Buf buf;
std::ostream os(&buf);
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/write/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/write/wchar_t/1.cc
index a7dc0539b15..c0d317e4e14 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/write/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/write/wchar_t/1.cc
@@ -40,8 +40,8 @@ protected:
void test01()
{
- bool test = true;
-
+ bool test __attribute__((unused)) = true;
+
Buf buf;
std::wostream os(&buf);
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/in_avail/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/in_avail/char/1.cc
index 38d310fdf8f..6ea710bab39 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/in_avail/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/in_avail/char/1.cc
@@ -39,7 +39,7 @@ void test05()
typedef size_t size_type;
bool test __attribute__((unused)) = true;
- std::streamoff strmof_1, strmof_2;
+ std::streamoff strmof_1;
testbuf sb01;
// int in_avail()
diff --git a/libstdc++-v3/testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc
index faf7e79b9db..d25c9c25e1c 100644
--- a/libstdc++-v3/testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc
@@ -39,7 +39,7 @@ void test05()
typedef size_t size_type;
bool test __attribute__((unused)) = true;
- std::streamoff strmof_1, strmof_2;
+ std::streamoff strmof_1;
testbuf sb01;
// int in_avail()
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringstream/str/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringstream/str/char/1.cc
index 37112cc8418..aaee938e67a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringstream/str/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringstream/str/char/1.cc
@@ -1,6 +1,7 @@
// 2001-05-24 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -31,7 +32,7 @@ void test01()
const std::string str01 = "123";
std::string str02;
const int i01 = 123;
- int a,b;
+ int a = 0, b = 0;
std::ios_base::iostate state1, state2, stateeof;
stateeof = std::ios_base::eofbit;
diff --git a/libstdc++-v3/testsuite/27_io/basic_stringstream/str/wchar_t/1.cc b/libstdc++-v3/testsuite/27_io/basic_stringstream/str/wchar_t/1.cc
index f5be647e71d..d56345b5141 100644
--- a/libstdc++-v3/testsuite/27_io/basic_stringstream/str/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_stringstream/str/wchar_t/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2004 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -29,7 +29,7 @@ void test01()
const std::wstring str01 = L"123";
std::wstring str02;
const int i01 = 123;
- int a,b;
+ int a = 0, b = 0;
std::ios_base::iostate state1, state2, stateeof;
stateeof = std::ios_base::eofbit;
diff --git a/libstdc++-v3/testsuite/27_io/ios_base/storage/11584.cc b/libstdc++-v3/testsuite/27_io/ios_base/storage/11584.cc
index a97f2f789cd..06eae990c80 100644
--- a/libstdc++-v3/testsuite/27_io/ios_base/storage/11584.cc
+++ b/libstdc++-v3/testsuite/27_io/ios_base/storage/11584.cc
@@ -1,6 +1,6 @@
// 2004-01-25 jlquinn@gcc.gnu.org
-// Copyright (C) 2004 Free Software Foundation
+// Copyright (C) 2004, 2005 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -42,21 +42,22 @@ void operator delete[] (void *p) throw() { operator delete(p); }
int main ()
{
bool test __attribute__((unused)) = true;
- const int i = std::ios::xalloc ();
+ const int i = std::ios::xalloc();
+ VERIFY( i >= 0 );
new_fails = 1;
// Successive accesses to failure storage clears to zero.
- std::cout.iword(100) = 0xdeadbeef;
- VERIFY(std::cout.iword(100) == 0);
+ std::cout.iword(100) = 69;
+ VERIFY( std::cout.iword(100) == 0 );
// Access to pword failure storage shouldn't clear iword pword storage.
long& lr = std::cout.iword(100);
- lr = 0xdeadbeef;
+ lr = 69;
void* pv = std::cout.pword(100);
- VERIFY(pv == 0);
- VERIFY(lr == 0xdeadbeef);
+ VERIFY( pv == 0 );
+ VERIFY( lr == 69 );
return 0;
}
diff --git a/libstdc++-v3/testsuite/27_io/types/1.cc b/libstdc++-v3/testsuite/27_io/types/1.cc
index 276c99c7fd3..59965c820ab 100644
--- a/libstdc++-v3/testsuite/27_io/types/1.cc
+++ b/libstdc++-v3/testsuite/27_io/types/1.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 2002, 2004 Free Software Foundation
+// Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -25,8 +25,8 @@
// Annex D, deprecated.
void test01()
{
- std::ios_base::streampos spos;
- std::ios_base::streamoff soff;
+ typedef std::ios_base::streampos streampos_type;
+ typedef std::ios_base::streamoff streamoff_type;
}
int main(void)
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/2.cc b/libstdc++-v3/testsuite/ext/array_allocator/2.cc
index c0057659974..1097c15974c 100644
--- a/libstdc++-v3/testsuite/ext/array_allocator/2.cc
+++ b/libstdc++-v3/testsuite/ext/array_allocator/2.cc
@@ -1,3 +1,6 @@
+// Expected execution error for PR19495.
+// { dg-do run { xfail powerpc*-*-linux* } }
+
// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/testsuite/ext/malloc_allocator/deallocate_global.cc b/libstdc++-v3/testsuite/ext/malloc_allocator/deallocate_global.cc
index 7e670f0c4cf..97604735f20 100644
--- a/libstdc++-v3/testsuite/ext/malloc_allocator/deallocate_global.cc
+++ b/libstdc++-v3/testsuite/ext/malloc_allocator/deallocate_global.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2004 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -57,7 +57,8 @@ void operator delete(void* p) throw()
if (count == 0)
printf("All memory released \n");
else
- printf("%u allocations to be released \n", count);
+ printf("%lu allocations to be released \n",
+ static_cast<unsigned long>(count));
free(p);
}
diff --git a/libstdc++-v3/testsuite/ext/malloc_allocator/deallocate_local.cc b/libstdc++-v3/testsuite/ext/malloc_allocator/deallocate_local.cc
index 175a833fbc5..aafffae9d70 100644
--- a/libstdc++-v3/testsuite/ext/malloc_allocator/deallocate_local.cc
+++ b/libstdc++-v3/testsuite/ext/malloc_allocator/deallocate_local.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2004 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -44,7 +44,8 @@ void operator delete(void* p) throw()
if (alloc_cnt == 0)
printf("All memory released \n");
else
- printf("%u allocations to be released \n", alloc_cnt);
+ printf("%lu allocations to be released \n",
+ static_cast<unsigned long>(alloc_cnt));
free(p);
}
diff --git a/libstdc++-v3/testsuite/ext/pool_allocator/allocate_chunk.cc b/libstdc++-v3/testsuite/ext/pool_allocator/allocate_chunk.cc
index 64afd99a3c1..1d72d5d604d 100644
--- a/libstdc++-v3/testsuite/ext/pool_allocator/allocate_chunk.cc
+++ b/libstdc++-v3/testsuite/ext/pool_allocator/allocate_chunk.cc
@@ -53,7 +53,7 @@ void test01()
// The constant 20 comes from __pool_alloc_base::_M_refill. See
// also __pool_alloc_base::_M_allocate_chunk.
__pool_alloc<small> alloc_small;
- for (int i = 0; i < 20 * sizeof(big) / sizeof(small) + 1; ++i)
+ for (unsigned int i = 0; i < 20 * sizeof(big) / sizeof(small) + 1; ++i)
alloc_small.allocate(1);
}
diff --git a/libstdc++-v3/testsuite/lib/libstdc++.exp b/libstdc++-v3/testsuite/lib/libstdc++.exp
index 0a76734d62b..f93dc6efc8f 100644
--- a/libstdc++-v3/testsuite/lib/libstdc++.exp
+++ b/libstdc++-v3/testsuite/lib/libstdc++.exp
@@ -82,7 +82,7 @@ proc libstdc++_init { testfile } {
global env
global v3-sharedlib
global srcdir blddir objdir tool_root_dir
- global cxx cxxflags
+ global cxx cxxflags cxxldflags
global includes
global gluefile wrap_flags
global ld_library_path
@@ -179,17 +179,20 @@ proc libstdc++_init { testfile } {
}
set cxx [transform "g++"]
set cxxflags "-ggdb3"
+ set cxxldflags ""
set includes "-I./"
} else {
# If we find a testsuite_flags file, we're testing in the build dir.
if { [file exists $flags_file] } {
set cxx [exec sh $flags_file --build-cxx]
set cxxflags [exec sh $flags_file --cxxflags]
+ set cxxldflags [exec sh $flags_file --cxxldflags]
set includes [exec sh $flags_file --build-includes]
} else {
set cxx [transform "g++"]
- set cxxflags "-g -O2 -D_GLIBCXX_ASSERT -fmessage-length=0"
set includes "-I${srcdir}"
+ set cxxldflags ""
+ set cxxflags "-g -O2 -D_GLIBCXX_ASSERT -fmessage-length=0"
# Guess at the location of the installed locale files.
# (It would be nice if "gcc --print-file-name" could find
# message files, but it cannot.)
@@ -321,6 +324,7 @@ proc v3_target_compile { source dest type options } {
global wrap_flags
global cxx
global cxxflags
+ global cxxldflags
global includes
global blddir
global v3-test_objs
@@ -340,6 +344,7 @@ proc v3_target_compile { source dest type options } {
if { $type == "executable" } {
# Link the support objects into executables.
set cxx_final [concat $cxx_final ${v3-test_objs}]
+ set cxx_final [concat $cxx_final $cxxldflags]
} else {
if { $type == "sharedlib" } {
# Don't link in anything.
diff --git a/libstdc++-v3/testsuite/testsuite_allocator.h b/libstdc++-v3/testsuite/testsuite_allocator.h
index dc8f4b17c5a..c1c2e2d7187 100644
--- a/libstdc++-v3/testsuite/testsuite_allocator.h
+++ b/libstdc++-v3/testsuite/testsuite_allocator.h
@@ -1,7 +1,7 @@
// -*- C++ -*-
// Testing allocator for the C++ library testsuite.
//
-// Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -186,7 +186,7 @@ namespace __gnu_test
check_new(Alloc a = Alloc())
{
bool test __attribute__((unused)) = true;
- typename Alloc::pointer p = a.allocate(10);
+ a.allocate(10);
test &= ( new_called == uses_global_new );
return test;
}
@@ -203,13 +203,14 @@ namespace __gnu_test
}
template<typename Alloc>
- bool
+ bool
check_deallocate_null()
{
// Let's not core here...
Alloc a;
a.deallocate(NULL, 1);
a.deallocate(NULL, 10);
+ return true;
}
template<typename Alloc>
diff --git a/libstdc++-v3/testsuite/testsuite_character.h b/libstdc++-v3/testsuite/testsuite_character.h
index c43db15e4c3..a9e4847105b 100644
--- a/libstdc++-v3/testsuite/testsuite_character.h
+++ b/libstdc++-v3/testsuite/testsuite_character.h
@@ -323,7 +323,7 @@ namespace std
{ }
virtual bool
- do_is(mask m, char_type c) const
+ do_is(mask, char_type) const
{ return false; }
virtual const char_type*
@@ -334,11 +334,11 @@ namespace std
}
virtual const char_type*
- do_scan_is(mask m, const char_type* low, const char_type* high) const
+ do_scan_is(mask, const char_type*, const char_type* high) const
{ return high; }
virtual const char_type*
- do_scan_not(mask m, const char_type* low, const char_type* high) const
+ do_scan_not(mask, const char_type* low, const char_type*) const
{ return low; }
virtual char_type
@@ -346,7 +346,7 @@ namespace std
{ return c; }
virtual const char_type*
- do_toupper(char_type* low, const char_type* high) const
+ do_toupper(char_type*, const char_type* high) const
{ return high; }
virtual char_type
@@ -354,7 +354,7 @@ namespace std
{ return c; }
virtual const char_type*
- do_tolower(char_type* low, const char_type* high) const
+ do_tolower(char_type*, const char_type* high) const
{ return high; }
virtual char_type
diff --git a/libstdc++-v3/testsuite/testsuite_hooks.cc b/libstdc++-v3/testsuite/testsuite_hooks.cc
index 8d3d5309e27..40189fbf5d4 100644
--- a/libstdc++-v3/testsuite/testsuite_hooks.cc
+++ b/libstdc++-v3/testsuite/testsuite_hooks.cc
@@ -2,7 +2,7 @@
// Utility subroutines for the C++ library testsuite.
//
-// Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+// Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -302,4 +302,22 @@ namespace __gnu_test
std::__throw_runtime_error("could not wait for semaphore");
#endif
}
+
+ // For use in 22_locale/time_get and time_put.
+ tm
+ test_tm(int sec, int min, int hour, int mday, int mon,
+ int year, int wday, int yday, int isdst)
+ {
+ static tm tmp;
+ tmp.tm_sec = sec;
+ tmp.tm_min = min;
+ tmp.tm_hour = hour;
+ tmp.tm_mday = mday;
+ tmp.tm_mon = mon;
+ tmp.tm_year = year;
+ tmp.tm_wday = wday;
+ tmp.tm_yday = yday;
+ tmp.tm_isdst = isdst;
+ return tmp;
+ }
}; // namespace __gnu_test
diff --git a/libstdc++-v3/testsuite/testsuite_hooks.h b/libstdc++-v3/testsuite/testsuite_hooks.h
index bf8ebf78e3d..68c5b514c0c 100644
--- a/libstdc++-v3/testsuite/testsuite_hooks.h
+++ b/libstdc++-v3/testsuite/testsuite_hooks.h
@@ -1,7 +1,7 @@
// -*- C++ -*-
// Utility subroutines for the C++ library testsuite.
//
-// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005
+// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -104,10 +104,9 @@ namespace __gnu_test
// bitmask_operators
template<typename bitmask_type>
void
- bitmask_operators()
+ bitmask_operators(bitmask_type a = bitmask_type(),
+ bitmask_type b = bitmask_type())
{
- bitmask_type a;
- bitmask_type b;
a | b;
a & b;
a ^ b;
@@ -167,13 +166,13 @@ namespace __gnu_test
};
inline bool
- operator==(const NonDefaultConstructible& lhs,
- const NonDefaultConstructible& rhs)
+ operator==(const NonDefaultConstructible&,
+ const NonDefaultConstructible&)
{ return false; }
inline bool
- operator<(const NonDefaultConstructible& lhs,
- const NonDefaultConstructible& rhs)
+ operator<(const NonDefaultConstructible&,
+ const NonDefaultConstructible&)
{ return false; }
@@ -385,6 +384,11 @@ namespace __gnu_test
pid_t pid_;
};
+
+ // For use in 22_locale/time_get and time_put.
+ tm test_tm(int sec, int min, int hour, int mday, int mon,
+ int year, int wday, int yday, int isdst);
+
} // namespace __gnu_test
#endif // _GLIBCXX_TESTSUITE_HOOKS_H
diff --git a/libstdc++-v3/testsuite/testsuite_io.h b/libstdc++-v3/testsuite/testsuite_io.h
index fe8827ca164..e6f1c03d622 100644
--- a/libstdc++-v3/testsuite/testsuite_io.h
+++ b/libstdc++-v3/testsuite/testsuite_io.h
@@ -214,7 +214,7 @@ namespace __gnu_test
protected:
iter_type
- do_get(iter_type a, iter_type, ios_base&, ios_base::iostate&, bool&) const
+ do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, bool&) const
{ throw facet_error(); return iter_type(); }
virtual iter_type
@@ -222,49 +222,49 @@ namespace __gnu_test
{ throw facet_error(); return iter_type(); }
virtual iter_type
- do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
+ do_get(iter_type, iter_type, ios_base&, ios_base::iostate&,
unsigned short&) const
{ throw facet_error(); return iter_type(); }
virtual iter_type
- do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
+ do_get(iter_type, iter_type, ios_base&, ios_base::iostate&,
unsigned int&) const
{ throw facet_error(); return iter_type(); }
virtual iter_type
- do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
+ do_get(iter_type, iter_type, ios_base&, ios_base::iostate&,
unsigned long&) const
{ throw facet_error(); return iter_type(); }
#ifdef _GLIBCXX_USE_LONG_LONG
virtual iter_type
- do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
+ do_get(iter_type, iter_type, ios_base&, ios_base::iostate&,
long long&) const
{ throw facet_error(); return iter_type(); }
virtual iter_type
- do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
+ do_get(iter_type, iter_type, ios_base&, ios_base::iostate&,
unsigned long long&) const
{ throw facet_error(); return iter_type(); }
#endif
virtual iter_type
- do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
+ do_get(iter_type, iter_type, ios_base&, ios_base::iostate&,
float&) const
{ throw facet_error(); return iter_type(); }
virtual iter_type
- do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
+ do_get(iter_type, iter_type, ios_base&, ios_base::iostate&,
double&) const
{ throw facet_error(); return iter_type(); }
virtual iter_type
- do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
+ do_get(iter_type, iter_type, ios_base&, ios_base::iostate&,
long double&) const
{ throw facet_error(); return iter_type(); }
virtual iter_type
- do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
+ do_get(iter_type, iter_type, ios_base&, ios_base::iostate&,
void*&) const
{ throw facet_error(); return iter_type(); }
};
@@ -284,37 +284,37 @@ namespace __gnu_test
protected:
iter_type
- do_put(iter_type, ios_base&, char_type __fill, bool __v) const
+ do_put(iter_type, ios_base&, char_type, bool) const
{ throw facet_error(); return iter_type(NULL); }
virtual iter_type
- do_put(iter_type, ios_base&, char_type __fill, long __v) const
+ do_put(iter_type, ios_base&, char_type, long) const
{ throw facet_error(); return iter_type(NULL); }
virtual iter_type
- do_put(iter_type, ios_base&, char_type __fill, unsigned long) const
+ do_put(iter_type, ios_base&, char_type, unsigned long) const
{ throw facet_error(); return iter_type(NULL); }
#ifdef _GLIBCXX_USE_LONG_LONG
virtual iter_type
- do_put(iter_type, ios_base&, char_type __fill, long long __v) const
+ do_put(iter_type, ios_base&, char_type, long long) const
{ throw facet_error(); return iter_type(NULL); }
virtual iter_type
- do_put(iter_type, ios_base&, char_type __fill, unsigned long long) const
+ do_put(iter_type, ios_base&, char_type, unsigned long long) const
{ throw facet_error(); return iter_type(NULL); }
#endif
virtual iter_type
- do_put(iter_type, ios_base&, char_type __fill, double __v) const
+ do_put(iter_type, ios_base&, char_type, double) const
{ throw facet_error(); return iter_type(NULL); }
virtual iter_type
- do_put(iter_type, ios_base&, char_type __fill, long double __v) const
+ do_put(iter_type, ios_base&, char_type, long double) const
{ throw facet_error(); return iter_type(NULL); }
virtual iter_type
- do_put(iter_type, ios_base&, char_type __fill, const void* __v) const
+ do_put(iter_type, ios_base&, char_type, const void*) const
{ throw facet_error(); return iter_type(NULL); }
};
diff --git a/libstdc++-v3/testsuite/testsuite_iterators.h b/libstdc++-v3/testsuite/testsuite_iterators.h
index ef8bff4a3a6..7119783c93b 100644
--- a/libstdc++-v3/testsuite/testsuite_iterators.h
+++ b/libstdc++-v3/testsuite/testsuite_iterators.h
@@ -144,6 +144,7 @@ namespace __gnu_test
{
ptr = in.ptr;
SharedInfo = in.SharedInfo;
+ return *this;
}
output_iterator_wrapper&
@@ -394,6 +395,7 @@ namespace __gnu_test
{
this->ptr = in.ptr;
this->SharedInfo = in.SharedInfo;
+ return *this;
}
random_access_iterator_wrapper&
diff --git a/libstdc++-v3/testsuite/testsuite_tr1.h b/libstdc++-v3/testsuite/testsuite_tr1.h
index e925c84199d..7d5677f85ef 100644
--- a/libstdc++-v3/testsuite/testsuite_tr1.h
+++ b/libstdc++-v3/testsuite/testsuite_tr1.h
@@ -1,7 +1,7 @@
// -*- C++ -*-
// Testing utilities for the tr1 testsuite.
//
-// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -31,6 +31,8 @@
#ifndef _GLIBCXX_TESTSUITE_TR1_H
#define _GLIBCXX_TESTSUITE_TR1_H
+#include <bits/cpp_type_traits.h>
+
namespace __gnu_test
{
// For tr1/type_traits.
@@ -164,6 +166,13 @@ namespace __gnu_test
int foo_v() volatile { return 3; }
int foo_cv() const volatile { return 4; }
};
+
+ // For use in 8_c_compatibility.
+ template<typename R, typename T>
+ typename std::__enable_if<bool, std::__are_same<R, T>::__value>::__type
+ check_ret_type(T)
+ { return true; }
+
} // namespace __gnu_test
#endif // _GLIBCXX_TESTSUITE_TR1_H
diff --git a/libstdc++-v3/testsuite/thread/18185.cc b/libstdc++-v3/testsuite/thread/18185.cc
index 9c2d4adc9d2..4ec6a6d0b3b 100644
--- a/libstdc++-v3/testsuite/thread/18185.cc
+++ b/libstdc++-v3/testsuite/thread/18185.cc
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2004 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -25,8 +25,8 @@
#include <string>
#include <pthread.h>
-static void *
-foo (void *p)
+static void*
+foo (void*)
{
typedef std::char_traits<char> traits_type;
typedef __gnu_cxx::new_allocator<char> allocator_type;
@@ -47,7 +47,7 @@ int
main ()
{
pthread_t t;
- int j = pthread_create (&t, 0, foo, 0);
- int i = pthread_join (t, 0);
+ pthread_create (&t, 0, foo, 0);
+ pthread_join (t, 0);
return 0;
}
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/assign.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/assign.cc
index 17181e58a56..93f90ce57ea 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/assign.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/assign.cc
@@ -44,7 +44,7 @@ struct reset_count_struct
// 2.2.3.3 shared_ptr assignment [tr.util.smartptr.shared.assign]
// Assignment from shared_ptr<Y>
-int
+void
test01()
{
reset_count_struct __attribute__((unused)) reset;
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/shared_ptr.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/shared_ptr.cc
index 90765aa5d2c..90ab7eec03f 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/shared_ptr.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/shared_ptr.cc
@@ -57,7 +57,7 @@ struct reset_count_struct
// 2.2.3.3 shared_ptr assignment [tr.util.smartptr.shared.assign]
// Assignment from shared_ptr<Y>
-int
+void
test01()
{
reset_count_struct __attribute__((unused)) reset;
diff --git a/libstdc++-v3/testsuite/tr1/3_function_objects/mem_fn.cc b/libstdc++-v3/testsuite/tr1/3_function_objects/mem_fn.cc
index 74caeef88ab..2f780c1a994 100644
--- a/libstdc++-v3/testsuite/tr1/3_function_objects/mem_fn.cc
+++ b/libstdc++-v3/testsuite/tr1/3_function_objects/mem_fn.cc
@@ -39,7 +39,7 @@ struct dumb_ptr
};
// Test mem_fn with a data member
-void test01()
+void test01(int r = 0)
{
using std::tr1::mem_fn;
@@ -69,6 +69,9 @@ void test01()
const int& bypc = mem_fn(&X::bar)(ypc);
const int& byd = mem_fn(&X::bar)(yd);
const int& bydc = mem_fn(&X::bar)(ydc);
+
+ // Avoid unused variable warnings.
+ r = bx + bxc + bxp + bxpc + bxd + bxdc + by + byc + byp + bypc + byd + bydc;
}
int main()
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/array/cons/aggregate_initialization.cc b/libstdc++-v3/testsuite/tr1/6_containers/array/cons/aggregate_initialization.cc
index a6ebca06691..1c6c8edd670 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/array/cons/aggregate_initialization.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/array/cons/aggregate_initialization.cc
@@ -2,7 +2,7 @@
// 2004-10-20 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2004 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -31,6 +31,8 @@ test01()
array_type a = { 0, 1, 2, 3, 4 };
array_type b = { 0, 1, 2, 3 };
+
+ a = b;
}
int main()
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc b/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc
index 47252457859..75b3e97720e 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc
@@ -1,6 +1,6 @@
// 2004-10-20 Benjamin Kosnik <bkoz@redhat.com>
//
-// Copyright (C) 2004 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -38,6 +38,7 @@ test01()
// 3
// begin() == end()
+ VERIFY( a.begin() == a.end() );
VERIFY( b.begin() == b.end() );
// 4: ?
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multiset_range.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multiset_range.cc
index ab543e481bd..a83fce3cd61 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multiset_range.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multiset_range.cc
@@ -27,7 +27,7 @@
#include <iterator>
#include <algorithm>
#include <tr1/unordered_set>
-#include "testsuite_hooks.h"
+#include <testsuite_hooks.h>
bool test __attribute__((unused)) = true;
@@ -42,7 +42,7 @@ void test01()
"magenta", "yellow", "orange", "pink", "gray" };
s.insert(A+0, A+N);
- VERIFY(s.size() == N);
+ VERIFY(s.size() == static_cast<unsigned int>(N));
VERIFY(std::distance(s.begin(), s.end()) == N);
for (int i = 0; i < N; ++i) {
@@ -62,7 +62,7 @@ void test02()
const int A[N] = { 3, 7, 4, 8, 2, 4, 6, 7 };
s.insert(A+0, A+N);
- VERIFY(s.size() == N);
+ VERIFY(s.size() == static_cast<unsigned int>(N));
VERIFY(std::distance(s.begin(), s.end()) == N);
VERIFY(std::count(s.begin(), s.end(), 2) == 1);
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/set_range.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/set_range.cc
index 24f973846b1..bfa4f73b1b2 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/set_range.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/set_range.cc
@@ -27,7 +27,7 @@
#include <iterator>
#include <algorithm>
#include <tr1/unordered_set>
-#include "testsuite_hooks.h"
+#include <testsuite_hooks.h>
bool test __attribute__((unused)) = true;
@@ -42,7 +42,7 @@ void test01()
"magenta", "yellow", "orange", "pink", "gray" };
s.insert(A+0, A+N);
- VERIFY(s.size() == N);
+ VERIFY(s.size() == static_cast<unsigned int>(N));
VERIFY(std::distance(s.begin(), s.end()) == N);
for (int i = 0; i < N; ++i) {
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/hash.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/hash.cc
index da4515160a5..382d69f715c 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/hash.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/hash.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// 2005-2-17 Matt Austern <austern@apple.com>
+// 2005-02-17 Matt Austern <austern@apple.com>
//
// Copyright (C) 2005 Free Software Foundation, Inc.
//
@@ -25,30 +25,27 @@
#include <string>
#include <tr1/functional>
-int main()
-{
- using namespace std::tr1;
+using namespace std::tr1;
- // Verify that we can instantiate hash for every required type.
-
- hash<bool> hb;
- hash<char> hc;
- hash<signed char> hsc;
- hash<unsigned char> huc;
- hash<short> hs;
- hash<int> hi;
- hash<long> hl;
- hash<unsigned short> hus;
- hash<unsigned int> hui;
- hash<unsigned long> hul;
- hash<float> hf;
- hash<double> hd;
- hash<long double> hld;
- hash<void*> hp;
- hash<std::string> hstr;
+// Verify that we can instantiate hash for every required type.
+template class hash<bool>;
+template class hash<char>;
+template class hash<signed char>;
+template class hash<unsigned char>;
+template class hash<short>;
+template class hash<int>;
+template class hash<long>;
+template class hash<unsigned short>;
+template class hash<unsigned int>;
+template class hash<unsigned long>;
+template class hash<float>;
+template class hash<double>;
+template class hash<long double>;
+template class hash<void*>;
+template class hash<std::string>;
#ifdef _GLIBCXX_USE_WCHAR_T
- hash<wchar_t> hw;
- hash<std::wstring> hwstr;
+template class hash<wchar_t>;
+template class hash<std::wstring>;
#endif
-}
+
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/map.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/map.cc
index adb2913c9a3..cb1cf2fc98e 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/map.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/map.cc
@@ -1,8 +1,8 @@
// { dg-do compile }
-// 2005-2-17 Matt Austern <austern@apple.com>
+// 2005-02-17 Matt Austern <austern@apple.com>
//
-// Copyright (C) 2004 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -25,13 +25,10 @@
#include <string>
#include <tr1/unordered_map>
-int main()
-{
- using namespace std;
- using namespace std::tr1;
+using namespace std;
+using namespace std::tr1;
- unordered_map<string, float> m1;
- unordered_map<string, float,
- hash<string>, equal_to<string>,
- allocator<pair<const string, float> >, true> s2;
-}
+template class unordered_map<string, float>;
+template class unordered_map<string, float,
+ hash<string>, equal_to<string>,
+ allocator<pair<const string, float> >, true>;
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/multimap.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/multimap.cc
index 9225d7974e9..73282612951 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/multimap.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/multimap.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// 2005-2-17 Matt Austern <austern@apple.com>
+// 2005-02-17 Matt Austern <austern@apple.com>
//
// Copyright (C) 2005 Free Software Foundation, Inc.
//
@@ -25,13 +25,10 @@
#include <string>
#include <tr1/unordered_map>
-int main()
-{
- using namespace std;
- using namespace std::tr1;
+using namespace std;
+using namespace std::tr1;
- unordered_multimap<string, float> m1;
- unordered_multimap<string, float,
- hash<string>, equal_to<string>,
- allocator<pair<const string, float> >, true> s2;
-}
+template class unordered_multimap<string, float>;
+template class unordered_multimap<string, float,
+ hash<string>, equal_to<string>,
+ allocator<pair<const string, float> >, true>;
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/multiset.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/multiset.cc
index ce138c340bb..e022e8bd856 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/multiset.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/multiset.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// 2005-2-17 Matt Austern <austern@apple.com>
+// 2005-02-17 Matt Austern <austern@apple.com>
//
// Copyright (C) 2005 Free Software Foundation, Inc.
//
@@ -24,11 +24,9 @@
#include <tr1/unordered_set>
-int main()
-{
- using namespace std;
- using namespace std::tr1;
+using namespace std;
+using namespace std::tr1;
- unordered_multiset<int> s1;
- unordered_multiset<int, hash<int>, equal_to<int>, allocator<int>, true> s2;
-}
+template class unordered_multiset<int>;
+template class unordered_multiset<int, hash<int>, equal_to<int>,
+ allocator<int>, true>;
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/set.cc b/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/set.cc
index 32bde7165f5..9bb892eccd6 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/set.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/set.cc
@@ -1,6 +1,6 @@
// { dg-do compile }
-// 2005-2-17 Matt Austern <austern@apple.com>
+// 2005-02-17 Matt Austern <austern@apple.com>
//
// Copyright (C) 2005 Free Software Foundation, Inc.
//
@@ -24,11 +24,9 @@
#include <tr1/unordered_set>
-int main()
-{
- using namespace std;
- using namespace std::tr1;
+using namespace std;
+using namespace std::tr1;
- unordered_set<int> s1;
- unordered_set<int, hash<int>, equal_to<int>, allocator<int>, true> s2;
-}
+template class unordered_set<int>;
+template class unordered_set<int, hash<int>, equal_to<int>,
+ allocator<int>, true>;
diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/functions.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/functions.cc
new file mode 100644
index 00000000000..1fdd10848e3
--- /dev/null
+++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/functions.cc
@@ -0,0 +1,54 @@
+// 2006-01-10 Paolo Carlini <pcarlini@suse.de>
+//
+// Copyright (C) 2006 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 8.1 Additions to header <complex>
+
+#include <tr1/complex>
+
+template<typename T>
+ void test01_do()
+ {
+ using namespace std::tr1;
+ typedef std::complex<T> cmplx_type;
+
+ cmplx_type ans;
+
+ ans = acos(cmplx_type(1.0, 1.0));
+ ans = asin(cmplx_type(1.0, 1.0));
+ ans = atan(cmplx_type(1.0, 1.0));
+
+ ans = acosh(cmplx_type(1.0, 1.0));
+ ans = asinh(cmplx_type(1.0, 1.0));
+ ans = atanh(cmplx_type(1.0, 1.0));
+ ans = fabs(cmplx_type(1.0, 1.0));
+ }
+
+void test01()
+{
+ test01_do<float>();
+ test01_do<double>();
+ test01_do<long double>();
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/overloads_float.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/overloads_float.cc
new file mode 100644
index 00000000000..d03075a6a4b
--- /dev/null
+++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/overloads_float.cc
@@ -0,0 +1,109 @@
+// 2006-01-12 Paolo Carlini <pcarlini@suse.de>
+//
+// Copyright (C) 2006 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 8.1 Additions to header <complex>
+
+#include <tr1/complex>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+ using namespace std::tr1;
+ using namespace __gnu_test;
+
+ typedef std::complex<float> cmplx_f_type;
+ typedef std::complex<double> cmplx_d_type;
+ typedef std::complex<long double> cmplx_ld_type;
+
+ const float f1 = 1.0f;
+ const double d1 = 1.0;
+ const long double ld1 = 1.0l;
+
+ const cmplx_f_type c_f1(f1, f1);
+ const cmplx_d_type c_d1(d1, d1);
+ const cmplx_ld_type c_ld1(ld1, ld1);
+
+ check_ret_type<float>(arg(f1));
+ check_ret_type<double>(arg(d1));
+ check_ret_type<long double>(arg(ld1));
+
+ check_ret_type<cmplx_f_type>(conj(f1));
+ check_ret_type<cmplx_d_type>(conj(d1));
+ check_ret_type<cmplx_ld_type>(conj(ld1));
+
+ check_ret_type<float>(imag(f1));
+ check_ret_type<double>(imag(d1));
+ check_ret_type<long double>(imag(ld1));
+
+ check_ret_type<float>(norm(f1));
+ check_ret_type<double>(norm(d1));
+ check_ret_type<long double>(norm(ld1));
+
+ check_ret_type<cmplx_f_type>(polar(f1, f1));
+ check_ret_type<cmplx_d_type>(polar(d1, f1));
+ check_ret_type<cmplx_d_type>(polar(f1, d1));
+ check_ret_type<cmplx_d_type>(polar(d1, d1));
+ check_ret_type<cmplx_ld_type>(polar(ld1, d1));
+ check_ret_type<cmplx_ld_type>(polar(d1, ld1));
+ check_ret_type<cmplx_ld_type>(polar(ld1, f1));
+ check_ret_type<cmplx_ld_type>(polar(f1, ld1));
+ check_ret_type<cmplx_ld_type>(polar(ld1, ld1));
+
+ check_ret_type<cmplx_f_type>(pow(c_f1, f1));
+ check_ret_type<cmplx_d_type>(pow(c_d1, f1));
+ check_ret_type<cmplx_d_type>(pow(c_f1, d1));
+ check_ret_type<cmplx_d_type>(pow(c_d1, d1));
+ check_ret_type<cmplx_ld_type>(pow(c_ld1, d1));
+ check_ret_type<cmplx_ld_type>(pow(c_d1, ld1));
+ check_ret_type<cmplx_ld_type>(pow(c_ld1, f1));
+ check_ret_type<cmplx_ld_type>(pow(c_f1, ld1));
+ check_ret_type<cmplx_ld_type>(pow(c_ld1, ld1));
+
+ check_ret_type<cmplx_f_type>(pow(f1, c_f1));
+ check_ret_type<cmplx_d_type>(pow(d1, c_f1));
+ check_ret_type<cmplx_d_type>(pow(f1, c_d1));
+ check_ret_type<cmplx_d_type>(pow(d1, c_d1));
+ check_ret_type<cmplx_ld_type>(pow(ld1, c_d1));
+ check_ret_type<cmplx_ld_type>(pow(d1, c_ld1));
+ check_ret_type<cmplx_ld_type>(pow(ld1, c_f1));
+ check_ret_type<cmplx_ld_type>(pow(f1, c_ld1));
+ check_ret_type<cmplx_ld_type>(pow(ld1, c_ld1));
+
+ check_ret_type<cmplx_f_type>(pow(c_f1, c_f1));
+ check_ret_type<cmplx_d_type>(pow(c_d1, c_f1));
+ check_ret_type<cmplx_d_type>(pow(c_f1, c_d1));
+ check_ret_type<cmplx_d_type>(pow(c_d1, c_d1));
+ check_ret_type<cmplx_ld_type>(pow(c_ld1, c_d1));
+ check_ret_type<cmplx_ld_type>(pow(c_d1, c_ld1));
+ check_ret_type<cmplx_ld_type>(pow(c_ld1, c_f1));
+ check_ret_type<cmplx_ld_type>(pow(c_f1, c_ld1));
+ check_ret_type<cmplx_ld_type>(pow(c_ld1, c_ld1));
+
+ check_ret_type<float>(real(f1));
+ check_ret_type<double>(real(d1));
+ check_ret_type<long double>(real(ld1));
+}
+
+int main()
+{
+ test01();
+ return 0;
+}
diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/overloads_int.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/overloads_int.cc
new file mode 100644
index 00000000000..07b2f924d95
--- /dev/null
+++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/complex/overloads_int.cc
@@ -0,0 +1,99 @@
+// 2006-01-12 Paolo Carlini <pcarlini@suse.de>
+//
+// Copyright (C) 2006 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+// USA.
+
+// 8.1 Additions to header <complex>
+
+#include <tr1/complex>
+#include <testsuite_hooks.h>
+#include <testsuite_tr1.h>
+
+void test01()
+{
+ bool test __attribute__((unused)) = true;
+ using namespace std::tr1;
+ using namespace __gnu_test;
+
+ typedef std::complex<float> cmplx_f_type;
+ typedef std::complex<double> cmplx_d_type;
+
+ const int i1 = 1;
+ const unsigned u1 = 1;
+ const long l1 = 1;
+ const double f1 = 1.0f;
+ const double d1 = 1.0;
+
+ check_ret_type<double>(arg(i1));
+ VERIFY( arg(i1) == arg(double(i1)) );
+ VERIFY( arg(i1) == arg(cmplx_d_type(double(i1))) );
+
+ check_ret_type<cmplx_d_type>(conj(i1));
+ VERIFY( conj(i1) == conj(double(i1)) );
+ VERIFY( conj(i1) == conj(cmplx_d_type(double(i1))) );
+
+ check_ret_type<double>(imag(i1));
+ VERIFY( imag(i1) == imag(double(i1)) );
+ VERIFY( imag(i1) == imag(cmplx_d_type(double(i1))) );
+
+ check_ret_type<double>(norm(i1));
+ VERIFY( norm(i1) == norm(double(i1)) );
+ // std::norm<const complex<>&) is mathematically equivalent to just
+ // this for a real, but the general algorithm goes through std::abs
+ // and a multiplication.
+ VERIFY( norm(i1) == double(i1) * double(i1) );
+
+ check_ret_type<cmplx_d_type>(polar(i1, i1));
+ VERIFY( polar(i1, i1) == polar(double(i1), double(i1)) );
+ // NB: According to the letter of 8.1.9/3 the return type should be a
+ // cmplx_d_type, but the existing std::pow(const complex<>&, int) wins.
+ check_ret_type<cmplx_f_type>(pow(cmplx_f_type(f1, f1), i1));
+
+ check_ret_type<cmplx_d_type>(pow(cmplx_f_type(f1, f1), u1));
+ check_ret_type<cmplx_d_type>(pow(cmplx_f_type(f1, f1), l1));
+ check_ret_type<cmplx_d_type>(pow(cmplx_d_type(d1, d1), i1));
+
+ // See last comment.
+ // VERIFY( pow(cmplx_d_type(d1, d1), i1)
+ // == pow(cmplx_d_type(d1, d1), double(i1)) );
+ VERIFY( pow(cmplx_d_type(d1, d1), u1)
+ == pow(cmplx_d_type(d1, d1), double(u1)) );
+ VERIFY( pow(cmplx_d_type(d1, d1), l1)
+ == pow(cmplx_d_type(d1, d1), double(l1)) );
+
+ check_ret_type<cmplx_d_type>(pow(i1, cmplx_f_type(f1, f1)));
+ check_ret_type<cmplx_d_type>(pow(u1, cmplx_f_type(f1, f1)));
+ check_ret_type<cmplx_d_type>(pow(l1, cmplx_f_type(f1, f1)));
+ check_ret_type<cmplx_d_type>(pow(i1, cmplx_d_type(d1, d1)));
+ VERIFY( pow(i1, cmplx_d_type(d1, d1))
+ == pow(double(i1), cmplx_d_type(d1, d1)) );
+ VERIFY( pow(u1, cmplx_d_type(d1, d1))
+ == pow(double(u1), cmplx_d_type(d1, d1)) );
+ VERIFY( pow(l1, cmplx_d_type(d1, d1))
+ == pow(double(l1), cmplx_d_type(d1, d1)) );
+
+ check_ret_type<double>(real(i1));
+ VERIFY( real(i1) == real(double(i1)) );
+ VERIFY( real(i1) == real(cmplx_d_type(double(i1))) );
+}
+
+int main()
+{
+ test01();
+ return 0;
+}