OSDN Git Service

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