OSDN Git Service

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