OSDN Git Service

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