OSDN Git Service

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