OSDN Git Service

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