OSDN Git Service

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