OSDN Git Service

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