]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/libstdc++-v3/contrib/libstdc++-v3-4.8/ChangeLog-2005
update
[l4.git] / l4 / pkg / libstdc++-v3 / contrib / libstdc++-v3-4.8 / ChangeLog-2005
1 2005-12-28  Paolo Carlini  <pcarlini@suse.de>
2
3         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 40.
4
5 2005-12-28  Chris Jefferson  <chris@bubblescope.net>
6
7         * testsuite/testsuite_allocator.h (check_deallocate_null): Return true.
8
9 2005-12-28  Paolo Carlini  <pcarlini@suse.de>
10
11         * include/std/std_bitset.h (bitset<>::_M_copy_from_string,
12         bitset<>::_M_copy_to_string, bitset<>::operator>>): Reverse loop.
13
14         * testsuite/25_algorithms/heap/heap.cc (test01): Always enable
15         complexity checks.
16         * testsuite/18_support/numeric_limits/specialization.cc: Avoid
17         unused parameter warning.
18         * testsuite/18_support/numeric_limits/traps.cc: Acoid unused variable
19         warning.
20         * testsuite/ext/malloc_allocator/deallocate_global.cc: Fix format
21         string.
22         * testsuite/ext/malloc_allocator/deallocate_local.cc: Likewise.
23         * testsuite/ext/array_allocator/2.cc: Remove unused variable.
24         * testsuite/tr1/3_function_objects/mem_fn.cc: Avoid unused variable
25         warnings.
26         * testsuite/tr1/6_containers/unordered/instantiate/set.cc: Just
27         instantiate.
28         * testsuite/tr1/6_containers/unordered/instantiate/map.cc: Likewise.
29         * testsuite/tr1/6_containers/unordered/instantiate/hash.cc: Likewise.
30         * testsuite/tr1/6_containers/unordered/instantiate/multiset.cc:
31         Likewise.
32         * testsuite/tr1/6_containers/unordered/instantiate/multimap.cc:
33         Likewise.
34         * testsuite/tr1/6_containers/array/cons/aggregate_initialization.cc:
35         Avoid unused variable warnings.
36         * testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc:
37         Likewise.
38         * testsuite/thread/18185.cc: Likewise.
39         * testsuite/27_io/ios_base/storage/11584.cc: Likewise; avoid comparison
40         between signed and unsigned warning.
41         * testsuite/27_io/types/1.cc: Avoid unused variable warnings.
42         * testsuite/testsuite_allocator.h (check_new): Likewise.
43         (check_deallocate_null): Adjust return type.
44         * testsuite/testsuite_hooks.h (bitmask_operators): Avoid unused
45         variable warnings.
46         * testsuite/21_strings/c_strings/wchar_t/24559.cc: Avoid unused
47         variable warning.
48
49 2005-12-28  Chris Jefferson  <chris@bubblescope.net>
50
51         * include/std/std_bitset.h (bitset<0>::set, bitset<0>::reset,
52         bitset<0>::flip, bitset<0>::test): Add inline specializations for
53         bitset<0>.
54
55         * testsuite/tr1/6_containers/unordered/insert/multiset_range.cc
56         (test01): Add static cast.
57         * testsuite/tr1/6_containers/unordered/insert/set_range.cc
58         (test01): Likewise.
59         * testsuite/testsuite_hooks.h (operator==(NonDefaultConstructible,
60         NonDefaultConstructible), operator<(NonDefaultConstructible,
61         NonDefaultConstrictible)): Avoid unused parameter warning.
62
63 2005-12-26  Chris Jefferson  <chris@bubblescope.net>
64
65         * include/ext/mt_allocator.h (__mt_alloc::__mt_alloc): Remove
66         name of unused parameter.
67         * include/bits/stream_iterator.h (istream_iterator::istream_iterator):
68         Construct _M_value.
69         * include/debug/functions.h (__check_valid_range): Add
70         __attribute__((unused)).
71         * include/tr1/hashtable (hashtable::end): Remove name of unused
72         parameter.
73         * include/tr1/tuple_iterate.h (tuple::tuple): Likewise.
74         (tuple::operator=): Add __attribute__((unused)).
75         * include/tr1/functional (Fnv_hash<4>::hash): Add static_cast.
76         (Fnv_hash<8>::hash): Likewise.
77
78         * testsuite/25_algorithms/iter_swap/20577.cc (swap): Remove name of
79         unused parameter.
80         * testsuite/25_algorithms/unique_copy/check_type.cc (S2::S2,X2::X2):
81         Likewise.
82         * testsuite/22_locale/ctype/narrow/char/19955.cc (do_narrow): Likewise.
83         * testsuite/22_locale/ctype/is/char/9858.cc (Derived::do_is,
84         Derived::do_scan_is, Derived::do_scan_not, Derived2::do_is,
85         Derived2::do_scan_is, Derived2::do_scan_not): Likewise.
86         * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc (TP::do_put):
87         Likewise.
88         * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc (TP::do_put):
89         Likewise.
90         * testsuite/22_locale/time_put/put/char/12439_1.cc (TP::do_put):
91         Likewise.
92         * testsuite/22_locale/time_put/put/char/12439_3.cc (TP::do_put):
93         Likewise.
94         * testsuite/testsuite_io.h (fail_num_get::do_get, fail_num_put::do_put):
95         Likewise.
96         * testsuite/25_algorithms/find/17441.cc (find): Likewise.
97         * testsuite/23_containers/vector/cons/clear_allocator.cc
98         (clear_alloc::clear_alloc): Likewise.
99         * testsuite/23_containers/vector/bool/clear_allocator.cc
100         (clear_alloc::clear_alloc): Likewise.
101         * testsuite/23_containers/list/cons/clear_allocator.cc
102         (clear_alloc::clear_alloc): Likewise.
103         * testsuite/23_containers/set/modifiers/16728.cc (test_container):
104         Likewise.
105         * testsuite/27_io/basic_ios/cons/char/3.cc (char_traits::to_char_type,
106         to_int_type): Likewise.
107         * testsuite/27_io/basic_filebuf/imbue/12206.cc (codecvt::do_out, do_in,
108         do_unshift, do_length): Likewise.
109         * testsuite/21_strings/basic_string/capacity/1.cc
110         (operator==(A<T>,A<T>), operator<(A<T>,A<T>),
111         char_traits::to_char_type, char_traits::to_int_type): Likewise
112         * testsuite/testsuite_character.h (ctype::do_is, ctype::do_scan_is,
113         ctype::do_scan_not, do_toupper, do_tolower): Likewise.
114         * testsuite/25_algorithms/replace_copy/check_type.cc (Z::operator=):
115         Add missing return statement.
116         * testsuite/25_algorithms/replace_copy_if/check_type.cc (Z::operator=):
117         Likewise.
118         * testsuite/testsuite_iterators.h (output_iterator_wrapper::operator=,
119         random_access_iterator_wrapper::operator==): Likewise.
120         * testsuite/20_util/functional/binders/1.cc (s::f_int_int_const,
121         s::f_int_int, s::f_int_void_const, s::f_int_void): Likewise.
122         * testsuite/27_io/types/1.cc (test01): Likewise.
123         * testsuite/27_io/basic_ostream/write/wchar_t/1.cc (test01): Likewise.
124         * testsuite/27_io/basic_ostream/write/char/1.cc (test01): Likewise.
125         * testsuite/21_strings/c_strings/wchar_t/24559.cc (main): Likewise.
126         * testsuite/27_io/basic_istream/ignore/wchar_t/2.cc (check): Add static
127         cast.
128         * testsuite/27_io/basic_istream/ignore/char/2.cc (check): Likewise.
129         * testsuite/27_io/basic_istream/getline/wchar_t/5.cc (check): Likewise.
130         * testsuite/27_io/basic_istream/getline/char/5.cc (check): Likewise.
131         * testsuite/testsuite_allocator.h (check_new): Likewise.
132         (check_deallocate_null): Add missing return value.
133         * testsuite/ext/pool_allocator/allocate_chunk.cc (test01):
134         Make variable unsigned.
135         * testsuite/23_containers/vector/modifiers/erase/1.cc (N,N1,N2,N3,N4,
136         N5,test01): Likewise.
137         * testsuite/26_numerics/valarray/valarray_subset_assignment.cc
138         (check_array): Likewise.
139         (main): Removed unused variable.
140         * testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc (test05):
141         Removed unused variable.
142         * testsuite/27_io/basic_ostream/flush/wchar_t/1.cc (test01): Likewise.
143         * testsuite/27_io/basic_ostream/flush/char/1.cc (test01): Likewise.
144         * testsuite/27_io/basic_ostream/endl/wchar_t/1.cc (test01): Likewise.
145         * testsuite/27_io/basic_ostream/endl/char/1.cc (test01): Likewise.
146         * testsuite/27_io/basic_ostream/ends/wchar_t/1.cc (test01): Likewise.
147         * testsuite/27_io/basic_ostream/ends/char/1.cc (test01): Likewise.
148         * testsuite/tr1/2_general_utilities/memory/shared_ptr/
149         assign/shared_ptr.cc (test01): Correct return type.
150         * testsuite/27_io/basic_filebuf/close/char/2.cc (test_02):
151         Add default value to close_num.
152
153 2005-12-24  Paolo Carlini  <pcarlini@suse.de>
154
155         * include/bits/stl_algobase.h (fill(const _Deque_iterator&,
156         const _Deque_iterator&, const _Tp&)): Deal, correctly, only
157         with iterators (leave const_iterators alone).
158
159 2005-12-24  Paolo Carlini  <pcarlini@suse.de>
160
161         * include/bits/stl_algobase.h (fill(const _Deque_iterator<>&,
162         const _Deque_iterator<>&, const _Tp&)): Add.
163
164         * testsuite/23_containers/deque/cons/assign/1.cc: New.
165
166 2005-12-19  Paolo Carlini  <pcarlini@suse.de>
167
168         * include/bits/stl_deque.h (deque<>::resize, _M_fill_assign):
169         Avoid troubles with ADL, user defined operators and _Deque_iterator.
170         (operator-(const _Deque_iterator<>&, const _Deque_iterator<>&):
171         Add overload for left and right iterators of the same type.
172         * include/bits/deque.tcc (erase(iterator)): Avoid troubles with ADL,
173         user defined operators and _Deque_iterator.
174         * testsuite/23_containers/deque/types/1.cc: Add.
175
176         * include/bits/deque.tcc (_M_insert_aux(iterator, size_type,
177         const value_type&)): Qualify with std:: fill call.
178
179 2005-12-18  Benjamin Kosnik  <bkoz@redhat.com>
180
181         * include/bits/c++config: Add in revised namespace associations.
182         _GLIBCXX_BEGIN_NAMESPACE: New macro.
183         _GLIBCXX_END_NAMESPACE: Same.
184         _GLIBCXX_BEGIN_NESTED_NAMESPACE: Same.
185         _GLIBCXX_END_NESTED_NAMESPACE: Same.
186         * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS]): Add gnu-versioned-namespace.
187         * configure: Regenerated.
188         * config.h.in: Same.
189         * config/abi/pre/gnu-versioned-namespace.ver: New.
190         * config/abi/pre/gnu.ver (GLIBCXX_3.4.7): Add exports for nested
191         debug mode items.
192         * include/Makefile.am (${host_builddir}/c++config.h): Fill in
193         values for __GLIBCXX__ and _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION.
194         * include/Makefile.in: Regnerate.
195         * src/compatibility.cc: Alias new, nested definitions to exported
196         symbols from non-nested __gnu_debug.
197         * src/Makefile.am:  Add in ENABLE_SYMVERS_GNU_NAMESPACE.
198         * src/Makefile.in: Regenerate.
199
200         * docs/html/debug_mode.html: Revise for nested design.
201         * docs/html/debug.html: Use debug qualifications instead of
202         __gnu_debug.
203         * docs/html/configopts.html: Revise documentation for
204         --enable-symvers.
205
206         * include/debug/formatter: Simplify namespace qualifications for
207         current, nested-only reality. Add top-level namespace alias,
208         namespace debug, for debug-mode containers.
209         * include/debug/safe_iterator.h: Same.
210         * include/debug/set.h: Same.
211         * include/debug/hash_multimap.h: Same.
212         * include/debug/hash_set.h: Same.
213         * include/debug/bitset
214         * include/debug/safe_sequence.h: Same.
215         * include/debug/multiset.h: Same.
216         * include/debug/safe_base.h: Same.
217         * include/debug/functions.h: Same.
218         * include/debug/safe_iterator.tcc
219         * include/debug/hash_multiset.h: Same.
220         * include/debug/vector
221         * include/debug/map.h: Same.
222         * include/debug/deque
223         * include/debug/hash_map.h: Same.
224         * include/debug/string
225         * include/debug/macros.h: Same.
226         * include/debug/list
227         * include/debug/debug.h: Same.
228         * include/debug/multimap.h: Same.
229         * src/debug.cc: Same.
230         * testsuite/23_containers/vector/invalidation/1.cc: Cleanups.
231         * testsuite/23_containers/vector/invalidation/2.cc: Same.
232         * testsuite/23_containers/vector/invalidation/3.cc: Same.
233         * testsuite/23_containers/vector/invalidation/4.cc: Same.
234         * testsuite/23_containers/deque/invalidation/1.cc: Same.
235         * testsuite/23_containers/deque/invalidation/2.cc: Same.
236         * testsuite/23_containers/deque/invalidation/3.cc: Same.
237         * testsuite/23_containers/deque/invalidation/4.cc: Same.
238         * testsuite/23_containers/multiset/invalidation/1.cc: Same.
239         * testsuite/23_containers/multiset/invalidation/2.cc: Same.
240         * testsuite/23_containers/multimap/invalidation/1.cc: Same.
241         * testsuite/23_containers/multimap/invalidation/2.cc: Same.
242         * testsuite/23_containers/bitset/invalidation/1.cc: Same.
243         * testsuite/23_containers/bitset/cons/16020.cc: Same.
244         * testsuite/23_containers/bitset/operations/13838.cc: Same.
245         * testsuite/23_containers/list/invalidation/1.cc: Same.
246         * testsuite/23_containers/list/invalidation/2.cc: Same.
247         * testsuite/23_containers/list/invalidation/3.cc: Same.
248         * testsuite/23_containers/list/invalidation/4.cc: Same.
249         * testsuite/23_containers/set/invalidation/1.cc: Same.
250         * testsuite/23_containers/set/invalidation/2.cc: Same.
251         * testsuite/23_containers/map/invalidation/1.cc: Same.
252         * testsuite/23_containers/map/invalidation/2.cc: Same.
253         * testsuite/23_containers/map/insert/16813.cc: Same.
254
255         * include/bits/basic_ios.h: Use _GLIBCXX_BEGIN_NAMESPACE(std) and
256         friends.
257         * include/bits/stl_list.h: Same.
258         * include/bits/stl_map.h: Same.
259         * include/bits/stl_algobase.h: Same.
260         * include/bits/localefwd.h: Same.
261         * include/bits/valarray_array.tcc: Same.
262         * include/bits/valarray_after.h: Same.
263         * include/bits/gslice_array.h: Same.
264         * include/bits/stl_queue.h: Same.
265         * include/bits/gslice.h: Same.
266         * include/bits/locale_facets.tcc: Same.
267         * include/bits/locale_classes.h: Same.
268         * include/bits/stl_set.h: Same.
269         * include/bits/locale_facets.h: Same.
270         * include/bits/stl_stack.h: Same.
271         * include/bits/stl_iterator_base_types.h: Same.
272         * include/bits/stl_heap.h: Same.
273         * include/bits/indirect_array.h: Same.
274         * include/bits/atomicity.h: Same.
275         * include/bits/stream_iterator.h: Same.
276         * include/bits/concurrence.h: Same.
277         * include/bits/basic_string.h: Same.
278         * include/bits/stl_multimap.h: Same.
279         * include/bits/stl_pair.h: Same.
280         * include/bits/basic_ios.tcc: Same.
281         * include/bits/stl_raw_storage_iter.h: Same.
282         * include/bits/stl_vector.h: Same.
283         * include/bits/stl_numeric.h: Same.
284         * include/bits/ios_base.h: Same.
285         * include/bits/stl_deque.h: Same.
286         * include/bits/istream.tcc: Same.
287         * include/bits/postypes.h: Same.
288         * include/bits/stl_multiset.h: Same.
289         * include/bits/mask_array.h: Same.
290         * include/bits/stl_uninitialized.h: Same.
291         * include/bits/ostream.tcc: Same.
292         * include/bits/slice_array.h: Same.
293         * include/bits/boost_concept_check.h: Same.
294         * include/bits/sstream.tcc: Same.
295         * include/bits/stl_iterator_base_funcs.h: Same.
296         * include/bits/char_traits.h: Same.
297         * include/bits/stl_algo.h: Same.
298         * include/bits/stringfwd.h: Same.
299         * include/bits/c++config
300         * include/bits/stl_iterator.h: Same.
301         * include/bits/valarray_array.h: Same.
302         * include/bits/stl_tempbuf.h: Same.
303         * include/bits/vector.tcc: Same.
304         * include/bits/deque.tcc: Same.
305         * include/bits/stl_bvector.h: Same.
306         * include/bits/basic_string.tcc: Same.
307         * include/bits/list.tcc: Same.
308         * include/bits/streambuf_iterator.h: Same.
309         * include/bits/valarray_before.h: Same.
310         * include/bits/stl_construct.h: Same.
311         * include/bits/stl_function.h: Same.
312         * include/bits/cpp_type_traits.h: Same.
313         * include/bits/streambuf.tcc: Same.
314         * include/bits/allocator.h: Same.
315         * include/bits/stl_tree.h: Same.
316         * include/bits/fstream.tcc: Same.
317         * include/bits/stl_relops.h: Same.
318         * include/bits/functexcept.h: Same.
319         * include/std/std_valarray.h: Same.
320         * include/std/std_iostream.h: Same.
321         * include/std/std_streambuf.h: Same.
322         * include/std/std_bitset.h: Same.
323         * include/std/std_iosfwd.h: Same.
324         * include/std/std_iomanip.h: Same.
325         * include/std/std_fstream.h: Same.
326         * include/std/std_limits.h: Same.
327         * include/std/std_stdexcept.h: Same.
328         * include/std/std_istream.h: Same.
329         * include/std/std_complex.h: Same.
330         * include/std/std_memory.h: Same.
331         * include/std/std_ostream.h: Same.
332         * include/std/std_sstream.h: Same.
333         * include/c_std/std_csignal.h: Same.
334         * include/c_std/std_cstdlib.h: Same.
335         * include/c_std/std_cstdio.h: Same.
336         * include/c_std/std_cstdarg.h: Same.
337         * include/c_std/std_cctype.h: Same.
338         * include/c_std/std_cmath.h: Same.
339         * include/c_std/std_ctime.h: Same.
340         * include/c_std/std_clocale.h: Same.
341         * include/c_std/std_csetjmp.h: Same.
342         * include/c_std/std_cwchar.h: Same.
343         * include/c_std/std_cstring.h: Same.
344         * include/c_std/std_cstddef.h: Same.
345         * include/c_std/std_cwctype.h: Same.
346         * include/backward/iterator.h: Same.
347         * include/backward/set.h: Same.
348         * include/backward/hashtable.h: Same.
349         * include/backward/fstream.h: Same.
350         * include/backward/tempbuf.h: Same.
351         * include/backward/istream.h: Same.
352         * include/backward/bvector.h: Same.
353         * include/backward/stack.h: Same.
354         * include/backward/rope.h: Same.
355         * include/backward/complex.h: Same.
356         * include/backward/ostream.h: Same.
357         * include/backward/heap.h: Same.
358         * include/backward/iostream.h: Same.
359         * include/backward/function.h: Same.
360         * include/backward/multimap.h: Same.
361         * include/backward/pair.h: Same.
362         * include/backward/stream.h: Same.
363         * include/backward/iomanip.h: Same.
364         * include/backward/strstream
365         * include/backward/slist.h: Same.
366         * include/backward/tree.h: Same.
367         * include/backward/vector.h: Same.
368         * include/backward/deque.h: Same.
369         * include/backward/multiset.h: Same.
370         * include/backward/list.h: Same.
371         * include/backward/map.h: Same.
372         * include/backward/algobase.h: Same.
373         * include/backward/hash_map.h: Same.
374         * include/backward/algo.h: Same.
375         * include/backward/queue.h: Same.
376         * include/backward/streambuf.h: Same.
377         * src/allocator-inst.cc: Same.
378         * src/complex_io.cc: Same.
379         * src/localename.cc: Same.
380         * src/limits.cc: Same.
381         * src/ios_failure.cc: Same.
382         * src/locale-misc-inst.cc: Same.
383         * src/streambuf-inst.cc: Same.
384         * src/misc-inst.cc: Same.
385         * src/concept-inst.cc: Same.
386         * src/ios_locale.cc: Same.
387         * src/pool_allocator.cc: Same.
388         * src/fstream-inst.cc: Same.
389         * src/istream-inst.cc: Same.
390         * src/string-inst.cc: Same.
391         * src/locale_init.cc: Same.
392         * src/ctype.cc: Same.
393         * src/strstream.cc: Same.
394         * src/ostream-inst.cc: Same.
395         * src/functexcept.cc: Same.
396         * src/streambuf.cc: Same.
397         * src/sstream-inst.cc: Same.
398         * src/ios.cc: Same.
399         * src/valarray-inst.cc: Same.
400         * src/locale.cc: Same.
401         * src/tree.cc: Same.
402         * src/stdexcept.cc: Same.
403         * src/istream.cc: Same.
404         * src/compatibility.cc: Same.
405         * src/locale-inst.cc: Same.
406         * src/globals_io.cc: Same.
407         * src/list.cc: Same.
408         * src/ios_init.cc: Same.
409         * src/locale_facets.cc: Same.
410         * src/codecvt.cc: Same.
411
412         * include/tr1/unordered_map: Use _GLIBCXX_BEGIN_NAMESPACE(tr1).
413         * include/tr1/boost_shared_ptr.h: Same.
414         * include/tr1/tuple
415         * include/tr1/hashtable
416         * include/tr1/type_traits_fwd.h: Same.
417         * include/tr1/unordered_set
418         * include/tr1/functional
419         * include/tr1/ref_fwd.h: Same.
420         * include/tr1/utility
421         * include/tr1/type_traits
422         * include/tr1/array
423
424         * include/ext/hashtable.h: Use _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx).
425         * include/ext/typelist.h: Same.
426         * include/ext/hash_map: Same.
427         * include/ext/rc_string_base.h: Same.
428         * include/ext/pool_allocator.h: Same.
429         * include/ext/iterator: Same.
430         * include/ext/rb_tree: Same.
431         * include/ext/numeric: Same.
432         * include/ext/vstring.tcc: Same.
433         * include/ext/sso_string_base.h: Same.
434         * include/ext/stdio_filebuf.h: Same.
435         * include/ext/algorithm: Same.
436         * include/ext/codecvt_specializations.h: Same.
437         * include/ext/new_allocator.h: Same.
438         * include/ext/array_allocator.h: Same.
439         * include/ext/vstring_util.h: Same.
440         * include/ext/vstring_fwd.h: Same.
441         * include/ext/mt_allocator.h: Same.
442         * include/ext/debug_allocator.h: Same.
443         * include/ext/slist: Same.
444         * include/ext/stdio_sync_filebuf.h: Same.
445         * include/ext/hash_fun.h: Same.
446         * include/ext/malloc_allocator.h: Same.
447         * include/ext/functional: Same.
448         * include/ext/bitmap_allocator.h: Same.
449         * include/ext/pod_char_traits.h: Same.
450         * include/ext/vstring.h: Same.
451         * include/ext/ropeimpl.h: Same.
452         * include/ext/hash_set: Same.
453         * include/ext/memory: Same.
454         * include/ext/rope: Same.
455         * include/bits/boost_concept_check.h: Same.
456         * include/bits/stl_iterator.h: Same.
457         * include/bits/char_traits.h: Same.
458         * include/bits/cpp_type_traits.h: Same.
459         * include/bits/concurrence.h: Same.
460         * include/bits/atomicity.h: Same.
461         * config/locale/gnu/numeric_members.cc: Same.
462         * config/locale/gnu/collate_members.cc: Same.
463         * config/locale/gnu/ctype_members.cc: Same.
464         * config/locale/gnu/c_locale.cc: Same.
465         * config/locale/gnu/codecvt_members.cc: Same.
466         * config/locale/gnu/messages_members.cc: Same.
467         * config/locale/gnu/c_locale.h: Same.
468         * config/locale/gnu/monetary_members.cc: Same.
469         * config/locale/gnu/time_members.cc: Same.
470         * config/locale/ieee_1003.1-2001/c_locale.h: Same.
471         * config/locale/generic/numeric_members.cc: Same.
472         * config/locale/generic/collate_members.cc: Same.
473         * config/locale/generic/ctype_members.cc: Same.
474         * config/locale/generic/c_locale.cc: Same.
475         * config/locale/generic/codecvt_members.cc: Same.
476         * config/locale/generic/messages_members.cc: Same.
477         * config/locale/generic/c_locale.h: Same.
478         * config/locale/generic/monetary_members.cc: Same.
479         * config/locale/generic/time_members.cc: Same.
480         * config/os/aix/atomicity.h: Same.
481         * config/os/irix/atomicity.h: Same.
482         * config/cpu/powerpc/atomicity.h: Same.
483         * config/cpu/cris/atomicity.h: Same.
484         * config/cpu/ia64/atomicity.h: Same.
485         * config/cpu/alpha/atomicity.h: Same.
486         * config/cpu/m68k/atomicity.h: Same.
487         * config/cpu/hppa/atomicity.h: Same.
488         * config/cpu/mips/atomicity.h: Same.
489         * config/cpu/sparc/atomicity.h: Same.
490         * config/cpu/i386/atomicity.h: Same.
491         * config/cpu/i486/atomicity.h: Same.
492         * config/cpu/sh/atomicity.h: Same.
493         * config/cpu/generic/atomicity.h: Same.
494         * config/cpu/s390/atomicity.h: Same.
495         * config/io/c_io_stdio.h: Same.
496         * config/io/basic_file_stdio.cc: Same.
497         * config/io/basic_file_stdio.h: Same.
498         * src/misc-inst.cc: Same.
499         * src/concept-inst.cc: Same.
500         * src/ext-inst.cc: Same.
501         * src/string-inst.cc: Same.
502         * src/pool_allocator.cc: Same.
503         * src/bitmap_allocator.cc: Same.
504         * src/mt_allocator.cc: Same.
505         * libsupc++/exception: Same.
506         * libsupc++/vterminate.cc: Same.
507         * testsuite/ext/hash_map/1.cc: Explicitly qualify __gnu_cxx::hash_map.
508         * testsuite/ext/hash_map/14648.cc: Same.
509
510         * libsupc++/eh_alloc.cc: Correct comment line spacing.
511
512 2005-12-18  Paolo Carlini  <pcarlini@suse.de>
513
514         * include/bits/stl_algobase.h (__copy_normal::copy_n): Uglify
515         to __copy_n.
516         (__copy_backward::copy_b): Likewise to __copy_b.
517         (__copy_backward_normal::copy_b_n): Likewise to __copy_b_n.
518         (copy, __copy_backward_aux, copy_backward): Adjust.
519
520 2005-12-18  Paolo Carlini  <pcarlini@suse.de>
521
522         * include/bits/stl_algo.h (partial_sort_copy): Add
523         _BinaryPredicateConcept<_Compare, _InputValueType, _OutputValueType>
524         (merge, set_union, set_symmetric_difference): Add
525         _OutputIteratorConcept<_OutputIterator, _ValueType2>.
526         (binary_search): Remove redundant _BinaryPredicateConcept<_Compare,
527         _ValueType, _Tp>, taken care by lower_bound.
528         * include/bits/stl_algo.h: Cosmetic changes.
529
530 2005-12-18  Paolo Carlini  <pcarlini@suse.de>
531             Howard Hinnant  <hhinnant@apple.com>
532
533         * include/bits/stl_algo.h (merge, includes, set_union,
534         set_intersection, set_difference, set_symmetric_difference):
535         Fix concept checks.
536
537 2005-12-18  Paolo Carlini  <pcarlini@suse.de>
538
539         * include/bits/stl_algo.h (partial_sort_copy, lower_bound,
540         upper_bound, equal_range, binary_search): Fix concept checks.
541
542 2005-12-18  Benjamin Kosnik  <bkoz@redhat.com>
543
544         * config/abi/post: New.
545         * config/abi/*-linux-gnu: Move to..
546         * config/abi/post/*-linux-gnu: ... here.
547         * config/abi/pre: New.
548         * config/linker-map.gnu: Move to ..
549         * config/abi/pre/gnu.ver: ... here.
550         * config/linker-map.dummy: Move to..
551         * config/abi/pre/none.ver: ... here.
552         * src/Makefile.am: Use ENABLE_SYMVERS_GNU,
553         ENABLE_SYMVERS_DARWIN, ENABLE_SYMVERS_GNU_NAMESPACE.
554         Use libstdc++-symbols.ver instead of libstdc++-symbol.ver.
555         * src/Makefile.in: Regnerate.
556         * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Adjust paths for new
557         placement of abi baseline files.
558         (GLIBCXX_ENABLE_SYMVERS): Add ENABLE_SYMVERS, ENABLE_SYMVERS_GNU,
559         ENABLE_SYMVERS_DARWIN.  SYMVER_MAP to SYMVER_FILE.
560         * configure: Regnerate.
561         * config.h.in: Regnerate.
562         * src/compatibility.cc: Adjust macro usage.
563
564 2005-12-17  Benjamin Kosnik  <bkoz@redhat.com>
565
566         * src/io-inst.cc: Separate instantiations into...
567         * src/ios-inst.cc: .. this.
568         * src/iostream-inst.cc: ... and this.
569         * src/Makefile.am (sources): Update.
570         * src/Makefile.in: Regenerate.
571
572 2005-12-17  Benjamin Kosnik  <bkoz@redhat.com>
573
574         PR libstdc++/25472
575         * include/c_std/std_cstdlib.h: Fix for freestanding.
576
577 2005-12-17  Benjamin Kosnik  <bkoz@redhat.com>
578
579         * testsuite/libstdc++-dg/normal.exp: Rename to..
580         * testsuite/libstdc++-dg/conformance.exp: ... this.
581
582 2005-12-17  Paolo Carlini  <pcarlini@suse.de>
583
584         * include/bits/stl_vector.h (vector(const vector&)): Use
585         _M_get_Tp_allocator.
586         * include/bits/stl_deque.h (deque(const deque&)): Likewise.
587         (_M_destroy_data): Adjust.
588
589 2005-12-17  Paolo Carlini  <pcarlini@suse.de>
590
591         * include/bits/stl_deque.h (deque<>::_M_erase_at_end,
592         _M_erase_at_begin, _M_destroy_data, _M_destroy_data_dispatch,
593         _M_destroy_data_aux): New, optimize erase at begin() / end() and
594         consistently use the "segmented iterator" optimization.
595         (deque<>::~deque(), resize, clear, _M_assign_aux, _M_fill_assign):
596         Use the above.
597         * include/bits/deque.tcc (deque<>::operator=, _M_assign_aux): Same.
598         (erase(iterator, iterator)): Likewise, clean-up.
599         (erase(iterator)): Tweak, don't call copy unnecessarily.
600         (_M_destroy_data_aux): Define.
601         * testsuite/23_containers/deque/modifiers/erase/1.cc: New.
602         * testsuite/23_containers/deque/modifiers/erase/2.cc: Likewise.
603
604 2005-12-17  Gabriel Dos Reis  <gdr@integrable-solutions.net>
605
606         * include/bits/valarray_after.h (_Expr<>::operator[](slice)):
607         Don't assume the closure implements general indexing, as a matter
608         of fact, most of them don't.
609         (_Expr<>::operator[](const gslice&)): Likewise.
610         (_Expr<>::operator[](const valarray<bool>&)): Likewise.
611         (_Expr<>::operator[](const valarray<size_t>&)): Likewise.
612         (_Expr<>::shift): Fix thinko.
613         (_Expr<>::cshift): Likewise.
614         (_Expr<>::apply): Likewise.
615
616 2005-12-16  Paolo Carlini  <pcarlini@suse.de>
617
618         * testsuite/tr1/4_metaprogramming/type_properties/is_empty/is_empty.cc:
619         Fix class NonEmptyClassTwo.
620
621 2005-12-15  Paolo Carlini  <pcarlini@suse.de>
622
623         * include/bits/stl_vector.h (vector<>::_M_get_Tp_allocator): Change
624         to return by ref and add non const version.
625         * include/bits/stl_deque.h (deque<>::_M_get_Tp_allocator): Likewise.
626
627 2005-12-15  Paolo Carlini  <pcarlini@suse.de>
628
629         PR libstdc++/25421
630         * config/locale/gnu/c_locale.cc (_S_destroy_c_locale): Check
631         for null argument.
632         * testsuite/22_locale/facet/25421.cc: New.
633
634 2005-12-13  Carlos O'Donell <carlos@codesourcery.com>
635
636         * include/std/std_limits.h (struct numeric_limits):
637         Use __DBL_HAS_DENORM__, __FLT_HAS_DENORM__, __LDBL_HAS_DENORM__.
638
639 2005-12-10  Paolo Carlini  <pcarlini@suse.de>
640
641         * include/ext/sso_string_base.h (__sso_string_base<>::_M_compare):
642         Add, specialized for char and wchar_t to immediately return true
643         when a string is compared to itself.
644         * include/ext/rc_string_base.h (__rc_string_base<>::_M_compare):
645         Likewise, for the same _Rep.
646         * include/ext/vstring.h (compare(const string&)): Use it.
647
648         * include/ext/sso_string_base.h (__sso_string_base<>::_M_destroy):
649         Deallocate passed size + 1.
650         (_M_dispose, _M_reserve): Adjust.
651
652 2005-12-09  Paolo Carlini  <pcarlini@suse.de>
653             Howard Hinnant  <hhinnant@apple.com>
654
655         PR libstdc++/25288
656         * include/bits/stl_list.h (list<>::_M_insert_dispatch, _M_fill_insert):
657         Remove.
658         (_M_initialize_dispatch, _M_fill_initialize): Add.
659         (list(size_type, const value_type&, const allocator_type&),
660         list(const list&), list(_InputIterator, _InputIterator,
661         const allocator_type&): Use the latter.
662         (insert(iterator, size_type, const value_type&), insert(iterator,
663         _InputIterator, _InputIterator)): Use construction & splice.
664         * testsuite/23_containers/list/modifiers/insert/25288.cc: New.
665         * testsuite/testsuite_allocator.h (class throw_allocator): Add.
666
667         * include/bits/stl_list.h (list<>::insert, erase): Fix wrong comments.
668
669 2005-12-08  Paolo Carlini  <pcarlini@suse.de>
670
671         * include/bits/stl_vector.h (vector<>::size, resize, capacity,
672         operator[]): Avoid troubles with ADL, user defined operators
673         and __normal_iterator.
674         (_M_erase_at_end): Fix to take a pointer.
675         (clear): Adjust call.
676         * include/bits/vector.tcc (vector<>::insert(iterator, const
677         value_type&), erase(iterator, iterator), operator=(const
678         vector<>&), _M_assign_aux(input_iterator_tag), _M_insert_aux,
679         _M_fill_insert, _M_range_insert): Likewise.
680         (_M_fill_assign, _M_assign_aux(forward_iterator_tag)): Adjust
681         _M_erase_at_end call.
682         * testsuite/23_containers/vector/types/1.cc: New.
683
684 2005-12-08  Paolo Carlini  <pcarlini@suse.de>
685
686         PR libstdc++/24617
687         * include/bits/stl_vector.h (vector<>::_M_erase_at_end): New.
688         (vector<>::clear, resize): Use it.
689         * include/bits/vector.tcc (vector<>::erase(iterator, iterator),
690         _M_fill_assign, _M_assign_aux): Likewise.
691
692         * testsuite/23_containers/vector/modifiers/erase/1.cc: New.
693
694 2005-12-07  Paolo Carlini  <pcarlini@suse.de>
695
696         * docs/html/configopts.html ([--enable-libstdcxx-allocator]):
697         Mention the SGI pooled allocator.
698
699 2005-12-06  Paolo Carlini  <pcarlini@suse.de>
700
701         * include/bits/basic_string.h (insert(iterator, _CharT),
702         erase(iterator), erase(iterator, iterator)): Avoid troubles
703         with ADL, user defined operators and __normal_iterator.
704         * include/bits/stl_iterator.h (operator-(const __normal_iterator
705         <_Iterator, _Container>&, const __normal_iterator<_Iterator,
706         _Container>&)): Add overload for left and right iterators of
707         the same type.
708         * include/debug/safe_iterator.h (operator-(const _Safe_iterator
709         <_Iterator, _Sequence>&, const _Safe_iterator<_Iterator,
710         _Sequence>&)): Likewise.
711         * testsuite/21_strings/basic_string/types/1.cc: New.
712
713 2005-12-05  Paolo Carlini  <pcarlini@suse.de>
714
715         * include/ext/sso_string_base.h (__sso_string_base<>::_M_assign):
716         Simplify, avoid pointless reallocations.
717
718 2005-12-04  Paolo Carlini  <pcarlini@suse.de>
719
720         * include/ext/sso_string_base.h (__sso_string_base<>::_M_reserve):
721         Simplify.
722
723 2005-12-04  Paolo Carlini  <pcarlini@suse.de>
724
725         * include/ext/vstring.h (__versa_string<>::operator+, all
726         versions): Move out of line...
727         * include/ext/vstring.tcc (__versa_string<>::operator+): ...
728         here; consistently use reserve for the benefit of sso_string_base;
729         prefer push_back to single-char append when appropriate.
730
731         * include/ext/vstring.h (__versa_string<>::push_back): Don't
732         call _M_reserve, _M_mutate instead.
733         (reserve): Just forward to _M_reserve.
734         * include/ext/vstring.tcc (__versa_string<>::_M_reserve): Remove.
735         * include/ext/rc_string_base.h (__rc_string_base<>::_M_reserve): Also
736         do the initial checks (first on length, in case __res == capacity).
737         * include/ext/sso_string_base.h (__sso_string_base<>::_M_reserve:
738         Likewise; don't call _M_set_length unnecessarily.
739
740 2005-12-04  Paolo Carlini  <pcarlini@suse.de>
741
742         * include/ext/vstring.h (__versa_string<>::_M_append): New.
743         (append(const __versa_string&), append(const __versa_string&,
744         size_type, size_type), append(const _CharT*, size_type),
745         append(const _CharT*)): Use it.
746         (append(size_type, _CharT)): Delegate to _M_replace_aux.
747         (assign(const __versa_string&, size_type, size_type),
748         assign(const _CharT*), replace(size_type, size_type,
749         const _CharT*, size_type)): Forward to _M_replace.
750         * include/ext/vstring.tcc (__versa_string<>::_M_append):
751         Define, core append functionality.
752         (_M_replace): Simplify, move __s == 0 case to _M_replace_aux.
753         (_M_replace_aux): Reorganize, don't call _M_replace.
754
755 2005-12-04  Paolo Carlini  <pcarlini@suse.de>
756
757         * include/ext/vstring.tcc (__versa_string<>::_M_replace):
758         Perform _M_check_length at the beginning and remove it from ...
759         (replace, _M_replace_dispatch, _M_replace_aux, assign): ... here.
760         (assign): Now move inline.
761         (resize): Don't call _M_check_length redundantly, append does.
762
763 2005-12-04  Paolo Carlini  <pcarlini@suse.de>
764
765         * include/ext/sso_string_base.h (__sso_string_base<>::_M_get_allocator):
766         Add non const version.
767         * include/ext/rc_string_base.h (__rc_string_base<>::_M_get_allocator):
768         Likewise.
769
770         * include/ext/sso_string_base.h (__sso_string_base<>::_M_erase): Add.
771         * include/ext/rc_string_base.h (__rc_string_base<>::_M_erase): Likewise.
772         (_M_leak_hard): Use it.
773         * include/ext/vstring.h (__versa_string<>::clear, erase, all
774         versions): Use it.
775         * include/ext/vstring.tcc (__versa_string<>::resize): Likewise.
776
777         * include/ext/vstring.h (__versa_string<>::_M_replace_safe):
778         Remove.
779         * include/ext/vstring.h (__versa_string<>::_M_replace): New, does
780         the in-place work or delegates to _M_mutate in case of reallocation.
781         * include/ext/vstring.tcc (__versa_string<>::_M_replace_safe):
782         Remove.
783         * include/ext/vstring.tcc (__versa_string<>::_M_replace): Define.
784         (assign, replace, _M_replace_dispatch, _M_replace_aux): Use it.
785         * include/ext/sso_string_base.h (__sso_string_base<>::_M_mutate):
786         Change to manage only reallocations.
787         * include/ext/rc_string_base.h (__rc_string_base<>::_M_mutate):
788         Likewise.
789
790         * include/ext/vstring.h (__versa_string<>::insert(size_type,
791         const __versa_string&), insert(size_type, const __versa_string&,
792         size_type, size_type), insert(size_type, const _CharT*, size_type),
793         insert(size_type, const _CharT*)): Delegate to replace.
794
795         * include/ext/vstring.h (__versa_string<>::reserve): Move out of
796         line.
797         * include/ext/vstring.tcc (__versa_string<>::reserve): Do the
798         checks and call _M_reserve.
799         * include/ext/vstring.h (__versa_string<>::append): Call _M_reserve
800         instead of reserve.
801         * include/ext/vstring.tcc (__versa_string<>::append, all versions):
802         Likewise.
803         * include/ext/sso_string_base.h (__sso_string_base<>::_M_reserve):
804         Adjust.
805         * include/ext/rc_string_base.h (__rc_string_base<>::_M_reserve):
806         Likewise.
807
808 2005-12-02  David Billinghurst (David.Billinghurst@riotinto.com)
809
810         PR testsuite/25193
811         * testsuite/lib/libstdc++.exp (libstdc++-dg-test): Catch
812         error if file cannot be deleted.
813
814 2005-11-23  Paolo Carlini  <pcarlini@suse.de>
815
816         PR libstdc++/24975 (basic_string)
817         * include/bits/basic_string.h (_Rep::_S_empty_rep): Avoid
818         strict-aliasing warnings.
819
820 2005-11-22  Paolo Carlini  <pcarlini@suse.de>
821
822         PR libstdc++/24975
823         * include/bits/stl_set.h (insert(iterator, const value_type&),
824         erase(iterator), erase(iterator, iterator)): Don't break aliasing
825         rules casting to _Rep_iterator&, forward to _Rb_tree facilities.
826         * include/bits/stl_multiset.h (insert(iterator, const value_type&),
827         erase(iterator), erase(iterator, iterator)): Likewise.
828         * include/bits/stl_tree.h (_Rb_tree<>::_M_insert(_Const_Base_ptr,
829         _Const_Base_ptr, const value_type&), insert_unique(const_iterator,
830         const value_type&), insert_equal(const_iterator, const value_type&),
831         erase(const_iterator), erase(const_iterator, const_iterator)): New,
832         _Rb_tree<>::const_iterator counterparts of existing facilities.
833
834 2005-11-21  Benjamin Kosnik  <bkoz@redhat.com>
835             Ulrich Drepper  <drepper@redhat.com>
836
837         PR libstdc++/23591
838         * scripts/create_testsuite_files: Support for "C" test files.
839         * testsuite/lib/libstdc++.exp: Same.
840         * testsuite/libstdc++-dg/normal.exp: Same.
841         * testsuite/ext/mt_allocator/22309_thread.cc: Update names.
842         * testsuite/19_diagnostics/23591_thread-1.c: New.
843         * testsuite/testsuite_shared.cc: Add tests, rename existing functions.
844         * libsupc++/eh_globals.cc: Make global thread local if possible.
845         * configure.ac: Use GCC_CHECK_TLS.
846         * acinclude.m4: Include tls.m4.
847         * configure: Regenerate.
848         * config.h.in: Same.
849
850 2005-11-21  Benjamin Kosnik  <bkoz@redhat.com>
851
852         * libsupc++/del_op.cc: Include c++config.h first.
853         * libsupc++/eh_alloc.cc: Same.
854         * libsupc++/new_opv.cc: Same.
855         * libsupc++/eh_throw.cc: Same.
856         * libsupc++/new_op.cc: Same.
857         * libsupc++/del_opv.cc: Same.
858         * libsupc++/eh_catch.cc: Same.
859         * libsupc++/guard.cc: Same.
860         * libsupc++/del_opnt.cc: Same.
861         * libsupc++/eh_exception.cc: Same.
862         * libsupc++/new_opvnt.cc: Same.
863         * libsupc++/eh_term_handler.cc: Same.
864         * libsupc++/eh_personality.cc: Same.
865         * libsupc++/eh_call.cc: Same.
866         * libsupc++/new_opnt.cc: Same.
867         * libsupc++/del_opvnt.cc: Same.
868
869 2005-11-21  Benjamin Kosnik  <bkoz@redhat.com>
870
871         * src/Makefile.am (LTCXXCOMPILE): CXXFLAGS last.
872         * libsupc++/Makefile.am: Same.
873         * src/Makefile.in: Regenerate.
874         * libsupc++/Makefile.in: Same.
875
876 2005-11-21  Paolo Carlini  <pcarlini@suse.de>
877
878         * include/ext/sso_string_base.h: Minor formatting and stylistic fixes.
879         (__sso_string_base<>::_M_get_allocator): Return by const ref.
880         * include/ext/rc_string_base.h: Likewise.
881         (__rc_string_base<>::_M_get_allocator): Return by const ref.
882         (__rc_string_base<>::_M_dispose): Take void, use _M_get_allocator.
883         (__rc_string_base<>::_M_grab): Take one alloc, use _M_get_allocator.
884         (__rc_string_base<>::~__rc_string_base,
885         __rc_string_base(const __rc_string_base&), _M_assign, _M_reserve,
886         _M_mutate): Adjust.
887         * include/ext/vstring_util.h: Minor stylistic fixes.
888
889 2005-11-18  Paolo Carlini  <pcarlini@suse.de>
890
891         * include/ext/rc_string_base.h (__rc_string_base<>::_Rep): Avoid the
892         anonymous struct extension, adjust everywhere.
893
894         * include/ext/rc_string_base.h (__rc_string_base<>::_S_empty_rep()):
895         Just use a static member.
896         (__rc_string_base<>::__rc_string_base(), _S_construct): Adjust.
897
898         * include/ext/rc_string_base.h (__rc_string_base<>::_Rep): Use
899         anonymous union together with _CharT to fix alignment issues,
900         rebind to _Rep and rename _Raw_alloc to _Rep_alloc_type.
901         (__rc_string_base<>::_Rep::_S_create, _M_destroy): Adjust consistently.
902
903         * include/ext/vstring_util.h (__is_null_p): Move inside struct
904         __vstring_utility as static _S_is_null_pointer.
905         * include/ext/sso_string.h
906         (__sso_string_base<>::_M_construct(std::forward_iterator_tag): Adjust.
907         * include/ext/rc_string_base.h
908         (__rc_string_base<>::_S_construct(std::forward_iterator_tag): Likewise.
909
910         Implement Option 3 of DR 431 for ext/vstring - both available bases.
911         * include/bits/cpp_type_traits.h (struct __is_empty): Add.
912         * include/ext/vstring.h (__versa_string<>::swap): Delegate to
913         this->_M_swap.
914         * include/ext/vstring.tcc (__versa_string<>::swap): Remove.
915         * include/ext/vstring_util.h (struct __vstring_utility<>): Add struct
916         _Alloc_hider<>, augmented of allocator swapping facility, specialized
917         to nop for empty allocators.
918         * include/ext/rc_string_base.h (__rc_string_base<>::_M_swap): Use it.
919         (__rc_string_base<>::_M_is_leaked, _M_set_sharable): Change to private.
920         * include/ext/sso_string_base.h (__sso_string_base<>::_M_swap):
921         Likewise.
922         (__sso_string_base<>::_M_is_leaked, _M_set_sharable): Remove, unused.
923         * include/ext/rc_string_base.h (__rc_string_base<>::_M_data(_CharT*):
924         Return void.
925         * include/ext/sso_string_base.h (__sso_string_base<>::_M_data(_CharT*):
926         Likewise.
927
928 2005-11-17  Geoffrey Keating  <geoffk@apple.com>
929
930         * config/os/bsd/darwin/ppc-extra.ver: New.
931         * src/Makefile.am (libstdc++-symbol.ver): Move outside conditionals,
932         and make dependent on port symbol files.
933         (libstdc++-symbol.explist): Use the generated .ver file, not
934         the template.
935         * src/compatibility.cc [APPLE] (__eprintf): New.
936         * src/Makefile.in: Regenerate.
937         * configure.host (powerpc*-*-darwin*): Define
938         port_specific_symbol_files.
939
940 2005-11-16  Nathan Sidwell  <nathan@codesourcery.com>
941
942         * libsupc++/eh_arm.cc (__cxa_begin_cleanup): Remember a
943         foreign exception too.
944         (__gnu_end_cleanup): Recover a foreign exception too.
945         * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Cope
946         with forced unwinding.
947         * libsupc++/eh_throw.cc (__cxxabiv1::__cxa_rethrow): Use
948         _Unwind_Resume_or_Rethrow for ARM EABI.
949
950 2005-11-14  Geoffrey Keating  <geoffk@apple.com>
951
952         * acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Don't check for
953         shared libgcc for darwin exports.
954         * configure: Regenerate.
955
956 2005-11-13  Jonathan Wakely  <redi@gcc.gnu.org>
957
958         * include/tr1/boost_shared_ptr.h (get_deleter):
959         Declare before shared_ptr.
960         (shared_ptr<>): Declare get_deleter as friend.
961         (shared_ptr<>:_M_get_deleter): Private.
962
963 2005-11-13  Douglas Gregor  <doug.gregor@gmail.com>
964
965         PR libstdc++/24818
966         * include/tr1/ref_wrap_iterate.h
967         (reference_wrapper::operator()()): Don't dereferene the result of
968         get() before calling it; it's already a reference.
969         * testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc:
970         Test nullary calls to reference_wrappers.
971
972 2005-11-11  Paolo Carlini  <pcarlini@suse.de>
973
974         PR libstdc++/24808
975         * include/tr1/type_traits (__is_abstract_helper): Rename to __in_array
976         (with complemented logic).
977         (is_function): Use it, don't use __conv_helper.
978         (is_abstract): Adjust.
979         (__conv_helper): Rename to __is_convertible_simple.
980         (is_convertible): Adjust.
981         * testsuite/testsuite_tr1.h (class IncompleteClass): Add.
982         * testsuite/tr1/4_metaprogramming/composite_type_traits/is_object/
983         24808.cc: New.
984         * testsuite/tr1/4_metaprogramming/primary_type_categories/is_enum/
985         24808.cc: Likewise.
986         * testsuite/tr1/4_metaprogramming/primary_type_categories/is_function/
987         24808.cc: Likewise.
988
989 2005-11-11  Paolo Carlini  <pcarlini@suse.de>
990
991         PR libstdc++/24799
992         * include/tr1/functional (hash): Inherit from std::unary_function.
993         * testsuite/tr1/6_containers/unordered/hash/24799.cc: New.
994
995         PR libstdc++/24805
996         * include/tr1/boost_shared_ptr.h (swap(shared_ptr<>&, shared_ptr<>&),
997         swap(weak_ptr<>&, weak_ptr<>&)): Move inside namespace tr1.
998         * testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/
999         24805.cc: New.
1000
1001         PR libstdc++/24809
1002         * include/tr1/type_traits (__is_polymorhpic_helper): Adjust destructor.
1003         * testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/
1004         24809.cc: New.
1005
1006 2005-11-10  Paolo Carlini  <pcarlini@suse.de>
1007
1008         * testsuite/tr1/2_general_utilities/memory/
1009         enable_shared_from_this/not_shared.cc: Adjust, remove xfail.
1010         * testsuite/tr1/2_general_utilities/memory/
1011         enable_shared_from_this/not_shared2.cc: Likewise.
1012         * testsuite/tr1/2_general_utilities/memory/
1013         enable_shared_from_this/not_shared3.cc: Likewise.
1014
1015 2005-11-10  Paolo Carlini  <pcarlini@suse.de>
1016
1017         * include/tr1/boost_shared_ptr.h (_Sp_counted_base::release,
1018         weak_release): Protect barriers with __GTHREADS.
1019
1020 2005-11-10  Paolo Carlini  <pcarlini@suse.de>
1021             Peter Dimov  <pdimov@mmltd.net>
1022
1023         * include/tr1/boost_shared_ptr.h (_Sp_counted_base::release):
1024         Optimize by manually inlining weak_release.
1025
1026         * include/tr1/boost_shared_ptr.h (_Sp_counted_base::release,
1027         weak_release): Use explicit memory barriers.
1028
1029 2005-11-09  Benjamin Kosnik  <bkoz@redhat.com>
1030             Paolo Carlini  <pcarlini@suse.de>
1031             Gabriel Dos Reis  <gdr@integrable-solutions.net>
1032
1033         PR libstdc++/22203
1034         * numeric_limits.cc: Split into...
1035         * numeric_limits/specialization.cc: ..this.
1036         * numeric_limits/is_iec559.cc: Same.
1037         * numeric_limits/sign.cc: Same.
1038         * numeric_limits/quiet_NaN.cc: Same.
1039         * numeric_limits/digits10.cc: Same.
1040         * numeric_limits/denorm_min.cc: Same.
1041         * numeric_limits/min_max.cc: Same.
1042         * numeric_limits/epsilon.cc: Same.
1043         * numeric_limits/infinity.cc: Same.
1044         * numeric_limits/traps.cc: New.
1045
1046 2005-11-09  Paolo Carlini  <pcarlini@suse.de>
1047
1048         * include/tr1/boost_shared_ptr.h: Trivial formatting fixes.
1049
1050 2005-11-08  Benjamin Kosnik  <bkoz@redhat.com>
1051
1052         * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode): Use
1053         exe as the executable extension.
1054
1055         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Change gnu defaults to
1056         new.
1057         (GLIBCXX_ENABLE_PCH): Adjust message order.
1058         * configure: Regenerate.
1059
1060         * scripts/testsuite_flags.in (query): Correct print_usagex typo.
1061
1062         * include/bits/functexcept.h: Remove argument names.
1063
1064         * src/mt_allocator.cc: Adjust comment.
1065
1066 2005-11-06  Paolo Carlini  <pcarlini@suse.de>
1067
1068         PR libstdc++/18174
1069         * include/bits/stl_queue.h (priority_queue): Tweak a bit the
1070         comment describing the container.
1071
1072 2005-11-05  Paolo Carlini  <pcarlini@suse.de>
1073
1074         * configure.host: Add | rs6000 to the cpu_defines_dir switch,
1075         consistently with the try_cpu one.
1076
1077 2005-11-05  Paolo Carlini  <pcarlini@suse.de>
1078
1079         PR libstdc++/22203
1080         * include/bits/c++config: Include cpu_defines.h.
1081         * include/Makefile.am: Add cpu_defines.h to host_headers.
1082         * configure.host: Add cpu_defines_dir.
1083         * configure.ac: Use it.
1084         * config/cpu/powerpc/cpu_defines.h: New.
1085         * config/cpu/generic/cpu_defines.h: Likewise.
1086         * configure: Regenerate.
1087         * Makefile.in: Likewise.
1088         * include/Makefile.in: Likewise.
1089         * libmath/Makefile.in: Likewise.
1090         * libsupc++/Makefile.in: Likewise.
1091         * po/Makefile.in: Likewise.
1092         * src/Makefile.in: Likewise.
1093         * testsuite/Makefile.in: Likewise.
1094
1095 2005-11-03  Paolo Carlini  <pcarlini@suse.de>
1096
1097         * include/ext/sso_string_base.h (__sso_string_base<>::_M_swap):
1098         Change the various traits_type::copy call to always copy the
1099         entire local buffer; return early and don't do a full swap on
1100         the lengths for two common cases; change two _S_copy to plain
1101         traits_type::copy.
1102
1103 2005-11-02  Thomas Kho  <tkho@ucla.edu>
1104
1105         PR libstdc++/23425
1106         * include/bits/stl_vector.h (vector<>::clear): Open code
1107         in terms of _Destroy.
1108
1109 2005-11-02  Paolo Carlini  <pcarlini@suse.de>
1110
1111         * include/bits/vector.tcc (vector<>::_M_fill_assign): Qualify fill_n.
1112
1113 2005-11-01  Paolo Carlini  <pcarlini@suse.de>
1114
1115         PR libstdc++/24595
1116         * include/tr1/boost_shared_ptr.h (shared_ptr<>::get_deleter):
1117         Move out of shared_ptr.
1118         * testsuite/tr1/2_general_utilities/memory/shared_ptr/misc/24595.cc:
1119         New.
1120
1121 2005-10-30  Paolo Carlini  <pcarlini@suse.de>
1122
1123         PR libstdc++/20213
1124         * include/c_std/std_csignal.h: Adjust comment as per 17.4.1.2/4.
1125         * include/c_std/std_cstdlib.h: Likewise.
1126         * include/c_std/std_cstdio.h: Likewise.
1127         * include/c_std/std_cstdarg.h: Likewise.
1128         * include/c_std/std_cctype.h: Likewise.
1129         * include/c_std/std_cerrno.h: Likewise.
1130         * include/c_std/std_cmath.h: Likewise.
1131         * include/c_std/std_ciso646.h: Likewise.
1132         * include/c_std/std_ctime.h: Likewise.
1133         * include/c_std/std_clocale.h: Likewise.
1134         * include/c_std/std_climits.h: Likewise.
1135         * include/c_std/std_cassert.h: Likewise.
1136         * include/c_std/std_csetjmp.h: Likewise.
1137         * include/c_std/std_cwchar.h: Likewise.
1138         * include/c_std/std_cfloat.h: Likewise.
1139         * include/c_std/std_cstring.h: Likewise.
1140         * include/c_std/std_cstddef.h: Likewise.
1141         * include/c_std/std_cwctype.h: Likewise.
1142
1143 2005-10-29  Carey Evans  <carey.evans@gmail.com>
1144
1145         PR libstdc++/22087
1146         * config/os/djgpp/ctype_inline.h: Fix.
1147         * config/os/djgpp/ctype_noninline.h: Likewise.
1148
1149 2005-10-28  Paolo Carlini  <pcarlini@suse.de>
1150
1151         PR libstdc++/24559
1152         * include/c_std/std_cwchar.h (wcspbrk): Adjust signature.
1153         * testsuite/21_strings/c_strings/wchar_t/24559.cc: New.
1154
1155 2005-10-25  Paolo Carlini  <pcarlini@suse.de>
1156
1157         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 39.
1158         * docs/html/ext/howto.html: Adjust.
1159
1160 2005-10-21  Paolo Carlini  <pcarlini@suse.de>
1161
1162         PR libstdc++/24450
1163         * config/locale/generic/time_members.h (__timepunct<>::
1164         __timepunct(__c_locale, const char*, size_t)): Avoid leaking
1165         memory if new throws inside _M_initialize_timepunct.
1166         * config/locale/gnu/time_members.h (__timepunct<>::
1167         __timepunct(__c_locale, const char*, size_t)): Likewise.
1168         * config/locale/gnu/message_members.h (messages<>::
1169         messages(__c_locale, const char*, size_t)): Rearrange to
1170         avoid memory leaks.
1171
1172 2005-10-19  Paolo Carlini  <pcarlini@suse.de>
1173
1174         * include/ext/sso_string_base.h (_M_swap): Rewrite.
1175
1176 2005-10-19  Paolo Carlini  <pcarlini@suse.de>
1177
1178         * include/ext/rc_string_base.h (_S_terminal): Remove.
1179         (_M_set_length): Adjust.
1180         (_S_max_size): Change to anonymous enum.
1181         (_M_max_size()): Add, returns the latter.
1182         * include/ext/sso_string_base.h: Likewise.
1183         * include/ext/vstring.h (max_size): Adjust.
1184
1185 2005-10-17  Jonathan Wakely  <redi@gcc.gnu.org>
1186
1187         PR libstdc++/24244
1188         * include/tr1/boost_shared_ptr.h
1189         (_Sp_counted_base::_Sp_counted_base()): When __GTHREAD_MUTEX_INIT
1190         is defined, initialize the mutex.
1191
1192 2005-10-15  Paolo Carlini  <pcarlini@suse.de>
1193
1194         * include/tr1/functional: Add missing #pragma GCC system_header.
1195
1196 2005-10-14  Paolo Carlini  <pcarlini@suse.de>
1197
1198         * include/tr1/hashtable (hashtable::m_erase): Rename to erase_node.
1199         (hashtable::erase(iterator), erase(const_iterator)): Adjust.
1200
1201 2005-10-13  Richard Earnshaw  <richard.earnsahw@arm.com>
1202
1203         PR libstdc++/23926
1204         * acinclude.m4 (port_specific_symbol_files): More symbol versioning
1205         fixes.
1206         * configure: Regenerate.
1207
1208 2005-10-13  Hans-Peter Nilsson  <hp@axis.com>
1209
1210         * testsuite/lib/libstdc++.exp (libstdc++_init): Require
1211         native testing before setting v3-sharedlib to 1.
1212
1213 2005-10-12  Joe Buck  <Joe.Buck@synopsys.com>
1214
1215         * docs/html/27_io/howto.html: Use reference to ifstream when
1216         including iosfwd.
1217
1218 2005-10-11  Andrew Pinski  <pinskia@physics.uc.edu>
1219
1220         PR libstdc++/23926
1221         * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Fix typo in check
1222         for GNU LD.
1223         * configure: Regenerate.
1224
1225 2005-10-10  Benjamin Kosnik  <bkoz@redhat.com>
1226
1227         * configure.ac (libtool_VERSION): To 6:7:0.
1228         * configure: Regenerate.
1229         * testsuite/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.7.
1230         * config/linker-map.gnu: Export locale::_Impl::_M_install_cache.
1231
1232 2005-10-10  Ian Lance Taylor  <ian@airs.com>
1233
1234         PR libstdc++/13583
1235         * include/bits/locale_classes.h (locale::_Impl::_M_install_cache):
1236         Move out of line.
1237         * src/locale.cc: Define here, add mutex.
1238
1239 2005-10-09  Paolo Carlini  <pcarlini@suse.de>
1240
1241         PR libstdc++/24061 (issue 6.19)
1242         * include/tr1/hashtable (struct node_const_iterator, struct
1243         hashtable_const_iterator): New, add const variants to enable separate
1244         overloadings for iterator and const_iterator in unordered_set and
1245         unordered_multiset (as required by issue 6.19).
1246         (class hashtable): Change the mutable_iterators template parameter
1247         to constant_iterators and adjust throughout the logic.
1248         (hashtable::insert(iterator, const value_type&), erase(iterator)
1249         erase(iterator, iterator)): New, as per issue 6.19.
1250         (hashtable::m_erase(node*, node**)): New, called by erase(iterator)
1251         and erase(const_iterator).
1252         (hashtable::Insert_Conv_Type): New, used by insert(iterator,
1253         const value_type&) and insert(const_iterator, const value_type&)
1254         to delegate the work to insert(const value_type&).
1255         * include/tr1/unordered_map (class unordered_map, unordered_multimap):
1256         Adjust typedefs.
1257         * include/tr1/unordered_set (class unordered_set, unordered_multiset):
1258         Likewise.
1259         * testsuite/tr1/6_containers/unordered/erase/24061-map.cc: New.
1260         * testsuite/tr1/6_containers/unordered/erase/24061-multimap.cc: New.
1261         * testsuite/tr1/6_containers/unordered/erase/24061-multiset.cc: New.
1262         * testsuite/tr1/6_containers/unordered/erase/24061-set.cc: New.
1263         * testsuite/tr1/6_containers/unordered/insert/24061-map.cc: New.
1264         * testsuite/tr1/6_containers/unordered/insert/24061-multimap.cc: New.
1265         * testsuite/tr1/6_containers/unordered/insert/24061-multiset.cc: New.
1266         * testsuite/tr1/6_containers/unordered/insert/24061-set.cc: New.
1267
1268 2005-10-08  Kazu Hirata  <kazu@codesourcery.com>
1269
1270         Merge from csl-arm-branch:
1271         2004-12-15  Daniel Jacobowitz  <dan@codesourcery.com>
1272         * libstdc++-v3/config/linker-map.gnu: Add ARM EABI symbols.
1273
1274 2005-10-07  Paolo Carlini  <pcarlini@suse.de>
1275
1276         Fix libstdc++/24196 for ext/vstring/rc by returning to the behavior
1277         of basic_string pre-2003-06-13; remove fully-dynamic-string stuff.
1278         * include/ext/rc_string_base.h (_M_refcopy): Move inside the
1279         _Rep class and remove code in macro.
1280         (__rc_string_base()): Construct with _S_empty_rep()._M_refcopy().
1281         (_M_dispose, _M_leak_hard): Remove code in macro.
1282         (_S_construct): Return _S_empty_rep()._M_refcopy() for empty string.
1283         (_M_grab): Adjust.
1284
1285         * include/ext/rc_string_base.h (_Rep::_M_refdata()): Minor tweak,
1286         mark throw().
1287
1288 2005-10-07  Benjamin Kosnik  <bkoz@redhat.com>
1289
1290         * docs/doxygen/user.cfg.in: Update to Doyxygen 1.4.4.
1291
1292 2005-10-05  Paolo Carlini  <pcarlini@suse.de>
1293
1294         * include/ext/sso_string_base.h (struct __sso_string_local):
1295         Remove, actually POD types cannot have user defined constructors
1296         (being aggregates) and therefore can always be members of unions.
1297         (class __sso_string_base): Adjust consistently.
1298
1299 2005-10-05  Paolo Carlini  <pcarlini@suse.de>
1300
1301         PR libstdc++/24198
1302         * testsuite/27_io/basic_filebuf/3.cc: Use __gnu_test::pod_ushort
1303         instead.
1304         * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: Likewise.
1305         * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: Likewise.
1306         * testsuite/27_io/basic_fstream/3.cc: Likewise; run the test.
1307         * testsuite/27_io/basic_ifstream/3.cc: Likewise; run the test.
1308         * testsuite/27_io/basic_ios/3.cc: Likewise.
1309         * testsuite/27_io/basic_iostream/3.cc: Likewise; run the test.
1310         * testsuite/27_io/basic_istream/3.cc: Likewise; run the test.
1311         * testsuite/27_io/basic_istringstream/3.cc: Likewise; run the test.
1312         * testsuite/27_io/basic_ofstream/3.cc: Likewise; run the test.
1313         * testsuite/27_io/basic_ostream/3.cc: Likewise; run the test.
1314         * testsuite/27_io/basic_ostringstream/3.cc: Likewise; run the test.
1315         * testsuite/27_io/basic_streambuf/3.cc: Likewise.
1316         * testsuite/27_io/basic_stringbuf/3.cc: Likewise.
1317         * testsuite/27_io/basic_stringstream/3.cc: Likewise; run the test.
1318
1319 2005-10-05  Paolo Carlini  <pcarlini@suse.de>
1320
1321         PR libstdc++/11729 (DR 280, [Ready])
1322         * include/bits/stl_iterator.h: Add reverse_iterator global
1323         functions with two template parameters (operator==, !=, <,
1324         >, <=, >=, -).
1325         * testsuite/24_iterators/reverse_iterator/11729.cc: New.
1326         * docs/html/ext/howto.html: Add an entry for issue 280.
1327
1328 2005-10-03  Paolo Carlini  <pcarlini@suse.de>
1329
1330         * include/tr1/hashtable
1331         (node_iterator::node_iterator(const node_iterator<,true,>&)): Fix to
1332         take a "false" (i.e., is_const == false) node_iterator.
1333         (hashtable_iterator::hashtable_iterator(const hashtable_iterator<,
1334         true,>&)): Likewise for hashtable_iterator.
1335         (hashtable::const_local_iterator): Fix typedef (is_const == true).
1336         (hashtable::const_iterator): Likewise.
1337         * testsuite/tr1/6_containers/unordered/types/map_iterator.cc: New.
1338         * testsuite/tr1/6_containers/unordered/types/multimap_iterator.cc: New.
1339         * testsuite/tr1/6_containers/unordered/types/set_iterator.cc: New.
1340         * testsuite/tr1/6_containers/unordered/types/multiset_iterator.cc: New.
1341  
1342 2005-10-02  Paolo Carlini  <pcarlini@suse.de>
1343
1344         PR libstdc++/24054
1345         * include/tr1/hashtable (erase(const key_type&)): Return the
1346         number of elements erased.
1347         * testsuite/tr1/6_containers/unordered/hashtable/24054.cc: New.
1348
1349 2005-10-01  Kenny Simpson  <theonetruekenny@yahoo.com>
1350
1351         * include/tr1/tuple_iterate.h (tuple::operator=(const std::pair<>&)):
1352         Add missing return.
1353
1354 2005-09-30  Paolo Carlini  <pcarlini@suse.de>
1355
1356         PR libstdc++/24064
1357         * include/tr1/hashtable (hash_code_base<>::store_code): Add.
1358         (hashtable<>::insert(const value_type&)): Use it.
1359         * testsuite/tr1/6_containers/unordered/hashtable/24064.cc: New.
1360
1361 2005-09-30  Paolo Carlini  <pcarlini@suse.de>
1362
1363         PR libstdc++/23953
1364         * include/bits/locale_facets.tcc (__numpunct_cache<>::_M_cache,
1365         __moneypunct_cache<>::_M_cache): Check that grouping()[0] > 0.
1366         (__verify_grouping): Do the last check only if __grouping[__min] > 0.
1367         (__add_grouping<>): End recursion if *__gbeg <= 0.
1368         * testsuite/22_locale/num_get/get/char/23953.cc: New.
1369         * testsuite/22_locale/num_get/get/wchar_t/23953.cc: Likewise.
1370         * testsuite/22_locale/num_put/put/char/23953.cc: Likewise.
1371         * testsuite/22_locale/num_put/put/wchar_t/23953.cc: Likewise.
1372
1373 2005-09-29  Chris Jefferson <chris@bubblescope.net>
1374
1375         PR libstdc++/23978
1376         * include/tr1/tuple_iterate.h (tuple): Add operator=(std::pair).
1377         * testsuite/tr1/6_containers/tuple/creation_functions/23978.cc: New.
1378
1379         * include/tr1/functional (ref, cref): Make inline.
1380         * include/tr1/tuple_iterate.h (tie): Correct formatting.
1381         (make_tuple): Make inline.
1382
1383 2005-09-25  Benjamin Kosnik  <bkoz@redhat.com>
1384             Eric Botcazou  <ebotcazou@libertysurf.fr>
1385
1386         * include/ext/mt_allocator.h
1387         (__per_type_pool<...true>::_S_initialize_once): Always call
1388         _M_initialize_once.
1389         (__common_pool<...true>::_S_initialize_once): Same.
1390
1391 2005-09-23  Benjamin Kosnik  <bkoz@redhat.com>
1392
1393         * testsuite/ext/mt_allocator/tune-1.cc: Clarify for single-thread.
1394         * testsuite/ext/mt_allocator/tune-2.cc: Same.
1395         * testsuite/ext/mt_allocator/tune-3.cc: Same.
1396         * testsuite/ext/mt_allocator/tune-4.cc: Same.
1397
1398 2005-09-21  Guillaume Melquiond  <guillaume.melquiond@ens-lyon.fr>
1399
1400         PR libstdc++/23956
1401         * include/ext/mt_allocator.h: Remove excess
1402         policy_type::_S_get_pool calls in constructors.
1403
1404 2005-09-18  Paolo Carlini  <pcarlini@suse.de>
1405
1406         PR libstdc++/23417 (cont)
1407         * include/bits/stl_tree.h (_Rb_tree_impl<true>): Use member
1408         initialization list for -Weffc++.
1409
1410 2005-09-16  Janis Johnson  <janis187@us.ibm.com>
1411
1412         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/23871.cc:
1413         New.
1414
1415 2005-09-15  Benjamin Kosnik  <bkoz@redhat.com>
1416
1417         PR libstdc++/21674
1418         PR libstdc++/22205
1419         PR libstdc++/22222
1420         * include/bits/c++config: Set _GLIBCXX_STD regardless of __GXX_WEAK__.
1421         Add in check for __NO_INLINE__ for warning.
1422         * testsuite/lib/dg-options.exp (dg-require-debug-mode): New.
1423         * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode): New.
1424         * testsuite/21_strings/basic_string/element_access/char/21674.cc:
1425         Use it.
1426         * testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc:
1427         Use it.
1428
1429 2005-09-15  Paolo Carlini  <pcarlini@suse.de>
1430
1431         PR libstdc++/23875
1432         * include/std/std_ostream.h (operator<<(short), operator<<(unsigned
1433         short), operator<<(int), operator<<(unsigned int), operator<<(float)):
1434         Don't call operator<<(long), operator<<(unsigned long), or
1435         operator<<(double), do the work mandated by the resolution of DR117...
1436         * include/bits/ostream.tcc (operator<<(short), operator<<(unsigned
1437         short), operator<<(int), operator<<(unsigned int), operator<<(float)):
1438         ... here.
1439         * testsuite/27_io/basic_ostream/inserters_arithmetic/pod/23875.cc: New.
1440
1441 2005-09-15  Mark Mitchell  <mark@codesourcery.com>
1442
1443         * testsuite/testsuite_character.h: Specialize character<>
1444         templates in __gnu_cxx, not in __gnu_test.
1445
1446 2005-09-13  Jonathan Wakely  <cow@compsoc.man.ac.uk>
1447             Benjamin Kosnik  <bkoz@redhat.com>
1448
1449         PR libstdc++/21674
1450         * testsuite/21_strings/basic_string/element_access/char/21674.cc: New.
1451         * testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc:
1452         New.
1453
1454 2005-09-12  David Edelsohn  <dje@gcc.gnu.org>
1455
1456         PR libstdc++/22554
1457         PR libstdc++/23734
1458         * include/Makefile.am (stamp-assoc): Install each subgroup
1459         of headers separately.
1460         * include/Makefile.in: Regenerate.
1461
1462 2005-09-12  Benjamin Kosnik  <bkoz@redhat.com>
1463
1464         * testsuite/ext/mt_allocator/22309_thread.cc: Remove dg-do run.
1465         * testsuite/lib/libstdc++.exp ( proc libstdc++_init): Enable
1466         shared only for linux.
1467
1468 2005-09-12  Benjamin Kosnik  <bkoz@redhat.com>
1469             David Edelsohn  <dje@gcc.gnu.org>
1470
1471         PR libstdc++/22554
1472         PR libstdc++/23734
1473         * include/Makefile.am (assoc_headers): Break into five sub values.
1474         (install-headers): Use them.
1475         (stamp-assoc): Same.
1476         * include/Makefile.in: Regenerate.
1477
1478 2005-09-12  Chris Jefferson  <chris@bubblescope.net>
1479
1480         * include/bits/stl_algo.h (search_n): Delegate to specializations.
1481         (search_n(,,,,binary_predicate)): Likewise.
1482         (__search_n(forward_iterator_tag)): Original search_n, tweak to
1483         remove an unnecessary comparison.
1484         (__search_n(,,,,binary_predicate,forward_iterator_tag)): Likewise.
1485
1486 2005-09-12  Jim Xochellis  <jimxoch@yahoo.gr>
1487
1488         * include/bits/stl_algo.h
1489         (__search_n(std::random_access_iterator_tag)): Add specialization.
1490         (__search_n(,,,,binary_predicate,std::random_access_iterator_tag)):
1491         Likewise.
1492
1493 2005-09-12  Benjamin Kosnik  <bkoz@redhat.com>
1494
1495         PR libstdc++/23417
1496         * include/bits/stl_list.h (_List_impl): Use member initialization
1497         list for -Weffc++.
1498         * include/bits/stl_tree.h (_Rb_tree_impl): Same.
1499
1500 2005-09-12  Paolo Carlini  <pcarlini@suse.de>
1501
1502         PR libstdc++/23767
1503         * include/bits/stl_iterator.h (__normal_iterator::
1504         __normal_iterator<>(const __normal_iterator<_Iter, _Container>&)):
1505         Enable only when _Iter is equal to _Container::pointer.
1506         * testsuite/21_strings/basic_string/types/23767.cc: New.
1507         * testsuite/23_containers/vector/types/23767.cc: Likewise.
1508         * testsuite/ext/vstring/types/23767.cc: Likewise.
1509
1510 2005-09-11  Benjamin Kosnik  <bkoz@redhat.com>
1511
1512         PR libstdc++/19265
1513         PR libstdc++/22309
1514         * include/ext/mt_allocator.h
1515         (__gnu_cxx::__create_handler): Remove.
1516         (__pool<true>::_M_destroy_thread_key): Compatibility only.
1517         (__pool<true>::_M_initialize(__destroy): Same.
1518         (__pool<true>::_M_initialize): New.
1519         (__pool<true>::_M_initialize_once): Nothing fancy.
1520         (__pool<true>::_M_once): Remove.
1521         (__common_pool): New.
1522         (__common_pool_base): New.
1523         (__per_type_pool): New.
1524         (__per_type_pool_base): New.
1525         * src/mt_allocator.cc: Same.
1526         * config/linker-map.gnu (__pool<true>::_M_initialize()): Add.
1527
1528 2005-09-11  Jakub Jelinek  <jakub@redhat.com>
1529
1530         PR libstdc++/19265
1531         PR libstdc++/22309
1532         * src/mt_allocator.cc (__gnu_internal::freelist_mutex): Make static.
1533         (__gnu_internal::__freelist): New type.
1534         (__gnu_internal::freelist): New variable.
1535         (__gnu_internal::_M_destroy_thread_key): New function.
1536         (__gnu_cxx::__pool<true>::_M_destroy): Don't delete
1537         _M_thread_freelist_initial.
1538         (__gnu_cxx::__pool<true>::_M_initialize): Make argument nameless.
1539         Don't use _M_thread_freelist and _M_thread_freelist_initial
1540         __pool<true> fields, instead use __gnu_internal::freelist fields, call
1541         gthread_key_create just once.  Use
1542         __gnu_internal::_M_destroy_thread_key as key destructor.
1543         (__gnu_cxx::__pool<true>::_M_get_thread_id): Store size_t id
1544         rather than _Thread_record* in the thread specific value.  Don't
1545         use _M_thread_freelist __pool<true> field, instead use
1546         __gnu_internal::freelist fields.
1547         (__gnu_cxx::__pool<true>::_M_destroy_thread_key): Do nothing.
1548
1549 2005-09-11  Benjamin Kosnik  <bkoz@redhat.com>
1550             Jakub Jelinek  <jakub@redhat.com>
1551
1552         PR libstdc++/19265
1553         PR libstdc++/22309
1554         * testsuite/testsuite_shared.cc: New.
1555         * testsuite/lib/dg-options.exp (dg-require-sharedlib): New.
1556         * testsuite/lib/libstdc++.exp (libstdc++_init): Look for shared
1557         library, and set v3-sharedlib based on this.
1558         (check_v3_target_sharedlib): New.
1559         (proc v3-build_support): Build shared objects.
1560         * testsuite/ext/mt_allocator/22309_thread.cc: New, use above.
1561
1562 2005-09-11  Paolo Carlini  <pcarlini@suse.de>
1563
1564         PR libstdc++/23781
1565         * include/bits/stl_list.h (_List_iterator<>::
1566         _List_iterator(_List_node_base*), _List_const_iterator<>::
1567         _List_const_iterator(const _List_node_base*)): Make explicit.
1568         (list<>::begin(), list<>::end(), list<>::pop_back()): Adjust
1569         consistently.
1570         * include/bits/list.tcc (list<>::insert, list<>::erase): Adjust
1571         consistently.
1572         * include/bits/stl_tree.h (_Rb_tree_iterator<>::
1573         _Rb_tree_iterator(_Link_type), _Rb_tree_const_iterator<>::
1574         _Rb_tree_const_iterator(_Link_type)): Make explicit.
1575         (_Rb_tree<>::begin(), _Rb_tree<>::end()): Adjust consistently.
1576         * include/ext/slist (_Slist_iterator<>::_Slist_iterator(_Node*)):
1577         Make explicit.
1578         (slist<>::erase(iterator), slist<>::erase(iterator, iterator)):
1579         Adjust consistently.
1580         * include/tr1/hashtable (hashtable_iterator<>::
1581         hashtable_iterator(hash_node<>**)): Make explicit.
1582         * testsuite/23_containers/list/23781.cc: New.
1583         * testsuite/23_containers/map/23781.cc: Likewise.
1584         * testsuite/23_containers/multimap/23781.cc: Likewise.
1585         * testsuite/23_containers/multiset/23781.cc: Likewise.
1586         * testsuite/23_containers/set/23781.cc: Likewise.
1587         * testsuite/ext/slist/23781.cc: Likewise.
1588         * testsuite/tr1/6_containers/unordered/23781.cc: Likewise.
1589         * testsuite/23_containers/map/operators/1_neg.cc: Adjust dg-error
1590         line numbers.
1591         * testsuite/23_containers/set/operators/1_neg.cc: Likewise.
1592
1593         * include/tr1/array (array<>::begin(), array<>::end()): Adjust
1594         stylistically for consistency with the other containers.
1595
1596 2005-09-10  Joseph S. Myers  <joseph@codesourcery.com>
1597
1598         * testsuite/26_numerics/cmath/c99_classification_macros_c.cc:
1599         XFAIL on *-*-linux*, not *-*-linux-gnu.
1600
1601 2005-09-09  Benjamin Kosnik  <bkoz@redhat.com>
1602             Jakub Jelinek  <jakub@redhat.com>
1603
1604         * src/debug.cc (iterator_base_mutex): Make static for internal
1605         linkage.
1606         * src/locale_init.cc (locale_mutex): Same.
1607         * src/mt_allocator.cc (freelist_mutex): Same.
1608         * src/pool_allocator.cc (palloc_init_mutex): Same.
1609
1610 2005-09-02  Paolo Carlini  <pcarlini@suse.de>
1611
1612         * testsuite/tr1/6_containers/unordered/hashtable/23465.cc:
1613         Reduce maximum size and lf.
1614
1615 2005-09-01  Benjamin Kosnik  <bkoz@redhat.com>
1616
1617         * include/c_std/std_cmath.h: Declare C99 functions and helper
1618         functions as inline.
1619
1620 2005-09-01  Benjamin Kosnik  <bkoz@redhat.com>
1621             Paolo Carlini  <pcarlini@suse.de>
1622
1623         * testsuite/lib/libstdc++.exp (check_v3_target_cxa_atexit): Fix
1624         comment.
1625
1626 2005-09-01  Benjamin Kosnik  <bkoz@redhat.com>
1627
1628         * testsuite/lib/libstdc++.exp (check_v3_target_cxa_atexit): New.
1629         * testsuite/lib/dg-options.exp (dg-require-cxa-atexit): New.
1630         * testsuite/ext/mt_allocator/deallocate_local-6.cc: New.
1631         * testsuite/ext/mt_allocator/deallocate_local-8.cc: New.
1632         * testsuite/ext/mt_allocator/deallocate_local_thread-5.cc: New.
1633         * testsuite/ext/mt_allocator/deallocate_local_thread-7.cc: New.
1634         * docs/html/ext/mt_allocator.html: Add link to examples.
1635         * testsuite/testsuite_allocator.h: Tweak.
1636         * testsuite/ext/mt_allocator/deallocate_global-2.cc: Same.
1637         * testsuite/ext/mt_allocator/deallocate_global-4.cc: Same.
1638         * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Same.
1639         * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Same.
1640         * testsuite/ext/mt_allocator/deallocate_local-2.cc: Same.
1641         * testsuite/ext/mt_allocator/deallocate_local-4.cc: Same.
1642         * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Same.
1643         * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Same.
1644         * testsuite/ext/new_allocator/deallocate_global.cc: Same.
1645         * testsuite/ext/new_allocator/deallocate_local.cc: Same.
1646
1647 2005-08-31  Paolo Carlini  <pcarlini@suse.de>
1648             Kaspar Fischer <fischerk@inf.ethz.ch>
1649
1650         PR libstdc++/23632
1651         * include/bits/stl_bvector.h (_Bit_iterator::operator[],
1652         _Bit_const_iterator::operator[]): Const-ify.
1653         * testsuite/23_containers/vector/bool/23632.cc: New.
1654
1655 2005-08-30  Paolo Carlini  <pcarlini@suse.de>
1656
1657         PR libstdc++/23578 (cont)
1658         * include/bits/stl_bvector.h (class vector<bool>): Add
1659         a dummy data() to avoid problems in debug-mode.
1660
1661 2005-08-30  Paolo Carlini  <pcarlini@suse.de>
1662
1663         * testsuite/ext/hash_map/23528.cc: New.
1664
1665 2005-08-29  Paolo Carlini  <pcarlini@suse.de>
1666
1667         * include/bits/stl_map.h (class map): ... and a missing @a.
1668
1669 2005-08-29  Paolo Carlini  <pcarlini@suse.de>
1670
1671         * include/bits/stl_map.h (class map): Add missing % in comment.
1672
1673 2005-08-29  Paolo Carlini  <pcarlini@suse.de>
1674
1675         PR libstdc++/23578 (DR 464 [Ready])
1676         * include/bits/stl_map.h (class map): Add at(const key_type&)
1677         member functions.
1678         * include/bits/stl_vector.h (class vector): Add data() member
1679         functions.
1680         * include/debug/map.h (class map): Adjust consistently.
1681         * include/debug/vector (class vector): Likewise.
1682         * testsuite/23_containers/map/element_access/1.cc: New.
1683         * testsuite/23_containers/vector/data_access/1.cc: Likewise.
1684         * docs/html/ext/howto.html: Add an entry for DR 464.
1685
1686 2005-08-26  Benjamin Kosnik  <bkoz@redhat.com>
1687
1688         PR libstdc++/20534 (contd)
1689         * src/debug.cc (__gnu_debug): Remove __fancy_abort definition.
1690         Remove cstdio and cstdlib includes.
1691         * include/debug/debug.h: Define inline here. Remove
1692         _GLIBCXX_DEBUG_ABORT.
1693         * include/debug/macros.h: Remove __fancy_abort declaration,
1694         _GLIBXX_DEBUG_ABORT definition.
1695         * config/linker-map.gnu: Remove export.
1696
1697 2005-08-26  Benjamin Kosnik  <bkoz@redhat.com>
1698
1699         * scripts/check_compile (UNIQUE_ID): New. Use to name output files.
1700
1701 2005-08-26  Paolo Carlini  <pcarlini@suse.de>
1702
1703         PR libstdc++/23081
1704         * include/tr1/array: Implement members back(), front(), data(),
1705         and the tuple interface; tidy.
1706         * testsuite/tr1/6_containers/array/element_access/back.cc: New.
1707         * testsuite/tr1/6_containers/array/element_access/data.cc: Likewise.
1708         * testsuite/tr1/6_containers/array/element_access/front.cc: Likewise.
1709         * testsuite/tr1/6_containers/array/tuple_interface/get.cc: Likewise.
1710         * testsuite/tr1/6_containers/array/tuple_interface/tuple_element.cc:
1711         Likewise.
1712         * testsuite/tr1/6_containers/array/tuple_interface/tuple_size.cc:
1713         Likewise.
1714
1715 2005-08-25  Paolo Carlini  <pcarlini@suse.de>
1716
1717         * include/tr1/hashtable: Use __throw_exception_again,
1718         not naked throw, in the catch clauses.
1719
1720 2005-08-24  Lawrence Lim  <llim@redhat.com>
1721             Jakub Jelinek  <jakub@redhat.com>
1722             Benjamin Kosnik  <bkoz@redhat.com>
1723
1724         PR libstdc++/23550
1725         * testsuite/21_strings/char_traits/requirements/char/1.cc
1726         (test01): Simplify counting.
1727         * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc
1728         (test02): Same.
1729
1730 2005-08-24  Paolo Carlini  <pcarlini@suse.de>
1731             Chris Jefferson  <chris@bubblescope.net>
1732
1733         PR libstdc++/23465
1734         * include/tr1/hashtable (hash_code_base::m_swap): Use
1735         std::swap.
1736         (hashtable<>::hashtable(const hashtable&)): Use copy_code;
1737         fix m_allocate_node call.
1738         * testsuite/tr1/6_containers/unordered/hashtable/23465.cc: New.
1739
1740 2005-08-23  Kelley Cook  <kcook@gcc.gnu.org>
1741
1742         PR libstdc++/23462
1743         * testsuite/data/sgetn.txt: Revert to previous FSF address.
1744
1745 2005-08-23  Thomas Kho  <tkho@ucla.edu>
1746
1747         PR libstdc++/23358
1748         * include/bits/stl_construct.h (_Destroy(_ForwardIterator,
1749         _ForwardIterator, allocator<_Tp>)): Removed unused template parameter.
1750
1751 2005-08-22  Geoffrey Keating  <geoffk@apple.com>
1752
1753         * testsuite/23_containers/vector/resize/1.cc: XFAIL on darwin8.
1754         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
1755
1756 2005-08-19  J"orn Rennecke <joern.rennecke@st.com>
1757
1758         * config/cpu/sh/atomicity.h: Replace broken generic code with current
1759         copy of generic/atomicity.h .
1760
1761 2005-08-17  Kelley Cook  <kcook@gcc.gnu.org>
1762
1763         * All files: Update FSF address.
1764
1765 2005-08-09  Andrew Pinski  <pinskia@physics.uc.edu>
1766
1767         * testsuite/26_numerics/cmath/c99_classification_macros_c.cc:
1768         xfail on *-*-darwin*.
1769
1770 2005-08-03  Geoffrey Keating  <geoffk@apple.com>
1771
1772         * configure.ac: Don't use GCC_NO_EXECUTABLES or clear
1773         GLIBCXX_IS_NATIVE on Darwin crosses.
1774         * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Don't skip configuring
1775         the testsuite just because there's no symbol versioning.
1776         * configure: Regenerate.
1777
1778         * acinclude.m4 (GLIBCXX_CHECK_SETRLIMIT_ancilliary): Print
1779         status messages.
1780         (GLIBCXX_CHECK_S_ISREG_OR_S_IFREG): Likewise.
1781         (GLIBCXX_CHECK_POLL): Likewise.
1782         (GLIBCXX_CHECK_WRITEV): Likewise.
1783         (GLIBCXX_CHECK_INT64_T): Likewise.
1784         (GLIBCXX_CHECK_LFS): Likewise.
1785         * configure: Regenerate.
1786
1787 2005-07-30  Andrew Pinski  <pinskia@physics.uc.edu>
1788
1789         * scripts/make_exports.pl: Pass --strip-underscores to c++filt.
1790
1791 2005-07-29  H.J. Lu  <hongjiu.lu@intel.com>
1792
1793         PR libstdc++/22284
1794         * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Revert
1795         the change to info.ttype_base.
1796
1797 2005-07-28  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1798
1799         * include/std/std_valarray.h: Fix grammar in comments.
1800
1801 2005-07-25  Geoffrey Keating  <geoffk@apple.com>
1802
1803         * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Handle darwin-export,
1804         and make it the default for Darwin.
1805         * scripts/make-exports.pl: New.
1806         * src/Makefile.am: Update for changes to GLIBCXX_ENABLE_SYMVERS.
1807         Handle darwin-export.
1808         * configure: Regenerate.
1809         * include/Makefile.in: Regenerate.
1810         * libmath/Makefile.in: Regenerate.
1811         * libsupc++/Makefile.in: Regenerate.
1812         * po/Makefile.in: Regenerate.
1813         * src/Makefile.in: Regenerate.
1814         * testsuite/Makefile.in: Regenerate.
1815
1816 2005-07-25  Dave Odell  <evilalias@hotmail.com>
1817
1818         PR libstdc++/23053
1819         * include/tr1/hashtable (hashtable<>::find_node): Const-ify.
1820         * testsuite/tr1/6_containers/unordered/hashtable/23053.cc: New.
1821
1822 2005-07-25  Paolo Carlini  <pcarlini@suse.de>
1823
1824         PR libstdc++/22515
1825         * include/bits/basic_string.h: Declare the specialization
1826         operator>>(basic_istream<char>&, basic_string<char>&).
1827         * include/std/std_istream.h: Declate the specialization
1828         operator>>(basic_istream<char>&, char*).
1829         * include/std/std_streambuf.h (basic_streambuf): Add friend
1830         declarations for the above.
1831         * src/istream.cc: Define the above.
1832         * testsuite/27_io/basic_istream/extractors_character/char/4.cc: New.
1833         * testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc:
1834         Likewise.
1835         * testsuite/performance/27_io/ifstream_extract_chars.cc: Likewise.
1836
1837 2005-07-20  Paolo Carlini  <pcarlini@suse.de>
1838
1839         * include/bits/streambuf.tcc (xsgetn, xsputn): Use streamsize
1840         instead of size_t.
1841         * src/streambuf.cc (__copy_streambufs): Likewise.
1842
1843 2005-07-18  Paolo Carlini  <pcarlini@suse.de>
1844
1845         * config/locale/gnu/ctype_members.cc (do_is(mask, wchar_t)):
1846         Speed-up for the common case of mask == ctype_base::space;
1847         otherwise, exit the loop earlier if the mask is one of the
1848         elementary ones.
1849
1850 2005-07-14  Paolo Carlini  <pcarlini@suse.de>
1851
1852         PR libstdc++/21193 (float, double, long double)
1853         * include/tr1/functional (hash<float>, hash<double>):
1854         Reimplement exploiting the Fnv_hash<>::hash helper.
1855         (hash<long double>): Reimplement using frexp (in this
1856         case, due to random padding bits, the former approach
1857         is not generally viable).
1858
1859 2005-07-13  Paolo Carlini  <pcarlini@suse.de>
1860
1861         PR libstdc++/21193 (string & wstring)
1862         * include/tr1/functional (hash<string>, hash<wstring>):
1863         Reimplement using the FNV hash.
1864
1865         * include/tr1/functional: Trivial formatting fixes.
1866
1867 2005-07-11  Paolo Carlini  <pcarlini@suse.de>
1868
1869         * include/bits/ostream.tcc (basic_ostream<>::operator<<(long),
1870         basic_ostream<>::operator<<(long long)): Don't deal with oct
1871         and hex and casts to unsigned here...
1872         * include/bits/locale_facets.tcc (__int_to_char(_CharT*, long,
1873         const _CharT*, ios_base::fmtflags), __int_to_char(_CharT*, long
1874         long, const _CharT*, ios_base::fmtflags)): ... do that here,
1875         instead, as per Table 57.
1876         (num_put<>::_M_insert_int): Tidy treatment of numeric base and
1877         sign.
1878         * include/std/std_ostream.h (operator<<(short), operator<<(int)):
1879         Adjust logic, as per the letter of the resolution of DR117 [WP].
1880         * testsuite/22_locale/num_put/put/char/10.cc: New.
1881         * testsuite/22_locale/num_put/put/wchar_t/10.cc: Likewise.
1882         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/7.cc:
1883         Likewise.
1884         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/7.cc:
1885         Likewise.
1886
1887 2005-07-07  David Edelsohn  <edelsohn@gnu.org>
1888
1889         * testsuite/ext/pb_assoc/example/tree_order_statistics_join.cc:
1890         Change map_t to map_type.
1891
1892 2005-07-05  Paolo Carlini  <pcarlini@suse.de>
1893
1894         Add class __versa_string, a versatile "basic_string-type" class:
1895         an additional, non-standard, template parameter allows to specify
1896         the preferred base class. Two are provided: __rc_string_base,
1897         which implements a behavior very similar to our standard string,
1898         and __sso_string_base, not reference-counted and optimized for
1899         short strings.
1900         * include/ext/rc_string_base.h: New.
1901         * include/ext/sso_string_base.h: Likewise.
1902         * include/ext/vstring.h: Likewise.
1903         * include/ext/vstring.tcc: Likewise.
1904         * include/ext/vstring_fwd.h: Likewise.
1905         * include/ext/vstring_util.h: Likewise.
1906         * include/Makefile.am: Add.
1907         * include/Makefile.in: Regenerate.
1908         * testsuite/ext/vstring/explicit_instantiation/1.cc: New.
1909         * testsuite/ext/vstring/explicit_instantiation/2.cc: Likewise.
1910         * testsuite/ext/vstring/explicit_instantiation/char/1.cc: Likewise.
1911         * testsuite/ext/vstring/explicit_instantiation/wchar_t/1.cc: Likewise.
1912
1913         * Makefile.in: Regenerate with autotools 1.9.3 (to date, the version
1914         officially used by v3).
1915         * aclocal.m4: Likewise.
1916         * libmath/Makefile.in: Likewise.
1917         * libsupc++/Makefile.in: Likewise.
1918         * po/Makefile.in: Likewise.
1919         * src/Makefile.in: Likewise.
1920         * testsuite/Makefile.in: Likewise.
1921
1922 2005-07-01  Paolo Carlini  <pcarlini@suse.de>
1923
1924         Port from libstdcxx_so_7-branch:
1925         2004-10-28  Chris Jefferson  <chris@bubblescope.net>
1926
1927         PR libstdc++/17441
1928         * include/bit/stl_algo.h (find(,,,input_iterator_tag),
1929         find(,,,random_access_interator_tag),
1930         find_if(,,,input_iterator_tag),
1931         find_if(,,,random_access_iterator_tag)): Uglify function name.
1932         (find, find_if): Use new uglified specialisation names.
1933         * testsuite/25_algorithms/find/17441.cc: New.
1934
1935 2005-06-30  Ulrich Weigand  <uweigand@de.ibm.com>
1936
1937         * include/ext/pb_assoc/detail/hash_fn/mask_based_range_hashing.hpp
1938         (PB_ASSOC_CLASS_C_DEC::s_highest_bit_1): Cast constant 1 to target
1939         type before shifting.
1940
1941 2005-06-29  Paolo Carlini  <pcarlini@suse.de>
1942
1943         PR libstdc++/21244 (cont^2)
1944         * include/ext/bitmap_allocator.h: Convert everywhere
1945         bits_per_block to size_t.
1946
1947 2005-06-29  Jonathan Wakely  <redi@gcc.gnu.org>
1948
1949         * include/bits/basic_string.h, include/bits/locale_facets.h: Fix
1950         Doxygen comments that use wrong parameter and function names.
1951
1952 2005-06-29  Paolo Carlini  <pcarlini@suse.de>
1953
1954         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 37.
1955         * docs/html/ext/howto.html: Adjust.
1956
1957 2005-06-29  Paolo Carlini  <pcarlini@suse.de>
1958
1959         PR libstdc++/22131
1960         * include/bits/locale_facets.tcc (num_get<>::_M_extract_int,
1961         num_get<>::_M_extract_float, money_get<>::_M_extract):
1962         Adjust to assign the result also when digit grouping is
1963         wrong (but the grammar is correct), as per 22.2.2.1.2, p11-12
1964         (NB: consistently for money_get too).
1965         * config/locale/generic/c_locale.cc (__convert_to_v): Do
1966         not check ios_base::failbit at the outset.
1967         * config/locale/gnu/c_locale.cc: Likewise.
1968         * testsuite/22_locale/money_get/get/char/22131.cc: New.
1969         * testsuite/22_locale/money_get/get/wchar_t/22131.cc: Likewise.
1970         * testsuite/22_locale/num_get/get/char/22131.cc: Likewise.
1971         * testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise.
1972         * testsuite/22_locale/num_get/get/char/12.cc: Adjust.
1973         * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
1974         * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
1975         Likewise.
1976         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/07.cc:
1977         Likewise.
1978
1979 2005-06-28  Paul Brook  <paul@codesourcery.com>
1980
1981         * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Check for
1982         __cxa_end_cleanup.
1983         * libsupc++/Makefile.am (sources): Add eh_call.c and eh_arm.c.
1984         * libsupc++/eh_arm.cc: New file.
1985         * libsupc++/eh_call.cc: New file.
1986         * libsupc++/eh_catch.cc (__cxa_get_exception_ptr): Use
1987         __gxx_caught_object.
1988         (__cxa_begin_catch): Ditto. Use __is_gxx_exception_class. Call
1989         _Unwind_Complete when using the ARM EABI.
1990         (__cxa_end_catch): Use __is_gxx_exception_class.
1991         * libsupc++/eh_personality.cc: Define NO_SIZE_OF_ENCODED_VALUE when
1992         using the ARM EABI.
1993         (save_caught_exception, restore_caught_exception): New functions.
1994         (_throw_typet): New typedef.
1995         (get_ttype_entry, get_adjusted_ptr, check_exception_spec): Add ARM
1996         EABI implementations.
1997         (PERSONALITY_FUNCTION): Use new functions.  Addd support for ARM EABI
1998         unwinding libary.
1999         (__cxa_unexpected): Disable when using the ARM EABI.
2000         * libsupc++/eh_throw.cc (__cxa_throw): Use __GXX_INIT_EXCEPTION_CLASS.
2001         (__cxa_rethrow): Use __is_gxx_exception_class.  Call
2002         _Unwind_RaiseException when using the ARM EABI.
2003         * libsupc++/unwind-cxx.h (struct __cxa_exception): Add fields for ARM
2004         EABI semantics.
2005         (struct __cxa_eh_globals): Ditto.
2006         (__cxa_call_terminate): Add prototype.
2007         (__cxa_type_match, __cxa_begin_cleanup, __cxa_end_cleanup): Add
2008         prototypes.
2009         (__get_exception_header_from_obj, __get_exception_header_from_ue):
2010         Move earlier in file.
2011         (__is_gxx_exception_class, __GXX_INIT_EXCEPTION_CLASS,
2012         __gxx_caught_object): New functions.
2013         * aclocal.m4: Regenerate.
2014         * configure: Regenerate.
2015         * Makefile.in: Regenerate.
2016         * include/Makefile.in: Regenerate.
2017         * libmath/Makefile.in: Regenerate.
2018         * libsupc++/Makefile.in: Regenerate.
2019         * po/Makefile.in: Regenerate.
2020         * src/Makefie.in: Regenerate.
2021         * testsuite/makefile.in: Regenerate.
2022
2023 2005-06-27  Paolo Carlini  <pcarlini@suse.de>
2024
2025         PR libstdc++/22102
2026         * include/bits/stl_tree.h (insert_unique(iterator, const _Val&),
2027         insert_equal((iterator, const _Val&)): Reimplement to check both
2028         before and after, as per the algorithm "ignore hint if wrong" of
2029         ISO paper N1780.
2030
2031 2005-06-27  Benjamin Kosnik  <bkoz@redhat.com>
2032             Ami Tavory  <pbassoc@gmail.com>
2033
2034         * docs/html/documentation.html: Add link for policy based
2035         associative containers docs.
2036         * docs/html/ext/pb_assoc/Std_hash_set_impl.jpg: New.
2037         * docs/html/ext/pb_assoc/acks.html: New.
2038         * docs/html/ext/pb_assoc/balls_and_bins.jpg: New.
2039         * docs/html/ext/pb_assoc/basic_assoc_cntnr.html: New.
2040         * docs/html/ext/pb_assoc/basic_assoc_cntnr_compound_data.html: New.
2041         * docs/html/ext/pb_assoc/basic_assoc_cntnr_no_data.html: New.
2042         * docs/html/ext/pb_assoc/basic_ds_tag.html: New.
2043         * docs/html/ext/pb_assoc/basic_hash_assoc_cntnr.html: New.
2044         * docs/html/ext/pb_assoc/basic_hash_ds_tag.html: New.
2045         * docs/html/ext/pb_assoc/basic_invalidation_guarantee.html: New.
2046         * docs/html/ext/pb_assoc/basic_ms_tag.html: New.
2047         * docs/html/ext/pb_assoc/basic_tree_assoc_cntnr.html: New.
2048         * docs/html/ext/pb_assoc/
2049           basic_tree_assoc_cntnr_const_node_iterator.html: New.
2050         * docs/html/ext/pb_assoc/
2051           basic_tree_assoc_cntnr_node_iterator.html: New.
2052         * docs/html/ext/pb_assoc/basic_tree_assoc_cntnr_rev.html: New.
2053         * docs/html/ext/pb_assoc/basic_tree_assoc_cntnr_rev_it.html: New.
2054         * docs/html/ext/pb_assoc/basic_tree_ds_tag.html: New.
2055         * docs/html/ext/pb_assoc/cc_hash_assoc_cntnr.html: New.
2056         * docs/html/ext/pb_assoc/cc_hash_ds_tag.html: New.
2057         * docs/html/ext/pb_assoc/
2058           cc_hash_max_collision_check_resize_trigger.html: New.
2059         * docs/html/ext/pb_assoc/cc_hash_policy_cd.jpg: New.
2060         * docs/html/ext/pb_assoc/cd.jpg: New.
2061         * docs/html/ext/pb_assoc/component_requirements.html: New.
2062         * docs/html/ext/pb_assoc/compound_data_enabled_ms_tag.html: New.
2063         * docs/html/ext/pb_assoc/compound_data_type.html: New.
2064         * docs/html/ext/pb_assoc/compound_ds_tag.html: New.
2065         * docs/html/ext/pb_assoc/concepts.html: New.
2066         * docs/html/ext/pb_assoc/contact.html: New.
2067         * docs/html/ext/pb_assoc/counter_update_metadata.html: New.
2068         * docs/html/ext/pb_assoc/counter_update_policy.html: New.
2069         * docs/html/ext/pb_assoc/data_enabled_ms_tag.html: New.
2070         * docs/html/ext/pb_assoc/design.html: New.
2071         * docs/html/ext/pb_assoc/different_underlying_dss.jpg: New.
2072         * docs/html/ext/pb_assoc/direct_mask_range_hashing.html: New.
2073         * docs/html/ext/pb_assoc/direct_mod_range_hashing.html: New.
2074         * docs/html/ext/pb_assoc/disclaimer.html: New.
2075         * docs/html/ext/pb_assoc/ds_gen.html: New.
2076         * docs/html/ext/pb_assoc/ds_tag_cd.jpg: New.
2077         * docs/html/ext/pb_assoc/ds_traits.html: New.
2078         * docs/html/ext/pb_assoc/embedded_lists_1.jpg: New.
2079         * docs/html/ext/pb_assoc/embedded_lists_2.jpg: New.
2080         * docs/html/ext/pb_assoc/examples.html: New.
2081         * docs/html/ext/pb_assoc/exception_guarantees_specifics.html: New.
2082         * docs/html/ext/pb_assoc/find_invalidation_guarantee.html: New.
2083         * docs/html/ext/pb_assoc/find_iterators_cd.jpg: New.
2084         * docs/html/ext/pb_assoc/find_iterators_range_ops_1.jpg: New.
2085         * docs/html/ext/pb_assoc/find_iterators_range_ops_2.jpg: New.
2086         * docs/html/ext/pb_assoc/generics.html: New.
2087         * docs/html/ext/pb_assoc/gp_hash_assoc_cntnr.html: New.
2088         * docs/html/ext/pb_assoc/gp_hash_ds_tag.html: New.
2089         * docs/html/ext/pb_assoc/gp_hash_policy_cd.jpg: New.
2090         * docs/html/ext/pb_assoc/hash_and_probe_general.html: New.
2091         * docs/html/ext/pb_assoc/hash_based_containers.html: New.
2092         * docs/html/ext/pb_assoc/hash_cd.jpg: New.
2093         * docs/html/ext/pb_assoc/hash_exponential_size_policy.html: New.
2094         * docs/html/ext/pb_assoc/hash_fn.html: New.
2095         * docs/html/ext/pb_assoc/hash_load_check_resize_trigger.html: New.
2096         * docs/html/ext/pb_assoc/hash_policies.html: New.
2097         * docs/html/ext/pb_assoc/hash_policy_cd.jpg: New.
2098         * docs/html/ext/pb_assoc/hash_prime_size_policy.html: New.
2099         * docs/html/ext/pb_assoc/hash_range_hashing_seq_diagram.jpg: New.
2100         * docs/html/ext/pb_assoc/hash_range_hashing_seq_diagram2.jpg: New.
2101         * docs/html/ext/pb_assoc/hash_ranged_hash_range_hashing_fns.jpg: New.
2102         * docs/html/ext/pb_assoc/hash_standard_resize_policy.html: New.
2103         * docs/html/ext/pb_assoc/home.html: New.
2104         * docs/html/ext/pb_assoc/index.html: New.
2105         * docs/html/ext/pb_assoc/insert_resize_sequence_diagram1.jpg: New.
2106         * docs/html/ext/pb_assoc/insert_resize_sequence_diagram2.jpg: New.
2107         * docs/html/ext/pb_assoc/insert_resize_sequence_diagram3.jpg: New.
2108         * docs/html/ext/pb_assoc/insert_type_methods.html: New.
2109         * docs/html/ext/pb_assoc/interface.html: New.
2110         * docs/html/ext/pb_assoc/interval_node_invariants.jpg: New.
2111         * docs/html/ext/pb_assoc/introduction.html: New.
2112         * docs/html/ext/pb_assoc/invalidation_guarantee_cd.jpg: New.
2113         * docs/html/ext/pb_assoc/invalidation_guarantee_erase.jpg: New.
2114         * docs/html/ext/pb_assoc/lib_download.html: New.
2115         * docs/html/ext/pb_assoc/linear_probe_fn.html: New.
2116         * docs/html/ext/pb_assoc/list_updates.html: New.
2117         * docs/html/ext/pb_assoc/lu_assoc_cntnr.html: New.
2118         * docs/html/ext/pb_assoc/lu_based_containers.html: New.
2119         * docs/html/ext/pb_assoc/lu_cd.jpg: New.
2120         * docs/html/ext/pb_assoc/lu_ds_tag.html: New.
2121         * docs/html/ext/pb_assoc/lu_ops.jpg: New.
2122         * docs/html/ext/pb_assoc/mmap_value_utils.html: New.
2123         * docs/html/ext/pb_assoc/motivation.html: New.
2124         * docs/html/ext/pb_assoc/move_to_front_update_metadata.html: New.
2125         * docs/html/ext/pb_assoc/move_to_front_update_policy.html: New.
2126         * docs/html/ext/pb_assoc/ms_cd.jpg: New.
2127         * docs/html/ext/pb_assoc/ms_gen.html: New.
2128         * docs/html/ext/pb_assoc/ms_tag_cd.jpg: New.
2129         * docs/html/ext/pb_assoc/ms_traits.html: New.
2130         * docs/html/ext/pb_assoc/node_invariant_invalidations.jpg: New.
2131         * docs/html/ext/pb_assoc/node_invariants.html: New.
2132         * docs/html/ext/pb_assoc/node_invariants.jpg: New.
2133         * docs/html/ext/pb_assoc/non_unique_mapping.html: New.
2134         * docs/html/ext/pb_assoc/non_unique_mapping_containers.jpg: New.
2135         * docs/html/ext/pb_assoc/null_data_type.html: New.
2136         * docs/html/ext/pb_assoc/null_hash_fn.html: New.
2137         * docs/html/ext/pb_assoc/null_probe_fn.html: New.
2138         * docs/html/ext/pb_assoc/order_by_key.html: New.
2139         * docs/html/ext/pb_assoc/order_statistics_key.html: New.
2140         * docs/html/ext/pb_assoc/order_statistics_key_cmp.html: New.
2141         * docs/html/ext/pb_assoc/order_statistics_node_updator.html: New.
2142         * docs/html/ext/pb_assoc/ov_tree_ds_tag.html: New.
2143         * docs/html/ext/pb_assoc/overview.html: New.
2144         * docs/html/ext/pb_assoc/pb_assoc_ex.html: New.
2145         * docs/html/ext/pb_assoc/portability.html: New.
2146         * docs/html/ext/pb_assoc/quadratic_probe_fn.html: New.
2147         * docs/html/ext/pb_assoc/range_invalidation_guarantee.html: New.
2148         * docs/html/ext/pb_assoc/rank_node_invariants.jpg: New.
2149         * docs/html/ext/pb_assoc/rationale_null_node_updator.jpg: New.
2150         * docs/html/ext/pb_assoc/rb_tree_ds_tag.html: New.
2151         * docs/html/ext/pb_assoc/reference_iterator.jpg: New.
2152         * docs/html/ext/pb_assoc/references.html: New.
2153         * docs/html/ext/pb_assoc/regression_tests.html: New.
2154         * docs/html/ext/pb_assoc/resize_general.html: New.
2155         * docs/html/ext/pb_assoc/resize_policies.html: New.
2156         * docs/html/ext/pb_assoc/resize_policy_cd.jpg: New.
2157         * docs/html/ext/pb_assoc/restoring_node_invariants.jpg: New.
2158         * docs/html/ext/pb_assoc/sample_node_updator.hpp: New.
2159         * docs/html/ext/pb_assoc/sample_probe_fn.hpp: New.
2160         * docs/html/ext/pb_assoc/sample_probe_fn.html: New.
2161         * docs/html/ext/pb_assoc/sample_range_hashing.hpp: New.
2162         * docs/html/ext/pb_assoc/sample_range_hashing.html: New.
2163         * docs/html/ext/pb_assoc/sample_ranged_hash_fn.hpp: New.
2164         * docs/html/ext/pb_assoc/sample_ranged_hash_fn.html: New.
2165         * docs/html/ext/pb_assoc/sample_ranged_probe_fn.hpp: New.
2166         * docs/html/ext/pb_assoc/sample_ranged_probe_fn.html: New.
2167         * docs/html/ext/pb_assoc/sample_resize_policy.hpp: New.
2168         * docs/html/ext/pb_assoc/sample_resize_policy.html: New.
2169         * docs/html/ext/pb_assoc/sample_resize_trigger.hpp: New.
2170         * docs/html/ext/pb_assoc/sample_size_policy.hpp: New.
2171         * docs/html/ext/pb_assoc/sample_update_policy.hpp: New.
2172         * docs/html/ext/pb_assoc/size_policies_general.html: New.
2173         * docs/html/ext/pb_assoc/splay_tree_ds_tag.html: New.
2174         * docs/html/ext/pb_assoc/timing_tests.html: New.
2175         * docs/html/ext/pb_assoc/toc.html: New.
2176         * docs/html/ext/pb_assoc/tree_assoc_cntnr.html: New.
2177         * docs/html/ext/pb_assoc/
2178           tree_assoc_cntnr_const_node_iterator.html: New.
2179         * docs/html/ext/pb_assoc/tree_assoc_cntnr_node_iterator.html: New.
2180         * docs/html/ext/pb_assoc/tree_based_containers.html: New.
2181         * docs/html/ext/pb_assoc/tree_cd.jpg: New.
2182         * docs/html/ext/pb_assoc/trigger_policies_general.html: New.
2183         * docs/html/ext/pb_assoc/tutorial.html: New.
2184         * docs/html/ext/pb_assoc/update_seq_diagram.jpg: New.
2185         * include/Makefile.am: Add assoc_srcdir, assoc_builddir, assoc_subdir,
2186         assoc_headers.
2187         * include/Makefile.in: Regenerate.
2188         * include/ext/typelist.h: New.
2189         * include/ext/pb_assoc/assoc_cntnr.hpp: New.
2190         * include/ext/pb_assoc/data_type.hpp: New.
2191         * include/ext/pb_assoc/ds_trait.hpp: New.
2192         * include/ext/pb_assoc/exception.hpp: New.
2193         * include/ext/pb_assoc/hash_policy.hpp: New.
2194         * include/ext/pb_assoc/lu_policy.hpp: New.
2195         * include/ext/pb_assoc/ms_trait.hpp: New.
2196         * include/ext/pb_assoc/tree_policy.hpp: New.
2197         * include/ext/pb_assoc/trivial_iterator_def.hpp: New.
2198         * include/ext/pb_assoc/detail/assoc_cntnr_base.hpp: New.
2199         * include/ext/pb_assoc/detail/cond_dealtor.hpp: New.
2200         * include/ext/pb_assoc/detail/constructors_destructor_fn_imps.hpp: New.
2201         * include/ext/pb_assoc/detail/ds_trait_imp.hpp: New.
2202         * include/ext/pb_assoc/detail/hash_types_traits.hpp: New.
2203         * include/ext/pb_assoc/detail/map_debug_base.hpp: New.
2204         * include/ext/pb_assoc/detail/mapping_level_imp.hpp: New.
2205         * include/ext/pb_assoc/detail/ms_category_imp.hpp: New.
2206         * include/ext/pb_assoc/detail/ms_trait_imp.hpp: New.
2207         * include/ext/pb_assoc/detail/order_statistics_imp.hpp: New.
2208         * include/ext/pb_assoc/detail/standard_policies.hpp: New.
2209         * include/ext/pb_assoc/detail/standard_sizes.hpp: New.
2210         * include/ext/pb_assoc/detail/type_utils.hpp: New.
2211         * include/ext/pb_assoc/detail/typelist.hpp: New.
2212         * include/ext/pb_assoc/detail/types_traits.hpp: New.
2213         * include/ext/pb_assoc/detail/basic_assoc_cntnr/
2214           constructor_destructor_fn_imps.hpp: New.
2215         * include/ext/pb_assoc/detail/basic_assoc_cntnr/
2216           constructors_destructor_fn_imps.hpp: New.
2217         * include/ext/pb_assoc/detail/basic_assoc_cntnr/d_extract_key.hpp: New.
2218         * include/ext/pb_assoc/detail/basic_assoc_cntnr/
2219           d_find_fn_imps.hpp: New.
2220         * include/ext/pb_assoc/detail/basic_assoc_cntnr/
2221           d_insert_fn_imps.hpp: New.
2222         * include/ext/pb_assoc/detail/basic_assoc_cntnr/erase_fn_imps.hpp: New.
2223         * include/ext/pb_assoc/detail/basic_assoc_cntnr/extract_key.hpp: New.
2224         * include/ext/pb_assoc/detail/basic_assoc_cntnr/info_fn_imps.hpp: New.
2225         * include/ext/pb_assoc/detail/basic_assoc_cntnr/
2226           insert_fn_imps.hpp: New.
2227         * include/ext/pb_assoc/detail/basic_assoc_cntnr/
2228           iterators_fn_imps.hpp: New.
2229         * include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/
2230           constructor_destructor_fn_imps.hpp: New.
2231         * include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/
2232           constructors_destructor_fn_imps.hpp: New.
2233         * include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/
2234           resize_fn_imps.hpp: New.
2235         * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
2236           constructor_destructor_fn_imps.hpp: New.
2237         * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
2238           constructors_destructor_fn_imps.hpp: New.
2239         * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
2240           erase_fn_imps.hpp: New.
2241         * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
2242           node_iteration_fn_imps.hpp: New.
2243         * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
2244           policy_access_fn_imps.hpp: New.
2245         * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
2246           r_erase_fn_imps.hpp: New.
2247         * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
2248           r_range_iteration_fn_imps.hpp: New.
2249         * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
2250           range_iteration_fn_imps.hpp: New.
2251         * include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/
2252           split_join_fn_imps.hpp: New.
2253         * include/ext/pb_assoc/detail/bin_search_tree_/
2254           bin_search_tree_.hpp: New.
2255         * include/ext/pb_assoc/detail/bin_search_tree_/
2256           cond_dtor_entry_dealtor.hpp: New.
2257         * include/ext/pb_assoc/detail/bin_search_tree_/
2258           cond_key_dtor_entry_dealtor.hpp: New.
2259         * include/ext/pb_assoc/detail/bin_search_tree_/
2260           constructors_destructor_fn_imps.hpp: New.
2261         * include/ext/pb_assoc/detail/bin_search_tree_/debug_fn_imps.hpp: New.
2262         * include/ext/pb_assoc/detail/bin_search_tree_/erase_fn_imps.hpp: New.
2263         * include/ext/pb_assoc/detail/bin_search_tree_/find_fn_imps.hpp: New.
2264         * include/ext/pb_assoc/detail/bin_search_tree_/find_iterators.hpp: New.
2265         * include/ext/pb_assoc/detail/bin_search_tree_/info_fn_imps.hpp: New.
2266         * include/ext/pb_assoc/detail/bin_search_tree_/insert_fn_imps.hpp: New.
2267         * include/ext/pb_assoc/detail/bin_search_tree_/
2268           iterators_fn_imps.hpp: New.
2269         * include/ext/pb_assoc/detail/bin_search_tree_/node_iterators.hpp: New.
2270         * include/ext/pb_assoc/detail/bin_search_tree_/
2271           r_erase_fn_imps.hpp: New.
2272         * include/ext/pb_assoc/detail/bin_search_tree_/rotate_fn_imps.hpp: New.
2273         * include/ext/pb_assoc/detail/bin_search_tree_/
2274           split_join_fn_imps.hpp: New.
2275         * include/ext/pb_assoc/detail/cc_hash_assoc_cntnr/
2276           constructor_destructor_fn_imps.hpp: New.
2277         * include/ext/pb_assoc/detail/cc_ht_map_/cc_ht_map_.hpp: New.
2278         * include/ext/pb_assoc/detail/cc_ht_map_/cmp_fn_imps.hpp: New.
2279         * include/ext/pb_assoc/detail/cc_ht_map_/
2280           cond_key_dtor_entry_dealtor.hpp: New.
2281         * include/ext/pb_assoc/detail/cc_ht_map_/
2282           constructor_destructor_fn_imps.hpp: New.
2283         * include/ext/pb_assoc/detail/cc_ht_map_/
2284           constructor_destructor_no_store_hash_fn_imps.hpp: New.
2285         * include/ext/pb_assoc/detail/cc_ht_map_/
2286           constructor_destructor_store_hash_fn_imps.hpp: New.
2287         * include/ext/pb_assoc/detail/cc_ht_map_/debug_fn_imps.hpp: New.
2288         * include/ext/pb_assoc/detail/cc_ht_map_/
2289           debug_no_store_hash_fn_imps.hpp: New.
2290         * include/ext/pb_assoc/detail/cc_ht_map_/
2291           debug_store_hash_fn_imps.hpp: New.
2292         * include/ext/pb_assoc/detail/cc_ht_map_/entry_list_fn_imps.hpp: New.
2293         * include/ext/pb_assoc/detail/cc_ht_map_/erase_fn_imps.hpp: New.
2294         * include/ext/pb_assoc/detail/cc_ht_map_/
2295           erase_no_store_hash_fn_imps.hpp: New.
2296         * include/ext/pb_assoc/detail/cc_ht_map_/
2297           erase_store_hash_fn_imps.hpp: New.
2298         * include/ext/pb_assoc/detail/cc_ht_map_/
2299           find_fn_imps.hpp: New.
2300         * include/ext/pb_assoc/detail/cc_ht_map_/
2301           find_no_store_hash_fn_imps.hpp: New.
2302         * include/ext/pb_assoc/detail/cc_ht_map_/
2303           find_store_hash_fn_imps.hpp: New.
2304         * include/ext/pb_assoc/detail/cc_ht_map_/info_fn_imps.hpp: New.
2305         * include/ext/pb_assoc/detail/cc_ht_map_/insert_fn_imps.hpp: New.
2306         * include/ext/pb_assoc/detail/cc_ht_map_/
2307           insert_no_store_hash_fn_imps.hpp: New.
2308         * include/ext/pb_assoc/detail/cc_ht_map_/
2309           insert_store_hash_fn_imps.hpp: New.
2310         * include/ext/pb_assoc/detail/cc_ht_map_/iterators_fn_imps.hpp: New.
2311         * include/ext/pb_assoc/detail/cc_ht_map_/
2312           policy_access_fn_imps.hpp: New.
2313         * include/ext/pb_assoc/detail/cc_ht_map_/resize_fn_imps.hpp: New.
2314         * include/ext/pb_assoc/detail/cc_ht_map_/
2315           resize_no_store_hash_fn_imps.hpp: New.
2316         * include/ext/pb_assoc/detail/cc_ht_map_/
2317           resize_store_hash_fn_imps.hpp: New.
2318         * include/ext/pb_assoc/detail/cc_ht_map_/size_fn_imps.hpp: New.
2319         * include/ext/pb_assoc/detail/cc_ht_map_/standard_policies.hpp: New.
2320         * include/ext/pb_assoc/detail/eq_fn/eq_by_less.hpp: New.
2321         * include/ext/pb_assoc/detail/eq_fn/hash_eq_fn.hpp: New.
2322         * include/ext/pb_assoc/detail/gp_hash_assoc_cntnr/
2323           constructor_destructor_fn_imps.hpp: New.
2324         * include/ext/pb_assoc/detail/gp_ht_map_/
2325           constructor_destructor_fn_imps.hpp: New.
2326         * include/ext/pb_assoc/detail/gp_ht_map_/
2327           constructor_destructor_no_store_hash_fn_imps.hpp: New.
2328         * include/ext/pb_assoc/detail/gp_ht_map_/
2329           constructor_destructor_store_hash_fn_imps.hpp: New.
2330         * include/ext/pb_assoc/detail/gp_ht_map_/debug_fn_imps.hpp: New.
2331         * include/ext/pb_assoc/detail/gp_ht_map_/
2332           debug_no_store_hash_fn_imps.hpp: New.
2333         * include/ext/pb_assoc/detail/gp_ht_map_/
2334           debug_store_hash_fn_imps.hpp: New.
2335         * include/ext/pb_assoc/detail/gp_ht_map_/erase_fn_imps.hpp: New.
2336         * include/ext/pb_assoc/detail/gp_ht_map_/
2337           erase_no_store_hash_fn_imps.hpp: New.
2338         * include/ext/pb_assoc/detail/gp_ht_map_/
2339           erase_store_hash_fn_imps.hpp: New.
2340         * include/ext/pb_assoc/detail/gp_ht_map_/find_fn_imps.hpp: New.
2341         * include/ext/pb_assoc/detail/gp_ht_map_/
2342           find_no_store_hash_fn_imps.hpp: New.
2343         * include/ext/pb_assoc/detail/gp_ht_map_/
2344           find_store_hash_fn_imps.hpp: New.
2345         * include/ext/pb_assoc/detail/gp_ht_map_/gp_ht_map_.hpp: New.
2346         * include/ext/pb_assoc/detail/gp_ht_map_/info_fn_imps.hpp: New.
2347         * include/ext/pb_assoc/detail/gp_ht_map_/insert_fn_imps.hpp: New.
2348         * include/ext/pb_assoc/detail/gp_ht_map_/
2349           insert_no_store_hash_fn_imps.hpp: New.
2350         * include/ext/pb_assoc/detail/gp_ht_map_/
2351           insert_store_hash_fn_imps.hpp: New.
2352         * include/ext/pb_assoc/detail/gp_ht_map_/iterator_fn_imps.hpp: New.
2353         * include/ext/pb_assoc/detail/gp_ht_map_/
2354           policy_access_fn_imps.hpp: New.
2355         * include/ext/pb_assoc/detail/gp_ht_map_/resize_fn_imps.hpp: New.
2356         * include/ext/pb_assoc/detail/gp_ht_map_/
2357           resize_no_store_hash_fn_imps.hpp: New.
2358         * include/ext/pb_assoc/detail/gp_ht_map_/
2359           resize_store_hash_fn_imps.hpp: New.
2360         * include/ext/pb_assoc/detail/hash_fn/
2361           direct_mask_range_hashing_imp.hpp: New.
2362         * include/ext/pb_assoc/detail/hash_fn/
2363           direct_mod_range_hashing_imp.hpp: New.
2364         * include/ext/pb_assoc/detail/hash_fn/linear_probe_fn_imp.hpp: New.
2365         * include/ext/pb_assoc/detail/hash_fn/
2366           mask_based_range_hashing.hpp: New.
2367         * include/ext/pb_assoc/detail/hash_fn/mod_based_range_hashing.hpp: New.
2368         * include/ext/pb_assoc/detail/hash_fn/probe_fn_base.hpp: New.
2369         * include/ext/pb_assoc/detail/hash_fn/quadratic_probe_fn_imp.hpp: New.
2370         * include/ext/pb_assoc/detail/hash_fn/ranged_hash_fn.hpp: New.
2371         * include/ext/pb_assoc/detail/hash_fn/ranged_probe_fn.hpp: New.
2372         * include/ext/pb_assoc/detail/lu_assoc_cntnr/
2373           constructor_destructor_fn_imps.hpp: New.
2374         * include/ext/pb_assoc/detail/lu_assoc_cntnr/
2375           policy_access_fn_imps.hpp: New.
2376         * include/ext/pb_assoc/detail/lu_map_/
2377           constructor_destructor_fn_imps.hpp: New.
2378         * include/ext/pb_assoc/detail/lu_map_/debug_fn_imps.hpp: New.
2379         * include/ext/pb_assoc/detail/lu_map_/erase_fn_imps.hpp: New.
2380         * include/ext/pb_assoc/detail/lu_map_/find_fn_imps.hpp: New.
2381         * include/ext/pb_assoc/detail/lu_map_/info_fn_imps.hpp: New.
2382         * include/ext/pb_assoc/detail/lu_map_/insert_fn_imps.hpp: New.
2383         * include/ext/pb_assoc/detail/lu_map_/iterators_fn_imps.hpp: New.
2384         * include/ext/pb_assoc/detail/lu_map_/lu_map_.hpp: New.
2385         * include/ext/pb_assoc/detail/lu_map_/policy_access_fn_imps.hpp: New.
2386         * include/ext/pb_assoc/detail/lu_policy/
2387           counter_lu_metadata_imp.hpp: New.
2388         * include/ext/pb_assoc/detail/lu_policy/counter_lu_policy_imp.hpp: New.
2389         * include/ext/pb_assoc/detail/lu_policy/mtf_lu_policy_imp.hpp: New.
2390         * include/ext/pb_assoc/detail/ov_tree_map_/cond_dtor.hpp: New.
2391         * include/ext/pb_assoc/detail/ov_tree_map_/
2392           constructors_destructor_fn_imps.hpp: New.
2393         * include/ext/pb_assoc/detail/ov_tree_map_/debug_fn_imps.hpp: New.
2394         * include/ext/pb_assoc/detail/ov_tree_map_/erase_fn_imps.hpp: New.
2395         * include/ext/pb_assoc/detail/ov_tree_map_/find_fn_imps.hpp: New.
2396         * include/ext/pb_assoc/detail/ov_tree_map_/info_fn_imps.hpp: New.
2397         * include/ext/pb_assoc/detail/ov_tree_map_/insert_fn_imps.hpp: New.
2398         * include/ext/pb_assoc/detail/ov_tree_map_/iterators_fn_imps.hpp: New.
2399         * include/ext/pb_assoc/detail/ov_tree_map_/node_iterators.hpp: New.
2400         * include/ext/pb_assoc/detail/ov_tree_map_/ov_tree_map_.hpp: New.
2401         * include/ext/pb_assoc/detail/ov_tree_map_/split_join_fn_imps.hpp: New.
2402         * include/ext/pb_assoc/detail/rb_tree_map_/
2403           constructors_destructor_fn_imps.hpp: New.
2404         * include/ext/pb_assoc/detail/rb_tree_map_/debug_fn_imps.hpp: New.
2405         * include/ext/pb_assoc/detail/rb_tree_map_/erase_fn_imps.hpp: New.
2406         * include/ext/pb_assoc/detail/rb_tree_map_/find_fn_imps.hpp: New.
2407         * include/ext/pb_assoc/detail/rb_tree_map_/info_fn_imps.hpp: New.
2408         * include/ext/pb_assoc/detail/rb_tree_map_/insert_fn_imps.hpp: New.
2409         * include/ext/pb_assoc/detail/rb_tree_map_/node.hpp: New.
2410         * include/ext/pb_assoc/detail/rb_tree_map_/rb_tree_.hpp: New.
2411         * include/ext/pb_assoc/detail/rb_tree_map_/split_join_fn_imps.hpp: New.
2412         * include/ext/pb_assoc/detail/resize_policy/
2413           cc_hash_max_collision_resize_trigger_imp.hpp: New.
2414         * include/ext/pb_assoc/detail/resize_policy/
2415           hash_exponential_size_policy_imp.hpp: New.
2416         * include/ext/pb_assoc/detail/resize_policy/
2417           hash_load_check_resize_trigger_imp.hpp: New.
2418         * include/ext/pb_assoc/detail/resize_policy/
2419           hash_prime_size_policy_imp.hpp: New.
2420         * include/ext/pb_assoc/detail/resize_policy/
2421           hash_standard_resize_policy_imp.hpp: New.
2422         * include/ext/pb_assoc/detail/resize_policy/
2423           ht_prime_size_policy_imp.hpp: New.
2424         * include/ext/pb_assoc/detail/resize_policy/size_base.hpp: New.
2425         * include/ext/pb_assoc/detail/splay_tree_/
2426           constructors_destructor_fn_imps.hpp: New.
2427         * include/ext/pb_assoc/detail/splay_tree_/debug_fn_imps.hpp: New.
2428         * include/ext/pb_assoc/detail/splay_tree_/erase_fn_imps.hpp: New.
2429         * include/ext/pb_assoc/detail/splay_tree_/find_fn_imps.hpp: New.
2430         * include/ext/pb_assoc/detail/splay_tree_/info_fn_imps.hpp: New.
2431         * include/ext/pb_assoc/detail/splay_tree_/insert_fn_imps.hpp: New.
2432         * include/ext/pb_assoc/detail/splay_tree_/node.hpp: New.
2433         * include/ext/pb_assoc/detail/splay_tree_/splay_fn_imps.hpp: New.
2434         * include/ext/pb_assoc/detail/splay_tree_/splay_tree_.hpp: New.
2435         * include/ext/pb_assoc/detail/splay_tree_/split_join_fn_imps.hpp: New.
2436         * include/ext/pb_assoc/detail/tree_assoc_cntnr/
2437           constructor_destructor_fn_imps.hpp: New.
2438         * include/ext/pb_assoc/detail/tree_policy/
2439           null_node_updator_imp.hpp: New.
2440         * include/ext/pb_assoc/detail/tree_policy/
2441           order_statistics_imp.hpp: New.
2442         * include/ext/pb_assoc/detail/typelist/typelist_append.hpp: New.
2443         * include/ext/pb_assoc/detail/typelist/typelist_apply.hpp: New.
2444         * include/ext/pb_assoc/detail/typelist/typelist_at_index.hpp: New.
2445         * include/ext/pb_assoc/detail/typelist/typelist_contains.hpp: New.
2446         * include/ext/pb_assoc/detail/typelist/typelist_filter.hpp: New.
2447         * include/ext/pb_assoc/detail/typelist/typelist_transform.hpp: New.
2448         * include/ext/pb_assoc/detail/typelist/
2449           typelist_typelist_append.hpp: New.
2450         * include/ext/pb_assoc/detail/unordered_iterator/
2451           const_find_iterator.hpp: New.
2452         * include/ext/pb_assoc/detail/unordered_iterator/
2453           const_iterator.hpp: New.
2454         * include/ext/pb_assoc/detail/unordered_iterator/
2455           find_iterator.hpp: New.
2456         * include/ext/pb_assoc/detail/unordered_iterator/iterator.hpp: New.
2457         * include/ext/pb_assoc/detail/value_type_adapter/
2458           constructor_destructor_and_related.hpp: New.
2459         * include/ext/pb_assoc/detail/value_type_adapter/
2460           erase_fn_imps.hpp: New.
2461         * include/ext/pb_assoc/detail/value_type_adapter/
2462           erase_if_pred.hpp: New.
2463         * include/ext/pb_assoc/detail/value_type_adapter/find_fn_imps.hpp: New.
2464         * include/ext/pb_assoc/detail/value_type_adapter/info_fn_imps.hpp: New.
2465         * include/ext/pb_assoc/detail/value_type_adapter/
2466         insert_fn_imps.hpp: New.
2467         * include/ext/pb_assoc/detail/value_type_adapter/
2468         invalidation_guarantee_selector.hpp: New.
2469         * include/ext/pb_assoc/detail/value_type_adapter/
2470         it_value_type_traits.hpp: New.
2471         * include/ext/pb_assoc/detail/value_type_adapter/iterator.hpp: New.
2472         * include/ext/pb_assoc/detail/value_type_adapter/
2473         iterator_fn_imps.hpp: New.
2474         * include/ext/pb_assoc/detail/value_type_adapter/ref_pair.hpp: New.
2475         * include/ext/pb_assoc/detail/value_type_adapter/
2476         value_type_adapter.hpp: New.
2477         * include/ext/pb_assoc/detail/value_type_adapter/
2478         value_type_traits.hpp: New.
2479         * testsuite/Makefile.am (CLEANFILES): Add .o, .dat, .cc.
2480         * testsuite/Makefile.in: Regenerate.
2481         * testsuite/testsuite_common_types.h: New.
2482         * testsuite/testsuite_visualization.h: New.
2483         * testsuite/ext/pb_assoc/example/basic_map.cc: New.
2484         * testsuite/ext/pb_assoc/example/basic_multimap.cc: New.
2485         * testsuite/ext/pb_assoc/example/basic_set.cc: New.
2486         * testsuite/ext/pb_assoc/example/ds_traits.cc: New.
2487         * testsuite/ext/pb_assoc/example/erase_if.cc: New.
2488         * testsuite/ext/pb_assoc/example/extract_key.cc: New.
2489         * testsuite/ext/pb_assoc/example/hash_find_neg.cc: New.
2490         * testsuite/ext/pb_assoc/example/hash_illegal_resize.cc: New.
2491         * testsuite/ext/pb_assoc/example/hash_initial_size.cc: New.
2492         * testsuite/ext/pb_assoc/example/hash_load_set_change.cc: New.
2493         * testsuite/ext/pb_assoc/example/hash_mod.cc: New.
2494         * testsuite/ext/pb_assoc/example/hash_resize.cc: New.
2495         * testsuite/ext/pb_assoc/example/hash_resize_neg.cc: New.
2496         * testsuite/ext/pb_assoc/example/hash_shift_mask.cc: New.
2497         * testsuite/ext/pb_assoc/example/mapping_level.cc: New.
2498         * testsuite/ext/pb_assoc/example/mapping_level_neg.cc: New.
2499         * testsuite/ext/pb_assoc/example/ms_traits.cc: New.
2500         * testsuite/ext/pb_assoc/example/ranged_hash.cc: New.
2501         * testsuite/ext/pb_assoc/example/store_hash.cc: New.
2502         * testsuite/ext/pb_assoc/example/tree_intervals.cc: New.
2503         * testsuite/ext/pb_assoc/example/tree_join.cc: New.
2504         * testsuite/ext/pb_assoc/example/tree_order_statistics.cc: New.
2505         * testsuite/ext/pb_assoc/example/tree_order_statistics_join.cc: New.
2506         * testsuite/ext/pb_assoc/example/tree_split.cc: New.
2507         * testsuite/performance/20_util/allocator/(insert.cc,
2508           insert_insert.cc, list_sort_search.cc, map_mt_find.cc, map_thread.cc,
2509           producer_consumer.cc): Recast to use typelists and move to...
2510         * testsuite/performance/23_containers/find/map.cc: New.
2511         * testsuite/performance/23_containers/index/map.cc: New.
2512         * testsuite/performance/23_containers/insert/associative.cc: New.
2513         * testsuite/performance/23_containers/insert/sequence.cc: New.
2514         * testsuite/performance/23_containers/insert_erase/associative.cc: New.
2515         * testsuite/performance/23_containers/producer_consumer/
2516         (associative.cc, sequence.cc): New.
2517         * testsuite/performance/23_containers/sort_search/list.cc: New.
2518         * testsuite/performance/23_containers/container_benchmark.cc: Remove.
2519         * testsuite/performance/23_containers/map_create_fill.cc: Move...
2520         * testsuite/performance/23_containers/create/map.cc: ...here.
2521         * testsuite/performance/23_containers/set_create_from_sorted.cc: Move.
2522         * testsuite/performance/23_containers/create_from_sorted/set.cc: here.
2523         * testsuite/performance/23_containers/list_create_fill_sort.cc: Move...
2524         * testsuite/performance/23_containers/create_sort/list.cc: ...here.
2525         * testsuite/performance/23_containers/set_insert_from_sorted.cc: Move.
2526         * testsuite/performance/23_containers/insert_from_sorted/set.cc: here.
2527
2528 2005-06-23  Jakub Jelinek  <jakub@redhat.com>
2529
2530         PR libstdc++/22109
2531         * src/compatibility.cc (_GLIBCXX_SYMVER_COMPATIBILITY): Remove.
2532         (istreambuf_iterator, basic_fstream, basic_ifstream, basic_ofstream,
2533         _M_copy, _M_move, _M_assign, _M_disjunct, _M_check_length,
2534         _M_set_length_and_sharable, ignore, eq): Define to XX suffixed
2535         variants.
2536         (ignore (streamsize)): Remove _W prefixed aliases.
2537         (_GLIBCXX_3_4_SYMVER_SPECIAL, _GLIBCXX_3_4_5_SYMVER_SPECIAL,
2538         _GLIBCXX_APPLY_SYMVER_SPECIAL): Remove.
2539         (_GLIBCXX_3_4_SYMVER, _GLIBCXX_3_4_5_SYMVER): Add XXname argument.
2540         Use #XXname instead of #name as the alias argument.
2541         * config/abi/compatibility.h: Replace uses of
2542         _GLIBCXX_APPLY_SYMVER_SPECIAL with _GLIBCXX_APPLY_SYMVER.  Always
2543         pass 2 arguments to the _GLIBCXX_APPLY_SYMVER macro.
2544         * include/bits/char_traits.h (char_traits::eq): Revert 2005-06-15
2545         change.
2546         * acinclude.m4: Decrease glibcxx_min_gnu_ld_version back to 21400.
2547         * configure: Rebuilt.
2548
2549 2005-06-19  Benjamin Kosnik  <bkoz@redhat.com>
2550
2551         PR libstdc++/22111
2552         * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Remove
2553         GLIBCXX_TEST_ABI. Remove duplicate _GLIBCXX_ASM_SYMVER define.
2554         Don't enable abi testing unless versioned.
2555         * configure: Regenerate.
2556         * testsuite/Makefile.am (check-abi): Remove conditional.
2557         * testsuite/Makefile.in: Regenerate.
2558         * testsuite/libstdc++-abi/abi.exp: Call build_support, then check
2559         v3-symver before proceeding.
2560         * testsuite/lib/libstdc++.exp (libstdc++-dg-test): Set v3-symvers
2561         if _GLIBCXX_SYMVER.
2562
2563 2005-06-17  Paolo Carlini  <pcarlini@suse.de>
2564
2565         Port from libstdcxx_so_7-branch:
2566         2005-01-12  Christopher Jefferson <chris@bubblescope.net>
2567
2568         * include/bits/stl_function.h (mem_fun_t, const_mem_fun_t,
2569         mem_fun_ref_t, const_mem_fun_ref_t, mem_fun1_t, const_mem_fun1_t,
2570         mem_fun1_ref_t, const_mem_fun1_ref_t): Remove overloads for void
2571         return type, just an old HP/SGI workaround.
2572         * testsuite/20_util/functional/binders.cc: Move to...
2573         * testsuite/20_util/functional/binders/3113.cc: ...here.
2574         * testsuite/20_util/functional/binders/1.cc: New.
2575
2576 2005-06-17  Jonathan Wakely  <redi@gcc.gnu.org>
2577
2578         * docs/html/21_strings/gotw29a.txt: Update code to corrected version.
2579
2580 2005-06-17  Jakub Jelinek  <jakub@redhat.com>
2581             Benjamin Kosnik  <bkoz@redhat.com>
2582
2583         * config/abi/alpha-linux-gnu/baseline_symbols.txt: Update.
2584         * config/abi/hppa-linux-gnu/baseline_symbols.txt: Same.
2585         * config/abi/mips-linux-gnu/baseline_symbols.txt: Same.
2586         * config/abi/sparc-linux-gnu/baseline_symbols.txt: Same.
2587
2588         * config/abi/alpha-freebsd5/baseline_symbols.txt: Remove.
2589         * config/abi/i386-freebsd4/baseline_symbols.txt: Same.
2590         * config/abi/i386-freebsd5/baseline_symbols.txt: Same.
2591         * config/abi/sparc-freebsd5/baseline_symbols.txt: Same.
2592
2593         * config/abi/arm-linux-gnu/baseline_symbols.txt: Remove.
2594         * config/abi/m68k-linux-gnu/baseline_symbols.txt: Same.
2595
2596 2005-06-17  Jakub Jelinek  <jakub@redhat.com>
2597
2598         * config/abi/ia64-linux-gnu/baseline_symbols.txt: Update.
2599         * config/abi/s390x-linux-gnu/baseline_symbols.txt: Update.
2600         * config/abi/s390-linux-gnu/baseline_symbols.txt: Update.
2601         * config/abi/x86_64-linux-gnu/baseline_symbols.txt: Update.
2602         * config/abi/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
2603         * config/abi/powerpc-linux-gnu/baseline_symbols.txt: Update.
2604         * config/abi/i486-linux-gnu/baseline_symbols.txt: Update.
2605         * config/abi/i386-linux-gnu/baseline_symbols.txt: Update.
2606         * config/abi/powerpc64-linux-gnu/baseline_symbols.txt: New file.
2607         * config/abi/powerpc64-linux-gnu/32/baseline_symbols.txt: New file.
2608
2609 2005-06-16  Jakub Jelinek  <jakub@redhat.com>
2610
2611         * src/compatibility.cc: Include bits/c++config.h first.
2612         (_GLIBCXX_SYMVER_COMPATIBILITY): Define if _GLIBCXX_SYMVER
2613         and PIC are both defined.
2614         * include/bits/char_traits.h (char_traits::eq): Rename
2615         only if _GLIBCXX_SYMVER_COMPATIBILITY is defined.
2616
2617 2005-06-16  Jakub Jelinek  <jakub@redhat.com>
2618
2619         * acinclude.m4 ((GLIBCXX_ENABLE_SYMVERS): Rename _GLIBCXX_SIZE_T_IS_INT
2620         to _GLIBCXX_SIZE_T_IS_UINT.  Define _GLIBCXX_PTRDIFF_T_IS_INT.
2621         * configure: Regenerate.
2622         * config.h.in: Regenerate.
2623         * src/compatibility.cc (istream:ignore(streamsize)): Use
2624         _GLIBCXX_PTRDIFF_T_IS_INT instead of _GLIBCXX_SIZE_T_IS_INT.
2625         * config/abi/compatibility.h: Rename _GLIBCXX_SIZE_T_IS_INT
2626         to _GLIBCXX_SIZE_T_IS_UINT.  Use _GLIBCXX_PTRDIFF_T_IS_INT
2627         instead for symbols with streamsize arguments.
2628
2629 2005-06-16  Jakub Jelinek  <jakub@redhat.com>
2630
2631         * config/linker-map.gnu: Also export
2632         _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreE[il][il].
2633
2634 2005-06-15  Benjamin Kosnik  <bkoz@redhat.com>
2635
2636         * configure.ac (libtool_VERSION): To 6:6:0.
2637         * configure: Regenerate.
2638         * config/linker-map.gnu: Edit.
2639         * src/istream.cc: Move istream::ignore(streamsize) specializations...
2640         * src/compatibility.cc: ...here. New.
2641         * include/bits/char_traits.h (char_traits::eq): Rename when
2642         appropriate.
2643         * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Define _GLIBCXX_SIZE_T_IS_INT.
2644         Bump glibcxx_min_gnu_ld_version to 21590.
2645         * configure: Regenerate.
2646         * acconfig.h: Remove _GLIBCXX_ASM_SYMVER.
2647         * config.h.in: Regenerate.
2648         * src/Makefile.am (sources): Add compatibility.cc.
2649         * src/Makefile.in: Regenerate.
2650         * include/Makefile.am (host_headers_noinst): Add compatibility.h.
2651         * include/Makefile.in: Regenerate.
2652         * testsuite/testsuite_abi.h (symbol): Add data members.
2653         * testsuite/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.5,
2654         GLIBCXX_3.4.6.  Remove deprecated versions. Do a better job
2655         version checking.
2656
2657 2005-06-15  Paolo Carlini  <pcarlini@suse.de>
2658
2659         * include/tr1/hashtable: Trivial formatting fixes.
2660         * include/tr1/unordered_map: Likewise.
2661         * include/tr1/unordered_set: Likewise.
2662
2663 2005-06-14  Tom Tromey  <tromey@redhat.com>
2664
2665         PR libgcj/19877:
2666         * configure, aclocal.m4: Rebuilt.
2667         * Makefile.in, include/Makefile.in, libmath/Makefile.in,
2668         libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
2669         testsuite/Makefile.in: Likewise.
2670
2671 2005-06-08  Benjamin Kosnik  <bkoz@redhat.com>
2672
2673         PR libstdc++/21955
2674         * include/std/std_sstream.h (basic_stringbuf::showmanyc): Add.
2675         Remove unnecessary this->_M_mode decoration.
2676         * include/bits/fstream.tcc: Adjust line spacing.
2677         * testsuite/27_io/basic_streambuf/in_avail/char/1.cc: New, test
2678         base class behavior.
2679         * testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc: Same.
2680         * testsuite/27_io/basic_stringbuf/in_avail/char/21955.cc: New.
2681         * testsuite/27_io/basic_stringbuf/in_avail/char/1.cc: Match
2682         filebuf behavior.
2683         * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Same.
2684         * testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc: Same.
2685         * testsuite/27_io/basic_stringbuf/str/char/1.cc: Same.
2686         * testsuite/27_io/basic_streambuf/in_avail/char/9701-3.cc: Move...
2687         * testsuite/27_io/basic_filebuf/in_avail/char/9701-3.cc: ...here.
2688
2689 2005-06-07  Benjamin Kosnik  <bkoz@redhat.com>
2690
2691         * acinclude.m4 (GLIBCXX_ENABLE_C99): Use C++ compiler for complex
2692         tests.
2693         * configure: Regenerated.
2694
2695 2005-06-07  Adrian Straetling  <straetling@de.ibm.com>
2696
2697         * config/cpu/s390/atomicity.h: (__exchange_and_add,
2698         __atomic_add): Use the builtins for atomic memory operations.
2699
2700 2005-06-06  Paolo Carlini  <pcarlini@suse.de>
2701
2702         PR libstdc++/21770 (cont: __gnu_debug::string)
2703         * include/debug/string: Use _Base typedefs for pointer, const_pointer,
2704         reference, const_reference, size_type, difference_type.
2705         * testsuite/21_strings/basic_string/2.cc: New.
2706
2707 2005-06-06  Paolo Carlini  <pcarlini@suse.de>
2708
2709         PR libstdc++/21770 (cont: debug-mode)
2710         * include/debug/deque: Use _Base typedefs for pointer, const_pointer,
2711         reference, const_reference.
2712         * include/debug/list: Likewise.
2713         * include/debug/map.h: Likewise.
2714         * include/debug/multimap.h: Likewise.
2715         * include/debug/multiset.h: Likewise.
2716         * include/debug/set.h: Likewise.
2717         * include/debug/vector: Likewise.
2718
2719 2005-06-06  Paolo Carlini  <pcarlini@suse.de>
2720
2721         Port from libstdcxx_so_7-branch:
2722         2004-09-24  Paolo Carlini  <pcarlini@suse.de>
2723                     Jonathan Wakely  <redi@gcc.gnu.org>
2724
2725         * include/bits/stl_list.h (list::list(size_type, value_type,
2726         const allocator_type&): Implement according to the letter of the
2727         standard, i.e., don't use two overloads, not equivalent in case
2728         of non default constructible T.
2729         (list::resize(size_type, const value_type&)): Fix the signature:
2730         according to the standard the second argument is by value; also,
2731         don't use two overloads.
2732         * include/bits/list.tcc (list::resize(size_type, const value_type&)):
2733         Adjust consistently the signature.
2734         * include/bits/stl_deque.h (deque::deque(size_type, value_type,
2735         const allocator_type&)): Likewise.
2736         (deque::resize(size_type, const value_type&)): Likewise.
2737         * include/bits/stl_vector.h (vector::vector(size_type, value_type,
2738         const allocator_type&)): Likewise.
2739         (vector::resize(size_type, const value_type&)): Likewise.
2740         * testsuite/testsuite_hooks.h: Add NonDefaultConstructible test type.
2741         * testsuite/23_containers/deque/explicit_instantiation/2.cc: New.
2742         * testsuite/23_containers/list/explicit_instantiation/2.cc: New.
2743         * testsuite/23_containers/map/explicit_instantiation/2.cc: New.
2744         * testsuite/23_containers/multimap/explicit_instantiation/2.cc: New.
2745         * testsuite/23_containers/multiset/explicit_instantiation/2.cc: New.
2746         * testsuite/23_containers/set/explicit_instantiation/2.cc: New.
2747         * testsuite/23_containers/vector/explicit_instantiation/2.cc: New.
2748
2749         * include/bits/deque.tcc: Minor formatting fix.
2750
2751 2005-06-06  Peter Doerfler  <doerfler@techinfo.rwth-aachen.de>
2752
2753         * include/bits/stl_function.h: ... and another one.
2754
2755 2005-06-06  Peter Doerfler  <doerfler@techinfo.rwth-aachen.de>
2756
2757         * include/bits/stl_function.h: Fix typo in comment.
2758
2759 2005-06-05  Paolo Carlini  <pcarlini@suse.de>
2760
2761         * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Check clog, clogf, clogl
2762         too for ac_c99_complex.
2763         * configure: Regenerate.
2764
2765 2005-06-03  Paolo Carlini  <pcarlini@suse.de>
2766
2767         PR libstdc++/21770
2768         * include/bits/stl_deque.h: Add concept-check. In class _Deque_base
2769         rebind _Alloc to  _Tp_alloc_type, change _Deque_impl to inherit from
2770         the latter and add _M_get_Tp_allocator() which returns it. Use
2771         everywhere _M_get_Tp_allocator() instead of get_allocator().
2772         * include/bits/deque.tcc: Likewise, use _M_get_Tp_allocator().
2773         * include/bits/stl_list.h: Add concept-check. In class _List_base
2774         rebind _Alloc to _Tp_alloc_type and add _M_get_Tp_allocator(), which
2775         returns the allocator (of type _Node_alloc_type) converted to
2776         _Tp_alloc_type. Use everywhere _M_get_Tp_allocator() instead of
2777         get_allocator().
2778         * include/bits/list.tcc: Likewise, use _M_get_Tp_allocator().
2779         * include/bits/stl_vector.h: Add concept-check. In class _Vector_base
2780         rebind _Alloc to _Tp_alloc_type, change _Vector_impl to inherit from
2781         the latter and add _M_get_Tp_allocator() which returns it. Use
2782         everywhere _M_get_Tp_allocator() instead of get_allocator().
2783         * include/bits/vector.tcc: Likewise, use _M_get_Tp_allocator().
2784         * include/bits/stl_map.h: Add concept-check. Rebind _Alloc to
2785         _Pair_alloc_type and use it for _Rb_tree.
2786         * include/bits/stl_multimap.h: Likewise.
2787         * include/bits/stl_multiset.h: Add concept-check. Rebind _Alloc to
2788         _Key_alloc_type and use it for _Rb_tree.
2789         * include/bits/stl_set.h: Likewise.
2790         * include/bits/basic_string.h: Rebind _Alloc to _CharT_alloc_type and
2791         use it for the allocator typedefs.
2792         * testsuite/21_strings/basic_string/1.cc: New.
2793         * testsuite/23_containers/deque/explicit_instantiation.cc: Move to...
2794         * testsuite/23_containers/deque/explicit_instantiation/1.cc: ... here.
2795         * testsuite/23_containers/deque/explicit_instantiation/3.cc: New.
2796         * testsuite/23_containers/list/explicit_instantiation.cc: Move to...
2797         * testsuite/23_containers/list/explicit_instantiation/1.cc: ... here.
2798         * testsuite/23_containers/list/explicit_instantiation/3.cc: New.
2799         * testsuite/23_containers/map/explicit_instantiation.cc: Move to...
2800         * testsuite/23_containers/map/explicit_instantiation/1.cc: ... here.
2801         * testsuite/23_containers/map/explicit_instantiation/3.cc: New.
2802         * testsuite/23_containers/multimap/explicit_instantiation.cc: Move to...
2803         * testsuite/23_containers/multimap/explicit_instantiation/1.cc: .. here.
2804         * testsuite/23_containers/multimap/explicit_instantiation/3.cc: New.
2805         * testsuite/23_containers/multiset/explicit_instantiation.cc: Move to...
2806         * testsuite/23_containers/multiset/explicit_instantiation/1.cc: .. here.
2807         * testsuite/23_containers/multiset/explicit_instantiation/3.cc: New.
2808         * testsuite/23_containers/set/explicit_instantiation.cc: Move to...
2809         * testsuite/23_containers/set/explicit_instantiation/1.cc: .. here.
2810         * testsuite/23_containers/set/explicit_instantiation/3.cc: New.
2811         * testsuite/23_containers/vector/explicit_instantiation.cc: Move to...
2812         * testsuite/23_containers/vector/explicit_instantiation/1.cc: ... here.
2813         * testsuite/23_containers/vector/explicit_instantiation/3.cc: New.
2814
2815 2005-06-02  Nathan Sidwell  <nathan@codesourcery.com>
2816
2817         PR c++/21280
2818         * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust expected errors.
2819         * testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
2820
2821 2005-05-31  Paolo Carlini  <pcarlini@suse.de>
2822
2823         PR libstdc++/20534 (contd)
2824         * include/debug/macros.h: Add _GLIBCXX_DEBUG_ABORT, using
2825         __gnu_debug::__fancy_abort.
2826         * src/debug.cc: Define the latter.
2827         * include/debug/debug.h: Use _GLIBCXX_DEBUG_ABORT instead of
2828         assert.
2829         * config/linker-map.gnu (__gnu_debug::__fancy_abort): Add.
2830
2831 2005-05-30  Paolo Carlini  <pcarlini@suse.de>
2832
2833         * include/std/std_complex.h (log(const complex<_Tp>&)): When
2834         _GLIBCXX_USE_C99_COMPLEX, forward to __builtin_clog/clogf/clogl.
2835
2836 2005-05-28  Paolo Carlini  <pcarlini@suse.de>
2837
2838         Revert:
2839         2005-05-18  Paolo Carlini  <pcarlini@suse.de>
2840                     Nathan Myers  <ncm@cantrip.org>
2841
2842         PR libstdc++/19495
2843         * include/bits/basic_string.h (_Raw_bytes_alloc): Rebind to
2844         size_type instead of char and rename to _Raw_alloc.
2845         * include/bits/basic_string.tcc (_Rep::_M_destroy, _Rep::_S_create):
2846         Use the above.
2847         * src/bitmap_allocator.cc: Add instantiation for size_type.
2848         * src/mt_allocator.cc: Likewise.
2849         * src/pool_allocator.cc: Likewise.
2850         * include/ext/array_allocator.h: Tweak slightly, avoid assuming
2851         the existence of an _Array::begin() and size() members.
2852         * testsuite/ext/array_allocator/2.cc: Tweak to use an allocator
2853         of size_type, instead of char, thus avoiding problems with
2854         rebinds, not treated correctly by array_allocator.
2855
2856 2005-05-27  Paolo Carlini  <pcarlini@suse.de>
2857
2858         * docs/html/abi.html: Mention 3.4.0 as the current baseline; add
2859         a notice about the configure options.
2860
2861 2005-05-27  Mark Mitchell  <mark@codesourcery.com>
2862
2863         * docs/html/test.html: Mention PCH_CXXFLAGS.
2864         * testsuite/lib/libstdc++.exp: Set PCH_CXXFLAGS by probing for an
2865         available stcd++.h PCH.
2866         * testsuite/libstdc++-dg/normal.exp: Use PCH_CXXFLAGS.
2867
2868 2005-05-27  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
2869
2870         * src/misc-inst.cc: Remove unnecessary included files.
2871
2872 2005-05-27  Benjamin Kosnik  <bkoz@redhat.com>
2873
2874         PR libstdc++/21674
2875         * include/bits/c++config: Remove extern template use when in debug
2876         mode, disable for non-weak systems.
2877
2878 2005-05-27  Benjamin Kosnik  <bkoz@redhat.com>
2879
2880         PR libstdc++/20534
2881         * include/debug/debug.h: Forwarding header, that pulls in details
2882         only if in debug mode.
2883         * include/debug/macros.h: ...transfer all the internal macros here.
2884         * include/debug/functions.h: ...transfer all the functions here.
2885         * include/debug/safe_iterator.h: Add functions.h, macros.h includes.
2886         * include/debug/safe_sequence.h: Same.
2887         * include/debug/vector: Tweak.
2888         * include/Makefile.am (debug_headers): Add new includes.
2889         * include/Makefile.in: Regenerate.
2890         * testsuite/17_intro/no_assert_neg.cc: Add.
2891
2892         * include/ext/hash_set: Add debug mode include.
2893         * include/ext/hash_map: Same.
2894         * include/debug/hash_map: Fix included files to match actual files.
2895         * include/debug/hash_set: Same.
2896
2897 2005-05-26  Paolo Carlini  <pcarlini@suse.de>
2898
2899         PR libstdc++/13943
2900         * include/c_std/std_cstdlib.h: Do not open code llabs and lldiv,
2901         available when _GLIBCXX_USE_C99 is defined.
2902         * testsuite/26_numerics/cstdlib/13943.cc: New.
2903
2904         * acinclude.m4 ([GLIBCXX_ENABLE_C99]): For completeness, check
2905         also strtoll and strtoull for ac_c99_stdlib.
2906         * configure: Regenerate.
2907
2908 2005-05-25  Benjamin Kosnik  <bkoz@redhat.com>
2909
2910         * config/linker-map.gnu: Add linkage support for no extern templates.
2911         (std::ios_base::_M_call_callbacks): Add.
2912         (std::ios_base::_M_dispose_callbacks): Add.
2913         (std::locale::facet::_S_get_c_name): Add.
2914         (std::__copy_streambufs): Add.
2915         * configure.ac (libtool_VERSION): To 6:5:0.
2916         * configure: Regenerate.
2917         * testsuite/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.5.
2918
2919 2005-05-25  Paolo Carlini  <pcarlini@suse.de>
2920
2921         * include/bits/basic_string.h (_Rep::_M_set_length_and_sharable):
2922         Use, consistently, traits_type::assign.
2923
2924 2005-05-25  Paolo Carlini  <pcarlini@suse.de>
2925
2926         * config/cpu/alpha/atomicity.h: Use the builtins for
2927         atomic memory operations.
2928         * config/cpu/powerpc/atomicity.h: Likewise.
2929         * config/cpu/ia64/atomicity.h: Do not include ia64intrin.h.
2930
2931 2005-05-24  Paolo Carlini  <pcarlini@suse.de>
2932
2933         * testsuite/25_algorithms/equal.cc: Move to...
2934         * testsuite/25_algorithms/equal: ... here.
2935         * testsuite/25_algorithms/lower_bound.cc: Move to...
2936         * testsuite/25_algorithms/lower_bound: ... here.
2937
2938 2005-05-24  Paolo Carlini  <pcarlini@suse.de>
2939
2940         Port from libstdcxx_so_7-branch:
2941         2005-20-05  Chris Jefferson  <chris@bubblescope.net>
2942
2943         * testsuite/25_algorithms/heap.cc: Move to...
2944         * testsuite/25_algorithms/heap/heap.cc: ...here.
2945         * testsuite/25_algorithms/partition.cc: Move to...
2946         * testsuite/25_algorithms/partition/partition.cc: ...here.
2947
2948         2005-03-29  Christopher Jefferson  <chris@bubblescope.net>
2949
2950         * testsuite/25_algorithms/includes/1.cc: Add tests.
2951         * testsuite/25_algorithms/search/1.cc: Likewise.
2952         * testsuite/25_algorithms/unique_copy/1.cc: Likewise.
2953         * testsuite/25_algorithms/swap_ranges/1.cc: New.
2954         * testsuite/25_algorithms/swap_ranges/check_type.cc: New.
2955         * testsuite/25_algorithms/rotate.cc: Move to...
2956         * testsuite/25_algorithms/rotate/rotate.cc: ... here.
2957         * testsuite/25_algorithms/rotate/1.cc: New.
2958         * testsuite/25_algorithms/rotate/check_type.cc: New.
2959         * testsuite/25_algorithms/search_n/iterator.cc: Fix typo.
2960
2961         2005-03-14  Christopher Jefferson  <chris@bubblescope.net>
2962
2963         * include/bits/stl_algo.h (replace_copy, replace_copy_if):
2964         Don't assume that __new_value and *__first are convertible to
2965         each other.
2966
2967         * testsuite/25_algorithms/find/1.cc: New.
2968         * testsuite/25_algorithms/find/check_type.cc: New.
2969         * testsuite/25_algorithms/find_if/1.cc: New.
2970         * testsuite/25_algorithms/find_if/check_type.cc: New.
2971         * testsuite/25_algorithms/replace/1.cc: New.
2972         * testsuite/25_algorithms/replace/check_type.cc: New.
2973         * testsuite/25_algorithms/replace_if/1.cc: New.
2974         * testsuite/25_algorithms/replace_if/check_type.cc: New.
2975         * testsuite/25_algorithms/replace_copy/1.cc: New.
2976         * testsuite/25_algorithms/replace_copy/check_type.cc: New.
2977         * testsuite/25_algorithms/replace_copy_if/1.cc: New.
2978         * testsuite/25_algorithms/replace_copy_if/check_type.cc: New.
2979         * testsuite/25_algorithms/remove/1.cc: New.
2980         * testsuite/25_algorithms/remove/check_type.cc: New.
2981         * testsuite/25_algorithms/remove_if/1.cc: New.
2982         * testsuite/25_algorithms/remove_if/check_type.cc: New.
2983         * testsuite/25_algorithms/count/1.cc: New.
2984         * testsuite/25_algorithms/count/check_type.cc: New.
2985         * testsuite/25_algorithms/count_if/1.cc: New.
2986         * testsuite/25_algorithms/count_if/check_type.cc: New.
2987
2988         2005-02-27  Christopher Jefferson  <chris@bubblescope.net>
2989                     Paolo Carlini  <pcarlini@suse.de>
2990
2991         * testsuite/ext/is_heap/check_type.cc: New.
2992
2993         2005-02-27  Paolo Carlini  <pcarlini@suse.de>
2994
2995         * testsuite/ext/is_heap/1.cc: New.
2996
2997         2005-02-01  Christopher Jefferson  <chris@bubblescope.net>
2998
2999         * testsuite/ext/median.cc: New.
3000         * testsuite/25_algorithms/adjacent_find/1.cc: New.
3001         * testsuite/25_algorithms/adjacent_find/check_type.cc: New.
3002         * testsuite/25_algorithms/search/1.cc: New.
3003         * testsuite/25_algorithms/search/check_type.cc: New.
3004         * testsuite/25_algorithms/unique_copy/1.cc: New.
3005         * testsuite/25_algorithms/unique_copy/check_type.cc: New.
3006         * testsuite/25_algorithms/partial_sort/1.cc: New.
3007         * testsuite/25_algorithms/partial_sort/check_type.cc: New.
3008         * testsuite/25_algorithms/partial_sort_copy/1.cc: New.
3009         * testsuite/25_algorithms/partial_sort_copy/check_type.cc: New.
3010         * testsuite/25_algorithms/lower_bound/1.cc: New.
3011         * testsuite/25_algorithms/lower_bound/check_type.cc: New.
3012         * testsuite/25_algorithms/upper_bound/1.cc: New.
3013         * testsuite/25_algorithms/upper_bound/check_type.cc: New.
3014         * testsuite/25_algorithms/merge/1.cc: New.
3015         * testsuite/25_algorithms/merge/check_type.cc: New.
3016         * testsuite/25_algorithms/inplace_merge/1.cc: New.
3017         * testsuite/25_algorithms/inplace_merge/check_type.cc: New.
3018         * testsuite/25_algorithms/stable_sort/1.cc: New.
3019         * testsuite/25_algorithms/stable_sort/check_type.cc: New.
3020         * testsuite/25_algorithms/nth_element/1.cc: New.
3021         * testsuite/25_algorithms/nth_element/check_type.cc: New.
3022         * testsuite/25_algorithms/equal_range/1.cc: New.
3023         * testsuite/25_algorithms/equal_range/check_type.cc: New.
3024         * testsuite/25_algorithms/binary_search/1.cc: New.
3025         * testsuite/25_algorithms/binary_search/check_type.cc: New.
3026         * testsuite/25_algorithms/includes/1.cc: New.
3027         * testsuite/25_algorithms/includes/check_type.cc: New.
3028         * testsuite/25_algorithms/set_union/1.cc: New.
3029         * testsuite/25_algorithms/set_union/check_type.cc: New.
3030         * testsuite/25_algorithms/set_intersection/1.cc: New.
3031         * testsuite/25_algorithms/set_intersection/check_type.cc: New.
3032         * testsuite/25_algorithms/set_difference/1.cc: New.
3033         * testsuite/25_algorithms/set_difference/check_type.cc: New.
3034         * testsuite/25_algorithms/set_symmetric_difference/1.cc: New.
3035         * testsuite/25_algorithms/set_symmetric_difference/check_type.cc: New.
3036         * testsuite/25_algorithms/min_element/1.cc: New.
3037         * testsuite/25_algorithms/min_element/check_type.cc: New.
3038         * testsuite/25_algorithms/max_element/1.cc: New.
3039         * testsuite/25_algorithms/max_element/check_type.cc: New.
3040         * testsuite/25_algorithms/prev_permutation/1.cc: New.
3041         * testsuite/25_algorithms/prev_permutation/check_type.cc: New.
3042         * testsuite/25_algorithms/next_permutation/1.cc: New.
3043         * testsuite/25_algorithms/next_permutation/check_type.cc: New.
3044         * testsuite/25_algorithms/find_first_of/1.cc: New.
3045         * testsuite/25_algorithms/find_first_of/check_type.cc: New.
3046         * testsuite/25_algorithms/find_end/1.cc: New.
3047         * testsuite/25_algorithms/find_end/check_type.cc: New.
3048         * testsuite/25_algorithms/equal/check_type.cc: Insert iterator type.
3049         * testsuite/25_algorithms/lexicographical_compare/check_type.cc:
3050         Likewise.
3051
3052         2005-01-10  Christopher Jefferson <chris@bubblescope.net>
3053
3054         * testsuite/25_algorithms/lexicographical_compare/check_type.cc: New.
3055         * testsuite/25_algorithms/lexicographical_compare/1.cc: Likewise.
3056         * testsuite/25_algorithms/mismatch/check_type.cc: Likewise.
3057         * testsuite/25_algorithms/mismatch/1.cc: Likewise.
3058         * testsuite/25_algorithms/equal/check_type.cc: New.
3059         * testsuite/25_algorithms/equal/1.cc: New.
3060
3061 2005-05-24  Benjamin Kosnik  <bkoz@redhat.com>
3062
3063         * include/bits/allocator.h: Change ___glibcxx_base_allocator to
3064         __glibcxx_base_allocator.
3065         * config/allocator/bitmap_allocator_base.h: Same.
3066         * config/allocator/malloc_allocator_base.h: Same.
3067         * config/allocator/mt_allocator_base.h: Same.
3068         * config/allocator/new_allocator_base.h: Same.
3069         * config/allocator/pool_allocator_base.h: Same.
3070
3071 2005-05-24  Jonathan Wakely  <redi@gcc.gnu.org>
3072
3073         * include/debug/string (class basic_string): Add missing
3074         default template arguments; provide typedefs for char
3075         and wchar_t.
3076         (operator[]): Allow s[s.size()] in debug mode, but not
3077         pedantic mode.
3078
3079 2005-05-24  Paolo Carlini  <pcarlini@suse.de>
3080
3081         Port from libstdcxx_so_7-branch:
3082         2005-04-25  Christopher Jefferson  <chris@bubblescope.net>
3083
3084         * include/bits/stl_algo.h (count): Correct concept checks.
3085         (search_n) : Likewise.
3086         * testsuite/25_algorithms/search_n/check_type.cc: New.
3087
3088         * testsuite/testsuite_iterators.h
3089         (random_access_iterator_wrapper::operator+): Move out of
3090         class to external function, and add symmetric version.
3091
3092         2005-03-14  Christopher Jefferson  <chris@bubblescope.net>
3093
3094         * testsuite/testsuite_iterators.h (WritableObject::WritableObject):
3095         Add const.
3096
3097         2005-02-01  Christopher Jefferson  <chris@bubblescope.net>
3098
3099         * testsuite/testsuite_iterators.h (random_access_iterator_wrapper::
3100         operator--): Fix typo.
3101         (OutputContainer::OutputContainer): Correct zeroing array.
3102         (WritableObject::operator==): Fix typo.
3103         (WritableObject::operator=): make operator= templated
3104         to allow differing types to be assigned.
3105         (WritableObject::operator++): Fix checking if iterator is
3106         written to multiple times.
3107         (random_access_iterator_wrapper::operator+): Add const.
3108         (random_access_iterator_wrapper::operator-): Likewise.
3109         (random_access_iterator_wrapper::operator[]): Add dereference.
3110
3111 2005-05-23  Jonathan Wakely  <redi@gcc.gnu.org>
3112
3113         * docs/html/debug.html: Explain that _GLIBXX_DEBUG_PEDANTIC
3114         had to be defined for pedantic mode in 3.4 and 4.0.0.
3115
3116 2005-05-20  Jan Beulich  <jbeulich@novell.com>
3117
3118         * libmath/stubs.c: Also implement fabsf/fabsl if not present in the
3119         system libraries.
3120
3121 2005-05-20  Paolo Carlini  <pcarlini@suse.de>
3122
3123         * include/bits/stl_algo.h (__rotate<_RandomAccessIterator>):
3124         Don't qualify __tmp as const, _ValueType is not necessarily
3125         Assignable.
3126         * include/bits/stl_algobase.h (swap, __iter_swap<false>):
3127         Likewise, as an harmless extension.
3128
3129 2005-05-19  Richard Henderson  <rth@redhat.com>
3130
3131         * libsupc++/unwind-cxx.h: Revert gcc_unreachable change.
3132
3133 2005-05-19  Jonathan Wakely  <redi@gcc.gnu.org>
3134
3135         * include/bits/basic_string.h (operator[]): Allow s[s.size()] in
3136         debug mode, but not pedantic mode.
3137
3138 2005-05-19  Jan Beulich  <jbeulich@novell.com>
3139
3140         * libsupc++/unwind-cxx.h: Include cstdlib.
3141         (gcc_unreachable): #define.
3142         * libsupc++/eh_personality.cc (gcc_unreachable): Remove #define.
3143
3144 2005-05-18  Paolo Carlini  <pcarlini@suse.de>
3145             Nathan Myers  <ncm@cantrip.org>
3146
3147         PR libstdc++/19495
3148         * include/bits/basic_string.h (_Raw_bytes_alloc): Rebind to
3149         size_type instead of char and rename to _Raw_alloc.
3150         * include/bits/basic_string.tcc (_Rep::_M_destroy, _Rep::_S_create):
3151         Use the above.
3152         * src/bitmap_allocator.cc: Add instantiation for size_type.
3153         * src/mt_allocator.cc: Likewise.
3154         * src/pool_allocator.cc: Likewise.
3155         * include/ext/array_allocator.h: Tweak slightly, avoid assuming
3156         the existence of an _Array::begin() and size() members.
3157         * testsuite/ext/array_allocator/2.cc: Tweak to use an allocator
3158         of size_type, instead of char, thus avoiding problems with
3159         rebinds, not treated correctly by array_allocator.
3160
3161 2005-05-18  Paolo Carlini  <pcarlini@suse.de>
3162
3163         * testsuite/22_locale/ctype/is/char/2.cc: Adjust dg-require-namedlocale.
3164         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
3165         * testsuite/22_locale/time_get/get_year/char/wrapped_env.cc: Add
3166         missing dg-require-namedlocale.
3167         * testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc:
3168         Likewise.
3169         * testsuite/22_locale/time_get/get_year/wchar_t/wrapped_env.cc:
3170         Likewise.
3171         * testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.cc:
3172         Likewise.
3173
3174 2005-05-18  Paolo Carlini  <pcarlini@suse.de>
3175
3176         * testsuite/testsuite_hooks.cc: Remove try_named_locale.
3177         * testsuite/testsuite_hooks.h: Remove try_named_locale.
3178         * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): New.
3179         * testsuite/lib/dg-options.exp (dg-require-namedlocale): New, uses
3180         the above.
3181         * testsuite/22_locale/codecvt/always_noconv/char/wrapped_env.cc: Use
3182         dg-require-namedlocale.
3183         * testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.cc:
3184         Likewise.
3185         * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Likewise.
3186         * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Likewise.
3187         * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Likewise.
3188         * testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc:
3189         Likewise.
3190         * testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc:
3191         Likewise.
3192         * testsuite/22_locale/codecvt/encoding/char/wrapped_env.cc: Likewise.
3193         * testsuite/22_locale/codecvt/encoding/char/wrapped_locale.cc: Likewise.
3194         * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Likewise.
3195         * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Likewise.
3196         * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: Likewise.
3197         * testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_env.cc: Likewise.
3198         * testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc:
3199         Likewise.
3200         * testsuite/22_locale/codecvt/in/char/wrapped_env.cc: Likewise.
3201         * testsuite/22_locale/codecvt/in/char/wrapped_locale.cc: Likewise.
3202         * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Likewise.
3203         * testsuite/22_locale/codecvt/in/wchar_t/3.cc: Likewise.
3204         * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Likewise.
3205         * testsuite/22_locale/codecvt/in/wchar_t/7.cc: Likewise.
3206         * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Likewise.
3207         * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Likewise.
3208         * testsuite/22_locale/codecvt/in/wchar_t/wrapped_env.cc: Likewise.
3209         * testsuite/22_locale/codecvt/in/wchar_t/wrapped_locale.cc: Likewise.
3210         * testsuite/22_locale/codecvt/length/char/wrapped_env.cc: Likewise.
3211         * testsuite/22_locale/codecvt/length/char/wrapped_locale.cc: Likewise.
3212         * testsuite/22_locale/codecvt/length/wchar_t/2.cc: Likewise.
3213         * testsuite/22_locale/codecvt/length/wchar_t/3.cc: Likewise.
3214         * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Likewise.
3215         * testsuite/22_locale/codecvt/length/wchar_t/7.cc: Likewise.
3216         * testsuite/22_locale/codecvt/length/wchar_t/wrapped_env.cc: Likewise.
3217         * testsuite/22_locale/codecvt/length/wchar_t/wrapped_locale.cc:
3218         Likewise.
3219         * testsuite/22_locale/codecvt/max_length/char/wrapped_env.cc: Likewise.
3220         * testsuite/22_locale/codecvt/max_length/char/wrapped_locale.cc:
3221         Likewise.
3222         * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Likewise.
3223         * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Likewise.
3224         * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Likewise.
3225         * testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_env.cc:
3226         Likewise.
3227         * testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc:
3228         Likewise.
3229         * testsuite/22_locale/codecvt/out/char/wrapped_env.cc: Likewise.
3230         * testsuite/22_locale/codecvt/out/char/wrapped_locale.cc: Likewise.
3231         * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Likewise.
3232         * testsuite/22_locale/codecvt/out/wchar_t/3.cc: Likewise.
3233         * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Likewise.
3234         * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Likewise.
3235         * testsuite/22_locale/codecvt/out/wchar_t/wrapped_env.cc: Likewise.
3236         * testsuite/22_locale/codecvt/out/wchar_t/wrapped_locale.cc: Likewise.
3237         * testsuite/22_locale/codecvt/unshift/char/wrapped_env.cc: Likewise.
3238         * testsuite/22_locale/codecvt/unshift/char/wrapped_locale.cc: Likewise.
3239         * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Likewise.
3240         * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Likewise.
3241         * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Likewise.
3242         * testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_env.cc: Likewise.
3243         * testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc:
3244         Likewise.
3245         * testsuite/22_locale/collate/compare/char/1.cc: Likewise.
3246         * testsuite/22_locale/collate/compare/char/2.cc: Likewise.
3247         * testsuite/22_locale/collate/compare/char/3.cc: Likewise.
3248         * testsuite/22_locale/collate/compare/char/wrapped_env.cc: Likewise.
3249         * testsuite/22_locale/collate/compare/char/wrapped_locale.cc: Likewise.
3250         * testsuite/22_locale/collate/compare/wchar_t/1.cc: Likewise.
3251         * testsuite/22_locale/collate/compare/wchar_t/2.cc: Likewise.
3252         * testsuite/22_locale/collate/compare/wchar_t/3.cc: Likewise.
3253         * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Likewise.
3254         * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc:
3255         Likewise.
3256         * testsuite/22_locale/collate/hash/char/2.cc: Likewise.
3257         * testsuite/22_locale/collate/hash/char/wrapped_env.cc: Likewise.
3258         * testsuite/22_locale/collate/hash/char/wrapped_locale.cc: Likewise.
3259         * testsuite/22_locale/collate/hash/wchar_t/2.cc: Likewise.
3260         * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Likewise.
3261         * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Likewise.
3262         * testsuite/22_locale/collate/transform/char/2.cc: Likewise.
3263         * testsuite/22_locale/collate/transform/char/3.cc: Likewise.
3264         * testsuite/22_locale/collate/transform/char/wrapped_env.cc: Likewise.
3265         * testsuite/22_locale/collate/transform/char/wrapped_locale.cc:
3266         Likewise.
3267         * testsuite/22_locale/collate/transform/wchar_t/2.cc: Likewise.
3268         * testsuite/22_locale/collate/transform/wchar_t/3.cc: Likewise.
3269         * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc:
3270         Likewise.
3271         * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
3272         Likewise.
3273         * testsuite/22_locale/collate_byname/named_equivalence.cc: Likewise.
3274         * testsuite/22_locale/ctype/cons/char/wrapped_env.cc: Likewise.
3275         * testsuite/22_locale/ctype/cons/char/wrapped_locale.cc: Likewise.
3276         * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
3277         * testsuite/22_locale/ctype/is/char/wrapped_env.cc: Likewise.
3278         * testsuite/22_locale/ctype/is/char/wrapped_locale.cc: Likewise.
3279         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
3280         * testsuite/22_locale/ctype/is/wchar_t/wrapped_env.cc: Likewise.
3281         * testsuite/22_locale/ctype/is/wchar_t/wrapped_locale.cc: Likewise.
3282         * testsuite/22_locale/ctype/narrow/char/wrapped_env.cc: Likewise.
3283         * testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc: Likewise.
3284         * testsuite/22_locale/ctype/narrow/wchar_t/3.cc: Likewise.
3285         * testsuite/22_locale/ctype/narrow/wchar_t/wrapped_env.cc: Likewise.
3286         * testsuite/22_locale/ctype/narrow/wchar_t/wrapped_locale.cc: Likewise.
3287         * testsuite/22_locale/ctype/scan/char/wrapped_env.cc: Likewise.
3288         * testsuite/22_locale/ctype/scan/char/wrapped_locale.cc: Likewise.
3289         * testsuite/22_locale/ctype/scan/wchar_t/wrapped_env.cc: Likewise.
3290         * testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc: Likewise.
3291         * testsuite/22_locale/ctype/to/char/wrapped_env.cc: Likewise.
3292         * testsuite/22_locale/ctype/to/char/wrapped_locale.cc: Likewise.
3293         * testsuite/22_locale/ctype/to/wchar_t/wrapped_env.cc: Likewise.
3294         * testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc: Likewise.
3295         * testsuite/22_locale/ctype/widen/char/wrapped_env.cc: Likewise.
3296         * testsuite/22_locale/ctype/widen/char/wrapped_locale.cc: Likewise.
3297         * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Likewise.
3298         * testsuite/22_locale/ctype/widen/wchar_t/3.cc: Likewise.
3299         * testsuite/22_locale/ctype/widen/wchar_t/wrapped_env.cc: Likewise.
3300         * testsuite/22_locale/ctype/widen/wchar_t/wrapped_locale.cc: Likewise.
3301         * testsuite/22_locale/facet/2.cc: Likewise.
3302         * testsuite/22_locale/locale/cons/12352.cc: Likewise.
3303         * testsuite/22_locale/locale/cons/12438.cc: Likewise.
3304         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
3305         * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
3306         * testsuite/22_locale/locale/cons/2.cc: Likewise.
3307         * testsuite/22_locale/locale/cons/4.cc: Likewise.
3308         * testsuite/22_locale/locale/cons/5.cc: Likewise.
3309         * testsuite/22_locale/locale/cons/7.cc: Likewise.
3310         * testsuite/22_locale/locale/cons/7222-env.cc: Likewise.
3311         * testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise.
3312         * testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise.
3313         * testsuite/22_locale/messages/members/char/1.cc: Likewise.
3314         * testsuite/22_locale/messages/members/char/2.cc: Likewise.
3315         * testsuite/22_locale/messages/members/char/3.cc: Likewise.
3316         * testsuite/22_locale/messages/members/char/wrapped_env.cc: Likewise.
3317         * testsuite/22_locale/messages/members/char/wrapped_locale.cc: Likewise.
3318         * testsuite/22_locale/messages_byname/named_equivalence.cc: Likewise.
3319         * testsuite/22_locale/money_get/get/char/1.cc: Likewise.
3320         * testsuite/22_locale/money_get/get/char/10.cc: Likewise.
3321         * testsuite/22_locale/money_get/get/char/11.cc: Likewise.
3322         * testsuite/22_locale/money_get/get/char/11528.cc: Likewise.
3323         * testsuite/22_locale/money_get/get/char/12.cc: Likewise.
3324         * testsuite/22_locale/money_get/get/char/13.cc: Likewise.
3325         * testsuite/22_locale/money_get/get/char/15.cc: Likewise.
3326         * testsuite/22_locale/money_get/get/char/16.cc: Likewise.
3327         * testsuite/22_locale/money_get/get/char/17.cc: Likewise.
3328         * testsuite/22_locale/money_get/get/char/18.cc: Likewise.
3329         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
3330         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
3331         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
3332         * testsuite/22_locale/money_get/get/char/wrapped_env.cc: Likewise.
3333         * testsuite/22_locale/money_get/get/char/wrapped_locale.cc: Likewise.
3334         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
3335         * testsuite/22_locale/money_get/get/wchar_t/10.cc: Likewise.
3336         * testsuite/22_locale/money_get/get/wchar_t/11.cc: Likewise.
3337         * testsuite/22_locale/money_get/get/wchar_t/11528.cc: Likewise.
3338         * testsuite/22_locale/money_get/get/wchar_t/12.cc: Likewise.
3339         * testsuite/22_locale/money_get/get/wchar_t/13.cc: Likewise.
3340         * testsuite/22_locale/money_get/get/wchar_t/15.cc: Likewise.
3341         * testsuite/22_locale/money_get/get/wchar_t/16.cc: Likewise.
3342         * testsuite/22_locale/money_get/get/wchar_t/17.cc: Likewise.
3343         * testsuite/22_locale/money_get/get/wchar_t/18.cc: Likewise.
3344         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
3345         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
3346         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
3347         * testsuite/22_locale/money_get/get/wchar_t/wrapped_env.cc: Likewise.
3348         * testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.cc: Likewise.
3349         * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
3350         * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
3351         * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
3352         * testsuite/22_locale/money_put/put/char/9780-3.cc: Likewise.
3353         * testsuite/22_locale/money_put/put/char/wrapped_env.cc: Likewise.
3354         * testsuite/22_locale/money_put/put/char/wrapped_locale.cc: Likewise.
3355         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
3356         * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
3357         * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
3358         * testsuite/22_locale/money_put/put/wchar_t/wrapped_env.cc: Likewise.
3359         * testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc: Likewise.
3360         * testsuite/22_locale/moneypunct/members/char/2.cc: Likewise.
3361         * testsuite/22_locale/moneypunct/members/char/wrapped_env.cc: Likewise.
3362         * testsuite/22_locale/moneypunct/members/char/wrapped_locale.cc:
3363         Likewise.
3364         * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Likewise.
3365         * testsuite/22_locale/moneypunct/members/wchar_t/wrapped_env.cc:
3366         Likewise.
3367         * testsuite/22_locale/moneypunct/members/wchar_t/wrapped_locale.cc:
3368         Likewise.
3369         * testsuite/22_locale/moneypunct_byname/named_equivalence.cc: Likewise.
3370         * testsuite/22_locale/num_get/get/char/1.cc: Likewise.
3371         * testsuite/22_locale/num_get/get/char/3.cc: Likewise.
3372         * testsuite/22_locale/num_get/get/char/5.cc: Likewise.
3373         * testsuite/22_locale/num_get/get/char/6.cc: Likewise.
3374         * testsuite/22_locale/num_get/get/char/9.cc: Likewise.
3375         * testsuite/22_locale/num_get/get/char/wrapped_env.cc: Likewise.
3376         * testsuite/22_locale/num_get/get/char/wrapped_locale.cc: Likewise.
3377         * testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.
3378         * testsuite/22_locale/num_get/get/wchar_t/3.cc: Likewise.
3379         * testsuite/22_locale/num_get/get/wchar_t/5.cc: Likewise.
3380         * testsuite/22_locale/num_get/get/wchar_t/6.cc: Likewise.
3381         * testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.
3382         * testsuite/22_locale/num_get/get/wchar_t/wrapped_env.cc: Likewise.
3383         * testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc: Likewise.
3384         * testsuite/22_locale/num_put/put/char/1.cc: Likewise.
3385         * testsuite/22_locale/num_put/put/char/20909.cc: Likewise.
3386         * testsuite/22_locale/num_put/put/char/20914.cc: Likewise.
3387         * testsuite/22_locale/num_put/put/char/3.cc: Likewise.
3388         * testsuite/22_locale/num_put/put/char/5.cc: Likewise.
3389         * testsuite/22_locale/num_put/put/char/9780-2.cc: Likewise.
3390         * testsuite/22_locale/num_put/put/char/wrapped_env.cc: Likewise.
3391         * testsuite/22_locale/num_put/put/char/wrapped_locale.cc: Likewise.
3392         * testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise.
3393         * testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.
3394         * testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise.
3395         * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
3396         * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
3397         * testsuite/22_locale/num_put/put/wchar_t/wrapped_env.cc: Likewise.
3398         * testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.cc: Likewise.
3399         * testsuite/22_locale/numpunct/members/char/2.cc: Likewise.
3400         * testsuite/22_locale/numpunct/members/char/3.cc: Likewise.
3401         * testsuite/22_locale/numpunct/members/char/wrapped_env.cc: Likewise.
3402         * testsuite/22_locale/numpunct/members/char/wrapped_locale.cc: Likewise.
3403         * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise.
3404         * testsuite/22_locale/numpunct/members/wchar_t/wrapped_env.cc: Likewise.
3405         * testsuite/22_locale/numpunct/members/wchar_t/wrapped_locale.cc:
3406         Likewise.
3407         * testsuite/22_locale/numpunct_byname/named_equivalence.cc: Likewise.
3408         * testsuite/22_locale/time_get/date_order/char/wrapped_env.cc: Likewise.
3409         * testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc:
3410         Likewise.
3411         * testsuite/22_locale/time_get/date_order/wchar_t/wrapped_env.cc:
3412         Likewise.
3413         * testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc:
3414         Likewise.
3415         * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
3416         * testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
3417         * testsuite/22_locale/time_get/get_date/char/wrapped_env.cc: Likewise.
3418         * testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc:
3419         Likewise.
3420         * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
3421         * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
3422         * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Likewise.
3423         * testsuite/22_locale/time_get/get_date/wchar_t/wrapped_env.cc:
3424         Likewise.
3425         * testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc:
3426         Likewise.
3427         * testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
3428         * testsuite/22_locale/time_get/get_monthname/char/wrapped_env.cc:
3429         Likewise.
3430         * testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc:
3431         Likewise.
3432         * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
3433         * testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc:
3434         Likewise.
3435         * testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc:
3436         Likewise.
3437         * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
3438         * testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
3439         * testsuite/22_locale/time_get/get_time/char/wrapped_env.cc: Likewise.
3440         * testsuite/22_locale/time_get/get_time/char/wrapped_locale.cc:
3441         Likewise.
3442         * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
3443         * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
3444         * testsuite/22_locale/time_get/get_time/wchar_t/wrapped_env.cc:
3445         Likewise.
3446         * testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc:
3447         Likewise.
3448         * testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
3449         * testsuite/22_locale/time_get/get_weekday/char/wrapped_env.cc:
3450         Likewise.
3451         * testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc:
3452         Likewise.
3453         * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
3454         * testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc:
3455         Likewise.
3456         * testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc:
3457         Likewise.
3458         * testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
3459         * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
3460         * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
3461         * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
3462         * testsuite/22_locale/time_put/put/char/6.cc: Likewise.
3463         * testsuite/22_locale/time_put/put/char/7.cc: Likewise.
3464         * testsuite/22_locale/time_put/put/char/8.cc: Likewise.
3465         * testsuite/22_locale/time_put/put/char/9780-1.cc: Likewise.
3466         * testsuite/22_locale/time_put/put/char/wrapped_env.cc: Likewise.
3467         * testsuite/22_locale/time_put/put/char/wrapped_locale.cc: Likewise.
3468         * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
3469         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
3470         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
3471         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
3472         * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
3473         * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
3474         * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
3475         * testsuite/22_locale/time_put/put/wchar_t/wrapped_env.cc: Likewise.
3476         * testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.cc: Likewise.
3477         * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: Likewise.
3478         * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: Likewise.
3479         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
3480         * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Likewise.
3481         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
3482         * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: Likewise.
3483         * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Likewise.
3484         * testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Likewise.
3485         * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: Likewise.
3486         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: Likewise.
3487         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: Likewise.
3488         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Likewise.
3489         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Likewise.
3490         * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
3491         * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
3492         * testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: Likewise.
3493         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc: Likewise.
3494         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc: Likewise.
3495         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc: Likewise.
3496         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc: Likewise.
3497         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: Likewise.
3498         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc: Likewise.
3499         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise.
3500         * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: Likewise.
3501         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc: Likewise.
3502         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc: Likewise.
3503         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc: Likewise.
3504         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc: Likewise.
3505         * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: Likewise.
3506         * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: Likewise.
3507         * testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: Likewise.
3508         * testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: Likewise.
3509         * testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: Likewise.
3510         * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise.
3511         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
3512         Likewise.
3513         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc:
3514         Likewise.
3515         * testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc: Likewise.
3516         * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: Likewise.
3517         * testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Likewise.
3518         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc: Likewise.
3519         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: Likewise.
3520         * testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc: Likewise.
3521         * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Likewise.
3522         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc: Likewise.
3523         * testsuite/27_io/objects/wchar_t/10.cc: Likewise.
3524         * testsuite/27_io/objects/wchar_t/11.cc: Likewise.
3525         * testsuite/27_io/objects/wchar_t/12.cc: Likewise.
3526         * testsuite/27_io/objects/wchar_t/13.cc: Likewise.
3527         * testsuite/27_io/objects/wchar_t/9520.cc: Likewise.
3528         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise.
3529
3530 2005-05-17  Nathan Sidwell  <nathan@codesourcery.com>
3531
3532         * libsupc++/eh_personality.cc (gcc_unreachable): Define.
3533
3534 2005-05-16  Paolo Carlini  <pcarlini@suse.de>
3535
3536         * docs/html/install.html: Update list of required named
3537         locales, add "es_ES".
3538
3539 2005-05-13  Magnus Fromreide  <magfr@lysator.liu.se>
3540
3541         * testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Use
3542         initialization instead of copying as the string is used only once.
3543         * testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise.
3544         * testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise.
3545         * testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc: Likewise.
3546
3547 2005-05-12  Benjamin Kosnik  <bkoz@redhat.com>
3548
3549         * scripts/create_testsuite_files: Fix.
3550
3551 2005-05-12  Kaz Kojima  <kkojima@gcc.gnu.org>
3552
3553         * testsuite/18_support/numeric_limits.cc (dg-options): Add
3554         -mieee to options on sh*-*-*.
3555
3556 2005-05-10  Jonathan Wakely  <redi@gcc.gnu.org>
3557
3558         * include/debug/debug.h: Fix typo in macro name.
3559
3560 2005-05-09  Paolo Carlini  <pcarlini@suse.de>
3561             Giovanni Bajo  <giovannibajo@gcc.gnu.org>
3562
3563         PR libstdc++/18604
3564         * include/bits/deque.tcc: Fully qualify names from namespace std.
3565         * include/bits/stl_bvector.h: Likewise.
3566         * include/bits/stl_deque.h: Likewise.
3567         * include/bits/stl_list.h: Likewise.
3568         * include/bits/stl_map.h: Likewise.
3569         * include/bits/stl_multimap.h: Likewise.
3570         * include/bits/stl_multiset.h: Likewise.
3571         * include/bits/stl_set.h: Likewise.
3572         * include/bits/stl_vector.h: Likewise.
3573         * include/bits/vector.tcc: Likewise.
3574         * include/std/std_bitset.h: Likewise.
3575         * testsuite/23_containers/bitset/18604.cc: New.
3576         * testsuite/23_containers/deque/18604.cc: Likewise.
3577         * testsuite/23_containers/list/18604.cc: Likewise.
3578         * testsuite/23_containers/map/18604.cc: Likewise.
3579         * testsuite/23_containers/set/18604.cc: Likewise.
3580         * testsuite/23_containers/vector/18604.cc: Likewise.
3581
3582 2005-05-09  Mike Stump  <mrs@apple.com>
3583
3584         * configure: Regenerate.
3585
3586 2005-05-09  Jonathan Wakely  <redi@gcc.gnu.org>
3587
3588         DR 434. bitset::to_string() hard to use [Ready]
3589         * include/debug/bitset (to_string): Add three overloads, taking
3590         fewer template arguments.
3591
3592 2005-05-06  Mark Mitchell  <mark@codesourcery.com>
3593
3594         * testsuite/testsuite_hooks.cc (try_mkfifo): Remove.
3595         * testsuite/testsuite_hooks.h (try_mkfifo): Likewise.
3596         * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use
3597         dg-require-fork and dg-require-mkfifo.  Replace try_mkfifo with
3598         mkfifo.
3599         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
3600         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
3601         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
3602         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
3603         Likewise.
3604         * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc:
3605         Likewise.
3606         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
3607         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
3608         Likewise.
3609         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
3610         * testsuite/27_io/objects/char/7.cc: Likewise.
3611         * testsuite/27_io/objects/char/9661-1.cc: Likewise.
3612         * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
3613         * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
3614
3615 2005-05-04  Benjamin Kosnik  <bkoz@redhat.com>
3616
3617         * acinclude.m4: Remove testsuite_wchar_t and testsuite_thread.
3618         * testsuite/Makefile.am: Same.
3619         * scripts/create_testsuite_files: Same.
3620         * Makefile.in: Regenerate.
3621         * configure: Same.
3622         * include/Makefile.in: Same.
3623         * libmath/Makefile.in: Same.
3624         * libsupc++/Makefile.in: Same.
3625         * po/Makefile.in: Same.
3626         * src/Makefile.in: Same.
3627
3628 2005-05-04  Mark Mitchell  <mark@codesourcery.com>
3629
3630         * testsuite/lib/libstdc++.exp (v3-build_support): Look for
3631         __GTHREADS, rather than _GLIBCXX_HAVE_GTHR_DEFAULT, to determine
3632         whether or not thread support is available.
3633
3634         * docs/html/test.html: Explain how to run the testsuite on an
3635         installed directory.
3636
3637 2005-05-01  Paolo Carlini  <pcarlini@suse.de>
3638
3639         * config/os/aix/os_defines.h: Remove obsolete __off_t,
3640         __off64_t, __ssize_t defines.
3641         * config/os/djgpp/os_defines.h: Likewise.
3642         * config/os/hpux/os_defines.h: Likewise.
3643         * config/os/irix/irix5.2/os_defines.h: Likewise.
3644         * config/os/irix/irix6.5/os_defines.h: Likewise.
3645         * config/os/solaris/solaris2.5/os_defines.h: Likewise.
3646         * config/os/solaris/solaris2.6/os_defines.h: Likewise.
3647         * config/os/solaris/solaris2.7/os_defines.h: Likewise.
3648         * docs/html/17_intro/porting.html: Don't discuss the defines.
3649         * docs/html/17_intro/porting.texi: Likewise.
3650
3651 2005-04-29  Paolo Carlini  <pcarlini@suse.de>
3652             Nathan Myers  <ncm@cantrip.org>
3653
3654         PR libstdc++/21286
3655         * include/bits/fstream.tcc (basic_filebuf<>::xsgetn):
3656         Loop on short reads; remove the work-around for
3657         libstdc++/20806, not needed anymore.
3658
3659 2005-04-29  Paolo Carlini  <pcarlini@suse.de>
3660
3661         PR libstdc++/21238
3662         * include/bits/locale_facets.tcc (num_get::_M_extract_float,
3663         num_get::_M_extract_int, num_get::do_get(bool&),
3664         num_put::_M_insert_int, num_put::_M_insert_float,
3665         num_put::do_put(bool), money_get::_M_extract,
3666         money_put::_M_insert): Adjust the __cache_type typedef not to
3667         forward to a numpunct/moneypunct typedef.
3668         * testsuite/testsuite_character.h: Add pod_uint and its numpunct
3669         and moneypunct specializations.
3670         * testsuite/testsuite_character.cc: Add numpunct<pod_uint>::id
3671         and moneypunct<pod_uint>::id.
3672         * testsuite/22_locale/num_get/3.cc: New.
3673         * testsuite/22_locale/num_put/3.cc: Likewise.
3674         * testsuite/22_locale/money_get/3.cc: Likewise.
3675         * testsuite/22_locale/money_put/3.cc: Likewise.
3676
3677         * include/bits/locale_facets.tcc (money_put::_M_insert,
3678         time_get::_M_extract_name): Prefer operator== to operator!=
3679         on char_types.
3680
3681 2005-04-29  Paolo Carlini  <pcarlini@suse.de>
3682
3683         * include/tr1/type_traits (is_convertible): Adjust according
3684         to the resolution of TR1 issue 3.20.
3685         * testsuite/tr1/4_metaprogramming/relationships_between_types/
3686         is_convertible/is_convertible.cc: Add tests.
3687
3688 2005-04-28  Paolo Carlini  <pcarlini@suse.de>
3689             Gabriel Dos Reis  <gdr@integrable-solutions.net>
3690
3691         PR libstdc++/21244 (cont)
3692         * include/bits/cpp_type_traits.h (struct __traitor): Convert
3693         to bool the values.
3694         * include/bits/stl_algo.h: Convert _S_threshold to int.
3695         * include/bits/stl_bvector.h: Revert previous change, convert
3696         _S_word_bit to int.
3697         * include/debug/formatter.h: Convert __max_parameters to
3698         size_t.
3699         * include/ext/mt_allocator.h: Likewise for _S_chunk_size.
3700         * include/ext/pool_allocator.h: Likewise for _S_max_bytes and
3701         _S_align.
3702         * include/ext/rope: Likewise for _S_alloc_granularity; convert
3703         _S_max_rope_depth to int.
3704         * include/ext/ropeimpl.h: Convert _S_path_cache_len to int;
3705         _S_max_rope_depth to int; _S_copy_max to size_t.
3706
3707 2005-04-27  Benjamin Kosnik  <bkoz@redhat.com>
3708
3709         * docs/doxygen/user.cfg.in: Update to doxygen-1.4.2.
3710         * docs/doxygen/doxygroups.cc: Update namespace comments.
3711
3712 2005-04-27  Dominik Strasser  <dominik.strasser@infineon.com>
3713             Paolo Carlini  <pcarlini@suse.de>
3714
3715         PR libstdc++/21244
3716         * include/bits/stl_bvector.h: Change the anonymous enum
3717         at namespace scope to _S_word_bit_enum.
3718         * testsuite/23_containers/vector/bool/21244.cc: New.
3719
3720 2005-04-27  Paolo Carlini  <pcarlini@suse.de>
3721
3722         * include/tr1/type_traits (has_trivial_copy, has_trivial_assign,
3723         has_nothrow_copy, has_nothrow_assign): Adjust according to the
3724         resolution of TR1 issue 3.21.
3725         * testsuite/testsuite_tr1.h (test_copy_property,
3726         test_assign_property): Remove.
3727         * testsuite/tr1/4_metaprogramming/type_properties/
3728         has_nothrow_assign/has_nothrow_assign.cc: Adjust.
3729         * testsuite/tr1/4_metaprogramming/type_properties/
3730         has_nothrow_copy/has_nothrow_copy.cc: Likewise.
3731         * testsuite/tr1/4_metaprogramming/type_properties/
3732         has_trivial_assign/has_trivial_assign.cc: Likewise.
3733         * testsuite/tr1/4_metaprogramming/type_properties/
3734         has_trivial_copy/has_trivial_copy.cc: Likewise.
3735
3736 2005-04-26  Jones Desougi  <jones@ingate.com>
3737
3738         PR libstdc++/21131
3739         * linkage.m4: Fix comments.
3740
3741 2005-04-26  Paolo Carlini  <pcarlini@suse.de>
3742
3743         PR libstdc++/21209
3744         * include/bits/locale_facets.tcc (_M_extract_int): Avoid signed
3745         integer overflow, always use a suited unsigned type in the main
3746         parsing loop.
3747         (struct __to_unsigned_type): New.
3748         * testsuite/22_locale/num_get/get/char/16.cc: New.
3749         * testsuite/22_locale/num_get/get/wchar_t/16.cc: Likewise.
3750
3751 2005-04-25  Paolo Carlini  <pcarlini@suse.de>
3752
3753         PR libstdc++/21035
3754         * include/bits/basic_string.h (compare): Adjust the documentation
3755         to match the implementation and the standard.
3756
3757 2005-04-24  Paolo Carlini  <pcarlini@suse.de>
3758
3759         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 35.
3760
3761 2005-04-20  Mark Mitchell  <mark@codesourcery.com>
3762
3763         * testsuite/ext/bitmap_allocator/check_allocate_max_size.cpp: Add
3764         explicit instantiations for systems without weak symbols.
3765         * testsuite/ext/bitmap_allocator/check_deallocate_null.cc:
3766         Likewise.
3767
3768 2005-04-18  Jonathan Wakely  <redi@gcc.gnu.org>
3769
3770         * include/bits/stl_algo.h (rotate_copy): Add missing std qualification.
3771
3772 2005-04-17  Paolo Carlini  <pcarlini@suse.de>
3773
3774         PR libstdc++/20914
3775         * include/bits/locale_facets.tcc (__int_to_char(_CharT*, _ValueT,
3776         const _CharT*, ios_base::fmtflags, bool)): Don't deal with numeric
3777         base or sign here, instead...
3778         (_M_insert_int(_OutIter, ios_base&, _CharT, _ValueT)): ... here,
3779         after adding the grouping. This fixes the bug and also allows to
3780         clean-up the code dealing with integer types.
3781         (_M_group_int(const char*, size_t, _CharT, ios_base&, _CharT*,
3782         _CharT*, int&)): Simplify, remove bits dealing with numeric base.
3783         (__int_to_char(_CharT*, unsigned long, const _CharT*,
3784         ios_base::fmtflags), __int_to_char(_CharT*, unsigned long long,
3785         const _CharT*, ios_base::fmtflags)): Remove hackish fix for
3786         libstdc++/15565.
3787         (__int_to_char(_CharT*, long, const _CharT*, ios_base::fmtflags),
3788         __int_to_char(_CharT*, long long, const _CharT*, ios_base::fmtflags)):
3789         Simplify, don't pass the sign.
3790         (_M_insert_float(_OutIter, ios_base&, _CharT, char, _ValueT)):
3791         Deal with a sign at the beginning of __cs; robustify the grouping
3792         check.
3793         * testsuite/22_locale/num_put/put/char/20914.cc: New.
3794         * testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise.
3795
3796 2005-04-14  Benjamin Kosnik  <bkoz@redhat.com>
3797
3798         * include/ext/bitmap_allocator.h
3799         (__gnu_cxx::free_list::_M_get_mutex): New.
3800         (__gnu_cxx::free_list::_M_get_free_list): New.
3801         (__gnu_cxx::free_list::_S_bfl_mutex): Remove.
3802         (__gnu_cxx::free_list::_S_free_list): Remove.
3803         * src/bitmap_allocator.cc: Same.
3804         * config/linker-map.gnu: Remove free_list and mutex export.
3805
3806 2005-04-14  Benjamin Kosnik  <bkoz@redhat.com>
3807
3808         *  include/ext/pod_char_traits.h (__gnu_cxx::character): Add char_type.
3809         (character::to): New.
3810         (character::from): New.
3811         (operator==): Add state parameter.
3812         (operator<): Same.
3813         (char_traits::copy): Use std::copy.
3814         (char_traits::assign): Use std::fill_n.
3815         (char_traits::to_char_type): Use character::from.
3816         (char_traits::to_int_type): Use character::to.
3817         *  testsuite/testsuite_character.h (__gnu_test::character): Remove.
3818         (__gnu_test::conversion_state): Remove.
3819         (__gnu_test::pod_char): Remove.
3820         (pod_char): New typedef.
3821         (pod_uchar): New typedef.
3822         (pod_ushort): New typedef.
3823         *  testsuite/testsuite_character.cc: Fixups.
3824         *  testsuite/21_strings/basic_string/inserters_extractors/pod/
3825         10081-in.cc: Same.
3826         *  testsuite/21_strings/basic_string/inserters_extractors/pod/
3827         10081-out.cc: Same.
3828         *  testsuite/22_locale/numpunct/members/pod/1.cc: Same.
3829         *  testsuite/22_locale/numpunct/members/pod/2.cc: Same.
3830         *  testsuite/27_io/basic_filebuf/close/12790-1.cc: Same.
3831         *  testsuite/27_io/basic_filebuf/open/12790-1.cc: Same.
3832         *  testsuite/27_io/basic_filebuf/seekoff/12790-1.cc: Same.
3833         *  testsuite/27_io/basic_filebuf/seekoff/12790-2.cc: Same.
3834         *  testsuite/27_io/basic_filebuf/seekoff/12790-3.cc: Same.
3835         *  testsuite/27_io/basic_filebuf/seekoff/12790-4.cc: Same.
3836         *  testsuite/27_io/basic_filebuf/seekpos/12790-1.cc: Same.
3837         *  testsuite/27_io/basic_filebuf/seekpos/12790-2.cc: Same.
3838         *  testsuite/27_io/basic_filebuf/seekpos/12790-3.cc: Same.
3839         *  testsuite/27_io/basic_ios/imbue/14072.cc: Same.
3840         *  testsuite/27_io/basic_istream/extractors_arithmetic/pod/
3841         3983-1.cc: Same.
3842         *  testsuite/27_io/basic_istream/extractors_character/pod/
3843         3983-2.cc: Same.
3844         *  testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc: Same.
3845         *  testsuite/27_io/basic_istream/sentry/pod/1.cc: Same.
3846         *  testsuite/27_io/basic_ostream/sentry/pod/1.cc: Same.
3847
3848 2005-04-12  Mike Stump  <mrs@apple.com>
3849
3850         * configure: Regenerate.
3851
3852 2005-04-08  Benjamin Kosnik  <bkoz@redhat.com>
3853
3854         * testsuite/Makefile.am: Remove libv3test.a.
3855         * testsuite/Makefile.in: Regenerate.
3856         * testsuite/lib/libstdc++.exp (v3_target_compile): Fix comments.
3857
3858 2005-04-08  Paolo Carlini  <pcarlini@suse.de>
3859
3860         PR libstdc++/20909
3861         * include/bits/locale_facets.tcc (num_put<>::_M_insert_float):
3862         Don't even try to group numbers like 2e20, i.e., no decimal
3863         point, scientific notation.
3864         * testsuite/22_locale/num_put/put/char/20909.cc: New.
3865         * testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.
3866
3867 2005-04-08  Kelley Cook  <kcook@gcc.gnu.org>
3868
3869         * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Define _GLIBCXX_ASM_SYMVER.
3870         * acconfig.h: Delete file.
3871         * Makefile.in, acinclude.m4, configure: Regenerate.
3872
3873 2005-04-08  Kelley Cook  <kcook@gcc.gnu.org>
3874
3875         * linkage.m4 (GLIBCXX_MAYBE_UNDERSCORED_FUNCS): New macro.
3876         (GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1,
3877         GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2,
3878         GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3,
3879         GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1,
3880         GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2): Use it.
3881         (GLIBCXX_CHECK_MATH_SUPPORT): Delete obsolete comment.
3882         * acconfig.h: Delete redundant macros.
3883         * config.h.in, configure: Regenerate.
3884
3885 2005-04-08  Kelley Cook  <kcook@gcc.gnu.org>
3886
3887         * linkage.m4 (GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1): Eliminate
3888         a subshell and if test fails, test for same functions with
3889         leading underscore.
3890         (GLIBCXX_CHECK_MATH_SUPPORT): Eliminate seperate checks for _funcs.
3891         * configure: Regenerate.
3892
3893 2005-04-08  Danny Smith  <dannysmith@users.sourceforge.net>
3894             Paolo Carlini  <pcarlini@suse.de>
3895
3896         PR libstdc++/20806
3897         * config/os/mingw32/os_defines.h: Define
3898         _GLIBCXX_HAVE_DOS_BASED_FILESYSTEM.
3899         * config/os/newlib/os_defines.h: Likewise, for __CYGWIN__.
3900         * include/bits/fstream.tcc (basic_filebuf<>::showmanyc()):
3901         Use it.
3902         (basic_filebuf<>::xsgetn(_CharT*, streamsize)): Likewise.
3903
3904 2005-04-08  Kelley Cook  <kcook@gcc.gnu.org>
3905
3906         * acconfig.h: Sort the bottom section.
3907         * config.h.in: Regenerate.
3908
3909 2005-04-08  Kelley Cook  <kcook@gcc.gnu.org>
3910
3911         * acconfig.h: Remove redundant HAVE_FLOAT_H.
3912         * config.h.in: Regenerate.
3913
3914 2005-04-08  Kelley Cook  <kcook@gcc.gnu.org>
3915
3916         * configure.ac: Create template for PACKAGE and VERSION.
3917         Update comment on how to regenerate file.  Update minimum
3918         automake version to 1.9.3.
3919         * acconfig.h: Remove PACKAGE and VERSION.
3920         * aclocal.m4, configure, Makefile.in, po/Makefile.in,
3921         src/Makefile.in, include/Makefile.in, libmath/Makefile.in,
3922         testsuite/Makefile.in, config.h.in: Regenerate.
3923
3924 2005-04-06  Benjamin Kosnik  <bkoz@redhat.com>
3925
3926         * docs/html/test.html: Update.
3927         * testsuite/printnow.c: Remove.
3928         * scripts/check_survey.in: Remove.
3929
3930         * testsuite/abi_check.cc: To...
3931         * testuite/testsuite_abi_check.cc: ...here.
3932         * testsuite/libstdc++-abi/abi.exp: Change abi_check.cc to
3933         testsuite_abi_check.cc.
3934
3935         * testsuite/testsuite_hooks.h: Move character related bits to...
3936         * testsuite/testsuite_character.h: ...here.
3937         * testsuite/testsuite_character.cc: ... and here.
3938         * testsuite/21_strings/basic_string/inserters_extractors/pod/
3939         10081-in.cc: Use testsuite_character.h.
3940         * testsuite/21_strings/basic_string/inserters_extractors/pod/
3941         10081-out.cc: Same.
3942         * testsuite/22_locale/numpunct/members/pod/1.cc: Same.
3943         * testsuite/22_locale/numpunct/members/pod/2.cc: Same.
3944         * testsuite/27_io/basic_filebuf/2.cc: Same.
3945         * testsuite/27_io/basic_fstream/2.cc: Same.
3946         * testsuite/27_io/basic_istream/2.cc: Same.
3947         * testsuite/27_io/basic_istream/extractors_arithmetic/pod/
3948         3983-1.cc: Same.
3949         * testsuite/27_io/basic_istream/extractors_character/char/
3950         9826.cc: Same.
3951         * testsuite/27_io/basic_istream/extractors_character/pod/
3952         3983-2.cc: Same.
3953         * testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc: Same.
3954         * testsuite/27_io/basic_istream/sentry/pod/1.cc: Same.
3955         * testsuite/27_io/basic_ostream/2.cc: Same.
3956         * testsuite/27_io/basic_ostream/sentry/pod/1.cc: Same.
3957         * testsuite/27_io/basic_streambuf/2.cc: Same.
3958         * testsuite/27_io/basic_stringbuf/2.cc: Same.
3959         * testsuite/27_io/basic_stringbuf/4.cc: Same.
3960         * testsuite/27_io/basic_stringstream/2.cc: Same.
3961         * testsuite/27_io/fpos/1.cc: Same.
3962         * testsuite/ext/mt_allocator/tune-1.cc: Same.
3963         * testsuite/ext/mt_allocator/tune-2.cc: Same.
3964         * testsuite/ext/stdio_filebuf/char/1.cc: Same.
3965         * testsuite/lib/libstdc++.exp (v3-build_support): Add
3966         testsuite_character.cc.
3967         * testsuite/Makefile.am (libv3test_a_SOURCES): Add
3968         testsuite_character.cc.
3969         * testsuite/Makefile.in: Regenerate.
3970
3971         * configure.ac: Remove use of check_survey.
3972         * configure: Regenerate.
3973         * testsuite/Makefile.am: Remove check-script and
3974         check-script-install rules.
3975         * testsuite/Makefile.in: Regenerate.
3976
3977 2005-04-06  Ulrich Weigand  <uweigand@de.ibm.com>
3978
3979         * config/cpu/s390/atomicity.h (__exchange_and_add): Add "memory"
3980         clobber to inline assembly statement.
3981
3982 2005-04-06  Kelley Cook  <kcook@gcc.gnu.org>
3983
3984         * acinclude.m4 (_GLIBCXX_USE_LONG_LONG,
3985         _GLIBCXX_USE_WCHAR_T, _GLIBCXX_USE_C99, _GLIBCXX_USE_C99_MATH,
3986         _GLIBCXX_USE_C99_COMPLEX, _GLIBCXX_RES_LIMITS, _GLIBCXX_CONCEPT_CHECKS,
3987         _GLIBCXX_SYMVER, _GLIBCXX_USE_LFS, _GLIBCXX_FULLY_DYNAMIC_STRING,
3988         _GLIBCXX_USE_NLS, HAVE_GTHR_DEFAULT, HAVE_MBSTATE_T, HAVE_POLL,
3989         HAVE_S_ISREG, HAVE_S_IFREG, HAVE_WRITEV, HAVE_INT64_T,
3990         HAVE_LC_MESSAGES): Use long form of AC_DEFINE ...
3991         * acconfig.h: ... to eliminate them from here.
3992         (_GLIBCXX_ASM_SYMVER): Move definition below @BOTTOM@.
3993         * config.h.in, configure: Regenerate.
3994
3995 2005-04-05  Kelley Cook  <kcook@gcc.gnu.org>
3996
3997         * Makefile.am (ACLOCAL_AMFLAGS): Define.
3998         * crossconfig.m4: Wrap file into new GLIBCXX_CROSSCONFIG macro.
3999         * configure.ac: Use it.
4000         * acinclude.m4: Delete explicit m4_includes and sincludes.
4001         * aclocal.m4, configure, Makefile.in, po/Makefile.in,
4002         src/Makefile.in, include/Makefile.in, libmath/Makefile.in,
4003         testsuite/Makefile.in: Regenerate.
4004
4005 2005-04-05  Jonathan Wakely  <redi@gcc.gnu.org>
4006
4007         * include/tr1/memory, include/tr1/boost_shared_ptr.h: Use mutex
4008         to make _Sp_counted_base::add_ref_lock() thread-safe. Check whether
4009         to destroy resources by testing for equality, not inequality. Add
4010         empty critical sections to solve memory visibility issues.
4011         * testsuite/tr1/2_general_utilities/memory/
4012         shared_ptr/cons/auto_ptr_neg.cc: Use dg-excess-errors instead of
4013         explicitly listing line numbers which need to be kept in sync.
4014         * testsuite/tr1/2_general_utilities/memory/
4015         shared_ptr/assign/auto_ptr_neg.cc: Same.
4016         * testsuite/tr1/2_general_utilities/memory/
4017         shared_ptr/assign/auto_ptr_rvalue_neg.cc: Same.
4018         * testsuite/tr1/2_general_utilities/memory/
4019         shared_ptr/cons/weak_ptr_expired.cc: Make XFAIL for consistency when
4020         -fno-exceptions.
4021         * testsuite/tr1/2_general_utilities/memory/
4022         enable_shared_from_this/not_shared.cc: Add explanatory comments.
4023         * testsuite/tr1/2_general_utilities/memory/
4024         enable_shared_from_this/not_shared2.cc: Same.
4025         * testsuite/tr1/2_general_utilities/memory/
4026         enable_shared_from_this/not_shared3.cc: Same.
4027
4028 2005-04-05  Kelley Cook  <kcook@gcc.gnu.org>
4029
4030         * acconfig.h: Delete macros already AC_DEFINED.
4031         * config.h.in: Regenerate.
4032
4033 2005-04-05  Kelley Cook  <kcook@gcc.gnu.org>
4034
4035         * acconfig.h (HAVE_MODF): Remove.
4036         * linkage.m4: Check for modf.
4037         * config.h.in, configure: Regenerate.
4038
4039 2005-04-05  Kelley Cook  <kcook@gcc.gnu.org>
4040
4041         * acconfig.h (ENABLE_NLS, HAVE_CATGETS): Remove.
4042         (HAVE_GETTEXT, HAVE_STPCPY): Likewise.
4043         * config.h.in: Regenerate.
4044
4045 2005-04-05  Kelley Cook  <kcook@gcc.gnu.org>
4046
4047         * linkage.m4 (GLIBCXX_CHECK_BUILTIN_MATH_DEC): Use m4 translit macro
4048         to convert to uppercase instead of shelling out to tr.
4049         * acconfig.h: Remove now redundant HAVE__BUILTINS_*.
4050         * configure, config.h.in: Regenerate.
4051
4052 2005-04-05  Kelley Cook  <kcook@gcc.gnu.org>
4053
4054         * acconfig.h (HAVE_TANL): Correct cut-and-paste typo.
4055         * config.h.in: Regenerate.
4056
4057 2005-04-04  Mark Mitchell  <mark@codesourcery.com>
4058
4059         * testsuite/Makefile.am (check-local): Remove.
4060         (curent_symbols.txt): Likewise.
4061         (check-abi): Do not depend on current_symbols.txt.
4062         * testsuite/Makefile.in: Regenerated.
4063         * testsuite/libstdc++-abi/abi.exp: Build current_symbols.txt.
4064
4065 2005-04-02  Douglas Gregor  <doug.gregor@gmail.com>
4066
4067         * include/tr1/tuple_iterate.h (tuple_element): Use new macro
4068         _GLIBCXX_T_NUM_ARGS_PLUS_1 because _T is a macro on Darwin.
4069         * include/tr1/repeat.h (_GLIBCXX_T_NUM_ARGS_PLUS_1): Define for
4070         each iteration.
4071         * scripts/gen_includers.h: Define _GLIBCXX_T_NUM_ARGS_PLUS_1 for
4072         each iteration.
4073
4074 2005-04-01  Douglas Gregor  <doug.gregor@gmail.com>
4075
4076         * include/tr1/functional (_Maybe_wrap_member_pointer): Wrap up
4077         member pointers in _Mem_fn but let other function objects pass
4078         through unchanged.
4079         * include/tr1/functional_iterator (bind): Reduce number of bind()
4080         overloads to two to eliminate ambiguities. Use
4081         _Maybe_wrap_member_pointer to handle member pointers gracefully.
4082
4083 2005-04-01  Mark Mitchell  <mark@codesourcery.com>
4084
4085         * testsuite/Makefile.am (noinst_PROGRAMS): Remove.
4086         (site.exp): Write out the path to the baseline file.
4087         (check-abi): Use DejaGNU.
4088         (check-abi-verbose): Remove.
4089         * testsuite/Makefile.in: Regenerated.
4090         * testsuite/abi_check.cc (main): Check the return value from
4091         compare_symbols.
4092         * testsuite/testsuite_abi.cc (compare_symbols): Return a value.
4093         * testsuite/testsuite_abi.h (compare_symbols): Adjust prototype.
4094         * testsuite/libstdc++-abi/abi.exp: New file.
4095
4096 2005-03-31  Chris Jefferson  <chris@bubblescope.net>
4097
4098         * include/tr1/tuple: Support iteration via tuple_iterate.h.
4099         * include/tr1/tuple_iterate.h: Iteration file for tuple.
4100
4101 2005-03-31  Douglas Gregor  <doug.gregor@gmail.com>
4102
4103         * include/Makefile.am (tr1_headers): Add bind and mu repetition
4104         headers and reference_wrapper<> forwarding header.
4105         * include/Makefile.in: Regenerate.
4106         * include/tr1/bind_iterate.h: Implementation of function call
4107         operators for the function object returned from tr1::bind().
4108         * include/tr1/bind_repeat.h: Bind-specific repetition header,
4109         akin to include/tr1/repeat.h.
4110         * include/tr1/functional (_Mem_fn): Bug fix: declare result member
4111         template for use with result_of.
4112         (is_bind_expression): New.
4113         (is_placeholder): New.
4114         (_Placeholder): New. Placeholder type for bind.
4115         (_Mu): New. Implementation detail of bind.
4116         (_Bind, _Bind_result): New. Function objects returned by bind.
4117         (_GLIBCXX_JOIN): New. Required to create bind placeholders.
4118         * include/tr1/functional_iterate.h (_Bind, _Bind_result, bind):
4119         New. Implementation of tr1::bind.
4120         * include/tr1/mu_iterate.h (_Mu): result template and operator()
4121         for the _Mu helper to bind.
4122         * include/tr1/ref_fwd.h (reference_wrapper): Forward declaration
4123         used by tuple header.
4124         (ref): Ditto.
4125         (cref): Ditto.
4126         * include/tr1/repeat.h: Add bind-specific repetition macros.
4127         * include/tr1/tuple: Use reference_wrapper forwarding header for
4128         initial definitions, then include <tr1/functional> at the end, to
4129         make the circular dependencies work.
4130         (tie): Support zero-argument tie() function.
4131         * testsuite/tr1/3_function_objects/bind/all_bound.cc: New test of
4132         bind() functionality with parameters bound.
4133         * testsuite/tr1/3_function_objects/bind/nested.cc: New test of
4134         nested bind() expressions.
4135         * testsuite/tr1/3_function_objects/bind/placeholders.cc: New test
4136         of bind() placeholders.
4137         * testsuite/tr1/3_function_objects/bind/ref.cc: New test of bind()
4138         with arguments bound via reference_wrapper<>.
4139         * scripts/gen_includers.pl: Generate the repetitive part of
4140         include/tr1/repeat.h.
4141         * scripts/gen_bind_includers.pl: Generate the repetitive part of
4142         include/tr1/bind_repeat.h.
4143
4144 2005-03-30  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
4145
4146         * testsuite/Makefile.am (CXX): Use ${SHELL}.
4147         (GLIBCXX_INCLUDES): Same.
4148         (AM_CXXFLAGS): Same.
4149         * testsuite/Makefile.in: Regenerate.
4150
4151 2005-03-25  Mark Mitchell  <mark@codesourcery.com>
4152
4153         * testsuite/lib/libstdc++.exp (libstdc++_init): Define LOCALEDIR
4154         when testing an installed compiler.
4155
4156         * testsuite/lib/libstdc++.exp (v3-build_support): Pass -w when
4157         compiling support objects.
4158
4159 2005-03-24  Benjamin Kosnik  <bkoz@redhat.com>
4160
4161         * include/tr1/memory: Forward to...
4162         * include/tr1/boost_shared_ptr.h: ...here. Add Boost Software License.
4163         * include/Makefile.am (tr1_headers): Add boost_shared_ptr.h.
4164         * include/Makefile.in: Regenerate.
4165         * testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/
4166         auto_ptr_neg.cc: Adjust line numbers.
4167
4168 2005-03-23  Mark Mitchell  <mark@codesourcery.com>
4169
4170         * testsuite/Makefile.am (all-local): Do not build testsuite_files.
4171         * testsuite/Makefile.in: Regenerated.
4172
4173 2005-03-23  Benjamin Kosnik  <bkoz@redhat.com>
4174
4175         * acinclude.m4: Adjust so that _GLIBCXX_USE_C99 implies
4176         using _GLIBCXX_USE_C99_COMPLEX, _GLIBCXX_USE_C99_MATH, and
4177         _GLIBCXX_USE_C99_WCHAR.
4178         Remove GLIBCXX_ENABLE_C_MBCHAR, consolidate in GLIBCXX_ENABLE_C99
4179         and GLIBCXX_ENABLE_WCHAR_T.
4180         Take C99 bits from GLIBCXX_CHECK_WCHAR_T_SUPPORT and put in
4181         GLIBCXX_ENABLE_C99.
4182         Change remaining parts of GLIBCXX_CHECK_WCHAR_T_SUPPORT to
4183         GLIBCXX_CHECK_ICONV_SUPPORT.
4184         * configure.ac: Remove GLIBCXX_ENABLE_C_MBCHAR, use
4185         GLIBCXX_CHECK_ICONV_SUPPORT and GLIBCXX_ENABLE_WCHAR_T.
4186         * crossconfig.m4: Same.
4187         * acconfig.h: Same, adjust comments.
4188         * config.h.in: Regenerate.
4189         * configure: Regenerate.
4190         * docs/html/configopts.html: Change --enable-c-mbchar to
4191         --enable-wchar_t.
4192
4193         * config/locale/gnu/c++locale_internal.h: Guard wide functions
4194         with _GLIBCXX_USE_WCHAR_T.
4195         * include/c_std/std_cwctype.h: Alphabetize, remove duplicates.
4196         * include/c_std/std_cstdio.h: Spacing.
4197
4198         * config/locale/gnu/c_locale.h: Tweaks for unused warnings.
4199         * src/debug.cc: Same.
4200
4201 2005-03-23  Mark Mitchell  <mark@codesourcery.com>
4202
4203         * testsuite/libstdc++-dg/normal.exp: Read testsuite_files, if it
4204         exists.
4205
4206         * testsuite/lib/libstdc++.exp (libstdc++_wchar_t): Rename to ...
4207         (v3-wchar_t): ... this.
4208         (libstdc++_threads): Rename to ...
4209         (v3-threads): ... this.
4210         (libstdc++_test_objs): Rename to ...
4211         (v3-test_objs): ... this.
4212         (libstdc++_build_support): Rename to ...
4213         (v3-build_support): ... this.
4214         * testsuite/libstdc++-dg/normal.exp: Adjust to use new names.
4215
4216         * testsuite/lib/libstdc++.exp (libstdc++_init): Improve handling
4217         of compilers not in the build directory.
4218         (libstdc++_wchar_t): New variable.
4219         (libstdc++_threads): Likewise.
4220         (libstdc++_test_objs): Likewise.
4221         (v3_target_compile): Use libstdc++_test_objs.
4222         (v3-list-tests): Remove.
4223         (listdc++_build_support): New function.
4224         * testsuite/libstdc++-dg/normal.exp: Rework to dynamically
4225         generate list of tests.
4226
4227 2005-03-21  Chris Jefferson  <chris@bubblescope.net>
4228
4229         PR libstdc++/20577
4230         * include/bits/stl_algobase.h (iter_swap): Only delegate iter_swap
4231         to swap when the iterator's reference_type is a reference to its
4232         value_type.
4233         * testsuite/25_algorithms/iter_swap/20577.cc: New.
4234
4235 2005-03-21  Zack Weinberg  <zack@codesourcery.com>
4236
4237         * acinclude.m4 (GLIBCXX_CONFIGURE): Delete gcc_version logic.
4238         (GLIBCXX_EXPORT_INSTALL_INFO): Adjust quotation so ${gcc_version}
4239         is expanded by the Makefiles, not by configure.
4240         * fragment.am: Set gcc_version.
4241         * libmath/Makefile.am: Likewise.
4242         * configure, Makefile.in, include/Makefile.in, libmath/Makefile.in
4243         * libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in
4244         * testsuite/Makefile.in: Regenerate.
4245
4246 2005-03-16  Paolo Carlini  <pcarlini@suse.de>
4247
4248         * testsuite/20_util/functional/binders.cc: Remove explicit
4249         instantiations for non-weak systems.
4250         * testsuite/20_util/memory/allocator/1.cc: Likewise.
4251         * testsuite/20_util/memory/allocator/10378.cc: Likewise.
4252         * testsuite/20_util/memory/allocator/10416.cc: Likewise.
4253         * testsuite/20_util/memory/allocator/8230.cc: Likewise.
4254         * testsuite/20_util/utility/rel_ops.cc: Likewise.
4255         * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
4256         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
4257         * testsuite/23_containers/deque/cons/1.cc: Likewise.
4258         * testsuite/23_containers/deque/cons/2.cc: Likewise.
4259         * testsuite/23_containers/deque/invalidation/1.cc: Likewise.
4260         * testsuite/23_containers/deque/invalidation/2.cc: Likewise.
4261         * testsuite/23_containers/deque/invalidation/3.cc: Likewise.
4262         * testsuite/23_containers/deque/invalidation/4.cc: Likewise.
4263         * testsuite/23_containers/deque/modifiers/swap.cc: Likewise.
4264         * testsuite/23_containers/deque/operators/1.cc: Likewise.
4265         * testsuite/23_containers/list/capacity/1.cc: Likewise.
4266         * testsuite/23_containers/list/cons/1.cc: Likewise.
4267         * testsuite/23_containers/list/cons/2.cc: Likewise.
4268         * testsuite/23_containers/list/cons/3.cc: Likewise.
4269         * testsuite/23_containers/list/cons/4.cc: Likewise.
4270         * testsuite/23_containers/list/cons/5.cc: Likewise.
4271         * testsuite/23_containers/list/cons/6.cc: Likewise.
4272         * testsuite/23_containers/list/cons/7.cc: Likewise.
4273         * testsuite/23_containers/list/cons/8.cc: Likewise.
4274         * testsuite/23_containers/list/cons/9.cc: Likewise.
4275         * testsuite/23_containers/list/invalidation/1.cc: Likewise.
4276         * testsuite/23_containers/list/invalidation/2.cc: Likewise.
4277         * testsuite/23_containers/list/invalidation/3.cc: Likewise.
4278         * testsuite/23_containers/list/invalidation/4.cc: Likewise.
4279         * testsuite/23_containers/list/modifiers/1.cc: Likewise.
4280         * testsuite/23_containers/list/modifiers/2.cc: Likewise.
4281         * testsuite/23_containers/list/modifiers/3.cc: Likewise.
4282         * testsuite/23_containers/list/operators/1.cc: Likewise.
4283         * testsuite/23_containers/list/operators/2.cc: Likewise.
4284         * testsuite/23_containers/list/operators/3.cc: Likewise.
4285         * testsuite/23_containers/list/operators/4.cc: Likewise.
4286         * testsuite/23_containers/map/insert/1.cc: Likewise.
4287         * testsuite/23_containers/map/invalidation/1.cc: Likewise.
4288         * testsuite/23_containers/map/invalidation/2.cc: Likewise.
4289         * testsuite/23_containers/map/modifiers/swap.cc: Likewise.
4290         * testsuite/23_containers/map/operators/1.cc: Likewise.
4291         * testsuite/23_containers/multimap/invalidation/1.cc: Likewise.
4292         * testsuite/23_containers/multimap/invalidation/2.cc: Likewise.
4293         * testsuite/23_containers/multimap/modifiers/swap.cc: Likewise.
4294         * testsuite/23_containers/multiset/insert/1.cc: Likewise.
4295         * testsuite/23_containers/multiset/insert/2.cc: Likewise.
4296         * testsuite/23_containers/multiset/invalidation/1.cc: Likewise.
4297         * testsuite/23_containers/multiset/invalidation/2.cc: Likewise.
4298         * testsuite/23_containers/multiset/modifiers/swap.cc: Likewise.
4299         * testsuite/23_containers/priority_queue/members/7161.cc: Likewise.
4300         * testsuite/23_containers/queue/members/7157.cc: Likewise.
4301         * testsuite/23_containers/set/insert/1.cc: Likewise.
4302         * testsuite/23_containers/set/invalidation/1.cc: Likewise.
4303         * testsuite/23_containers/set/invalidation/2.cc: Likewise.
4304         * testsuite/23_containers/set/modifiers/swap.cc: Likewise.
4305         * testsuite/23_containers/stack/members/7158.cc: Likewise.
4306         * testsuite/23_containers/vector/bool/6886.cc: Likewise.
4307         * testsuite/23_containers/vector/capacity/1.cc: Likewise.
4308         * testsuite/23_containers/vector/capacity/8230.cc: Likewise.
4309         * testsuite/23_containers/vector/cons/1.cc: Likewise.
4310         * testsuite/23_containers/vector/cons/2.cc: Likewise.
4311         * testsuite/23_containers/vector/cons/3.cc: Likewise.
4312         * testsuite/23_containers/vector/cons/6513.cc: Likewise.
4313         * testsuite/23_containers/vector/element_access/1.cc: Likewise.
4314         * testsuite/23_containers/vector/invalidation/1.cc: Likewise.
4315         * testsuite/23_containers/vector/invalidation/2.cc: Likewise.
4316         * testsuite/23_containers/vector/invalidation/3.cc: Likewise.
4317         * testsuite/23_containers/vector/invalidation/4.cc: Likewise.
4318         * testsuite/23_containers/vector/modifiers/1.cc: Likewise.
4319         * testsuite/23_containers/vector/modifiers/2.cc: Likewise.
4320         * testsuite/23_containers/vector/modifiers/swap.cc: Likewise.
4321         * testsuite/23_containers/vector/resize/1.cc: Likewise.
4322         * testsuite/24_iterators/back_insert_iterator.cc: Likewise.
4323         * testsuite/24_iterators/front_insert_iterator.cc: Likewise.
4324         * testsuite/24_iterators/insert_iterator.cc: Likewise.
4325         * testsuite/24_iterators/iterator.cc: Likewise.
4326         * testsuite/25_algorithms/copy/1.cc: Likewise.
4327         * testsuite/25_algorithms/copy/2.cc: Likewise.
4328         * testsuite/25_algorithms/copy/3.cc: Likewise.
4329         * testsuite/25_algorithms/copy/4.cc: Likewise.
4330         * testsuite/25_algorithms/equal.cc: Likewise.
4331         * testsuite/25_algorithms/fill/1.cc: Likewise.
4332         * testsuite/25_algorithms/fill/2.cc: Likewise.
4333         * testsuite/25_algorithms/min_max.cc: Likewise.
4334         * testsuite/25_algorithms/rotate.cc: Likewise.
4335         * testsuite/25_algorithms/unique/1.cc: Likewise.
4336         * testsuite/25_algorithms/unique/2.cc: Likewise.
4337         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise.
4338         * testsuite/ext/concept_checks.cc: Likewise.
4339         * testsuite/ext/hash_map/1.cc: Likewise.
4340         * testsuite/ext/hash_set/1.cc: Likewise.
4341         * testsuite/ext/rope/1.cc: Likewise.
4342         * testsuite/ext/rope/2.cc: Likewise.
4343         * testsuite/ext/rope/3.cc: Likewise.
4344         * testsuite/thread/pthread1.cc: Likewise.
4345         * testsuite/thread/pthread4.cc: Likewise.
4346         * testsuite/thread/pthread5.cc: Likewise.
4347         * testsuite/thread/pthread6.cc: Likewise.
4348         * testsuite/thread/pthread7-rope.cc: Likewise.
4349
4350 2005-03-15  Zack Weinberg  <zack@codesourcery.com>
4351
4352         * include/Makefile.am (c++config.h): Depend on DATESTAMP from gcc
4353         subdirectory.  Generate #define of __GLIBCXX__ from contents of
4354         that file.
4355         * include/Makefile.in: Regenerate.
4356         * include/bits/c++config: Do not define __GLIBCXX__.
4357
4358 2005-03-15  Paolo Carlini  <pcarlini@suse.de>
4359
4360         PR libstdc++/20352
4361         * include/std/std_complex.h (pow(const complex<_Tp>&,
4362         const _Tp&)): On non-c99 platforms, don't try to compute
4363         log of complex zero.
4364
4365 2005-03-10  Ben Elliston  <bje@au.ibm.com>
4366
4367         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Don't XFAIL
4368         on GNU/Linux.
4369
4370 2005-03-07  Paolo Carlini  <pcarlini@suse.de>
4371
4372         * include/tr1/type_traits (is_polymorphic): Don't forget
4373         the virtual destructor, thus avoiding warnings.
4374         * testsuite/testsuite_tr1.h (class AbstractClass,
4375         class PolymorphicClass): Likewise.
4376
4377 2005-03-07  Paolo Carlini  <pcarlini@suse.de>
4378
4379         * include/std/std_complex.h (pow(const complex<_Tp>&,
4380         const complex<_Tp>&)): Dispatch to either __complex_pow(__x.__rep(),
4381         __y.__rep()) or __complex_pow(__x, __y) depending on the macro
4382         _GLIBCXX_USE_C99_COMPLEX.
4383
4384 2005-03-07  Paolo Carlini  <pcarlini@suse.de>
4385
4386         * include/std/std_fstream.h (basic_fstream<>::open,
4387         basic_ifstream<>::open, basic_ofstream<>::open): Implement the
4388         resolution of DR 409 [Ready], call clear() on success.
4389         * docs/html/ext/howto.html: Add an entry for DR 409.
4390         * docs/html/faq/index.html (4_4): Clarify the new behavior.
4391         * testsuite/27_io/basic_ifstream/open/char/1.cc: Adjust.
4392         * testsuite/27_io/basic_ofstream/open/char/1.cc: Likewise.
4393
4394 2005-03-05  Joseph S. Myers  <joseph@codesourcery.com>
4395
4396         * testsuite/22_locale/collate/compare/wchar_t/2.cc,
4397         testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc,
4398         testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc,
4399         testsuite/22_locale/collate/hash/wchar_t/2.cc,
4400         testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc,
4401         testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc,
4402         testsuite/22_locale/collate/transform/wchar_t/2.cc,
4403         testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc,
4404         testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
4405         XFAIL on *-*-hpux11.23.
4406
4407 2005-03-04  Paolo Carlini  <pcarlini@suse.de>
4408
4409         * include/tr1/type_traits: Add is_base_of.
4410         * testsuite/tr1/4_metaprogramming/relationships_between_types/
4411         is_base_of/is_base_of.cc: New.
4412         * testsuite/tr1/4_metaprogramming/relationships_between_types/
4413         is_base_of/typedefs.cc: Likewise.
4414
4415 2005-03-03  Benjamin Kosnik  <bkoz@redhat.com>
4416
4417         * include/tr1/functional: Convert relative path.
4418
4419         * docs/doxygen/user.cfg.in: Add tr1 includes.
4420
4421 2005-03-03  Paolo Carlini  <pcarlini@suse.de>
4422
4423         * include/tr1/type_traits: Implemenet is_polymorphic.
4424         (is_empty): Minor tweaks.
4425         * testsuite/testsuite_tr1.h: Add test types.
4426         * testsuite/tr1/4_metaprogramming/type_properties/
4427         is_polymorphic/is_polymorphic.cc: New.
4428         * testsuite/tr1/4_metaprogramming/type_properties/
4429         is_polymorphic/typedefs.cc: Likewise.
4430         * testsuite/tr1/4_metaprogramming/composite_type_traits/
4431         is_union_or_class/is_union_or_class.cc: Add tests.
4432
4433 2005-03-02  Douglas Gregor  <doug.gregor@gmail.com>
4434
4435         * include/tr1/functional (_Has_result_type): Cleanup.
4436         (_Result_of_impl): Handle member data pointers correctly.
4437         (reference_wrapper): Support invocation.
4438         Move repetition code into new file include/tr1/repeat.h.
4439         * include/tr1/functional_iterate.h (reference_wrapper): Support
4440         invocation.  Cleanup long lines.
4441         * include/tr1/ref_wrap_iterate.h (reference_wrapper): Declare
4442         invocation operators.
4443         * include/tr1/repeat.h: Code repetition header.
4444         * include/Makefile.am: Add ref_wrap_iterate.h, repeat.h.
4445         * include/Makefile.in: Add ref_wrap_iterate.h, repeat.h.
4446         * testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc:
4447         New test of reference_wrapper invocation.
4448         * testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc:
4449         New test of reference_wrapper typedefs and base classes.
4450         * testsuite/tr1/3_function_objects/result_of.cc: Trivial cleanup
4451         (e-mail address).
4452
4453 2005-03-02  Douglas Gregor  <doug.gregor@gmail.com>
4454
4455         * include/tr1/function (result_of): New class template.
4456         * include/tr1/functional/iterator.h: Implementation of TR1
4457         result_of.
4458         * testsuite/tr1/3_function_objects/result_of.cc: New test
4459
4460 2005-03-01  Vladimir Merzliakov  <wanderer@rsu.ru>
4461
4462         * testsuite/26_numerics/cmath/c99_classification_macros_c.cc: Tweak.
4463
4464 2005-02-28  Benjamin Kosnik  <bkoz@redhat.com>
4465
4466         * testsuite/tr1/2_general_utilities/memory/shared_ptr/
4467         cons/auto_ptr_neg.cc: Correct line numbers.
4468
4469         * testsuite/testsuite_abi.cc: Add CXXABI_1.3.1.
4470
4471 2005-02-28  Jonathan Wakely  <redi@gcc.gnu.org>
4472
4473         * include/tr1/memory: Replace checked_deleter with (unchecked)
4474         _Sp_deleter as GCC warns about delete on incomplete types anyway.
4475
4476 2005-02-28  Jonathan Wakely  <redi@gcc.gnu.org>
4477
4478         * include/tr1/memory: Add missing "inline" to __throw_bad_weak_ptr.
4479
4480 2005-02-28  Hans-Peter Nilsson  <hp@axis.com>
4481
4482         PR target/19065
4483         * config/cpu/cris/atomicity.h (__exchange_and_add): In asm, use
4484         'Q' constraint, not 'm'.
4485
4486 2005-02-26  Earl Chew  <earl_chew@agilent.com>
4487             Christopher Jefferson  <chris@bubblescope.net>
4488
4489         * include/bits/stl_tree.h (_Rb_tree<>::_M_insert): Don't leak
4490         memory if _M_key_compare throws.
4491
4492 2005-02-25  Paolo Carlini  <pcarlini@suse.de>
4493
4494         * include/tr1/type_traits: Add the trivial is_union and is_class;
4495         add the __is_union_or_class extension.
4496         (is_enum, is_empty): Use the latter.
4497         * include/tr1/type_traits_fwd.h: Add __is_union_or_class.
4498         * testsuite/testsuite_tr1.h: Add UnionType; trivial formatting
4499         fixes.
4500         * testsuite/tr1/4_metaprogramming/composite_type_traits/
4501         is_union_or_class/is_union_or_class.cc: New.
4502         * testsuite/tr1/4_metaprogramming/composite_type_traits/
4503         is_union_or_class/typedefs.cc: Likewise.
4504
4505 2005-02-24  Benjamin Kosnik  <bkoz@redhat.com>
4506
4507         * testsuite/tr1/6_containers/unordered/instantiate/hash.cc: Guard
4508         wchar_t use with _GLIBCXX_USE_WCHAR_T.
4509
4510 2005-02-24  Benjamin Kosnik  <bkoz@redhat.com>
4511
4512         * include/std/std_complex.h: _GLIBCXX_USE_C99_COMPLEX_MATH to
4513         _GLIBCXX_USE_C99_COMPLEX.
4514         * acinclude.m4: Same.
4515         * acconfig.h: Same.
4516         * configure: Regenerate.
4517         * config.h.in: Same.
4518
4519 2005-02-24  Paolo Carlini  <pcarlini@suse.de>
4520
4521         * include/tr1/functional (mem_fn): Avoid _T, badname on
4522         Darwin.
4523
4524 2005-02-23  Douglas Gregor  <doug.gregor@gmail.com>
4525
4526         * include/tr1/functional (function): New class template.
4527         (mem_fn): New function template.
4528         Implementations of TR1 function and mem_fn facilities.
4529         * include/tr1/functional_iterate.h: Implementations of TR1
4530         function and mem_fn facilities.
4531         * testsuite/tr1/3_function_objects/function/1.cc: New
4532         test of std::tr1::function.
4533         * testsuite/tr1/3_function_objects/function/2.cc: New
4534         test of std::tr1::function.
4535         * testsuite/tr1/3_function_objects/function/3.cc: New
4536         test of std::tr1::function.
4537         * testsuite/tr1/3_function_objects/function/4.cc: New
4538         test of std::tr1::function.
4539         * testsuite/tr1/3_function_objects/function/5.cc: New
4540         test of std::tr1::function.
4541         * testsuite/tr1/3_function_objects/function/6.cc: New
4542         test of std::tr1::function.
4543         * testsuite/tr1/3_function_objects/function/7.cc: New
4544         test of std::tr1::function.
4545         * testsuite/tr1/3_function_objects/function/8.cc: New
4546         test of std::tr1::function.
4547         * testsuite/tr1/3_function_objects/function/9.cc: New
4548         test of std::tr1::function.
4549         * testsuite/tr1/3_function_objects/mem_fn.cc: New test of
4550         std::tr1::mem_fn.
4551
4552 2005-02-23  Paolo Carlini  <pcarlini@suse.de>
4553
4554         * include/tr1/type_traits: Implement is_convertible.
4555         * testsuite/tr1/4_metaprogramming/relationships_between_types/
4556         is_convertible/is_convertible.cc: New.
4557         * testsuite/tr1/4_metaprogramming/relationships_between_types/
4558         is_convertible/typedefs.cc: Likewise.
4559         * testsuite/testsuite_tr1.h: Add class DerivedType.
4560
4561         * include/tr1/type_traits (is_function): Don't mistake references
4562         to function types for function types.
4563         * testsuite/tr1/4_metaprogramming/primary_type_categories/
4564         is_function/is_function.cc: Add testcase.
4565
4566 2005-02-22  Benjamin Kosnik  <bkoz@redhat.com>
4567
4568         * scripts/check_performance: Tweaks.
4569
4570         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/2.cc: Name
4571         output file with extension that clean rules can find.
4572
4573 2005-02-22  Richard Henderson  <rth@redhat.com>
4574
4575         PR libstdc++/20091
4576         * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't special case
4577         decrement of uncaughtExceptions for rethrow.
4578
4579 2005-02-22  Paolo Carlini  <pcarlini@suse.de>
4580
4581         * include/tr1/functional: Fix License to GPL with exception.
4582         * include/tr1/hashtable: Likewise.
4583         * include/tr1/tuple: Likewise.
4584         * include/tr1/type_traits: Likewise.
4585         * include/tr1/type_traits_fwd.h: Likewise.
4586         * include/tr1/unordered_map: Likewise.
4587         * include/tr1/unordered_set: Likewise.
4588         * include/tr1/utility: Likewise.
4589
4590 2005-02-22  Paolo Carlini  <pcarlini@suse.de>
4591
4592         * testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/
4593         auto_ptr_neg.cc: Add missing dg-do compile directive.
4594         * testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/
4595         auto_ptr_rvalue_neg.cc: Likewise.
4596         * testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/
4597         shared_ptr_neg.cc: Likewise.
4598         * testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/
4599         auto_ptr_neg.cc: Likewise.
4600         * testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/
4601         reset_neg.cc: Likewise.
4602         * testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/
4603         swap_neg.cc: Likewise.
4604
4605 2005-02-22  Jonathan Wakely  <redi@gcc.gnu.org>
4606
4607         * include/Makefile.am, include/Makefile.in: Fix accidental extra
4608         change from previous commit.
4609
4610 2005-02-21  Jonathan Wakely  <redi@gcc.gnu.org>
4611
4612         * include/tr1/memory: New file.
4613         * include/Makefile.am, include/Makefile.in: Add new TR1 header.
4614         * testsuite/tr1/2_general_utilities/memory/
4615         enable_shared_from_this/not_shared.cc: New test.
4616         * testsuite/tr1/2_general_utilities/memory/
4617         enable_shared_from_this/not_shared2.cc: New test.
4618         * testsuite/tr1/2_general_utilities/memory/
4619         enable_shared_from_this/not_shared3.cc: New test.
4620         * testsuite/tr1/2_general_utilities/memory/
4621         enable_shared_from_this/shared.cc: New test.
4622         * testsuite/tr1/2_general_utilities/memory/
4623         enable_shared_from_this/still_shared.cc: New test.
4624         * testsuite/tr1/2_general_utilities/memory/
4625         shared_ptr/assign/assign.cc: New test.
4626         * testsuite/tr1/2_general_utilities/memory/
4627         shared_ptr/assign/auto_ptr.cc: New test.
4628         * testsuite/tr1/2_general_utilities/memory/
4629         shared_ptr/assign/auto_ptr_neg.cc: New test.
4630         * testsuite/tr1/2_general_utilities/memory/
4631         shared_ptr/assign/auto_ptr_rvalue_neg.cc: New test.
4632         * testsuite/tr1/2_general_utilities/memory/
4633         shared_ptr/assign/shared_ptr.cc: New test.
4634         * testsuite/tr1/2_general_utilities/memory/
4635         shared_ptr/assign/shared_ptr_neg.cc: New test.
4636         * testsuite/tr1/2_general_utilities/memory/
4637         shared_ptr/comparison/cmp.cc: New test.
4638         * testsuite/tr1/2_general_utilities/memory/
4639         shared_ptr/cons/auto_ptr.cc: New test.
4640         * testsuite/tr1/2_general_utilities/memory/
4641         shared_ptr/cons/auto_ptr_neg.cc: New test.
4642         * testsuite/tr1/2_general_utilities/memory/
4643         shared_ptr/cons/copy.cc: New test.
4644         * testsuite/tr1/2_general_utilities/memory/
4645         shared_ptr/cons/default.cc: New test.
4646         * testsuite/tr1/2_general_utilities/memory/
4647         shared_ptr/cons/pointer.cc: New test.
4648         * testsuite/tr1/2_general_utilities/memory/
4649         shared_ptr/cons/weak_ptr.cc: New test.
4650         * testsuite/tr1/2_general_utilities/memory/
4651         shared_ptr/cons/weak_ptr_expired.cc: New test.
4652         * testsuite/tr1/2_general_utilities/memory/
4653         shared_ptr/dest/dest.cc: New test.
4654         * testsuite/tr1/2_general_utilities/memory/
4655         shared_ptr/misc/io.cc: New test.
4656         * testsuite/tr1/2_general_utilities/memory/
4657         shared_ptr/misc/swap.cc: New test.
4658         * testsuite/tr1/2_general_utilities/memory/
4659         shared_ptr/modifiers/reset.cc: New test.
4660         * testsuite/tr1/2_general_utilities/memory/
4661         shared_ptr/modifiers/reset_neg.cc: New test.
4662         * testsuite/tr1/2_general_utilities/memory/
4663         shared_ptr/modifiers/swap.cc: New test.
4664         * testsuite/tr1/2_general_utilities/memory/
4665         shared_ptr/modifiers/swap_neg.cc: New test.
4666         * testsuite/tr1/2_general_utilities/memory/
4667         shared_ptr/observers/bool_conv.cc: New test.
4668         * testsuite/tr1/2_general_utilities/memory/
4669         shared_ptr/observers/get.cc: New test.
4670         * testsuite/tr1/2_general_utilities/memory/
4671         shared_ptr/observers/unique.cc: New test.
4672         * testsuite/tr1/2_general_utilities/memory/
4673         shared_ptr/observers/use_count.cc: New test.
4674
4675 2005-02-21  Paolo Carlini  <pcarlini@suse.de>
4676
4677         * include/tr1/type_traits (is_member_function_pointer):
4678         Remove ugly workaround for c++/19076.
4679
4680 2005-02-21  Paolo Carlini  <pcarlini@suse.de>
4681
4682         * include/bits/basic_string.tcc (_Rep::_M_destroy): Don't
4683         check for this == &_S_empty_rep, it's always false, here.
4684
4685 2005-02-19  Matt Austern  <austern@gmail.com>
4686
4687         * include/tr1/functional (tr1_hashtable_define_trivial_hash): Make
4688         hash<T>::operator() a const member function for T a fundamental type
4689         * include/tr1/hashtable (extract1st::operator()): Declare const.
4690         (hash_code_base): Declare all member functions const
4691         (hashtable::find): fix call to this->bucket_count()
4692         (hashtable::count): Likewise.
4693         (hashtable::equal_range): m_incr_bucket applies to iterator, not node.
4694         * testsuite/tr1/6_containers/unordered/find/set1.cc: New test.
4695         * testsuite/tr1/6_containers/unordered/find/map1.cc: New test.
4696         * testsuite/tr1/6_containers/unordered/find/multimap1.cc: New test.
4697         * testsuite/tr1/6_containers/unordered/find/multiset1.cc: New test.
4698
4699 2005-02-19  Hans-Peter Nilsson  <hp@axis.com>
4700
4701         PR libstdc++/20071
4702         * include/tr1/functional (hash<std::wstring>): Wrap in #ifdef
4703         _GLIBCXX_USE_WCHAR_T.
4704
4705 2005-02-18  Richard Henderson  <rth@redhat.com>
4706
4707         PR libstdc++/10606
4708         * config/linker-map.gnu (CXXABI_1.3.1): Add __cxa_get_exception_ptr.
4709         * libsupc++/eh_alloc.cc (__cxa_allocate_exception): Increment
4710         uncaughtExceptions here instead of ...
4711         * libsupc++/eh_throw.cc (__cxa_throw) ... here.
4712         (__cxa_rethrow): Increment uncaughtExceptions here instead of ...
4713         * libsupc++/eh_catch.cc (__cxa_end_catch): ... here.
4714         (__cxa_get_exception_ptr): New.
4715         * libsupc++/unwind-cxx.h (__cxa_get_exception_ptr): Declare.
4716
4717 2005-02-18  Matt Austern  <austern@apple.com>
4718
4719         * testsuite/tr1/6_containers/unordered/insert/array_syntax.cc: Fix
4720         test case to use assignment instead of ==
4721         * testsuite/tr1/6_containers/unordered/insert/map_range.cc: New test.
4722         * testsuite/tr1/6_containers/unordered/insert/multimap_range.cc: New test.
4723         * testsuite/tr1/6_containers/unordered/insert/multiset_range.cc: New test.
4724         * testsuite/tr1/6_containers/unordered/insert/set_range.cc: New test.
4725
4726 2005-02-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
4727
4728         * testsuite/thread/pthread1.cc: Do not invoke pthread_setconcurrency
4729         on Solaris 2.6 and below.
4730         * testsuite/thread/pthread2.cc: Likewise.
4731         * testsuite/thread/pthread3.cc: Likewise.
4732         * testsuite/thread/pthread4.cc: Likewise.
4733         * testsuite/thread/pthread5.cc: Likewise.
4734         * testsuite/thread/pthread6.cc: Likewise.
4735         * testsuite/thread/pthread7-rope.cc: Likewise.
4736
4737 2005-02-17  Matt Austern  <austern@apple.com>
4738
4739         * include/tr1/functional (hash): New function object.
4740         * include/tr1/hashtable: New file.
4741         * include/tr1/unordered_set: New file.
4742         * include/tr1/unordered_map: New file.
4743         * include/Makefile.am: Add three new TR1 headers.
4744         * include/Makefile.in: Likewise.
4745         * testsuite/tr1/6_containers/unordered/insert/array_syntax.cc: New test.
4746         * testsuite/tr1/6_containers/unordered/insert/map_single.cc: New test.
4747         * testsuite/tr1/6_containers/unordered/insert/multimap_single.cc: New test.
4748         * testsuite/tr1/6_containers/unordered/insert/multiset_single.cc: New test.
4749         * testsuite/tr1/6_containers/unordered/insert/set_single.cc: New test.
4750         * testsuite/tr1/6_containers/unordered/instantiate/hash.cc: New test.
4751         * testsuite/tr1/6_containers/unordered/instantiate/map.cc: New test.
4752         * testsuite/tr1/6_containers/unordered/instantiate/multimap.cc: New test.
4753         * testsuite/tr1/6_containers/unordered/instantiate/multiset.cc: New test.
4754         * testsuite/tr1/6_containers/unordered/instantiate/set.cc: New test.
4755
4756 2005-02-16  Paolo Carlini  <pcarlini@suse.de>
4757
4758         * testsuite/23_containers/set/modifiers/16728.cc:
4759         Remove redundant include <testsuite_performance.h>.
4760
4761 2005-02-16  Paolo Carlini  <pcarlini@suse.de>
4762
4763         PR libstdc++/19829
4764         * testsuite/21_strings/basic_string/find/char/3.cc: Fix the test
4765         at line #66 to not access str_lit01 beyond its end.
4766         * testsuite/21_strings/basic_string/find/wchar_t/3.cc: Likewise.
4767
4768 2005-02-15  Paolo Carlini  <pcarlini@suse.de>
4769             Jon Grimm  <jgrimm2@us.ibm.com>
4770
4771         PR libstdc++/19955
4772         * include/bits/locale_facets.h (ctype<char>::_M_narrow_init()):
4773         Fix the logic setting _M_narrow_ok: first check whether the
4774         transformation is trivial with a dflt == 0, then deal with the
4775         special case of zero.
4776         * testsuite/22_locale/ctype/narrow/char/19955.cc: New.
4777
4778         * include/bits/locale_facets.h (ctype<char>::_M_widen_init()):
4779         Tweak consistently to use memcmp; minor formatting fixes.
4780
4781 2005-02-15  Jakub Jelinek  <jakub@redhat.com>
4782
4783         PR libstdc++/19946
4784         * testsuite/demangle/abi_examples/01.cc (main): Adjust for 2005-02-13
4785         demangler change.
4786         * testsuite/demangle/abi_examples/02.cc (main): Likewise.
4787
4788 2005-02-13  Richard Guenther  <rguenth@gcc.gnu.org>
4789             Paolo Carlini  <pcarlini@suse.de>
4790
4791         PR libstdc++/11706
4792         * include/c_std/std_cmath.h (pow): Use __builtin_powi[lf]
4793         for integer overloads.
4794
4795         * testsuite/26_numerics/cmath/powi.cc: New.
4796
4797 2005-02-11  Janis Johnson  <janis187@us.ibm.com>
4798
4799         * testsuite/26_numerics/complex/13450.cc: Fix XFAIL selector.
4800         * testsuite/26_numerics/complex/complex_value.cc: Ditto.
4801         * testsuite/26_numerics/complex/pow.cc: Ditto.
4802
4803         * testsuite/lib/libstdc++.exp: Load target-supports-dg.exp.
4804         * testsuite/26_numerics/complex/13450.cc: XFAIL for broken_cplxf_arg.
4805         * testsuite/26_numerics/complex/complex_value.cc: Ditto.
4806         * testsuite/26_numerics/complex/pow.cc: Ditto.
4807
4808 2005-02-09  Mike Stump  <mrs@apple.com>
4809
4810         * libsupc++/del_op.cc: Don't include cstdlib when !_GLIBCXX_HOSTED.
4811
4812 2005-02-09  Janis Johnson  <janis187@us.ibm.com>
4813
4814         * testsuite/ext/array_allocator/2.cc: XFAIL for powerpc*-*-linux*.
4815
4816 2005-02-08  Mark Mitchell  <mark@codesourcery.com>
4817
4818         * config/linker-map.gnu (GLIBCXX_3.4): Add _ZNSdC* and _ZNSdD*.
4819
4820 2005-02-07  Loren J. Rittle  <ljrittle@acm.org>
4821
4822         * testsuite/27_io/basic_istream/getline/wchar_t/5.cc: Make buf static.
4823         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc: Make ref and
4824         src static.
4825
4826 2005-02-02  Brad Spencer  <spencer@infointeractive.com>
4827
4828         * debug.html: Fix broken tags.
4829         * documentation.html: Same.
4830
4831 2005-02-02  Andreas Jaeger  <aj@suse.de>
4832
4833         * testsuite/lib/libstdc++.exp: Revert Geoffrey Keating's patch
4834         from 2005-01-28.
4835         * testsuite/Makefile.am: Likewise.
4836         * testsuite/Makefile.in: Likewise.
4837
4838 2005-02-01  Paolo Carlini  <pcarlini@suse.de>
4839
4840         * include/bits/cpp_type_traits.h: Rename _M_type fields to
4841         __value, except for __enable_if, _M_type -> __type, consistently
4842         with the other traits.
4843         * include/bits/stl_algobase.h: Tweak consistently.
4844         * include/bits/stl_tree.h: Likewise.
4845         * include/bits/valarray_array.h: Likewise.
4846         * include/c_std/std_cmath.h: Likewise.
4847         * include/debug/safe_iterator.h: Likewise.
4848         * include/std/std_complex.h: Likewise.
4849
4850 2005-01-31  Brad Spencer  <spencer@infointeractive.com>
4851
4852         * crossconfig.m4: Repair Solaris cross bits for strtold and strtof.
4853         * configure: Regenerated.
4854
4855 2005-01-31  Mark Mitchell  <mark@codesourcery.com>
4856
4857         * include/std/std_limits.h (numeric_limits<float>::has_denorm):
4858         Add required cast.
4859         (numeric_limits<double>::has_denorm): Likewise.
4860         (numeric_limits<long double>::has_denorm): Likewise.
4861
4862 2005-01-31  Paolo Carlini  <pcarlini@suse.de>
4863             Gabriel Dos Reis  <gdr@integrable-solutions.net>
4864
4865         * include/bits/cpp_type_traits.h: Add types to the structs thus
4866         making type_traits.h redundant; exploit new __truth_type and
4867         __traitor helpers.
4868         * include/bits/type_traits.h: Remove.
4869         * include/Makefile.am: Update.
4870         * include/Makefile.in: Regenerate.
4871         * include/backward/tempbuf.h: Include cpp_type_traits.h instead.
4872         * include/bits/basic_string.h (replace(iterator, iterator,
4873         _InputIterator, _InputIterator), _S_construct(_InIterator,
4874         _InIterator, const _Alloc&)): Use __is_integer instead.
4875         * include/bits/stl_bvector.h (vector(_InputIterator,
4876         _InputIterator, const allocator_type&), assign(_InputIterator,
4877         _InputIterator), insert(iterator, _InputIterator, _InputIterator)):
4878         Likewise.
4879         * include/bits/stl_construct.h (_Destroy(_ForwardIterator,
4880         _ForwardIterator)): Use __is_scalar.
4881         * include/bits/stl_deque.h (deque(_InputIterator, _InputIterator,
4882         const allocator_type&), assign(_InputIterator, _InputIterator),
4883         insert(iterator, _InputIterator, _InputIterator)): Use __is_integer.
4884         * include/bits/stl_list.h (assign(_InputIterator, _InputIterator),
4885         insert(iterator, _InputIterator, _InputIterator)): Likewise.
4886         * include/bits/stl_tempbuf.h (_Temporary_buffer(_ForwardIterator,
4887         _ForwardIterator)): Use __is_scalar.
4888         * include/bits/stl_uninitialized.h (uninitialized_copy(_InputIterator,
4889         _InputIterator, _ForwardIterator), uninitialized_fill(_ForwardIterator,
4890         _ForwardIterator, const _Tp&), uninitialized_fill_n(_ForwardIterator,
4891         _Size, const _Tp&)): Likewise.
4892         * include/bits/stl_vector.h (vector(_InputIterator, _InputIterator,
4893         const allocator_type&), assign(_InputIterator, _InputIterator),
4894         insert(iterator, _InputIterator, _InputIterator)): Use __is_integer.
4895         * include/debug/debug.h (__valid_range(const _InputIterator&,
4896         const _InputIterator&)): Use __is_integer.
4897         * include/ext/slist (assign(_InputIterator, _InputIterator)): Likewise.
4898         * include/std/std_string.h: Include cpp_type_traits.h instead.
4899
4900 2005-01-30  Paolo Carlini  <pcarlini@suse.de>
4901
4902         PR libstdc++/19642
4903         * config/locale/generic/c_locale.h (__convert_from_v): Switch only
4904         LC_NUMERIC, and only when actually != "C".
4905
4906 2005-01-28  Paolo Carlini  <pcarlini@suse.de>
4907
4908         * include/tr1/type_traits (is_function): Minor consistency tweaks.
4909
4910 2005-01-28  Geoffrey Keating  <geoffk@apple.com>
4911
4912         * testsuite/lib/libstdc++.exp (libstdc++_init): Search the path
4913         for the compiler.  Don't set cxxflags.
4914         (v3_target_compile): Search for libv3test.a relative to $objdir.
4915         (lsearch_all_inline): New.
4916         (lsearch_all_inline_not): New.
4917         (v3-list-tests): Rewrite to not need generated files.
4918         * testsuite/Makefile.am (IGNORE_WCHAR_T): New.
4919         (IGNORE_THREAD): New.
4920         (TESTS_TO_IGNORE): New.
4921         (site.exp): Set tests_to_ignore, cxxflags.
4922         * aclocal.m4: Regenerate.
4923         * Makefile.in: Regenerate.
4924         * libmath/Makefile.in: Likewise.
4925         * libsupc++/Makefile.in: Likewise.
4926         * po/Makefile.in: Likewise.
4927         * src/Makefile.in: Likewise.
4928         * testsuite/Makefile.in: Likewise.
4929
4930 2005-01-28  Paolo Carlini  <pcarlini@suse.de>
4931
4932         * include/tr1/type_traits: Implement is_empty.
4933         * testsuite/tr1/4_metaprogramming/type_properties/is_empty/
4934         is_empty.cc: New.
4935         * testsuite/tr1/4_metaprogramming/type_properties/is_empty/
4936         typedefs.cc: Likewise.
4937
4938         * include/tr1/type_traits (__is_abstract_helper): Simplify a bit.
4939
4940 2005-01-28  Paolo Carlini  <pcarlini@suse.de>
4941
4942         * include/tr1/type_traits: Implement is_abstract, by exploiting the
4943         resolution of DR core/337.
4944         * testsuite/testsuite_tr1.h: Add AbstractClass.
4945         * testsuite/tr1/4_metaprogramming/type_properties/is_abstract/
4946         is_abstract.cc: New.
4947         * testsuite/tr1/4_metaprogramming/type_properties/is_abstract/
4948         typedefs.cc: Likewise.
4949
4950         * include/tr1/type_traits (is_function): Rewrite, use the conversion
4951         F& -> F* instead, thus avoiding problems with abstract classes.
4952         * testsuite/tr1/4_metaprogramming/primary_type_categories/
4953         is_function/is_function.cc: Add a test for tricky AbstractClass.
4954
4955 2005-01-26  Paolo Carlini  <pcarlini@suse.de>
4956
4957         * include/ext/mt_allocator.h
4958         (struct __per_type_pool_policy<,, false>::_S_get_pool,
4959         struct __per_type_pool_policy<,, true>::_S_get_pool): Scale
4960         _M_chunk_size too with sizeof(_Tp), otherwise the allocator
4961         breaks down as soon as sizeof(_Tp) >~ _S_chunk_size / 128;
4962         reduce to 64 the multiplier for _M_max_bytes (safer wrt
4963         _Binmap_type being a short); trivial reformattings.
4964         * testsuite/ext/mt_allocator/check_allocate_big_per_type.cc: New.
4965
4966 2005-01-26  Paolo Carlini  <pcarlini@suse.de>
4967
4968         * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Add ac_c99_complex
4969         to the final test for enable_c99, thus robustifying it; remove
4970         duplicate final test on ac_99_math.
4971         * configure: Regenerate.
4972
4973         * include/std/std_complex.h: Remove usages of the dead
4974         _GLIBCXX_BUGGY_COMPLEX macro.
4975
4976         * testsuite/26_numerics/cmath/19322.cc: Protect with
4977         _GLIBCXX_USE_C99_MATH instead of the stronger _GLIBCXX_USE_C99,
4978         since only C99 math facilities are involved.
4979         * testsuite/26_numerics/cmath/c99_classification_macros_c++.cc:
4980         Likewise.
4981
4982 2005-01-25  Loren J. Rittle  <ljrittle@acm.org>
4983
4984         * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Map FreeBSD to darwin
4985         instead of generic.  Change autoconf report to "darwin or freebsd".
4986         * configure: Regenerate.
4987         * config/os/bsd/freebsd/ctype_inline.h (ctype<wchar_t>::do_is): Add.
4988         (ctype<wchar_t>::do_scan_is): Likewise.
4989         (ctype<wchar_t>::do_scan_not): Likewise.
4990
4991 2005-01-25  Benjamin Kosnik  <bkoz@redhat.com>
4992
4993         * acinclude.m4 (GLIBCXX_ENABLE_C99): Test for complex math
4994         functions, and enable _GLIBCXX_USE_C99_COMPLEX_MATH if they exist.
4995         * acconfig.h: Add _GLIBCXX_USE_C99_COMPLEX_MATH.
4996         * config.h.in: Regenerate.
4997         * configure: Regenerate.
4998         * include/std/std_complex.h: Protect complex builtins with
4999         _GLIBCXX_USE_C99_COMPLEX_MATH.
5000
5001 2005-01-24  Paolo Carlini  <pcarlini@suse.de>
5002
5003         * include/tr1/type_traits: Implement is_signed and is_unsigned.
5004         * testsuite/tr1/4_metaprogramming/type_properties/
5005         is_signed/is_signed.cc: New.
5006         * testsuite/tr1/4_metaprogramming/type_properties/
5007         is_signed/typedefs.cc: Likewise.
5008         * testsuite/tr1/4_metaprogramming/type_properties/
5009         is_unsigned/is_unsigned.cc: Likewise.
5010         * testsuite/tr1/4_metaprogramming/type_properties/
5011         is_unsigned/typedefs.cc: Likewise.
5012
5013 2005-01-23  Paolo Carlini  <pcarlini@suse.de>
5014
5015         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 34.
5016
5017 2005-01-23  Paolo Carlini  <pcarlini@suse.de>
5018
5019         * testsuite/27_io/basic_ostream/cons/wchar_t/9827.cc: New.
5020         * testsuite/27_io/basic_ostream/endl/wchar_t/1.cc: Likewise.
5021         * testsuite/27_io/basic_ostream/ends/wchar_t/1.cc: Likewise.
5022         * testsuite/27_io/basic_ostream/ends/wchar_t/2.cc: Likewise.
5023         * testsuite/27_io/basic_ostream/exceptions/wchar_t/9561.cc: Likewise.
5024         * testsuite/27_io/basic_ostream/flush/wchar_t/1.cc: Likewise.
5025         * testsuite/27_io/basic_ostream/flush/wchar_t/2.cc: Likewise.
5026         * testsuite/27_io/basic_ostream/flush/wchar_t/
5027         exceptions_badbit_throw.cc: Likewise.
5028         * testsuite/27_io/basic_ostream/inserters_arithmetic/
5029         wchar_t/2.cc: Likewise.
5030         * testsuite/27_io/basic_ostream/inserters_arithmetic/
5031         wchar_t/3.cc: Likewise.
5032         * testsuite/27_io/basic_ostream/inserters_arithmetic/
5033         wchar_t/4.cc: Likewise.
5034         * testsuite/27_io/basic_ostream/inserters_arithmetic/
5035         wchar_t/4402.cc: Likewise.
5036         * testsuite/27_io/basic_ostream/inserters_arithmetic/
5037         wchar_t/5.cc: Likewise.
5038         * testsuite/27_io/basic_ostream/inserters_arithmetic/
5039         wchar_t/6.cc: Likewise.
5040         * testsuite/27_io/basic_ostream/inserters_arithmetic/
5041         wchar_t/9555-oa.cc: Likewise.
5042         * testsuite/27_io/basic_ostream/inserters_arithmetic/
5043         wchar_t/exceptions_badbit_throw.cc: Likewise.
5044         * testsuite/27_io/basic_ostream/inserters_arithmetic/
5045         wchar_t/exceptions_failbit_throw.cc: Likewise.
5046         * testsuite/27_io/basic_ostream/inserters_character/
5047         wchar_t/1.cc: Likewise.
5048         * testsuite/27_io/basic_ostream/inserters_character/
5049         wchar_t/2.cc: Likewise.
5050         * testsuite/27_io/basic_ostream/inserters_character/
5051         wchar_t/3.cc: Likewise.
5052         * testsuite/27_io/basic_ostream/inserters_character/
5053         wchar_t/4.cc: Likewise.
5054         * testsuite/27_io/basic_ostream/inserters_character/
5055         wchar_t/5.cc: Likewise.
5056         * testsuite/27_io/basic_ostream/inserters_character/
5057         wchar_t/6.cc: Likewise.
5058         * testsuite/27_io/basic_ostream/inserters_character/
5059         wchar_t/9555-oc.cc: Likewise.
5060         * testsuite/27_io/basic_ostream/inserters_other/
5061         wchar_t/1.cc: Likewise.
5062         * testsuite/27_io/basic_ostream/inserters_other/
5063         wchar_t/2.cc: Likewise.
5064         * testsuite/27_io/basic_ostream/inserters_other/
5065         wchar_t/3.cc: Likewise.
5066         * testsuite/27_io/basic_ostream/inserters_other/
5067         wchar_t/4.cc: Likewise.
5068         * testsuite/27_io/basic_ostream/inserters_other/
5069         wchar_t/5.cc: Likewise.
5070         * testsuite/27_io/basic_ostream/inserters_other/
5071         wchar_t/9318-out.cc: Likewise.
5072         * testsuite/27_io/basic_ostream/inserters_other/
5073         wchar_t/9424-out.cc: Likewise.
5074         * testsuite/27_io/basic_ostream/inserters_other/
5075         wchar_t/9555-oo.cc: Likewise.
5076         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
5077         error_failbit.cc: Likewise.
5078         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
5079         exceptions_badbit_throw.cc: Likewise.
5080         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
5081         exceptions_failbit_throw.cc: Likewise.
5082         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
5083         exceptions_null.cc: Likewise.
5084         * testsuite/27_io/basic_ostream/put/char/1.cc: Likewise.
5085         * testsuite/27_io/basic_ostream/put/wchar_t/1.cc: Likewise.
5086         * testsuite/27_io/basic_ostream/seekp/char/
5087         exceptions_badbit_throw.cc: Likewise.
5088         * testsuite/27_io/basic_ostream/seekp/wchar_t/
5089         2346-fstream.cc: Likewise.
5090         * testsuite/27_io/basic_ostream/seekp/wchar_t/
5091         2346-sstream.cc: Likewise.
5092         * testsuite/27_io/basic_ostream/seekp/wchar_t/
5093         exceptions_badbit_throw.cc: Likewise.
5094         * testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc: Likewise.
5095         * testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc: Likewise.
5096         * testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise.
5097         * testsuite/27_io/basic_ostream/tellp/wchar_t/2.cc: Likewise.
5098         * testsuite/27_io/basic_ostream/tellp/wchar_t/
5099         exceptions_badbit_throw.cc: Likewise.
5100         * testsuite/27_io/basic_ostream/write/wchar_t/1.cc: Likewise.
5101
5102         * testsuite/data/wostream_inserter_char-1.tst: Likewise.
5103         * testsuite/data/wostream_inserter_char-1.txt: Likewise.
5104         * testsuite/data/wostream_inserter_other-1.tst: Likewise.
5105         * testsuite/data/wostream_inserter_other-2.tst: Likewise.
5106         * testsuite/data/wostream_seeks-1.tst: Likewise.
5107
5108         * testsuite/27_io/basic_ostream/endl/char/1.cc: Minor tweaks.
5109         * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise.
5110         * testsuite/27_io/basic_ostream/exceptions/char/9561.cc: Likewise.
5111         * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
5112         * testsuite/27_io/basic_ostream/flush/char/2.cc: Likewise.
5113         * testsuite/27_io/basic_ostream/flush/char/
5114         exceptions_badbit_throw.cc: Likewise.
5115         * testsuite/27_io/basic_ostream/inserters_arithmetic/
5116         char/2.cc: Likewise.
5117         * testsuite/27_io/basic_ostream/inserters_arithmetic/
5118         char/3.cc: Likewise.
5119         * testsuite/27_io/basic_ostream/inserters_arithmetic/
5120         char/4.cc: Likewise.
5121         * testsuite/27_io/basic_ostream/inserters_arithmetic/
5122         char/4402.cc: Likewise.
5123         * testsuite/27_io/basic_ostream/inserters_arithmetic/
5124         char/5.cc: Likewise.
5125         * testsuite/27_io/basic_ostream/inserters_arithmetic/
5126         char/6.cc: Likewise.
5127         * testsuite/27_io/basic_ostream/inserters_character/
5128         char/4.cc: Likewise.
5129         * testsuite/27_io/basic_ostream/inserters_other/char/
5130         2.cc: Likewise.
5131         * testsuite/27_io/basic_ostream/inserters_other/char/
5132         5.cc: Likewise.
5133         * testsuite/27_io/basic_ostream/inserters_other/char/
5134         error_failbit.cc: Likewise.
5135         * testsuite/27_io/basic_ostream/inserters_other/char/
5136         exceptions_badbit_throw.cc: Likewise.
5137         * testsuite/27_io/basic_ostream/inserters_other/char/
5138         exceptions_failbit_throw.cc: Likewise.
5139         * testsuite/27_io/basic_ostream/inserters_other/char/
5140         exceptions_null.cc: Likewise.
5141         * testsuite/27_io/basic_ostream/put/char/1.cc: Likewise.
5142         * testsuite/27_io/basic_ostream/seekp/char/
5143         exceptions_badbit_throw.cc: Likewise.
5144         * testsuite/27_io/basic_ostream/sentry/char/2.cc: Likewise.
5145         * testsuite/27_io/basic_ostream/write/char/1.cc: Likewise.
5146
5147 2005-01-23  Paolo Carlini  <pcarlini@suse.de>
5148
5149         * include/tr1/type_traits (aligned_storage): Use __aligned__ instead
5150         of aligned.
5151
5152 2005-01-23  Paolo Carlini  <pcarlini@suse.de>
5153             Andreas Jaeger  <aj@suse.de>
5154
5155         PR libstdc++/19343
5156         * include/bits/functexcept.h: Mark the helpers as 'noreturn'.
5157
5158 2005-01-21  Loren J. Rittle  <ljrittle@acm.org>
5159
5160         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Allow
5161         lseek on fifo to succeed.  Thus, check for consistent report.
5162
5163 2005-01-21  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
5164
5165         PR libstdc++/19510
5166         * include/bits/stl_list.h (_List_iterator): Initialize _M_node
5167         in constructor.
5168         (_List_const_iterator): Likewise.
5169         * include/bits/stl_tree.h (_Rb_tree_iterator): Likewise.
5170         (_Rb_tree_const_iterator): Likewise.
5171
5172         * testsuite/23_containers/map/operators/1_neg.cc: Adjust line numbers.
5173         * testsuite/23_containers/set/operators/1_neg.cc: Likewise.
5174
5175 2005-01-20  Benjamin Kosnik  <bkoz@redhat.com>
5176
5177         * testsuite/Makefile.am (check-compile): New.
5178         * testsuite/Makefile.in: Regenerate.
5179         * scripts/check_compile_time: New.
5180         * scripts/check_performance: Tweaks.
5181
5182 2005-01-19  Paolo Carlini  <pcarlini@suse.de>
5183
5184         PR libstdc++/19535
5185         * include/tr1/utility (struct __pair_get<1>::__get, __const_get):
5186         Fix typo in the return type.
5187         * testsuite/tr1/6_containers/utility/19535.cc: New.
5188
5189 2005-01-19  Loren J. Rittle  <ljrittle@acm.org>
5190
5191         * include/ext/array_allocator.h (array_allocator<>::allocate):
5192         Avoid __used.  Use __array_used instead.
5193         * docs/html/17_intro/BADNAMES: Add list for FreeBSD.
5194
5195 2005-01-18  David Edelsohn  <edelsohn@gnu.org>
5196
5197         * config/os/aix/os_defines.h (_XOPEN_SOURCE): Delete.
5198         (_XOPEN_SOURCE_EXTENDED): Delete.
5199
5200 2005-01-18  Benjamin Kosnik  <bkoz@redhat.com>
5201
5202         * testsuite/testsuite_performance.h (time_counter::start):
5203         Clear. Tweaks.
5204         (clear_counters): Inline.
5205         (start_counters): Inline.
5206         (stop_counters): Inline.
5207         * testsuite/performance/20_util/allocator/map_thread.cc: Return.
5208         * testsuite/performance/20_util/allocator/insert.cc: Remove bogus
5209         return, add return.
5210         * testsuite/performance/20_util/allocator/map_thread.cc: Same.
5211
5212 2005-01-17  Paolo Carlini  <pcarlini@suse.de>
5213
5214         PR libstdc++/19433
5215         * include/bits/stl_tree.h (_Rb_tree<>::insert_unique(iterator,
5216         const _Val&), _Rb_tree<>::insert_equal(iterator, const _Val&)):
5217         Obtain amortized constant complexity if t is inserted right after
5218         p - not before p - as per Table 69.
5219         * testsuite/performance/23_containers/set_insert_from_sorted.cc: New.
5220
5221         * testsuite/23_containers/multiset/insert/2.cc: New.
5222         * testsuite/23_containers/set/insert/1.cc: Likewise.
5223
5224         * testsuite/performance/23_containers/set_create_from_sorted.cc:
5225         Simplify.
5226
5227         * include/bits/stl_tree.h: Add a few missing std:: qualifications.
5228
5229 2005-01-16  Jonathan Wakely  <redi@gcc.gnu.org>
5230
5231         * include/ext/rope: Qualify calls to std::copy() by sequence_buffer.
5232         * testsuite/ext/rope/4.cc: Add.
5233
5234 2005-01-16  Lorenz Minder  <lminder@gmx.net>
5235             Paolo Carlini  <pcarlini@suse.de>
5236
5237         PR libstdc++/19322
5238         * include/c_std/std_cmath.h: Define the C99 classification facilities
5239         directly inside namespace std:.
5240         * testsuite/26_numerics/cmath/19322.cc: New.
5241
5242 2005-01-15  David Edelsohn  <edelsohn@gnu.org>
5243
5244         * config/os/aix/os_defines.h (_G_USING_THUNKS): Delete.
5245
5246 2005-01-14  Paolo Carlini  <pcarlini@suse.de>
5247
5248         PR libstdc++/19422
5249         * include/bits/stl_tree.h (_Rb_tree<>::insert_equal(_II, _II),
5250         _Rb_tree<>::insert_unique(_II, _II)): Use insert_equal (insert_unique,
5251         respectively) with hint (end()).
5252         * testsuite/performance/23_containers/set_create_from_sorted.cc: New.
5253
5254 2005-01-13  Geoffrey Keating  <geoffk@apple.com>
5255
5256         * configure.host (darwin): On darwin8 or later, no need to build
5257         libstdc++ with -flat_namespace.
5258
5259 2005-01-13  Jonathan Wakely  <redi@gcc.gnu.org>
5260
5261         * docs/doxygen/user.cfg.in: Set HAVE_DOT back to YES.
5262
5263 2005-01-13  Paolo Carlini  <pcarlini@suse.de>
5264
5265         * testsuite/26_numerics/cmath/c99_classification_macros_c++.cc:
5266         Re-enable commented-out test for double type.
5267
5268 2005-01-11  Paolo Carlini  <pcarlini@suse.de>
5269             Benjamin Kosnik  <bkoz@redhat.com>
5270
5271         * src/istream.cc (basic_istream<char>::ignore(streamsize),
5272         basic_istream<char>::ignore(streamsize, int_type),
5273         basic_istream<wchar_t>::ignore(streamsize),
5274         basic_istream<wchar_t>::ignore(streamsize, int_type)): In case
5275         more than numeric_limits<streamsize>::max() chars are skipped,
5276         set _M_gcount = max().
5277         * include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
5278         int_type)): Likewise; keep simple, don't forward.
5279
5280 2005-01-11  Paolo Carlini  <pcarlini@suse.de>
5281
5282         * src/istream.cc (basic_istream<char>::ignore(streamsize),
5283         basic_istream<char>::ignore(streamsize, int_type),
5284         basic_istream<wchar_t>::ignore(streamsize),
5285         basic_istream<wchar_t>::ignore(streamsize, int_type)): Revert
5286         2005-01-05 change: actually, the previous behavior is conforming
5287         and consistent with that of get(char_type*, streamsize, char_type),
5288         albeit slightly different from that of 3.3/3.4 in a corner case
5289         due to the use of snextc.
5290         * include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
5291         int_type)): Likewise.
5292         * testsuite/27_io/basic_istream/ignore/char/4.cc: Remove.
5293         * testsuite/27_io/basic_istream/ignore/wchar_t/4.cc: Likewise.
5294
5295 2005-01-11  Paolo Carlini  <pcarlini@suse.de>
5296
5297         * include/tr1/type_traits: Implement alignment_of and aligned_storage.
5298         * testsuite/tr1/4_metaprogramming/other_transformations/
5299         aligned_storage/aligned_storage.cc: New.
5300         * testsuite/tr1/4_metaprogramming/other_transformations/
5301         aligned_storage/typedefs.cc: Likewise.
5302         * testsuite/tr1/4_metaprogramming/type_properties/
5303         alignment_of/alignment_of.cc: Likewise.
5304         * testsuite/tr1/4_metaprogramming/type_properties/
5305         alignment_of/typedefs.cc: Likewise.
5306
5307 2005-01-10  Paolo Carlini  <pcarlini@suse.de>
5308
5309         * Makefile.in: Regenerate.
5310         * libmath/Makefile.in: Likewise.
5311         * libsupc++/Makefile.in: Likewise.
5312         * po/Makefile.in: Likewise.
5313         * src/Makefile.in: Likewise.
5314         * testsuite/Makefile.in: Likewise.
5315
5316 2005-01-10  Paolo Carlini  <pcarlini@suse.de>
5317
5318         * include/bits/stl_algobase.h (lexicographical_compare):
5319         Fix concept check.
5320
5321 2005-01-07  Benjamin Kosnik  <bkoz@redhat.com>
5322
5323         * acinclude.m4: Remove CCODECVT_H.
5324         * configure: Regenerate.
5325         * include/Makefile.am (host_headers_extra): Move to...
5326         (ext_headers): ...here.
5327         * include/Makefile.in: Regenerate.
5328         * include/ext/enc_filebuf: Remove enc_filebuf, consolidate
5329         enc_traits to...
5330         * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Move...
5331         * include/ext/codecvt_specializations.h: ...here. Remove
5332         _GLIBCXX_USE___ENC_TRAITS.
5333         (__enc_traits): To __encoding_state, put in __gnu_cxx namespace.
5334         (enc_char_traits): To __encoding_char_traits, put in __gnu_cxx
5335         namespace.
5336         * config/locale/generic/codecvt_specializations.h: Remove.
5337         * include/bits/codecvt.h: Remove codecvt_specializations.h include.
5338         * src/codecvt.cc: Remove __enc_traits::_S_max_size.
5339
5340 2005-01-06  Benjamin Kosnik  <bkoz@redhat.com>
5341
5342         * include/bits/fstream.tcc: Remove unnecessary qualifications for
5343         uglified data members of basic_filebuf, including _M_buf,
5344         _M_buf_size, _M_mode, _M_pback_init.
5345         * include/std/std_fstream.h: Same.
5346
5347 2005-01-05  Benjamin Kosnik  <bkoz@redhat.com>
5348
5349         * testsuite/testsuite_hooks.h:
5350         (copy_constructor::mark_call):  Use __throw_runtime_error.
5351         (assignment_operator::mark_call): Same.
5352         * testsuite/testsuite_hooks.cc (verify_demangle): Same.
5353         (locale_data): Remove, just use runtime_error directly.
5354         (environment_variable): Same.
5355         (not_found): Same.
5356         (run_tests_wrapped_locale): Use __throw_runtime_error.
5357         (run_tests_wrapped_env): Same.
5358         (semaphore::semaphore): Same.
5359         (semaphore::signal): Same.
5360         (semaphore::wait): Same.
5361         * testsuite/testsuite_abi.h (symbol_error): Remove, use logic_error.
5362         * testsuite/testsuite_abi.cc (get_symbol): Use __throw_logic_error.
5363         (create_symbols): Use __throw_runtime_error.
5364         * src/bitmap_allocator.cc: Use __throw_bad_alloc.
5365
5366 2005-01-05  Mark Mitchell  <mark@codesourcery.com>
5367
5368         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Remove child
5369         process.
5370
5371 2005-01-05  Paolo Carlini  <pcarlini@suse.de>
5372
5373         * src/istream.cc (basic_istream<char>::ignore(streamsize),
5374         basic_istream<char>::ignore(streamsize, int_type),
5375         basic_istream<wchar_t>::ignore(streamsize),
5376         basic_istream<wchar_t>::ignore(streamsize, int_type)): At the end,
5377         first check _M_gcount vs __n.
5378         * include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
5379         int_type)): Likewise.
5380         * testsuite/27_io/basic_istream/ignore/char/4.cc: New.
5381         * testsuite/27_io/basic_istream/ignore/wchar_t/4.cc: Likewise.
5382
5383 2005-01-03  Mark Mitchell  <mark@codesourcery.com>
5384
5385         * testsuite/testsuite_hooks.cc: Use __throw_exception_again
5386         instead of just throw.
5387
5388         * testsuite/testsuite_hooks.cc: Update coypright and follow style
5389         guidelines.
5390         * testsuite/testsuite_hooks.h: Likewise.
5391         * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use
5392         semaphores, not sleep.
5393         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
5394         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
5395         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
5396         * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc:
5397         Likewise.
5398         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
5399         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
5400         * testsuite/27_io/objects/char/7.cc: Likewise.
5401         * testsuite/27_io/objects/char/9661-1.cc: Likewise.
5402         * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
5403         * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
5404
5405         * configure.ac: Check for sys/ipc.h and sys/sem.h.
5406         * config.h.in: Regenerated.
5407         * configure: Likewise.
5408         * testsuite/testsuite_hooks.cc (_GLIBCXX_SYSV_SEM): Conditionally
5409         define.
5410         (sys/types.h): Include.
5411         (sys/ipc.h): Likewise.
5412         (sys/sem.h): Likewise.
5413         (__gnu_test::semun): New type.
5414         (__gnu_test::semaphore::sempaphore): New function.
5415         (__gnu_test::semaphore::~semaphore): Likewise.
5416         (__gnu_test::semaphore::wait): Likewise.
5417         (__gnu_test::semaphore::signal): Likewise.
5418         * testsuite/testsuite_hooks.h (__gnu_test::semaphore): New class.
5419         * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use
5420         semaphores, not sleep.
5421         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
5422         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
5423         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
5424         * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc:
5425         Likewise.
5426         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
5427         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
5428         * testsuite/27_io/objects/char/7.cc: Likewise.
5429         * testsuite/27_io/objects/char/9661-1.cc: Likewise.
5430         * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
5431         * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
5432
5433 2005-01-03  Paolo Carlini  <pcarlini@suse.de>
5434
5435         * include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
5436         int_type)): Reset _M_gcount to numeric_limits<streamsize>::min().
5437         * src/istream.cc (basic_istream<char>::ignore(streamsize, int_type),
5438         basic_istream<wchar_t>::ignore(streamsize, int_type)): Likewise.
5439         * src/istream.cc (basic_istream<char>::ignore(streamsize),
5440         basic_istream<wchar_t>::ignore(streamsize)): Likewise; fix a typo.
5441
5442 2005-01-02  Paolo Carlini  <pcarlini@suse.de>
5443
5444         * src/istream.cc (basic_istream<char>::ignore(streamsize),
5445         basic_istream<char>::ignore(streamsize, int_type),
5446         basic_istream<wchar_t>::ignore(streamsize),
5447         basic_istream<wchar_t>::ignore(streamsize, int_type)): Avoid
5448         _M_gcount overflows.
5449         * include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
5450         int_type)): Likewise; use snextc in the main loop, consistently
5451         with the specializations above.
5452
5453 2005-01-02  Chris Jefferson  <chris@bubblescope.net>
5454
5455         * include/bits/stl_algobase.h (mismatch): Correct concept check.
5456
5457 2005-01-01  Paolo Carlini  <pcarlini@suse.de>
5458
5459         * testsuite/ext/enc_filebuf/char/13189.cc: Fix, first include
5460         testsuite_hooks.h, to know whether including ext/enc_filebuf.h.
5461         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
5462
5463 2005-01-01  Paolo Carlini  <pcarlini@suse.de>
5464
5465         * testsuite/27_io/basic_istream/extractors_character/char/1.cc: Fix,
5466         null-terminate array1 at the outset.
5467         * testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc:
5468         Likewise.
5469 \f
5470 Copyright (C) 2005 Free Software Foundation, Inc.
5471
5472 Copying and distribution of this file, with or without modification,
5473 are permitted in any medium without royalty provided the copyright
5474 notice and this notice are preserved.