OSDN Git Service

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