OSDN Git Service

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