OSDN Git Service

2004-02-02 Jerry Quinn <jlquinn@optonline.net>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
1 2004-02-02  Jerry Quinn  <jlquinn@optonline.net>
2
3         * include/bits/gslice.h, include/bits/gslice_array.h,
4         include/bits/indirect_array.h, include/bits/mask_array.h,
5         include/bits/slice_array.h, include/bits/stl_numeric.h,
6         include/std/std_valarray.h:  Update copyright years.
7
8 2004-02-02  Jerry Quinn  <jlquinn@optonline.net>
9
10         * include/bits/gslice.h (gslice):  Document.
11         * include/bits/gslice_array.h (gslice_array):  Document.
12         * include/bits/indirect_array (indirect_array):  Document.
13         * include/bits/mask_array (mask_array):  Document.
14         * include/bits/slice_array.h (slice,slice_array):  Document.
15         * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
16         adjacent_difference):  Document
17         * include/std/std_valarray.h (valarray):  Document.
18
19 2004-02-02  Benjamin Kosnik  <bkoz@redhat.com>
20
21         * docs/html/19_diagnostics/howto.html: Move verbose terminate
22         documentation...
23         * docs/html/18_support/howto.html: Here. 
24         * docs/html/documentation.html: Add reference here.
25  
26 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
27
28         * config/locale/gnu/c++locale_internal.h: Remove prototypes
29         of no longer used GLIBC thread locale functions.
30
31 2004-02-02  Eric Christopher  <echristo@redhat.com>
32             Zack Weinberg  <zack@codesourcery.com>
33
34         * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
35         -finput-charset.
36         * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
37         * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
38         * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
39         * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
40         * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
41         * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
42         * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
43         * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
44         Ditto.
45
46 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
47
48         * include/bits/stl_function.h: Additional minor tweaks.
49         * include/bits/stl_multiset.h: Likewise.
50
51         * include/bits/stl_queue.h: Minor tweaks.
52
53 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
54
55         PR libstdc++/13976 (continued)
56         * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
57         Make the second parameter unnamed, to void unused parameter
58         warnings.
59         * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
60
61 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
62
63         PR libstdc++/13976
64         * include/ext/malloc_allocator.h (malloc_allocator::allocate):
65         Make the second parameter unnamed, to void unused parameter
66         warnings.
67         * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
68         * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
69
70 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
71
72         * include/bits/stl_algo.h: Additional minor tweaks.
73         * include/bits/stl_map.h: Likewise.
74         * include/bits/stl_multimap.h: Likewise.
75         * include/bits/stl_multiset.h: Likewise.
76         * include/bits/stl_set.h: Likewise.
77         * include/bits/stl_tree.h: Likewise.
78
79 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
80
81         * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
82         Remove, unused.
83
84 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
85
86         * include/bits/stl_function.h: Additional minor tweaks.
87
88 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
89
90         * include/bits/deque.tcc: Wrap overlong lines, constify
91         a few variables, reformat according to the coding standards.
92         * include/bits/list.tcc: Likewise.
93         * include/bits/stl_deque.h: Likewise.
94         * include/bits/stl_function.h: Likewise.
95         * include/bits/stl_iterator.h: Likewise.
96         * include/bits/stl_iterator_base_funcs.h: Likewise.
97         * include/bits/stl_iterator_base_types.h: Likewise.
98         * include/bits/stl_list.h: Likewise.
99         * include/bits/stl_map.h: Likewise.
100         * include/bits/stl_multimap.h: Likewise.
101         * include/bits/stl_multiset.h: Likewise.
102         * include/bits/stl_relops.h: Likewise.
103         * include/bits/stl_set.h: Likewise.
104
105 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
106
107         * include/bits/stl_bvector.h: Wrap overlong lines, constify
108         a few variables, reformat according to the coding standards.
109         * include/bits/stl_tree.h: Likewise.
110
111 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
112
113         * include/bits/stl_algo.h: Minor additional reformat, add
114         copyright year.
115         * include/bits/stl_algobase.h: Add copyright year.
116
117 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
118
119         * include/bits/stl_algo.h: Wrap overlong lines, constify
120         a few variables, reformat according to the coding standards.
121         * include/bits/stl_algobase.h: Likewise.
122         * include/bits/stl_heap.h: Likewise.
123
124 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
125
126         * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
127
128         * include/bits/basic_string.h: Fix two comments.
129
130 2004-01-31  Per Bothner  <per@bothner.com>
131
132         * include/ext/mt_allocator.h
133         (__mt_alloc::_S_thread_freelist_mutex): Guard with
134         __GTHREAD_MUTEX_INIT.
135
136 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
137
138         * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
139
140 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
141
142         * testsuite/21_strings/basic_string/cons/char/6.cc: New.
143         * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
144         * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
145
146 2004-01-30  Felix Yen  <fwy@alumni.brown.edu>
147
148         * testsuite/performance/20_util/allocator_thread.cc (do_loop):
149         Don't use clear, but instead assign. Use insert.
150
151 2004-01-30  Benjamin Kosnik  <bkoz@redhat.com>
152
153         * src/demangle.cc: Add instantiations.
154         * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
155         * src/Makefile.in: Regenerate.
156
157 2004-01-30  David Edelsohn  <edelsohn@gnu.org>
158
159         * src/allocator.cc: Protect _S_get_thread_id() and
160         _S_thread_key_destr() with #ifdef __GTHREADS.
161
162 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
163
164         Reshuffle performance testsuite.
165         * testsuite/performance/allocator.cc, allocator_map_thread.cc,
166         allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
167         cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
168         fstream_seek_write.cc, ifstream_extract_float.cc,
169         ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
170         list_create_fill_sort.cc, map_create_fill.cc,
171         narrow_widen_char.cc, narrow_widen_wchar_t.cc,
172         ofstream_insert_float.cc, ofstream_insert_int.cc,
173         string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
174         wchar_t_out.cc: Split into...
175         * testsuite/performance/20_util/allocator.cc: New.
176         * testsuite/performance/20_util/allocator_map_thread.cc: New.
177         * testsuite/performance/20_util/allocator_thread.cc: New.
178         * testsuite/performance/21_strings/string_append: New.
179         * testsuite/performance/22_locale/is_wchar_t.cc: New.
180         * testsuite/performance/22_locale/narrow_widen_char.cc: New.
181         * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
182         * testsuite/performance/22_locale/wchar_t_in.cc: New.
183         * testsuite/performance/22_locale/wchar_t_length.cc: New.
184         * testsuite/performance/22_locale/wchar_t_out.cc: New.
185         * testsuite/performance/23_containers/container_benchmark.cc: New.
186         * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
187         * testsuite/performance/23_containers/map_create_fill.cc: New.
188         * testsuite/performance/26_numerics/complex_norm.cc: New.
189         * testsuite/performance/27_io/cout_insert_int.cc: New.
190         * testsuite/performance/27_io/filebuf_copy.cc: New.
191         * testsuite/performance/27_io/filebuf_sputc.cc: New.
192         * testsuite/performance/27_io/fstream_seek_write.cc: New.
193         * testsuite/performance/27_io/ifstream_extract_float.cc: New.
194         * testsuite/performance/27_io/ifstream_extract_int.cc: New.
195         * testsuite/performance/27_io/ifstream_getline.cc: New.
196         * testsuite/performance/27_io/ofstream_insert_float.cc: New.
197         * testsuite/performance/27_io/ofstream_insert_int.cc: New.
198
199 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
200
201         * include/bits/basic_string.tcc (_Rep::_S_create):
202         Never allocate a string bigger than max_size(); always keep
203         __capacity and __size in sync to avoid memory leaks at
204         deallocation time.
205
206 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
207
208         * include/bits/basic_string.tcc (_S_construct(_InIterator,
209         _InIterator, const _Alloc&, input_iterator_tag)): Simplify
210         the double loop, streamline.
211
212         * include/bits/basic_string.tcc: Very minor tweaks.
213
214 2004-01-30  Loren J. Rittle  <ljrittle@acm.org>
215
216         * scripts/check_performance: Only compile with $THREAD_FLAG
217         when test is marked to require it.  Allow multiple
218         compilations/executions of marked tests.
219         * testsuite/testsuite_performance.h (report_performance):
220         Report dynamic thread support status.
221         (report_header): Likewise.
222         * testsuite/performance/allocator.cc: Stabilize iteration
223         count.  Support more allocators.  Mark each allocator test to
224         run and report independently.
225         * testsuite/performance/allocator_map_thread.cc: Likewise.
226         * testsuite/performance/allocator_thread.cc: Likewise.
227
228 2004-01-29  Stephen M. Webb  <stephen.webb@bregmasoft.com>
229
230         * config/local/generic/c_locale.h: Change ::malloc() to new char[].
231         * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
232         * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
233         std::get_temporary_buffer() instead of duplicating its code.
234         Update to C++STYLE conventions.
235         * include/std/std_memory.h (get_temporary_buffer): Use ::operator
236         new() instead of std::malloc().
237         (return_temporary_buffer): Use ::operator delete() instead of
238         std::free().
239
240 2004-01-29  Benjamin Kosnik  <bkoz@redhat.com>
241
242         * include/bits/allocator.h: Temporary switch to new_allocator as
243         the default to unjam bootstraps.
244
245 2004-01-28  Benjamin Kosnik  <bkoz@redhat.com>
246
247         * include/Makefile.am (bits_headers): Remove allocator_traits.h.
248         * include/Makefile.in: Regenerate.
249         * include/bits/allocator_traits.h: Remove.
250         * include/bits/allocator.h: Remove allocator_traits.h include, and
251         relevant comments.
252         (allocator): Empty base class, inherit from the underlying allocator.
253         * src/allocator-inst.cc: Move __pool_alloc instantiation to...
254         * src/allocator.cc: ...here. New. For the underlying allocators.
255         Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
256         * config/linker-map.gnu: Remove __pool_alloc bits.
257         * src/Makefile.am (sources): Add allocator.cc.
258         * src/Makefile.in: Regenerate.
259         * testsuite/20_util/allocator/1.cc: Split second test into...
260         * testsuite/20_util/allocator/8230.cc: ...this.
261         * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
262         typedef to use std::allocatore. Format.
263         * include/ext/pool_allocator.h: Remove allocator_traits.h include,
264         _Alloc_traits.
265         * include/ext/mt_allocator.h (__gnu_cxx): Qualify
266         __throw_bad_alloc calls. Don't include <memory>.
267         * include/ext/malloc_allocator.h: Remove <memory> include.
268         * include/ext/new_allocator.h (new_allocator): Same.
269         * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
270         declaration. Switch __alloc to _Alloc.
271         * include/ext/hashtable.h: Remove __alloc.
272         * include/backward/alloc.h: Only inject allocator, not
273         implementation details.
274
275         * include/ext/mt_allocator.h: Replace free with delete.
276
277 2004-01-28  Benjamin Kosnik  <bkoz@redhat.com>
278
279         * src/globals_io.cc: Change to __gnu_internal namespace.
280         * src/globals_locale.cc: Same.
281         * src/locale_init.cc: Same.
282         * src/ios_init.cc: Same.
283
284 2004-01-28  Stefan Olsson  <stefan@snon.net>
285
286         * include/ext/mt_allocator.h: Replaced all malloc() calls with
287         operator new(). Added support for the env variable
288         GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
289         one in allocate() as well). Fix typos.
290
291 2004-01-28  Paolo Carlini  <pcarlini@suse.de>
292
293         * include/bits/basic_string.h (_S_create(size_t,
294         const _Alloc&): Change signature to take two size_type
295         arguments.
296         * include/bits/basic_string.tcc (_S_construct(_InIterator,
297         _InIterator, const _Alloc&, input_iterator_tag)): Update
298         call, tweak a bit.
299         (_S_construct(_InIterator, _InIterator, const _Alloc&,
300         forward_iterator_tag)): Likewise.
301         (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
302         (_M_mutate(size_type, size_type, size_type)): Don't
303         implement the exponential growth policy, demand it to
304         _S_create, update call and simplify.
305         (_M_clone(const _Alloc&, size_type)): Likewise.
306         (_S_create(size_type, size_type, const _Alloc&)): Implement
307         the growth policy, simplify otherwise.
308
309         * include/bits/basic_string.h (_Rep::operator[]): Tweak
310         signature to take a size_type, consistently with the other
311         members.
312
313 2004-01-27  Benjamin Kosnik  <bkoz@redhat.com>
314
315         * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
316         delete declarations, add include and test variable.
317
318 2003-01-27  Jerry Quinn  <jlquinn@optonline.net>
319
320         * include/bits/codecvt.h, include/bits/locale_facets.h,
321         include/bits/postypes.h, include/bits/stl_bvector.h,
322         include/bits/stl_multiset.h, include/bits/stl_set.h,
323         include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
324         include/std/std_complex.h:  Document.
325
326 2004-01-27  Jerry Quinn  <jlquinn@optonline.net>
327
328         PR libstdc++/11584
329         * include/bits/ios_base.h (ios_base::_M_grow_words):  Add
330         iword/pword selector.
331         (ios_base::iword, ios_base::pword):  Use it.
332         * src/ios.cc (ios_base::_M_grow_words):  Clear _M_word_zero
333         iword or pword member on alloc failure.
334         * testsuite/27_io/ios_base/storage/11584.cc:  New test.
335
336 2004-01-27  Ulrich Weigand  <uweigand@de.ibm.com>
337             PJ Darcy  <darcypj@us.ibm.com>
338
339         * configure.host: Add support for *-tpf.
340         * crossconfig.m4: Likewise.
341         * configure: Regenerate.
342         * config/os/tpf: New directory.
343         * config/os/tpf/os_defines.h: New file.
344         * config/os/tpf/ctype_base.h: Likewise.
345         * config/os/tpf/ctype_inline.h: Likewise.
346         * config/os/tpf/ctype_noninline.h: Likewise.
347
348 2004-01-27  Paolo Carlini  <pcarlini@suse.de>
349
350         PR libstdc++/13884
351         * include/bits/sstream.tcc: Guard use of extern template.
352
353 2004-01-27  Paolo Carlini  <pcarlini@suse.de>
354
355         * include/bits/basic_string.tcc
356         (basic_string(const basic_string&, size_type, size_type),
357         basic_string(const basic_string&, size_type, size_type,
358         const _Alloc&)): Avoid unnecessarily constructing iterators.
359
360 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
361
362         * config/locale/generic/c_locale.cc: Fix throw messages
363         to use the __N marker.
364         * config/locale/gnu/c_locale.cc: Likewise.
365         * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
366         Likewise.
367         * docs/html/17_intro/C++STYLE: Likewise.
368         * include/bits/basic_ios.tcc: Likewise.
369         * include/bits/fstream.tcc: Likewise.
370         * include/bits/vector.tcc: Likewise.
371         * include/ext/ropeimpl.h: Likewise.
372         * include/std/std_bitset.h: Likewise.
373         * src/ios.cc: Likewise.
374         * src/locale.cc: Likewise.
375         * src/localename.cc: Likewise.
376
377 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
378
379         * include/bits/basic_string.h (_M_replace_aux): Use the
380         __N marker in throw message.
381         * include/bits/basic_string.tcc (assign(const _CharT*,
382         size_type), insert(size_type, const _CharT*, size_type),
383         replace(size_type, size_type, const _CharT*, size_type),
384         reserve, _Rep::_S_create, resize, _M_replace_dispatch):
385         Likewise.
386
387         * include/bits/basic_string.h, include/bits/basic_string.tcc:
388         Fold overlong lines, minor formatting changes.
389
390 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
391
392         * include/bits/basic_string.h (replace(iterator, iterator,
393         const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
394         (replace(iterator, iterator, const _CharT*)): Ditto.
395         (replace(iterator, iterator, const _CharT*, size_type)):
396         Add missing _GLIBCXX_DEBUG_PEDASSERT.
397
398 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
399
400         * include/bits/basic_string.tcc (replace(size_type,
401         size_type, const _CharT*, size_type)): Implement optimized
402         in-place algorithm for non-overlapping ranges.
403         * testsuite/21_strings/basic_string/replace/char/6.cc: New.
404         * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
405
406         * include/bits/basic_string.tcc (insert(size_type,
407         const _CharT*, size_type)): Tweak slightly.
408
409 2004-01-26  Andreas Schwab  <schwab@suse.de>
410
411         * config/locale/gnu/monetary_members.cc: Restore locale before
412         rethrowing exception.
413
414 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
415
416         * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
417         Define inline here.
418         * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
419         Move inline.
420
421         * include/bits/basic_string.tcc: Very minor tweaks.
422
423 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
424
425         * testsuite/performance/string_append.cc: Increase number
426         of iterations.
427
428 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
429
430         * include/bits/basic_string.h (erase(size_type, size_type),
431         erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
432         instead, thus avoiding redundant check for length_error.
433
434         * include/bits/basic_string.h: Tweak some comments.
435
436 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
437
438         * include/bits/basic_string.tcc (operator+(const _CharT*,
439         const basic_string&)): No need to go through the append
440         taking two iterators.
441
442 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
443
444         * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
445         Revert last change to use std::min: machine language is worse.
446         (find_last_of(const _CharT*, size_type, size_type)): Ditto.
447         (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
448         (find_last_not_of(_CharT, size_type)): Ditto.
449
450         * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
451         size_type)): Discard the value returned by _M_check.
452         (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
453         (append(const basic_string&, size_type, size_type)): Ditto.
454         (copy(_CharT*, size_type, size_type)): Ditto.
455         (compare(size_type, size_type, const basic_string&)): Ditto.
456         (compare(size_type, size_type, const basic_string&,
457         size_type, size_type)): Ditto.
458         (compare(size_type, size_type, const _CharT*)): Ditto.
459         (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
460
461 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
462
463         * include/bits/basic_string.h (insert(size_type,
464         const basic_string&, size_type, size_type)): Define inline here.
465         * include/bits/basic_string.tcc (insert(size_type,
466         const basic_string&, size_type, size_type)): Move inline.
467
468 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
469
470         * include/bits/basic_string.h (assign(const basic_string&,
471         size_type, size_type)): Define inline here.
472         (replace(size_type, size_type, const basic_string&,
473         size_type, size_type)): Ditto.
474         (_M_replace_dispatch(iterator, iterator, _InputIterator,
475         _InputIterator, __false_type)): Only declare.
476         (_M_replace(iterator, iterator, _InputIterator,
477         _InputIterator)): Remove.
478         * include/bits/basic_string.tcc (assign(const basic_string&,
479         size_type, size_type)): Move inline.
480         (replace(size_type, size_type, const basic_string&,
481         size_type, size_type)): Ditto.
482         (_M_replace_dispatch(iterator, iterator, _InputIterator,
483         _InputIterator, __false_type)): Define, now does also what
484         _M_replace did before.
485         * src/string-inst.cc (_M_replace): Don't instantiate.
486
487         * include/bits/basic_string.tcc (find(const _CharT*,
488         size_type, size_type)): Tidy.
489         (rfind(_CharT, size_type)): Ditto.
490         (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
491         (find_first_not_of(_CharT, size_type)): Ditto.
492         (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
493         (find_last_not_of(_CharT, size_type)): Ditto.
494
495 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
496
497         PR libstdc++/13838
498         * include/debug/bitset (operator|=): Fix typo.
499         * testsuite/23_containers/bitset/operations/13838.cc: New.
500
501 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
502
503         * include/bits/basic_string.tcc (insert(size_type,
504         const _CharT*, size_type __n)): Fix length_error check.
505         (replace(size_type, size_type, const _CharT*, size_type):
506         Ditto; call _M_replace_safe.
507         (_M_replace_aux(size_type, size_type, size_type, _CharT):
508         Fix length_error check.
509         (_M_replace(iterator, iterator, _InputIterator,
510         _InputIterator)): Ditto, tweak.
511         (_M_replace_safe(size_type, size_type, const _CharT*,
512         size_type)): Remove length_error check.
513
514         * include/bits/basic_string.tcc (append(const basic_string&),
515         append(const basic_string&, size_type, size_type)): Tweak
516         comment.
517
518         * include/bits/basic_string.tcc (copy(_CharT*, size_type,
519         size_type)): If __n == 0 don't call traits::copy.
520
521 2004-01-23  Stefan Olsson  <stefan@snon.net>
522
523         * include/ext/mt_allocator.h: Reduce lock contention.
524
525 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
526
527         PR libstdc++/13831
528         * include/bits/fstream.tcc (underflow): Remove unused
529         variable.
530         * include/bits/streambuf_iterator.h (equal): Ditto.
531         * include/bits/locale_facets.h (_M_convert_from_char):
532         Ditto.
533
534 2004-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
535
536         PR c/13814
537         * config/linker-map.gnu (nan): Delete.
538         * libmath/mathconf.h (NAN, nan): Delete.
539         * linkage.m4 (nan): Don't check for it.
540         * libmath/nan.c: Delete file.
541
542         * config.h.in, configure: Regenerate.
543
544 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
545
546         * include/bits/basic_string.h (push_back(_CharT)):
547         Call _M_replace_aux.
548         (insert(size_type, const basic_string&)): Trivial tweak.
549         (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
550         (insert(iterator, _CharT)): Ditto.
551         (erase(size_type, size_type)): Ditto.
552         (erase(iterator)): Ditto.
553         (erase(iterator, iterator)): Ditto.
554         (replace(size_type, size_type, size_type, _CharT)): Ditto.
555
556 2004-01-23  Loren J. Rittle  <ljrittle@acm.org>
557
558         libstdc++/13823
559         * testsuite/performance/allocator_map_thread.cc: New test.
560
561 2004-01-22  Paolo Carlini  <pcarlini@suse.de>
562
563         * include/bits/locale_facets.tcc
564         (money_put::do_put(..., long double)): Use the basic_string
565         constructor for char arrays, not that for C-strings, to pass
566         __digits to do_put(..., const string_type&): __ws isn't
567         null-terminated.
568
569 2004-01-22  Paolo Carlini  <pcarlini@suse.de>
570
571         * include/bits/basic_string.h (_M_replace_safe): Change
572         signatures to take size_types and const _CharT*.
573         (_M_replace_aux): Likewise, takes size_types instead of
574         iterators.
575         (append(size_type, _CharT)): Update call.
576         (assign(size_type, _CharT)): Ditto.
577         (replace(iterator, iterator, size_type, _CharT)): Ditto.
578         (_M_replace_dispatch(iterator, iterator, _Integer,
579         _Integer, __true_type)): Ditto.
580         * include/bits/basic_string.tcc (assign(const _CharT*,
581         size_type)): Ditto.
582         (insert(size_type, const _CharT*, size_type)): Ditto.
583         (replace(size_type, size_type, const _CharT*,
584         size_type)): Ditto.
585         (_M_replace(iterator, iterator, _InputIterator,
586         _InputIterator)): Ditto.
587         (append(const basic_string&)): Ditto.
588         (append(const basic_string&, size_type, size_type): Ditto.
589         (append(const _CharT*, size_type): Ditto.
590         (_M_replace_safe, _M_replace_safe): Change definitions
591         accordingly, simplify.
592         * string-inst.cc (_M_replace_safe): Don't instantiate.
593
594 2004-01-21  Paolo Carlini  <pcarlini@suse.de>
595
596         * include/bits/basic_string.tcc (append(const basic_string&)):
597         Revert previous change.
598         (append(const basic_string&, size_type, size_type)): Revert
599         previous change, use _M_check and _M_limit.
600
601 2004-01-21  Paolo Carlini  <pcarlini@suse.de>
602
603         * include/bits/basic_string.h (_M_check): Change to return
604         a checked __pos and take an additional const char* argument.
605         (_M_fold): Rename to _M_limit, change to return a size_type,
606         corresponding to the __off limited to the actual length.
607         (insert(size_type, size_type, _CharT)): Update call, call
608         replace.
609         (insert(iterator, _CharT)): Call replace(iterator, iterator,
610         size_type, _CharT) instead.
611         (erase(size_type, size_type)): Update calls.
612         (replace(size_type, size_type, size_type, _CharT)): Ditto.
613         (substr(size_type, size_type)): Use _M_check.
614         * include/bits/basic_string.tcc (basic_string(const basic_string&,
615         size_type, size_type)): Update calls.
616         (basic_string(const basic_string&, size_type, size_type,
617         const _Alloc&)): Ditto.
618         (assign(const basic_string&, size_type, size_type)): Use the
619         new _M_check and _M_limit.
620         (insert(size_type, const basic_string&, size_type, size_type):
621         Ditto.
622         (insert(size_type, const _CharT*, size_type)): Ditto.
623         (replace(size_type, size_type, const _CharT*, size_type): Ditto.
624         (replace(size_type, size_type, const basic_string&,
625         size_type, size_type)): Ditto.
626         (append(const basic_string&)): Ditto.
627         (append(const basic_string&, size_type, size_type)): Ditto.
628         (copy(_CharT*, size_type, size_type)): Ditto.
629         (compare(size_type, size_type, const basic_string&)): Ditto.
630         (compare(size_type, size_type, const basic_string&,size_type,
631         size_type)): Ditto.
632         (compare(size_type, size_type, const _CharT*)): Ditto.
633         (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
634
635 2004-01-19  Stefan Olsson  <stefan@snon.net>
636
637         * include/ext/mt_allocator.h: If a thread, when it dies, still has
638         memory on it's freelist this memory is not returned to global
639         list. Simplification of deallocate so that memory is always
640         returned to the calling thread id's freelist instead of to
641         global. Fix typos. Add volatile where appropriate.
642
643 2004-01-19  Loren J. Rittle  <ljrittle@acm.org>
644
645         * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
646         * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test.  Like -2 but
647         use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
648
649 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
650
651         * src/debug.cc: Make sure all the names are prefixed with
652         double (or single) underscore.
653
654 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
655
656         * src/debug.cc: Trivial formatting change.
657
658 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
659
660         * include/bits/basic_string.tcc (_S_construct(size_type,
661         _CharT, const _Alloc&)): Remove redundant try/catch.
662         (_M_mutate(size_type, size_type, size_type)): Ditto.
663         (_M_clone(const _Alloc&, size_type)): Ditto.
664
665 2004-01-18  Paolo Carlini  <pcarlini@suse.de>
666
667         * include/bits/basic_string.h (c_str()): Simplify, due to
668         21.3.4 the internal representation is always kept null-terminated.
669         * include/bits/basic_string.tcc (_M_clone): Null-terminate.
670         * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
671         * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
672         Ditto.
673
674 2004-01-18  Paolo Carlini  <pcarlini@suse.de>
675
676         * include/bits/basic_string.h (append(size_type, _CharT)):
677         Moved inline, just call _M_replace_aux, no source iterators at
678         risk of being clobbered.
679         (assign(size_type, _CharT)): Call directly _M_replace_aux.
680         (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
681         input_iterator_tag)): Remove fifth unused argument.
682         (_M_replace_dispatch(iterator, iterator, _InputIterator,
683         _InputIterator, __false_type)): Update call.
684         * include/bits/basic_string.tcc (replace(size_type, size_type,
685         const _CharT*, size_type)): Update call.
686         (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
687         throw string literal.
688         (_M_replace_safe(iterator, iterator, _ForwardIterator,
689         _ForwardIterator)): Likewise.
690         (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
691         input_iterator_tag)): Remove fifth unused argument.
692         (append(size_type __n, _CharT __c)): Move inline.
693         * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
694         const C*, const C*, input_iterator_tag)): Remove fifth unused
695         argument.
696
697 2004-01-16  Benjamin Kosnik  <bkoz@redhat.com>
698
699         * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
700         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
701
702 2004-01-16  Danny Smith  <dannysmith@users.sourceforge.net>
703
704         * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
705         mkfifo for mingw32.
706
707 2004-01-15  Stefan Olsson  <stefan@snon.net>
708
709         * include/ext/mt_allocator.h: Reuse thread id's as soon as
710         possible by changing the behaviour of thread_freelist to do
711         push_front when threads die instead of push_back.
712
713 2004-01-14  Paolo Carlini  <pcarlini@suse.de>
714
715         * include/bits/locale_facets.h (struct __numpunct_cache):
716         Add member _M_grouping_size, caching the length of _M_grouping.
717         (__numpunct_cache<>::_M_cache): Assign the latter.
718         (__verify_grouping): Move declaration...
719         * include/bits/locale_facets.tcc (__verify_grouping):
720         ... here, change signature to take a const char* and a size_t
721         for the grouping; not a template anymore.
722         (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
723         Likewise change signature and tweak consistently.
724         (num_get::_M_extract_float, num_get::_M_extract_int,
725         num_put::_M_insert_int, num_put::_M_insert_float,
726         money_get::do_get(string_type&), money_get::do_put(string_type)):
727         Update callers.
728         * config/locale/generic/numeric_members.cc
729         (numpunct<>::_M_initialize_numpunct): Assign the new member.
730         * config/locale/gnu/numeric_members.cc
731         (numpunct<>::_M_initialize_numpunct): Likewise.
732         * src/locale-inst.cc (__add_grouping): Tweak signature.
733         (__verify_grouping): Don't instantiate, not a template anymore.
734
735         * include/bits/locale_facets.h: Rename _M_truename_len ->
736         _M_truename_size, _M_falsename_len -> _M_falsename_size.
737         * include/bits/locale_facets.tcc: Likewise.
738         * config/locale/generic/numeric_members.cc: Likewise.
739         * config/locale/gnu/numeric_members.cc: Likewise.
740
741 2004-01-14  Stefan Olsson  <stefan@snon.net>
742
743         * include/ext/mt_allocator.h: Fixups.
744         * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
745         * testsuite/performance/allocator_thread.cc: Same.
746
747 2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>
748
749         * testsuite/performance/ifstream_extract_float.cc: Add higher
750         precision tests.
751         * testsuite/performance/ofstream_insert_float.cc: Same.
752
753 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
754
755         * src/locale-misc-inst.cc (__convert_from_v(long),
756         __convert_from_v(unsigned long), __convert_from_v(long long),
757         __convert_from_v(unsigned long long)): Remove, unused.
758
759 2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>
760
761         * testsuite/performance/ifstream_extract_float.cc: New.
762         * testsuite/performance/ofstream_insert_float.cc: Float generation
763         matches above.
764
765         * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
766         * 20_util/auto_ptr/1.cc: ...this.
767         * 20_util/auto_ptr/2.cc: Same.
768         * 20_util/auto_ptr/3.cc: Same.
769         * 20_util/auto_ptr/3946.cc: Same.
770         * 20_util/auto_ptr/4.cc: Same.
771         * 20_util/auto_ptr/5.cc: Same.
772         * 20_util/auto_ptr/6.cc: Same.
773         * 20_util/auto_ptr/7.cc: Same.
774         * 20_util/auto_ptr/assign_neg.cc
775         * 20_util/pairs.cc: Break into...
776         * 20_util/pair/1.cc: ...this.
777         * 20_util/pair/2.cc: Same.
778         * 20_util/pair/3.cc: Same.
779         * 20_util/pair/4.cc: Same.
780
781 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
782
783         * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
784         Set correctly just basefield, the only group that matters.
785
786 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
787
788         * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
789         (_Rope_rep_base): Inherit directly from the rope allocator;
790         use rebinding instead of _Alloc_traits; pick up data member
791         from _Rope_rep_alloc_base.
792         (_Rope_alloc_base): Eliminate.
793         (_Rope_base): Inherit directly from the rope allocator; use
794         rebinding instead of _Alloc_traits; pick up data member from
795         _Rope_alloc_base.
796         (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
797         rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
798
799 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
800
801         PR libstdc++/13650
802         * include/bits/basic_string.tcc (compare(size_type, size_type,
803         const _CharT*, size_type)): Implement correctly the resolution
804         of DR 5: basically, s is a char array, -not- a C string.
805         * include/bits/basic_string.h: Tweak some comments.
806         * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
807         * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
808
809 2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
810
811         * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
812         Solaris.
813
814 2004-01-12  Paolo Carlini  <pcarlini@suse.de>
815
816         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
817         Use try_mkfifo.
818         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
819         Likewise.
820
821 2004-01-12  Paolo Carlini  <pcarlini@suse.de>
822
823         * include/bits/locale_facets.h (struct __numpunct_cache):
824         Add members _M_truename_len and _M_falsename_len, caching
825         the lengths of _M_truename and _M_falsename.
826         (__numpunct_cache<>::_M_cache): Assign the latter.
827         * include/bits/locale_facets.tcc (num_get::do_get(bool&),
828         num_put::do_put(bool)): Use the new members, thus avoiding
829         computing string lengths again and again.
830         * config/locale/generic/numeric_members.cc
831         (numpunct<>::_M_initialize_numpunct): Assign the new members.
832         * config/locale/gnu/numeric_members.cc
833         (numpunct<>::_M_initialize_numpunct): Likewise.
834
835 2004-01-12  Mark Mitchell  <mark@codesourcery.com>
836
837         * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
838         * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
839         it.
840         * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
841         and remove Cygwin XFAIL.
842         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
843         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
844         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
845         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
846         Likewise.
847         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
848         * testsuite/27_io/objects/char/7.cc: Likewise.
849         * testsuite/27_io/objects/char/9661-1.cc: Likewise.
850         * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
851         * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
852
853 2004-01-11  Gabriel Dos Reis  <gdr@integrable-solutions.net>
854
855         * include/std/std_complex.h (std::complex<>::real): Return a
856         reference. Add non-const overload.
857         (std::complex<>::real): Likewise.
858         (std::real): Likewise.
859         (std::imag): Likewise.
860         (std::operator+): Tidy.
861         (std::operator-): Likewise.
862         (std::operator*): Likewise.
863         (std::operator/): Likewise.
864         (std::operator>>): Likewise.
865
866 2004-01-11  Paolo Carlini  <pcarlini@suse.de>
867
868         PR libstdc++/13582
869         * include/bits/fstream.tcc (imbue): Exploit the external
870         buffer to imbue 'on the fly' a new locale and convert its
871         remainder with the new codecvt facet.
872         (underflow): Tweak slightly to deal with this special case.
873         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
874         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
875         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
876         * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
877         * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
878
879 2004-01-10  Paolo Carlini  <pcarlini@suse.de>
880
881         * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
882         Import Revision 28.
883
884 2004-01-10  Paolo Carlini  <pcarlini@suse.de>
885
886         PR libstdc++/13630
887         * include/bits/locale_classes.h (class locale): Fix category
888         typedef.
889         * testsuite/22_locale/locale/13630.cc: Add.
890
891 2004-01-10  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
892
893         * include/bits/locale_facets.h: Make a name really dependent. This
894         will be needed when Core Issue 224 is implemented.
895
896 2004-01-09  Paolo Carlini  <pcarlini@suse.de>
897
898         * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
899         * testsuite/performance/allocator_thread.cc: Likewise.
900
901 2004-01-07  Benjamin Kosnik  <bkoz@redhat.com>
902
903         * crossconfig.m4: Add LFS, io bits to linux cross config.
904         * acconfig.h: Remove obsolete bits, reorder.
905         * config.h.in: Regenerate.
906         * aclocal.m4: Same.
907         * configure: Same.
908
909 2004-01-07  Gawain Bolton  <gp.bolton@computer.org>
910
911         * include/bits/stl_list.h:
912         * include/bits/list.tc:
913         * src/list.cc:
914         Performance enhancements for destructor, push_front(),
915         push_back(), pop_front(), pop_back(), sort()
916         Eliminated static_casts where possible.
917         Moved code out of header files into new src/list.cc
918         implementation file for library where possible.
919         Remove inheritance from iterator class and create separate
920         classes for non-constant and constant iterators.
921         * include/bits/stl_tree.h (_Rb_tree class):
922         * src/tree.cc:
923         Only erase contents in destructor.
924         Eliminate unnecessary initialization in assignment operator.
925         Optimize for the nominal case by not checking whether
926         container is empty in clear().
927         Re-order test in _M_insert() to improve performance.
928         Move initialization of new node's left & right pointers to
929         src/tree.cc to where new node's colour is initialized
930         and to reduce the amount of inline code.
931         Use  _M_leftmost() and _M_end() to improve readability where
932         appropriate.
933         Create separate classes for non-constant and constant
934         iterators to clarify code, avoid extra template parameters and
935         casting away constness.
936
937 2004-01-07  Benjamin Kosnik  <bkoz@redhat.com>
938
939         * src/Makefile.am (sources): Add list.cc, tree.cc.
940         * src/stl_tree.cc: Move to...
941         * src/tree.cc: ...here.
942         * src/list.cc: Add.
943         * config/linker-map.gnu: Tweaks.
944         * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
945         * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
946
947         * bits/stl_vector.h: Column wrap comments.
948
949 2004-01-07  Loren J. Rittle  <ljrittle@acm.org>
950
951         (re-open) PR libstdc++/12658
952         * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
953         (locale::global): Likewise.
954
955 2004-01-07  Paolo Carlini  <pcarlini@suse.de>
956
957         * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
958         Remove redundant #include.
959         * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
960         * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
961         re-enable normal testing.
962         * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
963         #include.
964         * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
965         * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
966         Likewise.
967         * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
968         Likewise.
969         * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
970         Likewise.
971         * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
972         Likewise.
973         * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
974         Likewise.
975         * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
976         Likewise.
977         * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
978         Likewise.
979         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
980         More properly, #include <locale>.
981         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
982         Remove redundant #include.
983         * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
984         * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
985         redundant DejaGnu directive.
986         * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
987         redundant #include.
988
989 2004-01-06  Benjamin Kosnik  <bkoz@redhat.com>
990             Stefan Olsson  <stefan@snon.net>
991
992         * scripts/check_performance: Use -pthread.
993         * testsuite/performance/allocator.cc: Tweaks, add list.
994         * testsuite/performance/allocator_thread.cc: New.
995
996 2004-01-06  Jerry Quinn  <jlquinn@optonline.net>
997
998         * include/bits/locale_facets.h: Document public classes and
999         functions.
1000         * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
1001         Add comment.
1002
1003 2004-01-06  Paolo Carlini  <pcarlini@suse.de>
1004
1005         * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
1006         Remove redundant #includes.
1007         * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
1008         Likewise.
1009         * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
1010         Likewise.
1011         * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
1012         * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
1013         * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
1014         * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
1015         * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
1016         * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
1017         * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
1018         * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
1019         * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
1020         * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
1021         * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
1022         * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
1023         * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
1024         * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
1025         * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
1026         Likewise.
1027         * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
1028         Likewise.
1029         * testsuite/27_io/basic_istream/readsome/char/8258.cc:
1030         Likewise.
1031         * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
1032         Likewise.
1033         * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
1034         Likewise.
1035         * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
1036         * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
1037         * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
1038
1039 2004-01-04  Paolo Carlini  <pcarlini@suse.de>
1040
1041         * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
1042         Remove redundant #includes.
1043         * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
1044         Likewise.
1045         * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
1046         Likewise.
1047         * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
1048         Likewise.
1049         * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
1050         Likewise.
1051         * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
1052         Likewise.
1053         * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
1054         Likewise.
1055         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1056         Likewise.
1057         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
1058         Likewise.
1059         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
1060         Likewise.
1061         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
1062         Likewise.
1063         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
1064         Likewise.
1065         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
1066         Likewise.
1067
1068 2004-01-04  Mark Mitchell  <mark@codesourcery.com>
1069
1070         PR c++/12226
1071         * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
1072         constructor.
1073         * testsuite/27_io/basic_fstream/4.cc: Likewise.
1074         * testsuite/27_io/basic_ifstream/4.cc: Likewise.
1075         * testsuite/27_io/basic_ios/4.cc: Likewise.
1076         * testsuite/27_io/basic_iostream/4.cc: Likewise.
1077         * testsuite/27_io/basic_istream/4.cc: Likewise.
1078         * testsuite/27_io/basic_istingstream/4.cc: Likewise.
1079         * testsuite/27_io/basic_ofstream/4.cc: Likewise.
1080         * testsuite/27_io/basic_ostream/4.cc: Likewise.
1081         * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
1082         * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
1083         * testsuite/27_io/basic_stringstream/4.cc: Likewise.
1084
1085 2004-01-04  Paolo Carlini  <pcarlini@suse.de>
1086
1087         * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
1088         Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
1089         always use double underscored names.
1090         * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
1091         Likewise.
1092         * include/bits/locale_facets.h (struct __numpunct_cache):
1093         Dimension _M_atoms_out and _M_atoms_in one position smaller.
1094         (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out
1095         and _M_atoms_in.