OSDN Git Service

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