OSDN Git Service

2004-03-23 Benjamin Kosnik <bkoz@redhat.com>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
1 2004-03-23  Benjamin Kosnik  <bkoz@redhat.com>
2
3         * include/bits/locale_facets.h: Tweaks for 80 column.
4         (__numpunct_cache::_M_cache): Move to locale_facets.tcc.
5         (__moneypunct_cache::_M_cache): Same.
6         (num_get): Don't inherit from __num_base.
7         (num_put): Same.
8         (money_get): Don't inherit from money_base.
9         (money_put): Same.
10         (__timepunct::_M_am_pm_format): New.
11         (time_get::_M_extract_num): Return iterator, use ios_base as argument.
12         (time_get::_M_extract_name): Same.
13         (time_get::_M_extract_via_format): Same.
14         * include/bits/locale_facets.tcc: Tweaks for 80 column.
15         Use _M_getloc instead of getloc.
16         * testsuite/22_locale/money_put/put/char/9780-3.cc: New.
17         * testsuite/22_locale/num_put/put/char/9780-2.cc: New.
18         * testsuite/22_locale/time_put/put/char/9780-1.cc: New.
19
20 2004-03-22  Paolo Carlini  <pcarlini@suse.de>
21
22         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add pool_allocator.
23         * configure: Regenerate.
24         * config/allocator/pool_allocator_base.h: New.
25         * include/ext/pool_allocator.h: Convert to a standard-conforming
26         allocator.
27         * src/allocator.cc: Tweak instantiations.
28         * testsuite/performance/20_util/allocator/insert.cc: Add __pool_alloc.
29         * testsuite/performance/20_util/allocator/insert_insert.cc: Ditto.
30         * testsuite/performance/20_util/allocator/list_sort_search.cc: Ditto.
31         * testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
32         * testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
33         * testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
34
35 2004-03-22  Hans-Peter Nilsson  <hp@axis.com>
36
37         * config/cpu/cris/atomicity.h (__atomic_add): Remove "static
38         inline" and attribute-unused.  Qualify parameter __mem with
39         "volatile".
40         (__exchange_and_add): Ditto.  Add back memory clobber to asm.
41
42 2004-03-20  Paolo Carlini  <pcarlini@suse.de>
43
44         * testsuite/27_io/basic_istream/extractors_arithmetic/char/2.cc:
45         Remove junk.
46         * testsuite/27_io/basic_istream/extractors_arithmetic/char/3.cc:
47         Likewise.
48         * testsuite/27_io/basic_istream/extractors_arithmetic/char/6.cc:
49         Likewise.
50         * testsuite/27_io/basic_istream/extractors_arithmetic/char/7.cc:
51         Likewise.
52         * testsuite/27_io/basic_istream/extractors_arithmetic/char/8.cc:
53         Likewise.
54         * testsuite/27_io/basic_istream/extractors_arithmetic/char/9.cc:
55         Likewise.
56         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
57         Likewise.
58         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
59         Likewise.
60         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
61         Likewise.
62         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
63         Likewise.       
64
65 2004-03-20  Paolo Carlini  <pcarlini@suse.de>
66
67         * include/std/std_valarray.h: Document DR389 [Ready].
68         * docs/html/ext/howto.html: Add an entry for DR389.
69
70 2004-03-19  Michael Eager  <eager@mvista.com>
71
72         * config/cpu/mips/atomicity.h:  Prevent reg loads between LL and
73         SC instructions.
74
75 2004-03-19  Paolo Carlini  <pcarlini@suse.de>
76
77         * testsuite/22_locale/num_get/get/char/11.cc: Remove redundant
78         static_cast-s.
79         * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
80         * testsuite/22_locale/num_get/get/char/13.cc: Likewise.
81         * testsuite/22_locale/num_get/get/char/14.cc: Likewise.
82         * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
83         * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
84         * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
85         * testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise.
86         * testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise.
87         * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
88
89 2004-03-19  Paolo Carlini  <pcarlini@suse.de>
90             Petur Runolfsson  <peturr02@ru.is>
91
92         PR libstdc++/12077
93         * include/ext/stdio_sync_filebuf.h (showmanyc): Remove, there's
94         no way to find out the conversion used by the underlying FILE*.
95         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: New.
96         * testsuite/27_io/objects/char/9.cc: Tweak.
97
98 2004-03-19  Paolo Carlini  <pcarlini@suse.de>
99
100         PR libstdc++/14648
101         * include/ext/ropeimpl.h (rope<>::_S_apply_to_pieces): Fix
102         memory allocation/deallocation calls.
103         * testsuite/ext/14648.cc: New.
104
105 2004-03-19  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
106
107         PR libstdc++/14647
108         * include/backward/bvector.h (bit_vector): Allocator is in std
109         namespace.
110
111 2004-03-19  Phil Edwards  <phil@codesourcery.com>
112
113         * acinclude.m4 (GLIBCXX_CHECK_WCHAR_T_SUPPORT):  Set LIBICONV,
114         not libiconv.  SUBST this variable as well.
115         * testsuite/Makefile.am (site.exp):  New target, based on that
116         created by automake.  Also set libiconv.
117
118         * configure, Makefile.in, include/Makefile.in, libmath/Makefile.in,
119         libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
120         testsuite/Makefile.in:  Regenerate.
121
122 2004-03-16  Benjamin Kosnik  <bkoz@redhat.com>
123
124         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Default setting is
125         new_allocator for all hosts.
126         * configure: Regenerate.
127         
128 2004-03-16  Paolo Carlini  <pcarlini@suse.de>
129
130         * testsuite/22_locale/num_put/put/char/4.cc: Fix for 64-bit pointers.
131         * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
132         
133 2004-03-15  Paolo Carlini  <pcarlini@suse.de>
134
135         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
136         Adjust the logic underlying the parsing of symbol to deal
137         correctly with an optional sign component (i.e., when either
138         negative_sign or positive_sign is empty) 
139         * testsuite/22_locale/money_get/get/char/19.cc: New.
140         * testsuite/22_locale/money_get/get/wchar_t/19.cc: New.
141
142 2004-03-15  Paolo Carlini  <pcarlini@suse.de>
143
144         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
145         Do not accept an incomplete currency symbol.
146         * testsuite/22_locale/money_get/get/char/18.cc: New.
147         * testsuite/22_locale/money_get/get/wchar_t/18.cc: New.
148
149 2004-03-13  Benjamin Kosnik  <bkoz@redhat.com>
150
151         * config/allocator: New.
152         * config/allocator/bitmap_allocator_base.h: New.
153         * config/allocator/malloc_allocator_base.h: New.
154         * config/allocator/mt_allocator_base.h: New.
155         * config/allocator/new_allocator_base.h: New.
156         * include/bits/allocator.h: Include c++allocator.h.
157         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): New.
158         * aclocal.m4: Regenerate.
159         * configure.ac: Use GLIBCXX_ENABLE_ALLOCATOR. 
160         * configure: Regenerate.
161         * include/Makefile.am (host_headers_extra): Add c++allocator.h.
162         * include/Makefile.in: Regenerate.
163         * docs/html/configopts.html: Add enable-libstdcxx-allocator.
164
165 2004-03-12  Benjamin Kosnik  <bkoz@redhat.com>
166
167         * include/bits/allocator.h: Revert.
168
169 2004-03-12  Paolo Carlini  <pcarlini@suse.de>
170
171         * docs/html/ext/howto.html: Add entry for DR 253 [Ready].
172         * include/bits/gslice_array.h: Add comment about DR 253.
173         * include/bits/indirect_array.h: Likewise.
174         * include/bits/mask_array.h: Likewise.
175         * include/bits/slice_array.h: Likewise.
176
177 2004-03-12  Benjamin Kosnik  <bkoz@redhat.com>
178
179         * testsuite/20_util/allocator/14176.cc: New.
180         * include/ext/mt_allocator.h: Formatting fixes.
181         
182 2004-03-11  Dhruv Matani  <dhruvbird@HotPOP.com>
183
184         * include/Makefile.am (ext_headers): Add
185         ${ext_srcdir}/bitmap_allocator.h .
186         * include/Makefile.in: Regenerate.
187         * docs/html/ext/ballocator_doc.txt: New file.
188         * include/ext/bitmap_allocator.h: New file.
189         * testsuite/performance/20_util/allocator/list_sort_search.cc: Add 
190         test.
191         * testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
192         * testsuite/performance/20_util/allocator/producer_consumer.cc: Add
193         test for the bitmap_allocator<>.
194         * testsuite/performance/20_util/allocator/insert.cc: Likewise.
195         * testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
196         * testsuite/performance/20_util/allocator/map_thread.cc: Likewise.
197
198 2004-03-11  Paolo Carlini  <pcarlini@suse.de>
199
200         * include/std/std_complex.h (pow(const complex&, const _Tp&),
201         pow(const _Tp&, const complex&), pow(const complex&,
202         const complex&)): Fully qualify with std:: a few calls.
203         * testsuite/26_numerics/complex/13450.cc: Minor tweak.
204
205 2004-03-11  Steven Bosscher  <stevenb@suse.de>
206
207         PR libstdc++/11706
208         * include/c_std/cmath.tcc (__cmath_power): Define inline.
209
210 2004-03-10  Kelley Cook  <kcook@gcc.gnu.org>
211
212         * configure.ac: Bump AC_PREREQ to 2.59.
213
214 2004-03-10  Paolo Carlini  <pcarlini@suse.de>
215
216         * testsuite/26_numerics/valarray_subset_assignment.cc: Fix typos.
217
218 2004-03-10  Paul Kienzle  <pkienzle@nist.gov>
219             Paolo Carlini  <pcarlini@suse.de>
220
221         PR libstdc++/13450
222         * include/std/std_complex.h (pow(const complex&, const _Tp&),
223         pow(const _Tp&, const complex&)): Use cmath pow only when safe.
224         * testsuite/26_numerics/complex/13450.cc: New.
225
226         * testsuite/26_numerics/cmath/overloads.C: Rename to overloads.cc.
227         * testsuite/26_numerics/complex/pow.C: Rename to pow.cc and fix.
228
229 2004-03-10  Jerry Quinn  <jlquinn@optonline.net>
230
231         PR libstdc++/3247
232         * include/bits/gslice_array.h (gslice_array()): Make public.
233         (operator=(gslice_array)): Make public.  Implement.
234         * include/bits/indirect_array.h (indirect_array()): Make public.
235         * include/bits/mask_array.h (mask_array()): Make public.
236         (operator=(mask_array)): Make public.  Implement.
237         * include/bits/valarray_array.tcc (__valarray_copy):
238         Comment.  Add versions for gslice_array and mask_array.
239         * testsuite/26_numerics/valarray_subset_assignment.cc:  New test.
240
241 2004-03-09  Benjamin Kosnik  <bkoz@redhat.com>
242
243         * testsuite/23_containers/deque/modifiers/swap.cc: Add in bits for
244         non-weak systems.
245         * testsuite/23_containers/vector/modifiers/swap.cc: Same.
246         * testsuite/23_containers/set/modifiers/swap.cc: Same.
247         * testsuite/23_containers/multiset/modifiers/swap.cc: Same.
248         * testsuite/23_containers/multimap/modifiers/swap.cc: Same.
249         * testsuite/23_containers/map/modifiers/swap.cc: Same.
250         * testsuite/23_containers/list/modifiers/swap.cc: Same.
251
252         * testsuite/22_locale/locale/cons/12658_thread.cc: Catch exceptions.
253
254 2004-03-08  Benjamin Kosnik  <bkoz@redhat.com>
255         
256         PR c++/13658
257         * testsuite/23_containers/deque/modifiers/swap.cc: New.
258         * testsuite/23_containers/list/modifiers/swap.cc: New.
259         * testsuite/23_containers/map/modifiers/swap.cc: New.
260         * testsuite/23_containers/multimap/modifiers/swap.cc: New.
261         * testsuite/23_containers/multiset/modifiers/swap.cc: New.
262         * testsuite/23_containers/set/modifiers/swap.cc: New.
263         * testsuite/23_containers/vector/modifiers/swap.cc: New.
264         
265 2004-03-08  Petur Runolfsson  <peturr02@ru.is>
266
267         PR libstdc++/12658
268         * testsuite/22_locale/locale/cons/12658_thread.cc: New.
269
270 2004-03-08  Paolo Carlini  <pcarlini@suse.de>
271
272         * docs/html/ext/howto.html: Add entry for DR 103 [WP].
273         * include/bits/stl_multiset.h: Add comment about DR 103.
274         * include/bits/stl_set.h: Likewise.
275
276 2004-03-08  Paolo Carlini  <pcarlini@suse.de>
277
278         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
279         The value _space_ indicates that at least one space is required
280         at that position.
281         * testsuite/22_locale/money_get/get/char/17.cc: New.
282         * testsuite/22_locale/money_get/get/wchar_t/17.cc: New.
283
284         * testsuite/22_locale/money_get/get/char/7.cc: Minor tweaks.
285         * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
286
287         * include/bits/locale_facets.tcc (money_get<>::do_get(long_double&)):
288         Remove redundant conditional on __str.size().
289         
290 2004-03-08  Benjamin Kosnik  <bkoz@redhat.com>
291
292         * include/bits/allocator.h: Switch defaults to mt_alloc.
293
294 2004-03-06  Benjamin Kosnik  <bkoz@redhat.com>
295
296         * include/ext/mt_allocator.h (_S_initialize): If
297         !__GTHREAD_MUTEX_INIT, then initialize _S_thread_freelist_mutex.
298
299 2004-03-06  Benjamin Kosnik  <bkoz@redhat.com>
300
301         PR libstdc++/12658
302         * src/locale_init.cc (locale::locale): Lock critical regions with
303         external mutexes.
304         (locale::global): Same. 
305         * include/bits/concurrence.h (__glibcxx_mutex_define_initialized): 
306         Add in once bits for cases without __GTHREAD_MUTEX_INIT.
307         (__glibcxx_mutex_lock): Same.
308
309         * config/cpu/generic/atomicity.h: Remove
310         _GLIBCXX_NEED_GENERIC_MUTEX, use concurrence.h.
311         * src/misc-inst.cc: Move all locking bits out of this file.
312
313         * config/os/hpux/os_defines.h: Remove _GLIBCXX_INST_ATOMICITY_LOCK.
314         * src/misc-inst.cc: Same.
315         * config/cpu/hppa/atomicity.h: Same.
316
317         * config/linker-map.gnu: Remove types in the signature of atomic
318         exports, as they may vary.
319         
320 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
321
322         * include/bits/locale_facets.tcc: Tweak the comment preceding
323         has_facet: doesn't throw.
324
325 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
326
327         * testsuite/22_locale/money_get/get/char/1.cc: Clean up.
328         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
329         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
330         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
331         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
332         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
333         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
334         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
335
336 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
337
338         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
339         num_get<>::_M_extract_int, num_get<>::do_get(bool&),
340         __pad<>::_S_pad): Prefer plain operator== to traits::eq().
341         * testsuite/testsuite_character.h (struct __gnu_test::character):
342         Provide operator==.
343         * testsuite/testsuite_hooks.h (struct __gnu_test::pod_char):
344         Likewise.
345
346 2004-03-05  Paolo Carlini  <pcarlini@suse.de>
347
348         * testsuite/27_io/fpos/14320-2.cc: Remove xfail.
349
350 2004-03-04  Benjamin Kosnik  <bkoz@redhat.com>
351
352         * testsuite/23_containers/multiset/insert/1.cc: Test result string.
353
354         * testsuite/23_containers/bitset/invalidation/1.cc: Main always
355         returns 0.      
356         * testsuite/23_containers/deque/invalidation/4.cc: Same.
357         * testsuite/23_containers/list/invalidation/1.cc: Same.
358         * testsuite/23_containers/list/invalidation/2.cc: Same.
359         * testsuite/23_containers/list/invalidation/3.cc: Same.
360         * testsuite/23_containers/list/invalidation/4.cc: Same.
361         * testsuite/23_containers/map/invalidation/2.cc: Same.
362         * testsuite/23_containers/multimap/invalidation/1.cc: Same.
363         * testsuite/23_containers/multimap/invalidation/2.cc: Same.
364         * testsuite/23_containers/multiset/invalidation/1.cc: Same.
365         * testsuite/23_containers/multiset/invalidation/2.cc: Same.
366         * testsuite/23_containers/set/invalidation/1.cc: Same.
367         * testsuite/23_containers/set/invalidation/2.cc: Same.
368         * testsuite/23_containers/vector/invalidation/1.cc: Same.
369         * testsuite/23_containers/vector/invalidation/2.cc: Same.
370         * testsuite/23_containers/vector/invalidation/3.cc: Same.
371         * testsuite/23_containers/vector/invalidation/4.cc: Same.
372
373 2004-03-04  Paolo Carlini  <pcarlini@suse.de>
374
375         * scripts/testsuite_flags.in: Add "-D_GLIBCXX_ASSERT" to
376         CXXFLAGS_save.
377         * testsuite/lib/libstdc++.exp: Don't add it conditionally to
378         DEFAULT_CXXFLAGS. 
379         * testsuite/18_support/numeric_limits.cc: Remove "-D_GLIBCXX_ASSERT"
380         from the dg-options.
381         * testsuite/23_containers/vector/invalidation/1.cc: Likewise.
382         * testsuite/23_containers/vector/invalidation/2.cc: Likewise.
383         * testsuite/23_containers/vector/invalidation/3.cc: Likewise.
384         * testsuite/23_containers/vector/invalidation/4.cc: Likewise.
385         * testsuite/23_containers/vector/resize/1.cc: Likewise.
386         * testsuite/26_numerics/complex_value.cc: Likewise.
387         * testsuite/27_io/ios_base/storage/1.cc: Likewise.
388         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
389         * testsuite/27_io/ios_base/storage/3.cc: Likewise.
390         * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
391         * testsuite/27_io/objects/char/5.cc: Likewise.
392         * testsuite/27_io/objects/wchar_t/5.cc: Likewise.
393         * testsuite/backward/11460.cc: Likewise.
394         * testsuite/thread/pthread7-rope.cc: Likewise.
395
396         * testsuite/21_strings/basic_string/compare/char/1.cc: Add
397         missing test variable.
398         * testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Add
399         missing test variable.
400
401 2004-03-04  Benjamin Kosnik  <bkoz@redhat.com>
402
403         * testsuite/20_util/allocator/1.cc: Provide explicit
404         instantiations for non-weak systems.
405         * testsuite/20_util/binders.cc: Same.
406         * testsuite/20_util/allocator/8230.cc: Same.
407         * testsuite/20_util/allocator/10378.cc: Same.
408         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
409         * testsuite/22_locale/ctype/is/char/2.cc: Same.
410         * testsuite/thread/pthread7-rope.cc: Same.
411         * testsuite/thread/pthread6.cc: Same.   
412         * testsuite/thread/pthread5.cc: Same.           
413         * testsuite/thread/pthread4.cc: Same.   
414         * testsuite/thread/pthread1.cc: Same.
415         * testsuite/ext/rope.cc: Same.
416         * testsuite/ext/hash_set.cc: Same.
417         * testsuite/ext/hash_map.cc: Same.      
418         * testsuite/ext/concept_checks.cc: Same.
419         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Same.
420         * testsuite/25_algorithms/unique/2.cc: Same.
421         * testsuite/25_algorithms/unique/1.cc: Same.
422         * testsuite/25_algorithms/rotate.cc: Same.
423         * testsuite/25_algorithms/min_max.cc: Same.
424         * testsuite/25_algorithms/equal.cc: Same.       
425         * testsuite/24_iterators/rel_ops.cc: Same.
426         * testsuite/24_iterators/iterator.cc: Same.
427         * testsuite/24_iterators/insert_iterator.cc: Same.
428         * testsuite/24_iterators/front_insert_iterator.cc: Same.
429         * testsuite/24_iterators/back_insert_iterator.cc: Same.
430         * testsuite/23_containers/vector/resize/1.cc: Same.
431         * testsuite/23_containers/vector/modifiers/2.cc: Same.
432         * testsuite/23_containers/vector/modifiers/1.cc: Same.
433         * testsuite/23_containers/vector/invalidation/4.cc: Same.
434         * testsuite/23_containers/vector/invalidation/3.cc: Same.
435         * testsuite/23_containers/vector/invalidation/2.cc: Same.       
436         * testsuite/23_containers/vector/invalidation/1.cc: Same.
437         * testsuite/23_containers/vector/element_access/1.cc: Same.
438         * testsuite/23_containers/vector/cons/6513.cc: Same.
439         * testsuite/23_containers/vector/cons/3.cc: Same.
440         * testsuite/23_containers/vector/cons/2.cc: Same.
441         * testsuite/23_containers/vector/cons/1.cc: Same.
442         * testsuite/23_containers/vector/capacity/8230.cc: Same.
443         * testsuite/23_containers/vector/capacity/1.cc: Same.
444         * testsuite/23_containers/vector/bool/6886.cc: Same.
445         * testsuite/23_containers/stack/members/7158.cc: Same.
446         * testsuite/23_containers/set/invalidation/2.cc: Same.
447         * testsuite/23_containers/set/invalidation/1.cc: Same.
448         * testsuite/23_containers/queue/members/7157.cc: Same.
449         * testsuite/23_containers/priority_queue/members/7161.cc: Same.
450         * testsuite/23_containers/multiset/invalidation/2.cc: Same.
451         * testsuite/23_containers/multiset/invalidation/2.cc: Same.     
452         * testsuite/23_containers/multiset/insert/1.cc: Same.
453         * testsuite/23_containers/multimap/invalidation/2.cc: Same.
454         * testsuite/23_containers/multimap/invalidation/2.cc: Same.
455         * testsuite/23_containers/map/operators/1.cc: Same.
456         * testsuite/23_containers/map/invalidation/2.cc: Same.
457         * testsuite/23_containers/map/invalidation/1.cc: Same.
458         * testsuite/23_containers/map/insert/1.cc: Same.
459         * testsuite/23_containers/list/operators/4.cc: Same.
460         * testsuite/23_containers/list/operators/3.cc: Same.
461         * testsuite/23_containers/list/operators/2.cc: Same.
462         * testsuite/23_containers/list/operators/1.cc: Same.
463         * testsuite/23_containers/list/modifiers/3.cc: Same.
464         * testsuite/23_containers/list/modifiers/2.cc: Same.
465         * testsuite/23_containers/list/modifiers/1.cc: Same.
466         * testsuite/23_containers/list/invalidation/4.cc: Same.
467         * testsuite/23_containers/list/invalidation/3.cc: Same.
468         * testsuite/23_containers/list/invalidation/2.cc: Same.
469         * testsuite/23_containers/list/invalidation/1.cc: Same. 
470         * testsuite/23_containers/list/cons/9.cc: Same.
471         * testsuite/23_containers/list/cons/8.cc: Same.
472         * testsuite/23_containers/list/cons/7.cc: Same.
473         * testsuite/23_containers/list/cons/6.cc: Same.
474         * testsuite/23_containers/list/cons/5.cc: Same.
475         * testsuite/23_containers/list/cons/4.cc: Same.
476         * testsuite/23_containers/list/cons/3.cc: Same.
477         * testsuite/23_containers/list/cons/2.cc: Same.
478         * testsuite/23_containers/list/cons/1.cc: Same.
479         * testsuite/23_containers/list/capacity/1.cc: Same.
480         * testsuite/23_containers/deque/operators/1.cc: Same.
481         * testsuite/23_containers/deque/invalidation/4.cc: Same.
482         * testsuite/23_containers/deque/invalidation/3.cc: Same.
483         * testsuite/23_containers/deque/invalidation/2.cc: Same.
484         * testsuite/23_containers/deque/invalidation/1.cc: Same.
485         * testsuite/23_containers/deque/cons/2.cc: Same.
486         * testsuite/23_containers/deque/cons/1.cc: Same.
487
488         * src/allocator.cc: Add char, wchar_t instantiations
489         to match extern template declarations in memory.h.
490
491 2004-03-03  Paolo Carlini  <pcarlini@suse.de>
492
493         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
494         Fix warning regression.
495
496 2004-03-03  Paolo Carlini  <pcarlini@suse.de>
497
498         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
499         Deal properly with empty __digits and negative frac_digits,
500         clean-up a bit.
501
502 2004-03-03  Jonathan Wakely  <redi@gcc.gnu.org>
503
504         * docs/html/documentation.html: Regenerate.
505
506 2004-03-02  Paolo Carlini  <pcarlini@suse.de>
507
508         PR libstdc++/14320
509         * include/bits/postypes.h (class streamoff): Remove, now
510         streamoff is just typedef a 64 bit signed integer type.
511         (class fpos): Tweak consistently.
512         * testsuite/27_io/fpos/14320-1.cc: New.
513         * testsuite/27_io/fpos/14320-2.cc: New.
514         * testsuite/27_io/fpos/14320-3.cc: New.
515         * testsuite/27_io/fpos/14320-4.cc: New.
516         * testsuite/27_io/fpos/14320-5.cc: New.
517         * testsuite/27_io/fpos/mbstate_t/4_neg.cc: xfail for now.
518
519 2004-03-02  Paolo Carlini  <pcarlini@suse.de>
520
521         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
522         Reorganize a bit the main parsing loop, thus early detecting
523         an empty value component.
524         * testsuite/22_locale/money_get/get/char/16.cc: New.
525         * testsuite/22_locale/money_get/get/wchar_t/16.cc: New.
526
527 2004-03-02  Benjamin Kosnik  <bkoz@redhat.com>
528
529         Support automake 1.8.2
530         * configure.ac (AM_INIT_AUTOMAKE): Add -Wno-override.
531         * po/Makefile.am (EXTRA_DIST): New.
532         * po/Makefile.in: Regenerate.
533         * Makefile.in: Same.
534         * include/Makefile.in: Same.
535         * libmath/Makefile.in: Same.
536         * libsupc++/Makefile.in: Same.
537         * src/Makefile.in: Same.
538         * testsuite/Makefile.in: Same.
539
540         * include/Makefile.am (${host_builddir}/gthr-posix.h): Use
541         __GXX_WEAK__ instead of SUPPORTS_WEAK.
542         (${host_builddir}/gthr-default.h): Same.
543         (${host_builddir}/gthr.h): Same.
544         * acinclude.m4 (GLIBCXX_ENABLE_THREAD): Remove
545         _GLIBCXX_SUPPORTS_WEAK, as this behavior can be modified via
546         -fno-weak.
547         * aclocal.m4: Regenerate.
548         * acconfig.h: Remove _GLIBCXX_SUPPORTS_WEAK.
549         * config.h.in: Regenerate.
550         * configure: Same.
551         
552 2004-03-01  Benjamin Kosnik  <bkoz@redhat.com>
553
554         Support autoconf 2.59
555         * acinclude.m4: Quote correctly.
556         * aclocal.m4: Regenerate.
557         * linkage.m4: Same.
558
559 2004-03-01  Benjamin Kosnik  <bkoz@redhat.com>
560
561         * docs/html/test.html: Add multilib RUNTESTFLAGS example.
562
563         * docs/html/18_support/howto.html: Add bit about writing to
564         stderr, mostly by Zack.
565         
566 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
567
568         * include/bits/locale_facets.tcc (money_get<>::_M_extract,
569         money_get<>::do_get(string_type&)): ... and two more.
570
571 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
572
573         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
574         Fix thinkos in the switch from string_type& to string& as last
575         argument.
576
577 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
578
579         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
580         Also when parsing exponent sign, first look for thousands_sep
581         and decimal_point; tweak a bit.
582         * testsuite/22_locale/num_get/get/char/15.cc: New.
583         * testsuite/22_locale/num_get/get/wchar_t/15.cc: New.
584         
585         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
586         num_get<>::_M_extract_int): Reorder some conditionals.
587
588 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
589
590         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
591         Consistently with numpunct, enforce the requirements in
592         22.2.6.3, p3 for the thousands separators; tweak a bit.
593         * testsuite/22_locale/money_get/get/char/15.cc: New.
594         * testsuite/22_locale/money_get/get/wchar_t/15.cc: New.
595         
596 2004-03-01  David Billinghurst <David.Billinghurst@riotinto.com>
597
598         * testsuite/lib/libstdc++.exp (v3-list-tests): Use 
599         testsuite_files from correct multilib blddir when running
600         testsuite.
601
602 2004-02-29  Phil Edwards  <phil@codesourcery.com>
603
604         * testsuite/Makefile.am (check-abi, check-abi-verbose):  Copy
605         the summary file to the logfile.
606         * testsuite/Makefile.in:  Regenerate.
607
608 2004-02-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
609
610         * config/cpu/hppa/atomicity.h (__atomic_add): Make first argument
611         volatile.
612         * config/os/hpux/os_defines.h (_GLIBCXX_INST_ATOMICITY_LOCK): Use
613         __GXX_WEAK__ instead of _GLIBCXX_SUPPORTS_WEAK.
614
615 2004-02-28  Paolo Carlini  <pcarlini@suse.de>
616
617         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
618         According to 22.2.3.1, p2, 'units' may be followed by 'e' with
619         no 'decimal-point' in the middle: in this case too we must fix
620         up __found_grouping; slightly tweak.
621         * testsuite/22_locale/num_get/get/char/14.cc: New.
622         * testsuite/22_locale/num_get/get/wchar_t/14.cc: New.
623
624 2004-02-27  Eric Christopher  <echristo@redhat.com>
625             Phil Edwards  <phil@codesourcery.com>
626
627         * testsuite/22_locale/collate/compare/wchar_t/2.cc,
628         testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc,
629         testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc,
630         testsuite/22_locale/collate/hash/wchar_t/2.cc,
631         testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc,
632         testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc,
633         testsuite/22_locale/collate/transform/wchar_t/2.cc,
634         testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc,
635         testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
636         Use dg-require-iconv.
637         * testsuite/lib/libstdc++.exp:  Load target-supports.exp.
638
639 2004-02-27  Phil Edwards  <phil@codesourcery.com>
640             Eric Christopher  <echristo@redhat.com>
641
642         * testsuite/config/default.exp:  Update with comments.
643         (${tool}_target_compile):  New wrapper routine.
644         * testsuite/lib/dg-options.exp:  New file, with dg-require-iconv.
645         * testsuite/lib/libstdc++.exp:  Update with comments and cosmetic
646         fixes.
647         (load_gcc_lib, v3track):  New routines.
648         (v3-init):  Rename to libstdc++_init.
649         * testsuite/libstdc++-dg/normal.exp:  No longer call v3-init.
650         Move DEFAULT_CXXFLAGS handling into libstdc++_init.
651
652 2004-02-27  Benjamin Kosnik  <bkoz@redhat.com>
653
654         * config/cpu/hppa/atomicity.h: Include c++config.h to get defines.
655
656         * src/misc-inst.cc (_S_atomicity_lock): Move to __gnu_cxx.
657
658         * config/os/irix/irix5.2/atomicity.h: Merge..
659         * config/os/irix/irix6.5/atomicity.h: Merge..
660         * config/os/irix/atomicity.h: ...into this.
661         * config/os/irix/atomic_word.h: New.
662         * configure.host: Set atomic_word_dir for irix.
663
664         * hppa/atomicity.h: Change __Atomicity_lock to _Atomicity_lock.
665         * i386/atomicity.h: Same.
666         * m68k/atomicity.h: Same.
667         * sparc/atomicity.h: Same.
668
669 2004-02-27  David Edelsohn  <edelsohn@gnu.org>
670
671         * config/os/aix/atomicity.h: Use __gnu_cxx namespace. Remove
672         static, and inline keywords.
673
674 2004-02-27  Paolo Carlini  <pcarlini@suse.de>
675
676         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
677         num_get<>::_M_extract_int, money_get<>::_M_extract): If appropriate,
678         call reserve on the __tmp_gruping string.
679         (num_get<>::_M_extract_float): Don't append unnecessarily a
680         char() to the returned string.
681         * include/bits/locale_facets.tcc: Trivial reformattings.
682
683 2004-02-27  Paolo Carlini  <pcarlini@suse.de>
684
685         * include/bits/locale_facets.h (money_get<>::_M_extract):
686         Change signature: now takes a plain string&.
687         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
688         Update consistently the definition; use the moneypunct cache
689         to parse the value; use swap to change __units.
690         (money_get<>::do_get(long double&)): Update call of _M_extract,
691         avoid ctype::narrow, not correct wrt the standard.
692         (money_get<>::do_get(string_type&)): Likewise, update call
693         of _M_extract, use ctype::widen.
694         * src/locale-inst.cc: Tweak instantiations of _M_extract.
695
696 2004-02-26  Ian Lance Taylor  <ian@wasabisystems.com>
697
698         * testsuite/demangle/abi_examples/01.cc: Expect error -2.
699         * testsuite/demangle/abi_examples/02.cc: Likewise.
700         * testsuite/demangle/regression/cw-11.cc: Likewise.
701         * testsuite/demangle/regression/cw-16.cc: Change two expected
702         results to match libiberty demangler output.
703
704 2004-02-26  Benjamin Kosnik  <bkoz@redhat.com>
705
706         PR libstdc++/10246
707         * libsupc++/Makefile.am: Use libiberty demangler.
708         (c_sources): Add cp-demangle.c.
709         * libsupc++/Makefile.in: Regenerate.
710         * src/Makefile.am (sources): Remove demangle.cc.
711         * src/Makefile.in: Regenerate.
712         * include/Makefile.am (bits_headers): Move demangle.h.
713         (ext_headers): ...here.
714         * include/Makefile.in: Regenerate.
715         * include/bits/demangle.h: Move...
716         * include/ext/demangle.h: ...here.
717         * src/demangle.cc: Remove.
718
719 2004-02-26  Benjamin Kosnik  <bkoz@redhat.com>
720  
721         * include/bits/demangle.h: Add type template parameter to all
722         templates with just an Allocator template parameter.
723  
724 2004-02-25  Benjamin Kosnik  <bkoz@redhat.com>
725
726         * include/bits/atomicity.h: New, forward declarations for __atomic_add
727         and __exchange_and_add.
728         * config/cpu/generic/atomic_word.h: New, typdef for atomic word.
729         * config/cpu/cris/atomic_word.h: Same.
730         * config/cpu/sparc/atomic_word.h: Same.
731         * include/bits/ios_base.h (_Callback_list::_M_remove_reference):
732         Qualifiy with __gnu_cxx.
733         (_Callback_list::_M_add_reference): Same.
734         * include/bits/locale_classes.h (locale::facet::_M_add_reference): Add.
735         (locale::facet::_M_remove_reference): Same.
736         (locale::_Impl::_M_add_reference): Add.
737         (locale::_Impl::_M_remove_reference): Same.
738         * include/bits/basic_string.h (basic_string::_Rep::_M_refcopy): Same.
739         (basic_string::_Rep::_M_dispose): Same.
740         * src/ios.cc (ios_base::xalloc): Same.
741         * src/ios_init.cc (ios_base::Init::Init): Same.
742         (ios_base::Init::~Init): Same.
743         * src/locale.cc (locale::id::_M_id): Same.
744         * config/cpu/i486/atomicity.h: Use __gnu_cxx namespace. Remove
745         static, and inline keywords.
746         * config/cpu/alpha/atomicity.h: Same.
747         * config/cpu/cris/atomicity.h: Same.
748         * config/cpu/generic/atomicity.h: Same.
749         * config/cpu/hppa/atomicity.h: Same.
750         * config/cpu/i386/atomicity.h: Same.
751         * config/cpu/ia64/atomicity.h: Same.
752         * config/cpu/m68k/atomicity.h: Same.
753         * config/cpu/mips/atomicity.h: Same.
754         * config/cpu/powerpc/atomicity.h: Same.
755         * config/cpu/s390/atomicity.h: Same.
756         * config/cpu/sparc/atomicity.h: Same.
757         
758         * src/Makefile.am (host_sources): Add atomicity.cc.
759         (atomicity.cc): New rule.
760         * src/Makefile.in: Regenerate.
761         * include/Makefile.am (host_headers): Remove host atomicity.h.
762         (host_headers): Add atomic_word.h.
763         (bits_headers): Add bits atomicity.h.
764         Change ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
765         * include/Makefile.in: Regenerate.
766         * configure.host (atomic_word_dir): Add.
767         * configure.ac: Substitute ATOMIC_WORD_SRCDIR. Change
768         ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
769         * configure: Regenerate.
770         * config/linker-map.gnu: Export __exchange_and_add, and __atomic_add.
771
772         * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
773         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.      
774         
775 2004-02-25  Jonathan Wakely  <redi@gcc.gnu.org>
776
777         * docs/html/20_util/howto.html, docs/html/20_util/allocator.html,
778         docs/html/ext/howto.html, docs/html/ext/mt_allocator.html:
779         Fix markup, more <link> tags.
780
781 2004-02-25  Carlo Wood  <carlo@alinoe.com>
782
783         * bits/demangle.h
784         namespace __gnu_cxx::demangler
785         (session<Allocator>::qualifier_list_Allocator): Add
786         (session<Allocator>::M_qualifier_list_alloc): Add
787         (session<Allocator>::decode_type_with_postfix):
788         Use M_qualifier_list_alloc instead of calling operator new/delete.
789
790 2004-02-24  Paolo Carlini  <pcarlini@suse.de>
791
792         PR libstdc++/14252
793         * include/bits/postypes.h (class streamoff): Add operator++(),
794         operator++(int), operator--() and operator--(int).
795         * testsuite/27_io/fpos/14252.cc: New.
796
797 2004-02-24  Richard Sandiford  <rsandifo@redhat.com>
798
799         * include/bits/locale_facets.tcc (num_get::_M_extract_int): Fix bounds
800         error in handling of hex constants.
801
802 2004-02-24  Paolo Carlini  <pcarlini@suse.de>
803
804         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
805         Prefer basic_string::append to operator+= and a temporary.
806
807 2004-02-23  Benjamin Kosnik  <bkoz@redhat.com>
808
809         * libsupc++/vterminate.cc (__gnu_cxx::__verbose_terminate_handler):
810         Only use fputs, not write.
811         
812 2004-02-23  Benjamin Kosnik  <bkoz@redhat.com>
813
814         * include/ext/malloc_allocator.h: Add operators ==, !=.
815         * include/ext/new_allocator.h: Add operators ==, !=.
816         * include/ext/mt_allocator.h (__mt_alloc::tune): New.
817         (__mt_alloc::_S_get_options): New.
818         (__mt_alloc::_S_set_options): New.      
819         (__mt_alloc::_S_thread_key_destr): To _S_destroy_thread_key.
820         (__mt_alloc::_S_no_of_bins): To _S_bin_size.
821         Move functions out of line, simplify, format.
822         * src/allocator.cc: Simplify explicit instantiations.
823         * include/bits/allocator.h: Tweak.
824         
825 2004-02-22  Paolo Carlini  <pcarlini@suse.de>
826
827         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
828         Restructure formatting of value component, first dealing with
829         the non-decimal digits; use reserve.
830
831 2004-02-22  Paolo Carlini  <pcarlini@suse.de>
832
833         * include/bits/locale_facets.h (class money_get): Inherit
834         from money_base too; tweak declaration of _M_extract, now
835         parameterized on _Intl too.
836         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
837         Update definition to use the cache; call reserve on __res to
838         avoid multiple reallocations; fix parsing of sign component
839         according to 22.2.6.1.2, p3.
840         (money_get<>::do_get(long double&),
841         money_get<>::do_get(string_type&)): Update calls of _M_extract. 
842         * src/locale-inst.cc:  Add instantiations of
843         money_get::_M_extract<false> and money_get::_M_extract<true>.
844         * testsuite/22_locale/money_get/get/char/14.cc: New.
845         * testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto.
846         
847 2004-02-21  Mark Mitchell  <mark@codesourcery.com>
848
849         * libsupc++/vterminate.cc
850         (__gnu_cxx::__verbose_terminate_handler): Guard against recursive
851         calls to terminate.
852         * src/demangle.cc (__cxa_demangle): Wrap in try-catch block.
853
854         * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
855         not set RLIMIT_AS on HP-UX.
856
857 2004-02-21  Mark Mitchell  <mark@codesourcery.com>
858
859         * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
860         not set RLIMIT_AS on HP-UX.
861
862 2004-02-21  Paolo Carlini  <pcarlini@suse.de>
863
864         * include/bits/locale_facets.h (class money_base): Add { _S_minus,
865         _S_zero, _S_end } enum, _S_atoms.
866         (struct __moneypunct_cache<>): Parameterize on _Intl too; add
867         _M_grouping_size, _M_curr_symbol_size, _M_positive_sign_size,
868         _M_negative_sign_size, _M_atoms; tweak constructor consistently.
869         (__moneypunct_cache<>::~__moneypunct_cache): Update.
870         (__moneypunct_cache<>::_M_cache): Fill the cache.
871         (class moneypunct): Tweak __cache_type typedef.
872         (class money_put): Inherit from money_base too; tweak declaration
873         of _M_insert, now parameterized on _Intl.
874         * include/bits/locale_facets.tcc
875         (struct __use_cache<__moneypunct_cache<_CharT, _Intl> >): New.
876         (money_put<>::_M_insert): Update definition to use the cache;
877         call reserve on __res to avoid multiple reallocations.
878         (money_put<>::do_put(long double),
879         money_put<>::do_put(const string_type&): Update calls of _M_insert.
880         * config/locale/generic/monetary_members.cc
881         (moneypunct<char, true>::_M_initialize_moneypunct,
882         moneypunct<char, false>::_M_initialize_moneypunct,
883         moneypunct<wchar_t, true>::_M_initialize_moneypunct,
884         moneypunct<wchar_t, false>::_M_initialize_moneypunct): Update.
885         * config/locale/gnu/monetary_members.cc: Likewise.
886         * config/locale/gnu/monetary_members.cc
887         (moneypunct<wchar_t, true>::~moneypunct(),
888         moneypunct<wchar_t, false>::~moneypunct()): Likewise.
889         * src/globals_locale.cc: Tweak fake_money_cache_c.
890         * src/locale-inst.cc: Add instantiations for
891         money_put::_M_insert<false> and money_put::_M_insert<true> and
892         __moneypunct_cache<C, false>, __moneypunct_cache<C, true>.
893         * src/locale_facets.cc: Define money_base::_S_atoms.
894         * src/locale_init.cc: Update placement new of
895         __moneypunct_cache<char, false>, __moneypunct_cache<char, true>,
896         __moneypunct_cache<wchar_t, false>, __moneypunct_cache<wchar_T, true>.
897
898         * config/locale/generic/numeric_members.cc: Clean up.
899         * config/locale/gnu/numeric_members.cc: Likewise.
900         * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
901         * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
902         * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
903         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
904         * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
905         * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
906
907 2004-02-20  Mark Mitchell  <mark@codesourcery.com>
908
909         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Open
910         FIFO for writing with ios_base::in|ios_base::out.
911         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
912         * testsuite/27_io/objects/char/7.cc: Likewise.
913         * testsuite/27_io/objects/char/9661-1.cc: Open FIFO for writing
914         with "r+".
915
916 2004-02-19  David Edelsohn  <edelsohn@gnu.org>
917
918         * 22_locale/collate/compare/wchar_t/2.cc: Change input-charset
919         from iso-8859-1 to ISO8859-1.
920         * 22_locale/collate/compare/wchar_t/wrapped_env.cc: Same.
921         * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: Same.
922         * 22_locale/collate/hash/wchar_t/2.cc: Same.
923         * 22_locale/collate/hash/wchar_t/wrapped_env.cc: Same.
924         * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: Same.
925         * 22_locale/collate/transform/wchar_t/2.cc: Same.
926         * 22_locale/collate/transform/wchar_t/wrapped_env.cc: Same.
927         * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: Same.
928
929 2004-02-18  Paolo Carlini  <pcarlini@suse.de>
930
931         * include/bits/locale_facets.h (money_get<>::_M_extract):
932         New, helper for do_get.
933         (money_put<>::_M_insert): Likewise, for do_put.
934         * include/bits/locale_facets.tcc (money_get<>::_M_extract,
935         money_put<>::_M_insert): Define.
936         (money_get<>::do_get(long double&), money_get<>::do_get(
937         string_type&), money_put::do_put(long double),
938         money_put::do_put(const string_type&)): Use the helpers.
939
940 2004-02-18  Paolo Carlini  <pcarlini@suse.de>
941
942         * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
943         Rewrite, avoiding recursion.
944         (__gnu_internal::xwrite): Minor tweaks.
945
946 2004-02-17  Stefan Olsson  <stefan@xapa.se>
947
948         * include/ext/mt_allocator.h: Removed the last
949         pointer. Deallocated blocks are now added to the front of
950         freelists as proposed by Felix Yen.  This gives roughly 10%
951         performance boost and saves some memory.
952         * docs/html/ext/mt_allocator.html: Change due to that deallocated
953         blocks now are added to the front of freelists. The reason to this
954         approach is also explained.
955
956 2004-02-17  Paolo Carlini  <pcarlini@suse.de>
957
958         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
959         num_get<>::_M_extract_int, money_get<>::do_get): Simplify
960         grouping fidelity conditional.
961
962 2004-02-16  Paolo Carlini  <pcarlini@suse.de>
963
964         * testsuite/27_io/basic_filebuf/overflow/char/13858.cc:
965         Qualify exception with std::.
966         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto.
967         * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
968         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
969         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
970         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
971
972 2004-02-16  Paolo Carlini  <pcarlini@suse.de>
973
974         * testsuite/ext/enc_filebuf/char/13189.cc: Don't check
975         for now that the catch block is not reached.
976         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
977
978 2004-02-16  Paolo Carlini  <pcarlini@suse.de>
979
980         * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
981         Fix parsing of the remaining sign characters.
982         * 22_locale/money_get/get/char/2.cc: Tweak: now, correctly,
983         the input is scanned 'til eof.
984         * 22_locale/money_get/get/char/4.cc: Likewise.
985         * 22_locale/money_get/get/wchar_t/2.cc: Likewise.
986         * 22_locale/money_get/get/wchar_t/4.cc: Likewise.
987         * 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format,
988         not do_pos_format: the former is the only one that matters during
989         input.
990         * 22_locale/money_get/get/wchar_t/8.cc: Likewise.
991
992         * 22_locale/money_get/get/char/6.cc: Minor tweak.
993         * 22_locale/money_get/get/wchar_t/6.cc: Likewise.
994
995 2004-02-15  David Asher  <david.asher@cavium.com>
996
997         PR libstdc++/11352
998         * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't
999         access __olds beyond __oldlen.
1000
1001 2004-02-14  Paolo Carlini  <pcarlini@suse.de>
1002
1003         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make
1004         sure the exception is actually thrown.
1005         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
1006         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
1007         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
1008
1009 2004-02-14  Paolo Carlini  <pcarlini@suse.de>
1010
1011         PR libstdc++/13858
1012         * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
1013         In case of conversion errors, throw ios_failure; simplify.
1014         * testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
1015         * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
1016         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
1017         previously we didn't throw in case of conversion errors, instead
1018         just returned eof().
1019         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
1020         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
1021         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
1022
1023         * include/bits/fstream.tcc (basic_filebuf<>::overflow):
1024         Trivial simplification of a conditional.
1025
1026 2004-02-12  Paolo Carlini  <pcarlini@suse.de>
1027
1028         PR libstdc++/13731 (final part: writev)
1029         * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
1030         New, a wrapper around writev() handling partial writes.
1031         (__basic_file<char>::xwrite): Move to __gnu_internal and make
1032         static.
1033         (__basic_file<char>::xsputn): Update call.
1034         (__basic_file<char>::xsputn_2): Likewise.       
1035         * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
1036         Don't declare, now static.
1037
1038 2004-02-11  Stefan Olsson  <stefan@xapa.se>
1039
1040         * docs/html/ext/mt_allocator.html: New.
1041
1042 2004-02-11  Benjamin Kosnik  <bkoz@redhat.com>
1043
1044         * docs/html/20_util/allocator.html: New file, consolidate
1045         allocator information here. Revamp.
1046         * docs/html/documentation.html: Change links.
1047         * docs/html/20_util/howto.html: Same.
1048         * docs/html/ext/howto.html: Same.
1049
1050 2004-02-11  Paolo Carlini  <pcarlini@suse.de>
1051
1052         PR libstdc++/13731 (first part: write)
1053         * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
1054         New, declare.
1055         * config/io/basic_file_stdio.cc (__basic_file<char>::xwrite):
1056         Define it: a wrapper around write() handling partial write.
1057         (__basic_file<char>::xsputn): Use it.
1058         (__basic_file<char>::xsputn_2): Likewise.
1059
1060 2004-02-11  Paolo Carlini  <pcarlini@suse.de>
1061             Petur Runolfsson  <peturr02@ru.is>
1062
1063         PR libstdc++/14078
1064         * include/std/std_istream.h (operator>>(__istream_type& (*)
1065         (__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
1066         operator>>(ios_base& (*)(ios_base&))): Declare inline.
1067         * include/std/std_ostream.h (operator<<(__ostream_type& (*)
1068         (__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
1069         operator<<(ios_base& (*) (ios_base&))): Likewise.
1070         * testsuite/performance/27_io/fmtflags_manipulators.cc: New.
1071
1072 2004-02-10  Loren J. Rittle  <ljrittle@acm.org>
1073
1074         PR libstdc++/14098
1075         * config/linker-map.gnu: Add typeinfo and typeinfo name for
1076         __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.
1077
1078         PR libstdc++/14097
1079         * config/linker-map.gnu: Add typeinfo and typeinfo name for
1080         __gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.
1081
1082 2004-02-09  Loren J. Rittle  <ljrittle@acm.org>
1083
1084         * include/ext/pool_allocator.h: Include c++config.h.
1085
1086 2004-02-09  Stefan Olsson  <stefan@xapa.se>
1087
1088         * include/ext/mt_allocator.h: thread_id is unused in non threaded
1089         applications and now has a ifdef to remove it completely on
1090         compilers without thread support. Include stdlib.h due to a
1091         compiler warning on getenv().
1092
1093 2004-02-09  Paul Brook  <paul@codesourcery.com>
1094
1095         * libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
1096
1097 2004-02-09  Paolo Carlini  <pcarlini@suse.de>
1098
1099         PR libstdc++/14071
1100         * src/locale_init.cc (locale::global(const locale&)): Use
1101         locale::name() in order to decide whether calling setlocale.
1102         * testsuite/22_locale/locale/global_locale_objects/14071.cc: New.
1103
1104         * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
1105         Avoid computing &= unnecessarily.
1106
1107 2004-02-09  James E Wilson  <wilson@specifixinc.com>
1108
1109         PR libstdc++/5625
1110         * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
1111         __builtin_extend_pointer.
1112
1113 2004-02-09  Paolo Carlini  <pcarlini@suse.de>
1114
1115         PR libstdc++/14072
1116         * include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
1117         Don't leave dangling pointers.
1118         * testsuite/27_io/basic_ios/imbue/14072.cc: New.
1119         * testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
1120         facet is needed in the final test.
1121
1122 2004-02-09  Bernardo Innocenti  <bernie@develer.com>
1123
1124         * crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
1125         * configure: Regenerate.
1126
1127 2004-02-08  Richard Henderson  <rth@redhat.com>
1128
1129         PR libstdc++/14026
1130         * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust 
1131         uncaughtExceptions during nested catch rethrow.
1132         * testsuite/18_support/14026.cc: New.
1133
1134 2004-02-08  Paolo Carlini  <pcarlini@suse.de>
1135
1136         * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
1137         When working in place remember to set the state to sharable
1138         (otherwise, _M_mutate does it).
1139
1140 2004-02-08  Bernardo Innocenti  <bernie@develer.com>
1141
1142         * include/bits/allocator.h, include/bits/basic_ios.h,
1143         include/bits/basic_ios.tcc, include/bits/basic_string.h,
1144         include/bits/basic_string.tcc, include/bits/boost_concept_check.h,
1145         include/bits/char_traits.h, include/bits/codecvt.h,
1146         include/bits/concurrence.h, include/bits/cpp_type_traits.h,
1147         include/bits/demangle.h, include/bits/deque.tcc,
1148         include/bits/fstream.tcc, include/bits/functexcept.h,
1149         include/bits/gslice.h, include/bits/gslice_array.h,
1150         include/bits/indirect_array.h, include/bits/ios_base.h,
1151         include/bits/istream.tcc, include/bits/list.tcc,
1152         include/bits/locale_classes.h, include/bits/locale_facets.h,
1153         include/bits/locale_facets.tcc, include/bits/localefwd.h,
1154         include/bits/mask_array.h, include/bits/ostream.tcc,
1155         include/bits/postypes.h, include/bits/slice_array.h,
1156         include/bits/sstream.tcc, include/bits/stl_algo.h,
1157         include/bits/stl_algobase.h, include/bits/stl_bvector.h,
1158         include/bits/stl_construct.h, include/bits/stl_deque.h,
1159         include/bits/stl_function.h, include/bits/stl_heap.h,
1160         include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
1161         include/bits/stl_list.h, include/bits/stl_map.h,
1162         include/bits/stl_multimap.h, include/bits/stl_multiset.h,
1163         include/bits/stl_numeric.h, include/bits/stl_pair.h,
1164         include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
1165         include/bits/stl_relops.h, include/bits/stl_set.h,
1166         include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
1167         include/bits/stl_threads.h, include/bits/stl_tree.h,
1168         include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
1169         include/bits/stream_iterator.h, include/bits/streambuf.tcc,
1170         include/bits/streambuf_iterator.h,include/bits/stringfwd.h,
1171         include/bits/type_traits.h, include/bits/valarray_after.h,
1172         include/bits/valarray_array.h, include/bits/valarray_array.tcc,
1173         include/bits/valarray_before.h, include/bits/vector.tcc: Remove
1174         trailing whitespace.
1175
1176 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
1177
1178         * include/bits/basic_string.h: Fix comment.
1179
1180 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
1181
1182         * include/bits/stl_construct.h: Wrap overlong lines, reformat
1183         according to the coding standards.
1184         * include/bits/stl_pair.h: Likewise.
1185         * include/bits/stl_raw_storage_iter.h: Likewise.
1186         * include/bits/stl_stack.h: Likewise.
1187         * include/bits/stl_uninitialized.h: Likewise.
1188         * include/bits/stream_iterator.h: Likewise.
1189         * include/bits/streambuf_iterator.h: Likewise.
1190         * include/bits/type_traits.h: Likewise.
1191
1192 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
1193
1194         * testsuite/27_io/basic_filebuf/open/char/9507.cc:
1195         Adjust timings.
1196
1197 2004-02-05  Loren J. Rittle  <ljrittle@acm.org>
1198
1199         * scripts/check_performance: Support PCH.
1200
1201         * scripts/check_performance (CXX): Add -DNOTHREAD.
1202         * testsuite/performance/20_util/allocator/insert.cc: Integrate
1203         threaded tests from insert_insert.cc.  Tweak iterations,
1204         remove special cases.
1205         * testsuite/performance/20_util/allocator/insert_insert.cc:
1206         Make all tests single-threaded. Tweak iterations.
1207         * testsuite/performance/20_util/allocator/map_thread.cc:
1208         Tweak iterations.
1209         * testsuite/performance/20_util/allocator/producer_consumer.cc:
1210         Likewise.
1211
1212 2004-02-05  Geoffrey Keating  <geoffk@apple.com>
1213
1214         PR 12179
1215         * .cvsignore: New.
1216         * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
1217         'gcc-lib'.  Add comment about poorly-named variables.
1218         * aclocal.m4: Regenerate.
1219         * configure: Regenerate.
1220
1221 2004-02-05  Paolo Carlini  <pcarlini@suse.de>
1222
1223         * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
1224         Thousands-sep are always optional; thousands-sep are not allowed
1225         after the decimal_point.
1226         * testsuite/22_locale/money_get/get/char/12.cc: New.
1227         * testsuite/22_locale/money_get/get/char/13.cc: New.
1228         * testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
1229         * testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
1230
1231         * testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
1232         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
1233         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
1234         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
1235         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
1236         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
1237         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
1238         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
1239
1240         * testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
1241         the standard.
1242         * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
1243
1244 2004-02-05  Richard Sandiford  <rsandifo@redhat.com>
1245
1246         * config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
1247         Define.
1248         * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
1249         it to decide whether FIONREAD should take an off_t or int argument.
1250
1251 2004-02-05  Paolo Carlini  <pcarlini@suse.de>
1252
1253         * include/bits/stl_function.h: Minor formatting changes.
1254
1255 2004-02-04  Zack Weinberg  <zack@codesourcery.com>
1256
1257         Revert previous change to config/abi/*/baseline_symbols.txt.
1258
1259 2004-02-04  Benjamin Kosnik  <bkoz@redhat.com>
1260             Zack Weinberg  <zack@codesourcery.com>
1261
1262         * config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
1263         New function.
1264         (__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
1265         (__basic_file<char>::_M_open_mode): Delete.
1266         * config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
1267
1268         * testsuite/27_io/basic_filebuf/close/char/9964.cc
1269         * testsuite/27_io/basic_filebuf/open/char/9507.cc:
1270         Correct flags to filebuf::open calls.
1271
1272         * config/abi/alpha-freebsd5/baseline_symbols.txt
1273         * config/abi/alpha-linux-gnu/baseline_symbols.txt
1274         * config/abi/hppa-linux-gnu/baseline_symbols.txt
1275         * config/abi/i386-freebsd4/baseline_symbols.txt
1276         * config/abi/i386-freebsd5/baseline_symbols.txt
1277         * config/abi/i486-linux-gnu/baseline_symbols.txt
1278         * config/abi/ia64-linux-gnu/baseline_symbols.txt
1279         * config/abi/mips-linux-gnu/baseline_symbols.txt
1280         * config/abi/sparc-freebsd5/baseline_symbols.txt
1281         * config/abi/sparc-linux-gnu/baseline_symbols.txt
1282         * config/abi/x86_64-linux-gnu/baseline_symbols.txt:
1283         Remove entry for __basic_file<char>::_M_open_mode.
1284
1285 2004-02-04  Loren J. Rittle  <ljrittle@acm.org>
1286
1287         * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
1288
1289 2004-02-04  Felix Yen  <fwy@alumni.brown.edu>
1290
1291         * testsuite/performance/20_util/producer_consumer.cc: New.
1292         * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
1293
1294 2004-02-04  Benjamin Kosnik  <bkoz@redhat.com>
1295
1296         * testsuite/performance/20_util/allocator.cc: Move to..
1297         * testsuite/performance/20_util/allocator/insert.cc: ...here.
1298         * testsuite/performance/20_util/allocator_thread.cc: Move to...
1299         * testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
1300         * testsuite/performance/20_util/allocator_map_thread.cc: Move to...
1301         * testsuite/performance/20_util/allocator/map_thread.cc: ...here.
1302
1303 2004-02-04  Jonathan Wakely  <redi@gcc.gnu.org>
1304
1305         * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
1306         * docs/html/faq/index.txt: Regenerate.
1307
1308 2004-02-04  Dhruv Matani  <dhruvbird@gmx.net>
1309
1310         * include/ext/debug_allocator.h: _M_extra now stands for the
1311         number of extra objects instead of the number of extra bytes.
1312         (debug_allocator::allocate): Adjust.
1313         (debug_allocator::deallocate): Adjust.
1314
1315         * include/ext/pool_allocator.h: Fix typo.
1316
1317 2004-02-03  Felix Yen  <fwy@alumni.brown.edu>
1318             Benjamin Kosnik  <bkoz@redhat.com>
1319
1320         * testsuite/performance/20_util/allocator.cc: Add map,
1321         deque, set tests.
1322         * testsuite/performance/20_util/allocator_thread.cc: Same.
1323
1324 2004-02-03  Paolo Carlini  <pcarlini@suse.de>
1325
1326         * include/bits/basic_string.h (insert(iterator)): Remove,
1327         non-standard and already scheduled for removal.
1328
1329 2004-02-03  Paolo Carlini  <pcarlini@suse.de>
1330
1331         * include/bits/stl_iterator_base_funcs.h: Minor formatting
1332         and indentation tweaks.
1333         * include/bits/stl_iterator_base_types.h: Likewise.
1334         * include/bits/stl_list.h: Likewise.
1335         * include/bits/stl_map.h: Likewise.
1336         * include/bits/stl_tempbuf.h: Likewise.
1337
1338 2004-02-02  Jerry Quinn  <jlquinn@optonline.net>
1339
1340         * include/bits/gslice.h, include/bits/gslice_array.h,
1341         include/bits/indirect_array.h, include/bits/mask_array.h,
1342         include/bits/slice_array.h, include/bits/stl_numeric.h,
1343         include/std/std_valarray.h:  Update copyright years.
1344
1345 2004-02-02  Jerry Quinn  <jlquinn@optonline.net>
1346
1347         * include/bits/gslice.h (gslice):  Document.
1348         * include/bits/gslice_array.h (gslice_array):  Document.
1349         * include/bits/indirect_array (indirect_array):  Document.
1350         * include/bits/mask_array (mask_array):  Document.
1351         * include/bits/slice_array.h (slice,slice_array):  Document.
1352         * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
1353         adjacent_difference):  Document
1354         * include/std/std_valarray.h (valarray):  Document.
1355
1356 2004-02-02  Benjamin Kosnik  <bkoz@redhat.com>
1357
1358         * docs/html/19_diagnostics/howto.html: Move verbose terminate
1359         documentation...
1360         * docs/html/18_support/howto.html: Here.
1361         * docs/html/documentation.html: Add reference here.
1362
1363 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
1364
1365         * config/locale/gnu/c++locale_internal.h: Remove prototypes
1366         of no longer used GLIBC thread locale functions.
1367
1368 2004-02-02  Eric Christopher  <echristo@redhat.com>
1369             Zack Weinberg  <zack@codesourcery.com>
1370
1371         * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
1372         -finput-charset.
1373         * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
1374         * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
1375         * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
1376         * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
1377         * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
1378         * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
1379         * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
1380         * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
1381         Ditto.
1382
1383 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
1384
1385         * include/bits/stl_function.h: Additional minor tweaks.
1386         * include/bits/stl_multiset.h: Likewise.
1387
1388         * include/bits/stl_queue.h: Minor tweaks.
1389
1390 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
1391
1392         PR libstdc++/13976 (continued)
1393         * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
1394         Make the second parameter unnamed, to void unused parameter
1395         warnings.
1396         * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
1397
1398 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
1399
1400         PR libstdc++/13976
1401         * include/ext/malloc_allocator.h (malloc_allocator::allocate):
1402         Make the second parameter unnamed, to void unused parameter
1403         warnings.
1404         * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
1405         * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
1406
1407 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
1408
1409         * include/bits/stl_algo.h: Additional minor tweaks.
1410         * include/bits/stl_map.h: Likewise.
1411         * include/bits/stl_multimap.h: Likewise.
1412         * include/bits/stl_multiset.h: Likewise.
1413         * include/bits/stl_set.h: Likewise.
1414         * include/bits/stl_tree.h: Likewise.
1415
1416 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
1417
1418         * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
1419         Remove, unused.
1420
1421 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
1422
1423         * include/bits/stl_function.h: Additional minor tweaks.
1424
1425 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
1426
1427         * include/bits/deque.tcc: Wrap overlong lines, constify
1428         a few variables, reformat according to the coding standards.
1429         * include/bits/list.tcc: Likewise.
1430         * include/bits/stl_deque.h: Likewise.
1431         * include/bits/stl_function.h: Likewise.
1432         * include/bits/stl_iterator.h: Likewise.
1433         * include/bits/stl_iterator_base_funcs.h: Likewise.
1434         * include/bits/stl_iterator_base_types.h: Likewise.
1435         * include/bits/stl_list.h: Likewise.
1436         * include/bits/stl_map.h: Likewise.
1437         * include/bits/stl_multimap.h: Likewise.
1438         * include/bits/stl_multiset.h: Likewise.
1439         * include/bits/stl_relops.h: Likewise.
1440         * include/bits/stl_set.h: Likewise.
1441
1442 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
1443
1444         * include/bits/stl_bvector.h: Wrap overlong lines, constify
1445         a few variables, reformat according to the coding standards.
1446         * include/bits/stl_tree.h: Likewise.
1447
1448 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
1449
1450         * include/bits/stl_algo.h: Minor additional reformat, add
1451         copyright year.
1452         * include/bits/stl_algobase.h: Add copyright year.
1453
1454 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
1455
1456         * include/bits/stl_algo.h: Wrap overlong lines, constify
1457         a few variables, reformat according to the coding standards.
1458         * include/bits/stl_algobase.h: Likewise.
1459         * include/bits/stl_heap.h: Likewise.
1460
1461 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
1462
1463         * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
1464
1465         * include/bits/basic_string.h: Fix two comments.
1466
1467 2004-01-31  Per Bothner  <per@bothner.com>
1468
1469         * include/ext/mt_allocator.h
1470         (__mt_alloc::_S_thread_freelist_mutex): Guard with
1471         __GTHREAD_MUTEX_INIT.
1472
1473 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
1474
1475         * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
1476
1477 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
1478
1479         * testsuite/21_strings/basic_string/cons/char/6.cc: New.
1480         * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
1481         * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
1482
1483 2004-01-30  Felix Yen  <fwy@alumni.brown.edu>
1484
1485         * testsuite/performance/20_util/allocator_thread.cc (do_loop):
1486         Don't use clear, but instead assign. Use insert.
1487
1488 2004-01-30  Benjamin Kosnik  <bkoz@redhat.com>
1489
1490         * src/demangle.cc: Add instantiations.
1491         * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
1492         * src/Makefile.in: Regenerate.
1493
1494 2004-01-30  David Edelsohn  <edelsohn@gnu.org>
1495
1496         * src/allocator.cc: Protect _S_get_thread_id() and
1497         _S_thread_key_destr() with #ifdef __GTHREADS.
1498
1499 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
1500
1501         Reshuffle performance testsuite.
1502         * testsuite/performance/allocator.cc, allocator_map_thread.cc,
1503         allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
1504         cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
1505         fstream_seek_write.cc, ifstream_extract_float.cc,
1506         ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
1507         list_create_fill_sort.cc, map_create_fill.cc,
1508         narrow_widen_char.cc, narrow_widen_wchar_t.cc,
1509         ofstream_insert_float.cc, ofstream_insert_int.cc,
1510         string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
1511         wchar_t_out.cc: Split into...
1512         * testsuite/performance/20_util/allocator.cc: New.
1513         * testsuite/performance/20_util/allocator_map_thread.cc: New.
1514         * testsuite/performance/20_util/allocator_thread.cc: New.
1515         * testsuite/performance/21_strings/string_append: New.
1516         * testsuite/performance/22_locale/is_wchar_t.cc: New.
1517         * testsuite/performance/22_locale/narrow_widen_char.cc: New.
1518         * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
1519         * testsuite/performance/22_locale/wchar_t_in.cc: New.
1520         * testsuite/performance/22_locale/wchar_t_length.cc: New.
1521         * testsuite/performance/22_locale/wchar_t_out.cc: New.
1522         * testsuite/performance/23_containers/container_benchmark.cc: New.
1523         * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
1524         * testsuite/performance/23_containers/map_create_fill.cc: New.
1525         * testsuite/performance/26_numerics/complex_norm.cc: New.
1526         * testsuite/performance/27_io/cout_insert_int.cc: New.
1527         * testsuite/performance/27_io/filebuf_copy.cc: New.
1528         * testsuite/performance/27_io/filebuf_sputc.cc: New.
1529         * testsuite/performance/27_io/fstream_seek_write.cc: New.
1530         * testsuite/performance/27_io/ifstream_extract_float.cc: New.
1531         * testsuite/performance/27_io/ifstream_extract_int.cc: New.
1532         * testsuite/performance/27_io/ifstream_getline.cc: New.
1533         * testsuite/performance/27_io/ofstream_insert_float.cc: New.
1534         * testsuite/performance/27_io/ofstream_insert_int.cc: New.
1535
1536 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
1537
1538         * include/bits/basic_string.tcc (_Rep::_S_create):
1539         Never allocate a string bigger than max_size(); always keep
1540         __capacity and __size in sync to avoid memory leaks at
1541         deallocation time.
1542
1543 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
1544
1545         * include/bits/basic_string.tcc (_S_construct(_InIterator,
1546         _InIterator, const _Alloc&, input_iterator_tag)): Simplify
1547         the double loop, streamline.
1548
1549         * include/bits/basic_string.tcc: Very minor tweaks.
1550
1551 2004-01-30  Loren J. Rittle  <ljrittle@acm.org>
1552
1553         * scripts/check_performance: Only compile with $THREAD_FLAG
1554         when test is marked to require it.  Allow multiple
1555         compilations/executions of marked tests.
1556         * testsuite/testsuite_performance.h (report_performance):
1557         Report dynamic thread support status.
1558         (report_header): Likewise.
1559         * testsuite/performance/allocator.cc: Stabilize iteration
1560         count.  Support more allocators.  Mark each allocator test to
1561         run and report independently.
1562         * testsuite/performance/allocator_map_thread.cc: Likewise.
1563         * testsuite/performance/allocator_thread.cc: Likewise.
1564
1565 2004-01-29  Stephen M. Webb  <stephen.webb@bregmasoft.com>
1566
1567         * config/local/generic/c_locale.h: Change ::malloc() to new char[].
1568         * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
1569         * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
1570         std::get_temporary_buffer() instead of duplicating its code.
1571         Update to C++STYLE conventions.
1572         * include/std/std_memory.h (get_temporary_buffer): Use ::operator
1573         new() instead of std::malloc().
1574         (return_temporary_buffer): Use ::operator delete() instead of
1575         std::free().
1576
1577 2004-01-29  Benjamin Kosnik  <bkoz@redhat.com>
1578
1579         * include/bits/allocator.h: Temporary switch to new_allocator as
1580         the default to unjam bootstraps.
1581
1582 2004-01-28  Benjamin Kosnik  <bkoz@redhat.com>
1583
1584         * include/Makefile.am (bits_headers): Remove allocator_traits.h.
1585         * include/Makefile.in: Regenerate.
1586         * include/bits/allocator_traits.h: Remove.
1587         * include/bits/allocator.h: Remove allocator_traits.h include, and
1588         relevant comments.
1589         (allocator): Empty base class, inherit from the underlying allocator.
1590         * src/allocator-inst.cc: Move __pool_alloc instantiation to...
1591         * src/allocator.cc: ...here. New. For the underlying allocators.
1592         Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
1593         * config/linker-map.gnu: Remove __pool_alloc bits.
1594         * src/Makefile.am (sources): Add allocator.cc.
1595         * src/Makefile.in: Regenerate.
1596         * testsuite/20_util/allocator/1.cc: Split second test into...
1597         * testsuite/20_util/allocator/8230.cc: ...this.
1598         * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
1599         typedef to use std::allocatore. Format.
1600         * include/ext/pool_allocator.h: Remove allocator_traits.h include,
1601         _Alloc_traits.
1602         * include/ext/mt_allocator.h (__gnu_cxx): Qualify
1603         __throw_bad_alloc calls. Don't include <memory>.
1604         * include/ext/malloc_allocator.h: Remove <memory> include.
1605         * include/ext/new_allocator.h (new_allocator): Same.
1606         * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
1607         declaration. Switch __alloc to _Alloc.
1608         * include/ext/hashtable.h: Remove __alloc.
1609         * include/backward/alloc.h: Only inject allocator, not
1610         implementation details.
1611
1612         * include/ext/mt_allocator.h: Replace free with delete.
1613
1614 2004-01-28  Benjamin Kosnik  <bkoz@redhat.com>
1615
1616         * src/globals_io.cc: Change to __gnu_internal namespace.
1617         * src/globals_locale.cc: Same.
1618         * src/locale_init.cc: Same.
1619         * src/ios_init.cc: Same.
1620
1621 2004-01-28  Stefan Olsson  <stefan@snon.net>
1622
1623         * include/ext/mt_allocator.h: Replaced all malloc() calls with
1624         operator new(). Added support for the env variable
1625         GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
1626         one in allocate() as well). Fix typos.
1627
1628 2004-01-28  Paolo Carlini  <pcarlini@suse.de>
1629
1630         * include/bits/basic_string.h (_S_create(size_t,
1631         const _Alloc&): Change signature to take two size_type
1632         arguments.
1633         * include/bits/basic_string.tcc (_S_construct(_InIterator,
1634         _InIterator, const _Alloc&, input_iterator_tag)): Update
1635         call, tweak a bit.
1636         (_S_construct(_InIterator, _InIterator, const _Alloc&,
1637         forward_iterator_tag)): Likewise.
1638         (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
1639         (_M_mutate(size_type, size_type, size_type)): Don't
1640         implement the exponential growth policy, demand it to
1641         _S_create, update call and simplify.
1642         (_M_clone(const _Alloc&, size_type)): Likewise.
1643         (_S_create(size_type, size_type, const _Alloc&)): Implement
1644         the growth policy, simplify otherwise.
1645
1646         * include/bits/basic_string.h (_Rep::operator[]): Tweak
1647         signature to take a size_type, consistently with the other
1648         members.
1649
1650 2004-01-27  Benjamin Kosnik  <bkoz@redhat.com>
1651
1652         * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
1653         delete declarations, add include and test variable.
1654
1655 2003-01-27  Jerry Quinn  <jlquinn@optonline.net>
1656
1657         * include/bits/codecvt.h, include/bits/locale_facets.h,
1658         include/bits/postypes.h, include/bits/stl_bvector.h,
1659         include/bits/stl_multiset.h, include/bits/stl_set.h,
1660         include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
1661         include/std/std_complex.h:  Document.
1662
1663 2004-01-27  Jerry Quinn  <jlquinn@optonline.net>
1664
1665         PR libstdc++/11584
1666         * include/bits/ios_base.h (ios_base::_M_grow_words):  Add
1667         iword/pword selector.
1668         (ios_base::iword, ios_base::pword):  Use it.
1669         * src/ios.cc (ios_base::_M_grow_words):  Clear _M_word_zero
1670         iword or pword member on alloc failure.
1671         * testsuite/27_io/ios_base/storage/11584.cc:  New test.
1672
1673 2004-01-27  Ulrich Weigand  <uweigand@de.ibm.com>
1674             PJ Darcy  <darcypj@us.ibm.com>
1675
1676         * configure.host: Add support for *-tpf.
1677         * crossconfig.m4: Likewise.
1678         * configure: Regenerate.
1679         * config/os/tpf: New directory.
1680         * config/os/tpf/os_defines.h: New file.
1681         * config/os/tpf/ctype_base.h: Likewise.
1682         * config/os/tpf/ctype_inline.h: Likewise.
1683         * config/os/tpf/ctype_noninline.h: Likewise.
1684
1685 2004-01-27  Paolo Carlini  <pcarlini@suse.de>
1686
1687         PR libstdc++/13884
1688         * include/bits/sstream.tcc: Guard use of extern template.
1689
1690 2004-01-27  Paolo Carlini  <pcarlini@suse.de>
1691
1692         * include/bits/basic_string.tcc
1693         (basic_string(const basic_string&, size_type, size_type),
1694         basic_string(const basic_string&, size_type, size_type,
1695         const _Alloc&)): Avoid unnecessarily constructing iterators.
1696
1697 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
1698
1699         * config/locale/generic/c_locale.cc: Fix throw messages
1700         to use the __N marker.
1701         * config/locale/gnu/c_locale.cc: Likewise.
1702         * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
1703         Likewise.
1704         * docs/html/17_intro/C++STYLE: Likewise.
1705         * include/bits/basic_ios.tcc: Likewise.
1706         * include/bits/fstream.tcc: Likewise.
1707         * include/bits/vector.tcc: Likewise.
1708         * include/ext/ropeimpl.h: Likewise.
1709         * include/std/std_bitset.h: Likewise.
1710         * src/ios.cc: Likewise.
1711         * src/locale.cc: Likewise.
1712         * src/localename.cc: Likewise.
1713
1714 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
1715
1716         * include/bits/basic_string.h (_M_replace_aux): Use the
1717         __N marker in throw message.
1718         * include/bits/basic_string.tcc (assign(const _CharT*,
1719         size_type), insert(size_type, const _CharT*, size_type),
1720         replace(size_type, size_type, const _CharT*, size_type),
1721         reserve, _Rep::_S_create, resize, _M_replace_dispatch):
1722         Likewise.
1723
1724         * include/bits/basic_string.h, include/bits/basic_string.tcc:
1725         Fold overlong lines, minor formatting changes.
1726
1727 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
1728
1729         * include/bits/basic_string.h (replace(iterator, iterator,
1730         const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
1731         (replace(iterator, iterator, const _CharT*)): Ditto.
1732         (replace(iterator, iterator, const _CharT*, size_type)):
1733         Add missing _GLIBCXX_DEBUG_PEDASSERT.
1734
1735 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
1736
1737         * include/bits/basic_string.tcc (replace(size_type,
1738         size_type, const _CharT*, size_type)): Implement optimized
1739         in-place algorithm for non-overlapping ranges.
1740         * testsuite/21_strings/basic_string/replace/char/6.cc: New.
1741         * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
1742
1743         * include/bits/basic_string.tcc (insert(size_type,
1744         const _CharT*, size_type)): Tweak slightly.
1745
1746 2004-01-26  Andreas Schwab  <schwab@suse.de>
1747
1748         * config/locale/gnu/monetary_members.cc: Restore locale before
1749         rethrowing exception.
1750
1751 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
1752
1753         * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
1754         Define inline here.
1755         * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
1756         Move inline.
1757
1758         * include/bits/basic_string.tcc: Very minor tweaks.
1759
1760 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
1761
1762         * testsuite/performance/string_append.cc: Increase number
1763         of iterations.
1764
1765 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
1766
1767         * include/bits/basic_string.h (erase(size_type, size_type),
1768         erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
1769         instead, thus avoiding redundant check for length_error.
1770
1771         * include/bits/basic_string.h: Tweak some comments.
1772
1773 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
1774
1775         * include/bits/basic_string.tcc (operator+(const _CharT*,
1776         const basic_string&)): No need to go through the append
1777         taking two iterators.
1778
1779 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
1780
1781         * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
1782         Revert last change to use std::min: machine language is worse.
1783         (find_last_of(const _CharT*, size_type, size_type)): Ditto.
1784         (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
1785         (find_last_not_of(_CharT, size_type)): Ditto.
1786
1787         * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
1788         size_type)): Discard the value returned by _M_check.
1789         (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
1790         (append(const basic_string&, size_type, size_type)): Ditto.
1791         (copy(_CharT*, size_type, size_type)): Ditto.
1792         (compare(size_type, size_type, const basic_string&)): Ditto.
1793         (compare(size_type, size_type, const basic_string&,
1794         size_type, size_type)): Ditto.
1795         (compare(size_type, size_type, const _CharT*)): Ditto.
1796         (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
1797
1798 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
1799
1800         * include/bits/basic_string.h (insert(size_type,
1801         const basic_string&, size_type, size_type)): Define inline here.
1802         * include/bits/basic_string.tcc (insert(size_type,
1803         const basic_string&, size_type, size_type)): Move inline.
1804
1805 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
1806
1807         * include/bits/basic_string.h (assign(const basic_string&,
1808         size_type, size_type)): Define inline here.
1809         (replace(size_type, size_type, const basic_string&,
1810         size_type, size_type)): Ditto.
1811         (_M_replace_dispatch(iterator, iterator, _InputIterator,
1812         _InputIterator, __false_type)): Only declare.
1813         (_M_replace(iterator, iterator, _InputIterator,
1814         _InputIterator)): Remove.
1815         * include/bits/basic_string.tcc (assign(const basic_string&,
1816         size_type, size_type)): Move inline.
1817         (replace(size_type, size_type, const basic_string&,
1818         size_type, size_type)): Ditto.
1819         (_M_replace_dispatch(iterator, iterator, _InputIterator,
1820         _InputIterator, __false_type)): Define, now does also what
1821         _M_replace did before.
1822         * src/string-inst.cc (_M_replace): Don't instantiate.
1823
1824         * include/bits/basic_string.tcc (find(const _CharT*,
1825         size_type, size_type)): Tidy.
1826         (rfind(_CharT, size_type)): Ditto.
1827         (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
1828         (find_first_not_of(_CharT, size_type)): Ditto.
1829         (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
1830         (find_last_not_of(_CharT, size_type)): Ditto.
1831
1832 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
1833
1834         PR libstdc++/13838
1835         * include/debug/bitset (operator|=): Fix typo.
1836         * testsuite/23_containers/bitset/operations/13838.cc: New.
1837
1838 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
1839
1840         * include/bits/basic_string.tcc (insert(size_type,
1841         const _CharT*, size_type __n)): Fix length_error check.
1842         (replace(size_type, size_type, const _CharT*, size_type):
1843         Ditto; call _M_replace_safe.
1844         (_M_replace_aux(size_type, size_type, size_type, _CharT):
1845         Fix length_error check.
1846         (_M_replace(iterator, iterator, _InputIterator,
1847         _InputIterator)): Ditto, tweak.
1848         (_M_replace_safe(size_type, size_type, const _CharT*,
1849         size_type)): Remove length_error check.
1850
1851         * include/bits/basic_string.tcc (append(const basic_string&),
1852         append(const basic_string&, size_type, size_type)): Tweak
1853         comment.
1854
1855         * include/bits/basic_string.tcc (copy(_CharT*, size_type,
1856         size_type)): If __n == 0 don't call traits::copy.
1857
1858 2004-01-23  Stefan Olsson  <stefan@snon.net>
1859
1860         * include/ext/mt_allocator.h: Reduce lock contention.
1861
1862 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
1863
1864         PR libstdc++/13831
1865         * include/bits/fstream.tcc (underflow): Remove unused
1866         variable.
1867         * include/bits/streambuf_iterator.h (equal): Ditto.
1868         * include/bits/locale_facets.h (_M_convert_from_char):
1869         Ditto.
1870
1871 2004-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1872
1873         PR c/13814
1874         * config/linker-map.gnu (nan): Delete.
1875         * libmath/mathconf.h (NAN, nan): Delete.
1876         * linkage.m4 (nan): Don't check for it.
1877         * libmath/nan.c: Delete file.
1878
1879         * config.h.in, configure: Regenerate.
1880
1881 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
1882
1883         * include/bits/basic_string.h (push_back(_CharT)):
1884         Call _M_replace_aux.
1885         (insert(size_type, const basic_string&)): Trivial tweak.
1886         (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
1887         (insert(iterator, _CharT)): Ditto.
1888         (erase(size_type, size_type)): Ditto.
1889         (erase(iterator)): Ditto.
1890         (erase(iterator, iterator)): Ditto.
1891         (replace(size_type, size_type, size_type, _CharT)): Ditto.
1892
1893 2004-01-23  Loren J. Rittle  <ljrittle@acm.org>
1894
1895         libstdc++/13823
1896         * testsuite/performance/allocator_map_thread.cc: New test.
1897
1898 2004-01-22  Paolo Carlini  <pcarlini@suse.de>
1899
1900         * include/bits/locale_facets.tcc
1901         (money_put::do_put(..., long double)): Use the basic_string
1902         constructor for char arrays, not that for C-strings, to pass
1903         __digits to do_put(..., const string_type&): __ws isn't
1904         null-terminated.
1905
1906 2004-01-22  Paolo Carlini  <pcarlini@suse.de>
1907
1908         * include/bits/basic_string.h (_M_replace_safe): Change
1909         signatures to take size_types and const _CharT*.
1910         (_M_replace_aux): Likewise, takes size_types instead of
1911         iterators.
1912         (append(size_type, _CharT)): Update call.
1913         (assign(size_type, _CharT)): Ditto.
1914         (replace(iterator, iterator, size_type, _CharT)): Ditto.
1915         (_M_replace_dispatch(iterator, iterator, _Integer,
1916         _Integer, __true_type)): Ditto.
1917         * include/bits/basic_string.tcc (assign(const _CharT*,
1918         size_type)): Ditto.
1919         (insert(size_type, const _CharT*, size_type)): Ditto.
1920         (replace(size_type, size_type, const _CharT*,
1921         size_type)): Ditto.
1922         (_M_replace(iterator, iterator, _InputIterator,
1923         _InputIterator)): Ditto.
1924         (append(const basic_string&)): Ditto.
1925         (append(const basic_string&, size_type, size_type): Ditto.
1926         (append(const _CharT*, size_type): Ditto.
1927         (_M_replace_safe, _M_replace_safe): Change definitions
1928         accordingly, simplify.
1929         * string-inst.cc (_M_replace_safe): Don't instantiate.
1930
1931 2004-01-21  Paolo Carlini  <pcarlini@suse.de>
1932
1933         * include/bits/basic_string.tcc (append(const basic_string&)):
1934         Revert previous change.
1935         (append(const basic_string&, size_type, size_type)): Revert
1936         previous change, use _M_check and _M_limit.
1937
1938 2004-01-21  Paolo Carlini  <pcarlini@suse.de>
1939
1940         * include/bits/basic_string.h (_M_check): Change to return
1941         a checked __pos and take an additional const char* argument.
1942         (_M_fold): Rename to _M_limit, change to return a size_type,
1943         corresponding to the __off limited to the actual length.
1944         (insert(size_type, size_type, _CharT)): Update call, call
1945         replace.
1946         (insert(iterator, _CharT)): Call replace(iterator, iterator,
1947         size_type, _CharT) instead.
1948         (erase(size_type, size_type)): Update calls.
1949         (replace(size_type, size_type, size_type, _CharT)): Ditto.
1950         (substr(size_type, size_type)): Use _M_check.
1951         * include/bits/basic_string.tcc (basic_string(const basic_string&,
1952         size_type, size_type)): Update calls.
1953         (basic_string(const basic_string&, size_type, size_type,
1954         const _Alloc&)): Ditto.
1955         (assign(const basic_string&, size_type, size_type)): Use the
1956         new _M_check and _M_limit.
1957         (insert(size_type, const basic_string&, size_type, size_type):
1958         Ditto.
1959         (insert(size_type, const _CharT*, size_type)): Ditto.
1960         (replace(size_type, size_type, const _CharT*, size_type): Ditto.
1961         (replace(size_type, size_type, const basic_string&,
1962         size_type, size_type)): Ditto.
1963         (append(const basic_string&)): Ditto.
1964         (append(const basic_string&, size_type, size_type)): Ditto.
1965         (copy(_CharT*, size_type, size_type)): Ditto.
1966         (compare(size_type, size_type, const basic_string&)): Ditto.
1967         (compare(size_type, size_type, const basic_string&,size_type,
1968         size_type)): Ditto.
1969         (compare(size_type, size_type, const _CharT*)): Ditto.
1970         (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
1971
1972 2004-01-19  Stefan Olsson  <stefan@snon.net>
1973
1974         * include/ext/mt_allocator.h: If a thread, when it dies, still has
1975         memory on it's freelist this memory is not returned to global
1976         list. Simplification of deallocate so that memory is always
1977         returned to the calling thread id's freelist instead of to
1978         global. Fix typos. Add volatile where appropriate.
1979
1980 2004-01-19  Loren J. Rittle  <ljrittle@acm.org>
1981
1982         * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
1983         * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test.  Like -2 but
1984         use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
1985
1986 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
1987
1988         * src/debug.cc: Make sure all the names are prefixed with
1989         double (or single) underscore.
1990
1991 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
1992
1993         * src/debug.cc: Trivial formatting change.
1994
1995 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
1996
1997         * include/bits/basic_string.tcc (_S_construct(size_type,
1998         _CharT, const _Alloc&)): Remove redundant try/catch.
1999         (_M_mutate(size_type, size_type, size_type)): Ditto.
2000         (_M_clone(const _Alloc&, size_type)): Ditto.
2001
2002 2004-01-18  Paolo Carlini  <pcarlini@suse.de>
2003
2004         * include/bits/basic_string.h (c_str()): Simplify, due to
2005         21.3.4 the internal representation is always kept null-terminated.
2006         * include/bits/basic_string.tcc (_M_clone): Null-terminate.
2007         * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
2008         * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
2009         Ditto.
2010
2011 2004-01-18  Paolo Carlini  <pcarlini@suse.de>
2012
2013         * include/bits/basic_string.h (append(size_type, _CharT)):
2014         Moved inline, just call _M_replace_aux, no source iterators at
2015         risk of being clobbered.
2016         (assign(size_type, _CharT)): Call directly _M_replace_aux.
2017         (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
2018         input_iterator_tag)): Remove fifth unused argument.
2019         (_M_replace_dispatch(iterator, iterator, _InputIterator,
2020         _InputIterator, __false_type)): Update call.
2021         * include/bits/basic_string.tcc (replace(size_type, size_type,
2022         const _CharT*, size_type)): Update call.
2023         (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
2024         throw string literal.
2025         (_M_replace_safe(iterator, iterator, _ForwardIterator,
2026         _ForwardIterator)): Likewise.
2027         (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
2028         input_iterator_tag)): Remove fifth unused argument.
2029         (append(size_type __n, _CharT __c)): Move inline.
2030         * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
2031         const C*, const C*, input_iterator_tag)): Remove fifth unused
2032         argument.
2033
2034 2004-01-16  Benjamin Kosnik  <bkoz@redhat.com>
2035
2036         * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
2037         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
2038
2039 2004-01-16  Danny Smith  <dannysmith@users.sourceforge.net>
2040
2041         * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
2042         mkfifo for mingw32.
2043
2044 2004-01-15  Stefan Olsson  <stefan@snon.net>
2045
2046         * include/ext/mt_allocator.h: Reuse thread id's as soon as
2047         possible by changing the behaviour of thread_freelist to do
2048         push_front when threads die instead of push_back.
2049
2050 2004-01-14  Paolo Carlini  <pcarlini@suse.de>
2051
2052         * include/bits/locale_facets.h (struct __numpunct_cache):
2053         Add member _M_grouping_size, caching the length of _M_grouping.
2054         (__numpunct_cache<>::_M_cache): Assign the latter.
2055         (__verify_grouping): Move declaration...
2056         * include/bits/locale_facets.tcc (__verify_grouping):
2057         ... here, change signature to take a const char* and a size_t
2058         for the grouping; not a template anymore.
2059         (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
2060         Likewise change signature and tweak consistently.
2061         (num_get::_M_extract_float, num_get::_M_extract_int,
2062         num_put::_M_insert_int, num_put::_M_insert_float,
2063         money_get::do_get(string_type&), money_get::do_put(string_type)):
2064         Update callers.
2065         * config/locale/generic/numeric_members.cc
2066         (numpunct<>::_M_initialize_numpunct): Assign the new member.
2067         * config/locale/gnu/numeric_members.cc
2068         (numpunct<>::_M_initialize_numpunct): Likewise.
2069         * src/locale-inst.cc (__add_grouping): Tweak signature.
2070         (__verify_grouping): Don't instantiate, not a template anymore.
2071
2072         * include/bits/locale_facets.h: Rename _M_truename_len ->
2073         _M_truename_size, _M_falsename_len -> _M_falsename_size.
2074         * include/bits/locale_facets.tcc: Likewise.
2075         * config/locale/generic/numeric_members.cc: Likewise.
2076         * config/locale/gnu/numeric_members.cc: Likewise.
2077
2078 2004-01-14  Stefan Olsson  <stefan@snon.net>
2079
2080         * include/ext/mt_allocator.h: Fixups.
2081         * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
2082         * testsuite/performance/allocator_thread.cc: Same.
2083
2084 2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>
2085
2086         * testsuite/performance/ifstream_extract_float.cc: Add higher
2087         precision tests.
2088         * testsuite/performance/ofstream_insert_float.cc: Same.
2089
2090 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
2091
2092         * src/locale-misc-inst.cc (__convert_from_v(long),
2093         __convert_from_v(unsigned long), __convert_from_v(long long),
2094         __convert_from_v(unsigned long long)): Remove, unused.
2095
2096 2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>
2097
2098         * testsuite/performance/ifstream_extract_float.cc: New.
2099         * testsuite/performance/ofstream_insert_float.cc: Float generation
2100         matches above.
2101
2102         * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
2103         * 20_util/auto_ptr/1.cc: ...this.
2104         * 20_util/auto_ptr/2.cc: Same.
2105         * 20_util/auto_ptr/3.cc: Same.
2106         * 20_util/auto_ptr/3946.cc: Same.
2107         * 20_util/auto_ptr/4.cc: Same.
2108         * 20_util/auto_ptr/5.cc: Same.
2109         * 20_util/auto_ptr/6.cc: Same.
2110         * 20_util/auto_ptr/7.cc: Same.
2111         * 20_util/auto_ptr/assign_neg.cc
2112         * 20_util/pairs.cc: Break into...
2113         * 20_util/pair/1.cc: ...this.
2114         * 20_util/pair/2.cc: Same.
2115         * 20_util/pair/3.cc: Same.
2116         * 20_util/pair/4.cc: Same.
2117
2118 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
2119
2120         * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
2121         Set correctly just basefield, the only group that matters.
2122
2123 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
2124
2125         * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
2126         (_Rope_rep_base): Inherit directly from the rope allocator;
2127         use rebinding instead of _Alloc_traits; pick up data member
2128         from _Rope_rep_alloc_base.
2129         (_Rope_alloc_base): Eliminate.
2130         (_Rope_base): Inherit directly from the rope allocator; use
2131         rebinding instead of _Alloc_traits; pick up data member from
2132         _Rope_alloc_base.
2133         (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
2134         rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
2135
2136 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
2137
2138         PR libstdc++/13650
2139         * include/bits/basic_string.tcc (compare(size_type, size_type,
2140         const _CharT*, size_type)): Implement correctly the resolution
2141         of DR 5: basically, s is a char array, -not- a C string.
2142         * include/bits/basic_string.h: Tweak some comments.
2143         * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
2144         * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
2145
2146 2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
2147
2148         * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
2149         Solaris.
2150
2151 2004-01-12  Paolo Carlini  <pcarlini@suse.de>
2152
2153         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
2154         Use try_mkfifo.
2155         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
2156         Likewise.
2157
2158 2004-01-12  Paolo Carlini  <pcarlini@suse.de>
2159
2160         * include/bits/locale_facets.h (struct __numpunct_cache):
2161         Add members _M_truename_len and _M_falsename_len, caching
2162         the lengths of _M_truename and _M_falsename.
2163         (__numpunct_cache<>::_M_cache): Assign the latter.
2164         * include/bits/locale_facets.tcc (num_get::do_get(bool&),
2165         num_put::do_put(bool)): Use the new members, thus avoiding
2166         computing string lengths again and again.
2167         * config/locale/generic/numeric_members.cc
2168         (numpunct<>::_M_initialize_numpunct): Assign the new members.
2169         * config/locale/gnu/numeric_members.cc
2170         (numpunct<>::_M_initialize_numpunct): Likewise.
2171
2172 2004-01-12  Mark Mitchell  <mark@codesourcery.com>
2173
2174         * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
2175         * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
2176         it.
2177         * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
2178         and remove Cygwin XFAIL.
2179         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
2180         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
2181         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
2182         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
2183         Likewise.
2184         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
2185         * testsuite/27_io/objects/char/7.cc: Likewise.
2186         * testsuite/27_io/objects/char/9661-1.cc: Likewise.
2187         * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
2188         * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
2189
2190 2004-01-11  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2191
2192         * include/std/std_complex.h (std::complex<>::real): Return a
2193         reference. Add non-const overload.
2194         (std::complex<>::real): Likewise.
2195         (std::real): Likewise.
2196         (std::imag): Likewise.
2197         (std::operator+): Tidy.
2198         (std::operator-): Likewise.
2199         (std::operator*): Likewise.
2200         (std::operator/): Likewise.
2201         (std::operator>>): Likewise.
2202
2203 2004-01-11  Paolo Carlini  <pcarlini@suse.de>
2204
2205         PR libstdc++/13582
2206         * include/bits/fstream.tcc (imbue): Exploit the external
2207         buffer to imbue 'on the fly' a new locale and convert its
2208         remainder with the new codecvt facet.
2209         (underflow): Tweak slightly to deal with this special case.
2210         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
2211         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
2212         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
2213         * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
2214         * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
2215
2216 2004-01-10  Paolo Carlini  <pcarlini@suse.de>
2217
2218         * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
2219         Import Revision 28.
2220
2221 2004-01-10  Paolo Carlini  <pcarlini@suse.de>
2222
2223         PR libstdc++/13630
2224         * include/bits/locale_classes.h (class locale): Fix category
2225         typedef.
2226         * testsuite/22_locale/locale/13630.cc: Add.
2227
2228 2004-01-10  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
2229
2230         * include/bits/locale_facets.h: Make a name really dependent. This
2231         will be needed when Core Issue 224 is implemented.
2232
2233 2004-01-09  Paolo Carlini  <pcarlini@suse.de>
2234
2235         * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
2236         * testsuite/performance/allocator_thread.cc: Likewise.
2237
2238 2004-01-07  Benjamin Kosnik  <bkoz@redhat.com>
2239
2240         * crossconfig.m4: Add LFS, io bits to linux cross config.
2241         * acconfig.h: Remove obsolete bits, reorder.
2242         * config.h.in: Regenerate.
2243         * aclocal.m4: Same.
2244         * configure: Same.
2245
2246 2004-01-07  Gawain Bolton  <gp.bolton@computer.org>
2247
2248         * include/bits/stl_list.h:
2249         * include/bits/list.tc:
2250         * src/list.cc:
2251         Performance enhancements for destructor, push_front(),
2252         push_back(), pop_front(), pop_back(), sort()
2253         Eliminated static_casts where possible.
2254         Moved code out of header files into new src/list.cc
2255         implementation file for library where possible.
2256         Remove inheritance from iterator class and create separate
2257         classes for non-constant and constant iterators.
2258         * include/bits/stl_tree.h (_Rb_tree class):
2259         * src/tree.cc:
2260         Only erase contents in destructor.
2261         Eliminate unnecessary initialization in assignment operator.
2262         Optimize for the nominal case by not checking whether
2263         container is empty in clear().
2264         Re-order test in _M_insert() to improve performance.
2265         Move initialization of new node's left & right pointers to
2266         src/tree.cc to where new node's colour is initialized
2267         and to reduce the amount of inline code.
2268         Use  _M_leftmost() and _M_end() to improve readability where
2269         appropriate.
2270         Create separate classes for non-constant and constant
2271         iterators to clarify code, avoid extra template parameters and
2272         casting away constness.
2273
2274 2004-01-07  Benjamin Kosnik  <bkoz@redhat.com>
2275
2276         * src/Makefile.am (sources): Add list.cc, tree.cc.
2277         * src/stl_tree.cc: Move to...
2278         * src/tree.cc: ...here.
2279         * src/list.cc: Add.
2280         * config/linker-map.gnu: Tweaks.
2281         * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
2282         * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
2283
2284         * bits/stl_vector.h: Column wrap comments.
2285
2286 2004-01-07  Loren J. Rittle  <ljrittle@acm.org>
2287
2288         (re-open) PR libstdc++/12658
2289         * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
2290         (locale::global): Likewise.
2291
2292 2004-01-07  Paolo Carlini  <pcarlini@suse.de>
2293
2294         * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
2295         Remove redundant #include.
2296         * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
2297         * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
2298         re-enable normal testing.
2299         * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
2300         #include.
2301         * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
2302         * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
2303         Likewise.
2304         * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
2305         Likewise.
2306         * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
2307         Likewise.
2308         * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
2309         Likewise.
2310         * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
2311         Likewise.
2312         * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
2313         Likewise.
2314         * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
2315         Likewise.
2316         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
2317         More properly, #include <locale>.
2318         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
2319         Remove redundant #include.
2320         * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
2321         * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
2322         redundant DejaGnu directive.
2323         * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
2324         redundant #include.
2325
2326 2004-01-06  Benjamin Kosnik  <bkoz@redhat.com>
2327             Stefan Olsson  <stefan@snon.net>
2328
2329         * scripts/check_performance: Use -pthread.
2330         * testsuite/performance/allocator.cc: Tweaks, add list.
2331         * testsuite/performance/allocator_thread.cc: New.
2332
2333 2004-01-06  Jerry Quinn  <jlquinn@optonline.net>
2334
2335         * include/bits/locale_facets.h: Document public classes and
2336         functions.
2337         * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
2338         Add comment.
2339
2340 2004-01-06  Paolo Carlini  <pcarlini@suse.de>
2341
2342         * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
2343         Remove redundant #includes.
2344         * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
2345         Likewise.
2346         * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
2347         Likewise.
2348         * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
2349         * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
2350         * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
2351         * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
2352         * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
2353         * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
2354         * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
2355         * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
2356         * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
2357         * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
2358         * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
2359         * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
2360         * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
2361         * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
2362         * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
2363         Likewise.
2364         * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
2365         Likewise.
2366         * testsuite/27_io/basic_istream/readsome/char/8258.cc:
2367         Likewise.
2368         * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
2369         Likewise.
2370         * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
2371         Likewise.
2372         * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
2373         * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
2374         * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
2375
2376 2004-01-04  Paolo Carlini  <pcarlini@suse.de>
2377
2378         * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
2379         Remove redundant #includes.
2380         * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
2381         Likewise.
2382         * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
2383         Likewise.
2384         * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
2385         Likewise.
2386         * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
2387         Likewise.
2388         * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
2389         Likewise.
2390         * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
2391         Likewise.
2392         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
2393         Likewise.
2394         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
2395         Likewise.
2396         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
2397         Likewise.
2398         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
2399         Likewise.
2400         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
2401         Likewise.
2402         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
2403         Likewise.
2404
2405 2004-01-04  Mark Mitchell  <mark@codesourcery.com>
2406
2407         PR c++/12226
2408         * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
2409         constructor.
2410         * testsuite/27_io/basic_fstream/4.cc: Likewise.
2411         * testsuite/27_io/basic_ifstream/4.cc: Likewise.
2412         * testsuite/27_io/basic_ios/4.cc: Likewise.
2413         * testsuite/27_io/basic_iostream/4.cc: Likewise.
2414         * testsuite/27_io/basic_istream/4.cc: Likewise.
2415         * testsuite/27_io/basic_istingstream/4.cc: Likewise.
2416         * testsuite/27_io/basic_ofstream/4.cc: Likewise.
2417         * testsuite/27_io/basic_ostream/4.cc: Likewise.
2418         * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
2419         * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
2420         * testsuite/27_io/basic_stringstream/4.cc: Likewise.
2421
2422 2004-01-04  Paolo Carlini  <pcarlini@suse.de>
2423
2424         * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
2425         Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
2426         always use double underscored names.
2427         * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
2428         Likewise.
2429         * include/bits/locale_facets.h (struct __numpunct_cache):
2430         Dimension _M_atoms_out and _M_atoms_in one position smaller.
2431         (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out
2432         and _M_atoms_in.