OSDN Git Service

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