OSDN Git Service

2004-12-30 Paolo Carlini <pcarlini@suse.de>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
1 2004-12-30  Paolo Carlini  <pcarlini@suse.de>
2
3         * include/tr1/type_traits: Add has_trivial_copy, has_trivial_assign,
4         has_nothrow_copy, has_nothrow_assign.
5         * testsuite/testsuite_tr1.h: Add test_copy_property and
6         test_assign_property.
7         * testsuite/tr1/4_metaprogramming/type_properties/
8         has_nothrow_assign/has_nothrow_assign.cc: New.
9         * testsuite/tr1/4_metaprogramming/type_properties/
10         has_nothrow_assign/typedefs.cc: Likewise.
11         * testsuite/tr1/4_metaprogramming/type_properties/
12         has_nothrow_copy/has_nothrow_copy.cc: Likewise.
13         * testsuite/tr1/4_metaprogramming/type_properties/
14         has_nothrow_copy/typedefs.cc: Likewise.
15         * testsuite/tr1/4_metaprogramming/type_properties/
16         has_trivial_assign/has_trivial_assign.cc: Likewise.
17         * testsuite/tr1/4_metaprogramming/type_properties/
18         has_trivial_assign/typedefs.cc: Likewise.
19         * testsuite/tr1/4_metaprogramming/type_properties/
20         has_trivial_copy/has_trivial_copy.cc: Likewise.
21         * testsuite/tr1/4_metaprogramming/type_properties/
22         has_trivial_copy/typedefs.cc: Likewise.
23
24 2004-12-29  Jonathan Wakely  <redi@gcc.gnu.org>
25
26         * include/bits/vector.tcc (erase(iterator, iterator),
27         operator=, _M_assign_aux(_ForwardIterator, _ForwardIterator,
28         forward_iterator_tag)): Qualify all calls to std::copy().
29
30 2004-12-29  Paolo Carlini  <pcarlini@suse.de>
31
32         Minimal fixes for -fno-exceptions.
33         * src/bitmap_allocator.cc (free_list::_M_get): Use
34         __throw_exception_again, instead of plain throw.
35         * testsuite/testsuite_abi.cc (get_symbol, examine_symbol,
36         create_symbols): Likewise.
37         * testsuite/testsuite_hooks.cc (verify_demangle,
38         run_tests_wrapped_locale, run_tests_wrapped_env): Likewise.
39         (try_named_locale): Wrap the whole catch in __EXCEPTIONS.
40
41 2004-12-29  Paolo Carlini  <pcarlini@suse.de>
42
43         * include/tr1/type_traits: Add has_nothrow_constructor.
44         * testsuite/tr1/4_metaprogramming/type_properties/
45         has_nothrow_constructor/has_nothrow_constructor.cc: New.
46         * testsuite/tr1/4_metaprogramming/type_properties/
47         has_nothrow_constructor/typedefs.cc: Likewise.
48
49 2004-12-28  David Edelsohn  <edelsohn@gnu.org>
50
51         * configure.host (aix4*|aix5*): Add atomic_word_dir.
52         * config/os/aix/atomic_word.h: New file.
53
54 2004-12-27  Jason Merrill  <jason@redhat.com>
55
56         Add memory barriers to the double-checked locking used for static
57         initialization.
58         * libsupc++/guard.cc (__test_and_acquire): Define default.
59         (_GLIBCXX_GUARD_TEST_AND_ACQUIRE, __set_and_release) 
60         (_GLIBCXX_GUARD_SET_AND_RELEASE): Likewise.
61         (recursion_push, recursion_pop): New abstraction functions.
62         (__cxa_guard_acquire): Use _GLIBCXX_GUARD_TEST_AND_ACQUIRE.
63         (__cxa_guard_release): Use _GLIBCXX_GUARD_SET_AND_RELEASE.
64         * config/cpu/generic/cxxabi_tweaks.h (_GLIBCXX_GUARD_TEST): Rename
65         from _GLIBCXX_GUARD_ACQUIRE and reverse sense.
66         (_GLIBCXX_GUARD_SET): Rename from _GLIBCXX_GUARD_RELEASE.
67         * config/cpu/arm/cxxabi_tweaks.h: Likewise.
68         * config/cpu/alpha/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER) 
69         (_GLIBCXX_WRITE_MEM_BARRIER): Define.
70         * config/cpu/powerpc/atomic_word.h: Likewise.
71         * config/cpu/sparc/atomic_word.h: Likewise.
72         * config/cpu/generic/atomic_word.h: Define them, commented out.
73         * include/bits/atomicity.h: Define defaults.
74         * config/cpu/ia64/atomic_word.h (__test_and_acquire)
75         (__set_and_release): New inlines.
76         (_GLIBCXX_GUARD_TEST_AND_ACQUIRE): Define.
77         (_GLIBCXX_GUARD_SET_AND_RELEASE): Define.
78
79         * libsupc++/guard.cc (acquire_1): Use __builtin_trap instead of
80         abort();
81
82 2004-12-27  Paolo Carlini  <pcarlini@suse.de>
83
84         * include/tr1/type_traits: Rework the _DEFINE_SPEC* macros.
85
86 2004-12-26  Paolo Carlini  <pcarlini@suse.de>
87
88         * include/tr1/type_traits (__is_enum_helper): Slightly simplify,
89         make __convert non template.
90
91 2004-12-26  Paolo Carlini  <pcarlini@suse.de>
92
93         * include/tr1/type_traits: Implement is_pod, has_trivial_constructor,
94         and has_trivial_destructor.
95         * testsuite/tr1/4_metaprogramming/type_properties/
96         has_trivial_constructor/has_trivial_constructor.cc: New.
97         * testsuite/tr1/4_metaprogramming/type_properties/
98         has_trivial_constructor/typedefs.cc: Likewise.
99         * testsuite/tr1/4_metaprogramming/type_properties/
100         has_trivial_destructor/has_trivial_destructor.cc: Likewise.
101         * testsuite/tr1/4_metaprogramming/type_properties/
102         has_trivial_destructor/typedefs.cc: Likewise.
103         * testsuite/tr1/4_metaprogramming/type_properties/
104         is_pod/is_pod.cc: Likewise.
105         * testsuite/tr1/4_metaprogramming/type_properties/
106         is_pod/typedefs.cc: Likewise.
107
108 2004-12-25  Paolo Carlini  <pcarlini@suse.de>
109
110         * include/tr1/type_traits (is_enum): Minor tweak.
111
112 2004-12-25  Paolo Carlini  <pcarlini@suse.de>
113
114         * include/tr1/type_traits: Implement is_enum (usual caveats about
115         the nasty consequences of c++/19076...).
116         * testsuite/testsuite_tr1.h: Add ConvType.
117         * testsuite/tr1/4_metaprogramming/composite_type_traits/
118         is_scalar/is_scalar.cc: New.
119         * testsuite/tr1/4_metaprogramming/composite_type_traits/
120         is_scalar/typedefs.cc: Likewise.
121         * testsuite/tr1/4_metaprogramming/primary_type_categories/
122         is_enum/is_enum.cc: Likewise.
123         * testsuite/tr1/4_metaprogramming/primary_type_categories/
124         is_enum/typedefs.cc: Likewise.
125
126 2004-12-24  Paolo Carlini  <pcarlini@suse.de>
127
128         * include/tr1/type_traits: Add missing undef.
129
130 2004-12-24  Paolo Carlini  <pcarlini@suse.de>
131
132         * include/tr1/type_traits: Implement is_member_object_pointer,
133         is_member_function_pointer. N.B. Due to c++/19076, the latter
134         doesn't really work at the moment (a rather ugly work around
135         will be provided in case the front-end bug doesn't get fixed
136         soon); generalize and extend the _DEFINE_SPEC macros.
137         * testsuite/tr1/4_metaprogramming/composite_type_traits/
138         is_member_pointer/is_member_pointer.cc: New.
139         * testsuite/tr1/4_metaprogramming/composite_type_traits/
140         is_member_pointer/typedefs.cc: Likewise.
141         * testsuite/tr1/4_metaprogramming/primary_type_categories/
142         is_member_function_pointer/is_member_function_pointer.cc: Likewise.
143         * testsuite/tr1/4_metaprogramming/primary_type_categories/
144         is_member_function_pointer/typedefs.cc: Likewise.
145         * testsuite/tr1/4_metaprogramming/primary_type_categories/
146         is_member_object_pointer/is_member_object_pointer.cc: Likewise.
147         * testsuite/tr1/4_metaprogramming/primary_type_categories/
148         is_member_object_pointer/typedefs.cc: Likewise.
149
150 2004-12-22  Paolo Carlini  <pcarlini@suse.de>
151
152         * include/tr1/type_traits_fwd.h: New, forward declarations.
153         * include/tr1/type_traits: Clean-up.
154         * include/Makefile.am: Add.
155         * include/Makefile.in: Regenerate.
156
157 2004-12-20  Paolo Carlini  <pcarlini@suse.de>
158
159         * testsuite/27_io/basic_istream/peek/wchar_t/1.cc: New.
160         * testsuite/27_io/basic_istream/peek/wchar_t/12296.cc: Likewise.
161         * testsuite/27_io/basic_istream/peek/wchar_t/6414.cc: Likewise.
162         * testsuite/27_io/basic_istream/putback/wchar_t/1.cc: Likewise.
163         * testsuite/27_io/basic_istream/read/wchar_t/1.cc: Likewise.
164         * testsuite/27_io/basic_istream/read/wchar_t/2.cc: Likewise.
165         * testsuite/27_io/basic_istream/read/wchar_t/3.cc: Likewise.
166         * testsuite/27_io/basic_istream/readsome/wchar_t/6746-1.cc: Likewise.
167         * testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: Likewise.
168         * testsuite/27_io/basic_istream/readsome/wchar_t/8258.cc: Likewise.
169         * testsuite/27_io/basic_istream/seekg/wchar_t/2.cc: Likewise.
170         * testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc: Likewise.
171         * testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc: Likewise.
172         * testsuite/27_io/basic_istream/seekg/wchar_t/
173         exceptions_badbit_throw.cc: Likewise.
174         * testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: Likewise.
175         * testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc: Likewise.
176         * testsuite/27_io/basic_istream/sentry/wchar_t/1.cc: Likewise.
177         * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
178         * testsuite/27_io/basic_istream/sentry/wchar_t/2.cc: Likewise.
179         * testsuite/27_io/basic_istream/sentry/wchar_t/3.cc: Likewise.
180         * testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise.
181         * testsuite/27_io/basic_istream/tellg/wchar_t/2.cc: Likewise.
182         * testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.
183         * testsuite/27_io/basic_istream/tellg/wchar_t/
184         exceptions_badbit_throw.cc: Likewise.
185         * testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: Likewise.
186         * testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc: Likewise.
187         * testsuite/27_io/basic_istream/ws/wchar_t/1.cc: Likewise.
188
189         * testsuite/data/wistream_extractor_other-1.tst: New.
190         * testsuite/data/wistream_extractor_other-1.txt: Likewise.
191         * testsuite/data/wistream_extractor_other-2.tst: Likewise.
192         * testsuite/data/wistream_seeks-1.tst: Likewise.
193         * testsuite/data/wistream_seeks-1.txt: Likewise.
194         * testsuite/data/wistream_unformatted-1.tst: Likewise.
195         * testsuite/data/wistream_unformatted-1.txt: Likewise.
196
197         * testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc:
198         Use wistream_extractor_other-1.txt.
199
200         * testsuite/27_io/basic_istream/peek/char/6414.cc: Minor clean-up.
201         * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
202         * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
203         * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
204
205 2004-12-19  Paolo Carlini  <pcarlini@suse.de>
206
207         * testsuite/27_io/basic_istream/exceptions/wchar_t/9561.cc: New.
208         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
209         01.cc: Likewise.
210         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
211         02.cc: Likewise.
212         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
213         03.cc: Likewise.
214         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
215         06.cc: Likewise.
216         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
217         07.cc: Likewise.
218         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
219         08.cc: Likewise.
220         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
221         09.cc: Likewise.
222         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
223         10.cc: Likewise.
224         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
225         11.cc: Likewise.
226         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
227         12.cc: Likewise.
228         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
229         13.cc: Likewise.
230         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
231         9555-ia.cc: Likewise.
232         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
233         exceptions_badbit_throw.cc: Likewise.
234         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
235         exceptions_failbit.cc: Likewise.
236         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
237         exceptions_failbit_throw.cc: Likewise.
238         * testsuite/27_io/basic_istream/extractors_character/wchar_t/
239         1.cc: Likewise.
240         * testsuite/27_io/basic_istream/extractors_character/wchar_t/
241         11095-i.cc: Likewise.
242         * testsuite/27_io/basic_istream/extractors_character/wchar_t/
243         2.cc: Likewise.
244         * testsuite/27_io/basic_istream/extractors_character/wchar_t/
245         3.cc: Likewise.
246         * testsuite/27_io/basic_istream/extractors_character/wchar_t/
247         9555-ic.cc: Likewise.
248         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
249         1.cc: Likewise.
250         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
251         2.cc: Likewise.
252         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
253         3.cc: Likewise.
254         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
255         9318-in.cc: Likewise.
256         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
257         9424-in.cc: Likewise.
258         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
259         9555-io.cc: Likewise.
260         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
261         error_failbit.cc: Likewise.
262         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
263         exceptions_badbit_throw.cc: Likewise.
264         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
265         exceptions_failbit_throw.cc: Likewise.
266         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
267         exceptions_null.cc: Likewise.
268
269         * testsuite/27_io/basic_istream/extractors_other/char/2.cc: Minor
270         tweaks.
271
272         * testsuite/testsuite_io.h (struct fail_buf): Fix type of
273         dummy return values.
274
275 2004-12-19  Dhruv Matani  <dhruvbird@gmx.net>
276         
277         * include/ext/bitmap_allocator.h: Make doxygen style comments for
278         internal functions and classes.
279
280 2004-12-19  Dhruv Matani  <dhruvbird@gmx.net>
281         
282         * docs/html/20_util/allocator.html: Correct link.
283         * docs/html/ext/ballocator_doc.txt: Remove.
284         * docs/html/ext/ballocator_doc.html: Add.
285
286 2004-12-16  Danny Smith  <dannysmith@users.sourceforge.net>
287
288         PR target/18997
289         * config/os/newlib/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK):
290         Define to 0 for __CYGWIN__.
291
292 2004-12-16  Paolo Carlini  <pcarlini@suse.de>
293
294         * include/tr1/type_traits: Implement add_const, add_volatile,
295         and add_cv.
296         * testsuite/tr1/4_metaprogramming/const_volatile_modifications/
297         add_const.cc: New.
298         * testsuite/tr1/4_metaprogramming/const_volatile_modifications/
299         add_cv.cc: Likewise.
300         * testsuite/tr1/4_metaprogramming/const_volatile_modifications/
301         add_volatile.cc: Likewise.
302
303 2004-12-16  Paolo Carlini  <pcarlini@suse.de>
304
305         * include/tr1/type_traits: Implement is_function.
306         (struct __sfinae_types, struct __is_function_helper): New.
307         * testsuite/tr1/4_metaprogramming/composite_type_traits/
308         is_object/is_object.cc: New.
309         * testsuite/tr1/4_metaprogramming/composite_type_traits/
310         is_object/typedefs.cc: Likewise.
311         * testsuite/tr1/4_metaprogramming/primary_type_categories/
312         is_function/is_function.cc: Likewise.
313         * testsuite/tr1/4_metaprogramming/primary_type_categories/
314         is_function/typedefs.cc: Likewise.
315
316 2004-12-13  Paolo Carlini  <pcarlini@suse.de>
317
318         * include/tr1/type_traits (extent): Minor tweak (i.e., public).
319
320 2004-12-12  Paolo Carlini  <pcarlini@suse.de>
321
322         * include/tr1/type_traits: Minor tweak.
323         * testsuite/tr1/4_metaprogramming/type_properties/extent/
324         typedefs.cc: Fix date.
325
326 2004-12-12  Paolo Carlini  <pcarlini@suse.de>
327
328         * include/tr1/type_traits: Implement extent.
329         * testsuite/tr1/4_metaprogramming/type_properties/extent/
330         extent.cc: New.
331         * testsuite/tr1/4_metaprogramming/type_properties/extent/
332         typedefs.cc: Likewise.
333
334 2004-12-12  Paolo Carlini  <pcarlini@suse.de>
335
336         * include/tr1/type_traits: Implement is_pointer, remove_pointer,
337         and add_pointer; reformat. 
338         (_DEFINE_PRIMARY_SPEC_HELPER, _DEFINE_PRIMARY_SPEC): Generalize
339         and rename to _DEFINE_SPEC_HELPER and _DEFINE_SPEC; update uses.
340         * testsuite/tr1/4_metaprogramming/pointer_modifications/
341         add_pointer.cc: New.
342         * testsuite/tr1/4_metaprogramming/pointer_modifications/
343         remove_pointer.cc: Likewise.
344         * testsuite/tr1/4_metaprogramming/primary_type_categories/
345         is_pointer/is_pointer.cc: Likewise.
346         * testsuite/tr1/4_metaprogramming/primary_type_categories/
347         is_pointer/typedefs.cc: Likewise.
348
349         * testsuite/tr1/4_metaprogramming/primary_type_categories/
350         is_reference/is_reference.cc: Slightly tweak consistently.
351
352 2004-12-11  Paolo Carlini  <pcarlini@suse.de>
353
354         * include/tr1/type_traits: Implement rank.
355         * testsuite/testsuite_tr1.h (test_property): Generalize to any
356         value_type.
357         (test_category, test_relationship): Slightly tweak consistently.
358         * testsuite/tr1/4_metaprogramming/type_properties/rank/
359         rank.cc: New.
360         * testsuite/tr1/4_metaprogramming/type_properties/rank/
361         typedefs.cc: Likewise.
362
363         * testsuite/tr1/4_metaprogramming/composite_type_traits/
364         is_compound/is_compound.cc: New.
365         * testsuite/tr1/4_metaprogramming/composite_type_traits/
366         is_compound/typedefs.cc: Likewise.
367
368         * testsuite/tr1/4_metaprogramming/composite_type_traits/
369         is_arithmetic/is_arithmetic.cc: Tweak consistently with the
370         testsuite_tr1.h changes.
371         * testsuite/tr1/4_metaprogramming/composite_type_traits/
372         is_fundamental/is_fundamental.cc: Likewise.
373         * testsuite/tr1/4_metaprogramming/primary_type_categories/
374         is_array/is_array.cc: Likewise.
375         * testsuite/tr1/4_metaprogramming/primary_type_categories/
376         is_floating_point/is_floating_point.cc: Likewise.
377         * testsuite/tr1/4_metaprogramming/primary_type_categories/
378         is_integral/is_integral.cc: Likewise.
379         * testsuite/tr1/4_metaprogramming/primary_type_categories/
380         is_reference/is_reference.cc: Likewise.
381         * testsuite/tr1/4_metaprogramming/primary_type_categories/
382         is_void/is_void.cc: Likewise.
383         * testsuite/tr1/4_metaprogramming/relationships_between_types/
384         is_same/is_same.cc: Likewise.
385         * testsuite/tr1/4_metaprogramming/type_properties/is_const/
386         is_const.cc: Likewise.
387         * testsuite/tr1/4_metaprogramming/type_properties/is_volatile/
388         is_volatile.cc: Likewise.
389
390 2004-12-10  Paolo Carlini  <pcarlini@suse.de>
391
392         * include/tr1/type_traits: Implement remove_const, remove_volatile,
393         and remove_cv.
394         * testsuite/tr1/4_metaprogramming/const_volatile_modifications/
395         remove_const.cc: New.
396         * testsuite/tr1/4_metaprogramming/const_volatile_modifications/
397         remove_cv.cc: Likewise.
398         * testsuite/tr1/4_metaprogramming/const_volatile_modifications/
399         remove_volatile.cc: Likewise.
400
401         * testsuite/tr1/4_metaprogramming/primary_type_categories/
402         is_array/is_array.cc: Slightly tweak consistently, remove typedefs,
403         add a few tests.
404
405 2004-12-09  Paolo Carlini  <pcarlini@suse.de>
406
407         * include/tr1/type_traits: Implement remove_extent and
408         remove_all_extents.
409         * testsuite/tr1/4_metaprogramming/array_modifications/
410         remove_all_extents.cc: New.
411         * testsuite/tr1/4_metaprogramming/array_modifications/
412         remove_extent.cc: Likewise.
413
414 2004-12-08  Paolo Carlini  <pcarlini@suse.de>
415
416         * include/tr1/type_traits: Implement is_same, add_reference and
417         remove_reference.
418         * testsuite/testsuite_tr1.h (test_relationship): New.
419         * testsuite/tr1/4_metaprogramming/reference_modifications/
420         add_reference.cc: New.
421         * testsuite/tr1/4_metaprogramming/reference_modifications/
422         remove_reference.cc: Likewise.
423         * testsuite/tr1/4_metaprogramming/relationships_between_types/
424         is_same/is_same.cc: Likewise.
425         * testsuite/tr1/4_metaprogramming/relationships_between_types/
426         is_same/typedefs.cc: Likewise.
427
428         * testsuite/tr1/4_metaprogramming/type_properties/is_const/
429         is_const.cc: Minor tweaks.
430         * testsuite/tr1/4_metaprogramming/type_properties/is_volatile/
431         is_volatile.cc: Likewise.
432
433 2004-12-08  David Edelsohn  <edelsohn@gnu.org>
434
435         * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
436         PICFLAG.
437         * Makefile.in: Regenerated.
438
439 2004-12-07  Paolo Carlini  <pcarlini@suse.de>
440
441         * include/tr1/type_traits: Implement is_const and is_volatile.
442         * testsuite/testsuite_tr1.h (test_property): New.
443         * testsuite/tr1/4_metaprogramming/type_properties/
444         is_const/is_const.c: New.
445         * testsuite/tr1/4_metaprogramming/type_properties/
446         is_const/typedefs.cc: Likewise.
447         * testsuite/tr1/4_metaprogramming/type_properties/
448         is_volatile/is_volatile.cc: Likewise.
449         * testsuite/tr1/4_metaprogramming/type_properties/
450         is_volatile/typedefs.cc: Likewise.
451         * testsuite/tr1/4_metaprogramming/composite_type_traits/
452         is_arithmetic/is_arithmetic.cc: Slightly tweak to use ClassType
453         from testsuite_tr1.h.
454         * testsuite/tr1/4_metaprogramming/composite_type_traits/
455         is_fundamental/is_fundamental.cc: Likewise.
456         * testsuite/tr1/4_metaprogramming/primary_type_categories/
457         is_array/is_array.cc: Likewise.
458         * testsuite/tr1/4_metaprogramming/primary_type_categories/
459         is_floating_point/is_floating_point.cc: Likewise.
460         * testsuite/tr1/4_metaprogramming/primary_type_categories/
461         is_integral/is_integral.cc: Likewise.
462         * testsuite/tr1/4_metaprogramming/primary_type_categories/
463         is_reference/is_reference.cc: Likewise.
464         * testsuite/tr1/4_metaprogramming/primary_type_categories/
465         is_void/is_void.cc: Likewise.
466
467 2004-12-06  Paolo Carlini  <pcarlini@suse.de>
468
469         * include/tr1/type_traits: Implement is_reference.
470         * testsuite/tr1/4_metaprogramming/primary_type_categories/
471         is_reference/is_reference.cc: New.
472         * testsuite/tr1/4_metaprogramming/primary_type_categories/
473         is_reference/typedefs.cc: Likewise.
474
475 2004-12-05  Paolo Carlini  <pcarlini@suse.de>
476
477         PR libstdc++/18837
478         * testsuite/testsuite_performance.h: Fix mallinfo macros for
479         hpux.
480
481 2004-12-04  Richard Henderson  <rth@redhat.com>
482
483         * testsuite/26_numerics/complex/pow.cc: Use -mieee on alpha.
484
485 2004-12-04  Richard Henderson  <rth@redhat.com>
486
487         * include/ext/malloc_allocator.h: Include cstdlib.
488
489 2004-12-04  Paolo Carlini  <pcarlini@suse.de>
490
491         * include/tr1/type_traits: New.
492         * include/Makefile.am: Add.
493         * include/Makefile.in: Regenerate.
494         * testsuite/testsuite_tr1.h: New.
495         * testsuite/tr1/4_metaprogramming/composite_type_traits/
496         is_arithmetic/is_arithmetic.cc: New.
497         * testsuite/tr1/4_metaprogramming/composite_type_traits/
498         is_arithmetic/typedefs.cc: Likewise.
499         * testsuite/tr1/4_metaprogramming/composite_type_traits/
500         is_fundamental/is_fundamental.cc: Likewise.
501         * testsuite/tr1/4_metaprogramming/composite_type_traits/
502         is_fundamental/typedefs.cc: Likewise.
503         * testsuite/tr1/4_metaprogramming/helper_classes/
504         true_false_type.cc: Likewise.
505         * testsuite/tr1/4_metaprogramming/helper_classes/
506         true_false_type_typedefs.cc: Likewise.
507         * testsuite/tr1/4_metaprogramming/helper_classes/
508         typedefs.cc: Likewise.
509         * testsuite/tr1/4_metaprogramming/primary_type_categories/
510         is_array/is_array.cc: Likewise.
511         * testsuite/tr1/4_metaprogramming/primary_type_categories/
512         is_array/typedefs.cc: Likewise.
513         * testsuite/tr1/4_metaprogramming/primary_type_categories/
514         is_floating_point/is_floating_point.cc: Likewise.
515         * testsuite/tr1/4_metaprogramming/primary_type_categories/
516         is_floating_point/typedefs.cc: Likewise.
517         * testsuite/tr1/4_metaprogramming/primary_type_categories/
518         is_integral/is_integral.cc: Likewise.
519         * testsuite/tr1/4_metaprogramming/primary_type_categories/
520         is_integral/typedefs.cc: Likewise.
521         * testsuite/tr1/4_metaprogramming/primary_type_categories/
522         is_void/is_void.cc: Likewise.
523         * testsuite/tr1/4_metaprogramming/primary_type_categories/
524         is_void/typedefs.cc: Likewise.
525
526 2004-12-02  Paolo Carlini  <pcarlini@suse.de>
527
528         * testsuite/testsuite_io.h (class sync_buf): New, templatized
529         version of sync_streambuf; add typedefs for streambuf/wstreambuf.
530         (class fail_buf): Likewise, for fail_streambuf.
531         (class fail_num_get): Templatize and add char/wchar_t typedefs.
532         (class fail_num_put): Likewise.
533         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
534         exceptions_badbit_throw.cc: Use the latter.
535         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
536         exceptions_failbit_throw.cc: Likewise.
537         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
538         exceptions_badbit_throw.cc: Likewise.
539         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
540         exceptions_failbit_throw.cc: Likewise.
541
542 2004-12-01  Paolo Carlini  <pcarlini@suse.de>
543
544         * testsuite/27_io/basic_istream/get/wchar_t/1.cc: New.
545         * testsuite/27_io/basic_istream/get/wchar_t/2.cc: Likewise.
546         * testsuite/27_io/basic_istream/get/wchar_t/3.cc: Likewise.
547         * testsuite/27_io/basic_istream/ignore/wchar_t/1.cc: Likewise.
548         * testsuite/27_io/basic_istream/ignore/wchar_t/2.cc: Likewise.
549         * testsuite/27_io/basic_istream/ignore/wchar_t/3.cc: Likewise.
550         * testsuite/27_io/basic_istream/ignore/wchar_t/6360.cc: Likewise.
551         * testsuite/27_io/basic_istream/ignore/wchar_t/7220.cc: Likewise.
552
553 2004-11-29  Paolo Carlini  <pcarlini@suse.de>
554
555         * testsuite/21_strings/basic_string/capacity/char/18654.cc: Use
556         better names.
557         * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc: Same.
558
559 2004-11-29  Paolo Carlini  <pcarlini@suse.de>
560
561         PR libstdc++/18654
562         * include/bits/basic_string.tcc (_Rep::_S_create): When shrinking,
563         do not round to pagesize.
564         * testsuite/21_strings/basic_string/capacity/char/18654.cc: New.
565         * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc: New.
566
567 2004-11-27  Paolo Carlini  <pcarlini@suse.de>
568
569         PR libstdc++/18690
570         * include/tr1/utility (get(pair), get(const pair)): Change
571         occurrences of _I to _Int.
572
573 2004-11-27  Paolo Carlini  <pcarlini@suse.de>
574
575         * testsuite/27_io/basic_istream/getline/wchar_t/2.cc: Fix typo.
576         * testsuite/27_io/basic_istream/getline/wchar_t/4.cc: Likewise.
577
578         * testsuite/22_locale/time_put/put/char/17038.cc: Use VERIFY.
579         * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
580         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc: Likewise.
581         * testsuite/27_io/basic_ios/exceptions/char/2.cc: Likewise.
582
583 2004-11-26  Paolo Carlini  <pcarlini@suse.de>
584
585         DR 243. get and getline when sentry reports failure [WP]
586         * include/bits/istream.tcc (istream<>::get, istream<>::getline):
587         Store a null character only if the array has a non-zero size.
588         * src/istream.cc (istream<char>::getline, istream<wchar_t>::getline):
589         Likewise.
590         * testsuite/27_io/basic_istream/get/char/3.cc: New.
591         * testsuite/27_io/basic_istream/getline/char/6.cc: New.
592         * testsuite/27_io/basic_istream/getline/wchar_t/6.cc: New.
593         * docs/html/ext/howto.html: Add an entry for DR 243.
594
595         * testsuite/27_io/basic_istream/getline/wchar_t/1.cc: New.
596         * testsuite/27_io/basic_istream/getline/wchar_t/2.cc: New.
597         * testsuite/27_io/basic_istream/getline/wchar_t/3.cc: New.
598         * testsuite/27_io/basic_istream/getline/wchar_t/4.cc: New.
599         * testsuite/27_io/basic_istream/getline/wchar_t/5.cc: New.
600
601 2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
602
603         * configure: Regenerate for libtool change.
604
605 2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
606
607         * Makefile.in, aclocal.m4: Regenerate with automake 1.9.3.
608         * include/Makefile.in: Likewise.
609         * libmath/Makefile.in: Likewise.
610         * libsupc++/Makefile.in: Likewise.
611         * po/Makefile.in: Likewise.
612         * src/Makefile.in: Likewise.
613         * testsuite/Makefile.in: Likewise.
614
615 2004-11-24  Jonathan Wakely  <redi@kayari.org>
616
617         * docs/html/ext/howto.html: Fix incorrect link.
618         * docs/html/documentation.html: Regenerate.
619
620 2004-11-24  Nathan Myers  <ncm@cantrip.org>
621
622         * include/bits/streambuf_iterator.h
623         (istreambuf_iterator<>::operator++(), operator++(int)): Don't
624         check unnecessarily the return value of _M_sbuf->sbumpc().
625
626 2004-11-24  Benjamin Kosnik  <bkoz@redhat.com>
627
628         * include/Makefile.am (tr1_headers): Add utility, functional.
629         * include/Makefile.in: Regenerate.
630
631 2004-11-24  Chris Jefferson  <chris@bubblescope.net>
632
633         * include/tr1/tuple(operator!=): Change operator 
634         definition to match (draft) technical report.
635         (operator>): Same.
636         (operator<=): Same.
637         (operator>=): Same.
638         (ref): Move to include/tr1/functional.
639         (cref): Same.
640         (tuple_size<pair>): Move to include/tr1/utility.
641         (tuple_element<,pair>): Same.
642         * include/tr1/functional: New.
643         * include/tr1/utility: New.
644         * testsuite/tr1/6_container/utility/pair.cc: New.
645
646 2004-11-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
647
648         * config/locale/ieee_1003.1-2001/codecvt_specializations.h
649         (do_out, do_unshift, do_in): Remove redundant typedef.
650
651 2004-11-23  Chris Jefferson  <chris@bubblescope.net>
652
653         * testsuite/testsuite_iterators.h: New.
654         * testsuite/25_algorithms/search_n/iterator.cc: New.
655         * testsuite/performance/25_algorithms/search_n.cc: New.
656
657 2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
658
659         * testsuite/lib/libstdc++.exp: Use new procs in target-libpath.exp.
660
661 2004-11-23  Benjamin Kosnik  <bkoz@redhat.com>
662
663         * docs/doxygen/doxygroups.cc: Add std::tr1 namespace.
664         * docs/doxygen/run_doxygen: Renames for std::tr1.
665         * docs/doxygen/user.cfg.in: Add cxxabi.h.
666         * include/bits/*.tcc: Add file markup.
667         * include/bits/allocator.h: Add link to allocator.html.
668         * include/bits/atomicity.h: Add file markup.
669         * include/bits/concurrence.h: Same.
670         * include/bits/functexcept.h: Same.
671         * include/ext*: Adjust file markup, remove GCC3 bits.
672         * include/std/*: Adjust file markup, remove bits about renamed files.
673         * libsupc++/cxxabi.h: Add file markup.
674         * testsuite/20_util/memory/auto_ptr/assign_neg.cc: Adjust line numbers.
675
676 2004-11-22  Benjamin Kosnik  <bkoz@redhat.com>
677
678         * include/bits/locale_facets.h (isspace, isprint, isupper,
679         islower, isalpha, isdigit, ispunct, isxdigit, isalnum, isgraph,
680         toupper, tolower): Add doxygen markup.
681         (codecvt_byname, ctype_byname, numpunct_byname, collate_byname,
682         time_get_byname, time_put_byname, moneypunct_byname,
683         messages_byname): Same.
684         * include/std/std_fstream.h: Remove superfluous markup.
685         * include/std/std_sstream.h: Same.
686         * include/std/std_streambuf.h: Same.
687         * include/ext/enc_filebuf.h: Adjust markup.
688         * include/ext/stdio_filebuf.h: Same.
689         * include/ext/stdio_sync_filebuf.h: Same.
690         * include/bits/codecvt.h: Same.
691         * config/os/gnu-linux/ctype_base.h: Same.
692         * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Same.
693         * include/tr1/array: Add markup.
694         * include/tr1/tuple: Same.
695         
696         * docs/doxygen/run_doxygen: Print arguments.
697
698         * docs/doxygen/user.cfg.in: Tweaks.
699
700 2004-11-19  Jonathan Wakely  <redi@gcc.gnu.org>
701
702         * include/bits/basic_string.h, include/bits/locale_classes.h,
703         include/bits/valarray_after.h, include/bits/valarray_before.h,
704         include/ext/stdio_sync_filebuf.h, include/std/std_algorithm.h,
705         include/std/std_functional.h, include/std/std_memory.h,
706         include/std/std_numeric.h: Doxygen fixes.
707
708 2004-11-19  Paolo Carlini  <pcarlini@suse.de>
709
710         * testsuite/22_locale/time_get/get_date/char/1.cc: In the checks
711         use, more correctly (and consistently with other testcases) the
712         return value of the facet (the iterator arguments are by value).
713         * testsuite/22_locale/time_get/get_date/char/12791.cc: Likewise.
714         * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Likewise.
715         * testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: Likewise.
716         * testsuite/22_locale/time_get/get_monthname/char/1.cc: Likewise.
717         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
718         * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
719         * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
720         * testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
721         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
722         * testsuite/22_locale/time_get/get_year/char/1.cc: Likewise.
723         * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Likewise.
724
725 2004-11-19  Jonathan Wakely  <redi@gcc.gnu.org>
726
727         * Makefile.am (doxygen, doxygen-maint, doxygen-man): Remove extra '$'
728         from host_alias variable.
729         * Makefile.in: Regenerate.
730
731 2004-11-19  Chris Jefferson  <chris@bubblescope.net>
732
733         * include/bits/stl_list.h (list::back, list::back const):
734         Don't decrement temporary.
735
736 2004-11-19  Paolo Carlini  <pcarlini@suse.de>
737
738         * include/bits/stl_deque.h (deque::front, deque::front const,
739         deque::back, deque::back const): Slightly tweak for stylistic
740         consistency.
741
742 2004-11-18  Paolo Carlini  <pcarlini@suse.de>
743
744         * testsuite/26_numerics/numeric/sum_diff.cc: Use VERIFY.
745         * testsuite/ext/array_allocator/1.cc: Likewise.
746         * testsuite/ext/array_allocator/2.cc: Likewise.
747         * testsuite/ext/array_allocator/3.cc: Likewise.
748         * testsuite/ext/enc_filebuf/char/13598.cc: Likewise.
749
750 2004-11-18  Paolo Carlini  <pcarlini@suse.de>
751
752         * include/bits/locale_facets.tcc (num_get<>::do_get(void*&)):
753         If the failbit is set, don't set it again.
754         (money_get<>::_M_extract): Minor stylistic tweak: consistently
755         with the other functions, take care of eofbit at the end.
756
757 2004-11-18  Paolo Carlini  <pcarlini@suse.de>
758
759         DR 434. bitset::to_string() hard to use [Ready]
760         * include/std/std_bitset.h (to_string): Add three overloads, taking
761         fewer template arguments.
762         * docs/html/ext/howto.html: Add an entry for DR 434.
763         * testsuite/23_containers/bitset/to_string/1.cc: New.
764
765 2004-11-17  Paolo Carlini  <pcarlini@suse.de>
766
767         * include/bits/istream.tcc (getline(basic_istream<>&, basic_string<>&,
768         _CharT)): Remove temporary kludge for libstdc++/15002.
769         * include/std/std_streambuf.h (class basic_streambuf): Declare
770         getline(basic_istream<>&, basic_string<>&, _CharT) as friend.
771         * include/bits/basic_string.h (getline(basic_istream<>&,
772         basic_string<>&, _CharT)): Declare optimized specializations for
773         char and wchar_t, using protected members of basic_streambuf.
774         * src/istream.cc: Define the latter.
775
776 2004-11-16  Jonathan Wakely  <redi@gcc.gnu.org>
777
778         * docs/html/19_diagnostics/howto.html: Document change from
779         _GLIBCPP_CONCEPT_CHECKS to _GLIBCXX_CONCEPT_CHECKS in 3.4.
780
781 2004-11-16  Matthias Klose  <doko@debian.org>
782
783         * docs/doxygen/user.cfg.in: Set HAVE_DOT to NO.
784
785 2004-11-16  Matthias Klose  <doko@debian.org>
786
787         * Makefile.am (doxygen, doxygen-maint, doxygen-man): Use host_alias
788         instead of build_alias.
789         * docs/doxygen/run_doxygen: Likewise.
790         * docs/doxygen/user.cfg.in: Likewise.
791         * Makefile.in: Regenerate.
792
793 2004-11-15  Paolo Carlini  <pcarlini@suse.de>
794
795         * include/bits/streambuf.tcc (__copy_streambufs): Provide
796         a generic version of the function, not using the protected
797         members of basic_streambuf.
798         * include/std/std_streambuf.h (__copy_streambufs): Declare
799         optimized specializations for char and wchar_t.
800         * src/streambuf.cc: New file, define the latter.
801         * src/Makefile.am: Add.
802         * src/Makefile.in: Regenerate.
803
804 2004-11-15  Matthias Klose  <doko@debian.org>
805
806         * docs/doxygen/run_doxygen: Add --build_alias option,
807         substitute it in docs/doxygen/user.cfg.in.
808         * docs/doxygen/user.cfg.in: Use build_alias.
809         * Makefile.am: Pass --build_alias to run_doxygen
810         * Makefile.in: Regenerate.
811
812 2004-11-15  Benjamin Kosnik  <bkoz@redhat.com>
813
814         * testsuite/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.4.
815
816 2004-11-15  Paolo Carlini  <pcarlini@suse.de>
817
818         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 33.
819
820 2004-11-14  Paolo Carlini  <pcarlini@suse.de>
821
822         * include/bits/streambuf_iterator.h (istreambuf_iterator::_M_get):
823         Slightly tweak for clarity (also leads to measurably better code).
824
825 2004-11-12  Andrew Pinski  <pinskia@physics.uc.edu>
826
827         PR other/14264
828         * testsuite/lib/libstdc++.exp: Set LC_ALL and LANG to C.
829
830 2004-11-09  Paolo Carlini  <pcarlini@suse.de>
831
832         * include/bits/locale_facets.tcc (time_get<>::do_get_weekday,
833         time_get<>::do_get_monthname): Absolutely avoid dereferencing
834         end iterators.
835
836         * include/bits/locale_facets.tcc (time_get<>::_M_extract_name):
837         Minor tweak.    
838
839 2004-11-08  Benjamin Kosnik  <bkoz@redhat.com>
840             Doug Gregor  <dgregor@cs.indiana.edu>
841
842         PR libstdc++/17664
843         * src/debug.cc : Just use one mutex.
844
845 2004-11-08  Benjamin Kosnik  <bkoz@redhat.com>
846
847         * configure.ac (libtool_VERSION): To 6:4:0.
848         * configure: Regenerate.
849
850         * config/linker-map.gnu: Slide new symbols into GLIBCXX_3.4.4.
851
852         * docs/doxygen/user.cfg.in: Add more extension files.
853
854 2004-11-08  Paolo Carlini  <pcarlini@suse.de>
855
856         * include/bits/streambuf_iterator.h (class istreambuf_iterator):
857         Consistently use _M_c to cache the current char, i.e., not only
858         when operator++(int) is involved; change _M_c to mutable.
859         (_M_get()): Always save the return value of _M_sbuf->sgetc() into
860         _M_c.
861         * testsuite/22_locale/time_get/get_monthname/char/1.cc: Fix
862         (long standing) typo.
863         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
864         * testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
865         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
866
867 2004-11-08  Paolo Carlini  <pcarlini@suse.de>
868
869         * include/bits/istream.tcc (getline(char_type*, streamsize,
870         char_type), ignore(streamsize), ignore(streamsize, int_type)):
871         Restore a generic version of the functions, not using the
872         protected members of basic_streambuf.
873         * include/std/std_istream.h (getline(char_type*, streamsize,
874         char_type), ignore(streamsize), ignore(streamsize, int_type)):
875         Declare optimized specializations for char and wchar_t.
876         * src/istream.cc: New file, define the latter.
877         * src/Makefile.am: Add.
878         * src/Makefile.in: Regenerate.
879
880 2004-11-07  Paolo Carlini  <pcarlini@suse.de>
881
882         * testsuite/performance/27_io/ifstream_getline-2.cc: New.
883
884 2004-11-05  Benjamin Kosnik  <bkoz@redhat.com>
885
886         PR libstdc++/17218
887         PR libstdc++/17223
888         * docs/doxygen/filter: Remove.
889         * docs/doxygen/filter.sed: Remove.
890         * docs/doxygen/mainpage.html: Add link to functions.
891         * docs/doxygen/run_doxygen: Changes due to new source filtering.
892         * docs/doxygen/user.cfg.in: Update to doxygen 1.3.9.1, tweak.
893         * include/bits/allocator.h: Tweaks for doxygen.
894         * include/bits/char_traits.h: Same.
895         * include/bits/codecvt.h: Same.
896         * include/bits/concurrence.h: Same.
897         * include/bits/locale_facets.h: Same.
898         * include/ext/array_allocator.h: Same.
899         * include/ext/debug_allocator.h: Same.
900         * include/ext/malloc_allocator.h: Same.
901         * include/ext/mt_allocator.h: Same.
902         * include/ext/new_allocator.h: Same.
903         * include/ext/pool_allocator.h: Same.
904         * include/ext/stdio_sync_filebuf.h: Same.
905         * include/std/std_memory.h: Same.
906         * include/tr1/array: Same.
907         * include/tr1/tuple: Same.
908         * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Same.
909         * config/os/gnu-linux/ctype_base.h: Same.
910
911 2004-11-04  Paolo Carlini  <pcarlini@suse.de>
912
913         * include/bits/locale_facets.tcc (num_get<>::do_get(bool&)):
914         Evaluate __beg == __end the exact strict minimum number of times.
915
916 2004-11-03  Jonathan Wakely  <redi@gcc.gnu.org>
917
918         * include/bits/stl_numeric.h (partial_sum, adjacent_difference):
919         Avoid dereferencing two times __first in the prologue.
920  
921 2004-11-03  Paolo Carlini  <pcarlini@suse.de>
922
923         * include/bits/stl_numeric.h: Trivial formatting fixes.
924
925 2004-11-03  Benjamin Kosnik  <bkoz@redhat.com>
926
927         * include/bits/c++config: Spacing.
928         * libsupc++/del_op.cc: Include c++config.h.
929         * libsupc++/del_opnt.cc: Same.
930         * libsupc++/del_opv.cc: Same.
931         * libsupc++/del_opvnt.cc: Same.
932         * libsupc++/new_op.cc: Same.
933         * libsupc++/new_opnt.cc: Same.
934         * libsupc++/new_opv.cc: Same.
935         * libsupc++/new_opvnt.cc: Same.
936
937 2004-11-03  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
938
939         * config/os/bsd/darwin/os_defines.h
940         (_GLIBCXX_WEAK_DEFINITION): Define.
941         * include/bits/c++config (_GLIBCXX_WEAK_DEFINITION): Define.
942         * libsupc++/del_op.cc (operator delete(void *)): Use
943         _GLIBCXX_WEAK_DEFINITION.
944         * libsupc++/del_opnt.cc
945         (operator delete(void *, const std::nothrow_t&)): Same.
946         * libsupc++/del_opv.cc (operator delete[](void *)): Same.
947         * libsupc++/del_opvnt.cc
948         (operator delete[](void *, const std::nothrow_t&)): Same.
949         * libsupc++/new_op.cc (operator new(std::size_t)): Same.
950         * libsupc++/new_opnt.cc
951         (operator new(std::size_t, const std::nothrow_t&)): Same
952         * libsupc++/new_opv.cc (operator new[](std::size_t)): Same.
953         * libsupc++/new_opvnt.cc
954         (operator new[](std::size_t, const std::nothrow_t&)): Same.
955
956 2004-11-02  Paolo Carlini  <pcarlini@suse.de>
957
958         * include/bits/locale_facets.tcc (num_get<>::_M_extract_int):
959         Evaluate *__beg the exact strict minimum number of times; likewise
960         for __beg != __end; slightly simplify main parsing loop.
961
962 2004-11-02  Benjamin Kosnik  <bkoz@redhat.com>
963             Lothar Werzinger  <lothar@xcerla.com>
964         
965         PR libstdc++/17664
966         * src/debug.cc: Include concurrence, use mutexes.
967         (_Safe_iterator_base::_M_attach): Here. 
968         (_Safe_iterator_base::_M_detach): Here. 
969         
970 2004-11-02  Benjamin Kosnik  <bkoz@redhat.com>
971
972         PR libstdc++/17922
973         * include/bits/ios_base.h : Add enum values.
974         * testsuite/testsuite_hooks.h (bitmask_operators): Add function.
975         * testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc: New.
976         * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: New.
977         * testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc: New.
978         * testsuite/27_io/ios_base/types/iostate/case_label.cc: New.
979         * testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc: New.
980         * testsuite/27_io/ios_base/types/openmode/case_label.cc: New.
981         * testsuite/27_io/ios_base/types/seekdir/case_label.cc: New.
982
983         * config/io/c_io_stdio.h (__ios_flags): Mark deprecated.
984         * src/ios.cc: Same.
985
986         * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
987         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
988
989 2004-11-01  Momchil Velikov  <velco@fadata.bg>
990
991         PR libstdc++/18185
992         * libsupc++/eh_globals.cc (get_globals_dtor): Delete unhandled
993         exceptions.
994         * testsuite/thread/18185.cc: New.
995         
996 2004-11-01  Chris Jefferson  <chris@bubblescope.net>
997
998         PR libstdc++/18159
999         * include/tr1/tuple (get(pair)): Change occurrences of _I to _Int.
1000         (get(const pair)): Likewise.
1001
1002 2004-11-01  Paolo Carlini  <pcarlini@suse.de>
1003
1004         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
1005         Evaluate *__beg the exact strict minimum number of times; likewise
1006         for __beg != __end; in the main parsing loop, call ++__beg in two
1007         places only. The former is also a correctness issue, because,
1008         according to the standard (22.2.2.1.2, Stage 2), 'in' shall be
1009         dereferenced only one time for each increment.
1010
1011 2004-10-31  Benjamin Kosnik  <bkoz@redhat.com>
1012
1013         PR c++/16728
1014         * testsuite/23_containers/set/modifiers/16728.cc: New.
1015
1016 2004-10-30  Paolo Carlini  <pcarlini@suse.de>
1017
1018         * include/ext/bitmap_allocator.h (allocate(size_type)): Minor tweak.
1019
1020         * testsuite/ext/bitmap_allocator/check_delete.cc: New.
1021         * testsuite/ext/bitmap_allocator/check_new.cc: Likewise.
1022
1023 2004-10-29  Geoffrey Keating  <geoffk@apple.com>
1024
1025         * configure.host (darwin*): Set os_include_dir to a separate directory
1026         for Darwin.
1027         * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Add a new C locale kind,
1028         'darwin'.
1029         * config/locale/darwin/ctype_members.cc: New.
1030         * config/os/bsd/darwin/ctype_base.h: New.
1031         * config/os/bsd/darwin/ctype_inline.h: New.
1032         * config/os/bsd/darwin/ctype_noninline.h: New.
1033         * config/os/bsd/darwin/os_defines.h: New.
1034
1035         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Only xfail
1036         on Linux.
1037
1038 2004-10-29  Chris Jefferson  <chris@bubblescope.net>
1039
1040         * include/bit/stl_algo.h (find_first_of(,,,,pred)):
1041         Remove invalid EqualOpConcept.
1042         * testsuite/25_algorithms/find_first_of/concept_check_1.cc: New.
1043
1044 2004-10-29  Benjamin Kosnik  <bkoz@redhat.com>
1045
1046         * testsuite/testsuite_allocator.h (check_delete): New.
1047         (check_new): Simplify.
1048         * testsuite/ext/array_allocator/check_delete.cc: New.
1049         * testsuite/ext/array_allocator/check_new.cc: Simplify.
1050         * testsuite/ext/debug_allocator/check_delete.cc: New.
1051         * testsuite/ext/debug_allocator/check_new.cc: Simplify.
1052         * testsuite/ext/malloc_allocator/check_delete.cc: New.
1053         * testsuite/ext/malloc_allocator/check_new.cc: Simplify.
1054         * testsuite/ext/mt_allocator/check_delete.cc: New.
1055         * testsuite/ext/mt_allocator/check_new.cc: Simplify.
1056         * testsuite/ext/new_allocator/check_delete.cc: New.
1057         * testsuite/ext/new_allocator/check_new.cc: Simplify.
1058         * testsuite/ext/pool_allocator/check_delete.cc: New.
1059         * testsuite/ext/pool_allocator/check_new.cc: Simplify.
1060
1061 2004-10-28  Chris Jefferson  <chris@bubblescope.net>
1062
1063         PR libstdc++/18159
1064         * include/tr1/tuple: Fix, change formatting.
1065
1066 2004-10-28  Benjamin Kosnik  <bkoz@redhat.com>
1067
1068         * include/ext/mt_allocator.h (__common_pool_policy): Add template
1069         template parameter for pool class type.
1070         (__per_type_pool_policy): Same.
1071         (__mt_allocator): Don't inherit policy. Qualify policy_type calls.
1072         * testsuite/ext/mt_allocator/check_deallocate_null.cc: Fix.
1073         * testsuite/ext/mt_allocator/check_deallocate_null_thread.cc: Same.
1074         * testsuite/ext/mt_allocator/deallocate_global-2.cc: Same.
1075         * testsuite/ext/mt_allocator/deallocate_global-4.cc: Same.
1076         * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Same.
1077         * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Same.
1078         * testsuite/ext/mt_allocator/deallocate_local-2.cc: Same.
1079         * testsuite/ext/mt_allocator/deallocate_local-4.cc: Same.
1080         * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Same.
1081         * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Same.
1082         * testsuite/ext/mt_allocator/instantiate.cc: Same.
1083         * testsuite/ext/mt_allocator/tune-1.cc: Same.
1084         * testsuite/ext/mt_allocator/tune-2.cc: Same.
1085         * testsuite/ext/mt_allocator/tune-3.cc: Same.
1086         * testsuite/ext/mt_allocator/tune-4.cc: Same.
1087
1088 2004-10-28  Paolo Carlini  <pcarlini@suse.de>
1089
1090         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
1091         Cache *__beg in __c when parsing exponent sign too.
1092         (num_get<>::do_get(..., bool&)): Cache *__beg.
1093         (money_get<>::_M_extract)): Likewise, in money_base::value.
1094
1095 2004-10-27  Paolo Carlini  <pcarlini@suse.de>
1096
1097         * include/bits/basic_string.h (assign(const basic_string&)):
1098         Move out of line...
1099         * include/bits/basic_string.tcc: ... here.
1100
1101 2004-10-27  Paolo Carlini  <pcarlini@suse.de>
1102
1103         * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
1104         Move out of line...
1105         * include/bits/basic_string.tcc: ... here.
1106
1107 2004-10-26  Paolo Carlini  <pcarlini@suse.de>
1108
1109         * include/bits/basic_string.h (append(const basic_string&),
1110         append(size_type, _CharT)): Move out of line...
1111         * include/bits/basic_string.tcc: ... here.
1112
1113 2004-10-26  Paolo Carlini  <pcarlini@suse.de>
1114
1115         * include/bits/basic_string.h (erase(size_type, size_type),
1116         erase(iterator), erase(iterator, iterator)): Call _M_mutate
1117         instead of _M_replace_safe, equivalent when the fourth argument
1118         is zero and simpler.
1119
1120 2004-10-26  Benjamin Kosnik  <bkoz@redhat.com>
1121
1122         * include/ext/array_allocator.h (array::allocate): Check for valid
1123         array object, use its size member function directly.
1124         * testsuite/ext/array_allocator/3.cc: New.
1125         * docs/html/20_util/allocator.html: Add docs.
1126         
1127 2004-10-25  Geoffrey Keating  <geoffk@apple.com>
1128
1129         * configure.host (darwin*): Build libstdc++ single module
1130         and flat namespace.
1131         * libsupc++/new_op.cc (new): Make weak.
1132         * libsupc++/new_opnt.cc (new): Make weak.
1133         * libsupc++/new_opv.cc (new): Make weak.
1134         * libsupc++/new_opvnt.cc (new): Make weak.
1135         * libsupc++/delete_op.cc (delete): Make weak.
1136         * libsupc++/delete_opnt.cc (delete): Make weak.
1137         * libsupc++/delete_opv.cc (delete): Make weak.
1138         * libsupc++/delete_opvnt.cc (delete): Make weak.
1139
1140 2004-10-25  Benjamin Kosnik  <bkoz@redhat.com>
1141
1142         * testsuite/Makefile.am (GLIBCXX_INCLUDES): Add.
1143         (AUTOMAKE_OPTIONS): Add nostdinc.
1144         * testsuite/Makefile.in: Regenerate.
1145         * scripts/testsuite_flags.in (build-includes): Remove redundant
1146         search for libsupc++.
1147         * fragment.am: Clean.
1148         
1149 2004-10-25  Benjamin Kosnik  <bkoz@redhat.com>
1150
1151         * include/Makefile.am (tr1_headers): Add tuple.
1152         * include/Makefile.in: Regenerate.
1153
1154 2004-10-25  Chris Jefferson  <chris@bubblescope.net>
1155
1156         * include/tr1/tuple: Implementation of tuple from library TR.
1157         * testsuite/tr1/6_containers/tuple/tuple_element.cc: New.
1158         * testsuite/tr1/6_containers/tuple/tuple_size.cc: New.
1159         * testsuite/tr1/6_containers/tuple/comparison_operators/comparisons.cc:
1160         New.
1161         * testsuite/tr1/6_containers/tuple/cons/assignment.cc: New.
1162         * testsuite/tr1/6_containers/tuple/cons/big_tuples.cc: New.
1163         * testsuite/tr1/6_containers/tuple/cons/constructor.cc: New.
1164         * testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc: 
1165         New.
1166         * testsuite/tr1/6_containers/tuple/creation_functions/tie.cc: New.
1167         * testsuite/tr1/6_containers/tuple/element_access/get.cc: New.
1168
1169 2004-10-25  Paolo Carlini  <pcarlini@suse.de>
1170         
1171         * include/bits/basic_string.h (_Rep::_M_is_safe): Move to
1172         basic_string as _M_disjunct, adjust to take only __s.
1173         * include/bits/basic_string.tcc: Adjust consistently callers. 
1174
1175 2004-10-25  Paolo Carlini  <pcarlini@suse.de>
1176
1177         * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
1178         Adjust bit missing from the previous commit.
1179
1180 2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
1181
1182         PR other/18138
1183         * testsuite/lib/libstdc++.exp: Accept more than one multilib libgcc.
1184
1185 2004-10-25  Paolo Carlini  <pcarlini@suse.de>
1186
1187         * include/bits/basic_string.h (_Rep::_M_is_safe, _M_check_length,
1188         _M_move, _M_copy, _M_assign): New, use througout.
1189         (operator+=(_CharT)): Define in terms of push_back.
1190         (append(const basic_string&)): Define here, inline, and simplify,
1191         don't use the full _M_replace_safe.
1192         (append(size_type, _CharT)): Likewise, don't use _M_replace_aux.
1193         (push_back): Likewise.
1194         (assign(const basic_string&)): Define here, inline.
1195         * include/bits/basic_string.tcc (append(const _CharT* s, size_type):
1196         Fix: when s points inside the _Rep, upon reallocation (reserve) we
1197         were copying from deallocated memory.
1198         (append(const basic_string&, size_type, size_type)): Simplify,
1199         don't use _M_replace_safe.
1200         (replace(size_type, size_type, const _CharT*, size_type)): Slightly
1201         tweak.
1202         (reserve): Likewise.
1203         * testsuite/21_strings/basic_string/append/char/2.cc: New.
1204         * testsuite/21_strings/basic_string/append/char/3.cc: Likewise.
1205         * testsuite/21_strings/basic_string/append/wchar_t/2.cc: Likewise.
1206         * testsuite/21_strings/basic_string/append/wchar_t/3.cc: Likewise.
1207
1208         * testsuite/21_strings/basic_string/assign/char/3.cc: Remove junk.
1209         * testsuite/21_strings/basic_string/assign/wchar_t/3.cc: Likewise.
1210
1211 2004-10-23  Andrew Pinski  <pinskia@physics.uc.edu>
1212
1213         * testsuite/ext/mt_allocator/deallocate_global-2.c:
1214         s/value_t/value_type/. s/traits_t/traits_type/.
1215         s/policy_t/policy_type/. s/allocator_t/allocator_type/.
1216         s/string_t/string_type/. s/list_t/list_type/.
1217         * testsuite/ext/mt_allocator/deallocate_global-4.cc: Likewise.
1218         * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Likewise.
1219         * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Likewise.
1220         * testsuite/ext/mt_allocator/deallocate_local-2.cc: Likewise.
1221         * testsuite/ext/mt_allocator/deallocate_local-4.cc: Likewise.
1222         * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Likewise.
1223         * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Likewise.
1224
1225 2004-10-21  Benjamin Kosnik  <bkoz@redhat.com>
1226
1227         * include/tr1/array (array): Make safe for zero-sized arrays.
1228         (array::end): Return one past the end.
1229         (array::at): Use __throw_out_of_range, include functexcept.h.
1230         (operator==): Implement.
1231         (operator!=): Same.
1232         (operator<): Same.
1233         (operator>): Same.
1234         (operator>=): Same.
1235         (operator<=): Same.
1236         * testsuite/tr1/6_containers/array/capacity/(empty.cc,
1237         max_size.cc, size.cc): New.
1238         * testsuite/tr1/6_containers/array/comparison_operators/(equal.cc,
1239         greater.cc, greater_or_equal.cc, less.cc, less_or_equal.cc,
1240         not_equal): New.
1241         * testsuite/tr1/6_containers/array/cons/aggregate_initialization.cc: 
1242         New.
1243         * testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc: 
1244         New.
1245         * testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc: New.
1246         * testsuite/tr1/6_containers/array/requirements/(contiguous.cc,
1247         instantiate, typedefs, zero_size_arrays): New.
1248
1249 2004-10-21  Paolo Carlini  <pcarlini@suse.de>
1250             Benjamin Kosnik  <bkoz@redhat.com>
1251
1252         * include/bits/basic_string.h (_M_set_length_and_sharable): New.
1253         * include/bits/basic_string.tcc (_S_construct, assign(const _CharT*,
1254         size_type), _M_mutate, _M_clone): Use it.
1255         (_Rep::_S_create): Don't set/call _M_length/_M_set_sharable here.
1256
1257 2004-10-21  Paolo Carlini  <pcarlini@suse.de>
1258             Dhruv Matani  <dhruvbird@gmx.net>
1259             Nathan Myers  <ncm@cantrip.org>
1260
1261         * include/bits/vector.tcc (_M_insert_aux, _M_fill_insert,
1262         _M_range_insert): Check at the outset that we are not trying
1263         to exceed max_size, then deal properly with __len overflows.
1264         * testsuite/23_containers/vector/modifiers/insert/1.cc: New.
1265         
1266         * testsuite/testsuite_allocator.h: Remove redundant include.
1267
1268 2004-10-20  Paolo Carlini  <pcarlini@suse.de>
1269
1270         * include/ext/bitmap_allocator.h (allocate): Throw std::bad_alloc
1271         when n > max_size().
1272         * include/ext/malloc_allocator.h (allocate): Likewise.
1273         * include/ext/mt_allocator.h (allocate): Likewise.
1274         * include/ext/new_allocator.h (allocate): Likewise.
1275         * include/ext/array_allocator.h: Use __throw_bad_alloc().
1276         * include/ext/pool_allocator.h: Use __builtin_expect.
1277         * testsuite/ext/array_allocator/check_allocate_max_size.cc: New.
1278         * testsuite/ext/bitmap_allocator/check_allocate_max_size.cc: Likewise.
1279         * testsuite/ext/malloc_allocator/check_allocate_max_size.cc: Likewise.
1280         * testsuite/ext/mt_allocator/check_allocate_max_size.cc: Likewise.
1281         * testsuite/ext/new_allocator/check_allocate_max_size.cc: Likewise.
1282         * testsuite/ext/pool_allocator/check_allocate_max_size.cc: Likewise.
1283         * testsuite/testsuite_allocator.h (check_allocate_max_size): New test.
1284
1285 2004-10-19  Paolo Carlini  <pcarlini@suse.de>
1286
1287         * testsuite/performance/20_util/allocator/list_sort_search.cc:
1288         Include <ext/new_allocator.h>.
1289         * testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
1290
1291 2004-10-18  Paolo Carlini  <pcarlini@suse.de>
1292
1293         * include/bits/basic_string.tcc (_M_mutate): Do not reallocate
1294         unnecessarily when _M_rep() == &_S_empty_rep() and __new_size
1295         == capacity() (== 0): is ok to just leave everything unchanged.
1296
1297         * include/bits/basic_string.h: Minor formatting fixes.
1298         * include/bits/basic_string.tcc: Likewise.
1299
1300 2004-10-17  Benjamin Kosnik  <bkoz@redhat.com>
1301
1302         * include/ext/mt_allocator.h (__pool::_M_get_align): New.
1303         (__mt_alloc::allocate): Use it.
1304         * src/mt_allocator.cc (__pool::_M_reclaim_block): Use it.
1305         (__pool::_M_reserve_block): Simplify block allocation.
1306         
1307 2004-10-17  Dhruv Matani  <dhruvbird@gmx.net>
1308             Paolo Carlini  <pcarlini@suse.de>
1309                 
1310         * include/ext/bitmap_allocator.h: Change unsigned int -> size_t: this
1311         makes the code 64-bit correct and also fixes (together with using at
1312         the beginning a bitmap 2 * size_t bytes wide) alignment issues: now
1313         8 is guaranteed, easily tunable to 16 via _BALLOC_ALIGN_BYTES.
1314         Fix pthread-rope7.cc fail by nulling out __mini_vector<> destructor.
1315         * src/bitmap_allocator.cc: Change to size_t.
1316         * config/linker-map.gnu: Adjust.
1317
1318 2004-10-16  Benjamin Kosnik  <bkoz@redhat.com>
1319
1320         * include/tr1/array: Don't use layout_type.
1321
1322 2004-10-16  Sashan Govender  <sashang@gmail.com>
1323
1324         * include/tr1/array (array::end const): Fix casting from iterator
1325         to const_iterator.
1326         
1327 2004-10-15  Paolo Carlini  <pcarlini@suse.de>
1328
1329         * include/ext/bitmap_allocator.h: Qualify ::operator delete.
1330         * src/bitmap_allocator.cc: Likewise.
1331         * src/mt_allocator.cc: Use ::operator delete, not delete,
1332         consistently with ::operator new.
1333
1334         * include/ext/bitmap_allocator.h (deallocate): Check for null
1335         pointer.
1336         * testsuite/ext/bitmap_allocator/check_deallocate_null.cc: New.
1337         * testsuite/testsuite_allocator.h (check_deallocate_null): Add test.
1338
1339 2004-10-14  Benjamin Kosnik  <bkoz@redhat.com>
1340
1341         * include/ext/mt_allocator.h (__mt_alloc::deallocate): Check for
1342         null pointer.
1343         * include/ext/pool_allocator.h (debug_allocator::deallocate):
1344         Check pointer value.
1345         * include/ext/debug_allocator.h (debug_allocator::deallocate):
1346         Throw exceptions, don't abort.
1347         * include/ext/array_allocator.h
1348         (array_allocator_base::deallocate): Remove unused parameters.
1349         * testsuite/testsuite_allocator.h (check_deallocate_null): New.
1350         * testsuite/ext/mt_allocator/check_deallocate_null.cc: New.
1351         * testsuite/ext/mt_allocator/check_deallocate_null_thread.cc: New.
1352         * testsuite/ext/array_allocator/check_deallocate_null.cc: New.
1353         * testsuite/ext/debug_allocator/check_deallocate_null.cc: New.
1354         * testsuite/ext/malloc_allocator/check_deallocate_null.cc: New.
1355         * testsuite/ext/new_allocator/check_deallocate_null.cc: New.
1356         * testsuite/ext/pool_allocator/check_deallocate_null.cc: New.
1357
1358         * testsuite/testsuite_allocator.h (check_new): Add instance argument.
1359         * testsuite/ext/array_allocator/check_new.cc: New.
1360         
1361 2004-10-14  Paolo Carlini  <pcarlini@suse.de>
1362
1363         * include/ext/bitmap_allocator.h (bitmap_allocator::_Alloc_block):
1364         Rename __unused to __M_unused.
1365
1366 2004-10-14  Benjamin Kosnik  <bkoz@redhat.com>
1367
1368         * testsuite/ext/headers.cc: Add includes, compile only.
1369         * testsuite/ext/hash_map.cc: Move to...
1370         * testsuite/ext/hash_map/1.cc: ...here.
1371         * testsuite/ext/14648.cc: Move to...
1372         * testsuite/ext/hash_map/14648.cc: ...here.
1373         * testsuite/ext/hash_map/instantiate.cc: Add.
1374         * testsuite/ext/hash_set.cc: Move to...
1375         * testsuite/ext/hash_set/1.cc: ...here.
1376         * testsuite/ext/hash_set_explicit_instantiation.cc: Move to...
1377         * testsuite/ext/hash_set/instantiate.cc: ...here.
1378         * testsuite/ext/hash_check_construct_destroy.cc: Move to...
1379         * testsuite/ext/hash_set/check_construct_destroy.cc: ...here.
1380         * testsuite/ext/slist_check_construct_destroy.cc: Move to...
1381         * testsuite/ext/slist/check_construct_destroy.cc: ...here.
1382         * testsuite/ext/slist_explicit_instantiation.cc: Move to...
1383         * testsuite/ext/slist/instantiate.cc: ...here.
1384         
1385 2004-10-14  Benjamin Kosnik  <bkoz@redhat.com>
1386
1387         * include/ext/mt_allocator.h: Tweaks.
1388         * src/mt_allocator.cc: Same.
1389
1390 2004-10-14  Dhruv Matani  <dhruvbird@gmx.net>
1391
1392         * ext/bitmap_allocator.h: Clean-up add/remove functions.
1393         * src/bitmap_allocator.cc: New file. Contains the out-of-line
1394         function definitions, static initialization of variables, and
1395         explicit instantiations needed for the allocator.
1396         * src/Makefile.am: Add.
1397         * src/Makefile.in: Regenerate.
1398         * config/linker.map.gnu: Add the necessary symbols.
1399
1400 2004-10-13  Paolo Carlini  <pcarlini@suse.de>
1401
1402         * include/bits/basic_string.tcc (_S_create): Use consistently
1403         the exponential policy, simplify.
1404         * testsuite/performance/21_strings/string_append_2.cc: New.
1405
1406         * include/ext/array_allocator.h (allocate): Fix bad_alloc check.
1407         * testsuite/ext/array_allocator/2.cc: Fix wrt 64-bit archs (in
1408         that case sizeof(_Rep) == 24).
1409
1410 2004-10-12  Paolo Carlini  <pcarlini@suse.de>
1411
1412         PR libstdc++/17948
1413         * include/bits/stl_tree.h (erase(iterator, iterator)): Revert
1414         wrong commit of 2004-10-07.
1415         
1416 2004-10-12  Scott Snyder  <snyder@fnal.gov>
1417
1418         PR libstdc++/17948
1419         * testsuite/23_containers/set/modifiers/17948.cc: New.
1420
1421 2004-10-11  Benjamin Kosnik  <bkoz@redhat.com>
1422
1423         * include/bits/stl_deque.h: Correct for over-long lines.
1424
1425 2004-10-11  Benjamin Kosnik  <bkoz@redhat.com>
1426
1427         PR libstdc++/17937
1428         * include/ext/mt_allocator.h (__pool::_M_destroy): New.
1429         * src/mt_allocator.cc (__pool::~__pool): Change definitions to
1430         _M_destroy.
1431         * acconfig.h: Remove _GLIBCXX_USE___CXA_ATEXIT.
1432         * acinclude.m4 (GLIBCXX_ENABLE_CXA_ATEXIT): Remove.
1433         * configure.ac: Remove call to GLIBCXX_ENABLE_CXA_EXIT.
1434         * configure: Regenerate.
1435         * config/linker-map.gnu: Tweak exports.
1436         * docs/html/ext/mt_allocator.html: Update docs.
1437         * testsuite/ext/mt_allocator/deallocate_global-2.cc: Fix.
1438         * testsuite/ext/mt_allocator/deallocate_global-4.cc: Fix.       
1439         * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Fix.
1440         * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Fix.
1441         * testsuite/ext/mt_allocator/deallocate_local-2.cc: Fix.
1442         * testsuite/ext/mt_allocator/deallocate_local-4.cc: Fix.
1443         * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Fix.
1444         * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Fix.
1445
1446 2004-10-11  Benjamin Kosnik  <bkoz@redhat.com>
1447
1448         PR libstdc++/16614 continued.
1449         * include/ext/mt_allocator.h
1450         (__per_type_pool_policy::_S_get_pool): Use saner defaults based on
1451         specific type characteristics.
1452         (__pool_base): Add constructor that takes a _Tune argument.
1453         (__pool): Same.
1454         * testsuite/ext/mt_allocator/tune-2.cc: Adjust default.
1455         * testsuite/ext/mt_allocator/tune-4.cc: Same.
1456         * testsuite/ext/mt_allocator/tune-3.cc: Same.
1457
1458 2004-10-11  Joachim Kuebart  <kuebart@mathematik.uni-ulm.de>
1459             Paolo Carlini  <pcarlini@suse.de>
1460
1461         * src/pool_allocator.cc (__pool_alloc_base::_M_allocate_chunk):
1462         Deal properly with exceptions thrown by ::operator new(size_t).
1463         * testsuite/ext/pool_allocator/allocate_chunk.cc: New.
1464
1465         * include/ext/pool_allocator.h: Include <cstdlib>.
1466
1467 2004-10-10  Benjamin Kosnik  <bkoz@redhat.com>
1468
1469         * include/bits/functexcept.h: Add guards.
1470
1471         * acinclude.m4 (GLIBCXX_ENABLE_THREADS): Tweak test.
1472         * configure: Regenerate.
1473         
1474 2004-10-10  Paolo Carlini  <pcarlini@suse.de>
1475
1476         * config/locale/gnu/monetary_members.cc (_S_construct_pattern):
1477         Give __ret a default value, thus avoiding spurious warnings.
1478
1479         * testsuite/performance/27_io/filebuf_sgetn_unbuf.cc: Open either
1480         words or linux.words, otherwise exit.
1481         * testsuite/performance/27_io/ifstream_getline.cc: Slighlty tweak.
1482
1483 2004-10-09  Paolo Carlini  <pcarlini@suse.de>
1484
1485         * include/std/std_memory.h (__get_temporary_buffer): Don't use
1486         INT_MAX, prefer numeric_limits<ptrdiff_t>::max(), ok on 64-bit
1487         platforms too.
1488         * testsuite/20_util/memory/auto_ptr/assign_neg.cc: Adjust dg-error
1489         line numbers.
1490
1491 2004-10-08  Benjamin Kosnik  <bkoz@redhat.com>
1492
1493         * acconfig.h: Add _GLIBCXX_USE___CXA_ATEXIT.
1494         * acinclude.m4 (GLIBCXX_ENABLE_CXA_ATEXIT): New.
1495         * configure.ac: Call GLIBCXX_ENABLE_CXA_EXIT.
1496         * configure: Regenerate.
1497         * src/mt_allocator.cc (__pool::~__pool): Make conditional on
1498         _GLIBCXX_USE___CXA_ATEXIT macro.
1499         * docs/html/ext/mt_allocator.html: Add note about deallocation.
1500         * testsuite/ext/mt_allocator/deallocate_local-2.cc: Guard checks
1501         with _GLIBCXX_USE___CXA_ATEXIT.
1502         * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Same.
1503         * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Same.
1504         * testsuite/ext/mt_allocator/deallocate_global-4.cc: Same.
1505         * testsuite/ext/mt_allocator/deallocate_global-2.cc: Same.
1506         * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Same.
1507         * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Same.
1508         * testsuite/ext/mt_allocator/deallocate_local-4.cc: Same.
1509         
1510 2004-10-07  Phil Edwards  <phil@codesourcery.com>
1511
1512         * testsuite/lib/libstdc++.exp:  Update list of undefined functions.
1513
1514 2004-10-07  Paolo Carlini  <pcarlini@suse.de>
1515
1516         * include/bits/list.tcc (operator=): Avoid iterator postincrement.
1517         * include/bits/stl_tree.h (erase(iterator, iterator)): Likewise.
1518
1519 2004-10-07  Benjamin Kosnik  <bkoz@redhat.com>
1520
1521         * include/tr1: New.
1522         * include/tr1/array: New.
1523         * include/Makefile.am (tr1_headers): New.
1524         (stamp-tr1): New.
1525         (install-headers): New.
1526         (allstamped): Add stamp-tr1.
1527
1528         * include/ext/array_allocator.h: New.
1529         * include/Makefile.am: Add.
1530         * include/Makefile.in: Regenerate.
1531         * testsuite/ext/array_allocator/1.cc: New.
1532         * testsuite/ext/array_allocator/2.cc: New.
1533
1534 2004-10-07  Richard Earnshaw  <rearnsha@arm.com>
1535
1536         * testsuite/lib/libstdc++.exp (libstdc++_exit): New proc.
1537
1538 2004-10-07  Roger Sayle  <roger@eyesopen.com>
1539
1540         PR libstdc++/17850
1541         * configure.ac: Newlib does not provide strtold.
1542         * configure: Regenerate.
1543
1544 2004-10-06  Benjamin Kosnik  <bkoz@redhat.com>
1545
1546         * acinclude.m4 (GLIBCXX_ENABLE_THREADS): Set enable_thread.
1547         (GLIBCXX_CONFIGURE_TESTSUITE): Use it.
1548         * configure: Regenerated.
1549         * testsuite/Makefile.am (CLEANFILES): Add TEST for
1550         check-performance executables.
1551         (stamp_thread): New.
1552         (all-local): Use it.
1553         * testsuite/Makefile.in: Regenerate.
1554         * scripts/create_testsuite_files: Filter thread tests.
1555
1556         * testsuite/thread/pthread1.cc: Remove macro conditionals: this
1557         file will only be run by thread enabled configurations.
1558         * testsuite/thread/pthread7-rope.cc: Same, add rope_type typedef.
1559         * testsuite/thread/pthread6.cc: Same.
1560         * testsuite/thread/pthread5.cc: Same.
1561         * testsuite/thread/pthread4.cc: Same.
1562         * testsuite/thread/pthread3.cc: Same.
1563         * testsuite/thread/pthread2.cc: Same.
1564
1565         * testsuite/ext/mt_allocator/instantiate.cc: Add in __GTHREADS guard.
1566         * testsuite/ext/mt_allocator/deallocate_global-1.cc: Move to...
1567         * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: ...here.
1568         * testsuite/ext/mt_allocator/deallocate_global-3.cc: Move to...
1569         * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: ...here. 
1570         * testsuite/ext/mt_allocator/deallocate_local-1.cc: Move to...
1571         * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: ...here.
1572         * testsuite/ext/mt_allocator/deallocate_local-3.cc: Move to...
1573         * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: ...here.
1574
1575 2004-10-06  Benjamin Kosnik  <bkoz@redhat.com>
1576             Paolo Carlini  <pcarlini@suse.de>
1577
1578         PR libstdc++/17780
1579         * src/mt_allocator.cc (__pool<true>::_M_reserve_block): Revert
1580         to old locking order.
1581
1582 2004-10-06  Paolo Carlini  <pcarlini@suse.de>
1583
1584         * include/std/std_sstream.h (_M_sync): When the caller is
1585         setbuf, don't trust _M_string.capacity() to be the size of
1586         the buffer area, use _M_string.size() in this case.
1587         * testsuite/27_io/basic_stringbuf/setbuf/char/4.cc: New.
1588         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc: Likewise.
1589
1590         * include/bits/sstream.tcc (overflow): Avoid calling string::assign
1591         unnecessarily when the current _M_string is empty.
1592
1593 2004-10-06  Paolo Carlini  <pcarlini@suse.de>
1594
1595         * include/bits/stl_algo.h (__reverse(bidirectional_iterator_tag)):
1596         Avoid iterator postincrement.
1597         (__rotate): Likewise.
1598
1599         * include/bits/stl_algo.h: Minor formatting tweaks.
1600
1601 2004-10-06  Christopher Jefferson <caj@cs.york.ac.uk>
1602
1603         * include/bits/stl_algo.h (__reverse(random_access_iterator_tag)):
1604         Avoid iterator postincrement; fix swapping middle element with
1605         itself on odd-length inputs.
1606
1607 2004-10-05  Benjamin Kosnik  <bkoz@redhat.com>
1608
1609         PR libstdc++/17780
1610         * include/ext/mt_allocator.h (__pool_base::_Tune): Add default
1611         options as compile-time constant enums.
1612         (__pool_base::_Tune::is_default): New.
1613         (__pool_base::_Block_address): New.
1614         (__pool_base): Rearrange data members.
1615         (__pool::_M_reserve_memory): To _M_reserve_block.
1616         (__pool::_M_reclaim_memory): To _M_reclaim_block.       
1617         (__pool::_Bin_record): Add _Block_address data member.
1618         (__pool<false>): Add _M_thread_freelist_initial.
1619         (__pool::~__pool): Declare.     
1620         (__common_pool_policy): Move static data member to...
1621         (__common_pool_policy::_S_get_pool): ...here, make static local.
1622         (__per_type_pool_policy): Move static data member to...
1623         (__per_type_pool_policy::_S_get_pool): ...here, make static local.
1624         (__mt_alloc::__mt_alloc): Call __policy_type::_S_get_pool.
1625         Remove static member definitions. Use define for __default_policy.
1626         * src/mt_allocator.cc: Same.
1627         * config/linker-map.gnu: Don't export _S_get_pool. Renames.
1628         * testsuite/ext/new_allocator: New.
1629         * testsuite/ext/new_allocator/instantiate.cc: New.
1630         * testsuite/ext/new_allocator/check_new.cc: New.
1631         * testsuite/ext/new_allocator/deallocate_global.cc: New.
1632         * testsuite/ext/new_allocator/deallocate_local.cc: New.
1633         * testsuite/ext/mt_allocator/instantiate.cc: Instantiate all
1634         template arguments.
1635         * testsuite/ext/mt_allocator/deallocate_global-1.cc: New.
1636         * testsuite/ext/mt_allocator/deallocate_global-2.cc: New.
1637         * testsuite/ext/mt_allocator/deallocate_global-3.cc: New.
1638         * testsuite/ext/mt_allocator/deallocate_global-4.cc: New.
1639         * testsuite/ext/mt_allocator/deallocate_local-1.cc: New.
1640         * testsuite/ext/mt_allocator/deallocate_local-2.cc: New.
1641         * testsuite/ext/mt_allocator/deallocate_local-3.cc: New.
1642         * testsuite/ext/mt_allocator/deallocate_local-4.cc: New.
1643         * testsuite/ext/mt_allocator/deallocate.cc: New.
1644         * testsuite/ext/malloc_allocator/deallocate.cc: New.    
1645         * testsuite/ext/malloc_allocator/deallocate_global.cc: New.
1646         * testsuite/ext/malloc_allocator/deallocate_local.cc: New.
1647         
1648 2004-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
1649
1650         * configure.host (abi_baseline_pair): Define for s390-*-linux* and
1651         s390x-*-linux*.
1652         * config/abi/s390-linux-gnu/baseline_symbols.txt: Add missing symbols.
1653         * config/abi/s390x-linux-gnu/baseline_symbols.txt: New file.
1654
1655 2004-10-05  Christopher Jefferson  <caj@cs.york.ac.uk>
1656
1657         * include/bits/stl_algobase.h (iter_swap): delegate to swap via
1658         __iter_swap when iterator's value_types are equal.
1659         (struct __iter_swap): New.
1660
1661 2004-10-04  Benjamin Kosnik  <bkoz@redhat.com>
1662
1663         * configure.ac (libtool_VERSION): To 6:3:0.
1664         * configure: Regnerate.
1665         * testsuite/testsuite_abi.cc (check_version): Add 3.4.3.
1666
1667 2004-10-04  Roger Sayle  <roger@eyesopen.com>
1668             Eric Botcazou  <ebotcazou@libertysurf.fr>
1669
1670         PR libstdc++/17505
1671         * config/linker-map.gnu: Synchronize the current list of stub
1672         functions from libmath.
1673
1674 2004-10-03  Roger Sayle  <roger@eyesopen.com>
1675
1676         * config/locale/generic/c_locale.cc (__convert_to_v): Use
1677         _GLIBCXX_HAVE_STRTOF instead _GLIBCXX_USE_C99 to check for strtof.
1678         Likewise, use _GLIBCXX_HAVE_STRTOLD instead of _GLIBCXX_USE_C99
1679         to check for presence of strtold.
1680
1681 2004-10-03  Paolo Carlini  <pcarlini@suse.de>
1682
1683         * include/bits/stl_list.h: Trivial formatting fixes.
1684         * include/bits/stl_tree.h: Likewise.
1685
1686 2004-10-03  Paolo Carlini  <pcarlini@suse.de>
1687
1688         * include/bits/sstream.tcc (seekpos): In case of success, just
1689         return __sp.
1690
1691 2004-10-01  Paolo Carlini  <pcarlini@suse.de>
1692
1693         * include/bits/sstream.tcc (pbackfail): Implement correctly
1694         27.7.1.3/2, bullet 2: if mode & ios_base::out is false do not
1695         write in the buffer.
1696         * testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc: New.
1697         * testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc: Likewise.
1698         * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc: Likewise.
1699         * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc: Likewise.
1700         * testsuite/27_io/basic_istream/putback/char/1.cc: Tweak consistently.
1701
1702 2004-10-01  Paolo Carlini  <pcarlini@suse.de>
1703
1704         * include/bits/sstream.tcc (seekpos): Minor rearrangement of two
1705         conditionals consistently with seekoff.
1706         * include/std/std_sstream.h (setbuf): Avoid a string temporary.
1707         (_M_sync): Simplify a bit, clean-up comment.
1708
1709 2004-09-30  Paolo Carlini  <pcarlini@suse.de>
1710
1711         PR libstdc++/10975 (DR 453)
1712         * include/bits/sstream.tcc (seekoff): Don't fail if __beg == 0
1713         and __off == 0.
1714         * docs/html/ext/howto.html: Add an entry for DR 453.
1715         * testsuite/27_io/basic_stringbuf/seekoff/char/10975.cc: New.
1716         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/10975.cc: Likewise.
1717         * testsuite/27_io/basic_istream/tellg/char/1.cc: Tweak consistently.
1718         * testsuite/27_io/basic_ostream/tellp/char/1.cc: Likewise.
1719         * testsuite/27_io/basic_ostream/tellp/char/2.cc: Likewise.
1720         * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc: Fix and
1721         move to...
1722         * testsuite/27_io/basic_istream/seekp/char/2346-fstream.cc: ... here.
1723         * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc: Fix and
1724         move to...
1725         * testsuite/27_io/basic_istream/seekp/char/2346-sstream.cc: ... here.
1726
1727 2004-09-29  Paolo Carlini  <pcarlini@suse.de>
1728
1729         * include/std/std_sstream.h (basic_stringbuf(ios_base::openmode)):
1730         Don't use _M_stringbuf_init, keep the pointers null, per 27.7.1.1.
1731         (str()): Slightly tweak, protect from pptr() == 0.
1732         (_M_update_egptr()): Likewise.
1733         * include/bits/sstream.tcc (ssekoff, seekpos): In order to check
1734         for an empty buffer use __beg instead of _M_string.capacity().
1735         * testsuite/27_io/basic_stringbuf/cons/char/1.cc: New.
1736         * testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc: Likewise.
1737
1738         * testsuite/27_io/basic_filebuf/cons/char/1.cc: New.
1739         * testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc: Likewise.
1740         * testsuite/27_io/basic_streambuf/cons/char/1.cc: Update.
1741         * testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: Likewise.
1742
1743 2004-09-29  Paolo Carlini  <pcarlini@suse.de>
1744             Benjamin Kosnik  <bkoz@redhat.com>
1745         
1746         * testsuite/testsuite_io.h (class constraint_buf): New, extended
1747         and templatized version of constraint_filebuf; add typedefs for
1748         streambuf/stringbuf/filebuf and wchar_t counterparts.
1749
1750 2004-09-28  Paolo Carlini  <pcarlini@suse.de>
1751
1752         PR libstdc++/16612
1753         * include/bits/basic_string.h (_M_dispose, _M_refcopy,
1754         basic_string()): When _GLIBCXX_FULLY_DYNAMIC_STRING is defined,
1755         don't deal with _S_empty_rep.
1756         * include/bits/basic_string.tcc (_S_construct, _M_destroy,
1757         _M_leak_hard, _M_mutate): Likewise.
1758         * acinclude.m4 (GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING): New.
1759         * acconfig.h: Add corresponding undef.  
1760         * configure.ac: Use GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING.
1761         * docs/html/configopts.html: Document --enable-fully-dynamic-string.
1762         * configure: Regenerate.
1763         * config.h.in: Likewise.
1764
1765 2004-09-28  Benjamin Kosnik  <bkoz@redhat.com>
1766             Paolo Carlini  <pcarlini@suse.de>
1767
1768         * testsuite/21_strings/basic_string/operations/char/1.cc: New.
1769         * testsuite/21_strings/basic_string/operations/wchar_t/1.cc: New.
1770         * testsuite/21_strings/basic_string/element_access/char/empty.cc: New.
1771         * testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc: 
1772         New.
1773
1774 2004-09-28  Paolo Carlini  <pcarlini@suse.de>
1775
1776         * README: Remove obsolete entry about include/c_shadow.
1777
1778 2004-09-24  H.J. Lu  <hongjiu.lu@intel.com>
1779
1780         PR libstdc++/17469
1781         * testsuite/lib/libstdc++.exp: Don't use global ld_library_path.
1782
1783 2004-09-24  Paolo Carlini  <pcarlini@suse.de>
1784
1785         * src/localename.cc (locale::locale(const char*)): Minor tweaks:
1786         rename a variable, move an assignment.
1787         (locale::_Impl::_Impl(const char*, size_t)): Likewise, minor tweak.
1788
1789 2004-09-24  Paul Brook  <paul@codesourcery.com>
1790
1791         * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: XFAIL more arm
1792         simulator targets.
1793         * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Ditto.
1794         * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Ditto.
1795         * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Ditto.
1796         * testsuite/27_io/basic_istream/readsome/char/6746-2.cc: Ditto.
1797         * testsuite/ext/stdio_filebuf/char/10063-2.cc: Ditto.
1798         * testsuite/ext/stdio_filebuf/char/10063-3.cc: Ditto.
1799
1800 2004-09-23  Zack Weinberg  <zack@codesourcery.com>
1801
1802         * testsuite/20_util/memory/auto_ptr/assign_neg.cc
1803         * testsuite/23_containers/map/operators/1_neg.cc
1804         * testsuite/23_containers/set/operators/1_neg.cc:
1805         Update locations and/or regexps of dg-error markers.
1806
1807 2004-09-23  P.J. Darcy  <darcypj@us.ibm.com>
1808
1809         * include/Makefile.am (thread_host_headers): Add gthr-tpf.h.
1810         Add rule to build ${host_builddir}/gthr-tpf.h.
1811         * include/Makefile.in: Regenerate.
1812
1813 2004-09-23  Paolo Carlini  <pcarlini@suse.de>
1814             Magnus Fromreide  <magfr@lysator.liu.se>
1815
1816         * include/bits/boost_concept_check.h (struct _SequenceConcept):
1817         Remove wrong requirement, i.e., not present in Table 67.
1818
1819 2004-09-21  Paolo Carlini  <pcarlini@suse.de>
1820
1821         PR libstdc++/12882 (cont)
1822         * acinclude.m4 (GLIBCXX_CHECK_LFS): Check for fstat64 too.
1823         * configure: Regenerate.
1824         * config/io/basic_file_stdio.cc (__basic_file<>::showmanyc): When
1825         _GLIBCXX_USE_LFS use fstat64 and lseek64, thus providing a non
1826         trivial showmanyc for large files too.
1827
1828 2004-09-17  Jonathan Wakely  <redi@gcc.gnu.org>
1829
1830         * include/bits/stl_algo.h (remove): Remove too restrictive
1831         concept-check.
1832
1833 2004-09-17  Paolo Carlini  <pcarlini@suse.de>
1834
1835         * include/bits/fstream.tcc (xsgetn): Slightly tweak conditional,
1836         as per Nathan's original suggestion.
1837
1838 2004-09-17  Paolo Carlini  <pcarlini@suse.de>
1839
1840         * testsuite/ext/mt_allocator/tune-1.cc: Use VERIFY, clean
1841         up a bit.
1842         * testsuite/ext/mt_allocator/tune-2.cc: Likewise.
1843         * testsuite/ext/mt_allocator/tune-3.cc: Likewise.
1844         * testsuite/ext/mt_allocator/tune-4.cc: Likewise.
1845
1846 2004-09-17  Paolo Carlini  <pcarlini@suse.de>
1847             Andrea Arcangeli  <andrea@suse.de>
1848
1849         * config/io/basic_file_stdio.cc (__basic_file<>::close)): Don't
1850         call unnecessarily sync, that is fflush: the library, since 3.4.0
1851         does not use buffered fread/fwrite.
1852         * include/bits/fstream.tcc (basic_filebuf<>::overflow): Likewise.
1853
1854 2004-09-15  Mark Mitchell  <mark@codesourcery.com>
1855
1856         * config/cpu/arm/cxxabi_tweaks.h (__cxa_cdtor_return_type):
1857         Define.
1858         * config/cpu/generic/cxxabi_tweaks.h (__cxa_cdtor_return_type):
1859         Define.
1860         * libsupc++/cxxabi.h (__cxa_cdtor_return_type): New type.
1861         (__cxa_vec_new): Use it.
1862         (__cxa_vec_new2): Likewise.
1863         (__cxa_vec_new3): Likewise.
1864         (__cxa_vec_cdtor): Likewise.
1865         (__cxa_vec_cctor): Likeiwse.
1866         (__cxa_vec_dtor): Likewise.
1867         (__cxa_vec_cleanup): Likewise.
1868         (__cxa_vec_delete2): Likewise.
1869         (__cxa_vec_delete3): Likewise.
1870         * libsupc++/vec.cc (__cxa_vec_new): Likewise.
1871         (__cxa_vec_new2): Likewise.
1872         (__cxa_vec_new3): Likewise.
1873         (__cxa_vec_cdtor): Likewise.
1874         (__cxa_vec_cctor): Likeiwse.
1875         (__cxa_vec_dtor): Likewise.
1876         (__cxa_vec_cleanup): Likewise.
1877         (__cxa_vec_delete2): Likewise.
1878         (__cxa_vec_delete3): Likewise.
1879         (__aeabi_vec_ctor_nocookie_nodtor): New function.
1880         (__aeabi_vec_ctor_cookie_nodtor): Likewise.
1881         (__aeabi_vec_cctor_nocookie_nodtor): Likewise.
1882         (__aeabi_vec_new_cookie_noctor): Likewise.
1883         (__aeabi_vec_new_nocookie): Likewise.
1884         (__aeabi_vec_new_cookie_nodtor): Likewise.
1885         (__aeabi_vec_new_cookie): Likewise.
1886         (__aeabi_vec_dtor): Likewise.
1887         (__aeabi_vec_dtor_cookie): Likewise.
1888         (__aeabi_vec_delete): Likewise.
1889         (__aeabi_vec_delete3): Likewise.
1890         (__aeabi_vec_delete3_nodtor): Likewise.
1891         (__aeabi_atexit): Likewise.
1892
1893 2004-09-14  Nathan Myers  <ncm@cantrip.org>
1894
1895         * include/bits/fstream.tcc (xsgetn): Slightly tweak the recent fix
1896         for 11722: copy can replace move; the common case is __avail == 0.
1897
1898 2004-09-14  Paolo Carlini  <pcarlini@suse.de>
1899
1900         * include/bits/cpp_type_traits.h: Rename __is_trivially_copyable
1901         to __is_scalar, more clear and consistent with "tr1" naming.
1902         * include/bits/stl_algobase.h: Update consistently throughout.
1903
1904 2004-09-13  Paolo Carlini  <pcarlini@suse.de>
1905
1906         PR libstdc++/11722
1907         * include/std/std_fstream.h (xsgetn): Declare only.
1908         * include/bits/fstream.tcc (xsgetn): Define, optimize for the
1909         always_noconv() case: when __n > __buflen, copy the available
1910         buffer and issue a direct read.
1911         * testsuite/performance/27_io/filebuf_sgetn_unbuf.cc: New.
1912
1913         * include/bits/fstream.tcc (xsputn): Minor tweak, reorder a
1914         conditional.
1915
1916 2004-09-13  Hans-Peter Nilsson  <hp@bitrange.com>
1917
1918         * testsuite/lib/libstdc++.exp: Use gcc wrapper.exp and call
1919         libstdc++_maybe_build_wrapper instead of using local code.
1920
1921 2004-09-08  Benjamin Kosnik  <bkoz@redhat.com>
1922
1923         * config/linker-map.gnu (GLIBCXX_3.4.3): New, adjust symbol exports.
1924
1925 2004-09-03  Jan Beulich  <jbeulich@novell.com>
1926
1927         * crossconfig.m4: Add NetWare as a target.
1928         * configure: Regenerate.
1929
1930 2004-09-02  Mark Mitchell  <mark@codesourcery.com>
1931
1932         * libsupc++/typeinfo: Honor __GXX_MERGED_TYPEINFO_NAMES if already
1933         defined.
1934
1935 2004-09-02  Benjamin Kosnik  <bkoz@redhat.com>
1936             Simon Richter  <Simon.Richter@hogyros.de>
1937
1938         PR libstdc++/16715
1939         * include/bits/istream.tcc: Add extern template for iostream
1940         char and wchar_t instantiations.
1941
1942 2004-09-02  Benjamin Kosnik  <bkoz@redhat.com>
1943             Leland Wang  <llwang@infor.org>
1944
1945         PR libstdc++/17259
1946         * include/ext/ropeimpl.h (rope::_S_compare): Use
1947         _Rope_constants::_S_leaf.
1948
1949 2004-09-02  Benjamin Kosnik  <bkoz@redhat.com>
1950
1951         PR libstdc++/16848
1952         * include/Makefile.am (ext_headers): Remove demangle.h.
1953         * include/Makefile.in: Regenerate.
1954         * include/ext/demangle.h: Remove.
1955
1956 2004-09-01  Benjamin Kosnik  <bkoz@redhat.com>
1957
1958         PR libstdc++/16614
1959         * include/ext/mt_allocator.h (__mt_base): Not type dependent,
1960         split into..
1961         (__pool): New, specialize.
1962         (__common_pool): New, static bits here.
1963         (__per_type_pool): New, and here.
1964         (__mt_alloc_base): New.
1965         (__mt_alloc): Add template parameter, inherit from it.
1966         * src/allocator.cc: Split this...
1967         * src/allocator-inst.cc: And this...
1968         * src/pool_allocator.cc: ...into this.
1969         * src/mt_allocator.cc: ... and this. Add definitions for
1970         __mt_base.
1971         * src/Makefile.am (sources): Split allocator.cc to
1972         pool_allocator.cc and mt_allocator.cc.
1973         * src/Makefile.in: Regenerate.
1974         * config/linker-map.gnu: Add symbols.
1975         * docs/html/ext/mt_allocator.html: Document new design.
1976         * testsuite/ext/mt_allocator/tune-1.cc: New.
1977         * testsuite/ext/mt_allocator/tune-2.cc: New.
1978         * testsuite/ext/mt_allocator/tune-3.cc: New.
1979         * testsuite/ext/mt_allocator/tune-4.cc: New.
1980
1981         * testsuite/testsuite_allocator.h (__gnu_test::check_new): New.
1982         * testsuite/ext/allocators.cc: Use check_new, split into...
1983         * testsuite/ext/mt_allocator/check_new.cc: this.
1984         * testsuite/ext/pool_allocator/check_new.cc: this.
1985         * testsuite/ext/malloc_allocator/check_new.cc: this.
1986         * testsuite/ext/debug_allocator/check_new.cc: this.
1987         * testsuite/ext/mt_allocator/instantiate.cc: this.
1988         * testsuite/ext/pool_allocator/instantiate.cc: this.
1989         * testsuite/ext/malloc_allocator/instantiate.cc: this.
1990         * testsuite/ext/debug_allocator/instantiate.cc: this.
1991
1992 2004-08-30  Phil Edwards  <phil@codesourcery.com>
1993
1994         * docs/html/install.html:  Update locales list (from Paolo).
1995         Remove other redundant information and point to the GCC install
1996         documentation.
1997
1998 2004-08-30  Benjamin Kosnik  <bkoz@redhat.com>
1999
2000         * include/ext/pool_allocator.h: Rename __pool_base to
2001         __pool_alloc_base.
2002         * src/allocator.cc: Same.
2003         * config/linker-map.gnu: Same.
2004
2005 2004-08-30  Paolo Carlini  <pcarlini@suse.de>
2006             Kenneth C. Schalk  <ken@xorian.net>
2007
2008         PR libstdc++/17215
2009         * config/io/basic_file_stdio.cc (__basic_file<char>::close()):
2010         Check the return value of fclose/sync, loop on EINTR.
2011         (__basic_file<char>::sys_open): Likewise, for sync.
2012
2013 2004-08-29  Paolo Carlini  <pcarlini@suse.de>
2014
2015         * include/bits/locale_facets.tcc (time_get<>::_M_extract_via_format,
2016         case 'S'): Allow for at least one leap-second (as per C99, 7.23.1
2017         and 7.23.3.5), two if !_GLIBCXX_USE_C99.
2018         * testsuite/22_locale/time_get/get_time/char/4.cc: New.
2019         * testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
2020
2021 2004-08-27  Jason Merrill  <jason@redhat.com>
2022
2023         PR c++/13684
2024         * libsupc++/guard.cc (static_mutex): Internal class implementing a
2025         recursive mutex which controls initialization of local statics.
2026         (__gnu_cxx::recursive_init): New exception class.
2027         (__cxa_guard_acquire): Deal with locking and recursion detection.
2028         (acquire_1, __cxa_guard_abort, __cxa_guard_release): Likewise.
2029
2030 2004-08-27  Matthias Klose  <doko@debian.org>
2031
2032         * configure.host: For mips*-*-linux* update cpu_include_dir
2033         after atomicity_dir is set.
2034
2035 2004-08-27  Matthias Klose  <doko@debian.org>
2036
2037         * config/abi/arm-linux-gnu/baseline_symbols.txt: New.
2038         * config/abi/mips-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
2039         * configure.host: Set abi_baseline_pair for arm*-*-linux* and
2040         mips*-*-linux*.
2041
2042 2004-08-27  Paolo Carlini  <pcarlini@suse.de>
2043
2044         * testsuite/27_io/manipulators/adjustfield/wchar_t/1.cc: New.
2045         * testsuite/27_io/manipulators/adjustfield/wchar_t/2.cc: Likewise.
2046         * testsuite/27_io/manipulators/basefield/wchar_t/1.cc: Likewise.
2047         * testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise.
2048         * testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise.
2049
2050         * testsuite/27_io/manipulators/adjustfield/char/1.cc: Minor
2051         formatting fixes.
2052         * testsuite/27_io/manipulators/adjustfield/char/2.cc: Likewise.
2053         * testsuite/27_io/manipulators/basefield/char/1.cc: Likewise.
2054         * testsuite/27_io/manipulators/standard/char/1.cc: Likewise.
2055         * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
2056
2057 2004-08-25  Paolo Carlini  <pcarlini@suse.de>
2058
2059         PR libstdc++/17038 (partial)
2060         * include/bits/locale_facets.tcc (time_put<>::do_put): Increase
2061         __maxlen to 128.
2062         * include/bits/locale_facets.h (class __timepunct): Add FIXME
2063         comment about _M_put.
2064         * config/locale/generic/time_members.cc (_M_put): Always null
2065         terminate __s.
2066         * config/locale/gnu/time_members.cc (_M_put): Likewise.
2067         * testsuite/22_locale/time_put/put/char/17038.cc: New.
2068         * testsuite/22_locale/time_put/put/wchar_t/17038.cc: New.
2069
2070 2004-08-24  Paolo Carlini  <pcarlini@suse.de>
2071
2072         * testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc: New.
2073         * testsuite/27_io/basic_istringstream/str/wchar_t/1.cc: Likewise.
2074         * testsuite/27_io/basic_ostringstream/cons/wchar_t/3.cc: Likewise.
2075         * testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc: Likewise.
2076         * testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc: Likewise.
2077         * testsuite/27_io/basic_ostringstream/str/wchar_t/2.cc: Likewise.
2078
2079         * testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Trim excess
2080         newlines.
2081         * testsuite/27_io/basic_istringstream/str/char/1.cc: Likewise.
2082
2083 2004-08-22  Matthias Klose  <doko@debian.org>
2084
2085         * config/abi/m68k-linux-gnu/baseline_symbols.txt: New.
2086         * config/abi/sparc-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
2087
2088 2004-08-23  Paolo Carlini  <pcarlini@suse.de>
2089
2090         * configure.ac: Specify version 1.9.1 in AM_INIT_AUTOMAKE.
2091         * aclocal.m4: Regenerate with automake-1.9.1.
2092         * configure: Regenerate.
2093         * Makefile.in: Likewise.
2094         * include/Makefile.in: Likewise.
2095         * libmath/Makefile.in: Likewise.
2096         * libsupc++/Makefile.in: Likewise.
2097         * po/Makefile.in: Likewise.
2098         * src/Makefile.in: Likewise.
2099         * testsuite/Makefile.in: Likewise.
2100
2101 2004-08-22  Paolo Carlini  <pcarlini@suse.de>
2102
2103         * include/bits/locale_facets.tcc (num_put<>::do_put(bool)): Cast
2104         to a signed type, long according to the resolution of DR 359.
2105         * testsuite/22_locale/num_put/put/char/9.cc: New.
2106         * testsuite/22_locale/num_put/put/wchar_t/9.cc: New.
2107
2108         * include/bits/locale_facets.tcc (num_put<>::do_put(const void*)):
2109         Simplify a bit: no need to clear showpos.
2110
2111 2004-08-21  Paolo Carlini  <pcarlini@suse.de>
2112
2113         * include/bits/char_traits.h (struct _Char_traits_match): Remove,
2114         unused.
2115
2116 2004-08-21  Paolo Carlini  <pcarlini@suse.de>
2117
2118         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Use proper
2119         wchar_t type for the fill argument; minor formatting tweaks.
2120         * testsuite/22_locale/money_put/put/wchar_t/12971.cc: Likewise.
2121         * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
2122         * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
2123         * testsuite/22_locale/money_put/put/wchar_t/4.cc: Likewise.
2124         * testsuite/22_locale/money_put/put/wchar_t/5.cc: Likewise.
2125         * testsuite/22_locale/money_put/put/wchar_t/6.cc: Likewise.
2126
2127 2004-08-21  Paolo Carlini  <pcarlini@suse.de>
2128
2129         * include/bits/basic_ios.tcc (basic_ios<>::copyfmt): Don't deal
2130         with _M_word != _M_local_word two times, redundantly.
2131
2132 2004-08-20  Jason Merrill  <jason@redhat.com>
2133
2134         * include/Makefile.am (${host_builddir}/gthr.h): Don't add
2135         _GLIBCXX_ to #pragma lines.
2136         * include/Makefile.in: Update.
2137
2138 2004-08-20  Paolo Carlini  <pcarlini@suse.de>
2139
2140         PR libstdc++/7219 (continued)
2141         * include/bits/ios_base.h (class ios_base): Expose Annex D.6
2142         typedefs by default.
2143         * testsuite/27_io/types/1.cc: Remove #if _GLIBCXX_DEPRECATED.
2144         * testsuite/27_io/ios_base/cons/assign_neg.cc: Tweak dg-error
2145         line number.
2146         * testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
2147
2148 2004-08-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2149
2150         * cpu/hppa/atomicity.h (__exchange_and_add, __atomic_add): Add memory
2151         barrier to locking asm.
2152
2153 2004-08-20  Paolo Carlini  <pcarlini@suse.de>
2154
2155         * include/c_std/cmath.tcc (__cmath_power): Revert previous commit:
2156         actually the warning is a front-end bug (c++/17120).
2157
2158 2004-08-20  Matthias Klose  <doko@debian.org>
2159
2160         * config/abi/s390-linux-gnu/baseline_symbols.txt: New.
2161
2162 2004-08-20  Paolo Carlini  <pcarlini@suse.de>
2163
2164         * include/c_std/cmath.tcc (__cmath_power): Suppress assignment
2165         used as truth value warning.
2166
2167 2004-08-20  Paolo Carlini  <pcarlini@suse.de>
2168
2169         * config/abi/x86_64-linux-gnu/32/baseline_symbols.txt: Add 32 bit
2170         baseline.
2171
2172 2004-08-20  Paolo Carlini  <pcarlini@suse.de>
2173
2174         * config/abi/x86_64-linux-gnu/baseline_symbols.txt: Fix it.
2175
2176 2004-08-19  Benjamin Kosnik  <bkoz@redhat.com>
2177
2178         * testsuite/22_locale/time_put/put/char/3.cc (test03): Don't check
2179         timezone.
2180         * testsuite/22_locale/time_put/put/wchar_t/3.cc (test03): Same.
2181
2182 2004-08-19  Paolo Carlini  <pcarlini@suse.de>
2183
2184         * testsuite/performance/20_util/allocator/insert.cc: For std::map
2185         instantiate the allocator for a correct pair type.
2186         * testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
2187         * testsuite/performance/20_util/allocator/map_thread.cc: Likewise.
2188         * testsuite/performance/20_util/allocator/producer_consumer.cc:
2189         Likewise.
2190
2191         * testsuite/performance/20_util/allocator/list_sort_search.cc: Very
2192         minor formatting fixes.
2193         * testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
2194
2195 2004-08-19  Paolo Carlini  <pcarlini@suse.de>
2196
2197         * testsuite/22_locale/time_put/put/char/1.cc: Add VERIFY on the
2198         results.
2199         * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
2200         * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
2201         * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
2202         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
2203         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
2204         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
2205         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
2206
2207 2004-08-19  Paolo Carlini  <pcarlini@suse.de>
2208
2209         * config/abi/x86_64-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
2210
2211 2004-08-18  Matthias Klose  <doko@debian.org>
2212
2213         * config/abi/hppa-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
2214         * config/abi/i386-linux-gnu/baseline_symbols.txt: New.
2215         * config/abi/powerpc-linux-gnu/baseline_symbols.txt: New.
2216
2217 2004-08-17  Paolo Carlini  <pcarlini@suse.de>
2218
2219         * config/abi/alpha-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
2220
2221 2004-08-17  Paolo Carlini  <pcarlini@suse.de>
2222
2223         * config/abi/ia64-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
2224
2225 2004-08-17  Benjamin Kosnik  <bkoz@redhat.com>
2226
2227         * config/abi/i486-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
2228
2229 2004-08-16  Paolo Carlini  <pcarlini@suse.de>
2230
2231         * include/bits/indirect_array.h: Trivial formatting fixes.
2232         * include/bits/valarray_after.h: Likewise.
2233         * include/bits/valarray_array.h: Likewise.
2234         * src/valarray-inst.cc: Likewise.
2235
2236 2004-08-15  Paolo Carlini  <pcarlini@suse.de>
2237
2238         * testsuite/27_io/basic_stringstream/rdbuf/char/2832.cc: Remove junk.
2239         * testsuite/27_io/basic_stringstream/str/char/1.cc: Likewise.
2240         * testsuite/27_io/basic_stringstream/str/char/3.cc: Likewise.
2241
2242         * testsuite/27_io/basic_stringstream/rdbuf/wchar_t/2832.cc: New.
2243         * testsuite/27_io/basic_stringstream/str/wchar_t/1.cc: Likewise.
2244         * testsuite/27_io/basic_stringstream/str/wchar_t/2.cc: Likewise.
2245         * testsuite/27_io/basic_stringstream/str/wchar_t/3.cc: Likewise.
2246         * testsuite/27_io/basic_stringstream/str/wchar_t/4.cc: Likewise.
2247
2248 2004-08-15  Paolo Carlini  <pcarlini@suse.de>
2249
2250         * include/bits/deque.tcc: Trivial formatting fixes.
2251
2252 2004-08-15  Paolo Carlini  <pcarlini@suse.de>
2253
2254         * include/bits/deque.tcc: Trivial formatting fixes.
2255
2256         * include/bits/locale_facets.tcc (num_get<>::do_get(&bool)):
2257         Remove unneded typedef.
2258
2259         * include/bits/locale_facets.tcc: Very minor tweaks.
2260
2261         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Use proper
2262         type for the fill argument.
2263         * testsuite/22_locale/time_put/put/wchar_t/10.cc: Likewise.
2264         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
2265         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
2266         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
2267         * testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
2268         * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
2269         * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
2270         * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
2271
2272 2004-08-13  Paolo Carlini  <pcarlini@suse.de>
2273
2274         * src/debug.cc (_Error_formatter::_M_print_string): Fix thinko,
2275         memmove is not needed, memcpy suffices.
2276
2277 2004-08-13  Paolo Carlini  <pcarlini@suse.de>
2278
2279         * include/std/std_fstream.h (class basic_ifstream,
2280         class basic_ofstream, class basic_fstream): Add const overloads
2281         of is_open, as per DR 365 [WP].
2282         * docs/html/ext/howto.html: Add an entry for DR 365.
2283
2284 2004-08-12  Paolo Carlini  <pcarlini@suse.de>
2285
2286         * configure.ac: Specify version 1.8.5 in AM_INIT_AUTOMAKE.
2287
2288 2004-08-12  Paolo Carlini  <pcarlini@suse.de>
2289
2290         PR libstdc++/16956
2291         * include/bits/sstream.tcc (basic_stringbuf<>::seekoff): Add __off
2292         to the returned value, reorganize a bit.
2293         * testsuite/27_io/basic_stringbuf/seekoff/char/16956.cc: New.
2294         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/16956.cc: New.
2295
2296         * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Remove junk.
2297         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.
2298         * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Likewise.
2299         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc: Likewise.
2300
2301 2004-08-12  Paul Brook  <paul@codesourcery.com>
2302
2303         * config/cpu/arm/cxxabi_tweaks.h: Define __cxa_vec_ctor_return and
2304         _GLIBCXX_CXA_VEC_CTOR_RETURN.
2305         * config/cpu/generic/cxxabi_tweaks.h: Ditto.
2306         * libsupc++/cxxabi.h (__cxa_vec_ctor, __cxa_vec_cctor): Use
2307         __cxa_vec_ctor_return.
2308         * libsupc++/vec.cc (__cxa_vec_ctor, __cxa_vec_cctor): Ditto.
2309         Use _GLIBCXX_CXA_VEC_CTOR_RETURN.
2310
2311 2004-08-12  Kelley Cook  <kcook@gcc.gnu.org>
2312
2313         * Makefile.in, aclocal.m4, configure, include/Makefile.in,
2314         libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
2315         src/Makefile.in, testsuite/Makefile.in: Regenerate
2316
2317 2004-08-12  Jan Beulich  <jbeulich@novell.com>
2318
2319         * config/locale/generic/ctype_members.cc
2320         (ctype<wchar_t>::_M_convert_to_wmask): Default case must not use 0 as
2321         initializer for return value, as that is invalid for enumerated types.
2322         * config/locale/gnu/ctype_members.cc
2323         (ctype<wchar_t>::_M_convert_to_wmask): Likewise.
2324
2325 2004-08-11  Paolo Carlini  <pcarlini@suse.de>
2326
2327         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Fix typo.
2328
2329 2004-08-11  Paolo Carlini  <pcarlini@suse.de>
2330
2331         * testsuite/27_io/basic_stringbuf/imbue/char/1.cc: Declare test
2332         variable.
2333         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc: Ditto.
2334         * testsuite/27_io/basic_stringbuf/in_avail/char/1.cc: Remove junk.
2335         * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Ditto.
2336         * testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc: Ditto.
2337         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Ditto.
2338         * testsuite/27_io/basic_stringbuf/setbuf/char/1.cc: Ditto.
2339         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc: Ditto.
2340         * testsuite/27_io/basic_stringbuf/sgetc/char/1.cc: Ditto.
2341         * testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Ditto.
2342         * testsuite/27_io/basic_stringbuf/sgetn/char/1.cc: Ditto.
2343         * testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Ditto.
2344         * testsuite/27_io/basic_stringbuf/snextc/char/1.cc: Ditto.
2345         * testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Ditto.
2346         * testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Ditto.
2347         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc: Ditto.
2348         * testsuite/27_io/basic_stringbuf/sputc/char/1.cc: Ditto.
2349         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc: Ditto.
2350         * testsuite/27_io/basic_stringbuf/sputn/char/1.cc: Ditto.
2351         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc: Ditto.
2352         * testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Ditto.
2353         * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Ditto.
2354
2355 2004-08-11  Paolo Carlini  <pcarlini@suse.de>
2356             Petur Runolfsson  <peturr02@ru.is>
2357
2358         PR libstdc++/16959
2359         * src/ios_init.cc (ios_base::sync_with_stdio): Make sure the
2360         standard streams are constructed.
2361         * testsuite/27_io/ios_base/sync_with_stdio/16959.cc: New.
2362
2363 2004-08-09  Paolo Carlini  <pcarlini@suse.de>
2364
2365         * include/bits/stl_bvector.h: Trivial formatting fixes.
2366
2367 2004-08-09  Paolo Carlini  <pcarlini@suse.de>
2368
2369         * src/ios.cc (ios_base::_M_grow_words): Uglify the names.
2370
2371 2004-08-07  Jonathan Wakely  <redi@gcc.gnu.org>
2372             Paolo Carlini  <pcarlini@suse.de>
2373
2374         * src/debug.cc (_Error_formatter::_M_print_string): In order
2375         to print individual words from __string, _M_format_word can't
2376         be called since may be just sprintf, thus ignoring completely
2377         __n: instead, use memmove and append '\0' by hand.
2378
2379 2004-08-07  Paolo Carlini  <pcarlini@suse.de>
2380
2381         * config/locale/generic/c_locale.h (__convert_from_v): Don't
2382         use a default for __prec, assume __prec >= 0 and simplify.
2383         * config/locale/gnu/c_locale.h (__convert_from_v): Likewise.
2384         * include/bits/locale_facets.tcc (money_put<>::do_put(long double)):
2385         Pass format "%.*Lf" + precision == 0, equivalent to "%.0Lf".
2386
2387 2004-08-04  Phil Edwards  <phil@codesourcery.com>
2388
2389         * docs/html/configopts.html:  Emphasize that options change.
2390         * docs/html/17_intro/configury.html:  Update links.
2391
2392 2004-08-03  Paolo Carlini  <pcarlini@suse.de>
2393
2394         * include/bits/list.tcc: Trivial formatting fixes.
2395
2396 2004-08-03  Mark Mitchell  <mark@codesourcery.com>
2397
2398         * libsupc++/new_op.cc: Update comments.
2399         * libsupc++/del_op.cc: Likewise.
2400
2401 2004-08-02  Mark Mitchell  <mark@codesourcery.com>
2402
2403         * libsupc++/cxxabi.h: Make all declarations have default
2404         visibility.
2405         * libsupc++/exception: Likewise.
2406         * libsupc++/new: Likewise.
2407         * libsupc++/typeinfo: Likewise.
2408         * libsupc++/unwind-cxx.h: Likewise.
2409         * libsupc++/eh_alloc.cc (__cxa_allocate_exception): Put it into
2410         the __cxxabiv1 namespace.
2411         (__cxa_free_exception): Likewise.
2412         * libsupc++/eh_aux_runtime.cc (__cxa_bad_cast): Likewise.
2413         (__cxa_bad_typeid): Likewise.
2414         * libsupc++/eh_catch.cc (__cxa_begin_catch): Likewise.
2415         (__cxa_end_catch): Likewise.
2416         * libsupc++/eh_globals.cc (__cxa_get_globals_fast): Likewise.
2417         (__cxa_get_globals): Likewise.
2418         * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
2419         (__cxa_rethrow): Likewise.
2420         * libsupc++/pure.cc (__cxa_pure_virtual): Likewise.
2421         * libsupc++/eh_type.cc: Include <cxxabi.h>.
2422
2423         * Makefile.am (hosted_source): Add libmath and testsuite.
2424         (SUBDIRS): Remove them.
2425         * acinclude.m4: (GLIBCXX_ENABLED_HOSTED): Default to freestanding
2426         on arm*-*-symbianelf*.
2427         * crossconfig.m4: Add arm*-*-symbianelf* support.
2428         * include/c_std/std/std_cstdlib.h (stdlib.h): Do not include it
2429         when freestanding.  Do not bring names into std:: namespace with
2430         "using" when freestanding.  Declare required functions and macros
2431         when freestanding.
2432         * libsupc++/Makefile.am (c_sources): Do not include cp-demangle.c
2433         when freestanding.
2434         * libsupc++/del_op.cc: Declare "free" only when freestanding.
2435         * libsupc++/eh_alloc.cc (cstring): Include it only when hosted.
2436         (malloc): Declare when freestanding.
2437         (free): Likewise.
2438         (memset): Likewise.
2439         (__cxa_allocate_exception): Call malloc, not std::malloc.  Likewise
2440         for memset.
2441         (__cxa_free_exception): Likewise for free.
2442         * libsupc++/new_op.cc: Declare "malloc" when freestanding.
2443         * libsupc++/pure.cc (writestr): Define to nothing when
2444         freestanding.
2445         * libsupc++/vterminate.cc: Do not define anything when
2446         freestanding.
2447         * Makefile.in: Regenerated.
2448         * aclocal.m4: Likewise.
2449         * configure: Likewise.
2450         * include/Makefile.in: Likewise.
2451         * libmath/Makefile.in: Likewise.
2452         * libsupc++/Makefile.in: Likewise.
2453         * po/Makefile.in: Likewise.
2454         * src/Makefile.in: Likewise.
2455         * testsuite/Makefile.in: Likewise.
2456
2457 2004-08-01  Matt Austern  <austern@apple.com>
2458
2459         PR libstdc++/16844
2460         * include/bits/stl_list.h (_M_create_node): Remove unused
2461         zero-argument version.
2462         * include/ext/slist (_M_create_node): Pass two arguments to
2463         allocator's construct() member function.
2464         * testsuite/23_containers/deque/explicit_instantiation.cc: New.
2465         * testsuite/23_containers/list/explicit_instantiation.cc: New.
2466         * testsuite/23_containers/vector/explicit_instantiation.cc: New.
2467         * testsuite/23_containers/map/explicit_instantiation.cc: New.
2468         * testsuite/23_containers/set/explicit_instantiation.cc: New.
2469         * testsuite/23_containers/multimap/explicit_instantiation.cc: New.
2470         * testsuite/23_containers/multiset/explicit_instantiation.cc: New.
2471         * testsuite/ext/hash_set_explicit_instantiation.cc: New.
2472         * testsuite/ext/slist_explicit_instantiation.cc: New.
2473
2474 2004-07-30  Paolo Carlini  <pcarlini@suse.de>
2475
2476         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
2477         num_get<>::_M_extract_int): In the main parsing loop delay the
2478         life of __q to the actual use point.
2479
2480 2004-07-29  Paolo Carlini  <pcarlini@suse.de>
2481
2482         PR libstdc++/14220
2483         * include/bits/locale_facets.tcc (num_put<>::_M_insert_float):
2484         Don't clip the precision passed down to __convert_from_v:
2485         22.2.2.2.2 nowhere says so.
2486         * testsuite/22_locale/num_put/put/char/14220.cc: New.
2487         * testsuite/22_locale/num_put/put/wchar_t/14220.c: Likewise.
2488
2489 2004-07-29  Paolo Carlini  <pcarlini@suse.de>
2490
2491         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 31.
2492
2493 2004-07-29  Paolo Carlini  <pcarlini@suse.de>
2494             Petur Runolfsson  <peturr02@ru.is>
2495
2496         PR libstdc++/12658 (continued)
2497         * src/locale_init.cc (locale::locale, locale::global): Use
2498         a single locale_mutex instead of two separate mutexes.
2499
2500 2004-07-29  Paolo Carlini  <pcarlini@suse.de>
2501
2502         PR libstdc++/16813
2503         * include/debug/map.h (insert(_InputIterator, _InputIterator)):
2504         Fix typo.
2505         * testsuite/23_containers/map/insert/16813.cc: New.
2506
2507 2004-07-29  Phil Edwards  <phil@codesourcery.com>
2508
2509         * docs/html/faq/index.html:  Update version references.  Make
2510         clear that code from SGI has diverged greatly.  Remove references
2511         to library snapshots and what's-new sections.
2512         * docs/html/faq/index.txt:  Regenerate.
2513
2514 2004-07-28  Matt Austern  <austern@apple.com>
2515
2516         * include/bits/stl_construct.h (_Destroy): New three-argument
2517         overload that takes an allocator argument.  Another inline
2518         three-argument overload that takes std::allocator and dispatches
2519         to the two-argument version.
2520         * include/bits/stl_uninitialized.h (__uninitialized_fill_n_aux):
2521         Change return type to void to match uninitialized_fill_n.
2522         (__uninitialized_copy_a_): New function.  Like uninitialized_copy
2523         except that it takes an allocator and uses it for construct and
2524         destroy.  If the allocator is std::allocator, dispatches to
2525         uninitialized_copy.
2526         (__uninitialized_fill_a): Likewise.
2527         (__uninitialized_fill_n_a): Likewise.
2528         (__uninitialized_copy_copy): Give it an allocator argument.
2529         (__uninitialized_fill_copy): Likewise.
2530         (__uninitialized_copy_fill): Likewise.
2531         * include/bits/deque.tcc: Use new forms defined in stl_construct.h
2532         and stl_uninitialized.h.  Replace use of single-argument _Construct
2533         and _Destroy with use of allocator's construct and destroy methods.
2534         * include/bits/list.tcc: Likewise.
2535         * include/bits/stl_deque.h: Likewise.
2536         * include/bits/stl_list.h: Likewise.
2537         * include/bits/stl_tree.h: Likewise.
2538         * include/bits/stl_vector.h: Likewise.
2539         * include/bits/vector.tcc: Likewise.
2540         * include/ext/hashtable.h: Use rebind so that allocator_type
2541         has correct type for a container's allocator.  Replace use of
2542         single-argument _Construct and _Destroy with use of allocator's
2543         construct and destroy methods.
2544         * include/ext/memory (__uninitialized_copy_n_a): New function.
2545         Like uninitialized_copy_n except that it takes an extra parameter,
2546         an allocator, and uses it for construct and destroy operations.
2547         * include/ext/rope: Use new forms defined in stl_construct.h,
2548         stl_uninitialized.h, and ext/memory.  Replace use of single-argument
2549         _Construct and _Destroy with allocator construct and destroy methods.
2550         * include/ext/ropeimpl.h: Likewise.
2551         * include/ext/slist.h: Likewise.
2552         * testsuite/testsuite_allocator.h (check_construct_destroy): New.
2553         * testsuite/testsuite_allocator.cc (check_construct_destroy): New.
2554         * testsuite/23_containers/deque/check_construct_destroy.cc: New.
2555         * testsuite/23_containers/list/check_construct_destroy.cc: New.
2556         * testsuite/23_containers/set/check_construct_destroy.cc: New.
2557         * testsuite/23_containers/vector/check_construct_destroy.cc: New.
2558         * testsuite/ext/hash_check_construct_destroy.cc: New.
2559         * testsuite/ext/slist_check_construct_destroy.cc: New.
2560
2561 2004-07-28  Alexandre Oliva  <aoliva@redhat.com>
2562
2563         2003-10-01  Eric Christopher  <echristo@redhat.com>
2564         * config/cpu/sh/atomicity.h (__exchange_and_add): Remove 'm'
2565         constraint.
2566         2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
2567         * config/cpu/sh/atomicity.h: New.  Use movli and movco on SH4a.
2568
2569 2004-07-23  Benjamin Kosnik  <bkoz@redhat.com>
2570
2571         PR libstdc++/16678
2572         * include/bits/locale_facets.tcc: Fix for -Werror.
2573
2574 2004-07-23  Jonathan Wakely  <redi@gcc.gnu.org>
2575
2576         * docs/html/debug.html: Say debug mode only available since 3.4.0.
2577
2578 2004-07-21  Benjamin Kosnik  <bkoz@redhat.com>
2579
2580         * docs/doxygen/mainpage.html: Clarify links.
2581         * docs/doxygen/stdheader.cc: Add files.
2582         * docs/doxygen/style.css: Remove bolds, add h2, h3 styles.
2583         * docs/doxygen/user.cfg.in: New options, wrap.
2584
2585 2004-07-20  Danny Smith  <dannysmith@users.sourceforge.net>
2586
2587         * include/c_std/std_cwchar.h (wcsstr): Correct signature.
2588
2589 2004-07-19  Benjamin Kosnik  <bkoz@redhat.com>
2590
2591         PR libstdc++/15488
2592         * testsuite/lib/libstdc++.exp (v3-copy-files): Revert.
2593
2594 2004-07-17  Richard Sandiford  <rsandifo@redhat.com>
2595
2596         PR bootstrap/16469
2597         * scripts/create_testsuite_files: Pass -print to find.
2598
2599 2004-07-15  Paolo Carlini  <pcarlini@suse.de>
2600
2601         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 30.
2602         * docs/html/ext/howto.html: Tweak entries for DRs 167/253/389/402.
2603
2604 2004-07-15  Jakub Jelinek  <jakub@redhat.com>
2605
2606         PR libstdc++/14697
2607         * acinclude.m4 (glibcxx_shared_libgcc): Correct
2608         glibcxx_shared_libgcc test for multilibs.
2609         * configure: Rebuilt.
2610
2611 2004-07-14  Paolo Carlini  <pcarlini@suse.de>
2612
2613         PR libstdc++/16505
2614         * include/bits/stl_uninitialized.h (uninitialized_fill_n): Fix
2615         the signature to return void, as per 20.4.4.3.
2616         * include/bits/stl_vector.h (vector::vector(size_type,
2617         const value_type&, const allocator_type&), vector::vector(size_type),
2618         vector::_M_initialize_dispatch): Adjust callers.
2619         * include/bits/vector.tcc (vector<>::_M_fill_assign,
2620         vector<>::_M_fill_insert): Likewise.
2621         * testsuite/20_util/memory/16505.cc: New.
2622
2623 2004-07-14  Paolo Carlini  <pcarlini@suse.de>
2624
2625         * testsuite/22_locale/locale/cons/12658_thread-1.cc,
2626         12658_thread-2.cc: Use __gnu_test::try_named_locale.
2627
2628 2004-07-13  Benjamin Kosnik  <bkoz@redhat.com>
2629
2630         * docs/html/ext/mt_allocator.html: Add docs for _Tune.
2631         * include/ext/mt_allocator.h (__mt_alloc::_S_get_options): Make public.
2632         (__mt_alloc::_S_set_options): Same.
2633         Add to comments.
2634
2635 2004-07-13  Benjamin Kosnik  <bkoz@redhat.com>
2636
2637         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add allocator defaults
2638         for linux.
2639         * configure: Regenerated.
2640
2641 2004-07-13  Paolo Carlini  <pcarlini@suse.de>
2642
2643         * testsuite/22_locale/locale/cons/12658_thread.cc: Move/rename
2644         to 12658_thread-1.cc and xfail.
2645         * testsuite/22_locale/locale/cons/12658_thread-2.c: New, much
2646         simpler version of 12658_thread-1.cc, still failing on 3_3 and
2647         not failing on 3_4/mainline - both on single processor and
2648         multiprocessor machines.
2649
2650 2004-07-12  Benjamin Kosnik  <bkoz@redhat.com>
2651
2652         * docs/html/abi.html: Remove non-public qualification.
2653
2654         * include/bits/concurrence.h: Tweak comments.
2655
2656 2004-07-11  Paolo Carlini  <pcarlini@suse.de>
2657
2658         Add wchar_t counterparts of the basic_streambbuf<char> tests.
2659         * testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: New.
2660         * testsuite/27_io/basic_streambuf/imbue/wchar_t/1.cc, 9322.cc:
2661         Likewise.
2662         * testsuite/27_io/basic_streambuf/in_avail/wchar_t/9701-3.cc: Likewise.
2663         * testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc, 2.cc,
2664         3599.cc: Likewise.
2665         * testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc: Likewise.
2666         * testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise.
2667         * testsuite/27_io/basic_streambuf/sputbackc/wchar_t/9538.cc: Likewise.
2668         * testsuite/27_io/basic_streambuf/sputc/wchar_t/1057.cc: Likewise.
2669         * testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc, 1057.cc:
2670         Likewise.
2671         * testsuite/27_io/basic_streambuf/sync/wchar_t/1057.cc: Likewise.
2672
2673         * testsuite/27_io/basic_streambuf/imbue/char/1.cc, 9322.cc: Minor
2674         tweaks.
2675         * testsuite/27_io/basic_streambuf/overflow/char/2.cc, 3599.cc:
2676         Likewise.
2677         * testsuite/27_io/basic_streambuf/sputn/char/1057.cc: Likewise.
2678         * testsuite/27_io/basic_streambuf/sync/char/1057.cc: Likewise.
2679
2680 2004-07-11  Phil Edwards  <phil@codesourcery.com>
2681
2682         * acinclude.m4:  Cosmetic shell syntax fixes.
2683         * configure.ac:  Bring comment inline with reality.
2684         * configure.host:  Both of the above.  Move 'arm' case to right
2685         place in host_cpu switch.
2686         * aclocal.m4, configure:  Regenerate.
2687
2688 2004-07-09  Paolo Carlini  <pcarlini@suse.de>
2689
2690         Add wchar_t counterparts of the basic_stringbuf<char> tests.
2691         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc, 9322.cc: New.
2692         * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Likewise.
2693         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc, 2.cc,
2694         3599.cc, 9988.cc: Likewise.
2695         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc, 9825.cc:
2696         Likewise.
2697         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc, 2.cc:
2698         Likewise.
2699         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc, 2.cc, 3.cc:
2700         Likewise.
2701         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc, 2.cc, 3.cc:
2702         Likewise.
2703         * testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Likewise.
2704         * testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Likewise.
2705         * testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Likewise.
2706         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc, 9425.cc:
2707         Likewise.
2708         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc, 1057.cc,
2709         9404-1.cc: Likewise.
2710         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc, 1057.cc,
2711         9404-2.cc: Likewise.
2712         * testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc, 2.cc, 3.cc,
2713         3955.cc: Likewise.
2714         * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Likewise.
2715         * testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc: Likewise.
2716
2717 2004-07-08  Paolo Carlini  <pcarlini@suse.de>
2718
2719         * include/bits/gslice.h: Trivial formatting fixes.
2720         * include/bits/gslice_array.h: Likewise.
2721         * include/bits/indirect_array.h: Likewise.
2722         * include/bits/mask_array.h: Likewise.
2723         * include/bits/slice_array.h: Likewise.
2724         * include/bits/valarray_after.h: Likewise.
2725         * include/bits/valarray_array.h: Likewise.
2726         * include/bits/valarray_before.h: Likewise.
2727         * include/std/std_valarray.h: Likewise.
2728
2729 2004-07-08  Benjamin Kosnik  <bkoz@redhat.com>
2730
2731         PR c++/16169
2732         * include/bits/basic_string.h (basic_string::operator=): Revert.
2733
2734 2004-07-07  Benjamin Kosnik  <bkoz@redhat.com>
2735
2736         * configure.ac (libtool_VERSION): To 6:2:0.
2737         * configure: Regenerated.
2738
2739         * testsuite/testsuite_abi.cc (check_version): Add 3.4.2.
2740
2741 2004-07-07  Aaron W. LaFramboise  <aaronraolete36@aaronwl.com>
2742
2743         PR libstdc++/16411
2744         * config/linker-map.gnu: Add stdio_sync_filebuf::file exports.
2745
2746 2004-07-07  Benjamin Kosnik  <bkoz@redhat.com>
2747
2748         * docs/html/abi.html: Updates for 3.4.1 release. Add summary of
2749         -Weffc++ issues.
2750
2751 2004-07-07  Paolo Carlini  <pcarlini@suse.de>
2752
2753         PR libstdc++/16401
2754         * include/bits/sstream.tcc (overflow): When reallocating _M_string
2755         use an exponential grow policy.
2756         * testsuite/27_io/basic_stringbuf/overflow/char/1.cc: New.
2757         * testsuite/performance/27_io/stringbuf_overflow.cc: New.
2758
2759 2004-07-06  Anssi Hannula  <anssi.hannula@mbnet.fi>
2760
2761         PR libstdc++/15928
2762         * crossconfig.m4: Add in bits for djgpp.
2763         * configure: Regenerate.
2764
2765 2004-07-05  Jonathan Wakely  <redi@gcc.gnu.org>
2766
2767         * testsuite/23_containers/{set,multiset}/14340.cc: Fix typos in
2768         instantiation of set and multiset (functor param given as int).
2769
2770 2004-07-04  Paolo Carlini  <pcarlini@suse.de>
2771
2772         * include/bits/basic_string.h: Trivial formatting fixes and/or
2773         const-ification of some variables.
2774         * include/bits/deque.tcc: Likewise.
2775         * include/bits/stl_algobase.h: Likewise.
2776         * include/bits/stl_bvector.h: Likewise.
2777         * include/bits/stl_construct.h: Likewise.
2778         * include/bits/stl_deque.h: Likewise.
2779         * include/bits/stl_pair.h: Likewise.
2780         * include/bits/stl_vector.h: Likewise.
2781         * include/bits/vector.tcc: Likewise.
2782
2783 2004-07-04  Paolo Carlini  <pcarlini@suse.de>
2784
2785         * testsuite/25_algorithms/copy/1.cc: Add instantiations for
2786         systems with no COMDAT or weak support.
2787         * testsuite/25_algorithms/copy/2.cc: Likewise.
2788         * testsuite/25_algorithms/copy/3.cc: Likewise.
2789         * testsuite/25_algorithms/copy/4.cc: Likewise.
2790
2791 2004-07-03  Paul Brook  <paul@codesourcery.com>
2792
2793         * configure.ac: Set ABI_TWEAKS_SRCDIR.
2794         * configure.host: Set abi_tweaks_dir.  Check for atomicity.h when
2795         setting atomicity_dir.  Override type_cpu for arm based targets.
2796         * include/Makefile.am (host_headers): Add cxxabi_tweaks.h.
2797         * libsupc++/cxxabi.h: Include bits/cxxabi.h. Don't declare __guard.
2798         * libsupc++/guard.cc: Use definitions from cxxabi_tweaks.h.
2799         * libsupc++/vec.cc: Ditto.
2800         * config/cpu/arm/cxxabi_tweaks.h: New file.
2801         * config/cpu/generic/cxxabi_tweaks.h: New file.
2802         * */Makefile.in: Regenerate.
2803         * configure: Regenerate.
2804
2805 2004-07-02  Paolo Carlini  <pcarlini@suse.de>
2806
2807         * include/bits/type_traits.h (_Is_normal_iterator): Move...
2808         * include/bits/cpp_type_traits.h: ... here, renamed to
2809         __is_normal_iterator and consistent with the other traits.
2810         * include/bits/stl_algobase.h (__copy_ni1, __copy_ni2): Convert
2811         to the struct __copy_normal and three specializations.
2812         (__copy_backward_output_normal_iterator,
2813         __copy_backward_input_normal_iterator): Likewise, convert to
2814         the struct __copy_backward_normal and three specializations.
2815         (copy, copy_backward): Use the latter.
2816         (__copy_aux, __copy_backward_aux): Very minor tweaks.
2817
2818 2004-07-01  Paolo Carlini  <pcarlini@suse.de>
2819
2820         * include/bits/stl_algobase.h (__copy_trivial): Remove.
2821         (__copy_aux2): Rewrite as __copy_aux to use __is_pointer,
2822         __is_trivially_copyable, __are_same and __copy::copy.
2823         (__copy): Rewrite as a class template and two specializations.
2824         (__copy_ni2): Simplify, just call __copy_aux.
2825
2826         * include/bits/stl_algobase.h (__copy_backward_aux): Add __are_same
2827         check.
2828         * testsuite/25_algorithms/copy/1.cc, 2.cc, 3.cc, 4.cc: Test also
2829         for destination value type != source value type.
2830
2831 2004-07-01  Benjamin Kosnik  <bkoz@redhat.com>
2832             Per Bothner  <per@bothner.com>
2833             Mohan Embar  <gnustuff@thisiscool.com>
2834
2835         PR libstdc++/16248
2836         * include/bits/concurrence.h (__glibcxx_mutex_type): New.
2837         (__glibcxx_mutex): Encapsulate mutex init function into type for
2838         threaded configurations without __GTHREAD_MUTEX_INIT.
2839         (lock::lock): Make device member a reference.
2840         (lock::~lock): Same.
2841         * include/ext/pool_allocator.h (__pool_base::_M_get_mutex): Change
2842         to mutex_type.
2843         * src/allocator.cc: Same.
2844
2845 2004-06-30  Brad Spencer  <spencer@infointeractive.com>
2846
2847         * include/ext/mt_allocator.h: Handle allocations at static
2848         initialization that happen before _S_options is (automatically)
2849         constructed; set _S_init even if _M_force_new is true.
2850
2851 2004-06-30  Benjamin Kosnik  <bkoz@redhat.com>
2852
2853         * config/linker-map.gnu: Revert new exports.
2854
2855 2004-06-30  Benjamin Kosnik  <bkoz@redhat.com>
2856             Stuart Anderson  <anderson@netsweng.com>
2857
2858         * config/linker-map.gnu: Add destructor exports for abstract base
2859         classes to conform to LSB.
2860
2861 2004-06-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2862             Paolo Carlini  <pcarlini@suse.de>
2863
2864         * include/bits/cpp_type_traits.h: Add __is_pointer and
2865         __is_trivially_copyable.
2866         * include/bits/stl_algobase.h (fill, fill_n): Slightly
2867         tweak to use the latter.
2868         (__copy_backward_dispatch): Remove.
2869         (__copy_backward_aux): Rewrite to use __is_pointer and
2870         __is_trivially_copyable and __copy_backward::copy_b.
2871         (__copy_backward): Rewrite as a class template and two
2872         specializations.
2873
2874 2004-06-30  Paolo Carlini  <pcarlini@suse.de>
2875
2876         * testsuite/25_algorithms/copy.cc: Move to...
2877         * testsuite/25_algorithms/copy/1.cc: ... here, extend.
2878         * testsuite/25_algorithms/copy/2.cc: New.
2879         * testsuite/25_algorithms/copy/3.cc: New.
2880         * testsuite/25_algorithms/copy/4.cc: New.
2881
2882 2004-06-29  Paul Brook  <paul@codesourcery.com>
2883
2884         * libsupc++/vec.cc (__cxa_vec_new2, __cxa_vec_new3): Store the
2885         element size in the cookie.
2886
2887 2004-06-28  Paolo Carlini  <pcarlini@suse.de>
2888
2889         * include/bits/cpp_type_traits.h: Move the additions to
2890         namespace __gnu_internal outside of namespace std; trivial
2891         formatting fixes.
2892
2893 2004-06-28  Benjamin Kosnik  <bkoz@redhat.com>
2894
2895         * include/debug/safe_base.h (__gnu_debug::_Safe_sequence_base):
2896         Revert -Weffc++ changes that defined copy ctory and or assignment
2897         operator.
2898         * libsupc++/tinfo.cc (__upcast_result): Same.
2899
2900 2004-06-28  Paolo Carlini  <pcarlini@suse.de>
2901
2902         * src/localename.cc (locale::_Impl::_Impl): Slightly improve
2903         the algorithm used to name the categories.
2904
2905 2004-06-28  Paolo Bonzini  <bonzini@gnu.org>
2906
2907         * include/Makefile.am: Give a .gch extension to
2908         the PCH files, not only to the directory.
2909         * include/Makefile.in: Regenerate.
2910
2911 2004-06-28  Paolo Carlini  <pcarlini@suse.de>
2912
2913         * config/locale/gnu/monetary_members.cc
2914         (moneypunct<wchar_t>::_M_initialize_moneypunct): Clean up
2915         assignments of _M_decimal_point and _M_thousands_sep.
2916
2917 2004-06-27  Paolo Carlini  <pcarlini@suse.de>
2918
2919         * docs/html/17_intro/contribute.html: Update some links.
2920         * docs/html/17_intro/porting-howto.html: Likewise.
2921         * docs/html/17_intro/porting-howto.xml: Likewise.
2922         * docs/html/18_support/howto.html: Likewise.
2923         * docs/html/21_strings/howto.html: Likewise.
2924         * docs/html/27_io/howto.html: Likewise.
2925         * docs/html/configopts.html: Likewise.
2926         * docs/html/ext/howto.html: Likewise.
2927         * docs/html/faq/index.html: Likewise.
2928         * docs/html/install.html: Don't mention 2.x compilers.
2929
2930 2004-06-27  Paolo Carlini  <pcarlini@suse.de>
2931
2932         * include/ext/rope: Trivial formatting fixes.
2933         * include/ext/ropeimpl.h: Likewise.
2934
2935 2004-06-26  Paolo Carlini  <pcarlini@suse.de>
2936
2937         PR libstdc++/16210
2938         * acinclude.m4 (GLIBCXX_ENABLE_LONG_LONG): Do not check for the
2939         availability of strto(u)ll, not used anymore in the iostreams.
2940         * configure: Regenerate.
2941
2942 2004-06-25  Benjamin Kosnik  <bkoz@redhat.com>
2943
2944         PR libstdc++/16182
2945         * linkage.m4 (GLIBCXX_CHECK_BUILTIN_MATH_DEC): Revert to
2946         AC_DEFINE_UNQUOTED.
2947         * configure: Regenerate.
2948
2949 2004-06-25  Paul Brook  <paul@codesourcery.com>
2950
2951         * libsupc++/cxxabi.h: Define __ARM_EABI__
2952         (__guard): Use it.
2953         * libsupc++/guard.h (__cxa_guard_acquire, __cxa_guard_release): Ditto.
2954
2955 2004-06-25  Paul Brook  <paul@codesourcery.com>
2956
2957         * include/bits/concurrence.h: Still create mutex object when
2958         single-threaded.
2959
2960 2004-06-25  Paolo Carlini  <pcarlini@suse.de>
2961
2962         * include/bits/stl_algobase.h (fill, fill_n): Revert last
2963         change: actually we need to copy construct an object of type
2964         _Tp, not of type iterator_traits<>::value_type, therefore the
2965         code is ok.
2966
2967 2004-06-25  Paolo Carlini  <pcarlini@suse.de>
2968
2969         * include/bits/stl_algobase.h (fill, fill_n): Tighten the
2970         dispatch: use iterator_traits<>::value_type, not _Tp.
2971
2972 2004-06-25  Paolo Carlini  <pcarlini@suse.de>
2973
2974         * testsuite/25_algorithms/fill/1.cc: Tweak instantiations.
2975         * testsuite/25_algorithms/fill/2.cc: Likewise.
2976
2977 2004-06-25  Dan Nicolaescu  <dann@ics.uci.edu>
2978             Paolo Carlini  <pcarlini@suse.de>
2979
2980         * include/bits/stl_algobase.h (__fill, __fill_n): New helpers
2981         for fill and fill_n, respectively: when copying is cheap, use a
2982         temporary to avoid a memory read in each iteration.
2983
2984 2004-06-25  Paolo Carlini  <pcarlini@suse.de>
2985
2986         * testsuite/25_algorithms/fill/1.cc: New.
2987         * testsuite/25_algorithms/fill/2.cc: Likewise.
2988
2989 2004-06-25  Benjamin Kosnik  <bkoz@redhat.com>
2990
2991         * include/debug/formatter.h (__gnu_debug::_Error_formatter):
2992         Remove copy constructor and assignment operator.
2993
2994 2004-06-24  Benjamin Kosnik  <bkoz@redhat.com>
2995
2996         * include/bits/concurrence.h (__gnu_cxx::lock): New.
2997         * include/ext/pool_allocator.h (__pool_base::_Lock::_S_lock): Remove.
2998         (__pool_base::_M_get_mutex): New.
2999         * include/bits/allocator.h: Tweak.
3000         * src/allocator.cc (__pool_base::_M_get_free_list): Correct offset.
3001         * config/linker-map.gnu: Remove __pool_base::_Lock::_S_lock.
3002         * include/bits/stl_threads.h: Remove.
3003         * include/Makefile.am: Also here.
3004         * include/Makefile.in: Regenerate.
3005
3006         * src/locale_init.cc: Use __gnu_cxx::lock.
3007
3008         * src/allocator.cc: Move all instantiations...
3009         * src/allocator-inst.cc: ...here.
3010
3011 2004-06-23  Andrew Pinski  <apinski@apple.com>
3012
3013         * linkage.m4: Remove check for libmx.
3014         * configure: Regenerate.
3015
3016 2004-06-23  Paolo Carlini  <pcarlini@suse.de>
3017
3018         PR libstdc++/16154
3019         * include/bits/boost_concept_check.h (struct _TrivialIteratorConcept):
3020         Don't require the _DefaultConstructibleConcept.
3021         (struct _ForwardIteratorConcept): Require it here.
3022
3023 2004-06-22  Alexandre Oliva  <aoliva@redhat.com>
3024
3025         * include/bits/istream.tcc (getline): Make sure arguments passed
3026         to min/max have the same type.
3027         * include/bits/locale_facets.tcc (__verify_grouping): Likewise.
3028         * include/bits/stl_deque.h (_Deque_base::_Deque_base): Likewise.
3029
3030 2004-06-22  Benjamin Kosnik  <bkoz@redhat.com>
3031
3032         * docs/html/abi.html: Update links.
3033
3034 2004-06-22  Paolo Carlini  <pcarlini@suse.de>
3035
3036         * testsuite/26_numerics/complex_inserters_extractors.cc,
3037         complex_value.cc, buggy_complex.cc: Move to...
3038         * testsuite/26_numerics/complex/: ... here.
3039         * testsuite/26_numerics/c99_classification_macros_c++.cc,
3040         c99_classification_macros_c.cc, c_math.cc, c_math_dynamic.cc,
3041         fabs_inline.cc: Move to...
3042         * testsuite/26_numerics/cmath/: ... here.
3043         * testsuite/26_numerics/binary_closure.cc, slice.cc,
3044         slice_array_assignment.cc, valarray.cc, valarray_const_bracket.cc,
3045         valarray_name_lookup.cc, valarray_operators.cc,
3046         valarray_subset_assignment.cc: Move to...
3047         * testsuite/26_numerics/valarray/: ... here (new dir).
3048         * testsuite/26_numerics/sum_diff.cc: Move to...
3049         * testsuite/26_numerics/numeric/: ... here (new dir).
3050
3051 2004-06-22  Paolo Carlini  <pcarlini@suse.de>
3052
3053         * include/std/std_istream.h (ignore(streamsize __n = 1,
3054         int_type __delim = traits_type::eof())): Split into...
3055         (ignore(), ignore(streamsize __n), ignore(streamsize __n,
3056         int_type __delim)): The first two can be much more simpler
3057         and efficient than the fully general case; also, the last
3058         two can take advantage of the same mechanism already used
3059         for getline.
3060         * include/bits/istream.tcc (ignore(streamsize __n = 1,
3061         int_type __delim = traits_type::eof()): Remove.
3062         (ignore(), ignore(streamsize __n), ignore(streamsize __n,
3063         int_type __delim)): New.
3064
3065 2004-06-21  Loren J. Rittle  <ljrittle@acm.org>
3066
3067         * config/linker-map.gnu: Use wildcards for
3068         __basic_file::sys_open(FILE*, _Ios_Openmode).
3069
3070 2004-06-20  Paolo Carlini  <pcarlini@suse.de>
3071
3072         * testsuite/27_io/basic_istream/ignore/char/3.cc: New.
3073
3074 2004-06-18  Paolo Carlini  <pcarlini@suse.de>
3075
3076         * include/ext/mt_allocator (__mt_alloc<>::_Tune): Add _M_align,
3077         the alignment requested.
3078         (__mt_alloc<>::_Tune::_Tune): Tweak consistently.
3079         (__mt_alloc<>::allocate): Use it instead of sizeof(_Block_record).
3080         (__mt_alloc<>::deallocate): Likewise.
3081
3082 2004-06-18  Paolo Carlini  <pcarlini@suse.de>
3083
3084         PR libstdc++/16020
3085         * include/debug/safe_base.h
3086         (_Safe_sequence_base::_Safe_sequence_base(const _Safe_sequence_base&),
3087         _Safe_sequence_base::operator=): Provide definitions.
3088         * testsuite/23_containers/bitset/cons/16020.cc: New.
3089
3090 2004-06-18  Benjamin Kosnik  <bkoz@redhat.com>
3091
3092         * include/ext/pool_allocator.h: Qualify __throw_bad_alloc.
3093         (__pool_base): Remove unused template parameter.  Add
3094         protected. Move lock data into __pool_base::_Lock. Remove static
3095         on member functions.
3096         (__pool_base::_M_get_free_list): New.
3097         (__pool_alloc): Move _S_force new here.
3098         * src/allocator.cc: Move out of line __pool_base definitions here.
3099         * config/linker-map.gnu: Export bits from __pool_base.
3100
3101 2004-06-18  Paolo Carlini  <pcarlini@suse.de>
3102
3103         * config/locale/gnu/numeric_members.cc
3104         (numpunct<wchar_t>::_M_initialize_numpunct): Clean up
3105         assignments of _M_decimal_point and _M_thousands_sep.
3106         * config/locale/gnu/time_members.cc
3107         (__timepunct<wchar_t>::_M_initialize_timepunct): Clean up
3108         and reformat assignments of date and time fields.
3109
3110 2004-06-16  Paolo Carlini  <pcarlini@suse.de>
3111
3112         * include/ext/rope (rope(_CharT, const allocator_type&)): Fix
3113         to use _Data_allocate.
3114         * include/ext/ropeimpl.h (rope<>::_S_leaf_concat_char_iter): Likewise.
3115         (rope<>::_S_substring): Likewise.
3116         (rope<>::rope(size_t, _CharT, const allocator_type&)): Likewise.
3117         (rope<>::c_str()): Likewise.
3118         (rope<>::replace_with_c_str()): Likewise.
3119
3120         * include/ext/ropeimpl.h (_Rope_iterator_base<>::_S_setbuf):
3121         Correctly qualify _S_leaf, _S_function, etc., with _Rope_constants::,
3122         not _RopeRep.
3123         (_Rope_iterator_base<>::_S_setcache): Likewise.
3124         (_Rope_iterator_base<>::_S_setcache_for_incr): Likewise.
3125         (rope<>::_S_substring): Likewise.
3126         (rope<>::_S_dump): Likewise.
3127         (rope<>::_S_fetch_ptr): Likewise.
3128         (rope<>::_S_compare): Likewise.
3129         (rope<>::replace_with_c_str()): Likewise.
3130
3131         * testsuite/ext/rope.cc: Rename to testsuite/ext/rope/1.cc.
3132         * testsuite/ext/rope/2.cc: New.
3133
3134 2004-06-16  Paolo Carlini  <pcarlini@suse.de>
3135             Matt Austern  <austern@apple.com>
3136
3137         * testsuite/ext/rope/3.cc: New.
3138
3139 2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
3140
3141         * acinclude.m4: Remove useless multilib configury.
3142         * Makefile.am: Remove useless multilib rules.
3143         * aclocal.m4: Regenerate.
3144         * Makefile.in: Regenerate.
3145         * configure: Regenerate.
3146
3147 2004-06-15  Paolo Carlini  <pcarlini@suse.de>
3148
3149         * include/ext/hashtable.h: Trivial formatting fixes.
3150         * include/ext/rb_tree: Likewise.
3151
3152 2004-06-14  Paolo Carlini  <pcarlini@suse.de>
3153
3154         * include/ext/hash_map: Trivial formatting fixes.
3155         * include/ext/hash_set: Likewise.
3156         * include/ext/memory: Likewise.
3157         * include/ext/numeric: Likewise.
3158
3159 2004-06-14  Benjamin Kosnik  <bkoz@redhat.com>
3160
3161         * Makefile.in: Regenerate with automake 1.8.5.
3162         * aclocal.m4: Same.
3163         * include/Makefile.in: Same.
3164         * libmath/Makefile.in: Same.
3165         * libsupc++/Makefile.in: Same.
3166         * po/Makefile.in: Same.
3167         * src/Makefile.in: Same.
3168         * testsuite/Makefile.in: Same.
3169
3170 2004-06-14  Paolo Carlini  <pcarlini@suse.de>
3171
3172         * include/ext/slist: Trivial formatting fixes.
3173
3174 2004-06-14  Paolo Carlini  <pcarlini@suse.de>
3175
3176         * include/bits/locale_facets.tcc (time_get<>::_M_extract_name):
3177         Don't use the 'magic number' 10 in the computation of __minlen;
3178         never access __name past __minlen; in the loop over __i3, don't
3179         decrease __nmatches and increase __i3 at once, only either of
3180         the two; tidy.
3181
3182 2004-06-13  Paolo Carlini  <pcarlini@suse.de>
3183
3184         * include/bits/locale_facets.tcc (time_get<>::do_get_time,
3185         time_get<>::do_get_date): Use only once _M_extract_via_format,
3186         instead of going through "%X"/"%x" and calling it two times
3187         (+ using widen).
3188
3189 2004-06-12  Paolo Carlini  <pcarlini@suse.de>
3190
3191         * include/ext/algorithm: Trivial formatting fixes.
3192         * include/ext/functional: Likewise.
3193         * include/ext/hash_fun.h: Likewise.
3194         * include/ext/iterator: Likewise.
3195
3196 2004-06-12  Paolo Carlini  <pcarlini@suse.de>
3197
3198         * include/bits/basic_string.tcc (find(const _CharT*, size_type,
3199         size_type)): Reimplement using std::search.
3200         * src/string-inst.cc: Instantiate std::search for char/wchar_t.
3201
3202 2004-06-12  Dhruv Matani  <dhruvbird@gmx.net>
3203
3204         * testsuite/performance/21_strings/string_find.cc: New.
3205
3206 2004-06-10  Aaron W. LaFramboise  <aaronraolete36@aaronwl.com>
3207
3208         * include/bits/istream.tcc (istream::ignore): Fix for -Wuninitialized.
3209
3210 2004-06-10  Jan van Dijk  <jan@etpmod.phys.tue.nl>
3211
3212         * include/std/std_complex.h (sin(const complex<_Tp>& __z)): Make
3213         this function return a value.
3214
3215 2004-06-09  Paolo Carlini  <pcarlini@suse.de>
3216
3217         PR libstdc++/15775
3218         * include/bits/stl_deque.h: Consistently with stl_set.h, define
3219         pointer as allocator's pointer, likewise for reference,
3220         const_pointer, and const_reference.
3221         * include/bits/stl_list.h: Likewise.
3222         * include/bits/stl_map.h: Likewise.
3223         * include/bits/stl_multimap.h: Likewise.
3224         * include/bits/stl_vector.h: Likewise.
3225
3226 2004-06-09  Benjamin Kosnik  <bkoz@redhat.com>
3227
3228         * crossconfig.m4: Remove signbit, signbitf, signbitl.
3229         * linkage.m4: Comment LIBMATHOBJS, tweak others.  AC_DEFINES for
3230         builtin math functions instead of AC_DEFINE_UNQUOTED.
3231         * configure: Regenerate.
3232
3233 2004-06-08  Benjamin Kosnik  <bkoz@redhat.com>
3234
3235         * docs/doxygen/filter.sed: Rename _GLIBCXX_STD to std.
3236         * docs/doxygen/mainpage.html: Remove links.
3237
3238 2004-06-08  Jason Merrill  <jason@redhat.com>
3239
3240         * config/linker-map.gnu: Use wildcards for
3241         __basic_file::{xsgetn,xsputn,seekoff,xsputn_2}.
3242
3243 2004-06-08  Paolo Carlini  <pcarlini@suse.de>
3244
3245         * include/ext/pool_allocator.h: Convert to a global free-list,
3246         as per the original SGI/HP design: move the implementation
3247         details to struct __pool_base, from which __pool_alloc derives.
3248         * src/allocator.cc: Instantiate __pool_base.
3249
3250 2004-06-07  Dhruv Matani  <dhruvbird@gmx.net>
3251             Paolo Carlini  <pcarlini@suse.de>
3252
3253         * testsuite/testsuite_performance.h
3254         (resource_counter::allocated_memory): Make it return the right
3255         number of bytes requested by the allocators/application. This is
3256         the sbrk+mmaped memory.
3257
3258 2004-06-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3259
3260         * include/std/std_complex.h (log): Tidy.
3261
3262 2004-05-31  Benjamin Kosnik  <bkoz@redhat.com>
3263
3264         * config/linker-map.gnu (GLIBCXX_3.4.1): Add.
3265         * testsuite/testsuite_abi.cc: Same.
3266         * configure.ac (libtool_VERSION): Bump to 6:1:0.
3267         * configure: Regenerate.
3268         * aclocal.m4: Regenerate.
3269
3270 2004-05-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3271
3272         * include/std/std_complex.h (complex<_Tp>): Properly indent
3273         to follow C++STYLE.
3274         (complex<>::__rep): New.
3275         (__complex_abs): New.  Dispatch to built-ins.
3276         (abs): Use them.
3277         (__complex_arg): New. Dispatch to built-ins.
3278         (arg): Use it.
3279         (__complex_cos): New. Dispatch to built-ins.
3280         (cos): Use it.
3281         (__complex_cosh): New. Dispatch to built-ins.
3282         (cosh): Use it.
3283         (__complex_exp): New. Dispatch to built-ins.
3284         (exp): Use it.
3285         (__complex_log): New. Dispatch to built-ins.
3286         (log): Use it.
3287         (__complex_sin): New. Dispatch to built-ins.
3288         (sin): Use it.
3289         (__complex_sinh): New. Dispatch to built-ins.
3290         (sinh): Use it.
3291         (__complex_sqrt): New. Dispatch to built-ins.
3292         (sqrt): Use it.
3293         (__complex_tan): New. Dispatch to built-ins.
3294         (tan): Use it.
3295         (__complex_tanh): New. Dispatch to built-ins.
3296         (tanh): Use it.
3297         (__complex_pow): New. Dispatch to built-ins.
3298         (pow): Use it.
3299
3300 2004-05-29  Richard B. Kreckel  <Richard.Kreckel@Framatome-ANP.com>
3301             Benjamin Kosnik  <bkoz@redhat.com>
3302
3303         PR libstdc++/14600
3304         * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): New.
3305         * include/ext/stdio_filebuf.h (stdio_filebuf::file): New.
3306         * config/io/basic_file_stdio.cc (__basic_file::file): New.
3307         * config/io/basic_file_stdio.h: Define.
3308
3309 2004-05-27  Benjamin Kosnik  <bkoz@redhat.com>
3310
3311         PR libstdc++/15675
3312         * docs/html/documentation.html: Update doxygen links for 3.4.0.
3313
3314 2004-05-27  Jan Beulich  <jbeulich@novell.com>
3315
3316         * scripts/create_testsuite_files: Tweak.
3317
3318 2004-05-25  Benjamin Kosnik  <bkoz@redhat.com>
3319
3320         PR libstdc++/15489
3321         * scripts/create_testsuite_files: Revert xtype change, add non-GNU
3322         bits to do the same thing.
3323
3324 2004-05-24  Paolo Carlini  <pcarlini@suse.de>
3325
3326         * include/bits/istream.tcc (ignore): Correctly deal with
3327         n == numeric_limits<streamsize>::max().
3328         * testsuite/27_io/basic_istream/ignore/char/2.cc: New.
3329
3330         * include/bits/istream.tcc (basic_istream<>::getline): Prefer
3331         '_M_gcount + 1 < __n' to '--__n; _M_gcount < __n', just in case
3332         __n == numeric_limits<>::min().
3333
3334         * include/bits/istream.tcc: Minor tweaks.
3335
3336         * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
3337         Tighten.
3338         * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
3339         Likewise.
3340         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
3341         Likewise.
3342         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
3343         Likewise.
3344         * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
3345
3346 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
3347
3348         PR libstdc++/12854
3349         Fixups for -Weffc++.
3350         * include/bits/basic_string.h (basic_string::operator=): Return
3351         pointer to this instead of result of assign. Although redundant,
3352         this doesn't impact resultant codegen.
3353
3354         * include/bits/locale_facets.h (__numpunct_cache): Declare
3355         assignment opxserator and copy constructor private.
3356         (__timepunct_cache): Same.
3357         (__moneypunct_cache): Same.
3358         (collate): Use member initialization list for _M_c_locale_collate.
3359         * config/locale/gnu/messages_members.h: Same.
3360         * config/locale/gnu/time_members.h (__timepunct): Same.
3361         * src/codecvt.cc: Use member initialization list to initialize
3362         _M_c_locale_codecvt.
3363         * src/ctype.cc: Same, with _M_c_locale_ctype and _M_narrow_ok.
3364         * config/os/gnu-linux/ctype_noninline.h: Same.
3365         * src/locale.cc (_Impl): Same.
3366         * src/locale_init.cc: Same.
3367         * src/localename.cc: Same.
3368
3369         * include/bits/basic_ios.h (basic_ios): Complete member
3370         initialization list.
3371         * include/bits/istream.tcc (basic_istream::sentry): Same.
3372         * include/bits/ostream.tcc (basic_ostream::sentry): Same.
3373         * include/bits/fstream.tcc (basic_filebuf): Add _M_lock and
3374         _M_pback to member initialization list.
3375         * include/std/std_streambuf.h: Same.
3376         * include/std/std_sstream.h: Same, for _M_mode.
3377         * src/ios.cc (ios_base): Same.
3378
3379         * include/ext/rope: Make derived classes match exception
3380
3381          specifications. Add copy constructors and assignment operators.
3382
3383         * include/debug/safe_base.h (_Safe_sequence_base): Declare copy
3384         constructor and assignment operator protected.
3385         (_Safe_iterator_base): Same.
3386         * include/debug/formatter.h (_Error_formatter): Define copy
3387         constructor and assignment operator.
3388
3389         * include/backward/strstream: Declare assignment operator and copy
3390         constructor private.
3391
3392 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
3393
3394         * testsuite/testsuite_hooks.h (func_callback): Declare copy
3395         constructor and assignment operator private.
3396         * testsuite/23_containers/deque/cons/clear_allocator.cc: Match
3397         exception specifications of base class.
3398         * testsuite/23_containers/list/cons/clear_allocator.cc: Same.
3399         * testsuite/23_containers/vector/cons/clear_allocator.cc: Same.
3400         * testsuite/23_containers/vector/bool/clear_allocator.cc: New.
3401
3402 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
3403
3404         * libsupc++/cxxabi.h: Remove duplicated and useless public and
3405         private keywords in class declarations. Format. Use
3406         stddef.h. Expose declarations to "C" compilation.
3407         * libsupc++/tinfo.cc (__upcast_result): Add copy constructor and
3408         assignment operator.
3409         (__dyncast_result): Same.
3410         * libsupc++/vec.cc (uncatch_exception): Same, use member
3411         initialization list.
3412
3413 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
3414
3415         * testsuite/abi_check.cc: Add unistd.h.
3416
3417 2004-05-22  Paolo Carlini  <pcarlini@suse.de>
3418
3419         PR libstdc++/15565
3420         * include/bits/locale_facets.tcc (__int_to_char(unsigned long),
3421         __int_to_char(unsigned long long)): Showpos is not relevant
3422         for unsigned types.
3423         * testsuite/22_locale/num_put/put/char/15565.cc: New.
3424         * testsuite/22_locale/num_put/put/wchar_t/15565.cc: New.
3425
3426         * testsuite/22_locale/num_put/put/wchar_t/1.cc: Use L for the fill
3427         char.
3428         * testsuite/22_locale/num_put/put/wchar_t/2.cc: Likewise.
3429         * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
3430         * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
3431         * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
3432         * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
3433         * testsuite/22_locale/num_put/put/wchar_t/8.cc: Likewise.
3434
3435 2004-05-21  Matthias Klose  <doko@debian.org>
3436
3437         * docs/doxygen/run_doxygen:  Bump required version.
3438
3439 2004-05-21  Benjamin Kosnik  <bkoz@redhat.com>
3440
3441         * docs/html/abi.html (libgcc_s): Additions suggested by Matthias Klose.
3442         * docs/doxygen/Intro.3: Subtractions suggested by Phil Edwards.
3443
3444 2004-05-21  Paolo Carlini  <pcarlini@suse.de>
3445
3446         * include/bits/istream.tcc (ignore): Remove redundant line.
3447         (readsome): Tidy, closely following 27.6.1.3, p30.
3448
3449 2004-05-20  Paolo Carlini  <pcarlini@suse.de>
3450
3451         * include/bits/istream.tcc (operator>>(basic_istream<>&,
3452         basic_string<>&)): Use a temporary buffer, thus avoiding
3453         reallocation for common case.
3454         * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
3455         New.
3456         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
3457         Likewise.
3458
3459         * include/bits/istream.tcc: Const-ification of a few variables.
3460
3461         * include/bits/ostream.tcc: Trivial formatting fixes and
3462         const-ification of some variables.
3463
3464 2004-05-20  Benjamin Kosnik  <bkoz@redhat.com>
3465
3466         PR libstdc++/15123
3467         PR libstdc++/13928
3468         * docs/doxygen/Intro.3: Remove Allocators.3.
3469         Add new extension headers, extension namespace list.
3470         * docs/doxygen/run_doxygen (problematic): Remove Allocators.3
3471         Rename GLIBCXXSTD names to std::. Rename __gnu_debug to
3472         __gnu_debug::. Remove __policy_ renames.
3473         * docs/doxygen/guide.html: Add dot note.
3474         * docs/doxygen/stdheader.cc: Edit, add files.
3475         * docs/doxygen/user.cfg.in: Regenerate with Doxygen 1.3.7.
3476
3477 2004-05-18  Jonathan Wakely  <redi@gcc.gnu.org>
3478
3479         * include/ext/stdio_filebuf.h: Update comments to reflect PR 11691.
3480
3481 2004-05-18  Jan Beulich  <jbeulich@novell.com>
3482
3483         PR libstdc++/15489
3484         * scripts/create_testsuite_files: Also find source files through
3485         symbolic links.
3486
3487 2004-05-18  Jan Beulich  <jbeulich@novell.com>
3488
3489         PR libstdc++/15488
3490         * testsuite/lib/libstdc++.exp: Make test files writable.
3491
3492 2004-05-18  Paolo Carlini  <pcarlini@suse.de>
3493
3494         * include/ext/mt_allocator.h:(__mt_alloc::allocate): Minor
3495         tweaks.
3496
3497 2004-05-18  Dhruv Matani  <dhruvbird@gmx.net>
3498
3499         * include/ext/mt_allocator.h:(__mt_alloc::allocate): Re-write
3500         allocation loop which removes blocks from the global free list
3501         from O(N) to O(1) when the required blocks are <= the number
3502         available.
3503
3504 2004-05-18  Jonathan Wakely  <redi@gcc.gnu.org>
3505
3506         * include/ext/enc_filebuf.h: Move concept-check macro to class scope.
3507
3508 2004-05-17  Benjamin Kosnik  <bkoz@redhat.com>
3509
3510         * testsuite/testsuite_hooks.h (__gnu_test::conversion): New class.
3511         * testsuite/23_containers/deque/14340.cc: New.
3512         * testsuite/23_containers/list/14340.cc: New.
3513         * testsuite/23_containers/map/14340.cc: New.
3514         * testsuite/23_containers/multimap/14340.cc: New.
3515         * testsuite/23_containers/multiset/14340.cc: New.
3516         * testsuite/23_containers/set/14340.cc: New.
3517         * testsuite/23_containers/vector/14340.cc: New.
3518
3519 2004-05-17  Douglas Gregor   <gregod@cs.rpi.edu>
3520
3521         PR libstdc++/14340
3522         * include/debug/safe_iterator.h (_Safe_iterator converting
3523         constructor): Only allow declaration to instantiate when the
3524         incoming _Safe_iterator has exactly the right iterator type.
3525
3526 2004-05-17  Jonathan Wakely  <redi@gcc.gnu.org>
3527
3528         * include/bits/boost_concept_check.h: Fix old attribute syntax.
3529         * testsuite/23_containers/map/modifiers/swap.cc: Define operator<
3530         to pass concept-checks.
3531         * testsuite/23_containers/multimap/modifiers/swap.cc: Same.
3532         * testsuite/23_containers/set/modifiers/swap.cc: Same.
3533         * testsuite/23_containers/multiset/modifiers/swap.cc: Same.
3534
3535 2004-05-16  Paolo Carlini  <pcarlini@suse.de>
3536
3537         * include/std/std_bitset.h: Minor formatting fixes.
3538
3539 2004-05-16  Paolo Carlini  <pcarlini@suse.de>
3540
3541         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
3542         Consistently update __bin._M_free[0].
3543         (__mt_alloc<>::allocate): When __bin._M_first[0] != NULL use
3544         __bin._M_free[0] to simplify the while loop (i.e., the number
3545         of iterations becomes known at the outset).
3546
3547 2004-05-15  Paolo Carlini  <pcarlini@suse.de>
3548
3549         * include/std/std_bitset.h: Trivial formatting fixes.
3550
3551 2004-05-14  Paolo Carlini  <pcarlini@suse.de>
3552             Ivan Godard  <igodard@pacbell.net>
3553
3554         PR libstdc++/15361
3555         * include/std/std_bitset.h (_Base_bitset<_Nw>::_M_do_find_next): Fix.
3556         * testsuite/23_containers/bitset/ext/15361.cc: New.
3557
3558 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
3559
3560         PR libstdc++/15046
3561         * crossconfig.m4: Add C99 math bits for linux crosses.
3562         * configure: Regenerate.
3563
3564 2004-05-13  Simon Marshall <simon.marshall@misys.com>
3565             Benjamin Kosnik  <bkoz@redhat.com>
3566
3567         PR libstdc++/15090
3568         * include/bits/locale_facets.h: Fix for -fno-for-scope.
3569         * include/debug/safe_sequence.h: Same.
3570         * include/debug/safe_iterator.tcc: Same.
3571         * src/debug.cc: Same.
3572         * src/locale.cc: Same.
3573         * src/locale_init.cc: Same.
3574         * src/localename.cc: Same.
3575         * config/locale/gnu/ctype_members.cc: Same.
3576         * config/locale/gnu/numeric_members.cc: Same.
3577         * testsuite/testsuite_abi.cc: Same.
3578         * testsuite/testsuite_hooks.cc: Same.
3579
3580 2004-05-13  Jonathan Wakely  <redi@gcc.gnu.org>
3581
3582         * docs/html/abi.html: Document effect of -fabi-version on value
3583         of __GXX_ABI_VERSION, and that it's defined in c-cppbuiltin.c.
3584         Fix markup.
3585
3586 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
3587
3588         PR libstdc++/15074
3589         * docs/html/faq/index.html: Update docs for libsupc++ usage.
3590
3591 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
3592
3593         PR libstdc++/15412
3594         * include/bits/stl_threads.h (_GLIBCXX_mutex): Move to namespace
3595         __gnu_internal.
3596         (_GLIBCXX_mutex_address): Same.
3597         (_GLIBCXX_once): Same.
3598         (_GLIBCXX_mutex_init): Same.
3599         (_GLIBCXX_mutex_address_init): Same.
3600
3601 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
3602
3603         * docs/html/abi.html: New.
3604         * docs/html/abi.txt: Remove.
3605         * docs/html/documentation.html: Add link.
3606         * testsuite/Makefile.am: Add files.
3607         * testsuite/Makefile.in: Regenerated.
3608         * testsuite/abi_check.cc: Move and modify code into...
3609         * testsuite/testsuite_abi.cc: Add.
3610         * testsuite/testsuite_abi.h: Add.
3611
3612         * docs/html/17_intro/TODO: Update.
3613         * include/bits/stl_pair.h: Format.
3614
3615 2004-05-06  Matthias Klose  <doko@debian.org>
3616
3617         * include/backward/iterator.h:  Add GPL copyright info,
3618         with exception clause.
3619         * include/bits/boost_concept_check.h: Likewise.
3620         * include
3621         * libsupc++/tinfo.h: Likewise.
3622         * po/string_literals.cc: Likewise.
3623
3624 2004-05-03  Andreas Tobler  <a.tobler@schweiz.ch>
3625
3626         * acinclude.m4: Replace -W with more speaking -Wextra.
3627         * configure: Rebuilt.
3628
3629 2004-05-03  Paolo Carlini  <pcarlini@suse.de>
3630
3631         Optimize locale::_M_impl->_M_names for the most common cases:
3632         !_M_names[0] means unnamed; !_M_names[1] means all the categories
3633         the same name (_M_names[0] && _M_names[1] means that the full set
3634         of _M_names must be processed, the general case).
3635         * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name):
3636         Tweak, saving work when !_M_names[1].
3637         (locale::locale(const locale&, _Facet*): Simplify: now just setting
3638         _M_names[0] = 0 means unnamed.
3639         * src/locale.cc (locale::operator==): Deal first with the common,
3640         easy cases, otherwise fall back to locale::name().
3641         (locale::name()): Tweak, if !_M_names[0] just return "*".
3642         (locale::_Impl::_Impl(const _Impl&, size_t): Tweak, early stop
3643         copying __imp._M_names if !__imp._M_names[0] or !__imp._M_names[1].
3644         * src/locale_init.cc (locale::_Impl::_Impl(size_t)): Tweak.
3645         * src/localename.cc (locale::_Impl::_Impl(const char*, size_t):
3646         Simplify when !std::strchr, just updating _M_names[0]; clean up.
3647         (locale::_Impl::_M_replace_categories): When !_M_names[1] prepare
3648         for the general case (full set of names), then do the usual work;
3649         clean up.
3650
3651         * src/locale.cc (locale::name()): Reserve space in __ret.
3652         * src/locale_init.cc (locale::global(const locale&)): Save
3653         the name in a temporary.
3654         * src/localename.cc (locale::locale(const char*)): Reserve space
3655         in __str.
3656
3657 2004-04-29  Paolo Carlini  <pcarlini@suse.de>
3658
3659         * src/locale.cc (locale::operator==): Always avoid constructing
3660         locale::name(), directly compare pairs of _M_names.
3661
3662 2004-04-26  Paolo Carlini  <pcarlini@suse.de>
3663
3664         * include/bits/istream.tcc: Fix comment.
3665
3666 2004-04-26  Paolo Carlini  <pcarlini@suse.de>
3667
3668         * include/bits/stl_vector.h: Trivial formatting fixes.
3669         * include/bits/vector.tcc: Likewise.
3670
3671 2004-04-25  Paolo Carlini  <pcarlini@suse.de>
3672
3673         PR libstdc++/15002 (continued again)
3674         * include/bits/istream.tcc (getline(basic_istream<>&,
3675         basic_string<>&, _CharT)): Use a temporary buffer, thus
3676         avoiding reallocation for common case.
3677
3678         * include/bits/basic_string.tcc (_S_construct(_InIterator,
3679         _InIterator, const _Alloc&, input_iterator_tag)): Tweak size
3680         of temporary buffer to a power of two.
3681
3682         * testsuite/27_io/basic_istream/getline/char/4.cc: Add comment.
3683
3684 2004-04-25  Paolo Carlini  <pcarlini@suse.de>
3685
3686         * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
3687         New.
3688         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
3689         Likewise.
3690         * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
3691
3692 2004-04-24  Paolo Carlini  <pcarlini@suse.de>
3693             Petur Runolfsson  <peturr02@ru.is>
3694
3695         PR libstdc++/15002 (continued)
3696         * include/bits/istream.tcc (basic_istream<>::getline(char_type*,
3697         streamsize, char_type)): Use traits::find/copy in a loop to speed
3698         up greatly the function in the common case (I/O buffer size >> 1).
3699
3700 2004-04-24  Paolo Carlini  <pcarlini@suse.de>
3701
3702         * testsuite/27_io/basic_istream/getline/char/4.cc: New.
3703
3704         * include/bits/istream.tcc (getline(basic_istream<>&,
3705         basic_string<>&, _CharT)): Change to use sgetc()/snextc() instead
3706         of sbumpc(), consistently with the other functions, thus also
3707         dealing correctly with the case of exceeded string::max_size().
3708
3709 2004-04-24  Matthias Klose  <doko@debian.org>
3710
3711         Jonathan Wakely  <cow@compsoc.man.ac.uk>
3712         * docs/html/configopts.html: Fix reference to allocator config option.
3713
3714 2004-04-23  Andrew Pinski  <pinskia@physics.uc.edu>
3715
3716         * linkage.m4 (GLIBCXX_CHECK_MATH_SUPPORT): Check for libmx also.
3717         * configure: Regenerate.
3718
3719 2004-04-23  Daniel Jacobowitz  <drow@mvista.com>
3720
3721         PR libstdc++/15047, libstdc++/11610
3722         * testsuite/lib/libstdc++.exp (v3-copy-files): Use remote_download.
3723         (libstdc++_init): Don't pass outdir to v3-copy-files.
3724
3725 2004-04-21  Paolo Carlini  <pcarlini@suse.de>
3726
3727         * include/bits/deque.tcc: Trivial formatting fixes.
3728         * include/bits/stl_deque.h: Likewise.
3729         * include/bits/stl_list.h: Likewise.
3730         * include/bits/stl_tree.h: Likewise.
3731
3732 2004-04-21  Paolo Carlini  <pcarlini@suse.de>
3733             Andrew Pinski  <pinskia@physics.uc.edu>
3734
3735         * include/bits/basic_string.tcc (_M_mutate): Don't compute
3736         __src unnecessarily.
3737
3738 2004-04-19  Benjamin Kosnik  <bkoz@redhat.com>
3739
3740         * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
3741         Clarify assertion, set test variable to false before assert.
3742         * testsuite/27_io/basic_istringstream/str/char/1.cc: Same.
3743         * testsuite/27_io/basic_stringstream/str/char/1.cc: Same.
3744         * testsuite/27_io/ios_base/storage/2.cc: Same.
3745
3746         * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Fix
3747         function returns.
3748         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Same.
3749         * testsuite/27_io/fpos/14320-3.cc: Same.
3750
3751         * testsuite/27_io/basic_filebuf/2.cc: Instantiate in namespace std.
3752         * testsuite/27_io/fpos/1.cc: Same.
3753         * testsuite/27_io/basic_stringstream/2.cc: Same.
3754         * testsuite/27_io/basic_stringbuf/4.cc: Same.
3755         * testsuite/27_io/basic_stringbuf/1.cc: Same.
3756         * testsuite/27_io/basic_stringbuf/2.cc: Same.
3757         * testsuite/27_io/basic_streambuf/2.cc: Same.
3758         * testsuite/27_io/basic_ostringstream/2.cc: Same.
3759         * testsuite/27_io/basic_ostream/2.cc: Same.
3760         * testsuite/27_io/basic_ofstream/2.cc: Same.
3761         * testsuite/27_io/basic_istringstream/2.cc: Same.
3762         * testsuite/27_io/basic_istream/2.cc: Same.
3763         * testsuite/27_io/basic_iostream/2.cc: Same.
3764         * testsuite/27_io/basic_ios/2.cc: Same.
3765         * testsuite/27_io/basic_ifstream/2.cc: Same.
3766         * testsuite/27_io/basic_fstream/2.cc: Same.
3767         * testsuite/ext/stdio_filebuf/char/1.cc: Same, in namespace __gnu_cxx.
3768
3769         * testsuite/21_strings/basic_string/capacity/1.cc: Don't compare
3770         unsigned against zero.
3771         * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Same.
3772         * testsuite/21_strings/basic_string/capacity/char/1.cc: Same.
3773
3774         * testsuite/18_support/new_delete_placement.cc: Initialize
3775         variables before first use.
3776         * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Same.
3777         * testsuite/21_strings/char_traits/requirements/char/1.cc: Same.
3778         * testsuite/21_strings/char_traits/requirements/short/1.cc: Same.
3779         * testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc:
3780         Same.
3781         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_badbit_throw.cc: Same.
3782         * testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc:
3783         Same.
3784         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_failbit_throw.cc: Same.
3785         * testsuite/27_io/types/2.cc: Same.
3786
3787         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Fix temporary
3788         file name.
3789         * testsuite/27_io/fpos/14775.cc: Same.
3790
3791 2004-04-19  Paolo Carlini  <pcarlini@suse.de>
3792
3793         PR libstdc++/15002 (partial)
3794         * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
3795         Special case __n2 == 1, not calling traits_type::assign/copy.
3796
3797 2004-04-17  Benjamin Kosnik  <bkoz@redhat.com>
3798
3799         * include/bits/stl_bvector.h: Use _M_impl._M_start.
3800
3801 2004-04-16  Benjamin Kosnik  <bkoz@redhat.com>
3802
3803         * include/bits/c++config (_GLIBCXX_STD): New.
3804         * src/list.cc: Use it.
3805         * include/std/std_bitset.h: Same.
3806         * include/bits/vector.tcc: Same.
3807         * include/bits/stl_set.h: Same.
3808         * include/bits/stl_multiset.h: Same.
3809         * include/bits/stl_multimap.h: Same.
3810         * include/bits/stl_map.h: Same.
3811         * include/bits/stl_list.h: Same.
3812         * include/bits/stl_vector.h: Same.
3813         * include/bits/stl_bvector.h: Same.
3814         * include/bits/stl_deque.h: Same.
3815         * include/bits/deque.tcc: Same.
3816         * include/bits/list.tcc: Same.
3817         * include/debug/vector: Same.
3818         * include/debug/set.h: Same.
3819         * include/debug/multiset.h: Same.
3820         * include/debug/multimap.h: Same.
3821         * include/debug/map.h: Same.
3822         * include/debug/list: Same.
3823         * include/debug/deque: Same.
3824         * include/debug/bitset: Same.
3825         * include/debug/formatter.h (__gnu_debug): Remove using directive.
3826         Add using declaration for std::type_info.
3827         * include/debug/safe_iterator.h: Add using declaration for
3828         std::iterator_traits and std::pair.
3829         * src/debug_list.cc: New.
3830         * src/Makefile.am: Add debug_list.cc.
3831         * src/Makefile.in: Regenerate.
3832         * config/linker-map.gnu: Add _List_node_base exports for std and
3833         __gnu_norm.
3834
3835         * include/bits/stl_bvector.h (_Bvector_base): Use _Bvector_impl
3836         idiom that other containers use.
3837         * testsuite/23_containers/vector/bool/clear_allocator.cc: New.
3838
3839 2004-04-16  Paolo Carlini  <pcarlini@suse.de>
3840
3841         PR libstdc++/14975
3842         * include/bits/fstream.tcc (basic_filebuf::imbue): Zero _M_codecvt
3843         in case of error.
3844         * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: New.
3845         * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: New.
3846
3847 2004-04-16  Paolo Carlini  <pcarlini@suse.de>
3848
3849         * acconfig.h: Remove _GLIBCXX_USE_LONG_DOUBLE entry, not
3850         used anymore.
3851         * config.h.in: Regenerate.
3852
3853 2004-04-16  Paolo Carlini  <pcarlini@suse.de>
3854
3855         * config/locale/generic/monetary_members.cc
3856         (moneypunct<wchar_t>::_M_initialize_moneypunct): Avoid calling
3857         btowc unnecessarily, just cast to wchar_t (the concerned chars
3858         all belong to the basic character set).
3859         * config/locale/generic/numeric_members.cc
3860         (numpunct<wchar_t>::_M_initialize_numpunct): Likewise.
3861         * config/locale/gnu/monetary_members.cc
3862         (moneypunct<wchar_t>::_M_initialize_moneypunct): Likewise.
3863         * config/locale/gnu/numeric_members.cc
3864         (numpunct<wchar_t>::_M_initialize_numpunct): Likewise.
3865
3866 2004-04-15  Paolo Carlini  <pcarlini@suse.de>
3867
3868         * src/locale.cc (locale::operator==): When _M_impl == __rhs._M_impl
3869         avoid constructing unnecessarily this->name().
3870
3871 2004-04-14  Zack Weinberg  <zack@codesourcery.com>
3872
3873         * testsuite/Makefile.am: Add definition of AM_CXXFLAGS.
3874         Change definition of CXX to use $(shell) instead of backticks.
3875         * testsuite/Makefile.in: Regenerate.
3876
3877 2004-04-12  Dhruv Matani  <dhruvbird@gmx.net>
3878
3879         * testsuite/performance/20_util/allocator/list_sort_search.cc:
3880         Minor formatting fixes.
3881         * testsuite/performance/20_util/allocator/map_mt_find.cc:
3882         Likewise.
3883
3884 2004-04-12  Paolo Carlini <pcarlini@suse.de>
3885
3886         * config/locale/gnu/numeric_members.cc
3887         (numpunct<wchar_t>::_M_initialize_numpunct): No need to wrap
3888         in __uselocale, since btowc is called for chars belonging to
3889         the basic character set.
3890
3891 2004-04-09  Paolo Carlini  <pcarlini@suse.de>
3892
3893         * testsuite/22_locale/messages/members/char/1.cc: Remove junk.
3894         * testsuite/22_locale/messages/members/char/2.cc: Ditto.
3895         * testsuite/22_locale/messages/members/char/3.cc: Ditto.
3896         * testsuite/22_locale/num_get/get/char/1.cc: Ditto.
3897         * testsuite/22_locale/num_get/get/char/2.cc: Ditto.
3898         * testsuite/22_locale/num_get/get/char/3.cc: Ditto.
3899         * testsuite/22_locale/num_get/get/wchar_t/1.cc: Ditto.
3900         * testsuite/22_locale/num_get/get/wchar_t/2.cc: Ditto.
3901         * testsuite/22_locale/num_get/get/wchar_t/3.cc: Ditto.
3902         * testsuite/22_locale/num_put/put/char/1.cc: Ditto.
3903         * testsuite/22_locale/num_put/put/char/2.cc: Ditto.
3904         * testsuite/22_locale/num_put/put/char/3.cc: Ditto.
3905         * testsuite/22_locale/num_put/put/wchar_t/1.cc: Ditto.
3906         * testsuite/22_locale/num_put/put/wchar_t/2.cc: Ditto.
3907         * testsuite/22_locale/num_put/put/wchar_t/3.cc: Ditto.
3908         * testsuite/22_locale/numpunct/members/char/1.cc: Ditto.
3909         * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Ditto.
3910
3911 2004-04-07  Paolo Carlini  <pcarlini@suse.de>
3912
3913         * config/locale/generic/time_members.cc
3914         (__timepunct<char>::_M_initialize_timepunct,
3915         __timepunct<wchar_t>::_M_initialize_timepunct): the correct
3916         _M_amonth07 in the "C" locale is "Jul" and L"Jul", respectively.
3917         * config/locale/gnu/time_members.cc
3918         (__timepunct<char>::_M_initialize_timepunct,
3919         __timepunct<wchar_t>::_M_initialize_timepunct): Ditto.
3920         * testsuite/22_locale/time_get/get_monthname/char/4.cc: New.
3921         * testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc: New.
3922
3923         * testsuite/22_locale/time_get/date_order/char/1.cc: Remove junk.
3924         * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Ditto.
3925         * testsuite/22_locale/time_get/get_date/char/1.cc: Ditto.
3926         * testsuite/22_locale/time_get/get_date/char/2.cc: Ditto.
3927         * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Ditto.
3928         * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Ditto.
3929         * testsuite/22_locale/time_get/get_monthname/char/1.cc: Ditto.
3930         * testsuite/22_locale/time_get/get_monthname/char/2.cc: Ditto.
3931         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Ditto.
3932         * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Ditto.
3933         * testsuite/22_locale/time_get/get_time/char/1.cc: Ditto.
3934         * testsuite/22_locale/time_get/get_time/char/2.cc: Ditto.
3935         * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Ditto.
3936         * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Ditto.
3937         * testsuite/22_locale/time_get/get_weekday/char/1.cc: Ditto.
3938         * testsuite/22_locale/time_get/get_weekday/char/2.cc: Ditto.
3939         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Ditto.
3940         * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Ditto.
3941         * testsuite/22_locale/time_get/get_year/char/1.cc: Ditto.
3942         * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Ditto.
3943         * testsuite/22_locale/time_put/put/char/1.cc: Ditto.
3944         * testsuite/22_locale/time_put/put/char/2.cc: Ditto.
3945         * testsuite/22_locale/time_put/put/char/3.cc: Ditto.
3946         * testsuite/22_locale/time_put/put/char/4.cc: Ditto.
3947         * testsuite/22_locale/time_put/put/char/5.cc: Ditto.
3948         * testsuite/22_locale/time_put/put/char/6.cc: Ditto.
3949         * testsuite/22_locale/time_put/put/char/7.cc: Ditto.
3950         * testsuite/22_locale/time_put/put/char/8.cc: Ditto.
3951         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Ditto.
3952         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Ditto.
3953         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Ditto.
3954         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Ditto.
3955         * testsuite/22_locale/time_put/put/wchar_t/5.cc: Ditto.
3956         * testsuite/22_locale/time_put/put/wchar_t/6.cc: Ditto.
3957         * testsuite/22_locale/time_put/put/wchar_t/7.cc: Ditto.
3958         * testsuite/22_locale/time_put/put/wchar_t/8.cc: Ditto.
3959
3960         * testsuite/22_locale/time_put/put/char/9780-1.cc: Fix typos.
3961
3962 2004-04-07  Paolo Carlini  <pcarlini@suse.de>
3963
3964         * config/locale/gnu/monetary_members.cc
3965         (moneypunct<wchar_t>::_M_initialize_moneypunct): Prefer
3966         _NL_MONETARY_DECIMAL_POINT_WC, _NL_MONETARY_THOUSANDS_SEP_WC,
3967         and __MON_GROUPING to _NL_NUMERIC_DECIMAL_POINT_WC,
3968         _NL_NUMERIC_THOUSANDS_SEP_WC, and GROUPING.
3969         * config/locale/gnu/numeric_members.cc
3970         (numpunct<char>::_M_initialize_numpunct): Prefer DECIMAL_POINT
3971         and THOUSANDS_SEP to the deprecated RADIXCHAR and THOUSEP.
3972
3973 2004-04-06  Benjamin Kosnik  <bkoz@redhat.com>
3974
3975         Fixups for EDG front end.
3976         * include/ext/rope: Instead of non-existent function
3977         _Data_allocate, use allocator's allocate. Use this.
3978         (namespace _Rope_constants): Move _S_max_rope_depth, and _Tag
3979         enumerations from _Rope_RopeRep here.
3980         * include/ext/ropeimpl.h: Same.
3981         * src/ext-inst.cc (_S_min_len): Fix up definition.
3982
3983         * config/locale/gnu/ctype_members.cc: Qualify base class members
3984         with this.
3985         * config/locale/generic/ctype_members.cc: Same.
3986         * config/locale/gnu/messages_members.h: Same.
3987         * config/locale/generic/messages_members.h: Same.
3988         * src/ctype.cc: Same.
3989         * include/bits/codecvt.h: Same.
3990
3991         * include/bits/boost_concept_check.h: Declare.
3992         (__error_type_must_be_an_unsigned_integer_type): Remove this.
3993         (__error_type_must_be_an_integer_type): Remove this.
3994         (__error_type_must_be_a_signed_integer_type): Remove this.
3995
3996         * config/io/basic_file_stdio.cc (__basic_file::sys_open): Remove cast.
3997
3998         * libsupc++/eh_alloc.cc (__cxa_free_exception): Add exception
3999         specification to definition.
4000         (__cxa_allocate_exception): Same.
4001         * libsupc++/eh_catch.cc (__cxa_begin_catch): Same.
4002         * libsupc++/eh_globals.cc (__cxa_get_globals_fast): Same.
4003         (__cxa_get_globals): Same.
4004
4005         * libsupc++/del_op.cc: Add comment about freestanding.
4006
4007 2004-04-05  Paolo Carlini  <pcarlini@suse.de>
4008
4009         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
4010         The critical section is actually very small, only two assignments.
4011
4012 2004-04-04  Paolo Carlini  <pcarlini@suse.de>
4013             Petur Runolfsson  <peturr02@ru.is>
4014
4015         * testsuite/performance/27_io/filebuf_sputn_unbuf.cc: New,
4016         adapted from libstdc++/11378.
4017
4018 2004-04-03  Paolo Carlini  <pcarlini@suse.de>
4019
4020         * include/ext/mt_allocator.h (__mt_alloc<>::allocate): Factor out
4021         some duplicated code.
4022         (__mt_alloc<>::_Bin_record): Spare the space of _M_free and _M_used
4023         in the single threaded case.
4024         * testsuite/performance/20_util/allocator/list_sort_search.cc:
4025         Reorder and renumber the tests consistently with the other testfiles.
4026         * testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
4027         * testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
4028         * testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
4029
4030 2004-04-02  Paolo Carlini  <pcarlini@suse.de>
4031
4032         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
4033         Rearrange arithmetic to avoid computing two divisions at
4034         each deallocation.
4035
4036 2004-04-01  Paolo Carlini  <pcarlini@suse.de>
4037
4038         * include/ext/mt_allocator.h (__mt_alloc<>::_S_initialize):
4039         Streamline the second half, wrapping it in a single
4040         '#ifdef __GTHREADS if (__gthread_active_p())' and avoiding
4041         conditionals inside loops.
4042
4043 2004-04-01  Paolo Carlini  <pcarlini@suse.de>
4044
4045         PR libstdc++/14775
4046         * acconfig.h: Rename _GLIBCXX_MEM_LIMITS to _GLIBCXX_RES_LIMITS.
4047         * acinclude.m4 (GLIBCXX_CHECK_SETRLIMIT): Call
4048         GLIBCXX_CHECK_SETRLIMIT_ancilliary for FSIZE too, adjust define
4049         to _GLIBCXX_RES_LIMITS.
4050         (GLIBCXX_CHECK_SETRLIMIT_ancilliary): Rename HAVE_MEMLIMIT_* to
4051         HAVE_LIMIT_*.
4052         * testsuite/testsuite_hooks.h: Declare set_file_limit.
4053         * testsuite/testsuite_hooks.cc: Define it, using getrlimit
4054         and setrlimit(RLIMIT_FSIZE).
4055         * testsuite/27_io/fpos/14775.cc: New.
4056         * config.h.in: Regenerate.
4057         * configure: Likewise.
4058
4059 2004-03-31  Paolo Carlini  <pcarlini@suse.de>
4060
4061         * config/locale/generic/c_locale.cc (__convert_to_v(long double&)):
4062         In v3 uses of sscanf, the special floating-point numbers INF,
4063         INFINITY, etc., cannot occur in input, therefore, if the latter
4064         is too large, ERANGE is always stored in errno, no need of finitel.
4065
4066 2004-03-30  Benjamin Kosnik  <bkoz@redhat.com>
4067
4068         PR libstdc++/14783
4069         * include/bits/stl_tree.h: Adjust initialization list order.
4070
4071 2004-03-29  Loren J. Rittle  <ljrittle@acm.org>
4072
4073         * testsuite/thread/pthread7-rope.cc: Update comment to reflect test.
4074
4075 2004-03-29  Paolo Carlini  <pcarlini@suse.de>
4076
4077         * testsuite/thread/pthread7-rope.cc: Fix, unpredictably, depending
4078         on allocator behavior, the memory pointed by data2 may well be not
4079         trashed.
4080
4081 2004-03-28  Chavdar Botev  <cbotev@yahoo.com>
4082
4083         PR libstdc++/14245
4084         * include/bits/basic_string.tcc
4085         (basic_string::basic_string(const basic_string&)): Pass to
4086         _Rep::_M_grab the actual allocator of the string being constructed
4087         not the default constructed one.
4088
4089 2004-03-27  Benjamin Kosnik  <bkoz@redhat.com>
4090
4091         libstdc++ PR/13598
4092         * config/locale/ieee_1003.1-2001/codecvt_specializations.h
4093         (__enc_traits::_M_destroy): New.
4094         (__enc_traits::~__enc_traits): Use it.
4095         (__enc_traits::operator=): Use _M_destroy, _M_init.
4096         (__enc_traits::__enc_traits): Same.
4097
4098 2004-03-27  Petur Runolfsson  <peturr02@ru.is>
4099
4100         * testsuite/ext/enc_filebuf/char/13598.cc: New.
4101
4102 2004-03-27  Paolo Carlini  <pcarlini@suse.de>
4103
4104         * include/ext/mt_allocator.h: Uglify consistently names of
4105         variables, members and classes; tidy.
4106
4107 2004-03-27  Dhruv Matani  <dhruvbird@gmx.net>
4108
4109         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
4110         Deallocation loop rewrote.
4111
4112 2004-03-26  Paolo Carlini  <pcarlini@suse.de>
4113
4114         * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
4115         __mt_alloc<>::deallocate): Protect two instances of
4116         block->thread_id with __GTHREADS.
4117
4118 2004-03-25  Gawain Bolton  <gp.bolton@computer.org>
4119
4120         * include/bits/stl_tree.h (_Rb_tree_impl): Add _Node_allocator
4121         default argument in constructors.
4122         (_Rb_tree::_M_empty_initialize): Remove.
4123
4124 2004-03-25  Benjamin Kosnik  <bkoz@redhat.com>
4125
4126         * testsuite/23_containers/map/operators/1_neg.cc: Adjust line numbers.
4127         * testsuite/23_containers/set/operators/1_neg.cc: Same.
4128
4129 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
4130
4131         * include/bits/cpp_type_traits.h: Changed __is_pod
4132         completely. Now, it does not use any of the previous type_traits
4133         to detect the pod types, and it also detects function pointers as
4134         POD types.
4135
4136         * include/bits/stl_tree.h: Introduced a new class _Rb_tree_impl,
4137         which encapsulates the internal implementation of an rb_tree. Made
4138         the allocator a base class of this class instead of the rb_tree,
4139         which was not conforming. This _Rb_tree_impl class is also
4140         specialized on whether the _Compare parameter is a POD type or
4141         not. If so, then it maintains the comparison function as a data
4142         member, otherwise it makes the _Compare parameter a base class of
4143         itself. Also, _M_key_compare is now a function instead of a data
4144         member, so that the above trick can work properly. Delegated the
4145         initialization of the other data members to this newly created
4146         class. Also, now other member functions of rb_tree must refer to
4147         _M_key_compare as _M_impl._M_key_compare(). The other data members
4148         (*) can be referenced to as _M_impl.(*), where
4149         (*) includes _M_header, and _M_node_count.
4150
4151 2004-03-25  Paolo Carlini  <pcarlini@suse.de>
4152
4153         * include/ext/mt_allocator.h (__mt_alloc<>::tune):
4154         Add _M_min_bin, the size in bytes of the smallest bin.
4155         (__mt_alloc<>::tune()): Tweak accordingly.
4156         (__mt_alloc<>::tune(size_t, ...)): Likewise.
4157         (__mt_alloc<>::block_record): Change to a union: members next
4158         and thread_id are never used at the same time.
4159         (__mt_alloc<>::allocate): Update consistently.
4160         (__mt_alloc<>::deallocate): Likewise.
4161         (__mt_alloc<>::_S_initialize): Update setups of _S_binmap and
4162         _S_bin_size for the configurable _M_min_size.
4163
4164 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
4165
4166         * include/bits/stl_list.h: Created a _List_impl class and made it
4167         derive from the allocator, instead of the list deriving from the
4168         allocator class, which was not conformant. Changed all references
4169         from this->_M_node to this->_M_impl._M_node * bits/list.tcc: Same
4170         as above (changed all references to the concerned variables).
4171
4172 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
4173
4174         * include/bits/stl_deque.h: Created a _Deque_impl class and made
4175         it derive from the allocator, instead of the deque deriving from
4176         the allocator class, which was not conformant. Changed all
4177         references to the _M_start, _M_finish, _M_map, and _M_map_size to
4178         _M_impl.*.
4179         (_Deque_base<_Tp,_Alloc>::~_Deque_base()): Added this->
4180         qualification in 2 places where it was missing.
4181         (_Deque_base<_Tp,_Alloc>::_M_initialize_map(size_t)): Same as
4182         above.
4183         * include/bits/deque.tcc: Same as above (changed all references to
4184         the concerned variables).
4185
4186 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
4187
4188         * include/bits/stl_vector.h: Created a _Vector_impl class and made
4189         it derive from the allocator, instead of the _Vector_base class,
4190         deriving from the allocator which was not conformant. Changed all
4191         references to the _M_start, _M_finish, and _M_end_of_storage to
4192         _M_impl.*.
4193         * include/bits/vector.tcc: Same as above (changed all references
4194         to the concerned variables).
4195
4196 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
4197
4198         * testsuite/23_containers/deque/cons/clear_allocator.cc: New.
4199         * testsuite/23_containers/list/cons/clear_allocator.cc: New.
4200         * testsuite/23_containers/vector/cons/clear_allocator.cc: New.
4201
4202 2004-03-24  Dhruv Matani  <dhruvbird@gmx.net>
4203
4204         * include/ext/malloc_allocator.h: Fixed the construct function to
4205         call global placement new instead of assignment. Added a check
4206         after the return from malloc to check whether returned pointer is
4207         NULL, and if so, throw std::bad_alloc().
4208         * include/ext/debug_allocator.h: Added a check in the deallocate
4209         function to check whether the user has passed a NULL pointer or
4210         not.
4211
4212 2004-03-24  Benjamin Kosnik  <bkoz@redhat.com>
4213
4214         * docs/html/20_util/allocator.html: Add bitmap_allocator links.
4215
4216 2004-03-24  Andreas Schwab  <schwab@suse.de>
4217
4218         * testsuite/lib/prune.exp (prune_g++_output): Ignore errata
4219         warning from IA64 assembler.
4220
4221 2004-03-24  Dhruv Matani  <dhruvbird@gmx.net>
4222
4223         * include/ext/bitmap_allocator.h: (_Bit_scan_forward) -> Made this
4224         function call __builtin_ctz instead of the while loop.
4225         (allocate) -> If condition has __builtin_expect.
4226         (deallocate) -> Ditto.
4227         Renamed a few left-over variables and typedefs according to the
4228         C++STYLE mentioned in the documentation.
4229         Protected calls to __gthread* by __gthread_active_p(), whose value
4230         is cached in the local variable __threads_active.
4231
4232 2004-03-24  Felix Yen  <fwy@alumni.brown.edu>
4233
4234         * testsuite/performance/20_util/allocator/producer_consumer.cc:
4235         Use linear algorithm for producer.
4236
4237 2004-03-24  Paolo Carlini  <pcarlini@suse.de>
4238
4239         * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
4240         __mt_alloc<>::deallocate): Avoid redundant conditionals.
4241
4242 2004-03-23  Benjamin Kosnik  <bkoz@redhat.com>
4243
4244         * include/bits/locale_facets.h: Tweaks for 80 column.
4245         (__numpunct_cache::_M_cache): Move to locale_facets.tcc.
4246         (__moneypunct_cache::_M_cache): Same.
4247         (num_get): Don't inherit from __num_base.
4248         (num_put): Same.
4249         (money_get): Don't inherit from money_base.
4250         (money_put): Same.
4251         (__timepunct::_M_am_pm_format): New.
4252         (time_get::_M_extract_num): Return iterator, use ios_base as argument.
4253         (time_get::_M_extract_name): Same.
4254         (time_get::_M_extract_via_format): Same.
4255         * include/bits/locale_facets.tcc: Tweaks for 80 column.
4256         Use _M_getloc instead of getloc.
4257         * testsuite/22_locale/money_put/put/char/9780-3.cc: New.
4258         * testsuite/22_locale/num_put/put/char/9780-2.cc: New.
4259         * testsuite/22_locale/time_put/put/char/9780-1.cc: New.
4260
4261 2004-03-22  Paolo Carlini  <pcarlini@suse.de>
4262
4263         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add pool_allocator.
4264         * configure: Regenerate.
4265         * config/allocator/pool_allocator_base.h: New.
4266         * include/ext/pool_allocator.h: Convert to a standard-conforming
4267         allocator.
4268         * src/allocator.cc: Tweak instantiations.
4269         * testsuite/performance/20_util/allocator/insert.cc: Add __pool_alloc.
4270         * testsuite/performance/20_util/allocator/insert_insert.cc: Ditto.
4271         * testsuite/performance/20_util/allocator/list_sort_search.cc: Ditto.
4272         * testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
4273         * testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
4274         * testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
4275
4276 2004-03-22  Hans-Peter Nilsson  <hp@axis.com>
4277
4278         * config/cpu/cris/atomicity.h (__atomic_add): Remove "static
4279         inline" and attribute-unused.  Qualify parameter __mem with
4280         "volatile".
4281         (__exchange_and_add): Ditto.  Add back memory clobber to asm.
4282
4283 2004-03-20  Paolo Carlini  <pcarlini@suse.de>
4284
4285         * testsuite/27_io/basic_istream/extractors_arithmetic/char/2.cc:
4286         Remove junk.
4287         * testsuite/27_io/basic_istream/extractors_arithmetic/char/3.cc:
4288         Likewise.
4289         * testsuite/27_io/basic_istream/extractors_arithmetic/char/6.cc:
4290         Likewise.
4291         * testsuite/27_io/basic_istream/extractors_arithmetic/char/7.cc:
4292         Likewise.
4293         * testsuite/27_io/basic_istream/extractors_arithmetic/char/8.cc:
4294         Likewise.
4295         * testsuite/27_io/basic_istream/extractors_arithmetic/char/9.cc:
4296         Likewise.
4297         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
4298         Likewise.
4299         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
4300         Likewise.
4301         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
4302         Likewise.
4303         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
4304         Likewise.
4305
4306 2004-03-20  Paolo Carlini  <pcarlini@suse.de>
4307
4308         * include/std/std_valarray.h: Document DR389 [Ready].
4309         * docs/html/ext/howto.html: Add an entry for DR389.
4310
4311 2004-03-19  Michael Eager  <eager@mvista.com>
4312
4313         * config/cpu/mips/atomicity.h:  Prevent reg loads between LL and
4314         SC instructions.
4315
4316 2004-03-19  Paolo Carlini  <pcarlini@suse.de>
4317
4318         * testsuite/22_locale/num_get/get/char/11.cc: Remove redundant
4319         static_cast-s.
4320         * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
4321         * testsuite/22_locale/num_get/get/char/13.cc: Likewise.
4322         * testsuite/22_locale/num_get/get/char/14.cc: Likewise.
4323         * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
4324         * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
4325         * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
4326         * testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise.
4327         * testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise.
4328         * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
4329
4330 2004-03-19  Paolo Carlini  <pcarlini@suse.de>
4331             Petur Runolfsson  <peturr02@ru.is>
4332
4333         PR libstdc++/12077
4334         * include/ext/stdio_sync_filebuf.h (showmanyc): Remove, there's
4335         no way to find out the conversion used by the underlying FILE*.
4336         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: New.
4337         * testsuite/27_io/objects/char/9.cc: Tweak.
4338
4339 2004-03-19  Paolo Carlini  <pcarlini@suse.de>
4340
4341         PR libstdc++/14648
4342         * include/ext/ropeimpl.h (rope<>::_S_apply_to_pieces): Fix
4343         memory allocation/deallocation calls.
4344         * testsuite/ext/14648.cc: New.
4345
4346 2004-03-19  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
4347
4348         PR libstdc++/14647
4349         * include/backward/bvector.h (bit_vector): Allocator is in std
4350         namespace.
4351
4352 2004-03-19  Phil Edwards  <phil@codesourcery.com>
4353
4354         * acinclude.m4 (GLIBCXX_CHECK_WCHAR_T_SUPPORT):  Set LIBICONV,
4355         not libiconv.  SUBST this variable as well.
4356         * testsuite/Makefile.am (site.exp):  New target, based on that
4357         created by automake.  Also set libiconv.
4358
4359         * configure, Makefile.in, include/Makefile.in, libmath/Makefile.in,
4360         libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
4361         testsuite/Makefile.in:  Regenerate.
4362
4363 2004-03-16  Benjamin Kosnik  <bkoz@redhat.com>
4364
4365         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Default setting is
4366         new_allocator for all hosts.
4367         * configure: Regenerate.
4368
4369 2004-03-16  Paolo Carlini  <pcarlini@suse.de>
4370
4371         * testsuite/22_locale/num_put/put/char/4.cc: Fix for 64-bit pointers.
4372         * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
4373
4374 2004-03-15  Paolo Carlini  <pcarlini@suse.de>
4375
4376         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
4377         Adjust the logic underlying the parsing of symbol to deal
4378         correctly with an optional sign component (i.e., when either
4379         negative_sign or positive_sign is empty)
4380         * testsuite/22_locale/money_get/get/char/19.cc: New.
4381         * testsuite/22_locale/money_get/get/wchar_t/19.cc: New.
4382
4383 2004-03-15  Paolo Carlini  <pcarlini@suse.de>
4384
4385         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
4386         Do not accept an incomplete currency symbol.
4387         * testsuite/22_locale/money_get/get/char/18.cc: New.
4388         * testsuite/22_locale/money_get/get/wchar_t/18.cc: New.
4389
4390 2004-03-13  Benjamin Kosnik  <bkoz@redhat.com>
4391
4392         * config/allocator: New.
4393         * config/allocator/bitmap_allocator_base.h: New.
4394         * config/allocator/malloc_allocator_base.h: New.
4395         * config/allocator/mt_allocator_base.h: New.
4396         * config/allocator/new_allocator_base.h: New.
4397         * include/bits/allocator.h: Include c++allocator.h.
4398         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): New.
4399         * aclocal.m4: Regenerate.
4400         * configure.ac: Use GLIBCXX_ENABLE_ALLOCATOR.
4401         * configure: Regenerate.
4402         * include/Makefile.am (host_headers_extra): Add c++allocator.h.
4403         * include/Makefile.in: Regenerate.
4404         * docs/html/configopts.html: Add enable-libstdcxx-allocator.
4405
4406 2004-03-12  Benjamin Kosnik  <bkoz@redhat.com>
4407
4408         * include/bits/allocator.h: Revert.
4409
4410 2004-03-12  Paolo Carlini  <pcarlini@suse.de>
4411
4412         * docs/html/ext/howto.html: Add entry for DR 253 [Ready].
4413         * include/bits/gslice_array.h: Add comment about DR 253.
4414         * include/bits/indirect_array.h: Likewise.
4415         * include/bits/mask_array.h: Likewise.
4416         * include/bits/slice_array.h: Likewise.
4417
4418 2004-03-12  Benjamin Kosnik  <bkoz@redhat.com>
4419
4420         * testsuite/20_util/allocator/14176.cc: New.
4421         * include/ext/mt_allocator.h: Formatting fixes.
4422
4423 2004-03-11  Dhruv Matani  <dhruvbird@HotPOP.com>
4424
4425         * include/Makefile.am (ext_headers): Add
4426         ${ext_srcdir}/bitmap_allocator.h .
4427         * include/Makefile.in: Regenerate.
4428         * docs/html/ext/ballocator_doc.txt: New file.
4429         * include/ext/bitmap_allocator.h: New file.
4430         * testsuite/performance/20_util/allocator/list_sort_search.cc: Add
4431         test.
4432         * testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
4433         * testsuite/performance/20_util/allocator/producer_consumer.cc: Add
4434         test for the bitmap_allocator<>.
4435         * testsuite/performance/20_util/allocator/insert.cc: Likewise.
4436         * testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
4437         * testsuite/performance/20_util/allocator/map_thread.cc: Likewise.
4438
4439 2004-03-11  Paolo Carlini  <pcarlini@suse.de>
4440
4441         * include/std/std_complex.h (pow(const complex&, const _Tp&),
4442         pow(const _Tp&, const complex&), pow(const complex&,
4443         const complex&)): Fully qualify with std:: a few calls.
4444         * testsuite/26_numerics/complex/13450.cc: Minor tweak.
4445
4446 2004-03-11  Steven Bosscher  <stevenb@suse.de>
4447
4448         PR libstdc++/11706
4449         * include/c_std/cmath.tcc (__cmath_power): Define inline.
4450
4451 2004-03-10  Kelley Cook  <kcook@gcc.gnu.org>
4452
4453         * configure.ac: Bump AC_PREREQ to 2.59.
4454
4455 2004-03-10  Paolo Carlini  <pcarlini@suse.de>
4456
4457         * testsuite/26_numerics/valarray_subset_assignment.cc: Fix typos.
4458
4459 2004-03-10  Paul Kienzle  <pkienzle@nist.gov>
4460             Paolo Carlini  <pcarlini@suse.de>
4461
4462         PR libstdc++/13450
4463         * include/std/std_complex.h (pow(const complex&, const _Tp&),
4464         pow(const _Tp&, const complex&)): Use cmath pow only when safe.
4465         * testsuite/26_numerics/complex/13450.cc: New.
4466
4467         * testsuite/26_numerics/cmath/overloads.C: Rename to overloads.cc.
4468         * testsuite/26_numerics/complex/pow.C: Rename to pow.cc and fix.
4469
4470 2004-03-10  Jerry Quinn  <jlquinn@optonline.net>
4471
4472         PR libstdc++/3247
4473         * include/bits/gslice_array.h (gslice_array()): Make public.
4474         (operator=(gslice_array)): Make public.  Implement.
4475         * include/bits/indirect_array.h (indirect_array()): Make public.
4476         * include/bits/mask_array.h (mask_array()): Make public.
4477         (operator=(mask_array)): Make public.  Implement.
4478         * include/bits/valarray_array.tcc (__valarray_copy):
4479         Comment.  Add versions for gslice_array and mask_array.
4480         * testsuite/26_numerics/valarray_subset_assignment.cc:  New test.
4481
4482 2004-03-09  Benjamin Kosnik  <bkoz@redhat.com>
4483
4484         * testsuite/23_containers/deque/modifiers/swap.cc: Add in bits for
4485         non-weak systems.
4486         * testsuite/23_containers/vector/modifiers/swap.cc: Same.
4487         * testsuite/23_containers/set/modifiers/swap.cc: Same.
4488         * testsuite/23_containers/multiset/modifiers/swap.cc: Same.
4489         * testsuite/23_containers/multimap/modifiers/swap.cc: Same.
4490         * testsuite/23_containers/map/modifiers/swap.cc: Same.
4491         * testsuite/23_containers/list/modifiers/swap.cc: Same.
4492
4493         * testsuite/22_locale/locale/cons/12658_thread.cc: Catch exceptions.
4494
4495 2004-03-08  Benjamin Kosnik  <bkoz@redhat.com>
4496
4497         PR c++/13658
4498         * testsuite/23_containers/deque/modifiers/swap.cc: New.
4499         * testsuite/23_containers/list/modifiers/swap.cc: New.
4500         * testsuite/23_containers/map/modifiers/swap.cc: New.
4501         * testsuite/23_containers/multimap/modifiers/swap.cc: New.
4502         * testsuite/23_containers/multiset/modifiers/swap.cc: New.
4503         * testsuite/23_containers/set/modifiers/swap.cc: New.
4504         * testsuite/23_containers/vector/modifiers/swap.cc: New.
4505
4506 2004-03-08  Petur Runolfsson  <peturr02@ru.is>
4507
4508         PR libstdc++/12658
4509         * testsuite/22_locale/locale/cons/12658_thread.cc: New.
4510
4511 2004-03-08  Paolo Carlini  <pcarlini@suse.de>
4512
4513         * docs/html/ext/howto.html: Add entry for DR 103 [WP].
4514         * include/bits/stl_multiset.h: Add comment about DR 103.
4515         * include/bits/stl_set.h: Likewise.
4516
4517 2004-03-08  Paolo Carlini  <pcarlini@suse.de>
4518
4519         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
4520         The value _space_ indicates that at least one space is required
4521         at that position.
4522         * testsuite/22_locale/money_get/get/char/17.cc: New.
4523         * testsuite/22_locale/money_get/get/wchar_t/17.cc: New.
4524
4525         * testsuite/22_locale/money_get/get/char/7.cc: Minor tweaks.
4526         * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
4527
4528         * include/bits/locale_facets.tcc (money_get<>::do_get(long_double&)):
4529         Remove redundant conditional on __str.size().
4530
4531 2004-03-08  Benjamin Kosnik  <bkoz@redhat.com>
4532
4533         * include/bits/allocator.h: Switch defaults to mt_alloc.
4534
4535 2004-03-06  Benjamin Kosnik  <bkoz@redhat.com>
4536
4537         * include/ext/mt_allocator.h (_S_initialize): If
4538         !__GTHREAD_MUTEX_INIT, then initialize _S_thread_freelist_mutex.
4539
4540 2004-03-06  Benjamin Kosnik  <bkoz@redhat.com>
4541
4542         PR libstdc++/12658
4543         * src/locale_init.cc (locale::locale): Lock critical regions with
4544         external mutexes.
4545         (locale::global): Same.
4546         * include/bits/concurrence.h (__glibcxx_mutex_define_initialized):
4547         Add in once bits for cases without __GTHREAD_MUTEX_INIT.
4548         (__glibcxx_mutex_lock): Same.
4549
4550         * config/cpu/generic/atomicity.h: Remove
4551         _GLIBCXX_NEED_GENERIC_MUTEX, use concurrence.h.
4552         * src/misc-inst.cc: Move all locking bits out of this file.
4553
4554         * config/os/hpux/os_defines.h: Remove _GLIBCXX_INST_ATOMICITY_LOCK.
4555         * src/misc-inst.cc: Same.
4556         * config/cpu/hppa/atomicity.h: Same.
4557
4558         * config/linker-map.gnu: Remove types in the signature of atomic
4559         exports, as they may vary.
4560
4561 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
4562
4563         * include/bits/locale_facets.tcc: Tweak the comment preceding
4564         has_facet: doesn't throw.
4565
4566 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
4567
4568         * testsuite/22_locale/money_get/get/char/1.cc: Clean up.
4569         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
4570         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
4571         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
4572         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
4573         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
4574         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
4575         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
4576
4577 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
4578
4579         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
4580         num_get<>::_M_extract_int, num_get<>::do_get(bool&),
4581         __pad<>::_S_pad): Prefer plain operator== to traits::eq().
4582         * testsuite/testsuite_character.h (struct __gnu_test::character):
4583         Provide operator==.
4584         * testsuite/testsuite_hooks.h (struct __gnu_test::pod_char):
4585         Likewise.
4586
4587 2004-03-05  Paolo Carlini  <pcarlini@suse.de>
4588
4589         * testsuite/27_io/fpos/14320-2.cc: Remove xfail.
4590
4591 2004-03-04  Benjamin Kosnik  <bkoz@redhat.com>
4592
4593         * testsuite/23_containers/multiset/insert/1.cc: Test result string.
4594
4595         * testsuite/23_containers/bitset/invalidation/1.cc: Main always
4596         returns 0.
4597         * testsuite/23_containers/deque/invalidation/4.cc: Same.
4598         * testsuite/23_containers/list/invalidation/1.cc: Same.
4599         * testsuite/23_containers/list/invalidation/2.cc: Same.
4600         * testsuite/23_containers/list/invalidation/3.cc: Same.
4601         * testsuite/23_containers/list/invalidation/4.cc: Same.
4602         * testsuite/23_containers/map/invalidation/2.cc: Same.
4603         * testsuite/23_containers/multimap/invalidation/1.cc: Same.
4604         * testsuite/23_containers/multimap/invalidation/2.cc: Same.
4605         * testsuite/23_containers/multiset/invalidation/1.cc: Same.
4606         * testsuite/23_containers/multiset/invalidation/2.cc: Same.
4607         * testsuite/23_containers/set/invalidation/1.cc: Same.
4608         * testsuite/23_containers/set/invalidation/2.cc: Same.
4609         * testsuite/23_containers/vector/invalidation/1.cc: Same.
4610         * testsuite/23_containers/vector/invalidation/2.cc: Same.
4611         * testsuite/23_containers/vector/invalidation/3.cc: Same.
4612         * testsuite/23_containers/vector/invalidation/4.cc: Same.
4613
4614 2004-03-04  Paolo Carlini  <pcarlini@suse.de>
4615
4616         * scripts/testsuite_flags.in: Add "-D_GLIBCXX_ASSERT" to
4617         CXXFLAGS_save.
4618         * testsuite/lib/libstdc++.exp: Don't add it conditionally to
4619         DEFAULT_CXXFLAGS.
4620         * testsuite/18_support/numeric_limits.cc: Remove "-D_GLIBCXX_ASSERT"
4621         from the dg-options.
4622         * testsuite/23_containers/vector/invalidation/1.cc: Likewise.
4623         * testsuite/23_containers/vector/invalidation/2.cc: Likewise.
4624         * testsuite/23_containers/vector/invalidation/3.cc: Likewise.
4625         * testsuite/23_containers/vector/invalidation/4.cc: Likewise.
4626         * testsuite/23_containers/vector/resize/1.cc: Likewise.
4627         * testsuite/26_numerics/complex_value.cc: Likewise.
4628         * testsuite/27_io/ios_base/storage/1.cc: Likewise.
4629         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
4630         * testsuite/27_io/ios_base/storage/3.cc: Likewise.
4631         * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
4632         * testsuite/27_io/objects/char/5.cc: Likewise.
4633         * testsuite/27_io/objects/wchar_t/5.cc: Likewise.
4634         * testsuite/backward/11460.cc: Likewise.
4635         * testsuite/thread/pthread7-rope.cc: Likewise.
4636
4637         * testsuite/21_strings/basic_string/compare/char/1.cc: Add
4638         missing test variable.
4639         * testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Add
4640         missing test variable.
4641
4642 2004-03-04  Benjamin Kosnik  <bkoz@redhat.com>
4643
4644         * testsuite/20_util/allocator/1.cc: Provide explicit
4645         instantiations for non-weak systems.
4646         * testsuite/20_util/binders.cc: Same.
4647         * testsuite/20_util/allocator/8230.cc: Same.
4648         * testsuite/20_util/allocator/10378.cc: Same.
4649         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
4650         * testsuite/22_locale/ctype/is/char/2.cc: Same.
4651         * testsuite/thread/pthread7-rope.cc: Same.
4652         * testsuite/thread/pthread6.cc: Same.
4653         * testsuite/thread/pthread5.cc: Same.
4654         * testsuite/thread/pthread4.cc: Same.
4655         * testsuite/thread/pthread1.cc: Same.
4656         * testsuite/ext/rope.cc: Same.
4657         * testsuite/ext/hash_set.cc: Same.
4658         * testsuite/ext/hash_map.cc: Same.
4659         * testsuite/ext/concept_checks.cc: Same.
4660         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Same.
4661         * testsuite/25_algorithms/unique/2.cc: Same.
4662         * testsuite/25_algorithms/unique/1.cc: Same.
4663         * testsuite/25_algorithms/rotate.cc: Same.
4664         * testsuite/25_algorithms/min_max.cc: Same.
4665         * testsuite/25_algorithms/equal.cc: Same.
4666         * testsuite/24_iterators/rel_ops.cc: Same.
4667         * testsuite/24_iterators/iterator.cc: Same.
4668         * testsuite/24_iterators/insert_iterator.cc: Same.
4669         * testsuite/24_iterators/front_insert_iterator.cc: Same.
4670         * testsuite/24_iterators/back_insert_iterator.cc: Same.
4671         * testsuite/23_containers/vector/resize/1.cc: Same.
4672         * testsuite/23_containers/vector/modifiers/2.cc: Same.
4673         * testsuite/23_containers/vector/modifiers/1.cc: Same.
4674         * testsuite/23_containers/vector/invalidation/4.cc: Same.
4675         * testsuite/23_containers/vector/invalidation/3.cc: Same.
4676         * testsuite/23_containers/vector/invalidation/2.cc: Same.
4677         * testsuite/23_containers/vector/invalidation/1.cc: Same.
4678         * testsuite/23_containers/vector/element_access/1.cc: Same.
4679         * testsuite/23_containers/vector/cons/6513.cc: Same.
4680         * testsuite/23_containers/vector/cons/3.cc: Same.
4681         * testsuite/23_containers/vector/cons/2.cc: Same.
4682         * testsuite/23_containers/vector/cons/1.cc: Same.
4683         * testsuite/23_containers/vector/capacity/8230.cc: Same.
4684         * testsuite/23_containers/vector/capacity/1.cc: Same.
4685         * testsuite/23_containers/vector/bool/6886.cc: Same.
4686         * testsuite/23_containers/stack/members/7158.cc: Same.
4687         * testsuite/23_containers/set/invalidation/2.cc: Same.
4688         * testsuite/23_containers/set/invalidation/1.cc: Same.
4689         * testsuite/23_containers/queue/members/7157.cc: Same.
4690         * testsuite/23_containers/priority_queue/members/7161.cc: Same.
4691         * testsuite/23_containers/multiset/invalidation/2.cc: Same.
4692         * testsuite/23_containers/multiset/invalidation/2.cc: Same.
4693         * testsuite/23_containers/multiset/insert/1.cc: Same.
4694         * testsuite/23_containers/multimap/invalidation/2.cc: Same.
4695         * testsuite/23_containers/multimap/invalidation/2.cc: Same.
4696         * testsuite/23_containers/map/operators/1.cc: Same.
4697         * testsuite/23_containers/map/invalidation/2.cc: Same.
4698         * testsuite/23_containers/map/invalidation/1.cc: Same.
4699         * testsuite/23_containers/map/insert/1.cc: Same.
4700         * testsuite/23_containers/list/operators/4.cc: Same.
4701         * testsuite/23_containers/list/operators/3.cc: Same.
4702         * testsuite/23_containers/list/operators/2.cc: Same.
4703         * testsuite/23_containers/list/operators/1.cc: Same.
4704         * testsuite/23_containers/list/modifiers/3.cc: Same.
4705         * testsuite/23_containers/list/modifiers/2.cc: Same.
4706         * testsuite/23_containers/list/modifiers/1.cc: Same.
4707         * testsuite/23_containers/list/invalidation/4.cc: Same.
4708         * testsuite/23_containers/list/invalidation/3.cc: Same.
4709         * testsuite/23_containers/list/invalidation/2.cc: Same.
4710         * testsuite/23_containers/list/invalidation/1.cc: Same.
4711         * testsuite/23_containers/list/cons/9.cc: Same.
4712         * testsuite/23_containers/list/cons/8.cc: Same.
4713         * testsuite/23_containers/list/cons/7.cc: Same.
4714         * testsuite/23_containers/list/cons/6.cc: Same.
4715         * testsuite/23_containers/list/cons/5.cc: Same.
4716         * testsuite/23_containers/list/cons/4.cc: Same.
4717         * testsuite/23_containers/list/cons/3.cc: Same.
4718         * testsuite/23_containers/list/cons/2.cc: Same.
4719         * testsuite/23_containers/list/cons/1.cc: Same.
4720         * testsuite/23_containers/list/capacity/1.cc: Same.
4721         * testsuite/23_containers/deque/operators/1.cc: Same.
4722         * testsuite/23_containers/deque/invalidation/4.cc: Same.
4723         * testsuite/23_containers/deque/invalidation/3.cc: Same.
4724         * testsuite/23_containers/deque/invalidation/2.cc: Same.
4725         * testsuite/23_containers/deque/invalidation/1.cc: Same.
4726         * testsuite/23_containers/deque/cons/2.cc: Same.
4727         * testsuite/23_containers/deque/cons/1.cc: Same.
4728
4729         * src/allocator.cc: Add char, wchar_t instantiations
4730         to match extern template declarations in memory.h.
4731
4732 2004-03-03  Paolo Carlini  <pcarlini@suse.de>
4733
4734         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
4735         Fix warning regression.
4736
4737 2004-03-03  Paolo Carlini  <pcarlini@suse.de>
4738
4739         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
4740         Deal properly with empty __digits and negative frac_digits,
4741         clean-up a bit.
4742
4743 2004-03-03  Jonathan Wakely  <redi@gcc.gnu.org>
4744
4745         * docs/html/documentation.html: Regenerate.
4746
4747 2004-03-02  Paolo Carlini  <pcarlini@suse.de>
4748
4749         PR libstdc++/14320
4750         * include/bits/postypes.h (class streamoff): Remove, now
4751         streamoff is just typedef a 64 bit signed integer type.
4752         (class fpos): Tweak consistently.
4753         * testsuite/27_io/fpos/14320-1.cc: New.
4754         * testsuite/27_io/fpos/14320-2.cc: New.
4755         * testsuite/27_io/fpos/14320-3.cc: New.
4756         * testsuite/27_io/fpos/14320-4.cc: New.
4757         * testsuite/27_io/fpos/14320-5.cc: New.
4758         * testsuite/27_io/fpos/mbstate_t/4_neg.cc: xfail for now.
4759
4760 2004-03-02  Paolo Carlini  <pcarlini@suse.de>
4761
4762         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
4763         Reorganize a bit the main parsing loop, thus early detecting
4764         an empty value component.
4765         * testsuite/22_locale/money_get/get/char/16.cc: New.
4766         * testsuite/22_locale/money_get/get/wchar_t/16.cc: New.
4767
4768 2004-03-02  Benjamin Kosnik  <bkoz@redhat.com>
4769
4770         Support automake 1.8.2
4771         * configure.ac (AM_INIT_AUTOMAKE): Add -Wno-override.
4772         * po/Makefile.am (EXTRA_DIST): New.
4773         * po/Makefile.in: Regenerate.
4774         * Makefile.in: Same.
4775         * include/Makefile.in: Same.
4776         * libmath/Makefile.in: Same.
4777         * libsupc++/Makefile.in: Same.
4778         * src/Makefile.in: Same.
4779         * testsuite/Makefile.in: Same.
4780
4781         * include/Makefile.am (${host_builddir}/gthr-posix.h): Use
4782         __GXX_WEAK__ instead of SUPPORTS_WEAK.
4783         (${host_builddir}/gthr-default.h): Same.
4784         (${host_builddir}/gthr.h): Same.
4785         * acinclude.m4 (GLIBCXX_ENABLE_THREAD): Remove
4786         _GLIBCXX_SUPPORTS_WEAK, as this behavior can be modified via
4787         -fno-weak.
4788         * aclocal.m4: Regenerate.
4789         * acconfig.h: Remove _GLIBCXX_SUPPORTS_WEAK.
4790         * config.h.in: Regenerate.
4791         * configure: Same.
4792
4793 2004-03-01  Benjamin Kosnik  <bkoz@redhat.com>
4794
4795         Support autoconf 2.59
4796         * acinclude.m4: Quote correctly.
4797         * aclocal.m4: Regenerate.
4798         * linkage.m4: Same.
4799
4800 2004-03-01  Benjamin Kosnik  <bkoz@redhat.com>
4801
4802         * docs/html/test.html: Add multilib RUNTESTFLAGS example.
4803
4804         * docs/html/18_support/howto.html: Add bit about writing to
4805         stderr, mostly by Zack.
4806
4807 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
4808
4809         * include/bits/locale_facets.tcc (money_get<>::_M_extract,
4810         money_get<>::do_get(string_type&)): ... and two more.
4811
4812 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
4813
4814         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
4815         Fix thinkos in the switch from string_type& to string& as last
4816         argument.
4817
4818 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
4819
4820         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
4821         Also when parsing exponent sign, first look for thousands_sep
4822         and decimal_point; tweak a bit.
4823         * testsuite/22_locale/num_get/get/char/15.cc: New.
4824         * testsuite/22_locale/num_get/get/wchar_t/15.cc: New.
4825
4826         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
4827         num_get<>::_M_extract_int): Reorder some conditionals.
4828
4829 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
4830
4831         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
4832         Consistently with numpunct, enforce the requirements in
4833         22.2.6.3, p3 for the thousands separators; tweak a bit.
4834         * testsuite/22_locale/money_get/get/char/15.cc: New.
4835         * testsuite/22_locale/money_get/get/wchar_t/15.cc: New.
4836
4837 2004-03-01  David Billinghurst <David.Billinghurst@riotinto.com>
4838
4839         * testsuite/lib/libstdc++.exp (v3-list-tests): Use
4840         testsuite_files from correct multilib blddir when running
4841         testsuite.
4842
4843 2004-02-29  Phil Edwards  <phil@codesourcery.com>
4844
4845         * testsuite/Makefile.am (check-abi, check-abi-verbose):  Copy
4846         the summary file to the logfile.
4847         * testsuite/Makefile.in:  Regenerate.
4848
4849 2004-02-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4850
4851         * config/cpu/hppa/atomicity.h (__atomic_add): Make first argument
4852         volatile.
4853         * config/os/hpux/os_defines.h (_GLIBCXX_INST_ATOMICITY_LOCK): Use
4854         __GXX_WEAK__ instead of _GLIBCXX_SUPPORTS_WEAK.
4855
4856 2004-02-28  Paolo Carlini  <pcarlini@suse.de>
4857
4858         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
4859         According to 22.2.3.1, p2, 'units' may be followed by 'e' with
4860         no 'decimal-point' in the middle: in this case too we must fix
4861         up __found_grouping; slightly tweak.
4862         * testsuite/22_locale/num_get/get/char/14.cc: New.
4863         * testsuite/22_locale/num_get/get/wchar_t/14.cc: New.
4864
4865 2004-02-27  Eric Christopher  <echristo@redhat.com>
4866             Phil Edwards  <phil@codesourcery.com>
4867
4868         * testsuite/22_locale/collate/compare/wchar_t/2.cc,
4869         testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc,
4870         testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc,
4871         testsuite/22_locale/collate/hash/wchar_t/2.cc,
4872         testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc,
4873         testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc,
4874         testsuite/22_locale/collate/transform/wchar_t/2.cc,
4875         testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc,
4876         testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
4877         Use dg-require-iconv.
4878         * testsuite/lib/libstdc++.exp:  Load target-supports.exp.
4879
4880 2004-02-27  Phil Edwards  <phil@codesourcery.com>
4881             Eric Christopher  <echristo@redhat.com>
4882
4883         * testsuite/config/default.exp:  Update with comments.
4884         (${tool}_target_compile):  New wrapper routine.
4885         * testsuite/lib/dg-options.exp:  New file, with dg-require-iconv.
4886         * testsuite/lib/libstdc++.exp:  Update with comments and cosmetic
4887         fixes.
4888         (load_gcc_lib, v3track):  New routines.
4889         (v3-init):  Rename to libstdc++_init.
4890         * testsuite/libstdc++-dg/normal.exp:  No longer call v3-init.
4891         Move DEFAULT_CXXFLAGS handling into libstdc++_init.
4892
4893 2004-02-27  Benjamin Kosnik  <bkoz@redhat.com>
4894
4895         * config/cpu/hppa/atomicity.h: Include c++config.h to get defines.
4896
4897         * src/misc-inst.cc (_S_atomicity_lock): Move to __gnu_cxx.
4898
4899         * config/os/irix/irix5.2/atomicity.h: Merge..
4900         * config/os/irix/irix6.5/atomicity.h: Merge..
4901         * config/os/irix/atomicity.h: ...into this.
4902         * config/os/irix/atomic_word.h: New.
4903         * configure.host: Set atomic_word_dir for irix.
4904
4905         * hppa/atomicity.h: Change __Atomicity_lock to _Atomicity_lock.
4906         * i386/atomicity.h: Same.
4907         * m68k/atomicity.h: Same.
4908         * sparc/atomicity.h: Same.
4909
4910 2004-02-27  David Edelsohn  <edelsohn@gnu.org>
4911
4912         * config/os/aix/atomicity.h: Use __gnu_cxx namespace. Remove
4913         static, and inline keywords.
4914
4915 2004-02-27  Paolo Carlini  <pcarlini@suse.de>
4916
4917         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
4918         num_get<>::_M_extract_int, money_get<>::_M_extract): If appropriate,
4919         call reserve on the __tmp_gruping string.
4920         (num_get<>::_M_extract_float): Don't append unnecessarily a
4921         char() to the returned string.
4922         * include/bits/locale_facets.tcc: Trivial reformattings.
4923
4924 2004-02-27  Paolo Carlini  <pcarlini@suse.de>
4925
4926         * include/bits/locale_facets.h (money_get<>::_M_extract):
4927         Change signature: now takes a plain string&.
4928         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
4929         Update consistently the definition; use the moneypunct cache
4930         to parse the value; use swap to change __units.
4931         (money_get<>::do_get(long double&)): Update call of _M_extract,
4932         avoid ctype::narrow, not correct wrt the standard.
4933         (money_get<>::do_get(string_type&)): Likewise, update call
4934         of _M_extract, use ctype::widen.
4935         * src/locale-inst.cc: Tweak instantiations of _M_extract.
4936
4937 2004-02-26  Ian Lance Taylor  <ian@wasabisystems.com>
4938
4939         * testsuite/demangle/abi_examples/01.cc: Expect error -2.
4940         * testsuite/demangle/abi_examples/02.cc: Likewise.
4941         * testsuite/demangle/regression/cw-11.cc: Likewise.
4942         * testsuite/demangle/regression/cw-16.cc: Change two expected
4943         results to match libiberty demangler output.
4944
4945 2004-02-26  Benjamin Kosnik  <bkoz@redhat.com>
4946
4947         PR libstdc++/10246
4948         * libsupc++/Makefile.am: Use libiberty demangler.
4949         (c_sources): Add cp-demangle.c.
4950         * libsupc++/Makefile.in: Regenerate.
4951         * src/Makefile.am (sources): Remove demangle.cc.
4952         * src/Makefile.in: Regenerate.
4953         * include/Makefile.am (bits_headers): Move demangle.h.
4954         (ext_headers): ...here.
4955         * include/Makefile.in: Regenerate.
4956         * include/bits/demangle.h: Move...
4957         * include/ext/demangle.h: ...here.
4958         * src/demangle.cc: Remove.
4959
4960 2004-02-26  Benjamin Kosnik  <bkoz@redhat.com>
4961
4962         * include/bits/demangle.h: Add type template parameter to all
4963         templates with just an Allocator template parameter.
4964
4965 2004-02-25  Benjamin Kosnik  <bkoz@redhat.com>
4966
4967         * include/bits/atomicity.h: New, forward declarations for __atomic_add
4968         and __exchange_and_add.
4969         * config/cpu/generic/atomic_word.h: New, typdef for atomic word.
4970         * config/cpu/cris/atomic_word.h: Same.
4971         * config/cpu/sparc/atomic_word.h: Same.
4972         * include/bits/ios_base.h (_Callback_list::_M_remove_reference):
4973         Qualifiy with __gnu_cxx.
4974         (_Callback_list::_M_add_reference): Same.
4975         * include/bits/locale_classes.h (locale::facet::_M_add_reference): Add.
4976         (locale::facet::_M_remove_reference): Same.
4977         (locale::_Impl::_M_add_reference): Add.
4978         (locale::_Impl::_M_remove_reference): Same.
4979         * include/bits/basic_string.h (basic_string::_Rep::_M_refcopy): Same.
4980         (basic_string::_Rep::_M_dispose): Same.
4981         * src/ios.cc (ios_base::xalloc): Same.
4982         * src/ios_init.cc (ios_base::Init::Init): Same.
4983         (ios_base::Init::~Init): Same.
4984         * src/locale.cc (locale::id::_M_id): Same.
4985         * config/cpu/i486/atomicity.h: Use __gnu_cxx namespace. Remove
4986         static, and inline keywords.
4987         * config/cpu/alpha/atomicity.h: Same.
4988         * config/cpu/cris/atomicity.h: Same.
4989         * config/cpu/generic/atomicity.h: Same.
4990         * config/cpu/hppa/atomicity.h: Same.
4991         * config/cpu/i386/atomicity.h: Same.
4992         * config/cpu/ia64/atomicity.h: Same.
4993         * config/cpu/m68k/atomicity.h: Same.
4994         * config/cpu/mips/atomicity.h: Same.
4995         * config/cpu/powerpc/atomicity.h: Same.
4996         * config/cpu/s390/atomicity.h: Same.
4997         * config/cpu/sparc/atomicity.h: Same.
4998
4999         * src/Makefile.am (host_sources): Add atomicity.cc.
5000         (atomicity.cc): New rule.
5001         * src/Makefile.in: Regenerate.
5002         * include/Makefile.am (host_headers): Remove host atomicity.h.
5003         (host_headers): Add atomic_word.h.
5004         (bits_headers): Add bits atomicity.h.
5005         Change ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
5006         * include/Makefile.in: Regenerate.
5007         * configure.host (atomic_word_dir): Add.
5008         * configure.ac: Substitute ATOMIC_WORD_SRCDIR. Change
5009         ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
5010         * configure: Regenerate.
5011         * config/linker-map.gnu: Export __exchange_and_add, and __atomic_add.
5012
5013         * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
5014         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
5015
5016 2004-02-25  Jonathan Wakely  <redi@gcc.gnu.org>
5017
5018         * docs/html/20_util/howto.html, docs/html/20_util/allocator.html,
5019         docs/html/ext/howto.html, docs/html/ext/mt_allocator.html:
5020         Fix markup, more <link> tags.
5021
5022 2004-02-25  Carlo Wood  <carlo@alinoe.com>
5023
5024         * bits/demangle.h
5025         namespace __gnu_cxx::demangler
5026         (session<Allocator>::qualifier_list_Allocator): Add
5027         (session<Allocator>::M_qualifier_list_alloc): Add
5028         (session<Allocator>::decode_type_with_postfix):
5029         Use M_qualifier_list_alloc instead of calling operator new/delete.
5030
5031 2004-02-24  Paolo Carlini  <pcarlini@suse.de>
5032
5033         PR libstdc++/14252
5034         * include/bits/postypes.h (class streamoff): Add operator++(),
5035         operator++(int), operator--() and operator--(int).
5036         * testsuite/27_io/fpos/14252.cc: New.
5037
5038 2004-02-24  Richard Sandiford  <rsandifo@redhat.com>
5039
5040         * include/bits/locale_facets.tcc (num_get::_M_extract_int): Fix bounds
5041         error in handling of hex constants.
5042
5043 2004-02-24  Paolo Carlini  <pcarlini@suse.de>
5044
5045         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
5046         Prefer basic_string::append to operator+= and a temporary.
5047
5048 2004-02-23  Benjamin Kosnik  <bkoz@redhat.com>
5049
5050         * libsupc++/vterminate.cc (__gnu_cxx::__verbose_terminate_handler):
5051         Only use fputs, not write.
5052
5053 2004-02-23  Benjamin Kosnik  <bkoz@redhat.com>
5054
5055         * include/ext/malloc_allocator.h: Add operators ==, !=.
5056         * include/ext/new_allocator.h: Add operators ==, !=.
5057         * include/ext/mt_allocator.h (__mt_alloc::tune): New.
5058         (__mt_alloc::_S_get_options): New.
5059         (__mt_alloc::_S_set_options): New.
5060         (__mt_alloc::_S_thread_key_destr): To _S_destroy_thread_key.
5061         (__mt_alloc::_S_no_of_bins): To _S_bin_size.
5062         Move functions out of line, simplify, format.
5063         * src/allocator.cc: Simplify explicit instantiations.
5064         * include/bits/allocator.h: Tweak.
5065
5066 2004-02-22  Paolo Carlini  <pcarlini@suse.de>
5067
5068         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
5069         Restructure formatting of value component, first dealing with
5070         the non-decimal digits; use reserve.
5071
5072 2004-02-22  Paolo Carlini  <pcarlini@suse.de>
5073
5074         * include/bits/locale_facets.h (class money_get): Inherit
5075         from money_base too; tweak declaration of _M_extract, now
5076         parameterized on _Intl too.
5077         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
5078         Update definition to use the cache; call reserve on __res to
5079         avoid multiple reallocations; fix parsing of sign component
5080         according to 22.2.6.1.2, p3.
5081         (money_get<>::do_get(long double&),
5082         money_get<>::do_get(string_type&)): Update calls of _M_extract.
5083         * src/locale-inst.cc:  Add instantiations of
5084         money_get::_M_extract<false> and money_get::_M_extract<true>.
5085         * testsuite/22_locale/money_get/get/char/14.cc: New.
5086         * testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto.
5087
5088 2004-02-21  Mark Mitchell  <mark@codesourcery.com>
5089
5090         * libsupc++/vterminate.cc
5091         (__gnu_cxx::__verbose_terminate_handler): Guard against recursive
5092         calls to terminate.
5093         * src/demangle.cc (__cxa_demangle): Wrap in try-catch block.
5094
5095         * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
5096         not set RLIMIT_AS on HP-UX.
5097
5098 2004-02-21  Mark Mitchell  <mark@codesourcery.com>
5099
5100         * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
5101         not set RLIMIT_AS on HP-UX.
5102
5103 2004-02-21  Paolo Carlini  <pcarlini@suse.de>
5104
5105         * include/bits/locale_facets.h (class money_base): Add { _S_minus,
5106         _S_zero, _S_end } enum, _S_atoms.
5107         (struct __moneypunct_cache<>): Parameterize on _Intl too; add
5108         _M_grouping_size, _M_curr_symbol_size, _M_positive_sign_size,
5109         _M_negative_sign_size, _M_atoms; tweak constructor consistently.
5110         (__moneypunct_cache<>::~__moneypunct_cache): Update.
5111         (__moneypunct_cache<>::_M_cache): Fill the cache.
5112         (class moneypunct): Tweak __cache_type typedef.
5113         (class money_put): Inherit from money_base too; tweak declaration
5114         of _M_insert, now parameterized on _Intl.
5115         * include/bits/locale_facets.tcc
5116         (struct __use_cache<__moneypunct_cache<_CharT, _Intl> >): New.
5117         (money_put<>::_M_insert): Update definition to use the cache;
5118         call reserve on __res to avoid multiple reallocations.
5119         (money_put<>::do_put(long double),
5120         money_put<>::do_put(const string_type&): Update calls of _M_insert.
5121         * config/locale/generic/monetary_members.cc
5122         (moneypunct<char, true>::_M_initialize_moneypunct,
5123         moneypunct<char, false>::_M_initialize_moneypunct,
5124         moneypunct<wchar_t, true>::_M_initialize_moneypunct,
5125         moneypunct<wchar_t, false>::_M_initialize_moneypunct): Update.
5126         * config/locale/gnu/monetary_members.cc: Likewise.
5127         * config/locale/gnu/monetary_members.cc
5128         (moneypunct<wchar_t, true>::~moneypunct(),
5129         moneypunct<wchar_t, false>::~moneypunct()): Likewise.
5130         * src/globals_locale.cc: Tweak fake_money_cache_c.
5131         * src/locale-inst.cc: Add instantiations for
5132         money_put::_M_insert<false> and money_put::_M_insert<true> and
5133         __moneypunct_cache<C, false>, __moneypunct_cache<C, true>.
5134         * src/locale_facets.cc: Define money_base::_S_atoms.
5135         * src/locale_init.cc: Update placement new of
5136         __moneypunct_cache<char, false>, __moneypunct_cache<char, true>,
5137         __moneypunct_cache<wchar_t, false>, __moneypunct_cache<wchar_T, true>.
5138
5139         * config/locale/generic/numeric_members.cc: Clean up.
5140         * config/locale/gnu/numeric_members.cc: Likewise.
5141         * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
5142         * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
5143         * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
5144         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
5145         * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
5146         * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
5147
5148 2004-02-20  Mark Mitchell  <mark@codesourcery.com>
5149
5150         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Open
5151         FIFO for writing with ios_base::in|ios_base::out.
5152         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
5153         * testsuite/27_io/objects/char/7.cc: Likewise.
5154         * testsuite/27_io/objects/char/9661-1.cc: Open FIFO for writing
5155         with "r+".
5156
5157 2004-02-19  David Edelsohn  <edelsohn@gnu.org>
5158
5159         * 22_locale/collate/compare/wchar_t/2.cc: Change input-charset
5160         from iso-8859-1 to ISO8859-1.
5161         * 22_locale/collate/compare/wchar_t/wrapped_env.cc: Same.
5162         * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: Same.
5163         * 22_locale/collate/hash/wchar_t/2.cc: Same.
5164         * 22_locale/collate/hash/wchar_t/wrapped_env.cc: Same.
5165         * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: Same.
5166         * 22_locale/collate/transform/wchar_t/2.cc: Same.
5167         * 22_locale/collate/transform/wchar_t/wrapped_env.cc: Same.
5168         * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: Same.
5169
5170 2004-02-18  Paolo Carlini  <pcarlini@suse.de>
5171
5172         * include/bits/locale_facets.h (money_get<>::_M_extract):
5173         New, helper for do_get.
5174         (money_put<>::_M_insert): Likewise, for do_put.
5175         * include/bits/locale_facets.tcc (money_get<>::_M_extract,
5176         money_put<>::_M_insert): Define.
5177         (money_get<>::do_get(long double&), money_get<>::do_get(
5178         string_type&), money_put::do_put(long double),
5179         money_put::do_put(const string_type&)): Use the helpers.
5180
5181 2004-02-18  Paolo Carlini  <pcarlini@suse.de>
5182
5183         * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
5184         Rewrite, avoiding recursion.
5185         (__gnu_internal::xwrite): Minor tweaks.
5186
5187 2004-02-17  Stefan Olsson  <stefan@xapa.se>
5188
5189         * include/ext/mt_allocator.h: Removed the last
5190         pointer. Deallocated blocks are now added to the front of
5191         freelists as proposed by Felix Yen.  This gives roughly 10%
5192         performance boost and saves some memory.
5193         * docs/html/ext/mt_allocator.html: Change due to that deallocated
5194         blocks now are added to the front of freelists. The reason to this
5195         approach is also explained.
5196
5197 2004-02-17  Paolo Carlini  <pcarlini@suse.de>
5198
5199         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
5200         num_get<>::_M_extract_int, money_get<>::do_get): Simplify
5201         grouping fidelity conditional.
5202
5203 2004-02-16  Paolo Carlini  <pcarlini@suse.de>
5204
5205         * testsuite/27_io/basic_filebuf/overflow/char/13858.cc:
5206         Qualify exception with std::.
5207         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto.
5208         * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
5209         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
5210         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
5211         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
5212
5213 2004-02-16  Paolo Carlini  <pcarlini@suse.de>
5214
5215         * testsuite/ext/enc_filebuf/char/13189.cc: Don't check
5216         for now that the catch block is not reached.
5217         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
5218
5219 2004-02-16  Paolo Carlini  <pcarlini@suse.de>
5220
5221         * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
5222         Fix parsing of the remaining sign characters.
5223         * 22_locale/money_get/get/char/2.cc: Tweak: now, correctly,
5224         the input is scanned 'til eof.
5225         * 22_locale/money_get/get/char/4.cc: Likewise.
5226         * 22_locale/money_get/get/wchar_t/2.cc: Likewise.
5227         * 22_locale/money_get/get/wchar_t/4.cc: Likewise.
5228         * 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format,
5229         not do_pos_format: the former is the only one that matters during
5230         input.
5231         * 22_locale/money_get/get/wchar_t/8.cc: Likewise.
5232
5233         * 22_locale/money_get/get/char/6.cc: Minor tweak.
5234         * 22_locale/money_get/get/wchar_t/6.cc: Likewise.
5235
5236 2004-02-15  David Asher  <david.asher@cavium.com>
5237
5238         PR libstdc++/11352
5239         * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't
5240         access __olds beyond __oldlen.
5241
5242 2004-02-14  Paolo Carlini  <pcarlini@suse.de>
5243
5244         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make
5245         sure the exception is actually thrown.
5246         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
5247         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
5248         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
5249
5250 2004-02-14  Paolo Carlini  <pcarlini@suse.de>
5251
5252         PR libstdc++/13858
5253         * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
5254         In case of conversion errors, throw ios_failure; simplify.
5255         * testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
5256         * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
5257         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
5258         previously we didn't throw in case of conversion errors, instead
5259         just returned eof().
5260         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
5261         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
5262         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
5263
5264         * include/bits/fstream.tcc (basic_filebuf<>::overflow):
5265         Trivial simplification of a conditional.
5266
5267 2004-02-12  Paolo Carlini  <pcarlini@suse.de>
5268
5269         PR libstdc++/13731 (final part: writev)
5270         * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
5271         New, a wrapper around writev() handling partial writes.
5272         (__basic_file<char>::xwrite): Move to __gnu_internal and make
5273         static.
5274         (__basic_file<char>::xsputn): Update call.
5275         (__basic_file<char>::xsputn_2): Likewise.
5276         * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
5277         Don't declare, now static.
5278
5279 2004-02-11  Stefan Olsson  <stefan@xapa.se>
5280
5281         * docs/html/ext/mt_allocator.html: New.
5282
5283 2004-02-11  Benjamin Kosnik  <bkoz@redhat.com>
5284
5285         * docs/html/20_util/allocator.html: New file, consolidate
5286         allocator information here. Revamp.
5287         * docs/html/documentation.html: Change links.
5288         * docs/html/20_util/howto.html: Same.
5289         * docs/html/ext/howto.html: Same.
5290
5291 2004-02-11  Paolo Carlini  <pcarlini@suse.de>
5292
5293         PR libstdc++/13731 (first part: write)
5294         * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
5295         New, declare.
5296         * config/io/basic_file_stdio.cc (__basic_file<char>::xwrite):
5297         Define it: a wrapper around write() handling partial write.
5298         (__basic_file<char>::xsputn): Use it.
5299         (__basic_file<char>::xsputn_2): Likewise.
5300
5301 2004-02-11  Paolo Carlini  <pcarlini@suse.de>
5302             Petur Runolfsson  <peturr02@ru.is>
5303
5304         PR libstdc++/14078
5305         * include/std/std_istream.h (operator>>(__istream_type& (*)
5306         (__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
5307         operator>>(ios_base& (*)(ios_base&))): Declare inline.
5308         * include/std/std_ostream.h (operator<<(__ostream_type& (*)
5309         (__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
5310         operator<<(ios_base& (*) (ios_base&))): Likewise.
5311         * testsuite/performance/27_io/fmtflags_manipulators.cc: New.
5312
5313 2004-02-10  Loren J. Rittle  <ljrittle@acm.org>
5314
5315         PR libstdc++/14098
5316         * config/linker-map.gnu: Add typeinfo and typeinfo name for
5317         __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.
5318
5319         PR libstdc++/14097
5320         * config/linker-map.gnu: Add typeinfo and typeinfo name for
5321         __gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.
5322
5323 2004-02-09  Loren J. Rittle  <ljrittle@acm.org>
5324
5325         * include/ext/pool_allocator.h: Include c++config.h.
5326
5327 2004-02-09  Stefan Olsson  <stefan@xapa.se>
5328
5329         * include/ext/mt_allocator.h: thread_id is unused in non threaded
5330         applications and now has a ifdef to remove it completely on
5331         compilers without thread support. Include stdlib.h due to a
5332         compiler warning on getenv().
5333
5334 2004-02-09  Paul Brook  <paul@codesourcery.com>
5335
5336         * libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
5337
5338 2004-02-09  Paolo Carlini  <pcarlini@suse.de>
5339
5340         PR libstdc++/14071
5341         * src/locale_init.cc (locale::global(const locale&)): Use
5342         locale::name() in order to decide whether calling setlocale.
5343         * testsuite/22_locale/locale/global_locale_objects/14071.cc: New.
5344
5345         * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
5346         Avoid computing &= unnecessarily.
5347
5348 2004-02-09  James E Wilson  <wilson@specifixinc.com>
5349
5350         PR libstdc++/5625
5351         * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
5352         __builtin_extend_pointer.
5353
5354 2004-02-09  Paolo Carlini  <pcarlini@suse.de>
5355
5356         PR libstdc++/14072
5357         * include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
5358         Don't leave dangling pointers.
5359         * testsuite/27_io/basic_ios/imbue/14072.cc: New.
5360         * testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
5361         facet is needed in the final test.
5362
5363 2004-02-09  Bernardo Innocenti  <bernie@develer.com>
5364
5365         * crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
5366         * configure: Regenerate.
5367
5368 2004-02-08  Richard Henderson  <rth@redhat.com>
5369
5370         PR libstdc++/14026
5371         * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
5372         uncaughtExceptions during nested catch rethrow.
5373         * testsuite/18_support/14026.cc: New.
5374
5375 2004-02-08  Paolo Carlini  <pcarlini@suse.de>
5376
5377         * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
5378         When working in place remember to set the state to sharable
5379         (otherwise, _M_mutate does it).
5380
5381 2004-02-08  Bernardo Innocenti  <bernie@develer.com>
5382
5383         * include/bits/allocator.h, include/bits/basic_ios.h,
5384         include/bits/basic_ios.tcc, include/bits/basic_string.h,
5385         include/bits/basic_string.tcc, include/bits/boost_concept_check.h,
5386         include/bits/char_traits.h, include/bits/codecvt.h,
5387         include/bits/concurrence.h, include/bits/cpp_type_traits.h,
5388         include/bits/demangle.h, include/bits/deque.tcc,
5389         include/bits/fstream.tcc, include/bits/functexcept.h,
5390         include/bits/gslice.h, include/bits/gslice_array.h,
5391         include/bits/indirect_array.h, include/bits/ios_base.h,
5392         include/bits/istream.tcc, include/bits/list.tcc,
5393         include/bits/locale_classes.h, include/bits/locale_facets.h,
5394         include/bits/locale_facets.tcc, include/bits/localefwd.h,
5395         include/bits/mask_array.h, include/bits/ostream.tcc,
5396         include/bits/postypes.h, include/bits/slice_array.h,
5397         include/bits/sstream.tcc, include/bits/stl_algo.h,
5398         include/bits/stl_algobase.h, include/bits/stl_bvector.h,
5399         include/bits/stl_construct.h, include/bits/stl_deque.h,
5400         include/bits/stl_function.h, include/bits/stl_heap.h,
5401         include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
5402         include/bits/stl_list.h, include/bits/stl_map.h,
5403         include/bits/stl_multimap.h, include/bits/stl_multiset.h,
5404         include/bits/stl_numeric.h, include/bits/stl_pair.h,
5405         include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
5406         include/bits/stl_relops.h, include/bits/stl_set.h,
5407         include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
5408         include/bits/stl_threads.h, include/bits/stl_tree.h,
5409         include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
5410         include/bits/stream_iterator.h, include/bits/streambuf.tcc,
5411         include/bits/streambuf_iterator.h,include/bits/stringfwd.h,
5412         include/bits/type_traits.h, include/bits/valarray_after.h,
5413         include/bits/valarray_array.h, include/bits/valarray_array.tcc,
5414         include/bits/valarray_before.h, include/bits/vector.tcc: Remove
5415         trailing whitespace.
5416
5417 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
5418
5419         * include/bits/basic_string.h: Fix comment.
5420
5421 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
5422
5423         * include/bits/stl_construct.h: Wrap overlong lines, reformat
5424         according to the coding standards.
5425         * include/bits/stl_pair.h: Likewise.
5426         * include/bits/stl_raw_storage_iter.h: Likewise.
5427         * include/bits/stl_stack.h: Likewise.
5428         * include/bits/stl_uninitialized.h: Likewise.
5429         * include/bits/stream_iterator.h: Likewise.
5430         * include/bits/streambuf_iterator.h: Likewise.
5431         * include/bits/type_traits.h: Likewise.
5432
5433 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
5434
5435         * testsuite/27_io/basic_filebuf/open/char/9507.cc:
5436         Adjust timings.
5437
5438 2004-02-05  Loren J. Rittle  <ljrittle@acm.org>
5439
5440         * scripts/check_performance: Support PCH.
5441
5442         * scripts/check_performance (CXX): Add -DNOTHREAD.
5443         * testsuite/performance/20_util/allocator/insert.cc: Integrate
5444         threaded tests from insert_insert.cc.  Tweak iterations,
5445         remove special cases.
5446         * testsuite/performance/20_util/allocator/insert_insert.cc:
5447         Make all tests single-threaded. Tweak iterations.
5448         * testsuite/performance/20_util/allocator/map_thread.cc:
5449         Tweak iterations.
5450         * testsuite/performance/20_util/allocator/producer_consumer.cc:
5451         Likewise.
5452
5453 2004-02-05  Geoffrey Keating  <geoffk@apple.com>
5454
5455         PR 12179
5456         * .cvsignore: New.
5457         * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
5458         'gcc-lib'.  Add comment about poorly-named variables.
5459         * aclocal.m4: Regenerate.
5460         * configure: Regenerate.
5461
5462 2004-02-05  Paolo Carlini  <pcarlini@suse.de>
5463
5464         * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
5465         Thousands-sep are always optional; thousands-sep are not allowed
5466         after the decimal_point.
5467         * testsuite/22_locale/money_get/get/char/12.cc: New.
5468         * testsuite/22_locale/money_get/get/char/13.cc: New.
5469         * testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
5470         * testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
5471
5472         * testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
5473         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
5474         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
5475         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
5476         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
5477         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
5478         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
5479         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
5480
5481         * testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
5482         the standard.
5483         * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
5484
5485 2004-02-05  Richard Sandiford  <rsandifo@redhat.com>
5486
5487         * config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
5488         Define.
5489         * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
5490         it to decide whether FIONREAD should take an off_t or int argument.
5491
5492 2004-02-05  Paolo Carlini  <pcarlini@suse.de>
5493
5494         * include/bits/stl_function.h: Minor formatting changes.
5495
5496 2004-02-04  Zack Weinberg  <zack@codesourcery.com>
5497
5498         Revert previous change to config/abi/*/baseline_symbols.txt.
5499
5500 2004-02-04  Benjamin Kosnik  <bkoz@redhat.com>
5501             Zack Weinberg  <zack@codesourcery.com>
5502
5503         * config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
5504         New function.
5505         (__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
5506         (__basic_file<char>::_M_open_mode): Delete.
5507         * config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
5508
5509         * testsuite/27_io/basic_filebuf/close/char/9964.cc
5510         * testsuite/27_io/basic_filebuf/open/char/9507.cc:
5511         Correct flags to filebuf::open calls.
5512
5513         * config/abi/alpha-freebsd5/baseline_symbols.txt
5514         * config/abi/alpha-linux-gnu/baseline_symbols.txt
5515         * config/abi/hppa-linux-gnu/baseline_symbols.txt
5516         * config/abi/i386-freebsd4/baseline_symbols.txt
5517         * config/abi/i386-freebsd5/baseline_symbols.txt
5518         * config/abi/i486-linux-gnu/baseline_symbols.txt
5519         * config/abi/ia64-linux-gnu/baseline_symbols.txt
5520         * config/abi/mips-linux-gnu/baseline_symbols.txt
5521         * config/abi/sparc-freebsd5/baseline_symbols.txt
5522         * config/abi/sparc-linux-gnu/baseline_symbols.txt
5523         * config/abi/x86_64-linux-gnu/baseline_symbols.txt:
5524         Remove entry for __basic_file<char>::_M_open_mode.
5525
5526 2004-02-04  Loren J. Rittle  <ljrittle@acm.org>
5527
5528         * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
5529
5530 2004-02-04  Felix Yen  <fwy@alumni.brown.edu>
5531
5532         * testsuite/performance/20_util/producer_consumer.cc: New.
5533         * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
5534
5535 2004-02-04  Benjamin Kosnik  <bkoz@redhat.com>
5536
5537         * testsuite/performance/20_util/allocator.cc: Move to..
5538         * testsuite/performance/20_util/allocator/insert.cc: ...here.
5539         * testsuite/performance/20_util/allocator_thread.cc: Move to...
5540         * testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
5541         * testsuite/performance/20_util/allocator_map_thread.cc: Move to...
5542         * testsuite/performance/20_util/allocator/map_thread.cc: ...here.
5543
5544 2004-02-04  Jonathan Wakely  <redi@gcc.gnu.org>
5545
5546         * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
5547         * docs/html/faq/index.txt: Regenerate.
5548
5549 2004-02-04  Dhruv Matani  <dhruvbird@gmx.net>
5550
5551         * include/ext/debug_allocator.h: _M_extra now stands for the
5552         number of extra objects instead of the number of extra bytes.
5553         (debug_allocator::allocate): Adjust.
5554         (debug_allocator::deallocate): Adjust.
5555
5556         * include/ext/pool_allocator.h: Fix typo.
5557
5558 2004-02-03  Felix Yen  <fwy@alumni.brown.edu>
5559             Benjamin Kosnik  <bkoz@redhat.com>
5560
5561         * testsuite/performance/20_util/allocator.cc: Add map,
5562         deque, set tests.
5563         * testsuite/performance/20_util/allocator_thread.cc: Same.
5564
5565 2004-02-03  Paolo Carlini  <pcarlini@suse.de>
5566
5567         * include/bits/basic_string.h (insert(iterator)): Remove,
5568         non-standard and already scheduled for removal.
5569
5570 2004-02-03  Paolo Carlini  <pcarlini@suse.de>
5571
5572         * include/bits/stl_iterator_base_funcs.h: Minor formatting
5573         and indentation tweaks.
5574         * include/bits/stl_iterator_base_types.h: Likewise.
5575         * include/bits/stl_list.h: Likewise.
5576         * include/bits/stl_map.h: Likewise.
5577         * include/bits/stl_tempbuf.h: Likewise.
5578
5579 2004-02-02  Jerry Quinn  <jlquinn@optonline.net>
5580
5581         * include/bits/gslice.h, include/bits/gslice_array.h,
5582         include/bits/indirect_array.h, include/bits/mask_array.h,
5583         include/bits/slice_array.h, include/bits/stl_numeric.h,
5584         include/std/std_valarray.h:  Update copyright years.
5585
5586 2004-02-02  Jerry Quinn  <jlquinn@optonline.net>
5587
5588         * include/bits/gslice.h (gslice):  Document.
5589         * include/bits/gslice_array.h (gslice_array):  Document.
5590         * include/bits/indirect_array (indirect_array):  Document.
5591         * include/bits/mask_array (mask_array):  Document.
5592         * include/bits/slice_array.h (slice,slice_array):  Document.
5593         * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
5594         adjacent_difference):  Document
5595         * include/std/std_valarray.h (valarray):  Document.
5596
5597 2004-02-02  Benjamin Kosnik  <bkoz@redhat.com>
5598
5599         * docs/html/19_diagnostics/howto.html: Move verbose terminate
5600         documentation...
5601         * docs/html/18_support/howto.html: Here.
5602         * docs/html/documentation.html: Add reference here.
5603
5604 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
5605
5606         * config/locale/gnu/c++locale_internal.h: Remove prototypes
5607         of no longer used GLIBC thread locale functions.
5608
5609 2004-02-02  Eric Christopher  <echristo@redhat.com>
5610             Zack Weinberg  <zack@codesourcery.com>
5611
5612         * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
5613         -finput-charset.
5614         * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
5615         * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
5616         * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
5617         * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
5618         * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
5619         * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
5620         * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
5621         * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
5622         Ditto.
5623
5624 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
5625
5626         * include/bits/stl_function.h: Additional minor tweaks.
5627         * include/bits/stl_multiset.h: Likewise.
5628
5629         * include/bits/stl_queue.h: Minor tweaks.
5630
5631 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
5632
5633         PR libstdc++/13976 (continued)
5634         * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
5635         Make the second parameter unnamed, to void unused parameter
5636         warnings.
5637         * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
5638
5639 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
5640
5641         PR libstdc++/13976
5642         * include/ext/malloc_allocator.h (malloc_allocator::allocate):
5643         Make the second parameter unnamed, to void unused parameter
5644         warnings.
5645         * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
5646         * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
5647
5648 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
5649
5650         * include/bits/stl_algo.h: Additional minor tweaks.
5651         * include/bits/stl_map.h: Likewise.
5652         * include/bits/stl_multimap.h: Likewise.
5653         * include/bits/stl_multiset.h: Likewise.
5654         * include/bits/stl_set.h: Likewise.
5655         * include/bits/stl_tree.h: Likewise.
5656
5657 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
5658
5659         * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
5660         Remove, unused.
5661
5662 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
5663
5664         * include/bits/stl_function.h: Additional minor tweaks.
5665
5666 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
5667
5668         * include/bits/deque.tcc: Wrap overlong lines, constify
5669         a few variables, reformat according to the coding standards.
5670         * include/bits/list.tcc: Likewise.
5671         * include/bits/stl_deque.h: Likewise.
5672         * include/bits/stl_function.h: Likewise.
5673         * include/bits/stl_iterator.h: Likewise.
5674         * include/bits/stl_iterator_base_funcs.h: Likewise.
5675         * include/bits/stl_iterator_base_types.h: Likewise.
5676         * include/bits/stl_list.h: Likewise.
5677         * include/bits/stl_map.h: Likewise.
5678         * include/bits/stl_multimap.h: Likewise.
5679         * include/bits/stl_multiset.h: Likewise.
5680         * include/bits/stl_relops.h: Likewise.
5681         * include/bits/stl_set.h: Likewise.
5682
5683 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
5684
5685         * include/bits/stl_bvector.h: Wrap overlong lines, constify
5686         a few variables, reformat according to the coding standards.
5687         * include/bits/stl_tree.h: Likewise.
5688
5689 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
5690
5691         * include/bits/stl_algo.h: Minor additional reformat, add
5692         copyright year.
5693         * include/bits/stl_algobase.h: Add copyright year.
5694
5695 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
5696
5697         * include/bits/stl_algo.h: Wrap overlong lines, constify
5698         a few variables, reformat according to the coding standards.
5699         * include/bits/stl_algobase.h: Likewise.
5700         * include/bits/stl_heap.h: Likewise.
5701
5702 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
5703
5704         * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
5705
5706         * include/bits/basic_string.h: Fix two comments.
5707
5708 2004-01-31  Per Bothner  <per@bothner.com>
5709
5710         * include/ext/mt_allocator.h
5711         (__mt_alloc::_S_thread_freelist_mutex): Guard with
5712         __GTHREAD_MUTEX_INIT.
5713
5714 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
5715
5716         * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
5717
5718 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
5719
5720         * testsuite/21_strings/basic_string/cons/char/6.cc: New.
5721         * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
5722         * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
5723
5724 2004-01-30  Felix Yen  <fwy@alumni.brown.edu>
5725
5726         * testsuite/performance/20_util/allocator_thread.cc (do_loop):
5727         Don't use clear, but instead assign. Use insert.
5728
5729 2004-01-30  Benjamin Kosnik  <bkoz@redhat.com>
5730
5731         * src/demangle.cc: Add instantiations.
5732         * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
5733         * src/Makefile.in: Regenerate.
5734
5735 2004-01-30  David Edelsohn  <edelsohn@gnu.org>
5736
5737         * src/allocator.cc: Protect _S_get_thread_id() and
5738         _S_thread_key_destr() with #ifdef __GTHREADS.
5739
5740 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
5741
5742         Reshuffle performance testsuite.
5743         * testsuite/performance/allocator.cc, allocator_map_thread.cc,
5744         allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
5745         cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
5746         fstream_seek_write.cc, ifstream_extract_float.cc,
5747         ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
5748         list_create_fill_sort.cc, map_create_fill.cc,
5749         narrow_widen_char.cc, narrow_widen_wchar_t.cc,
5750         ofstream_insert_float.cc, ofstream_insert_int.cc,
5751         string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
5752         wchar_t_out.cc: Split into...
5753         * testsuite/performance/20_util/allocator.cc: New.
5754         * testsuite/performance/20_util/allocator_map_thread.cc: New.
5755         * testsuite/performance/20_util/allocator_thread.cc: New.
5756         * testsuite/performance/21_strings/string_append: New.
5757         * testsuite/performance/22_locale/is_wchar_t.cc: New.
5758         * testsuite/performance/22_locale/narrow_widen_char.cc: New.
5759         * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
5760         * testsuite/performance/22_locale/wchar_t_in.cc: New.
5761         * testsuite/performance/22_locale/wchar_t_length.cc: New.
5762         * testsuite/performance/22_locale/wchar_t_out.cc: New.
5763         * testsuite/performance/23_containers/container_benchmark.cc: New.
5764         * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
5765         * testsuite/performance/23_containers/map_create_fill.cc: New.
5766         * testsuite/performance/26_numerics/complex_norm.cc: New.
5767         * testsuite/performance/27_io/cout_insert_int.cc: New.
5768         * testsuite/performance/27_io/filebuf_copy.cc: New.
5769         * testsuite/performance/27_io/filebuf_sputc.cc: New.
5770         * testsuite/performance/27_io/fstream_seek_write.cc: New.
5771         * testsuite/performance/27_io/ifstream_extract_float.cc: New.
5772         * testsuite/performance/27_io/ifstream_extract_int.cc: New.
5773         * testsuite/performance/27_io/ifstream_getline.cc: New.
5774         * testsuite/performance/27_io/ofstream_insert_float.cc: New.
5775         * testsuite/performance/27_io/ofstream_insert_int.cc: New.
5776
5777 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
5778
5779         * include/bits/basic_string.tcc (_Rep::_S_create):
5780         Never allocate a string bigger than max_size(); always keep
5781         __capacity and __size in sync to avoid memory leaks at
5782         deallocation time.
5783
5784 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
5785
5786         * include/bits/basic_string.tcc (_S_construct(_InIterator,
5787         _InIterator, const _Alloc&, input_iterator_tag)): Simplify
5788         the double loop, streamline.
5789
5790         * include/bits/basic_string.tcc: Very minor tweaks.
5791
5792 2004-01-30  Loren J. Rittle  <ljrittle@acm.org>
5793
5794         * scripts/check_performance: Only compile with $THREAD_FLAG
5795         when test is marked to require it.  Allow multiple
5796         compilations/executions of marked tests.
5797         * testsuite/testsuite_performance.h (report_performance):
5798         Report dynamic thread support status.
5799         (report_header): Likewise.
5800         * testsuite/performance/allocator.cc: Stabilize iteration
5801         count.  Support more allocators.  Mark each allocator test to
5802         run and report independently.
5803         * testsuite/performance/allocator_map_thread.cc: Likewise.
5804         * testsuite/performance/allocator_thread.cc: Likewise.
5805
5806 2004-01-29  Stephen M. Webb  <stephen.webb@bregmasoft.com>
5807
5808         * config/local/generic/c_locale.h: Change ::malloc() to new char[].
5809         * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
5810         * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
5811         std::get_temporary_buffer() instead of duplicating its code.
5812         Update to C++STYLE conventions.
5813         * include/std/std_memory.h (get_temporary_buffer): Use ::operator
5814         new() instead of std::malloc().
5815         (return_temporary_buffer): Use ::operator delete() instead of
5816         std::free().
5817
5818 2004-01-29  Benjamin Kosnik  <bkoz@redhat.com>
5819
5820         * include/bits/allocator.h: Temporary switch to new_allocator as
5821         the default to unjam bootstraps.
5822
5823 2004-01-28  Benjamin Kosnik  <bkoz@redhat.com>
5824
5825         * include/Makefile.am (bits_headers): Remove allocator_traits.h.
5826         * include/Makefile.in: Regenerate.
5827         * include/bits/allocator_traits.h: Remove.
5828         * include/bits/allocator.h: Remove allocator_traits.h include, and
5829         relevant comments.
5830         (allocator): Empty base class, inherit from the underlying allocator.
5831         * src/allocator-inst.cc: Move __pool_alloc instantiation to...
5832         * src/allocator.cc: ...here. New. For the underlying allocators.
5833         Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
5834         * config/linker-map.gnu: Remove __pool_alloc bits.
5835         * src/Makefile.am (sources): Add allocator.cc.
5836         * src/Makefile.in: Regenerate.
5837         * testsuite/20_util/allocator/1.cc: Split second test into...
5838         * testsuite/20_util/allocator/8230.cc: ...this.
5839         * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
5840         typedef to use std::allocatore. Format.
5841         * include/ext/pool_allocator.h: Remove allocator_traits.h include,
5842         _Alloc_traits.
5843         * include/ext/mt_allocator.h (__gnu_cxx): Qualify
5844         __throw_bad_alloc calls. Don't include <memory>.
5845         * include/ext/malloc_allocator.h: Remove <memory> include.
5846         * include/ext/new_allocator.h (new_allocator): Same.
5847         * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
5848         declaration. Switch __alloc to _Alloc.
5849         * include/ext/hashtable.h: Remove __alloc.
5850         * include/backward/alloc.h: Only inject allocator, not
5851         implementation details.
5852
5853         * include/ext/mt_allocator.h: Replace free with delete.
5854
5855 2004-01-28  Benjamin Kosnik  <bkoz@redhat.com>
5856
5857         * src/globals_io.cc: Change to __gnu_internal namespace.
5858         * src/globals_locale.cc: Same.
5859         * src/locale_init.cc: Same.
5860         * src/ios_init.cc: Same.
5861
5862 2004-01-28  Stefan Olsson  <stefan@snon.net>
5863
5864         * include/ext/mt_allocator.h: Replaced all malloc() calls with
5865         operator new(). Added support for the env variable
5866         GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
5867         one in allocate() as well). Fix typos.
5868
5869 2004-01-28  Paolo Carlini  <pcarlini@suse.de>
5870
5871         * include/bits/basic_string.h (_S_create(size_t,
5872         const _Alloc&): Change signature to take two size_type
5873         arguments.
5874         * include/bits/basic_string.tcc (_S_construct(_InIterator,
5875         _InIterator, const _Alloc&, input_iterator_tag)): Update
5876         call, tweak a bit.
5877         (_S_construct(_InIterator, _InIterator, const _Alloc&,
5878         forward_iterator_tag)): Likewise.
5879         (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
5880         (_M_mutate(size_type, size_type, size_type)): Don't
5881         implement the exponential growth policy, demand it to
5882         _S_create, update call and simplify.
5883         (_M_clone(const _Alloc&, size_type)): Likewise.
5884         (_S_create(size_type, size_type, const _Alloc&)): Implement
5885         the growth policy, simplify otherwise.
5886
5887         * include/bits/basic_string.h (_Rep::operator[]): Tweak
5888         signature to take a size_type, consistently with the other
5889         members.
5890
5891 2004-01-27  Benjamin Kosnik  <bkoz@redhat.com>
5892
5893         * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
5894         delete declarations, add include and test variable.
5895
5896 2003-01-27  Jerry Quinn  <jlquinn@optonline.net>
5897
5898         * include/bits/codecvt.h, include/bits/locale_facets.h,
5899         include/bits/postypes.h, include/bits/stl_bvector.h,
5900         include/bits/stl_multiset.h, include/bits/stl_set.h,
5901         include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
5902         include/std/std_complex.h:  Document.
5903
5904 2004-01-27  Jerry Quinn  <jlquinn@optonline.net>
5905
5906         PR libstdc++/11584
5907         * include/bits/ios_base.h (ios_base::_M_grow_words):  Add
5908         iword/pword selector.
5909         (ios_base::iword, ios_base::pword):  Use it.
5910         * src/ios.cc (ios_base::_M_grow_words):  Clear _M_word_zero
5911         iword or pword member on alloc failure.
5912         * testsuite/27_io/ios_base/storage/11584.cc:  New test.
5913
5914 2004-01-27  Ulrich Weigand  <uweigand@de.ibm.com>
5915             PJ Darcy  <darcypj@us.ibm.com>
5916
5917         * configure.host: Add support for *-tpf.
5918         * crossconfig.m4: Likewise.
5919         * configure: Regenerate.
5920         * config/os/tpf: New directory.
5921         * config/os/tpf/os_defines.h: New file.
5922         * config/os/tpf/ctype_base.h: Likewise.
5923         * config/os/tpf/ctype_inline.h: Likewise.
5924         * config/os/tpf/ctype_noninline.h: Likewise.
5925
5926 2004-01-27  Paolo Carlini  <pcarlini@suse.de>
5927
5928         PR libstdc++/13884
5929         * include/bits/sstream.tcc: Guard use of extern template.
5930
5931 2004-01-27  Paolo Carlini  <pcarlini@suse.de>
5932
5933         * include/bits/basic_string.tcc
5934         (basic_string(const basic_string&, size_type, size_type),
5935         basic_string(const basic_string&, size_type, size_type,
5936         const _Alloc&)): Avoid unnecessarily constructing iterators.
5937
5938 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
5939
5940         * config/locale/generic/c_locale.cc: Fix throw messages
5941         to use the __N marker.
5942         * config/locale/gnu/c_locale.cc: Likewise.
5943         * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
5944         Likewise.
5945         * docs/html/17_intro/C++STYLE: Likewise.
5946         * include/bits/basic_ios.tcc: Likewise.
5947         * include/bits/fstream.tcc: Likewise.
5948         * include/bits/vector.tcc: Likewise.
5949         * include/ext/ropeimpl.h: Likewise.
5950         * include/std/std_bitset.h: Likewise.
5951         * src/ios.cc: Likewise.
5952         * src/locale.cc: Likewise.
5953         * src/localename.cc: Likewise.
5954
5955 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
5956
5957         * include/bits/basic_string.h (_M_replace_aux): Use the
5958         __N marker in throw message.
5959         * include/bits/basic_string.tcc (assign(const _CharT*,
5960         size_type), insert(size_type, const _CharT*, size_type),
5961         replace(size_type, size_type, const _CharT*, size_type),
5962         reserve, _Rep::_S_create, resize, _M_replace_dispatch):
5963         Likewise.
5964
5965         * include/bits/basic_string.h, include/bits/basic_string.tcc:
5966         Fold overlong lines, minor formatting changes.
5967
5968 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
5969
5970         * include/bits/basic_string.h (replace(iterator, iterator,
5971         const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
5972         (replace(iterator, iterator, const _CharT*)): Ditto.
5973         (replace(iterator, iterator, const _CharT*, size_type)):
5974         Add missing _GLIBCXX_DEBUG_PEDASSERT.
5975
5976 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
5977
5978         * include/bits/basic_string.tcc (replace(size_type,
5979         size_type, const _CharT*, size_type)): Implement optimized
5980         in-place algorithm for non-overlapping ranges.
5981         * testsuite/21_strings/basic_string/replace/char/6.cc: New.
5982         * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
5983
5984         * include/bits/basic_string.tcc (insert(size_type,
5985         const _CharT*, size_type)): Tweak slightly.
5986
5987 2004-01-26  Andreas Schwab  <schwab@suse.de>
5988
5989         * config/locale/gnu/monetary_members.cc: Restore locale before
5990         rethrowing exception.
5991
5992 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
5993
5994         * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
5995         Define inline here.
5996         * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
5997         Move inline.
5998
5999         * include/bits/basic_string.tcc: Very minor tweaks.
6000
6001 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
6002
6003         * testsuite/performance/string_append.cc: Increase number
6004         of iterations.
6005
6006 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
6007
6008         * include/bits/basic_string.h (erase(size_type, size_type),
6009         erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
6010         instead, thus avoiding redundant check for length_error.
6011
6012         * include/bits/basic_string.h: Tweak some comments.
6013
6014 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
6015
6016         * include/bits/basic_string.tcc (operator+(const _CharT*,
6017         const basic_string&)): No need to go through the append
6018         taking two iterators.
6019
6020 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
6021
6022         * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
6023         Revert last change to use std::min: machine language is worse.
6024         (find_last_of(const _CharT*, size_type, size_type)): Ditto.
6025         (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
6026         (find_last_not_of(_CharT, size_type)): Ditto.
6027
6028         * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
6029         size_type)): Discard the value returned by _M_check.
6030         (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
6031         (append(const basic_string&, size_type, size_type)): Ditto.
6032         (copy(_CharT*, size_type, size_type)): Ditto.
6033         (compare(size_type, size_type, const basic_string&)): Ditto.
6034         (compare(size_type, size_type, const basic_string&,
6035         size_type, size_type)): Ditto.
6036         (compare(size_type, size_type, const _CharT*)): Ditto.
6037         (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
6038
6039 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
6040
6041         * include/bits/basic_string.h (insert(size_type,
6042         const basic_string&, size_type, size_type)): Define inline here.
6043         * include/bits/basic_string.tcc (insert(size_type,
6044         const basic_string&, size_type, size_type)): Move inline.
6045
6046 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
6047
6048         * include/bits/basic_string.h (assign(const basic_string&,
6049         size_type, size_type)): Define inline here.
6050         (replace(size_type, size_type, const basic_string&,
6051         size_type, size_type)): Ditto.
6052         (_M_replace_dispatch(iterator, iterator, _InputIterator,
6053         _InputIterator, __false_type)): Only declare.
6054         (_M_replace(iterator, iterator, _InputIterator,
6055         _InputIterator)): Remove.
6056         * include/bits/basic_string.tcc (assign(const basic_string&,
6057         size_type, size_type)): Move inline.
6058         (replace(size_type, size_type, const basic_string&,
6059         size_type, size_type)): Ditto.
6060         (_M_replace_dispatch(iterator, iterator, _InputIterator,
6061         _InputIterator, __false_type)): Define, now does also what
6062         _M_replace did before.
6063         * src/string-inst.cc (_M_replace): Don't instantiate.
6064
6065         * include/bits/basic_string.tcc (find(const _CharT*,
6066         size_type, size_type)): Tidy.
6067         (rfind(_CharT, size_type)): Ditto.
6068         (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
6069         (find_first_not_of(_CharT, size_type)): Ditto.
6070         (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
6071         (find_last_not_of(_CharT, size_type)): Ditto.
6072
6073 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
6074
6075         PR libstdc++/13838
6076         * include/debug/bitset (operator|=): Fix typo.
6077         * testsuite/23_containers/bitset/operations/13838.cc: New.
6078
6079 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
6080
6081         * include/bits/basic_string.tcc (insert(size_type,
6082         const _CharT*, size_type __n)): Fix length_error check.
6083         (replace(size_type, size_type, const _CharT*, size_type):
6084         Ditto; call _M_replace_safe.
6085         (_M_replace_aux(size_type, size_type, size_type, _CharT):
6086         Fix length_error check.
6087         (_M_replace(iterator, iterator, _InputIterator,
6088         _InputIterator)): Ditto, tweak.
6089         (_M_replace_safe(size_type, size_type, const _CharT*,
6090         size_type)): Remove length_error check.
6091
6092         * include/bits/basic_string.tcc (append(const basic_string&),
6093         append(const basic_string&, size_type, size_type)): Tweak
6094         comment.
6095
6096         * include/bits/basic_string.tcc (copy(_CharT*, size_type,
6097         size_type)): If __n == 0 don't call traits::copy.
6098
6099 2004-01-23  Stefan Olsson  <stefan@snon.net>
6100
6101         * include/ext/mt_allocator.h: Reduce lock contention.
6102
6103 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
6104
6105         PR libstdc++/13831
6106         * include/bits/fstream.tcc (underflow): Remove unused
6107         variable.
6108         * include/bits/streambuf_iterator.h (equal): Ditto.
6109         * include/bits/locale_facets.h (_M_convert_from_char):
6110         Ditto.
6111
6112 2004-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6113
6114         PR c/13814
6115         * config/linker-map.gnu (nan): Delete.
6116         * libmath/mathconf.h (NAN, nan): Delete.
6117         * linkage.m4 (nan): Don't check for it.
6118         * libmath/nan.c: Delete file.
6119
6120         * config.h.in, configure: Regenerate.
6121
6122 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
6123
6124         * include/bits/basic_string.h (push_back(_CharT)):
6125         Call _M_replace_aux.
6126         (insert(size_type, const basic_string&)): Trivial tweak.
6127         (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
6128         (insert(iterator, _CharT)): Ditto.
6129         (erase(size_type, size_type)): Ditto.
6130         (erase(iterator)): Ditto.
6131         (erase(iterator, iterator)): Ditto.
6132         (replace(size_type, size_type, size_type, _CharT)): Ditto.
6133
6134 2004-01-23  Loren J. Rittle  <ljrittle@acm.org>
6135
6136         libstdc++/13823
6137         * testsuite/performance/allocator_map_thread.cc: New test.
6138
6139 2004-01-22  Paolo Carlini  <pcarlini@suse.de>
6140
6141         * include/bits/locale_facets.tcc
6142         (money_put::do_put(..., long double)): Use the basic_string
6143         constructor for char arrays, not that for C-strings, to pass
6144         __digits to do_put(..., const string_type&): __ws isn't
6145         null-terminated.
6146
6147 2004-01-22  Paolo Carlini  <pcarlini@suse.de>
6148
6149         * include/bits/basic_string.h (_M_replace_safe): Change
6150         signatures to take size_types and const _CharT*.
6151         (_M_replace_aux): Likewise, takes size_types instead of
6152         iterators.
6153         (append(size_type, _CharT)): Update call.
6154         (assign(size_type, _CharT)): Ditto.
6155         (replace(iterator, iterator, size_type, _CharT)): Ditto.
6156         (_M_replace_dispatch(iterator, iterator, _Integer,
6157         _Integer, __true_type)): Ditto.
6158         * include/bits/basic_string.tcc (assign(const _CharT*,
6159         size_type)): Ditto.
6160         (insert(size_type, const _CharT*, size_type)): Ditto.
6161         (replace(size_type, size_type, const _CharT*,
6162         size_type)): Ditto.
6163         (_M_replace(iterator, iterator, _InputIterator,
6164         _InputIterator)): Ditto.
6165         (append(const basic_string&)): Ditto.
6166         (append(const basic_string&, size_type, size_type): Ditto.
6167         (append(const _CharT*, size_type): Ditto.
6168         (_M_replace_safe, _M_replace_safe): Change definitions
6169         accordingly, simplify.
6170         * string-inst.cc (_M_replace_safe): Don't instantiate.
6171
6172 2004-01-21  Paolo Carlini  <pcarlini@suse.de>
6173
6174         * include/bits/basic_string.tcc (append(const basic_string&)):
6175         Revert previous change.
6176         (append(const basic_string&, size_type, size_type)): Revert
6177         previous change, use _M_check and _M_limit.
6178
6179 2004-01-21  Paolo Carlini  <pcarlini@suse.de>
6180
6181         * include/bits/basic_string.h (_M_check): Change to return
6182         a checked __pos and take an additional const char* argument.
6183         (_M_fold): Rename to _M_limit, change to return a size_type,
6184         corresponding to the __off limited to the actual length.
6185         (insert(size_type, size_type, _CharT)): Update call, call
6186         replace.
6187         (insert(iterator, _CharT)): Call replace(iterator, iterator,
6188         size_type, _CharT) instead.
6189         (erase(size_type, size_type)): Update calls.
6190         (replace(size_type, size_type, size_type, _CharT)): Ditto.
6191         (substr(size_type, size_type)): Use _M_check.
6192         * include/bits/basic_string.tcc (basic_string(const basic_string&,
6193         size_type, size_type)): Update calls.
6194         (basic_string(const basic_string&, size_type, size_type,
6195         const _Alloc&)): Ditto.
6196         (assign(const basic_string&, size_type, size_type)): Use the
6197         new _M_check and _M_limit.
6198         (insert(size_type, const basic_string&, size_type, size_type):
6199         Ditto.
6200         (insert(size_type, const _CharT*, size_type)): Ditto.
6201         (replace(size_type, size_type, const _CharT*, size_type): Ditto.
6202         (replace(size_type, size_type, const basic_string&,
6203         size_type, size_type)): Ditto.
6204         (append(const basic_string&)): Ditto.
6205         (append(const basic_string&, size_type, size_type)): Ditto.
6206         (copy(_CharT*, size_type, size_type)): Ditto.
6207         (compare(size_type, size_type, const basic_string&)): Ditto.
6208         (compare(size_type, size_type, const basic_string&,size_type,
6209         size_type)): Ditto.
6210         (compare(size_type, size_type, const _CharT*)): Ditto.
6211         (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
6212
6213 2004-01-19  Stefan Olsson  <stefan@snon.net>
6214
6215         * include/ext/mt_allocator.h: If a thread, when it dies, still has
6216         memory on it's freelist this memory is not returned to global
6217         list. Simplification of deallocate so that memory is always
6218         returned to the calling thread id's freelist instead of to
6219         global. Fix typos. Add volatile where appropriate.
6220
6221 2004-01-19  Loren J. Rittle  <ljrittle@acm.org>
6222
6223         * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
6224         * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test.  Like -2 but
6225         use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
6226
6227 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
6228
6229         * src/debug.cc: Make sure all the names are prefixed with
6230         double (or single) underscore.
6231
6232 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
6233
6234         * src/debug.cc: Trivial formatting change.
6235
6236 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
6237
6238         * include/bits/basic_string.tcc (_S_construct(size_type,
6239         _CharT, const _Alloc&)): Remove redundant try/catch.
6240         (_M_mutate(size_type, size_type, size_type)): Ditto.
6241         (_M_clone(const _Alloc&, size_type)): Ditto.
6242
6243 2004-01-18  Paolo Carlini  <pcarlini@suse.de>
6244
6245         * include/bits/basic_string.h (c_str()): Simplify, due to
6246         21.3.4 the internal representation is always kept null-terminated.
6247         * include/bits/basic_string.tcc (_M_clone): Null-terminate.
6248         * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
6249         * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
6250         Ditto.
6251
6252 2004-01-18  Paolo Carlini  <pcarlini@suse.de>
6253
6254         * include/bits/basic_string.h (append(size_type, _CharT)):
6255         Moved inline, just call _M_replace_aux, no source iterators at
6256         risk of being clobbered.
6257         (assign(size_type, _CharT)): Call directly _M_replace_aux.
6258         (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
6259         input_iterator_tag)): Remove fifth unused argument.
6260         (_M_replace_dispatch(iterator, iterator, _InputIterator,
6261         _InputIterator, __false_type)): Update call.
6262         * include/bits/basic_string.tcc (replace(size_type, size_type,
6263         const _CharT*, size_type)): Update call.
6264         (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
6265         throw string literal.
6266         (_M_replace_safe(iterator, iterator, _ForwardIterator,
6267         _ForwardIterator)): Likewise.
6268         (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
6269         input_iterator_tag)): Remove fifth unused argument.
6270         (append(size_type __n, _CharT __c)): Move inline.
6271         * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
6272         const C*, const C*, input_iterator_tag)): Remove fifth unused
6273         argument.
6274
6275 2004-01-16  Benjamin Kosnik  <bkoz@redhat.com>
6276
6277         * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
6278         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
6279
6280 2004-01-16  Danny Smith  <dannysmith@users.sourceforge.net>
6281
6282         * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
6283         mkfifo for mingw32.
6284
6285 2004-01-15  Stefan Olsson  <stefan@snon.net>
6286
6287         * include/ext/mt_allocator.h: Reuse thread id's as soon as
6288         possible by changing the behaviour of thread_freelist to do
6289         push_front when threads die instead of push_back.
6290
6291 2004-01-14  Paolo Carlini  <pcarlini@suse.de>
6292
6293         * include/bits/locale_facets.h (struct __numpunct_cache):
6294         Add member _M_grouping_size, caching the length of _M_grouping.
6295         (__numpunct_cache<>::_M_cache): Assign the latter.
6296         (__verify_grouping): Move declaration...
6297         * include/bits/locale_facets.tcc (__verify_grouping):
6298         ... here, change signature to take a const char* and a size_t
6299         for the grouping; not a template anymore.
6300         (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
6301         Likewise change signature and tweak consistently.
6302         (num_get::_M_extract_float, num_get::_M_extract_int,
6303         num_put::_M_insert_int, num_put::_M_insert_float,
6304         money_get::do_get(string_type&), money_get::do_put(string_type)):
6305         Update callers.
6306         * config/locale/generic/numeric_members.cc
6307         (numpunct<>::_M_initialize_numpunct): Assign the new member.
6308         * config/locale/gnu/numeric_members.cc
6309         (numpunct<>::_M_initialize_numpunct): Likewise.
6310         * src/locale-inst.cc (__add_grouping): Tweak signature.
6311         (__verify_grouping): Don't instantiate, not a template anymore.
6312
6313         * include/bits/locale_facets.h: Rename _M_truename_len ->
6314         _M_truename_size, _M_falsename_len -> _M_falsename_size.
6315         * include/bits/locale_facets.tcc: Likewise.
6316         * config/locale/generic/numeric_members.cc: Likewise.
6317         * config/locale/gnu/numeric_members.cc: Likewise.
6318
6319 2004-01-14  Stefan Olsson  <stefan@snon.net>
6320
6321         * include/ext/mt_allocator.h: Fixups.
6322         * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
6323         * testsuite/performance/allocator_thread.cc: Same.
6324
6325 2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>
6326
6327         * testsuite/performance/ifstream_extract_float.cc: Add higher
6328         precision tests.
6329         * testsuite/performance/ofstream_insert_float.cc: Same.
6330
6331 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
6332
6333         * src/locale-misc-inst.cc (__convert_from_v(long),
6334         __convert_from_v(unsigned long), __convert_from_v(long long),
6335         __convert_from_v(unsigned long long)): Remove, unused.
6336
6337 2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>
6338
6339         * testsuite/performance/ifstream_extract_float.cc: New.
6340         * testsuite/performance/ofstream_insert_float.cc: Float generation
6341         matches above.
6342
6343         * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
6344         * 20_util/auto_ptr/1.cc: ...this.
6345         * 20_util/auto_ptr/2.cc: Same.
6346         * 20_util/auto_ptr/3.cc: Same.
6347         * 20_util/auto_ptr/3946.cc: Same.
6348         * 20_util/auto_ptr/4.cc: Same.
6349         * 20_util/auto_ptr/5.cc: Same.
6350         * 20_util/auto_ptr/6.cc: Same.
6351         * 20_util/auto_ptr/7.cc: Same.
6352         * 20_util/auto_ptr/assign_neg.cc
6353         * 20_util/pairs.cc: Break into...
6354         * 20_util/pair/1.cc: ...this.
6355         * 20_util/pair/2.cc: Same.
6356         * 20_util/pair/3.cc: Same.
6357         * 20_util/pair/4.cc: Same.
6358
6359 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
6360
6361         * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
6362         Set correctly just basefield, the only group that matters.
6363
6364 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
6365
6366         * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
6367         (_Rope_rep_base): Inherit directly from the rope allocator;
6368         use rebinding instead of _Alloc_traits; pick up data member
6369         from _Rope_rep_alloc_base.
6370         (_Rope_alloc_base): Eliminate.
6371         (_Rope_base): Inherit directly from the rope allocator; use
6372         rebinding instead of _Alloc_traits; pick up data member from
6373         _Rope_alloc_base.
6374         (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
6375         rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
6376
6377 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
6378
6379         PR libstdc++/13650
6380         * include/bits/basic_string.tcc (compare(size_type, size_type,
6381         const _CharT*, size_type)): Implement correctly the resolution
6382         of DR 5: basically, s is a char array, -not- a C string.
6383         * include/bits/basic_string.h: Tweak some comments.
6384         * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
6385         * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
6386
6387 2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
6388
6389         * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
6390         Solaris.
6391
6392 2004-01-12  Paolo Carlini  <pcarlini@suse.de>
6393
6394         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
6395         Use try_mkfifo.
6396         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
6397         Likewise.
6398
6399 2004-01-12  Paolo Carlini  <pcarlini@suse.de>
6400
6401         * include/bits/locale_facets.h (struct __numpunct_cache):
6402         Add members _M_truename_len and _M_falsename_len, caching
6403         the lengths of _M_truename and _M_falsename.
6404         (__numpunct_cache<>::_M_cache): Assign the latter.
6405         * include/bits/locale_facets.tcc (num_get::do_get(bool&),
6406         num_put::do_put(bool)): Use the new members, thus avoiding
6407         computing string lengths again and again.
6408         * config/locale/generic/numeric_members.cc
6409         (numpunct<>::_M_initialize_numpunct): Assign the new members.
6410         * config/locale/gnu/numeric_members.cc
6411         (numpunct<>::_M_initialize_numpunct): Likewise.
6412
6413 2004-01-12  Mark Mitchell  <mark@codesourcery.com>
6414
6415         * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
6416         * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
6417         it.
6418         * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
6419         and remove Cygwin XFAIL.
6420         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
6421         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
6422         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
6423         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
6424         Likewise.
6425         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
6426         * testsuite/27_io/objects/char/7.cc: Likewise.
6427         * testsuite/27_io/objects/char/9661-1.cc: Likewise.
6428         * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
6429         * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
6430
6431 2004-01-11  Gabriel Dos Reis  <gdr@integrable-solutions.net>
6432
6433         * include/std/std_complex.h (std::complex<>::real): Return a
6434         reference. Add non-const overload.
6435         (std::complex<>::real): Likewise.
6436         (std::real): Likewise.
6437         (std::imag): Likewise.
6438         (std::operator+): Tidy.
6439         (std::operator-): Likewise.
6440         (std::operator*): Likewise.
6441         (std::operator/): Likewise.
6442         (std::operator>>): Likewise.
6443
6444 2004-01-11  Paolo Carlini  <pcarlini@suse.de>
6445
6446         PR libstdc++/13582
6447         * include/bits/fstream.tcc (imbue): Exploit the external
6448         buffer to imbue 'on the fly' a new locale and convert its
6449         remainder with the new codecvt facet.
6450         (underflow): Tweak slightly to deal with this special case.
6451         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
6452         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
6453         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
6454         * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
6455         * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
6456
6457 2004-01-10  Paolo Carlini  <pcarlini@suse.de>
6458
6459         * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
6460         Import Revision 28.
6461
6462 2004-01-10  Paolo Carlini  <pcarlini@suse.de>
6463
6464         PR libstdc++/13630
6465         * include/bits/locale_classes.h (class locale): Fix category
6466         typedef.
6467         * testsuite/22_locale/locale/13630.cc: Add.
6468
6469 2004-01-10  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
6470
6471         * include/bits/locale_facets.h: Make a name really dependent. This
6472         will be needed when Core Issue 224 is implemented.
6473
6474 2004-01-09  Paolo Carlini  <pcarlini@suse.de>
6475
6476         * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
6477         * testsuite/performance/allocator_thread.cc: Likewise.
6478
6479 2004-01-07  Benjamin Kosnik  <bkoz@redhat.com>
6480
6481         * crossconfig.m4: Add LFS, io bits to linux cross config.
6482         * acconfig.h: Remove obsolete bits, reorder.
6483         * config.h.in: Regenerate.
6484         * aclocal.m4: Same.
6485         * configure: Same.
6486
6487 2004-01-07  Gawain Bolton  <gp.bolton@computer.org>
6488
6489         * include/bits/stl_list.h:
6490         * include/bits/list.tc:
6491         * src/list.cc:
6492         Performance enhancements for destructor, push_front(),
6493         push_back(), pop_front(), pop_back(), sort()
6494         Eliminated static_casts where possible.
6495         Moved code out of header files into new src/list.cc
6496         implementation file for library where possible.
6497         Remove inheritance from iterator class and create separate
6498         classes for non-constant and constant iterators.
6499         * include/bits/stl_tree.h (_Rb_tree class):
6500         * src/tree.cc:
6501         Only erase contents in destructor.
6502         Eliminate unnecessary initialization in assignment operator.
6503         Optimize for the nominal case by not checking whether
6504         container is empty in clear().
6505         Re-order test in _M_insert() to improve performance.
6506         Move initialization of new node's left & right pointers to
6507         src/tree.cc to where new node's colour is initialized
6508         and to reduce the amount of inline code.
6509         Use  _M_leftmost() and _M_end() to improve readability where
6510         appropriate.
6511         Create separate classes for non-constant and constant
6512         iterators to clarify code, avoid extra template parameters and
6513         casting away constness.
6514
6515 2004-01-07  Benjamin Kosnik  <bkoz@redhat.com>
6516
6517         * src/Makefile.am (sources): Add list.cc, tree.cc.
6518         * src/stl_tree.cc: Move to...
6519         * src/tree.cc: ...here.
6520         * src/list.cc: Add.
6521         * config/linker-map.gnu: Tweaks.
6522         * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
6523         * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
6524
6525         * bits/stl_vector.h: Column wrap comments.
6526
6527 2004-01-07  Loren J. Rittle  <ljrittle@acm.org>
6528
6529         (re-open) PR libstdc++/12658
6530         * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
6531         (locale::global): Likewise.
6532
6533 2004-01-07  Paolo Carlini  <pcarlini@suse.de>
6534
6535         * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
6536         Remove redundant #include.
6537         * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
6538         * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
6539         re-enable normal testing.
6540         * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
6541         #include.
6542         * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
6543         * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
6544         Likewise.
6545         * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
6546         Likewise.
6547         * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
6548         Likewise.
6549         * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
6550         Likewise.
6551         * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
6552         Likewise.
6553         * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
6554         Likewise.
6555         * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
6556         Likewise.
6557         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
6558         More properly, #include <locale>.
6559         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
6560         Remove redundant #include.
6561         * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
6562         * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
6563         redundant DejaGnu directive.
6564         * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
6565         redundant #include.
6566
6567 2004-01-06  Benjamin Kosnik  <bkoz@redhat.com>
6568             Stefan Olsson  <stefan@snon.net>
6569
6570         * scripts/check_performance: Use -pthread.
6571         * testsuite/performance/allocator.cc: Tweaks, add list.
6572         * testsuite/performance/allocator_thread.cc: New.
6573
6574 2004-01-06  Jerry Quinn  <jlquinn@optonline.net>
6575
6576         * include/bits/locale_facets.h: Document public classes and
6577         functions.
6578         * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
6579         Add comment.
6580
6581 2004-01-06  Paolo Carlini  <pcarlini@suse.de>
6582
6583         * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
6584         Remove redundant #includes.
6585         * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
6586         Likewise.
6587         * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
6588         Likewise.
6589         * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
6590         * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
6591         * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
6592         * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
6593         * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
6594         * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
6595         * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
6596         * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
6597         * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
6598         * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
6599         * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
6600         * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
6601         * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
6602         * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
6603         * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
6604         Likewise.
6605         * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
6606         Likewise.
6607         * testsuite/27_io/basic_istream/readsome/char/8258.cc:
6608         Likewise.
6609         * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
6610         Likewise.
6611         * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
6612         Likewise.
6613         * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
6614         * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
6615         * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
6616
6617 2004-01-04  Paolo Carlini  <pcarlini@suse.de>
6618
6619         * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
6620         Remove redundant #includes.
6621         * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
6622         Likewise.
6623         * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
6624         Likewise.
6625         * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
6626         Likewise.
6627         * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
6628         Likewise.
6629         * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
6630         Likewise.
6631         * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
6632         Likewise.
6633         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
6634         Likewise.
6635         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
6636         Likewise.
6637         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
6638         Likewise.
6639         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
6640         Likewise.
6641         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
6642         Likewise.
6643         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
6644         Likewise.
6645
6646 2004-01-04  Mark Mitchell  <mark@codesourcery.com>
6647
6648         PR c++/12226
6649         * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
6650         constructor.
6651         * testsuite/27_io/basic_fstream/4.cc: Likewise.
6652         * testsuite/27_io/basic_ifstream/4.cc: Likewise.
6653         * testsuite/27_io/basic_ios/4.cc: Likewise.
6654         * testsuite/27_io/basic_iostream/4.cc: Likewise.
6655         * testsuite/27_io/basic_istream/4.cc: Likewise.
6656         * testsuite/27_io/basic_istingstream/4.cc: Likewise.
6657         * testsuite/27_io/basic_ofstream/4.cc: Likewise.
6658         * testsuite/27_io/basic_ostream/4.cc: Likewise.
6659         * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
6660         * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
6661         * testsuite/27_io/basic_stringstream/4.cc: Likewise.
6662
6663 2004-01-04  Paolo Carlini  <pcarlini@suse.de>
6664
6665         * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
6666         Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
6667         always use double underscored names.
6668         * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
6669         Likewise.
6670         * include/bits/locale_facets.h (struct __numpunct_cache):
6671         Dimension _M_atoms_out and _M_atoms_in one position smaller.
6672         (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out
6673         and _M_atoms_in.