OSDN Git Service

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