OSDN Git Service

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