OSDN Git Service

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