2017-09-27 Richard Biener <rguenther@suse.de>
[official-gcc.git] / libstdc++-v3 / ChangeLog-2005
bloba71ba23e39f32141035809fa79c08b002632e8de
1 2005-12-28  Paolo Carlini  <pcarlini@suse.de>
3         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 40.
5 2005-12-28  Chris Jefferson  <chris@bubblescope.net>
7         * testsuite/testsuite_allocator.h (check_deallocate_null): Return true.
9 2005-12-28  Paolo Carlini  <pcarlini@suse.de>
11         * include/std/std_bitset.h (bitset<>::_M_copy_from_string,
12         bitset<>::_M_copy_to_string, bitset<>::operator>>): Reverse loop.
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.
49 2005-12-28  Chris Jefferson  <chris@bubblescope.net>
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>.
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.
63 2005-12-26  Chris Jefferson  <chris@bubblescope.net>
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.
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.
153 2005-12-24  Paolo Carlini  <pcarlini@suse.de>
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).
159 2005-12-24  Paolo Carlini  <pcarlini@suse.de>
161         * include/bits/stl_algobase.h (fill(const _Deque_iterator<>&,
162         const _Deque_iterator<>&, const _Tp&)): Add.
164         * testsuite/23_containers/deque/cons/assign/1.cc: New.
166 2005-12-19  Paolo Carlini  <pcarlini@suse.de>
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.
176         * include/bits/deque.tcc (_M_insert_aux(iterator, size_type,
177         const value_type&)): Qualify with std:: fill call.
179 2005-12-18  Benjamin Kosnik  <bkoz@redhat.com>
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.
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.
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.
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.
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
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.
510         * libsupc++/eh_alloc.cc: Correct comment line spacing.
512 2005-12-18  Paolo Carlini  <pcarlini@suse.de>
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.
520 2005-12-18  Paolo Carlini  <pcarlini@suse.de>
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.
530 2005-12-18  Paolo Carlini  <pcarlini@suse.de>
531             Howard Hinnant  <hhinnant@apple.com>
533         * include/bits/stl_algo.h (merge, includes, set_union,
534         set_intersection, set_difference, set_symmetric_difference):
535         Fix concept checks.
537 2005-12-18  Paolo Carlini  <pcarlini@suse.de>
539         * include/bits/stl_algo.h (partial_sort_copy, lower_bound,
540         upper_bound, equal_range, binary_search): Fix concept checks.
542 2005-12-18  Benjamin Kosnik  <bkoz@redhat.com>
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.
564 2005-12-17  Benjamin Kosnik  <bkoz@redhat.com>
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.
572 2005-12-17  Benjamin Kosnik  <bkoz@redhat.com>
574         PR libstdc++/25472
575         * include/c_std/std_cstdlib.h: Fix for freestanding.
577 2005-12-17  Benjamin Kosnik  <bkoz@redhat.com>
579         * testsuite/libstdc++-dg/normal.exp: Rename to..
580         * testsuite/libstdc++-dg/conformance.exp: ... this.
582 2005-12-17  Paolo Carlini  <pcarlini@suse.de>
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.
589 2005-12-17  Paolo Carlini  <pcarlini@suse.de>
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.
604 2005-12-17  Gabriel Dos Reis  <gdr@integrable-solutions.net>
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.
616 2005-12-16  Paolo Carlini  <pcarlini@suse.de>
618         * testsuite/tr1/4_metaprogramming/type_properties/is_empty/is_empty.cc:
619         Fix class NonEmptyClassTwo.
621 2005-12-15  Paolo Carlini  <pcarlini@suse.de>
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.
627 2005-12-15  Paolo Carlini  <pcarlini@suse.de>
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.
634 2005-12-13  Carlos O'Donell <carlos@codesourcery.com>
636         * include/std/std_limits.h (struct numeric_limits):
637         Use __DBL_HAS_DENORM__, __FLT_HAS_DENORM__, __LDBL_HAS_DENORM__.
639 2005-12-10  Paolo Carlini  <pcarlini@suse.de>
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.
648         * include/ext/sso_string_base.h (__sso_string_base<>::_M_destroy):
649         Deallocate passed size + 1.
650         (_M_dispose, _M_reserve): Adjust.
652 2005-12-09  Paolo Carlini  <pcarlini@suse.de>
653             Howard Hinnant  <hhinnant@apple.com>
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.
667         * include/bits/stl_list.h (list<>::insert, erase): Fix wrong comments.
669 2005-12-08  Paolo Carlini  <pcarlini@suse.de>
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.
684 2005-12-08  Paolo Carlini  <pcarlini@suse.de>
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.
692         * testsuite/23_containers/vector/modifiers/erase/1.cc: New.
694 2005-12-07  Paolo Carlini  <pcarlini@suse.de>
696         * docs/html/configopts.html ([--enable-libstdcxx-allocator]):
697         Mention the SGI pooled allocator.
699 2005-12-06  Paolo Carlini  <pcarlini@suse.de>
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.
713 2005-12-05  Paolo Carlini  <pcarlini@suse.de>
715         * include/ext/sso_string_base.h (__sso_string_base<>::_M_assign):
716         Simplify, avoid pointless reallocations.
718 2005-12-04  Paolo Carlini  <pcarlini@suse.de>
720         * include/ext/sso_string_base.h (__sso_string_base<>::_M_reserve):
721         Simplify.
723 2005-12-04  Paolo Carlini  <pcarlini@suse.de>
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.
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.
740 2005-12-04  Paolo Carlini  <pcarlini@suse.de>
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.
755 2005-12-04  Paolo Carlini  <pcarlini@suse.de>
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.
763 2005-12-04  Paolo Carlini  <pcarlini@suse.de>
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.
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.
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.
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.
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.
808 2005-12-02  David Billinghurst (David.Billinghurst@riotinto.com)
810         PR testsuite/25193
811         * testsuite/lib/libstdc++.exp (libstdc++-dg-test): Catch
812         error if file cannot be deleted.
814 2005-11-23  Paolo Carlini  <pcarlini@suse.de>
816         PR libstdc++/24975 (basic_string)
817         * include/bits/basic_string.h (_Rep::_S_empty_rep): Avoid
818         strict-aliasing warnings.
820 2005-11-22  Paolo Carlini  <pcarlini@suse.de>
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.
834 2005-11-21  Benjamin Kosnik  <bkoz@redhat.com>
835             Ulrich Drepper  <drepper@redhat.com>
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.
850 2005-11-21  Benjamin Kosnik  <bkoz@redhat.com>
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.
869 2005-11-21  Benjamin Kosnik  <bkoz@redhat.com>
871         * src/Makefile.am (LTCXXCOMPILE): CXXFLAGS last.
872         * libsupc++/Makefile.am: Same.
873         * src/Makefile.in: Regenerate.
874         * libsupc++/Makefile.in: Same.
876 2005-11-21  Paolo Carlini  <pcarlini@suse.de>
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.
889 2005-11-18  Paolo Carlini  <pcarlini@suse.de>
891         * include/ext/rc_string_base.h (__rc_string_base<>::_Rep): Avoid the
892         anonymous struct extension, adjust everywhere.
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.
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.
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.
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.
928 2005-11-17  Geoffrey Keating  <geoffk@apple.com>
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.
940 2005-11-16  Nathan Sidwell  <nathan@codesourcery.com>
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.
950 2005-11-14  Geoffrey Keating  <geoffk@apple.com>
952         * acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Don't check for
953         shared libgcc for darwin exports.
954         * configure: Regenerate.
956 2005-11-13  Jonathan Wakely  <redi@gcc.gnu.org>
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.
963 2005-11-13  Douglas Gregor  <doug.gregor@gmail.com>
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.
972 2005-11-11  Paolo Carlini  <pcarlini@suse.de>
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.
989 2005-11-11  Paolo Carlini  <pcarlini@suse.de>
991         PR libstdc++/24799
992         * include/tr1/functional (hash): Inherit from std::unary_function.
993         * testsuite/tr1/6_containers/unordered/hash/24799.cc: New.
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.
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.
1006 2005-11-10  Paolo Carlini  <pcarlini@suse.de>
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.
1015 2005-11-10  Paolo Carlini  <pcarlini@suse.de>
1017         * include/tr1/boost_shared_ptr.h (_Sp_counted_base::release,
1018         weak_release): Protect barriers with __GTHREADS.
1020 2005-11-10  Paolo Carlini  <pcarlini@suse.de>
1021             Peter Dimov  <pdimov@mmltd.net>
1023         * include/tr1/boost_shared_ptr.h (_Sp_counted_base::release):
1024         Optimize by manually inlining weak_release.
1026         * include/tr1/boost_shared_ptr.h (_Sp_counted_base::release,
1027         weak_release): Use explicit memory barriers.
1029 2005-11-09  Benjamin Kosnik  <bkoz@redhat.com>
1030             Paolo Carlini  <pcarlini@suse.de>
1031             Gabriel Dos Reis  <gdr@integrable-solutions.net>
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.
1046 2005-11-09  Paolo Carlini  <pcarlini@suse.de>
1048         * include/tr1/boost_shared_ptr.h: Trivial formatting fixes.
1050 2005-11-08  Benjamin Kosnik  <bkoz@redhat.com>
1052         * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode): Use
1053         exe as the executable extension.
1055         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Change gnu defaults to
1056         new.
1057         (GLIBCXX_ENABLE_PCH): Adjust message order.
1058         * configure: Regenerate.
1060         * scripts/testsuite_flags.in (query): Correct print_usagex typo.
1062         * include/bits/functexcept.h: Remove argument names.
1064         * src/mt_allocator.cc: Adjust comment.
1066 2005-11-06  Paolo Carlini  <pcarlini@suse.de>
1068         PR libstdc++/18174
1069         * include/bits/stl_queue.h (priority_queue): Tweak a bit the
1070         comment describing the container.
1072 2005-11-05  Paolo Carlini  <pcarlini@suse.de>
1074         * configure.host: Add | rs6000 to the cpu_defines_dir switch,
1075         consistently with the try_cpu one.
1077 2005-11-05  Paolo Carlini  <pcarlini@suse.de>
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.
1095 2005-11-03  Paolo Carlini  <pcarlini@suse.de>
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.
1103 2005-11-02  Thomas Kho  <tkho@ucla.edu>
1105         PR libstdc++/23425
1106         * include/bits/stl_vector.h (vector<>::clear): Open code
1107         in terms of _Destroy.
1109 2005-11-02  Paolo Carlini  <pcarlini@suse.de>
1111         * include/bits/vector.tcc (vector<>::_M_fill_assign): Qualify fill_n.
1113 2005-11-01  Paolo Carlini  <pcarlini@suse.de>
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.
1121 2005-10-30  Paolo Carlini  <pcarlini@suse.de>
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.
1143 2005-10-29  Carey Evans  <carey.evans@gmail.com>
1145         PR libstdc++/22087
1146         * config/os/djgpp/ctype_inline.h: Fix.
1147         * config/os/djgpp/ctype_noninline.h: Likewise.
1149 2005-10-28  Paolo Carlini  <pcarlini@suse.de>
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.
1155 2005-10-25  Paolo Carlini  <pcarlini@suse.de>
1157         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 39.
1158         * docs/html/ext/howto.html: Adjust.
1160 2005-10-21  Paolo Carlini  <pcarlini@suse.de>
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.
1172 2005-10-19  Paolo Carlini  <pcarlini@suse.de>
1174         * include/ext/sso_string_base.h (_M_swap): Rewrite.
1176 2005-10-19  Paolo Carlini  <pcarlini@suse.de>
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.
1185 2005-10-17  Jonathan Wakely  <redi@gcc.gnu.org>
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.
1192 2005-10-15  Paolo Carlini  <pcarlini@suse.de>
1194         * include/tr1/functional: Add missing #pragma GCC system_header.
1196 2005-10-14  Paolo Carlini  <pcarlini@suse.de>
1198         * include/tr1/hashtable (hashtable::m_erase): Rename to erase_node.
1199         (hashtable::erase(iterator), erase(const_iterator)): Adjust.
1201 2005-10-13  Richard Earnshaw  <richard.earnsahw@arm.com>
1203         PR libstdc++/23926
1204         * acinclude.m4 (port_specific_symbol_files): More symbol versioning
1205         fixes.
1206         * configure: Regenerate.
1208 2005-10-13  Hans-Peter Nilsson  <hp@axis.com>
1210         * testsuite/lib/libstdc++.exp (libstdc++_init): Require
1211         native testing before setting v3-sharedlib to 1.
1213 2005-10-12  Joe Buck  <Joe.Buck@synopsys.com>
1215         * docs/html/27_io/howto.html: Use reference to ifstream when
1216         including iosfwd.
1218 2005-10-11  Andrew Pinski  <pinskia@physics.uc.edu>
1220         PR libstdc++/23926
1221         * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Fix typo in check
1222         for GNU LD.
1223         * configure: Regenerate.
1225 2005-10-10  Benjamin Kosnik  <bkoz@redhat.com>
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.
1232 2005-10-10  Ian Lance Taylor  <ian@airs.com>
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.
1239 2005-10-09  Paolo Carlini  <pcarlini@suse.de>
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.
1268 2005-10-08  Kazu Hirata  <kazu@codesourcery.com>
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.
1274 2005-10-07  Paolo Carlini  <pcarlini@suse.de>
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.
1285         * include/ext/rc_string_base.h (_Rep::_M_refdata()): Minor tweak,
1286         mark throw().
1288 2005-10-07  Benjamin Kosnik  <bkoz@redhat.com>
1290         * docs/doxygen/user.cfg.in: Update to Doyxygen 1.4.4.
1292 2005-10-05  Paolo Carlini  <pcarlini@suse.de>
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.
1299 2005-10-05  Paolo Carlini  <pcarlini@suse.de>
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.
1319 2005-10-05  Paolo Carlini  <pcarlini@suse.de>
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.
1328 2005-10-03  Paolo Carlini  <pcarlini@suse.de>
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.
1342 2005-10-02  Paolo Carlini  <pcarlini@suse.de>
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.
1349 2005-10-01  Kenny Simpson  <theonetruekenny@yahoo.com>
1351         * include/tr1/tuple_iterate.h (tuple::operator=(const std::pair<>&)):
1352         Add missing return.
1354 2005-09-30  Paolo Carlini  <pcarlini@suse.de>
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.
1361 2005-09-30  Paolo Carlini  <pcarlini@suse.de>
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.
1373 2005-09-29  Chris Jefferson <chris@bubblescope.net>
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.
1379         * include/tr1/functional (ref, cref): Make inline.
1380         * include/tr1/tuple_iterate.h (tie): Correct formatting.
1381         (make_tuple): Make inline.
1383 2005-09-25  Benjamin Kosnik  <bkoz@redhat.com>
1384             Eric Botcazou  <ebotcazou@libertysurf.fr>
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.
1391 2005-09-23  Benjamin Kosnik  <bkoz@redhat.com>
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.
1398 2005-09-21  Guillaume Melquiond  <guillaume.melquiond@ens-lyon.fr>
1400         PR libstdc++/23956
1401         * include/ext/mt_allocator.h: Remove excess
1402         policy_type::_S_get_pool calls in constructors.
1404 2005-09-18  Paolo Carlini  <pcarlini@suse.de>
1406         PR libstdc++/23417 (cont)
1407         * include/bits/stl_tree.h (_Rb_tree_impl<true>): Use member
1408         initialization list for -Weffc++.
1410 2005-09-16  Janis Johnson  <janis187@us.ibm.com>
1412         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/23871.cc:
1413         New.
1415 2005-09-15  Benjamin Kosnik  <bkoz@redhat.com>
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.
1429 2005-09-15  Paolo Carlini  <pcarlini@suse.de>
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.
1441 2005-09-15  Mark Mitchell  <mark@codesourcery.com>
1443         * testsuite/testsuite_character.h: Specialize character<>
1444         templates in __gnu_cxx, not in __gnu_test.
1446 2005-09-13  Jonathan Wakely  <cow@compsoc.man.ac.uk>
1447             Benjamin Kosnik  <bkoz@redhat.com>
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.
1454 2005-09-12  David Edelsohn  <dje@gcc.gnu.org>
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.
1462 2005-09-12  Benjamin Kosnik  <bkoz@redhat.com>
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.
1468 2005-09-12  Benjamin Kosnik  <bkoz@redhat.com>
1469             David Edelsohn  <dje@gcc.gnu.org>
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.
1478 2005-09-12  Chris Jefferson  <chris@bubblescope.net>
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.
1486 2005-09-12  Jim Xochellis  <jimxoch@yahoo.gr>
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.
1493 2005-09-12  Benjamin Kosnik  <bkoz@redhat.com>
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.
1500 2005-09-12  Paolo Carlini  <pcarlini@suse.de>
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.
1510 2005-09-11  Benjamin Kosnik  <bkoz@redhat.com>
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.
1528 2005-09-11  Jakub Jelinek  <jakub@redhat.com>
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.
1549 2005-09-11  Benjamin Kosnik  <bkoz@redhat.com>
1550             Jakub Jelinek  <jakub@redhat.com>
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.
1562 2005-09-11  Paolo Carlini  <pcarlini@suse.de>
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.
1593         * include/tr1/array (array<>::begin(), array<>::end()): Adjust
1594         stylistically for consistency with the other containers.
1596 2005-09-10  Joseph S. Myers  <joseph@codesourcery.com>
1598         * testsuite/26_numerics/cmath/c99_classification_macros_c.cc:
1599         XFAIL on *-*-linux*, not *-*-linux-gnu.
1601 2005-09-09  Benjamin Kosnik  <bkoz@redhat.com>
1602             Jakub Jelinek  <jakub@redhat.com>
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.
1610 2005-09-02  Paolo Carlini  <pcarlini@suse.de>
1612         * testsuite/tr1/6_containers/unordered/hashtable/23465.cc:
1613         Reduce maximum size and lf.
1615 2005-09-01  Benjamin Kosnik  <bkoz@redhat.com>
1617         * include/c_std/std_cmath.h: Declare C99 functions and helper
1618         functions as inline.
1620 2005-09-01  Benjamin Kosnik  <bkoz@redhat.com>
1621             Paolo Carlini  <pcarlini@suse.de>
1623         * testsuite/lib/libstdc++.exp (check_v3_target_cxa_atexit): Fix
1624         comment.
1626 2005-09-01  Benjamin Kosnik  <bkoz@redhat.com>
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.
1647 2005-08-31  Paolo Carlini  <pcarlini@suse.de>
1648             Kaspar Fischer <fischerk@inf.ethz.ch>
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.
1655 2005-08-30  Paolo Carlini  <pcarlini@suse.de>
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.
1661 2005-08-30  Paolo Carlini  <pcarlini@suse.de>
1663         * testsuite/ext/hash_map/23528.cc: New.
1665 2005-08-29  Paolo Carlini  <pcarlini@suse.de>
1667         * include/bits/stl_map.h (class map): ... and a missing @a.
1669 2005-08-29  Paolo Carlini  <pcarlini@suse.de>
1671         * include/bits/stl_map.h (class map): Add missing % in comment.
1673 2005-08-29  Paolo Carlini  <pcarlini@suse.de>
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.
1686 2005-08-26  Benjamin Kosnik  <bkoz@redhat.com>
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.
1697 2005-08-26  Benjamin Kosnik  <bkoz@redhat.com>
1699         * scripts/check_compile (UNIQUE_ID): New. Use to name output files.
1701 2005-08-26  Paolo Carlini  <pcarlini@suse.de>
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.
1715 2005-08-25  Paolo Carlini  <pcarlini@suse.de>
1717         * include/tr1/hashtable: Use __throw_exception_again,
1718         not naked throw, in the catch clauses.
1720 2005-08-24  Lawrence Lim  <llim@redhat.com>
1721             Jakub Jelinek  <jakub@redhat.com>
1722             Benjamin Kosnik  <bkoz@redhat.com>
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.
1730 2005-08-24  Paolo Carlini  <pcarlini@suse.de>
1731             Chris Jefferson  <chris@bubblescope.net>
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.
1740 2005-08-23  Kelley Cook  <kcook@gcc.gnu.org>
1742         PR libstdc++/23462
1743         * testsuite/data/sgetn.txt: Revert to previous FSF address.
1745 2005-08-23  Thomas Kho  <tkho@ucla.edu>
1747         PR libstdc++/23358
1748         * include/bits/stl_construct.h (_Destroy(_ForwardIterator,
1749         _ForwardIterator, allocator<_Tp>)): Removed unused template parameter.
1751 2005-08-22  Geoffrey Keating  <geoffk@apple.com>
1753         * testsuite/23_containers/vector/resize/1.cc: XFAIL on darwin8.
1754         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
1756 2005-08-19  J"orn Rennecke <joern.rennecke@st.com>
1758         * config/cpu/sh/atomicity.h: Replace broken generic code with current
1759         copy of generic/atomicity.h .
1761 2005-08-17  Kelley Cook  <kcook@gcc.gnu.org>
1763         * All files: Update FSF address.
1765 2005-08-09  Andrew Pinski  <pinskia@physics.uc.edu>
1767         * testsuite/26_numerics/cmath/c99_classification_macros_c.cc:
1768         xfail on *-*-darwin*.
1770 2005-08-03  Geoffrey Keating  <geoffk@apple.com>
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.
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.
1787 2005-07-30  Andrew Pinski  <pinskia@physics.uc.edu>
1789         * scripts/make_exports.pl: Pass --strip-underscores to c++filt.
1791 2005-07-29  H.J. Lu  <hongjiu.lu@intel.com>
1793         PR libstdc++/22284
1794         * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Revert
1795         the change to info.ttype_base.
1797 2005-07-28  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1799         * include/std/std_valarray.h: Fix grammar in comments.
1801 2005-07-25  Geoffrey Keating  <geoffk@apple.com>
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.
1816 2005-07-25  Dave Odell  <evilalias@hotmail.com>
1818         PR libstdc++/23053
1819         * include/tr1/hashtable (hashtable<>::find_node): Const-ify.
1820         * testsuite/tr1/6_containers/unordered/hashtable/23053.cc: New.
1822 2005-07-25  Paolo Carlini  <pcarlini@suse.de>
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.
1837 2005-07-20  Paolo Carlini  <pcarlini@suse.de>
1839         * include/bits/streambuf.tcc (xsgetn, xsputn): Use streamsize
1840         instead of size_t.
1841         * src/streambuf.cc (__copy_streambufs): Likewise.
1843 2005-07-18  Paolo Carlini  <pcarlini@suse.de>
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.
1850 2005-07-14  Paolo Carlini  <pcarlini@suse.de>
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).
1859 2005-07-13  Paolo Carlini  <pcarlini@suse.de>
1861         PR libstdc++/21193 (string & wstring)
1862         * include/tr1/functional (hash<string>, hash<wstring>):
1863         Reimplement using the FNV hash.
1865         * include/tr1/functional: Trivial formatting fixes.
1867 2005-07-11  Paolo Carlini  <pcarlini@suse.de>
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.
1887 2005-07-07  David Edelsohn  <edelsohn@gnu.org>
1889         * testsuite/ext/pb_assoc/example/tree_order_statistics_join.cc:
1890         Change map_t to map_type.
1892 2005-07-05  Paolo Carlini  <pcarlini@suse.de>
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.
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.
1922 2005-07-01  Paolo Carlini  <pcarlini@suse.de>
1924         Port from libstdcxx_so_7-branch:
1925         2004-10-28  Chris Jefferson  <chris@bubblescope.net>
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.
1935 2005-06-30  Ulrich Weigand  <uweigand@de.ibm.com>
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.
1941 2005-06-29  Paolo Carlini  <pcarlini@suse.de>
1943         PR libstdc++/21244 (cont^2)
1944         * include/ext/bitmap_allocator.h: Convert everywhere
1945         bits_per_block to size_t.
1947 2005-06-29  Jonathan Wakely  <redi@gcc.gnu.org>
1949         * include/bits/basic_string.h, include/bits/locale_facets.h: Fix
1950         Doxygen comments that use wrong parameter and function names.
1952 2005-06-29  Paolo Carlini  <pcarlini@suse.de>
1954         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 37.
1955         * docs/html/ext/howto.html: Adjust.
1957 2005-06-29  Paolo Carlini  <pcarlini@suse.de>
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.
1979 2005-06-28  Paul Brook  <paul@codesourcery.com>
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.
2023 2005-06-27  Paolo Carlini  <pcarlini@suse.de>
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.
2031 2005-06-27  Benjamin Kosnik  <bkoz@redhat.com>
2032             Ami Tavory  <pbassoc@gmail.com>
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.
2528 2005-06-23  Jakub Jelinek  <jakub@redhat.com>
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.
2549 2005-06-19  Benjamin Kosnik  <bkoz@redhat.com>
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.
2563 2005-06-17  Paolo Carlini  <pcarlini@suse.de>
2565         Port from libstdcxx_so_7-branch:
2566         2005-01-12  Christopher Jefferson <chris@bubblescope.net>
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.
2576 2005-06-17  Jonathan Wakely  <redi@gcc.gnu.org>
2578         * docs/html/21_strings/gotw29a.txt: Update code to corrected version.
2580 2005-06-17  Jakub Jelinek  <jakub@redhat.com>
2581             Benjamin Kosnik  <bkoz@redhat.com>
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.
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.
2593         * config/abi/arm-linux-gnu/baseline_symbols.txt: Remove.
2594         * config/abi/m68k-linux-gnu/baseline_symbols.txt: Same.
2596 2005-06-17  Jakub Jelinek  <jakub@redhat.com>
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.
2609 2005-06-16  Jakub Jelinek  <jakub@redhat.com>
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.
2617 2005-06-16  Jakub Jelinek  <jakub@redhat.com>
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.
2629 2005-06-16  Jakub Jelinek  <jakub@redhat.com>
2631         * config/linker-map.gnu: Also export
2632         _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreE[il][il].
2634 2005-06-15  Benjamin Kosnik  <bkoz@redhat.com>
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.
2657 2005-06-15  Paolo Carlini  <pcarlini@suse.de>
2659         * include/tr1/hashtable: Trivial formatting fixes.
2660         * include/tr1/unordered_map: Likewise.
2661         * include/tr1/unordered_set: Likewise.
2663 2005-06-14  Tom Tromey  <tromey@redhat.com>
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.
2671 2005-06-08  Benjamin Kosnik  <bkoz@redhat.com>
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.
2689 2005-06-07  Benjamin Kosnik  <bkoz@redhat.com>
2691         * acinclude.m4 (GLIBCXX_ENABLE_C99): Use C++ compiler for complex
2692         tests.
2693         * configure: Regenerated.
2695 2005-06-07  Adrian Straetling  <straetling@de.ibm.com>
2697         * config/cpu/s390/atomicity.h: (__exchange_and_add,
2698         __atomic_add): Use the builtins for atomic memory operations.
2700 2005-06-06  Paolo Carlini  <pcarlini@suse.de>
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.
2707 2005-06-06  Paolo Carlini  <pcarlini@suse.de>
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.
2719 2005-06-06  Paolo Carlini  <pcarlini@suse.de>
2721         Port from libstdcxx_so_7-branch:
2722         2004-09-24  Paolo Carlini  <pcarlini@suse.de>
2723                     Jonathan Wakely  <redi@gcc.gnu.org>
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.
2749         * include/bits/deque.tcc: Minor formatting fix.
2751 2005-06-06  Peter Doerfler  <doerfler@techinfo.rwth-aachen.de>
2753         * include/bits/stl_function.h: ... and another one.
2755 2005-06-06  Peter Doerfler  <doerfler@techinfo.rwth-aachen.de>
2757         * include/bits/stl_function.h: Fix typo in comment.
2759 2005-06-05  Paolo Carlini  <pcarlini@suse.de>
2761         * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Check clog, clogf, clogl
2762         too for ac_c99_complex.
2763         * configure: Regenerate.
2765 2005-06-03  Paolo Carlini  <pcarlini@suse.de>
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.
2815 2005-06-02  Nathan Sidwell  <nathan@codesourcery.com>
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.
2821 2005-05-31  Paolo Carlini  <pcarlini@suse.de>
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.
2831 2005-05-30  Paolo Carlini  <pcarlini@suse.de>
2833         * include/std/std_complex.h (log(const complex<_Tp>&)): When
2834         _GLIBCXX_USE_C99_COMPLEX, forward to __builtin_clog/clogf/clogl.
2836 2005-05-28  Paolo Carlini  <pcarlini@suse.de>
2838         Revert:
2839         2005-05-18  Paolo Carlini  <pcarlini@suse.de>
2840                     Nathan Myers  <ncm@cantrip.org>
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.
2856 2005-05-27  Paolo Carlini  <pcarlini@suse.de>
2858         * docs/html/abi.html: Mention 3.4.0 as the current baseline; add
2859         a notice about the configure options.
2861 2005-05-27  Mark Mitchell  <mark@codesourcery.com>
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.
2868 2005-05-27  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
2870         * src/misc-inst.cc: Remove unnecessary included files.
2872 2005-05-27  Benjamin Kosnik  <bkoz@redhat.com>
2874         PR libstdc++/21674
2875         * include/bits/c++config: Remove extern template use when in debug
2876         mode, disable for non-weak systems.
2878 2005-05-27  Benjamin Kosnik  <bkoz@redhat.com>
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.
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.
2897 2005-05-26  Paolo Carlini  <pcarlini@suse.de>
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.
2904         * acinclude.m4 ([GLIBCXX_ENABLE_C99]): For completeness, check
2905         also strtoll and strtoull for ac_c99_stdlib.
2906         * configure: Regenerate.
2908 2005-05-25  Benjamin Kosnik  <bkoz@redhat.com>
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.
2919 2005-05-25  Paolo Carlini  <pcarlini@suse.de>
2921         * include/bits/basic_string.h (_Rep::_M_set_length_and_sharable):
2922         Use, consistently, traits_type::assign.
2924 2005-05-25  Paolo Carlini  <pcarlini@suse.de>
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.
2931 2005-05-24  Paolo Carlini  <pcarlini@suse.de>
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.
2938 2005-05-24  Paolo Carlini  <pcarlini@suse.de>
2940         Port from libstdcxx_so_7-branch:
2941         2005-20-05  Chris Jefferson  <chris@bubblescope.net>
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.
2948         2005-03-29  Christopher Jefferson  <chris@bubblescope.net>
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.
2961         2005-03-14  Christopher Jefferson  <chris@bubblescope.net>
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.
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.
2988         2005-02-27  Christopher Jefferson  <chris@bubblescope.net>
2989                     Paolo Carlini  <pcarlini@suse.de>
2991         * testsuite/ext/is_heap/check_type.cc: New.
2993         2005-02-27  Paolo Carlini  <pcarlini@suse.de>
2995         * testsuite/ext/is_heap/1.cc: New.
2997         2005-02-01  Christopher Jefferson  <chris@bubblescope.net>
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.
3052         2005-01-10  Christopher Jefferson <chris@bubblescope.net>
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.
3061 2005-05-24  Benjamin Kosnik  <bkoz@redhat.com>
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.
3071 2005-05-24  Jonathan Wakely  <redi@gcc.gnu.org>
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.
3079 2005-05-24  Paolo Carlini  <pcarlini@suse.de>
3081         Port from libstdcxx_so_7-branch:
3082         2005-04-25  Christopher Jefferson  <chris@bubblescope.net>
3084         * include/bits/stl_algo.h (count): Correct concept checks.
3085         (search_n) : Likewise.
3086         * testsuite/25_algorithms/search_n/check_type.cc: New.
3088         * testsuite/testsuite_iterators.h
3089         (random_access_iterator_wrapper::operator+): Move out of
3090         class to external function, and add symmetric version.
3092         2005-03-14  Christopher Jefferson  <chris@bubblescope.net>
3094         * testsuite/testsuite_iterators.h (WritableObject::WritableObject):
3095         Add const.
3097         2005-02-01  Christopher Jefferson  <chris@bubblescope.net>
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.
3111 2005-05-23  Jonathan Wakely  <redi@gcc.gnu.org>
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.
3116 2005-05-20  Jan Beulich  <jbeulich@novell.com>
3118         * libmath/stubs.c: Also implement fabsf/fabsl if not present in the
3119         system libraries.
3121 2005-05-20  Paolo Carlini  <pcarlini@suse.de>
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.
3129 2005-05-19  Richard Henderson  <rth@redhat.com>
3131         * libsupc++/unwind-cxx.h: Revert gcc_unreachable change.
3133 2005-05-19  Jonathan Wakely  <redi@gcc.gnu.org>
3135         * include/bits/basic_string.h (operator[]): Allow s[s.size()] in
3136         debug mode, but not pedantic mode.
3138 2005-05-19  Jan Beulich  <jbeulich@novell.com>
3140         * libsupc++/unwind-cxx.h: Include cstdlib.
3141         (gcc_unreachable): #define.
3142         * libsupc++/eh_personality.cc (gcc_unreachable): Remove #define.
3144 2005-05-18  Paolo Carlini  <pcarlini@suse.de>
3145             Nathan Myers  <ncm@cantrip.org>
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.
3161 2005-05-18  Paolo Carlini  <pcarlini@suse.de>
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.
3174 2005-05-18  Paolo Carlini  <pcarlini@suse.de>
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.
3530 2005-05-17  Nathan Sidwell  <nathan@codesourcery.com>
3532         * libsupc++/eh_personality.cc (gcc_unreachable): Define.
3534 2005-05-16  Paolo Carlini  <pcarlini@suse.de>
3536         * docs/html/install.html: Update list of required named
3537         locales, add "es_ES".
3539 2005-05-13  Magnus Fromreide  <magfr@lysator.liu.se>
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.
3547 2005-05-12  Benjamin Kosnik  <bkoz@redhat.com>
3549         * scripts/create_testsuite_files: Fix.
3551 2005-05-12  Kaz Kojima  <kkojima@gcc.gnu.org>
3553         * testsuite/18_support/numeric_limits.cc (dg-options): Add
3554         -mieee to options on sh*-*-*.
3556 2005-05-10  Jonathan Wakely  <redi@gcc.gnu.org>
3558         * include/debug/debug.h: Fix typo in macro name.
3560 2005-05-09  Paolo Carlini  <pcarlini@suse.de>
3561             Giovanni Bajo  <giovannibajo@gcc.gnu.org>
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.
3582 2005-05-09  Mike Stump  <mrs@apple.com>
3584         * configure: Regenerate.
3586 2005-05-09  Jonathan Wakely  <redi@gcc.gnu.org>
3588         DR 434. bitset::to_string() hard to use [Ready]
3589         * include/debug/bitset (to_string): Add three overloads, taking
3590         fewer template arguments.
3592 2005-05-06  Mark Mitchell  <mark@codesourcery.com>
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.
3615 2005-05-04  Benjamin Kosnik  <bkoz@redhat.com>
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.
3628 2005-05-04  Mark Mitchell  <mark@codesourcery.com>
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.
3634         * docs/html/test.html: Explain how to run the testsuite on an
3635         installed directory.
3637 2005-05-01  Paolo Carlini  <pcarlini@suse.de>
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.
3651 2005-04-29  Paolo Carlini  <pcarlini@suse.de>
3652             Nathan Myers  <ncm@cantrip.org>
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.
3659 2005-04-29  Paolo Carlini  <pcarlini@suse.de>
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.
3677         * include/bits/locale_facets.tcc (money_put::_M_insert,
3678         time_get::_M_extract_name): Prefer operator== to operator!=
3679         on char_types.
3681 2005-04-29  Paolo Carlini  <pcarlini@suse.de>
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.
3688 2005-04-28  Paolo Carlini  <pcarlini@suse.de>
3689             Gabriel Dos Reis  <gdr@integrable-solutions.net>
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.
3707 2005-04-27  Benjamin Kosnik  <bkoz@redhat.com>
3709         * docs/doxygen/user.cfg.in: Update to doxygen-1.4.2.
3710         * docs/doxygen/doxygroups.cc: Update namespace comments.
3712 2005-04-27  Dominik Strasser  <dominik.strasser@infineon.com>
3713             Paolo Carlini  <pcarlini@suse.de>
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.
3720 2005-04-27  Paolo Carlini  <pcarlini@suse.de>
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.
3736 2005-04-26  Jones Desougi  <jones@ingate.com>
3738         PR libstdc++/21131
3739         * linkage.m4: Fix comments.
3741 2005-04-26  Paolo Carlini  <pcarlini@suse.de>
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.
3751 2005-04-25  Paolo Carlini  <pcarlini@suse.de>
3753         PR libstdc++/21035
3754         * include/bits/basic_string.h (compare): Adjust the documentation
3755         to match the implementation and the standard.
3757 2005-04-24  Paolo Carlini  <pcarlini@suse.de>
3759         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 35.
3761 2005-04-20  Mark Mitchell  <mark@codesourcery.com>
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.
3768 2005-04-18  Jonathan Wakely  <redi@gcc.gnu.org>
3770         * include/bits/stl_algo.h (rotate_copy): Add missing std qualification.
3772 2005-04-17  Paolo Carlini  <pcarlini@suse.de>
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.
3796 2005-04-14  Benjamin Kosnik  <bkoz@redhat.com>
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.
3806 2005-04-14  Benjamin Kosnik  <bkoz@redhat.com>
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.
3848 2005-04-12  Mike Stump  <mrs@apple.com>
3850         * configure: Regenerate.
3852 2005-04-08  Benjamin Kosnik  <bkoz@redhat.com>
3854         * testsuite/Makefile.am: Remove libv3test.a.
3855         * testsuite/Makefile.in: Regenerate.
3856         * testsuite/lib/libstdc++.exp (v3_target_compile): Fix comments.
3858 2005-04-08  Paolo Carlini  <pcarlini@suse.de>
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.
3867 2005-04-08  Kelley Cook  <kcook@gcc.gnu.org>
3869         * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Define _GLIBCXX_ASM_SYMVER.
3870         * acconfig.h: Delete file.
3871         * Makefile.in, acinclude.m4, configure: Regenerate.
3873 2005-04-08  Kelley Cook  <kcook@gcc.gnu.org>
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.
3885 2005-04-08  Kelley Cook  <kcook@gcc.gnu.org>
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.
3893 2005-04-08  Danny Smith  <dannysmith@users.sourceforge.net>
3894             Paolo Carlini  <pcarlini@suse.de>
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.
3904 2005-04-08  Kelley Cook  <kcook@gcc.gnu.org>
3906         * acconfig.h: Sort the bottom section.
3907         * config.h.in: Regenerate.
3909 2005-04-08  Kelley Cook  <kcook@gcc.gnu.org>
3911         * acconfig.h: Remove redundant HAVE_FLOAT_H.
3912         * config.h.in: Regenerate.
3914 2005-04-08  Kelley Cook  <kcook@gcc.gnu.org>
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.
3924 2005-04-06  Benjamin Kosnik  <bkoz@redhat.com>
3926         * docs/html/test.html: Update.
3927         * testsuite/printnow.c: Remove.
3928         * scripts/check_survey.in: Remove.
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.
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.
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.
3977 2005-04-06  Ulrich Weigand  <uweigand@de.ibm.com>
3979         * config/cpu/s390/atomicity.h (__exchange_and_add): Add "memory"
3980         clobber to inline assembly statement.
3982 2005-04-06  Kelley Cook  <kcook@gcc.gnu.org>
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.
3995 2005-04-05  Kelley Cook  <kcook@gcc.gnu.org>
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.
4005 2005-04-05  Jonathan Wakely  <redi@gcc.gnu.org>
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.
4028 2005-04-05  Kelley Cook  <kcook@gcc.gnu.org>
4030         * acconfig.h: Delete macros already AC_DEFINED.
4031         * config.h.in: Regenerate.
4033 2005-04-05  Kelley Cook  <kcook@gcc.gnu.org>
4035         * acconfig.h (HAVE_MODF): Remove.
4036         * linkage.m4: Check for modf.
4037         * config.h.in, configure: Regenerate.
4039 2005-04-05  Kelley Cook  <kcook@gcc.gnu.org>
4041         * acconfig.h (ENABLE_NLS, HAVE_CATGETS): Remove.
4042         (HAVE_GETTEXT, HAVE_STPCPY): Likewise.
4043         * config.h.in: Regenerate.
4045 2005-04-05  Kelley Cook  <kcook@gcc.gnu.org>
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.
4052 2005-04-05  Kelley Cook  <kcook@gcc.gnu.org>
4054         * acconfig.h (HAVE_TANL): Correct cut-and-paste typo.
4055         * config.h.in: Regenerate.
4057 2005-04-04  Mark Mitchell  <mark@codesourcery.com>
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.
4065 2005-04-02  Douglas Gregor  <doug.gregor@gmail.com>
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.
4074 2005-04-01  Douglas Gregor  <doug.gregor@gmail.com>
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.
4083 2005-04-01  Mark Mitchell  <mark@codesourcery.com>
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.
4096 2005-03-31  Chris Jefferson  <chris@bubblescope.net>
4098         * include/tr1/tuple: Support iteration via tuple_iterate.h.
4099         * include/tr1/tuple_iterate.h: Iteration file for tuple.
4101 2005-03-31  Douglas Gregor  <doug.gregor@gmail.com>
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.
4144 2005-03-30  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
4146         * testsuite/Makefile.am (CXX): Use ${SHELL}.
4147         (GLIBCXX_INCLUDES): Same.
4148         (AM_CXXFLAGS): Same.
4149         * testsuite/Makefile.in: Regenerate.
4151 2005-03-25  Mark Mitchell  <mark@codesourcery.com>
4153         * testsuite/lib/libstdc++.exp (libstdc++_init): Define LOCALEDIR
4154         when testing an installed compiler.
4156         * testsuite/lib/libstdc++.exp (v3-build_support): Pass -w when
4157         compiling support objects.
4159 2005-03-24  Benjamin Kosnik  <bkoz@redhat.com>
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.
4168 2005-03-23  Mark Mitchell  <mark@codesourcery.com>
4170         * testsuite/Makefile.am (all-local): Do not build testsuite_files.
4171         * testsuite/Makefile.in: Regenerated.
4173 2005-03-23  Benjamin Kosnik  <bkoz@redhat.com>
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.
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.
4198         * config/locale/gnu/c_locale.h: Tweaks for unused warnings.
4199         * src/debug.cc: Same.
4201 2005-03-23  Mark Mitchell  <mark@codesourcery.com>
4203         * testsuite/libstdc++-dg/normal.exp: Read testsuite_files, if it
4204         exists.
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.
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.
4227 2005-03-21  Chris Jefferson  <chris@bubblescope.net>
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.
4235 2005-03-21  Zack Weinberg  <zack@codesourcery.com>
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.
4246 2005-03-16  Paolo Carlini  <pcarlini@suse.de>
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.
4350 2005-03-15  Zack Weinberg  <zack@codesourcery.com>
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__.
4358 2005-03-15  Paolo Carlini  <pcarlini@suse.de>
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.
4365 2005-03-10  Ben Elliston  <bje@au.ibm.com>
4367         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Don't XFAIL
4368         on GNU/Linux.
4370 2005-03-07  Paolo Carlini  <pcarlini@suse.de>
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.
4377 2005-03-07  Paolo Carlini  <pcarlini@suse.de>
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.
4384 2005-03-07  Paolo Carlini  <pcarlini@suse.de>
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.
4394 2005-03-05  Joseph S. Myers  <joseph@codesourcery.com>
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.
4407 2005-03-04  Paolo Carlini  <pcarlini@suse.de>
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.
4415 2005-03-03  Benjamin Kosnik  <bkoz@redhat.com>
4417         * include/tr1/functional: Convert relative path.
4419         * docs/doxygen/user.cfg.in: Add tr1 includes.
4421 2005-03-03  Paolo Carlini  <pcarlini@suse.de>
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.
4433 2005-03-02  Douglas Gregor  <doug.gregor@gmail.com>
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).
4453 2005-03-02  Douglas Gregor  <doug.gregor@gmail.com>
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
4460 2005-03-01  Vladimir Merzliakov  <wanderer@rsu.ru>
4462         * testsuite/26_numerics/cmath/c99_classification_macros_c.cc: Tweak.
4464 2005-02-28  Benjamin Kosnik  <bkoz@redhat.com>
4466         * testsuite/tr1/2_general_utilities/memory/shared_ptr/
4467         cons/auto_ptr_neg.cc: Correct line numbers.
4469         * testsuite/testsuite_abi.cc: Add CXXABI_1.3.1.
4471 2005-02-28  Jonathan Wakely  <redi@gcc.gnu.org>
4473         * include/tr1/memory: Replace checked_deleter with (unchecked)
4474         _Sp_deleter as GCC warns about delete on incomplete types anyway.
4476 2005-02-28  Jonathan Wakely  <redi@gcc.gnu.org>
4478         * include/tr1/memory: Add missing "inline" to __throw_bad_weak_ptr.
4480 2005-02-28  Hans-Peter Nilsson  <hp@axis.com>
4482         PR target/19065
4483         * config/cpu/cris/atomicity.h (__exchange_and_add): In asm, use
4484         'Q' constraint, not 'm'.
4486 2005-02-26  Earl Chew  <earl_chew@agilent.com>
4487             Christopher Jefferson  <chris@bubblescope.net>
4489         * include/bits/stl_tree.h (_Rb_tree<>::_M_insert): Don't leak
4490         memory if _M_key_compare throws.
4492 2005-02-25  Paolo Carlini  <pcarlini@suse.de>
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.
4505 2005-02-24  Benjamin Kosnik  <bkoz@redhat.com>
4507         * testsuite/tr1/6_containers/unordered/instantiate/hash.cc: Guard
4508         wchar_t use with _GLIBCXX_USE_WCHAR_T.
4510 2005-02-24  Benjamin Kosnik  <bkoz@redhat.com>
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.
4519 2005-02-24  Paolo Carlini  <pcarlini@suse.de>
4521         * include/tr1/functional (mem_fn): Avoid _T, badname on
4522         Darwin.
4524 2005-02-23  Douglas Gregor  <doug.gregor@gmail.com>
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.
4552 2005-02-23  Paolo Carlini  <pcarlini@suse.de>
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.
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.
4566 2005-02-22  Benjamin Kosnik  <bkoz@redhat.com>
4568         * scripts/check_performance: Tweaks.
4570         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/2.cc: Name
4571         output file with extension that clean rules can find.
4573 2005-02-22  Richard Henderson  <rth@redhat.com>
4575         PR libstdc++/20091
4576         * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't special case
4577         decrement of uncaughtExceptions for rethrow.
4579 2005-02-22  Paolo Carlini  <pcarlini@suse.de>
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.
4590 2005-02-22  Paolo Carlini  <pcarlini@suse.de>
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.
4605 2005-02-22  Jonathan Wakely  <redi@gcc.gnu.org>
4607         * include/Makefile.am, include/Makefile.in: Fix accidental extra
4608         change from previous commit.
4610 2005-02-21  Jonathan Wakely  <redi@gcc.gnu.org>
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.
4675 2005-02-21  Paolo Carlini  <pcarlini@suse.de>
4677         * include/tr1/type_traits (is_member_function_pointer):
4678         Remove ugly workaround for c++/19076.
4680 2005-02-21  Paolo Carlini  <pcarlini@suse.de>
4682         * include/bits/basic_string.tcc (_Rep::_M_destroy): Don't
4683         check for this == &_S_empty_rep, it's always false, here.
4685 2005-02-19  Matt Austern  <austern@gmail.com>
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.
4699 2005-02-19  Hans-Peter Nilsson  <hp@axis.com>
4701         PR libstdc++/20071
4702         * include/tr1/functional (hash<std::wstring>): Wrap in #ifdef
4703         _GLIBCXX_USE_WCHAR_T.
4705 2005-02-18  Richard Henderson  <rth@redhat.com>
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.
4717 2005-02-18  Matt Austern  <austern@apple.com>
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.
4726 2005-02-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
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.
4737 2005-02-17  Matt Austern  <austern@apple.com>
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.
4756 2005-02-16  Paolo Carlini  <pcarlini@suse.de>
4758         * testsuite/23_containers/set/modifiers/16728.cc:
4759         Remove redundant include <testsuite_performance.h>.
4761 2005-02-16  Paolo Carlini  <pcarlini@suse.de>
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.
4768 2005-02-15  Paolo Carlini  <pcarlini@suse.de>
4769             Jon Grimm  <jgrimm2@us.ibm.com>
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.
4778         * include/bits/locale_facets.h (ctype<char>::_M_widen_init()):
4779         Tweak consistently to use memcmp; minor formatting fixes.
4781 2005-02-15  Jakub Jelinek  <jakub@redhat.com>
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.
4788 2005-02-13  Richard Guenther  <rguenth@gcc.gnu.org>
4789             Paolo Carlini  <pcarlini@suse.de>
4791         PR libstdc++/11706
4792         * include/c_std/std_cmath.h (pow): Use __builtin_powi[lf]
4793         for integer overloads.
4795         * testsuite/26_numerics/cmath/powi.cc: New.
4797 2005-02-11  Janis Johnson  <janis187@us.ibm.com>
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.
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.
4808 2005-02-09  Mike Stump  <mrs@apple.com>
4810         * libsupc++/del_op.cc: Don't include cstdlib when !_GLIBCXX_HOSTED.
4812 2005-02-09  Janis Johnson  <janis187@us.ibm.com>
4814         * testsuite/ext/array_allocator/2.cc: XFAIL for powerpc*-*-linux*.
4816 2005-02-08  Mark Mitchell  <mark@codesourcery.com>
4818         * config/linker-map.gnu (GLIBCXX_3.4): Add _ZNSdC* and _ZNSdD*.
4820 2005-02-07  Loren J. Rittle  <ljrittle@acm.org>
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.
4826 2005-02-02  Brad Spencer  <spencer@infointeractive.com>
4828         * debug.html: Fix broken tags.
4829         * documentation.html: Same.
4831 2005-02-02  Andreas Jaeger  <aj@suse.de>
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.
4838 2005-02-01  Paolo Carlini  <pcarlini@suse.de>
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.
4850 2005-01-31  Brad Spencer  <spencer@infointeractive.com>
4852         * crossconfig.m4: Repair Solaris cross bits for strtold and strtof.
4853         * configure: Regenerated.
4855 2005-01-31  Mark Mitchell  <mark@codesourcery.com>
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.
4862 2005-01-31  Paolo Carlini  <pcarlini@suse.de>
4863             Gabriel Dos Reis  <gdr@integrable-solutions.net>
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.
4900 2005-01-30  Paolo Carlini  <pcarlini@suse.de>
4902         PR libstdc++/19642
4903         * config/locale/generic/c_locale.h (__convert_from_v): Switch only
4904         LC_NUMERIC, and only when actually != "C".
4906 2005-01-28  Paolo Carlini  <pcarlini@suse.de>
4908         * include/tr1/type_traits (is_function): Minor consistency tweaks.
4910 2005-01-28  Geoffrey Keating  <geoffk@apple.com>
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.
4930 2005-01-28  Paolo Carlini  <pcarlini@suse.de>
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.
4938         * include/tr1/type_traits (__is_abstract_helper): Simplify a bit.
4940 2005-01-28  Paolo Carlini  <pcarlini@suse.de>
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.
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.
4955 2005-01-26  Paolo Carlini  <pcarlini@suse.de>
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.
4966 2005-01-26  Paolo Carlini  <pcarlini@suse.de>
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.
4973         * include/std/std_complex.h: Remove usages of the dead
4974         _GLIBCXX_BUGGY_COMPLEX macro.
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.
4982 2005-01-25  Loren J. Rittle  <ljrittle@acm.org>
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.
4991 2005-01-25  Benjamin Kosnik  <bkoz@redhat.com>
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.
5001 2005-01-24  Paolo Carlini  <pcarlini@suse.de>
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.
5013 2005-01-23  Paolo Carlini  <pcarlini@suse.de>
5015         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 34.
5017 2005-01-23  Paolo Carlini  <pcarlini@suse.de>
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.
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.
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.
5147 2005-01-23  Paolo Carlini  <pcarlini@suse.de>
5149         * include/tr1/type_traits (aligned_storage): Use __aligned__ instead
5150         of aligned.
5152 2005-01-23  Paolo Carlini  <pcarlini@suse.de>
5153             Andreas Jaeger  <aj@suse.de>
5155         PR libstdc++/19343
5156         * include/bits/functexcept.h: Mark the helpers as 'noreturn'.
5158 2005-01-21  Loren J. Rittle  <ljrittle@acm.org>
5160         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Allow
5161         lseek on fifo to succeed.  Thus, check for consistent report.
5163 2005-01-21  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
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.
5172         * testsuite/23_containers/map/operators/1_neg.cc: Adjust line numbers.
5173         * testsuite/23_containers/set/operators/1_neg.cc: Likewise.
5175 2005-01-20  Benjamin Kosnik  <bkoz@redhat.com>
5177         * testsuite/Makefile.am (check-compile): New.
5178         * testsuite/Makefile.in: Regenerate.
5179         * scripts/check_compile_time: New.
5180         * scripts/check_performance: Tweaks.
5182 2005-01-19  Paolo Carlini  <pcarlini@suse.de>
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.
5189 2005-01-19  Loren J. Rittle  <ljrittle@acm.org>
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.
5195 2005-01-18  David Edelsohn  <edelsohn@gnu.org>
5197         * config/os/aix/os_defines.h (_XOPEN_SOURCE): Delete.
5198         (_XOPEN_SOURCE_EXTENDED): Delete.
5200 2005-01-18  Benjamin Kosnik  <bkoz@redhat.com>
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.
5212 2005-01-17  Paolo Carlini  <pcarlini@suse.de>
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.
5221         * testsuite/23_containers/multiset/insert/2.cc: New.
5222         * testsuite/23_containers/set/insert/1.cc: Likewise.
5224         * testsuite/performance/23_containers/set_create_from_sorted.cc:
5225         Simplify.
5227         * include/bits/stl_tree.h: Add a few missing std:: qualifications.
5229 2005-01-16  Jonathan Wakely  <redi@gcc.gnu.org>
5231         * include/ext/rope: Qualify calls to std::copy() by sequence_buffer.
5232         * testsuite/ext/rope/4.cc: Add.
5234 2005-01-16  Lorenz Minder  <lminder@gmx.net>
5235             Paolo Carlini  <pcarlini@suse.de>
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.
5242 2005-01-15  David Edelsohn  <edelsohn@gnu.org>
5244         * config/os/aix/os_defines.h (_G_USING_THUNKS): Delete.
5246 2005-01-14  Paolo Carlini  <pcarlini@suse.de>
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.
5254 2005-01-13  Geoffrey Keating  <geoffk@apple.com>
5256         * configure.host (darwin): On darwin8 or later, no need to build
5257         libstdc++ with -flat_namespace.
5259 2005-01-13  Jonathan Wakely  <redi@gcc.gnu.org>
5261         * docs/doxygen/user.cfg.in: Set HAVE_DOT back to YES.
5263 2005-01-13  Paolo Carlini  <pcarlini@suse.de>
5265         * testsuite/26_numerics/cmath/c99_classification_macros_c++.cc:
5266         Re-enable commented-out test for double type.
5268 2005-01-11  Paolo Carlini  <pcarlini@suse.de>
5269             Benjamin Kosnik  <bkoz@redhat.com>
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.
5280 2005-01-11  Paolo Carlini  <pcarlini@suse.de>
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.
5295 2005-01-11  Paolo Carlini  <pcarlini@suse.de>
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.
5307 2005-01-10  Paolo Carlini  <pcarlini@suse.de>
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.
5316 2005-01-10  Paolo Carlini  <pcarlini@suse.de>
5318         * include/bits/stl_algobase.h (lexicographical_compare):
5319         Fix concept check.
5321 2005-01-07  Benjamin Kosnik  <bkoz@redhat.com>
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.
5340 2005-01-06  Benjamin Kosnik  <bkoz@redhat.com>
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.
5347 2005-01-05  Benjamin Kosnik  <bkoz@redhat.com>
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.
5366 2005-01-05  Mark Mitchell  <mark@codesourcery.com>
5368         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Remove child
5369         process.
5371 2005-01-05  Paolo Carlini  <pcarlini@suse.de>
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.
5383 2005-01-03  Mark Mitchell  <mark@codesourcery.com>
5385         * testsuite/testsuite_hooks.cc: Use __throw_exception_again
5386         instead of just throw.
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.
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.
5433 2005-01-03  Paolo Carlini  <pcarlini@suse.de>
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.
5442 2005-01-02  Paolo Carlini  <pcarlini@suse.de>
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.
5453 2005-01-02  Chris Jefferson  <chris@bubblescope.net>
5455         * include/bits/stl_algobase.h (mismatch): Correct concept check.
5457 2005-01-01  Paolo Carlini  <pcarlini@suse.de>
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.
5463 2005-01-01  Paolo Carlini  <pcarlini@suse.de>
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.
5470 Copyright (C) 2005 Free Software Foundation, Inc.
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.