OSDN Git Service

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