OSDN Git Service

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