OSDN Git Service

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