OSDN Git Service

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