OSDN Git Service

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