OSDN Git Service

2004-08-11 Paolo Carlini <pcarlini@suse.de>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
1 2004-08-11  Paolo Carlini  <pcarlini@suse.de>
2         
3         * testsuite/27_io/basic_stringbuf/imbue/char/1.cc: Declare test
4         variable.
5         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc: Ditto.
6         * testsuite/27_io/basic_stringbuf/in_avail/char/1.cc: Remove junk.
7         * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Ditto.
8         * testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc: Ditto.
9         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Ditto.
10         * testsuite/27_io/basic_stringbuf/setbuf/char/1.cc: Ditto.
11         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc: Ditto.
12         * testsuite/27_io/basic_stringbuf/sgetc/char/1.cc: Ditto.
13         * testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Ditto.
14         * testsuite/27_io/basic_stringbuf/sgetn/char/1.cc: Ditto.
15         * testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Ditto.
16         * testsuite/27_io/basic_stringbuf/snextc/char/1.cc: Ditto.
17         * testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Ditto.
18         * testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Ditto.
19         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc: Ditto.
20         * testsuite/27_io/basic_stringbuf/sputc/char/1.cc: Ditto.
21         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc: Ditto.
22         * testsuite/27_io/basic_stringbuf/sputn/char/1.cc: Ditto.
23         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc: Ditto.
24         * testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Ditto.
25         * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Ditto.
26
27 2004-08-11  Paolo Carlini  <pcarlini@suse.de>
28             Petur Runolfsson  <peturr02@ru.is>
29
30         PR libstdc++/16959
31         * src/ios_init.cc (ios_base::sync_with_stdio): Make sure the
32         standard streams are constructed.
33         * testsuite/27_io/ios_base/sync_with_stdio/16959.cc: New.
34
35 2004-08-09  Paolo Carlini  <pcarlini@suse.de>
36
37         * include/bits/stl_bvector.h: Trivial formatting fixes.
38
39 2004-08-09  Paolo Carlini  <pcarlini@suse.de>
40
41         * src/ios.cc (ios_base::_M_grow_words): Uglify the names.
42
43 2004-08-07  Jonathan Wakely  <redi@gcc.gnu.org>
44             Paolo Carlini  <pcarlini@suse.de>
45         
46         * src/debug.cc (_Error_formatter::_M_print_string): In order
47         to print individual words from __string, _M_format_word can't
48         be called since may be just sprintf, thus ignoring completely
49         __n: instead, use memmove and append '\0' by hand.
50
51 2004-08-07  Paolo Carlini  <pcarlini@suse.de>
52
53         * config/locale/generic/c_locale.h (__convert_from_v): Don't
54         use a default for __prec, assume __prec >= 0 and simplify.
55         * config/locale/gnu/c_locale.h (__convert_from_v): Likewise.
56         * include/bits/locale_facets.tcc (money_put<>::do_put(long double)):
57         Pass format "%.*Lf" + precision == 0, equivalent to "%.0Lf".
58
59 2004-08-04  Phil Edwards  <phil@codesourcery.com>
60
61         * docs/html/configopts.html:  Emphasize that options change.
62         * docs/html/17_intro/configury.html:  Update links.
63
64 2004-08-03  Paolo Carlini  <pcarlini@suse.de>
65
66         * include/bits/list.tcc: Trivial formatting fixes.
67
68 2004-08-03  Mark Mitchell  <mark@codesourcery.com>
69
70         * libsupc++/new_op.cc: Update comments.
71         * libsupc++/del_op.cc: Likewise.
72
73 2004-08-02  Mark Mitchell  <mark@codesourcery.com>
74
75         * libsupc++/cxxabi.h: Make all declarations have default
76         visibility.
77         * libsupc++/exception: Likewise.
78         * libsupc++/new: Likewise.
79         * libsupc++/typeinfo: Likewise.
80         * libsupc++/unwind-cxx.h: Likewise.
81         * libsupc++/eh_alloc.cc (__cxa_allocate_exception): Put it into
82         the __cxxabiv1 namespace.
83         (__cxa_free_exception): Likewise.
84         * libsupc++/eh_aux_runtime.cc (__cxa_bad_cast): Likewise.
85         (__cxa_bad_typeid): Likewise.
86         * libsupc++/eh_catch.cc (__cxa_begin_catch): Likewise.
87         (__cxa_end_catch): Likewise.
88         * libsupc++/eh_globals.cc (__cxa_get_globals_fast): Likewise.
89         (__cxa_get_globals): Likewise.
90         * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
91         (__cxa_rethrow): Likewise.
92         * libsupc++/pure.cc (__cxa_pure_virtual): Likewise.
93         * libsupc++/eh_type.cc: Include <cxxabi.h>.
94
95         * Makefile.am (hosted_source): Add libmath and testsuite.
96         (SUBDIRS): Remove them.
97         * acinclude.m4: (GLIBCXX_ENABLED_HOSTED): Default to freestanding
98         on arm*-*-symbianelf*.
99         * crossconfig.m4: Add arm*-*-symbianelf* support.
100         * include/c_std/std/std_cstdlib.h (stdlib.h): Do not include it
101         when freestanding.  Do not bring names into std:: namespace with
102         "using" when freestanding.  Declare required functions and macros
103         when freestanding. 
104         * libsupc++/Makefile.am (c_sources): Do not include cp-demangle.c
105         when freestanding.
106         * libsupc++/del_op.cc: Declare "free" only when freestanding.
107         * libsupc++/eh_alloc.cc (cstring): Include it only when hosted.
108         (malloc): Declare when freestanding.
109         (free): Likewise.
110         (memset): Likewise.
111         (__cxa_allocate_exception): Call malloc, not std::malloc.  Likewise
112         for memset.
113         (__cxa_free_exception): Likewise for free.
114         * libsupc++/new_op.cc: Declare "malloc" when freestanding.
115         * libsupc++/pure.cc (writestr): Define to nothing when
116         freestanding.
117         * libsupc++/vterminate.cc: Do not define anything when
118         freestanding.
119         * Makefile.in: Regenerated.
120         * aclocal.m4: Likewise.
121         * configure: Likewise.
122         * include/Makefile.in: Likewise.
123         * libmath/Makefile.in: Likewise.
124         * libsupc++/Makefile.in: Likewise.
125         * po/Makefile.in: Likewise.
126         * src/Makefile.in: Likewise.
127         * testsuite/Makefile.in: Likewise.
128         
129 2004-08-01  Matt Austern  <austern@apple.com>
130
131         PR libstdc++/16844
132         * include/bits/stl_list.h (_M_create_node): Remove unused 
133         zero-argument version.
134         * include/ext/slist (_M_create_node): Pass two arguments to
135         allocator's construct() member function.
136         * testsuite/23_containers/deque/explicit_instantiation.cc: New.
137         * testsuite/23_containers/list/explicit_instantiation.cc: New.
138         * testsuite/23_containers/vector/explicit_instantiation.cc: New.
139         * testsuite/23_containers/map/explicit_instantiation.cc: New.
140         * testsuite/23_containers/set/explicit_instantiation.cc: New.
141         * testsuite/23_containers/multimap/explicit_instantiation.cc: New.
142         * testsuite/23_containers/multiset/explicit_instantiation.cc: New.
143         * testsuite/ext/hash_set_explicit_instantiation.cc: New.
144         * testsuite/ext/slist_explicit_instantiation.cc: New.
145         
146 2004-07-30  Paolo Carlini  <pcarlini@suse.de>
147
148         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
149         num_get<>::_M_extract_int): In the main parsing loop delay the
150         life of __q to the actual use point.
151
152 2004-07-29  Paolo Carlini  <pcarlini@suse.de>
153
154         PR libstdc++/14220
155         * include/bits/locale_facets.tcc (num_put<>::_M_insert_float):
156         Don't clip the precision passed down to __convert_from_v:
157         22.2.2.2.2 nowhere says so.
158         * testsuite/22_locale/num_put/put/char/14220.cc: New.
159         * testsuite/22_locale/num_put/put/wchar_t/14220.c: Likewise.
160
161 2004-07-29  Paolo Carlini  <pcarlini@suse.de>
162
163         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 31.
164
165 2004-07-29  Paolo Carlini  <pcarlini@suse.de>
166             Petur Runolfsson  <peturr02@ru.is>
167
168         PR libstdc++/12658 (continued)
169         * src/locale_init.cc (locale::locale, locale::global): Use
170         a single locale_mutex instead of two separate mutexes.
171
172 2004-07-29  Paolo Carlini  <pcarlini@suse.de>
173
174         PR libstdc++/16813
175         * include/debug/map.h (insert(_InputIterator, _InputIterator)):
176         Fix typo.
177         * testsuite/23_containers/map/insert/16813.cc: New.
178
179 2004-07-29  Phil Edwards  <phil@codesourcery.com>
180
181         * docs/html/faq/index.html:  Update version references.  Make
182         clear that code from SGI has diverged greatly.  Remove references
183         to library snapshots and what's-new sections.
184         * docs/html/faq/index.txt:  Regenerate.
185
186 2004-07-28  Matt Austern  <austern@apple.com>
187
188         * include/bits/stl_construct.h (_Destroy): New three-argument
189         overload that takes an allocator argument.  Another inline
190         three-argument overload that takes std::allocator and dispatches
191         to the two-argument version.
192         * include/bits/stl_uninitialized.h (__uninitialized_fill_n_aux):
193         Change return type to void to match uninitialized_fill_n.
194         (__uninitialized_copy_a_): New function.  Like uninitialized_copy
195         except that it takes an allocator and uses it for construct and
196         destroy.  If the allocator is std::allocator, dispatches to
197         uninitialized_copy.
198         (__uninitialized_fill_a): Likewise.
199         (__uninitialized_fill_n_a): Likewise.
200         (__uninitialized_copy_copy): Give it an allocator argument.
201         (__uninitialized_fill_copy): Likewise.
202         (__uninitialized_copy_fill): Likewise.
203         * include/bits/deque.tcc: Use new forms defined in stl_construct.h
204         and stl_uninitialized.h.  Replace use of single-argument _Construct
205         and _Destroy with use of allocator's construct and destroy methods.
206         * include/bits/list.tcc: Likewise.
207         * include/bits/stl_deque.h: Likewise.
208         * include/bits/stl_list.h: Likewise.
209         * include/bits/stl_tree.h: Likewise.
210         * include/bits/stl_vector.h: Likewise.
211         * include/bits/vector.tcc: Likewise.
212         * include/ext/hashtable.h: Use rebind so that allocator_type
213         has correct type for a container's allocator.  Replace use of 
214         single-argument _Construct and _Destroy with use of allocator's 
215         construct and destroy methods.
216         * include/ext/memory (__uninitialized_copy_n_a): New function.
217         Like uninitialized_copy_n except that it takes an extra parameter,
218         an allocator, and uses it for construct and destroy operations.
219         * include/ext/rope: Use new forms defined in stl_construct.h,
220         stl_uninitialized.h, and ext/memory.  Replace use of single-argument 
221         _Construct and _Destroy with allocator construct and destroy methods.
222         * include/ext/ropeimpl.h: Likewise.
223         * include/ext/slist.h: Likewise.
224         * testsuite/testsuite_allocator.h (check_construct_destroy): New.
225         * testsuite/testsuite_allocator.cc (check_construct_destroy): New.
226         * testsuite/23_containers/deque/check_construct_destroy.cc: New.
227         * testsuite/23_containers/list/check_construct_destroy.cc: New.
228         * testsuite/23_containers/set/check_construct_destroy.cc: New.  
229         * testsuite/23_containers/vector/check_construct_destroy.cc: New. 
230         * testsuite/ext/hash_check_construct_destroy.cc: New.
231         * testsuite/ext/slist_check_construct_destroy.cc: New.
232         
233 2004-07-28  Alexandre Oliva  <aoliva@redhat.com>
234
235         2003-10-01  Eric Christopher  <echristo@redhat.com>
236         * config/cpu/sh/atomicity.h (__exchange_and_add): Remove 'm'
237         constraint.
238         2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
239         * config/cpu/sh/atomicity.h: New.  Use movli and movco on SH4a.
240
241 2004-07-23  Benjamin Kosnik  <bkoz@redhat.com>
242
243         PR libstdc++/16678
244         * include/bits/locale_facets.tcc: Fix for -Werror.
245
246 2004-07-23  Jonathan Wakely  <redi@gcc.gnu.org>
247
248         * docs/html/debug.html: Say debug mode only available since 3.4.0.
249
250 2004-07-21  Benjamin Kosnik  <bkoz@redhat.com>
251
252         * docs/doxygen/mainpage.html: Clarify links.
253         * docs/doxygen/stdheader.cc: Add files.
254         * docs/doxygen/style.css: Remove bolds, add h2, h3 styles.
255         * docs/doxygen/user.cfg.in: New options, wrap.
256
257 2004-07-20  Danny Smith  <dannysmith@users.sourceforge.net>
258
259         * include/c_std/std_cwchar.h (wcsstr): Correct signature.
260
261 2004-07-19  Benjamin Kosnik  <bkoz@redhat.com>
262
263         PR libstdc++/15488
264         * testsuite/lib/libstdc++.exp (v3-copy-files): Revert.
265
266 2004-07-17  Richard Sandiford  <rsandifo@redhat.com>
267
268         PR bootstrap/16469
269         * scripts/create_testsuite_files: Pass -print to find.
270
271 2004-07-15  Paolo Carlini  <pcarlini@suse.de>
272
273         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 30.
274         * docs/html/ext/howto.html: Tweak entries for DRs 167/253/389/402.
275
276 2004-07-15  Jakub Jelinek  <jakub@redhat.com>
277
278         PR libstdc++/14697
279         * acinclude.m4 (glibcxx_shared_libgcc): Correct
280         glibcxx_shared_libgcc test for multilibs.
281         * configure: Rebuilt.
282
283 2004-07-14  Paolo Carlini  <pcarlini@suse.de>
284
285         PR libstdc++/16505
286         * include/bits/stl_uninitialized.h (uninitialized_fill_n): Fix
287         the signature to return void, as per 20.4.4.3.
288         * include/bits/stl_vector.h (vector::vector(size_type,
289         const value_type&, const allocator_type&), vector::vector(size_type),
290         vector::_M_initialize_dispatch): Adjust callers.
291         * include/bits/vector.tcc (vector<>::_M_fill_assign,
292         vector<>::_M_fill_insert): Likewise.
293         * testsuite/20_util/memory/16505.cc: New.
294
295 2004-07-14  Paolo Carlini  <pcarlini@suse.de>
296
297         * testsuite/22_locale/locale/cons/12658_thread-1.cc,
298         12658_thread-2.cc: Use __gnu_test::try_named_locale.
299
300 2004-07-13  Benjamin Kosnik  <bkoz@redhat.com>
301
302         * docs/html/ext/mt_allocator.html: Add docs for _Tune.
303         * include/ext/mt_allocator.h (__mt_alloc::_S_get_options): Make public.
304         (__mt_alloc::_S_set_options): Same.
305         Add to comments.
306
307 2004-07-13  Benjamin Kosnik  <bkoz@redhat.com>
308
309         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add allocator defaults
310         for linux.
311         * configure: Regenerated.
312
313 2004-07-13  Paolo Carlini  <pcarlini@suse.de>
314
315         * testsuite/22_locale/locale/cons/12658_thread.cc: Move/rename
316         to 12658_thread-1.cc and xfail.
317         * testsuite/22_locale/locale/cons/12658_thread-2.c: New, much
318         simpler version of 12658_thread-1.cc, still failing on 3_3 and
319         not failing on 3_4/mainline - both on single processor and
320         multiprocessor machines.
321
322 2004-07-12  Benjamin Kosnik  <bkoz@redhat.com>
323
324         * docs/html/abi.html: Remove non-public qualification.
325
326         * include/bits/concurrence.h: Tweak comments.
327
328 2004-07-11  Paolo Carlini  <pcarlini@suse.de>
329
330         Add wchar_t counterparts of the basic_streambbuf<char> tests.
331         * testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: New.
332         * testsuite/27_io/basic_streambuf/imbue/wchar_t/1.cc, 9322.cc:
333         Likewise.
334         * testsuite/27_io/basic_streambuf/in_avail/wchar_t/9701-3.cc: Likewise.
335         * testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc, 2.cc,
336         3599.cc: Likewise.
337         * testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc: Likewise.
338         * testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise.
339         * testsuite/27_io/basic_streambuf/sputbackc/wchar_t/9538.cc: Likewise.
340         * testsuite/27_io/basic_streambuf/sputc/wchar_t/1057.cc: Likewise.
341         * testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc, 1057.cc:
342         Likewise.
343         * testsuite/27_io/basic_streambuf/sync/wchar_t/1057.cc: Likewise.
344
345         * testsuite/27_io/basic_streambuf/imbue/char/1.cc, 9322.cc: Minor
346         tweaks.
347         * testsuite/27_io/basic_streambuf/overflow/char/2.cc, 3599.cc:
348         Likewise.
349         * testsuite/27_io/basic_streambuf/sputn/char/1057.cc: Likewise.
350         * testsuite/27_io/basic_streambuf/sync/char/1057.cc: Likewise.
351
352 2004-07-11  Phil Edwards  <phil@codesourcery.com>
353
354         * acinclude.m4:  Cosmetic shell syntax fixes.
355         * configure.ac:  Bring comment inline with reality.
356         * configure.host:  Both of the above.  Move 'arm' case to right
357         place in host_cpu switch.
358         * aclocal.m4, configure:  Regenerate.
359
360 2004-07-09  Paolo Carlini  <pcarlini@suse.de>
361
362         Add wchar_t counterparts of the basic_stringbuf<char> tests.
363         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc, 9322.cc: New.
364         * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Likewise.
365         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc, 2.cc,
366         3599.cc, 9988.cc: Likewise.
367         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc, 9825.cc:
368         Likewise.
369         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc, 2.cc:
370         Likewise.
371         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc, 2.cc, 3.cc:
372         Likewise.
373         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc, 2.cc, 3.cc:
374         Likewise.
375         * testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Likewise.
376         * testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Likewise.
377         * testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Likewise.
378         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc, 9425.cc:
379         Likewise.
380         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc, 1057.cc,
381         9404-1.cc: Likewise.
382         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc, 1057.cc,
383         9404-2.cc: Likewise.
384         * testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc, 2.cc, 3.cc,
385         3955.cc: Likewise.
386         * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Likewise.
387         * testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc: Likewise.
388
389 2004-07-08  Paolo Carlini  <pcarlini@suse.de>
390
391         * include/bits/gslice.h: Trivial formatting fixes.
392         * include/bits/gslice_array.h: Likewise.
393         * include/bits/indirect_array.h: Likewise.
394         * include/bits/mask_array.h: Likewise.
395         * include/bits/slice_array.h: Likewise.
396         * include/bits/valarray_after.h: Likewise.
397         * include/bits/valarray_array.h: Likewise.
398         * include/bits/valarray_before.h: Likewise.
399         * include/std/std_valarray.h: Likewise.
400
401 2004-07-08  Benjamin Kosnik  <bkoz@redhat.com>
402
403         PR c++/16169
404         * include/bits/basic_string.h (basic_string::operator=): Revert.
405
406 2004-07-07  Benjamin Kosnik  <bkoz@redhat.com>
407
408         * configure.ac (libtool_VERSION): To 6:2:0.
409         * configure: Regenerated.
410
411         * testsuite/testsuite_abi.cc (check_version): Add 3.4.2.
412         
413 2004-07-07  Aaron W. LaFramboise  <aaronraolete36@aaronwl.com>
414
415         PR libstdc++/16411
416         * config/linker-map.gnu: Add stdio_sync_filebuf::file exports.
417
418 2004-07-07  Benjamin Kosnik  <bkoz@redhat.com>
419
420         * docs/html/abi.html: Updates for 3.4.1 release. Add summary of
421         -Weffc++ issues.
422
423 2004-07-07  Paolo Carlini  <pcarlini@suse.de>
424
425         PR libstdc++/16401
426         * include/bits/sstream.tcc (overflow): When reallocating _M_string
427         use an exponential grow policy.
428         * testsuite/27_io/basic_stringbuf/overflow/char/1.cc: New.
429         * testsuite/performance/27_io/stringbuf_overflow.cc: New.
430
431 2004-07-06  Anssi Hannula  <anssi.hannula@mbnet.fi>
432
433         PR libstdc++/15928
434         * crossconfig.m4: Add in bits for djgpp.
435         * configure: Regenerate.
436         
437 2004-07-05  Jonathan Wakely  <redi@gcc.gnu.org>
438
439         * testsuite/23_containers/{set,multiset}/14340.cc: Fix typos in
440         instantiation of set and multiset (functor param given as int).
441
442 2004-07-04  Paolo Carlini  <pcarlini@suse.de>
443
444         * include/bits/basic_string.h: Trivial formatting fixes and/or
445         const-ification of some variables.
446         * include/bits/deque.tcc: Likewise.
447         * include/bits/stl_algobase.h: Likewise.
448         * include/bits/stl_bvector.h: Likewise.
449         * include/bits/stl_construct.h: Likewise.
450         * include/bits/stl_deque.h: Likewise.
451         * include/bits/stl_pair.h: Likewise.
452         * include/bits/stl_vector.h: Likewise.
453         * include/bits/vector.tcc: Likewise.
454
455 2004-07-04  Paolo Carlini  <pcarlini@suse.de>
456
457         * testsuite/25_algorithms/copy/1.cc: Add instantiations for
458         systems with no COMDAT or weak support.
459         * testsuite/25_algorithms/copy/2.cc: Likewise.
460         * testsuite/25_algorithms/copy/3.cc: Likewise.
461         * testsuite/25_algorithms/copy/4.cc: Likewise.
462
463 2004-07-03  Paul Brook  <paul@codesourcery.com>
464
465         * configure.ac: Set ABI_TWEAKS_SRCDIR.
466         * configure.host: Set abi_tweaks_dir.  Check for atomicity.h when
467         setting atomicity_dir.  Override type_cpu for arm based targets.
468         * include/Makefile.am (host_headers): Add cxxabi_tweaks.h.
469         * libsupc++/cxxabi.h: Include bits/cxxabi.h. Don't declare __guard.
470         * libsupc++/guard.cc: Use definitions from cxxabi_tweaks.h.
471         * libsupc++/vec.cc: Ditto.
472         * config/cpu/arm/cxxabi_tweaks.h: New file.
473         * config/cpu/generic/cxxabi_tweaks.h: New file.
474         * */Makefile.in: Regenerate.
475         * configure: Regenerate.
476
477 2004-07-02  Paolo Carlini  <pcarlini@suse.de>
478
479         * include/bits/type_traits.h (_Is_normal_iterator): Move...
480         * include/bits/cpp_type_traits.h: ... here, renamed to
481         __is_normal_iterator and consistent with the other traits.
482         * include/bits/stl_algobase.h (__copy_ni1, __copy_ni2): Convert
483         to the struct __copy_normal and three specializations.
484         (__copy_backward_output_normal_iterator,
485         __copy_backward_input_normal_iterator): Likewise, convert to
486         the struct __copy_backward_normal and three specializations.
487         (copy, copy_backward): Use the latter.
488         (__copy_aux, __copy_backward_aux): Very minor tweaks.
489
490 2004-07-01  Paolo Carlini  <pcarlini@suse.de>
491
492         * include/bits/stl_algobase.h (__copy_trivial): Remove.
493         (__copy_aux2): Rewrite as __copy_aux to use __is_pointer,
494         __is_trivially_copyable, __are_same and __copy::copy.
495         (__copy): Rewrite as a class template and two specializations.
496         (__copy_ni2): Simplify, just call __copy_aux.
497         
498         * include/bits/stl_algobase.h (__copy_backward_aux): Add __are_same
499         check.
500         * testsuite/25_algorithms/copy/1.cc, 2.cc, 3.cc, 4.cc: Test also
501         for destination value type != source value type.
502
503 2004-07-01  Benjamin Kosnik  <bkoz@redhat.com>
504             Per Bothner  <per@bothner.com>
505             Mohan Embar  <gnustuff@thisiscool.com>
506
507         PR libstdc++/16248
508         * include/bits/concurrence.h (__glibcxx_mutex_type): New.
509         (__glibcxx_mutex): Encapsulate mutex init function into type for
510         threaded configurations without __GTHREAD_MUTEX_INIT.
511         (lock::lock): Make device member a reference.
512         (lock::~lock): Same.
513         * include/ext/pool_allocator.h (__pool_base::_M_get_mutex): Change
514         to mutex_type.
515         * src/allocator.cc: Same.
516         
517 2004-06-30  Brad Spencer  <spencer@infointeractive.com>
518
519         * include/ext/mt_allocator.h: Handle allocations at static
520         initialization that happen before _S_options is (automatically)
521         constructed; set _S_init even if _M_force_new is true.
522         
523 2004-06-30  Benjamin Kosnik  <bkoz@redhat.com>
524
525         * config/linker-map.gnu: Revert new exports.
526
527 2004-06-30  Benjamin Kosnik  <bkoz@redhat.com>
528             Stuart Anderson  <anderson@netsweng.com>
529         
530         * config/linker-map.gnu: Add destructor exports for abstract base
531         classes to conform to LSB.
532
533 2004-06-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
534             Paolo Carlini  <pcarlini@suse.de>
535
536         * include/bits/cpp_type_traits.h: Add __is_pointer and
537         __is_trivially_copyable.
538         * include/bits/stl_algobase.h (fill, fill_n): Slightly
539         tweak to use the latter.
540         (__copy_backward_dispatch): Remove.
541         (__copy_backward_aux): Rewrite to use __is_pointer and
542         __is_trivially_copyable and __copy_backward::copy_b.
543         (__copy_backward): Rewrite as a class template and two
544         specializations.
545
546 2004-06-30  Paolo Carlini  <pcarlini@suse.de>
547
548         * testsuite/25_algorithms/copy.cc: Move to...
549         * testsuite/25_algorithms/copy/1.cc: ... here, extend.
550         * testsuite/25_algorithms/copy/2.cc: New.
551         * testsuite/25_algorithms/copy/3.cc: New.
552         * testsuite/25_algorithms/copy/4.cc: New.
553
554 2004-06-29  Paul Brook  <paul@codesourcery.com>
555
556         * libsupc++/vec.cc (__cxa_vec_new2, __cxa_vec_new3): Store the
557         element size in the cookie.
558
559 2004-06-28  Paolo Carlini  <pcarlini@suse.de>
560
561         * include/bits/cpp_type_traits.h: Move the additions to
562         namespace __gnu_internal outside of namespace std; trivial
563         formatting fixes.
564
565 2004-06-28  Benjamin Kosnik  <bkoz@redhat.com>
566
567         * include/debug/safe_base.h (__gnu_debug::_Safe_sequence_base):
568         Revert -Weffc++ changes that defined copy ctory and or assignment
569         operator.
570         * libsupc++/tinfo.cc (__upcast_result): Same.
571         
572 2004-06-28  Paolo Carlini  <pcarlini@suse.de>
573
574         * src/localename.cc (locale::_Impl::_Impl): Slightly improve
575         the algorithm used to name the categories.
576
577 2004-06-28  Paolo Bonzini  <bonzini@gnu.org>
578
579         * include/Makefile.am: Give a .gch extension to
580         the PCH files, not only to the directory.
581         * include/Makefile.in: Regenerate.
582
583 2004-06-28  Paolo Carlini  <pcarlini@suse.de>
584
585         * config/locale/gnu/monetary_members.cc
586         (moneypunct<wchar_t>::_M_initialize_moneypunct): Clean up
587         assignments of _M_decimal_point and _M_thousands_sep.
588
589 2004-06-27  Paolo Carlini  <pcarlini@suse.de>
590
591         * docs/html/17_intro/contribute.html: Update some links.
592         * docs/html/17_intro/porting-howto.html: Likewise.
593         * docs/html/17_intro/porting-howto.xml: Likewise.
594         * docs/html/18_support/howto.html: Likewise.
595         * docs/html/21_strings/howto.html: Likewise.
596         * docs/html/27_io/howto.html: Likewise.
597         * docs/html/configopts.html: Likewise.
598         * docs/html/ext/howto.html: Likewise.
599         * docs/html/faq/index.html: Likewise.
600         * docs/html/install.html: Don't mention 2.x compilers.
601
602 2004-06-27  Paolo Carlini  <pcarlini@suse.de>
603
604         * include/ext/rope: Trivial formatting fixes.
605         * include/ext/ropeimpl.h: Likewise.
606
607 2004-06-26  Paolo Carlini  <pcarlini@suse.de>
608
609         PR libstdc++/16210
610         * acinclude.m4 (GLIBCXX_ENABLE_LONG_LONG): Do not check for the
611         availability of strto(u)ll, not used anymore in the iostreams.
612         * configure: Regenerate.
613
614 2004-06-25  Benjamin Kosnik  <bkoz@redhat.com>
615
616         PR libstdc++/16182      
617         * linkage.m4 (GLIBCXX_CHECK_BUILTIN_MATH_DEC): Revert to
618         AC_DEFINE_UNQUOTED.
619         * configure: Regenerate.
620
621 2004-06-25  Paul Brook  <paul@codesourcery.com>
622
623         * libsupc++/cxxabi.h: Define __ARM_EABI__
624         (__guard): Use it.
625         * libsupc++/guard.h (__cxa_guard_acquire, __cxa_guard_release): Ditto.
626
627 2004-06-25  Paul Brook  <paul@codesourcery.com>
628
629         * include/bits/concurrence.h: Still create mutex object when
630         single-threaded.
631
632 2004-06-25  Paolo Carlini  <pcarlini@suse.de>
633
634         * include/bits/stl_algobase.h (fill, fill_n): Revert last
635         change: actually we need to copy construct an object of type
636         _Tp, not of type iterator_traits<>::value_type, therefore the
637         code is ok.
638
639 2004-06-25  Paolo Carlini  <pcarlini@suse.de>
640
641         * include/bits/stl_algobase.h (fill, fill_n): Tighten the
642         dispatch: use iterator_traits<>::value_type, not _Tp.
643
644 2004-06-25  Paolo Carlini  <pcarlini@suse.de>
645
646         * testsuite/25_algorithms/fill/1.cc: Tweak instantiations.
647         * testsuite/25_algorithms/fill/2.cc: Likewise.
648
649 2004-06-25  Dan Nicolaescu  <dann@ics.uci.edu>
650             Paolo Carlini  <pcarlini@suse.de>
651
652         * include/bits/stl_algobase.h (__fill, __fill_n): New helpers
653         for fill and fill_n, respectively: when copying is cheap, use a
654         temporary to avoid a memory read in each iteration.
655
656 2004-06-25  Paolo Carlini  <pcarlini@suse.de>
657
658         * testsuite/25_algorithms/fill/1.cc: New.
659         * testsuite/25_algorithms/fill/2.cc: Likewise.
660
661 2004-06-25  Benjamin Kosnik  <bkoz@redhat.com>
662
663         * include/debug/formatter.h (__gnu_debug::_Error_formatter):
664         Remove copy constructor and assignment operator.
665
666 2004-06-24  Benjamin Kosnik  <bkoz@redhat.com>
667
668         * include/bits/concurrence.h (__gnu_cxx::lock): New.
669         * include/ext/pool_allocator.h (__pool_base::_Lock::_S_lock): Remove.
670         (__pool_base::_M_get_mutex): New.
671         * include/bits/allocator.h: Tweak.
672         * src/allocator.cc (__pool_base::_M_get_free_list): Correct offset.
673         * config/linker-map.gnu: Remove __pool_base::_Lock::_S_lock.
674         * include/bits/stl_threads.h: Remove.
675         * include/Makefile.am: Also here.
676         * include/Makefile.in: Regenerate.
677
678         * src/locale_init.cc: Use __gnu_cxx::lock.
679
680         * src/allocator.cc: Move all instantiations...
681         * src/allocator-inst.cc: ...here.
682         
683 2004-06-23  Andrew Pinski  <apinski@apple.com>
684
685         * linkage.m4: Remove check for libmx.   
686         * configure: Regenerate.
687
688 2004-06-23  Paolo Carlini  <pcarlini@suse.de>
689
690         PR libstdc++/16154
691         * include/bits/boost_concept_check.h (struct _TrivialIteratorConcept):
692         Don't require the _DefaultConstructibleConcept.
693         (struct _ForwardIteratorConcept): Require it here.
694
695 2004-06-22  Alexandre Oliva  <aoliva@redhat.com>
696
697         * include/bits/istream.tcc (getline): Make sure arguments passed
698         to min/max have the same type.
699         * include/bits/locale_facets.tcc (__verify_grouping): Likewise.
700         * include/bits/stl_deque.h (_Deque_base::_Deque_base): Likewise.
701
702 2004-06-22  Benjamin Kosnik  <bkoz@redhat.com>
703
704         * docs/html/abi.html: Update links.
705
706 2004-06-22  Paolo Carlini  <pcarlini@suse.de>
707
708         * testsuite/26_numerics/complex_inserters_extractors.cc,
709         complex_value.cc, buggy_complex.cc: Move to...
710         * testsuite/26_numerics/complex/: ... here.
711         * testsuite/26_numerics/c99_classification_macros_c++.cc,
712         c99_classification_macros_c.cc, c_math.cc, c_math_dynamic.cc,
713         fabs_inline.cc: Move to...
714         * testsuite/26_numerics/cmath/: ... here.
715         * testsuite/26_numerics/binary_closure.cc, slice.cc,
716         slice_array_assignment.cc, valarray.cc, valarray_const_bracket.cc,
717         valarray_name_lookup.cc, valarray_operators.cc,
718         valarray_subset_assignment.cc: Move to...
719         * testsuite/26_numerics/valarray/: ... here (new dir).
720         * testsuite/26_numerics/sum_diff.cc: Move to...
721         * testsuite/26_numerics/numeric/: ... here (new dir).
722
723 2004-06-22  Paolo Carlini  <pcarlini@suse.de>
724
725         * include/std/std_istream.h (ignore(streamsize __n = 1,
726         int_type __delim = traits_type::eof())): Split into...
727         (ignore(), ignore(streamsize __n), ignore(streamsize __n,
728         int_type __delim)): The first two can be much more simpler
729         and efficient than the fully general case; also, the last
730         two can take advantage of the same mechanism already used
731         for getline.
732         * include/bits/istream.tcc (ignore(streamsize __n = 1,
733         int_type __delim = traits_type::eof()): Remove.
734         (ignore(), ignore(streamsize __n), ignore(streamsize __n,
735         int_type __delim)): New.
736
737 2004-06-21  Loren J. Rittle  <ljrittle@acm.org>
738
739         * config/linker-map.gnu: Use wildcards for
740         __basic_file::sys_open(FILE*, _Ios_Openmode).
741
742 2004-06-20  Paolo Carlini  <pcarlini@suse.de>
743
744         * testsuite/27_io/basic_istream/ignore/char/3.cc: New.
745
746 2004-06-18  Paolo Carlini  <pcarlini@suse.de>
747
748         * include/ext/mt_allocator (__mt_alloc<>::_Tune): Add _M_align,
749         the alignment requested.
750         (__mt_alloc<>::_Tune::_Tune): Tweak consistently.
751         (__mt_alloc<>::allocate): Use it instead of sizeof(_Block_record).
752         (__mt_alloc<>::deallocate): Likewise.
753
754 2004-06-18  Paolo Carlini  <pcarlini@suse.de>
755
756         PR libstdc++/16020
757         * include/debug/safe_base.h
758         (_Safe_sequence_base::_Safe_sequence_base(const _Safe_sequence_base&),
759         _Safe_sequence_base::operator=): Provide definitions.
760         * testsuite/23_containers/bitset/cons/16020.cc: New.
761
762 2004-06-18  Benjamin Kosnik  <bkoz@redhat.com>
763
764         * include/ext/pool_allocator.h: Qualify __throw_bad_alloc.
765         (__pool_base): Remove unused template parameter.  Add
766         protected. Move lock data into __pool_base::_Lock. Remove static
767         on member functions.
768         (__pool_base::_M_get_free_list): New.
769         (__pool_alloc): Move _S_force new here.
770         * src/allocator.cc: Move out of line __pool_base definitions here.
771         * config/linker-map.gnu: Export bits from __pool_base.
772         
773 2004-06-18  Paolo Carlini  <pcarlini@suse.de>
774
775         * config/locale/gnu/numeric_members.cc
776         (numpunct<wchar_t>::_M_initialize_numpunct): Clean up
777         assignments of _M_decimal_point and _M_thousands_sep.
778         * config/locale/gnu/time_members.cc
779         (__timepunct<wchar_t>::_M_initialize_timepunct): Clean up
780         and reformat assignments of date and time fields.
781
782 2004-06-16  Paolo Carlini  <pcarlini@suse.de>
783
784         * include/ext/rope (rope(_CharT, const allocator_type&)): Fix
785         to use _Data_allocate.
786         * include/ext/ropeimpl.h (rope<>::_S_leaf_concat_char_iter): Likewise.
787         (rope<>::_S_substring): Likewise.
788         (rope<>::rope(size_t, _CharT, const allocator_type&)): Likewise.
789         (rope<>::c_str()): Likewise.
790         (rope<>::replace_with_c_str()): Likewise.
791
792         * include/ext/ropeimpl.h (_Rope_iterator_base<>::_S_setbuf):
793         Correctly qualify _S_leaf, _S_function, etc., with _Rope_constants::,
794         not _RopeRep.
795         (_Rope_iterator_base<>::_S_setcache): Likewise.
796         (_Rope_iterator_base<>::_S_setcache_for_incr): Likewise.
797         (rope<>::_S_substring): Likewise.
798         (rope<>::_S_dump): Likewise.
799         (rope<>::_S_fetch_ptr): Likewise.
800         (rope<>::_S_compare): Likewise.
801         (rope<>::replace_with_c_str()): Likewise.               
802
803         * testsuite/ext/rope.cc: Rename to testsuite/ext/rope/1.cc.
804         * testsuite/ext/rope/2.cc: New.
805
806 2004-06-16  Paolo Carlini  <pcarlini@suse.de>
807             Matt Austern  <austern@apple.com>
808
809         * testsuite/ext/rope/3.cc: New.
810
811 2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
812
813         * acinclude.m4: Remove useless multilib configury.
814         * Makefile.am: Remove useless multilib rules.
815         * aclocal.m4: Regenerate.
816         * Makefile.in: Regenerate.
817         * configure: Regenerate.
818
819 2004-06-15  Paolo Carlini  <pcarlini@suse.de>
820
821         * include/ext/hashtable.h: Trivial formatting fixes.
822         * include/ext/rb_tree: Likewise.
823
824 2004-06-14  Paolo Carlini  <pcarlini@suse.de>
825
826         * include/ext/hash_map: Trivial formatting fixes.
827         * include/ext/hash_set: Likewise.
828         * include/ext/memory: Likewise.
829         * include/ext/numeric: Likewise.
830
831 2004-06-14  Benjamin Kosnik  <bkoz@redhat.com>
832
833         * Makefile.in: Regenerate with automake 1.8.5.
834         * aclocal.m4: Same.
835         * include/Makefile.in: Same.
836         * libmath/Makefile.in: Same.
837         * libsupc++/Makefile.in: Same.
838         * po/Makefile.in: Same.
839         * src/Makefile.in: Same.
840         * testsuite/Makefile.in: Same.
841
842 2004-06-14  Paolo Carlini  <pcarlini@suse.de>
843
844         * include/ext/slist: Trivial formatting fixes.
845
846 2004-06-14  Paolo Carlini  <pcarlini@suse.de>
847
848         * include/bits/locale_facets.tcc (time_get<>::_M_extract_name):
849         Don't use the 'magic number' 10 in the computation of __minlen;
850         never access __name past __minlen; in the loop over __i3, don't
851         decrease __nmatches and increase __i3 at once, only either of
852         the two; tidy.
853
854 2004-06-13  Paolo Carlini  <pcarlini@suse.de>
855
856         * include/bits/locale_facets.tcc (time_get<>::do_get_time,
857         time_get<>::do_get_date): Use only once _M_extract_via_format,
858         instead of going through "%X"/"%x" and calling it two times
859         (+ using widen).
860
861 2004-06-12  Paolo Carlini  <pcarlini@suse.de>
862
863         * include/ext/algorithm: Trivial formatting fixes.
864         * include/ext/functional: Likewise.
865         * include/ext/hash_fun.h: Likewise.
866         * include/ext/iterator: Likewise.
867
868 2004-06-12  Paolo Carlini  <pcarlini@suse.de>
869
870         * include/bits/basic_string.tcc (find(const _CharT*, size_type,
871         size_type)): Reimplement using std::search.
872         * src/string-inst.cc: Instantiate std::search for char/wchar_t.
873
874 2004-06-12  Dhruv Matani  <dhruvbird@gmx.net>
875
876         * testsuite/performance/21_strings/string_find.cc: New.
877
878 2004-06-10  Aaron W. LaFramboise  <aaronraolete36@aaronwl.com>
879
880         * include/bits/istream.tcc (istream::ignore): Fix for -Wuninitialized.
881
882 2004-06-10  Jan van Dijk  <jan@etpmod.phys.tue.nl>
883
884         * include/std/std_complex.h (sin(const complex<_Tp>& __z)): Make
885         this function return a value.
886
887 2004-06-09  Paolo Carlini  <pcarlini@suse.de>
888
889         PR libstdc++/15775
890         * include/bits/stl_deque.h: Consistently with stl_set.h, define
891         pointer as allocator's pointer, likewise for reference,
892         const_pointer, and const_reference.
893         * include/bits/stl_list.h: Likewise.
894         * include/bits/stl_map.h: Likewise.
895         * include/bits/stl_multimap.h: Likewise.
896         * include/bits/stl_vector.h: Likewise.
897
898 2004-06-09  Benjamin Kosnik  <bkoz@redhat.com>
899
900         * crossconfig.m4: Remove signbit, signbitf, signbitl.   
901         * linkage.m4: Comment LIBMATHOBJS, tweak others.  AC_DEFINES for
902         builtin math functions instead of AC_DEFINE_UNQUOTED.
903         * configure: Regenerate.
904         
905 2004-06-08  Benjamin Kosnik  <bkoz@redhat.com>
906
907         * docs/doxygen/filter.sed: Rename _GLIBCXX_STD to std.
908         * docs/doxygen/mainpage.html: Remove links.
909
910 2004-06-08  Jason Merrill  <jason@redhat.com>
911
912         * config/linker-map.gnu: Use wildcards for
913         __basic_file::{xsgetn,xsputn,seekoff,xsputn_2}.
914
915 2004-06-08  Paolo Carlini  <pcarlini@suse.de>
916
917         * include/ext/pool_allocator.h: Convert to a global free-list,
918         as per the original SGI/HP design: move the implementation
919         details to struct __pool_base, from which __pool_alloc derives.
920         * src/allocator.cc: Instantiate __pool_base.
921
922 2004-06-07  Dhruv Matani  <dhruvbird@gmx.net>
923             Paolo Carlini  <pcarlini@suse.de>
924
925         * testsuite/testsuite_performance.h
926         (resource_counter::allocated_memory): Make it return the right
927         number of bytes requested by the allocators/application. This is
928         the sbrk+mmaped memory.
929
930 2004-06-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
931
932         * include/std/std_complex.h (log): Tidy.
933
934 2004-05-31  Benjamin Kosnik  <bkoz@redhat.com>
935
936         * config/linker-map.gnu (GLIBCXX_3.4.1): Add.
937         * testsuite/testsuite_abi.cc: Same.
938         * configure.ac (libtool_VERSION): Bump to 6:1:0.
939         * configure: Regenerate.
940         * aclocal.m4: Regenerate.
941         
942 2004-05-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
943
944         * include/std/std_complex.h (complex<_Tp>): Properly indent
945         to follow C++STYLE. 
946         (complex<>::__rep): New.
947         (__complex_abs): New.  Dispatch to built-ins.
948         (abs): Use them.
949         (__complex_arg): New. Dispatch to built-ins.
950         (arg): Use it.
951         (__complex_cos): New. Dispatch to built-ins.
952         (cos): Use it.
953         (__complex_cosh): New. Dispatch to built-ins.
954         (cosh): Use it.
955         (__complex_exp): New. Dispatch to built-ins.
956         (exp): Use it.
957         (__complex_log): New. Dispatch to built-ins.
958         (log): Use it.
959         (__complex_sin): New. Dispatch to built-ins.
960         (sin): Use it.
961         (__complex_sinh): New. Dispatch to built-ins.
962         (sinh): Use it.
963         (__complex_sqrt): New. Dispatch to built-ins.
964         (sqrt): Use it.
965         (__complex_tan): New. Dispatch to built-ins.
966         (tan): Use it.
967         (__complex_tanh): New. Dispatch to built-ins.
968         (tanh): Use it.
969         (__complex_pow): New. Dispatch to built-ins.
970         (pow): Use it.
971
972 2004-05-29  Richard B. Kreckel  <Richard.Kreckel@Framatome-ANP.com>
973             Benjamin Kosnik  <bkoz@redhat.com>
974         
975         PR libstdc++/14600
976         * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): New.
977         * include/ext/stdio_filebuf.h (stdio_filebuf::file): New.
978         * config/io/basic_file_stdio.cc (__basic_file::file): New.
979         * config/io/basic_file_stdio.h: Define.
980
981 2004-05-27  Benjamin Kosnik  <bkoz@redhat.com>
982
983         PR libstdc++/15675
984         * docs/html/documentation.html: Update doxygen links for 3.4.0.
985
986 2004-05-27  Jan Beulich  <jbeulich@novell.com>
987
988         * scripts/create_testsuite_files: Tweak.
989
990 2004-05-25  Benjamin Kosnik  <bkoz@redhat.com>
991
992         PR libstdc++/15489
993         * scripts/create_testsuite_files: Revert xtype change, add non-GNU
994         bits to do the same thing.
995
996 2004-05-24  Paolo Carlini  <pcarlini@suse.de>
997
998         * include/bits/istream.tcc (ignore): Correctly deal with
999         n == numeric_limits<streamsize>::max().
1000         * testsuite/27_io/basic_istream/ignore/char/2.cc: New.
1001
1002         * include/bits/istream.tcc (basic_istream<>::getline): Prefer
1003         '_M_gcount + 1 < __n' to '--__n; _M_gcount < __n', just in case
1004         __n == numeric_limits<>::min().
1005
1006         * include/bits/istream.tcc: Minor tweaks.
1007
1008         * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
1009         Tighten.
1010         * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
1011         Likewise.
1012         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
1013         Likewise.
1014         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
1015         Likewise.
1016         * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
1017
1018 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
1019
1020         PR libstdc++/12854
1021         Fixups for -Weffc++.    
1022         * include/bits/basic_string.h (basic_string::operator=): Return
1023         pointer to this instead of result of assign. Although redundant,
1024         this doesn't impact resultant codegen.
1025         
1026         * include/bits/locale_facets.h (__numpunct_cache): Declare
1027         assignment opxserator and copy constructor private.
1028         (__timepunct_cache): Same.
1029         (__moneypunct_cache): Same.
1030         (collate): Use member initialization list for _M_c_locale_collate.
1031         * config/locale/gnu/messages_members.h: Same.
1032         * config/locale/gnu/time_members.h (__timepunct): Same. 
1033         * src/codecvt.cc: Use member initialization list to initialize
1034         _M_c_locale_codecvt.    
1035         * src/ctype.cc: Same, with _M_c_locale_ctype and _M_narrow_ok.
1036         * config/os/gnu-linux/ctype_noninline.h: Same.
1037         * src/locale.cc (_Impl): Same.
1038         * src/locale_init.cc: Same.
1039         * src/localename.cc: Same.      
1040
1041         * include/bits/basic_ios.h (basic_ios): Complete member
1042         initialization list.
1043         * include/bits/istream.tcc (basic_istream::sentry): Same.
1044         * include/bits/ostream.tcc (basic_ostream::sentry): Same.
1045         * include/bits/fstream.tcc (basic_filebuf): Add _M_lock and
1046         _M_pback to member initialization list.
1047         * include/std/std_streambuf.h: Same.
1048         * include/std/std_sstream.h: Same, for _M_mode.
1049         * src/ios.cc (ios_base): Same.
1050         
1051         * include/ext/rope: Make derived classes match exception
1052
1053          specifications. Add copy constructors and assignment operators.
1054
1055         * include/debug/safe_base.h (_Safe_sequence_base): Declare copy
1056         constructor and assignment operator protected.
1057         (_Safe_iterator_base): Same.
1058         * include/debug/formatter.h (_Error_formatter): Define copy
1059         constructor and assignment operator.
1060
1061         * include/backward/strstream: Declare assignment operator and copy
1062         constructor private.
1063
1064 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
1065
1066         * testsuite/testsuite_hooks.h (func_callback): Declare copy
1067         constructor and assignment operator private.    
1068         * testsuite/23_containers/deque/cons/clear_allocator.cc: Match
1069         exception specifications of base class.
1070         * testsuite/23_containers/list/cons/clear_allocator.cc: Same.
1071         * testsuite/23_containers/vector/cons/clear_allocator.cc: Same.
1072         * testsuite/23_containers/vector/bool/clear_allocator.cc: New.
1073                 
1074 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
1075
1076         * libsupc++/cxxabi.h: Remove duplicated and useless public and
1077         private keywords in class declarations. Format. Use
1078         stddef.h. Expose declarations to "C" compilation.
1079         * libsupc++/tinfo.cc (__upcast_result): Add copy constructor and
1080         assignment operator.
1081         (__dyncast_result): Same.
1082         * libsupc++/vec.cc (uncatch_exception): Same, use member
1083         initialization list.
1084                  
1085 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
1086
1087         * testsuite/abi_check.cc: Add unistd.h.
1088
1089 2004-05-22  Paolo Carlini  <pcarlini@suse.de>
1090
1091         PR libstdc++/15565
1092         * include/bits/locale_facets.tcc (__int_to_char(unsigned long),
1093         __int_to_char(unsigned long long)): Showpos is not relevant
1094         for unsigned types.
1095         * testsuite/22_locale/num_put/put/char/15565.cc: New.
1096         * testsuite/22_locale/num_put/put/wchar_t/15565.cc: New.
1097
1098         * testsuite/22_locale/num_put/put/wchar_t/1.cc: Use L for the fill
1099         char.
1100         * testsuite/22_locale/num_put/put/wchar_t/2.cc: Likewise.
1101         * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
1102         * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
1103         * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
1104         * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
1105         * testsuite/22_locale/num_put/put/wchar_t/8.cc: Likewise.
1106
1107 2004-05-21  Matthias Klose  <doko@debian.org>
1108  
1109         * docs/doxygen/run_doxygen:  Bump required version.
1110
1111 2004-05-21  Benjamin Kosnik  <bkoz@redhat.com>
1112
1113         * docs/html/abi.html (libgcc_s): Additions suggested by Matthias Klose.
1114         * docs/doxygen/Intro.3: Subtractions suggested by Phil Edwards.
1115
1116 2004-05-21  Paolo Carlini  <pcarlini@suse.de>
1117
1118         * include/bits/istream.tcc (ignore): Remove redundant line.
1119         (readsome): Tidy, closely following 27.6.1.3, p30.
1120
1121 2004-05-20  Paolo Carlini  <pcarlini@suse.de>
1122
1123         * include/bits/istream.tcc (operator>>(basic_istream<>&,
1124         basic_string<>&)): Use a temporary buffer, thus avoiding
1125         reallocation for common case.
1126         * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
1127         New.
1128         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
1129         Likewise.
1130
1131         * include/bits/istream.tcc: Const-ification of a few variables.
1132
1133         * include/bits/ostream.tcc: Trivial formatting fixes and
1134         const-ification of some variables.
1135
1136 2004-05-20  Benjamin Kosnik  <bkoz@redhat.com>
1137
1138         PR libstdc++/15123
1139         PR libstdc++/13928
1140         * docs/doxygen/Intro.3: Remove Allocators.3.
1141         Add new extension headers, extension namespace list.
1142         * docs/doxygen/run_doxygen (problematic): Remove Allocators.3
1143         Rename GLIBCXXSTD names to std::. Rename __gnu_debug to
1144         __gnu_debug::. Remove __policy_ renames.
1145         * docs/doxygen/guide.html: Add dot note.
1146         * docs/doxygen/stdheader.cc: Edit, add files.
1147         * docs/doxygen/user.cfg.in: Regenerate with Doxygen 1.3.7.
1148         
1149 2004-05-18  Jonathan Wakely  <redi@gcc.gnu.org>
1150
1151         * include/ext/stdio_filebuf.h: Update comments to reflect PR 11691.
1152
1153 2004-05-18  Jan Beulich  <jbeulich@novell.com>
1154  
1155         PR libstdc++/15489
1156         * scripts/create_testsuite_files: Also find source files through
1157           symbolic links.
1158
1159 2004-05-18  Jan Beulich  <jbeulich@novell.com>
1160
1161         PR libstdc++/15488
1162         * testsuite/lib/libstdc++.exp: Make test files writable.
1163
1164 2004-05-18  Paolo Carlini  <pcarlini@suse.de>
1165
1166         * include/ext/mt_allocator.h:(__mt_alloc::allocate): Minor
1167         tweaks.
1168
1169 2004-05-18  Dhruv Matani  <dhruvbird@gmx.net>
1170
1171         * include/ext/mt_allocator.h:(__mt_alloc::allocate): Re-write
1172         allocation loop which removes blocks from the global free list
1173         from O(N) to O(1) when the required blocks are <= the number
1174         available.
1175
1176 2004-05-18  Jonathan Wakely  <redi@gcc.gnu.org>
1177
1178         * include/ext/enc_filebuf.h: Move concept-check macro to class scope.
1179
1180 2004-05-17  Benjamin Kosnik  <bkoz@redhat.com>
1181
1182         * testsuite/testsuite_hooks.h (__gnu_test::conversion): New class.
1183         * testsuite/23_containers/deque/14340.cc: New.
1184         * testsuite/23_containers/list/14340.cc: New.
1185         * testsuite/23_containers/map/14340.cc: New.
1186         * testsuite/23_containers/multimap/14340.cc: New.
1187         * testsuite/23_containers/multiset/14340.cc: New.
1188         * testsuite/23_containers/set/14340.cc: New.
1189         * testsuite/23_containers/vector/14340.cc: New.
1190
1191 2004-05-17  Douglas Gregor   <gregod@cs.rpi.edu>
1192
1193         PR libstdc++/14340 
1194         * include/debug/safe_iterator.h (_Safe_iterator converting 
1195         constructor): Only allow declaration to instantiate when the 
1196         incoming _Safe_iterator has exactly the right iterator type.
1197
1198 2004-05-17  Jonathan Wakely  <redi@gcc.gnu.org>
1199
1200         * include/bits/boost_concept_check.h: Fix old attribute syntax.
1201         * testsuite/23_containers/map/modifiers/swap.cc: Define operator<
1202         to pass concept-checks.
1203         * testsuite/23_containers/multimap/modifiers/swap.cc: Same.
1204         * testsuite/23_containers/set/modifiers/swap.cc: Same.
1205         * testsuite/23_containers/multiset/modifiers/swap.cc: Same.
1206
1207 2004-05-16  Paolo Carlini  <pcarlini@suse.de>
1208
1209         * include/std/std_bitset.h: Minor formatting fixes.
1210
1211 2004-05-16  Paolo Carlini  <pcarlini@suse.de>
1212
1213         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
1214         Consistently update __bin._M_free[0].
1215         (__mt_alloc<>::allocate): When __bin._M_first[0] != NULL use
1216         __bin._M_free[0] to simplify the while loop (i.e., the number
1217         of iterations becomes known at the outset).
1218
1219 2004-05-15  Paolo Carlini  <pcarlini@suse.de>
1220
1221         * include/std/std_bitset.h: Trivial formatting fixes.
1222
1223 2004-05-14  Paolo Carlini  <pcarlini@suse.de>
1224             Ivan Godard  <igodard@pacbell.net>
1225
1226         PR libstdc++/15361
1227         * include/std/std_bitset.h (_Base_bitset<_Nw>::_M_do_find_next): Fix.
1228         * testsuite/23_containers/bitset/ext/15361.cc: New.
1229
1230 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
1231
1232         PR libstdc++/15046
1233         * crossconfig.m4: Add C99 math bits for linux crosses.
1234         * configure: Regenerate.
1235         
1236 2004-05-13  Simon Marshall <simon.marshall@misys.com>
1237             Benjamin Kosnik  <bkoz@redhat.com>
1238
1239         PR libstdc++/15090
1240         * include/bits/locale_facets.h: Fix for -fno-for-scope.
1241         * include/debug/safe_sequence.h: Same.
1242         * include/debug/safe_iterator.tcc: Same.
1243         * src/debug.cc: Same.
1244         * src/locale.cc: Same.
1245         * src/locale_init.cc: Same.
1246         * src/localename.cc: Same.
1247         * config/locale/gnu/ctype_members.cc: Same.
1248         * config/locale/gnu/numeric_members.cc: Same.
1249         * testsuite/testsuite_abi.cc: Same.
1250         * testsuite/testsuite_hooks.cc: Same.
1251         
1252 2004-05-13  Jonathan Wakely  <redi@gcc.gnu.org>
1253         
1254         * docs/html/abi.html: Document effect of -fabi-version on value
1255         of __GXX_ABI_VERSION, and that it's defined in c-cppbuiltin.c.
1256         Fix markup.
1257
1258 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
1259
1260         PR libstdc++/15074      
1261         * docs/html/faq/index.html: Update docs for libsupc++ usage.
1262
1263 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
1264
1265         PR libstdc++/15412
1266         * include/bits/stl_threads.h (_GLIBCXX_mutex): Move to namespace
1267         __gnu_internal.
1268         (_GLIBCXX_mutex_address): Same.
1269         (_GLIBCXX_once): Same.  
1270         (_GLIBCXX_mutex_init): Same.
1271         (_GLIBCXX_mutex_address_init): Same.
1272         
1273 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
1274         
1275         * docs/html/abi.html: New.
1276         * docs/html/abi.txt: Remove.
1277         * docs/html/documentation.html: Add link.
1278         * testsuite/Makefile.am: Add files.
1279         * testsuite/Makefile.in: Regenerated.
1280         * testsuite/abi_check.cc: Move and modify code into...
1281         * testsuite/testsuite_abi.cc: Add.
1282         * testsuite/testsuite_abi.h: Add.
1283
1284         * docs/html/17_intro/TODO: Update.
1285         * include/bits/stl_pair.h: Format.
1286         
1287 2004-05-06  Matthias Klose  <doko@debian.org>
1288
1289         * include/backward/iterator.h:  Add GPL copyright info,
1290         with exception clause.
1291         * include/bits/boost_concept_check.h: Likewise.
1292         * include
1293         * libsupc++/tinfo.h: Likewise.
1294         * po/string_literals.cc: Likewise.
1295         
1296 2004-05-03  Andreas Tobler  <a.tobler@schweiz.ch>
1297
1298         * acinclude.m4: Replace -W with more speaking -Wextra.
1299         * configure: Rebuilt.
1300
1301 2004-05-03  Paolo Carlini  <pcarlini@suse.de>
1302
1303         Optimize locale::_M_impl->_M_names for the most common cases:
1304         !_M_names[0] means unnamed; !_M_names[1] means all the categories
1305         the same name (_M_names[0] && _M_names[1] means that the full set
1306         of _M_names must be processed, the general case).
1307         * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name):
1308         Tweak, saving work when !_M_names[1].
1309         (locale::locale(const locale&, _Facet*): Simplify: now just setting
1310         _M_names[0] = 0 means unnamed.
1311         * src/locale.cc (locale::operator==): Deal first with the common,
1312         easy cases, otherwise fall back to locale::name().
1313         (locale::name()): Tweak, if !_M_names[0] just return "*".
1314         (locale::_Impl::_Impl(const _Impl&, size_t): Tweak, early stop
1315         copying __imp._M_names if !__imp._M_names[0] or !__imp._M_names[1].
1316         * src/locale_init.cc (locale::_Impl::_Impl(size_t)): Tweak.
1317         * src/localename.cc (locale::_Impl::_Impl(const char*, size_t):
1318         Simplify when !std::strchr, just updating _M_names[0]; clean up.
1319         (locale::_Impl::_M_replace_categories): When !_M_names[1] prepare
1320         for the general case (full set of names), then do the usual work;
1321         clean up.
1322
1323         * src/locale.cc (locale::name()): Reserve space in __ret.
1324         * src/locale_init.cc (locale::global(const locale&)): Save
1325         the name in a temporary.
1326         * src/localename.cc (locale::locale(const char*)): Reserve space
1327         in __str.
1328
1329 2004-04-29  Paolo Carlini  <pcarlini@suse.de>
1330
1331         * src/locale.cc (locale::operator==): Always avoid constructing
1332         locale::name(), directly compare pairs of _M_names.
1333
1334 2004-04-26  Paolo Carlini  <pcarlini@suse.de>
1335
1336         * include/bits/istream.tcc: Fix comment.
1337
1338 2004-04-26  Paolo Carlini  <pcarlini@suse.de>
1339
1340         * include/bits/stl_vector.h: Trivial formatting fixes.
1341         * include/bits/vector.tcc: Likewise.
1342
1343 2004-04-25  Paolo Carlini  <pcarlini@suse.de>
1344
1345         PR libstdc++/15002 (continued again)
1346         * include/bits/istream.tcc (getline(basic_istream<>&,
1347         basic_string<>&, _CharT)): Use a temporary buffer, thus
1348         avoiding reallocation for common case.
1349
1350         * include/bits/basic_string.tcc (_S_construct(_InIterator,
1351         _InIterator, const _Alloc&, input_iterator_tag)): Tweak size
1352         of temporary buffer to a power of two.
1353
1354         * testsuite/27_io/basic_istream/getline/char/4.cc: Add comment.
1355
1356 2004-04-25  Paolo Carlini  <pcarlini@suse.de>
1357
1358         * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
1359         New.
1360         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
1361         Likewise.
1362         * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
1363
1364 2004-04-24  Paolo Carlini  <pcarlini@suse.de>
1365             Petur Runolfsson  <peturr02@ru.is>
1366
1367         PR libstdc++/15002 (continued)
1368         * include/bits/istream.tcc (basic_istream<>::getline(char_type*,
1369         streamsize, char_type)): Use traits::find/copy in a loop to speed
1370         up greatly the function in the common case (I/O buffer size >> 1).
1371
1372 2004-04-24  Paolo Carlini  <pcarlini@suse.de>
1373
1374         * testsuite/27_io/basic_istream/getline/char/4.cc: New. 
1375
1376         * include/bits/istream.tcc (getline(basic_istream<>&,
1377         basic_string<>&, _CharT)): Change to use sgetc()/snextc() instead
1378         of sbumpc(), consistently with the other functions, thus also
1379         dealing correctly with the case of exceeded string::max_size().
1380
1381 2004-04-24  Matthias Klose  <doko@debian.org>
1382
1383         Jonathan Wakely  <cow@compsoc.man.ac.uk>
1384         * docs/html/configopts.html: Fix reference to allocator config option.
1385
1386 2004-04-23  Andrew Pinski  <pinskia@physics.uc.edu>
1387
1388         * linkage.m4 (GLIBCXX_CHECK_MATH_SUPPORT): Check for libmx also.
1389         * configure: Regenerate.
1390
1391 2004-04-23  Daniel Jacobowitz  <drow@mvista.com>
1392
1393         PR libstdc++/15047, libstdc++/11610
1394         * testsuite/lib/libstdc++.exp (v3-copy-files): Use remote_download.
1395         (libstdc++_init): Don't pass outdir to v3-copy-files.
1396
1397 2004-04-21  Paolo Carlini  <pcarlini@suse.de>
1398
1399         * include/bits/deque.tcc: Trivial formatting fixes.
1400         * include/bits/stl_deque.h: Likewise.
1401         * include/bits/stl_list.h: Likewise.
1402         * include/bits/stl_tree.h: Likewise.
1403
1404 2004-04-21  Paolo Carlini  <pcarlini@suse.de>
1405             Andrew Pinski  <pinskia@physics.uc.edu>
1406
1407         * include/bits/basic_string.tcc (_M_mutate): Don't compute
1408         __src unnecessarily.
1409
1410 2004-04-19  Benjamin Kosnik  <bkoz@redhat.com>
1411
1412         * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc: 
1413         Clarify assertion, set test variable to false before assert.
1414         * testsuite/27_io/basic_istringstream/str/char/1.cc: Same.
1415         * testsuite/27_io/basic_stringstream/str/char/1.cc: Same.
1416         * testsuite/27_io/ios_base/storage/2.cc: Same.
1417         
1418         * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Fix
1419         function returns.
1420         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Same.
1421         * testsuite/27_io/fpos/14320-3.cc: Same.
1422         
1423         * testsuite/27_io/basic_filebuf/2.cc: Instantiate in namespace std.
1424         * testsuite/27_io/fpos/1.cc: Same.
1425         * testsuite/27_io/basic_stringstream/2.cc: Same.
1426         * testsuite/27_io/basic_stringbuf/4.cc: Same.
1427         * testsuite/27_io/basic_stringbuf/1.cc: Same.
1428         * testsuite/27_io/basic_stringbuf/2.cc: Same.
1429         * testsuite/27_io/basic_streambuf/2.cc: Same.
1430         * testsuite/27_io/basic_ostringstream/2.cc: Same.
1431         * testsuite/27_io/basic_ostream/2.cc: Same.
1432         * testsuite/27_io/basic_ofstream/2.cc: Same.
1433         * testsuite/27_io/basic_istringstream/2.cc: Same.
1434         * testsuite/27_io/basic_istream/2.cc: Same.
1435         * testsuite/27_io/basic_iostream/2.cc: Same.
1436         * testsuite/27_io/basic_ios/2.cc: Same.
1437         * testsuite/27_io/basic_ifstream/2.cc: Same.
1438         * testsuite/27_io/basic_fstream/2.cc: Same.
1439         * testsuite/ext/stdio_filebuf/char/1.cc: Same, in namespace __gnu_cxx.
1440
1441         * testsuite/21_strings/basic_string/capacity/1.cc: Don't compare
1442         unsigned against zero.
1443         * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Same.
1444         * testsuite/21_strings/basic_string/capacity/char/1.cc: Same.
1445
1446         * testsuite/18_support/new_delete_placement.cc: Initialize
1447         variables before first use.
1448         * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Same.
1449         * testsuite/21_strings/char_traits/requirements/char/1.cc: Same.
1450         * testsuite/21_strings/char_traits/requirements/short/1.cc: Same.
1451         * testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc: 
1452         Same.
1453         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_badbit_throw.cc: Same.
1454         * testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc: 
1455         Same.
1456         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_failbit_throw.cc: Same.
1457         * testsuite/27_io/types/2.cc: Same.
1458
1459         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Fix temporary
1460         file name.      
1461         * testsuite/27_io/fpos/14775.cc: Same.
1462         
1463 2004-04-19  Paolo Carlini  <pcarlini@suse.de>
1464
1465         PR libstdc++/15002 (partial)
1466         * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
1467         Special case __n2 == 1, not calling traits_type::assign/copy. 
1468
1469 2004-04-17  Benjamin Kosnik  <bkoz@redhat.com>
1470
1471         * include/bits/stl_bvector.h: Use _M_impl._M_start.
1472         
1473 2004-04-16  Benjamin Kosnik  <bkoz@redhat.com>
1474         
1475         * include/bits/c++config (_GLIBCXX_STD): New.
1476         * src/list.cc: Use it.
1477         * include/std/std_bitset.h: Same.
1478         * include/bits/vector.tcc: Same.
1479         * include/bits/stl_set.h: Same.
1480         * include/bits/stl_multiset.h: Same.
1481         * include/bits/stl_multimap.h: Same.
1482         * include/bits/stl_map.h: Same.
1483         * include/bits/stl_list.h: Same.
1484         * include/bits/stl_vector.h: Same.
1485         * include/bits/stl_bvector.h: Same.
1486         * include/bits/stl_deque.h: Same.
1487         * include/bits/deque.tcc: Same.
1488         * include/bits/list.tcc: Same.
1489         * include/debug/vector: Same.
1490         * include/debug/set.h: Same.
1491         * include/debug/multiset.h: Same.
1492         * include/debug/multimap.h: Same.
1493         * include/debug/map.h: Same.
1494         * include/debug/list: Same.
1495         * include/debug/deque: Same.
1496         * include/debug/bitset: Same.   
1497         * include/debug/formatter.h (__gnu_debug): Remove using directive.
1498         Add using declaration for std::type_info.
1499         * include/debug/safe_iterator.h: Add using declaration for
1500         std::iterator_traits and std::pair.
1501         * src/debug_list.cc: New.
1502         * src/Makefile.am: Add debug_list.cc.
1503         * src/Makefile.in: Regenerate.
1504         * config/linker-map.gnu: Add _List_node_base exports for std and
1505         __gnu_norm.
1506
1507         * include/bits/stl_bvector.h (_Bvector_base): Use _Bvector_impl
1508         idiom that other containers use.
1509         * testsuite/23_containers/vector/bool/clear_allocator.cc: New.
1510                         
1511 2004-04-16  Paolo Carlini  <pcarlini@suse.de>
1512
1513         PR libstdc++/14975
1514         * include/bits/fstream.tcc (basic_filebuf::imbue): Zero _M_codecvt
1515         in case of error.
1516         * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: New.
1517         * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: New.
1518
1519 2004-04-16  Paolo Carlini  <pcarlini@suse.de>
1520
1521         * acconfig.h: Remove _GLIBCXX_USE_LONG_DOUBLE entry, not
1522         used anymore.
1523         * config.h.in: Regenerate.
1524
1525 2004-04-16  Paolo Carlini  <pcarlini@suse.de>
1526
1527         * config/locale/generic/monetary_members.cc
1528         (moneypunct<wchar_t>::_M_initialize_moneypunct): Avoid calling
1529         btowc unnecessarily, just cast to wchar_t (the concerned chars
1530         all belong to the basic character set).
1531         * config/locale/generic/numeric_members.cc
1532         (numpunct<wchar_t>::_M_initialize_numpunct): Likewise.
1533         * config/locale/gnu/monetary_members.cc
1534         (moneypunct<wchar_t>::_M_initialize_moneypunct): Likewise.
1535         * config/locale/gnu/numeric_members.cc
1536         (numpunct<wchar_t>::_M_initialize_numpunct): Likewise.
1537
1538 2004-04-15  Paolo Carlini  <pcarlini@suse.de>
1539
1540         * src/locale.cc (locale::operator==): When _M_impl == __rhs._M_impl
1541         avoid constructing unnecessarily this->name().
1542
1543 2004-04-14  Zack Weinberg  <zack@codesourcery.com>
1544
1545         * testsuite/Makefile.am: Add definition of AM_CXXFLAGS.
1546         Change definition of CXX to use $(shell) instead of backticks.
1547         * testsuite/Makefile.in: Regenerate.
1548
1549 2004-04-12  Dhruv Matani  <dhruvbird@gmx.net>
1550
1551         * testsuite/performance/20_util/allocator/list_sort_search.cc:
1552         Minor formatting fixes.
1553         * testsuite/performance/20_util/allocator/map_mt_find.cc:
1554         Likewise.
1555
1556 2004-04-12  Paolo Carlini <pcarlini@suse.de>
1557
1558         * config/locale/gnu/numeric_members.cc
1559         (numpunct<wchar_t>::_M_initialize_numpunct): No need to wrap
1560         in __uselocale, since btowc is called for chars belonging to
1561         the basic character set.
1562
1563 2004-04-09  Paolo Carlini  <pcarlini@suse.de>
1564
1565         * testsuite/22_locale/messages/members/char/1.cc: Remove junk.
1566         * testsuite/22_locale/messages/members/char/2.cc: Ditto.
1567         * testsuite/22_locale/messages/members/char/3.cc: Ditto.
1568         * testsuite/22_locale/num_get/get/char/1.cc: Ditto.
1569         * testsuite/22_locale/num_get/get/char/2.cc: Ditto.
1570         * testsuite/22_locale/num_get/get/char/3.cc: Ditto.
1571         * testsuite/22_locale/num_get/get/wchar_t/1.cc: Ditto.
1572         * testsuite/22_locale/num_get/get/wchar_t/2.cc: Ditto.
1573         * testsuite/22_locale/num_get/get/wchar_t/3.cc: Ditto.
1574         * testsuite/22_locale/num_put/put/char/1.cc: Ditto.
1575         * testsuite/22_locale/num_put/put/char/2.cc: Ditto.
1576         * testsuite/22_locale/num_put/put/char/3.cc: Ditto.
1577         * testsuite/22_locale/num_put/put/wchar_t/1.cc: Ditto.
1578         * testsuite/22_locale/num_put/put/wchar_t/2.cc: Ditto.
1579         * testsuite/22_locale/num_put/put/wchar_t/3.cc: Ditto.
1580         * testsuite/22_locale/numpunct/members/char/1.cc: Ditto.
1581         * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Ditto.
1582
1583 2004-04-07  Paolo Carlini  <pcarlini@suse.de>
1584
1585         * config/locale/generic/time_members.cc
1586         (__timepunct<char>::_M_initialize_timepunct,
1587         __timepunct<wchar_t>::_M_initialize_timepunct): the correct
1588         _M_amonth07 in the "C" locale is "Jul" and L"Jul", respectively.
1589         * config/locale/gnu/time_members.cc
1590         (__timepunct<char>::_M_initialize_timepunct,
1591         __timepunct<wchar_t>::_M_initialize_timepunct): Ditto.
1592         * testsuite/22_locale/time_get/get_monthname/char/4.cc: New.
1593         * testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc: New.
1594
1595         * testsuite/22_locale/time_get/date_order/char/1.cc: Remove junk.
1596         * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Ditto.
1597         * testsuite/22_locale/time_get/get_date/char/1.cc: Ditto.
1598         * testsuite/22_locale/time_get/get_date/char/2.cc: Ditto.
1599         * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Ditto.
1600         * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Ditto.
1601         * testsuite/22_locale/time_get/get_monthname/char/1.cc: Ditto.
1602         * testsuite/22_locale/time_get/get_monthname/char/2.cc: Ditto.
1603         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Ditto.
1604         * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Ditto.
1605         * testsuite/22_locale/time_get/get_time/char/1.cc: Ditto.
1606         * testsuite/22_locale/time_get/get_time/char/2.cc: Ditto.
1607         * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Ditto.
1608         * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Ditto.
1609         * testsuite/22_locale/time_get/get_weekday/char/1.cc: Ditto.
1610         * testsuite/22_locale/time_get/get_weekday/char/2.cc: Ditto.
1611         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Ditto.
1612         * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Ditto.
1613         * testsuite/22_locale/time_get/get_year/char/1.cc: Ditto.
1614         * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Ditto.
1615         * testsuite/22_locale/time_put/put/char/1.cc: Ditto.
1616         * testsuite/22_locale/time_put/put/char/2.cc: Ditto.
1617         * testsuite/22_locale/time_put/put/char/3.cc: Ditto.
1618         * testsuite/22_locale/time_put/put/char/4.cc: Ditto.
1619         * testsuite/22_locale/time_put/put/char/5.cc: Ditto.
1620         * testsuite/22_locale/time_put/put/char/6.cc: Ditto.
1621         * testsuite/22_locale/time_put/put/char/7.cc: Ditto.
1622         * testsuite/22_locale/time_put/put/char/8.cc: Ditto.
1623         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Ditto.
1624         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Ditto.
1625         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Ditto.
1626         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Ditto.
1627         * testsuite/22_locale/time_put/put/wchar_t/5.cc: Ditto.
1628         * testsuite/22_locale/time_put/put/wchar_t/6.cc: Ditto.
1629         * testsuite/22_locale/time_put/put/wchar_t/7.cc: Ditto.
1630         * testsuite/22_locale/time_put/put/wchar_t/8.cc: Ditto.
1631
1632         * testsuite/22_locale/time_put/put/char/9780-1.cc: Fix typos.
1633
1634 2004-04-07  Paolo Carlini  <pcarlini@suse.de>
1635
1636         * config/locale/gnu/monetary_members.cc
1637         (moneypunct<wchar_t>::_M_initialize_moneypunct): Prefer
1638         _NL_MONETARY_DECIMAL_POINT_WC, _NL_MONETARY_THOUSANDS_SEP_WC,
1639         and __MON_GROUPING to _NL_NUMERIC_DECIMAL_POINT_WC,
1640         _NL_NUMERIC_THOUSANDS_SEP_WC, and GROUPING.
1641         * config/locale/gnu/numeric_members.cc
1642         (numpunct<char>::_M_initialize_numpunct): Prefer DECIMAL_POINT
1643         and THOUSANDS_SEP to the deprecated RADIXCHAR and THOUSEP.
1644
1645 2004-04-06  Benjamin Kosnik  <bkoz@redhat.com>
1646
1647         Fixups for EDG front end.
1648         * include/ext/rope: Instead of non-existent function
1649         _Data_allocate, use allocator's allocate. Use this.
1650         (namespace _Rope_constants): Move _S_max_rope_depth, and _Tag
1651         enumerations from _Rope_RopeRep here.
1652         * include/ext/ropeimpl.h: Same.
1653         * src/ext-inst.cc (_S_min_len): Fix up definition.
1654
1655         * config/locale/gnu/ctype_members.cc: Qualify base class members
1656         with this.
1657         * config/locale/generic/ctype_members.cc: Same.
1658         * config/locale/gnu/messages_members.h: Same.
1659         * config/locale/generic/messages_members.h: Same.
1660         * src/ctype.cc: Same.
1661         * include/bits/codecvt.h: Same.
1662
1663         * include/bits/boost_concept_check.h: Declare.
1664         (__error_type_must_be_an_unsigned_integer_type): Remove this.
1665         (__error_type_must_be_an_integer_type): Remove this.
1666         (__error_type_must_be_a_signed_integer_type): Remove this.
1667
1668         * config/io/basic_file_stdio.cc (__basic_file::sys_open): Remove cast.
1669
1670         * libsupc++/eh_alloc.cc (__cxa_free_exception): Add exception
1671         specification to definition.
1672         (__cxa_allocate_exception): Same.
1673         * libsupc++/eh_catch.cc (__cxa_begin_catch): Same.
1674         * libsupc++/eh_globals.cc (__cxa_get_globals_fast): Same.
1675         (__cxa_get_globals): Same.
1676
1677         * libsupc++/del_op.cc: Add comment about freestanding.
1678
1679 2004-04-05  Paolo Carlini  <pcarlini@suse.de>
1680
1681         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
1682         The critical section is actually very small, only two assignments.
1683
1684 2004-04-04  Paolo Carlini  <pcarlini@suse.de>
1685             Petur Runolfsson  <peturr02@ru.is>
1686
1687         * testsuite/performance/27_io/filebuf_sputn_unbuf.cc: New,
1688         adapted from libstdc++/11378.
1689
1690 2004-04-03  Paolo Carlini  <pcarlini@suse.de>
1691
1692         * include/ext/mt_allocator.h (__mt_alloc<>::allocate): Factor out
1693         some duplicated code.
1694         (__mt_alloc<>::_Bin_record): Spare the space of _M_free and _M_used
1695         in the single threaded case.
1696         * testsuite/performance/20_util/allocator/list_sort_search.cc:
1697         Reorder and renumber the tests consistently with the other testfiles.
1698         * testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
1699         * testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
1700         * testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
1701
1702 2004-04-02  Paolo Carlini  <pcarlini@suse.de>
1703
1704         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
1705         Rearrange arithmetic to avoid computing two divisions at
1706         each deallocation.
1707
1708 2004-04-01  Paolo Carlini  <pcarlini@suse.de>
1709
1710         * include/ext/mt_allocator.h (__mt_alloc<>::_S_initialize):
1711         Streamline the second half, wrapping it in a single
1712         '#ifdef __GTHREADS if (__gthread_active_p())' and avoiding
1713         conditionals inside loops.
1714
1715 2004-04-01  Paolo Carlini  <pcarlini@suse.de>
1716
1717         PR libstdc++/14775
1718         * acconfig.h: Rename _GLIBCXX_MEM_LIMITS to _GLIBCXX_RES_LIMITS.
1719         * acinclude.m4 (GLIBCXX_CHECK_SETRLIMIT): Call
1720         GLIBCXX_CHECK_SETRLIMIT_ancilliary for FSIZE too, adjust define
1721         to _GLIBCXX_RES_LIMITS.
1722         (GLIBCXX_CHECK_SETRLIMIT_ancilliary): Rename HAVE_MEMLIMIT_* to
1723         HAVE_LIMIT_*.
1724         * testsuite/testsuite_hooks.h: Declare set_file_limit.
1725         * testsuite/testsuite_hooks.cc: Define it, using getrlimit
1726         and setrlimit(RLIMIT_FSIZE).
1727         * testsuite/27_io/fpos/14775.cc: New.
1728         * config.h.in: Regenerate.
1729         * configure: Likewise.
1730
1731 2004-03-31  Paolo Carlini  <pcarlini@suse.de>
1732
1733         * config/locale/generic/c_locale.cc (__convert_to_v(long double&)):
1734         In v3 uses of sscanf, the special floating-point numbers INF,
1735         INFINITY, etc., cannot occur in input, therefore, if the latter
1736         is too large, ERANGE is always stored in errno, no need of finitel.
1737
1738 2004-03-30  Benjamin Kosnik  <bkoz@redhat.com>
1739
1740         PR libstdc++/14783
1741         * include/bits/stl_tree.h: Adjust initialization list order.
1742
1743 2004-03-29  Loren J. Rittle  <ljrittle@acm.org>
1744
1745         * testsuite/thread/pthread7-rope.cc: Update comment to reflect test.
1746
1747 2004-03-29  Paolo Carlini  <pcarlini@suse.de>
1748
1749         * testsuite/thread/pthread7-rope.cc: Fix, unpredictably, depending
1750         on allocator behavior, the memory pointed by data2 may well be not
1751         trashed.
1752
1753 2004-03-28  Chavdar Botev  <cbotev@yahoo.com>
1754
1755         PR libstdc++/14245
1756         * include/bits/basic_string.tcc
1757         (basic_string::basic_string(const basic_string&)): Pass to
1758         _Rep::_M_grab the actual allocator of the string being constructed
1759         not the default constructed one.
1760
1761 2004-03-27  Benjamin Kosnik  <bkoz@redhat.com>
1762
1763         libstdc++ PR/13598
1764         * config/locale/ieee_1003.1-2001/codecvt_specializations.h
1765         (__enc_traits::_M_destroy): New.
1766         (__enc_traits::~__enc_traits): Use it.
1767         (__enc_traits::operator=): Use _M_destroy, _M_init.
1768         (__enc_traits::__enc_traits): Same.
1769
1770 2004-03-27  Petur Runolfsson  <peturr02@ru.is>
1771
1772         * testsuite/ext/enc_filebuf/char/13598.cc: New.
1773
1774 2004-03-27  Paolo Carlini  <pcarlini@suse.de>
1775
1776         * include/ext/mt_allocator.h: Uglify consistently names of
1777         variables, members and classes; tidy.
1778
1779 2004-03-27  Dhruv Matani  <dhruvbird@gmx.net>
1780
1781         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
1782         Deallocation loop rewrote.
1783
1784 2004-03-26  Paolo Carlini  <pcarlini@suse.de>
1785
1786         * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
1787         __mt_alloc<>::deallocate): Protect two instances of
1788         block->thread_id with __GTHREADS.
1789
1790 2004-03-25  Gawain Bolton  <gp.bolton@computer.org>
1791
1792         * include/bits/stl_tree.h (_Rb_tree_impl): Add _Node_allocator
1793         default argument in constructors.
1794         (_Rb_tree::_M_empty_initialize): Remove.
1795
1796 2004-03-25  Benjamin Kosnik  <bkoz@redhat.com>
1797
1798         * testsuite/23_containers/map/operators/1_neg.cc: Adjust line numbers.
1799         * testsuite/23_containers/set/operators/1_neg.cc: Same.
1800
1801 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
1802
1803         * include/bits/cpp_type_traits.h: Changed __is_pod
1804         completely. Now, it does not use any of the previous type_traits
1805         to detect the pod types, and it also detects function pointers as
1806         POD types.
1807
1808         * include/bits/stl_tree.h: Introduced a new class _Rb_tree_impl,
1809         which encapsulates the internal implementation of an rb_tree. Made
1810         the allocator a base class of this class instead of the rb_tree,
1811         which was not conforming. This _Rb_tree_impl class is also
1812         specialized on whether the _Compare parameter is a POD type or
1813         not. If so, then it maintains the comparison function as a data
1814         member, otherwise it makes the _Compare parameter a base class of
1815         itself. Also, _M_key_compare is now a function instead of a data
1816         member, so that the above trick can work properly. Delegated the
1817         initialization of the other data members to this newly created
1818         class. Also, now other member functions of rb_tree must refer to
1819         _M_key_compare as _M_impl._M_key_compare(). The other data members
1820         (*) can be referenced to as _M_impl.(*), where
1821         (*) includes _M_header, and _M_node_count.
1822
1823 2004-03-25  Paolo Carlini  <pcarlini@suse.de>
1824
1825         * include/ext/mt_allocator.h (__mt_alloc<>::tune):
1826         Add _M_min_bin, the size in bytes of the smallest bin.
1827         (__mt_alloc<>::tune()): Tweak accordingly.
1828         (__mt_alloc<>::tune(size_t, ...)): Likewise.
1829         (__mt_alloc<>::block_record): Change to a union: members next
1830         and thread_id are never used at the same time.
1831         (__mt_alloc<>::allocate): Update consistently.
1832         (__mt_alloc<>::deallocate): Likewise.
1833         (__mt_alloc<>::_S_initialize): Update setups of _S_binmap and
1834         _S_bin_size for the configurable _M_min_size.
1835
1836 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
1837
1838         * include/bits/stl_list.h: Created a _List_impl class and made it
1839         derive from the allocator, instead of the list deriving from the
1840         allocator class, which was not conformant. Changed all references
1841         from this->_M_node to this->_M_impl._M_node * bits/list.tcc: Same
1842         as above (changed all references to the concerned variables).
1843
1844 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
1845
1846         * include/bits/stl_deque.h: Created a _Deque_impl class and made
1847         it derive from the allocator, instead of the deque deriving from
1848         the allocator class, which was not conformant. Changed all
1849         references to the _M_start, _M_finish, _M_map, and _M_map_size to
1850         _M_impl.*.
1851         (_Deque_base<_Tp,_Alloc>::~_Deque_base()): Added this->
1852         qualification in 2 places where it was missing.
1853         (_Deque_base<_Tp,_Alloc>::_M_initialize_map(size_t)): Same as
1854         above.
1855         * include/bits/deque.tcc: Same as above (changed all references to
1856         the concerned variables).
1857
1858 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
1859
1860         * include/bits/stl_vector.h: Created a _Vector_impl class and made
1861         it derive from the allocator, instead of the _Vector_base class,
1862         deriving from the allocator which was not conformant. Changed all
1863         references to the _M_start, _M_finish, and _M_end_of_storage to
1864         _M_impl.*.
1865         * include/bits/vector.tcc: Same as above (changed all references
1866         to the concerned variables).
1867
1868 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
1869
1870         * testsuite/23_containers/deque/cons/clear_allocator.cc: New.
1871         * testsuite/23_containers/list/cons/clear_allocator.cc: New.
1872         * testsuite/23_containers/vector/cons/clear_allocator.cc: New.
1873
1874 2004-03-24  Dhruv Matani  <dhruvbird@gmx.net>
1875
1876         * include/ext/malloc_allocator.h: Fixed the construct function to
1877         call global placement new instead of assignment. Added a check
1878         after the return from malloc to check whether returned pointer is
1879         NULL, and if so, throw std::bad_alloc().
1880         * include/ext/debug_allocator.h: Added a check in the deallocate
1881         function to check whether the user has passed a NULL pointer or
1882         not.
1883
1884 2004-03-24  Benjamin Kosnik  <bkoz@redhat.com>
1885
1886         * docs/html/20_util/allocator.html: Add bitmap_allocator links.
1887
1888 2004-03-24  Andreas Schwab  <schwab@suse.de>
1889
1890         * testsuite/lib/prune.exp (prune_g++_output): Ignore errata
1891         warning from IA64 assembler.
1892
1893 2004-03-24  Dhruv Matani  <dhruvbird@gmx.net>
1894
1895         * include/ext/bitmap_allocator.h: (_Bit_scan_forward) -> Made this
1896         function call __builtin_ctz instead of the while loop.
1897         (allocate) -> If condition has __builtin_expect.
1898         (deallocate) -> Ditto.
1899         Renamed a few left-over variables and typedefs according to the
1900         C++STYLE mentioned in the documentation.
1901         Protected calls to __gthread* by __gthread_active_p(), whose value
1902         is cached in the local variable __threads_active.
1903
1904 2004-03-24  Felix Yen  <fwy@alumni.brown.edu>
1905
1906         * testsuite/performance/20_util/allocator/producer_consumer.cc:
1907         Use linear algorithm for producer.
1908
1909 2004-03-24  Paolo Carlini  <pcarlini@suse.de>
1910
1911         * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
1912         __mt_alloc<>::deallocate): Avoid redundant conditionals.
1913
1914 2004-03-23  Benjamin Kosnik  <bkoz@redhat.com>
1915
1916         * include/bits/locale_facets.h: Tweaks for 80 column.
1917         (__numpunct_cache::_M_cache): Move to locale_facets.tcc.
1918         (__moneypunct_cache::_M_cache): Same.
1919         (num_get): Don't inherit from __num_base.
1920         (num_put): Same.
1921         (money_get): Don't inherit from money_base.
1922         (money_put): Same.
1923         (__timepunct::_M_am_pm_format): New.
1924         (time_get::_M_extract_num): Return iterator, use ios_base as argument.
1925         (time_get::_M_extract_name): Same.
1926         (time_get::_M_extract_via_format): Same.
1927         * include/bits/locale_facets.tcc: Tweaks for 80 column.
1928         Use _M_getloc instead of getloc.
1929         * testsuite/22_locale/money_put/put/char/9780-3.cc: New.
1930         * testsuite/22_locale/num_put/put/char/9780-2.cc: New.
1931         * testsuite/22_locale/time_put/put/char/9780-1.cc: New.
1932
1933 2004-03-22  Paolo Carlini  <pcarlini@suse.de>
1934
1935         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add pool_allocator.
1936         * configure: Regenerate.
1937         * config/allocator/pool_allocator_base.h: New.
1938         * include/ext/pool_allocator.h: Convert to a standard-conforming
1939         allocator.
1940         * src/allocator.cc: Tweak instantiations.
1941         * testsuite/performance/20_util/allocator/insert.cc: Add __pool_alloc.
1942         * testsuite/performance/20_util/allocator/insert_insert.cc: Ditto.
1943         * testsuite/performance/20_util/allocator/list_sort_search.cc: Ditto.
1944         * testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
1945         * testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
1946         * testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
1947
1948 2004-03-22  Hans-Peter Nilsson  <hp@axis.com>
1949
1950         * config/cpu/cris/atomicity.h (__atomic_add): Remove "static
1951         inline" and attribute-unused.  Qualify parameter __mem with
1952         "volatile".
1953         (__exchange_and_add): Ditto.  Add back memory clobber to asm.
1954
1955 2004-03-20  Paolo Carlini  <pcarlini@suse.de>
1956
1957         * testsuite/27_io/basic_istream/extractors_arithmetic/char/2.cc:
1958         Remove junk.
1959         * testsuite/27_io/basic_istream/extractors_arithmetic/char/3.cc:
1960         Likewise.
1961         * testsuite/27_io/basic_istream/extractors_arithmetic/char/6.cc:
1962         Likewise.
1963         * testsuite/27_io/basic_istream/extractors_arithmetic/char/7.cc:
1964         Likewise.
1965         * testsuite/27_io/basic_istream/extractors_arithmetic/char/8.cc:
1966         Likewise.
1967         * testsuite/27_io/basic_istream/extractors_arithmetic/char/9.cc:
1968         Likewise.
1969         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1970         Likewise.
1971         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
1972         Likewise.
1973         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1974         Likewise.
1975         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
1976         Likewise.
1977
1978 2004-03-20  Paolo Carlini  <pcarlini@suse.de>
1979
1980         * include/std/std_valarray.h: Document DR389 [Ready].
1981         * docs/html/ext/howto.html: Add an entry for DR389.
1982
1983 2004-03-19  Michael Eager  <eager@mvista.com>
1984
1985         * config/cpu/mips/atomicity.h:  Prevent reg loads between LL and
1986         SC instructions.
1987
1988 2004-03-19  Paolo Carlini  <pcarlini@suse.de>
1989
1990         * testsuite/22_locale/num_get/get/char/11.cc: Remove redundant
1991         static_cast-s.
1992         * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
1993         * testsuite/22_locale/num_get/get/char/13.cc: Likewise.
1994         * testsuite/22_locale/num_get/get/char/14.cc: Likewise.
1995         * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
1996         * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
1997         * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
1998         * testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise.
1999         * testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise.
2000         * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
2001
2002 2004-03-19  Paolo Carlini  <pcarlini@suse.de>
2003             Petur Runolfsson  <peturr02@ru.is>
2004
2005         PR libstdc++/12077
2006         * include/ext/stdio_sync_filebuf.h (showmanyc): Remove, there's
2007         no way to find out the conversion used by the underlying FILE*.
2008         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: New.
2009         * testsuite/27_io/objects/char/9.cc: Tweak.
2010
2011 2004-03-19  Paolo Carlini  <pcarlini@suse.de>
2012
2013         PR libstdc++/14648
2014         * include/ext/ropeimpl.h (rope<>::_S_apply_to_pieces): Fix
2015         memory allocation/deallocation calls.
2016         * testsuite/ext/14648.cc: New.
2017
2018 2004-03-19  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
2019
2020         PR libstdc++/14647
2021         * include/backward/bvector.h (bit_vector): Allocator is in std
2022         namespace.
2023
2024 2004-03-19  Phil Edwards  <phil@codesourcery.com>
2025
2026         * acinclude.m4 (GLIBCXX_CHECK_WCHAR_T_SUPPORT):  Set LIBICONV,
2027         not libiconv.  SUBST this variable as well.
2028         * testsuite/Makefile.am (site.exp):  New target, based on that
2029         created by automake.  Also set libiconv.
2030
2031         * configure, Makefile.in, include/Makefile.in, libmath/Makefile.in,
2032         libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
2033         testsuite/Makefile.in:  Regenerate.
2034
2035 2004-03-16  Benjamin Kosnik  <bkoz@redhat.com>
2036
2037         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Default setting is
2038         new_allocator for all hosts.
2039         * configure: Regenerate.
2040
2041 2004-03-16  Paolo Carlini  <pcarlini@suse.de>
2042
2043         * testsuite/22_locale/num_put/put/char/4.cc: Fix for 64-bit pointers.
2044         * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
2045
2046 2004-03-15  Paolo Carlini  <pcarlini@suse.de>
2047
2048         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
2049         Adjust the logic underlying the parsing of symbol to deal
2050         correctly with an optional sign component (i.e., when either
2051         negative_sign or positive_sign is empty)
2052         * testsuite/22_locale/money_get/get/char/19.cc: New.
2053         * testsuite/22_locale/money_get/get/wchar_t/19.cc: New.
2054
2055 2004-03-15  Paolo Carlini  <pcarlini@suse.de>
2056
2057         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
2058         Do not accept an incomplete currency symbol.
2059         * testsuite/22_locale/money_get/get/char/18.cc: New.
2060         * testsuite/22_locale/money_get/get/wchar_t/18.cc: New.
2061
2062 2004-03-13  Benjamin Kosnik  <bkoz@redhat.com>
2063
2064         * config/allocator: New.
2065         * config/allocator/bitmap_allocator_base.h: New.
2066         * config/allocator/malloc_allocator_base.h: New.
2067         * config/allocator/mt_allocator_base.h: New.
2068         * config/allocator/new_allocator_base.h: New.
2069         * include/bits/allocator.h: Include c++allocator.h.
2070         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): New.
2071         * aclocal.m4: Regenerate.
2072         * configure.ac: Use GLIBCXX_ENABLE_ALLOCATOR.
2073         * configure: Regenerate.
2074         * include/Makefile.am (host_headers_extra): Add c++allocator.h.
2075         * include/Makefile.in: Regenerate.
2076         * docs/html/configopts.html: Add enable-libstdcxx-allocator.
2077
2078 2004-03-12  Benjamin Kosnik  <bkoz@redhat.com>
2079
2080         * include/bits/allocator.h: Revert.
2081
2082 2004-03-12  Paolo Carlini  <pcarlini@suse.de>
2083
2084         * docs/html/ext/howto.html: Add entry for DR 253 [Ready].
2085         * include/bits/gslice_array.h: Add comment about DR 253.
2086         * include/bits/indirect_array.h: Likewise.
2087         * include/bits/mask_array.h: Likewise.
2088         * include/bits/slice_array.h: Likewise.
2089
2090 2004-03-12  Benjamin Kosnik  <bkoz@redhat.com>
2091
2092         * testsuite/20_util/allocator/14176.cc: New.
2093         * include/ext/mt_allocator.h: Formatting fixes.
2094
2095 2004-03-11  Dhruv Matani  <dhruvbird@HotPOP.com>
2096
2097         * include/Makefile.am (ext_headers): Add
2098         ${ext_srcdir}/bitmap_allocator.h .
2099         * include/Makefile.in: Regenerate.
2100         * docs/html/ext/ballocator_doc.txt: New file.
2101         * include/ext/bitmap_allocator.h: New file.
2102         * testsuite/performance/20_util/allocator/list_sort_search.cc: Add
2103         test.
2104         * testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
2105         * testsuite/performance/20_util/allocator/producer_consumer.cc: Add
2106         test for the bitmap_allocator<>.
2107         * testsuite/performance/20_util/allocator/insert.cc: Likewise.
2108         * testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
2109         * testsuite/performance/20_util/allocator/map_thread.cc: Likewise.
2110
2111 2004-03-11  Paolo Carlini  <pcarlini@suse.de>
2112
2113         * include/std/std_complex.h (pow(const complex&, const _Tp&),
2114         pow(const _Tp&, const complex&), pow(const complex&,
2115         const complex&)): Fully qualify with std:: a few calls.
2116         * testsuite/26_numerics/complex/13450.cc: Minor tweak.
2117
2118 2004-03-11  Steven Bosscher  <stevenb@suse.de>
2119
2120         PR libstdc++/11706
2121         * include/c_std/cmath.tcc (__cmath_power): Define inline.
2122
2123 2004-03-10  Kelley Cook  <kcook@gcc.gnu.org>
2124
2125         * configure.ac: Bump AC_PREREQ to 2.59.
2126
2127 2004-03-10  Paolo Carlini  <pcarlini@suse.de>
2128
2129         * testsuite/26_numerics/valarray_subset_assignment.cc: Fix typos.
2130
2131 2004-03-10  Paul Kienzle  <pkienzle@nist.gov>
2132             Paolo Carlini  <pcarlini@suse.de>
2133
2134         PR libstdc++/13450
2135         * include/std/std_complex.h (pow(const complex&, const _Tp&),
2136         pow(const _Tp&, const complex&)): Use cmath pow only when safe.
2137         * testsuite/26_numerics/complex/13450.cc: New.
2138
2139         * testsuite/26_numerics/cmath/overloads.C: Rename to overloads.cc.
2140         * testsuite/26_numerics/complex/pow.C: Rename to pow.cc and fix.
2141
2142 2004-03-10  Jerry Quinn  <jlquinn@optonline.net>
2143
2144         PR libstdc++/3247
2145         * include/bits/gslice_array.h (gslice_array()): Make public.
2146         (operator=(gslice_array)): Make public.  Implement.
2147         * include/bits/indirect_array.h (indirect_array()): Make public.
2148         * include/bits/mask_array.h (mask_array()): Make public.
2149         (operator=(mask_array)): Make public.  Implement.
2150         * include/bits/valarray_array.tcc (__valarray_copy):
2151         Comment.  Add versions for gslice_array and mask_array.
2152         * testsuite/26_numerics/valarray_subset_assignment.cc:  New test.
2153
2154 2004-03-09  Benjamin Kosnik  <bkoz@redhat.com>
2155
2156         * testsuite/23_containers/deque/modifiers/swap.cc: Add in bits for
2157         non-weak systems.
2158         * testsuite/23_containers/vector/modifiers/swap.cc: Same.
2159         * testsuite/23_containers/set/modifiers/swap.cc: Same.
2160         * testsuite/23_containers/multiset/modifiers/swap.cc: Same.
2161         * testsuite/23_containers/multimap/modifiers/swap.cc: Same.
2162         * testsuite/23_containers/map/modifiers/swap.cc: Same.
2163         * testsuite/23_containers/list/modifiers/swap.cc: Same.
2164
2165         * testsuite/22_locale/locale/cons/12658_thread.cc: Catch exceptions.
2166
2167 2004-03-08  Benjamin Kosnik  <bkoz@redhat.com>
2168
2169         PR c++/13658
2170         * testsuite/23_containers/deque/modifiers/swap.cc: New.
2171         * testsuite/23_containers/list/modifiers/swap.cc: New.
2172         * testsuite/23_containers/map/modifiers/swap.cc: New.
2173         * testsuite/23_containers/multimap/modifiers/swap.cc: New.
2174         * testsuite/23_containers/multiset/modifiers/swap.cc: New.
2175         * testsuite/23_containers/set/modifiers/swap.cc: New.
2176         * testsuite/23_containers/vector/modifiers/swap.cc: New.
2177
2178 2004-03-08  Petur Runolfsson  <peturr02@ru.is>
2179
2180         PR libstdc++/12658
2181         * testsuite/22_locale/locale/cons/12658_thread.cc: New.
2182
2183 2004-03-08  Paolo Carlini  <pcarlini@suse.de>
2184
2185         * docs/html/ext/howto.html: Add entry for DR 103 [WP].
2186         * include/bits/stl_multiset.h: Add comment about DR 103.
2187         * include/bits/stl_set.h: Likewise.
2188
2189 2004-03-08  Paolo Carlini  <pcarlini@suse.de>
2190
2191         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
2192         The value _space_ indicates that at least one space is required
2193         at that position.
2194         * testsuite/22_locale/money_get/get/char/17.cc: New.
2195         * testsuite/22_locale/money_get/get/wchar_t/17.cc: New.
2196
2197         * testsuite/22_locale/money_get/get/char/7.cc: Minor tweaks.
2198         * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
2199
2200         * include/bits/locale_facets.tcc (money_get<>::do_get(long_double&)):
2201         Remove redundant conditional on __str.size().
2202
2203 2004-03-08  Benjamin Kosnik  <bkoz@redhat.com>
2204
2205         * include/bits/allocator.h: Switch defaults to mt_alloc.
2206
2207 2004-03-06  Benjamin Kosnik  <bkoz@redhat.com>
2208
2209         * include/ext/mt_allocator.h (_S_initialize): If
2210         !__GTHREAD_MUTEX_INIT, then initialize _S_thread_freelist_mutex.
2211
2212 2004-03-06  Benjamin Kosnik  <bkoz@redhat.com>
2213
2214         PR libstdc++/12658
2215         * src/locale_init.cc (locale::locale): Lock critical regions with
2216         external mutexes.
2217         (locale::global): Same.
2218         * include/bits/concurrence.h (__glibcxx_mutex_define_initialized):
2219         Add in once bits for cases without __GTHREAD_MUTEX_INIT.
2220         (__glibcxx_mutex_lock): Same.
2221
2222         * config/cpu/generic/atomicity.h: Remove
2223         _GLIBCXX_NEED_GENERIC_MUTEX, use concurrence.h.
2224         * src/misc-inst.cc: Move all locking bits out of this file.
2225
2226         * config/os/hpux/os_defines.h: Remove _GLIBCXX_INST_ATOMICITY_LOCK.
2227         * src/misc-inst.cc: Same.
2228         * config/cpu/hppa/atomicity.h: Same.
2229
2230         * config/linker-map.gnu: Remove types in the signature of atomic
2231         exports, as they may vary.
2232
2233 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
2234
2235         * include/bits/locale_facets.tcc: Tweak the comment preceding
2236         has_facet: doesn't throw.
2237
2238 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
2239
2240         * testsuite/22_locale/money_get/get/char/1.cc: Clean up.
2241         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
2242         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
2243         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
2244         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
2245         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
2246         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
2247         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
2248
2249 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
2250
2251         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
2252         num_get<>::_M_extract_int, num_get<>::do_get(bool&),
2253         __pad<>::_S_pad): Prefer plain operator== to traits::eq().
2254         * testsuite/testsuite_character.h (struct __gnu_test::character):
2255         Provide operator==.
2256         * testsuite/testsuite_hooks.h (struct __gnu_test::pod_char):
2257         Likewise.
2258
2259 2004-03-05  Paolo Carlini  <pcarlini@suse.de>
2260
2261         * testsuite/27_io/fpos/14320-2.cc: Remove xfail.
2262
2263 2004-03-04  Benjamin Kosnik  <bkoz@redhat.com>
2264
2265         * testsuite/23_containers/multiset/insert/1.cc: Test result string.
2266
2267         * testsuite/23_containers/bitset/invalidation/1.cc: Main always
2268         returns 0.
2269         * testsuite/23_containers/deque/invalidation/4.cc: Same.
2270         * testsuite/23_containers/list/invalidation/1.cc: Same.
2271         * testsuite/23_containers/list/invalidation/2.cc: Same.
2272         * testsuite/23_containers/list/invalidation/3.cc: Same.
2273         * testsuite/23_containers/list/invalidation/4.cc: Same.
2274         * testsuite/23_containers/map/invalidation/2.cc: Same.
2275         * testsuite/23_containers/multimap/invalidation/1.cc: Same.
2276         * testsuite/23_containers/multimap/invalidation/2.cc: Same.
2277         * testsuite/23_containers/multiset/invalidation/1.cc: Same.
2278         * testsuite/23_containers/multiset/invalidation/2.cc: Same.
2279         * testsuite/23_containers/set/invalidation/1.cc: Same.
2280         * testsuite/23_containers/set/invalidation/2.cc: Same.
2281         * testsuite/23_containers/vector/invalidation/1.cc: Same.
2282         * testsuite/23_containers/vector/invalidation/2.cc: Same.
2283         * testsuite/23_containers/vector/invalidation/3.cc: Same.
2284         * testsuite/23_containers/vector/invalidation/4.cc: Same.
2285
2286 2004-03-04  Paolo Carlini  <pcarlini@suse.de>
2287
2288         * scripts/testsuite_flags.in: Add "-D_GLIBCXX_ASSERT" to
2289         CXXFLAGS_save.
2290         * testsuite/lib/libstdc++.exp: Don't add it conditionally to
2291         DEFAULT_CXXFLAGS.
2292         * testsuite/18_support/numeric_limits.cc: Remove "-D_GLIBCXX_ASSERT"
2293         from the dg-options.
2294         * testsuite/23_containers/vector/invalidation/1.cc: Likewise.
2295         * testsuite/23_containers/vector/invalidation/2.cc: Likewise.
2296         * testsuite/23_containers/vector/invalidation/3.cc: Likewise.
2297         * testsuite/23_containers/vector/invalidation/4.cc: Likewise.
2298         * testsuite/23_containers/vector/resize/1.cc: Likewise.
2299         * testsuite/26_numerics/complex_value.cc: Likewise.
2300         * testsuite/27_io/ios_base/storage/1.cc: Likewise.
2301         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
2302         * testsuite/27_io/ios_base/storage/3.cc: Likewise.
2303         * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
2304         * testsuite/27_io/objects/char/5.cc: Likewise.
2305         * testsuite/27_io/objects/wchar_t/5.cc: Likewise.
2306         * testsuite/backward/11460.cc: Likewise.
2307         * testsuite/thread/pthread7-rope.cc: Likewise.
2308
2309         * testsuite/21_strings/basic_string/compare/char/1.cc: Add
2310         missing test variable.
2311         * testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Add
2312         missing test variable.
2313
2314 2004-03-04  Benjamin Kosnik  <bkoz@redhat.com>
2315
2316         * testsuite/20_util/allocator/1.cc: Provide explicit
2317         instantiations for non-weak systems.
2318         * testsuite/20_util/binders.cc: Same.
2319         * testsuite/20_util/allocator/8230.cc: Same.
2320         * testsuite/20_util/allocator/10378.cc: Same.
2321         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
2322         * testsuite/22_locale/ctype/is/char/2.cc: Same.
2323         * testsuite/thread/pthread7-rope.cc: Same.
2324         * testsuite/thread/pthread6.cc: Same.
2325         * testsuite/thread/pthread5.cc: Same.
2326         * testsuite/thread/pthread4.cc: Same.
2327         * testsuite/thread/pthread1.cc: Same.
2328         * testsuite/ext/rope.cc: Same.
2329         * testsuite/ext/hash_set.cc: Same.
2330         * testsuite/ext/hash_map.cc: Same.
2331         * testsuite/ext/concept_checks.cc: Same.
2332         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Same.
2333         * testsuite/25_algorithms/unique/2.cc: Same.
2334         * testsuite/25_algorithms/unique/1.cc: Same.
2335         * testsuite/25_algorithms/rotate.cc: Same.
2336         * testsuite/25_algorithms/min_max.cc: Same.
2337         * testsuite/25_algorithms/equal.cc: Same.
2338         * testsuite/24_iterators/rel_ops.cc: Same.
2339         * testsuite/24_iterators/iterator.cc: Same.
2340         * testsuite/24_iterators/insert_iterator.cc: Same.
2341         * testsuite/24_iterators/front_insert_iterator.cc: Same.
2342         * testsuite/24_iterators/back_insert_iterator.cc: Same.
2343         * testsuite/23_containers/vector/resize/1.cc: Same.
2344         * testsuite/23_containers/vector/modifiers/2.cc: Same.
2345         * testsuite/23_containers/vector/modifiers/1.cc: Same.
2346         * testsuite/23_containers/vector/invalidation/4.cc: Same.
2347         * testsuite/23_containers/vector/invalidation/3.cc: Same.
2348         * testsuite/23_containers/vector/invalidation/2.cc: Same.
2349         * testsuite/23_containers/vector/invalidation/1.cc: Same.
2350         * testsuite/23_containers/vector/element_access/1.cc: Same.
2351         * testsuite/23_containers/vector/cons/6513.cc: Same.
2352         * testsuite/23_containers/vector/cons/3.cc: Same.
2353         * testsuite/23_containers/vector/cons/2.cc: Same.
2354         * testsuite/23_containers/vector/cons/1.cc: Same.
2355         * testsuite/23_containers/vector/capacity/8230.cc: Same.
2356         * testsuite/23_containers/vector/capacity/1.cc: Same.
2357         * testsuite/23_containers/vector/bool/6886.cc: Same.
2358         * testsuite/23_containers/stack/members/7158.cc: Same.
2359         * testsuite/23_containers/set/invalidation/2.cc: Same.
2360         * testsuite/23_containers/set/invalidation/1.cc: Same.
2361         * testsuite/23_containers/queue/members/7157.cc: Same.
2362         * testsuite/23_containers/priority_queue/members/7161.cc: Same.
2363         * testsuite/23_containers/multiset/invalidation/2.cc: Same.
2364         * testsuite/23_containers/multiset/invalidation/2.cc: Same.
2365         * testsuite/23_containers/multiset/insert/1.cc: Same.
2366         * testsuite/23_containers/multimap/invalidation/2.cc: Same.
2367         * testsuite/23_containers/multimap/invalidation/2.cc: Same.
2368         * testsuite/23_containers/map/operators/1.cc: Same.
2369         * testsuite/23_containers/map/invalidation/2.cc: Same.
2370         * testsuite/23_containers/map/invalidation/1.cc: Same.
2371         * testsuite/23_containers/map/insert/1.cc: Same.
2372         * testsuite/23_containers/list/operators/4.cc: Same.
2373         * testsuite/23_containers/list/operators/3.cc: Same.
2374         * testsuite/23_containers/list/operators/2.cc: Same.
2375         * testsuite/23_containers/list/operators/1.cc: Same.
2376         * testsuite/23_containers/list/modifiers/3.cc: Same.
2377         * testsuite/23_containers/list/modifiers/2.cc: Same.
2378         * testsuite/23_containers/list/modifiers/1.cc: Same.
2379         * testsuite/23_containers/list/invalidation/4.cc: Same.
2380         * testsuite/23_containers/list/invalidation/3.cc: Same.
2381         * testsuite/23_containers/list/invalidation/2.cc: Same.
2382         * testsuite/23_containers/list/invalidation/1.cc: Same.
2383         * testsuite/23_containers/list/cons/9.cc: Same.
2384         * testsuite/23_containers/list/cons/8.cc: Same.
2385         * testsuite/23_containers/list/cons/7.cc: Same.
2386         * testsuite/23_containers/list/cons/6.cc: Same.
2387         * testsuite/23_containers/list/cons/5.cc: Same.
2388         * testsuite/23_containers/list/cons/4.cc: Same.
2389         * testsuite/23_containers/list/cons/3.cc: Same.
2390         * testsuite/23_containers/list/cons/2.cc: Same.
2391         * testsuite/23_containers/list/cons/1.cc: Same.
2392         * testsuite/23_containers/list/capacity/1.cc: Same.
2393         * testsuite/23_containers/deque/operators/1.cc: Same.
2394         * testsuite/23_containers/deque/invalidation/4.cc: Same.
2395         * testsuite/23_containers/deque/invalidation/3.cc: Same.
2396         * testsuite/23_containers/deque/invalidation/2.cc: Same.
2397         * testsuite/23_containers/deque/invalidation/1.cc: Same.
2398         * testsuite/23_containers/deque/cons/2.cc: Same.
2399         * testsuite/23_containers/deque/cons/1.cc: Same.
2400
2401         * src/allocator.cc: Add char, wchar_t instantiations
2402         to match extern template declarations in memory.h.
2403
2404 2004-03-03  Paolo Carlini  <pcarlini@suse.de>
2405
2406         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
2407         Fix warning regression.
2408
2409 2004-03-03  Paolo Carlini  <pcarlini@suse.de>
2410
2411         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
2412         Deal properly with empty __digits and negative frac_digits,
2413         clean-up a bit.
2414
2415 2004-03-03  Jonathan Wakely  <redi@gcc.gnu.org>
2416
2417         * docs/html/documentation.html: Regenerate.
2418
2419 2004-03-02  Paolo Carlini  <pcarlini@suse.de>
2420
2421         PR libstdc++/14320
2422         * include/bits/postypes.h (class streamoff): Remove, now
2423         streamoff is just typedef a 64 bit signed integer type.
2424         (class fpos): Tweak consistently.
2425         * testsuite/27_io/fpos/14320-1.cc: New.
2426         * testsuite/27_io/fpos/14320-2.cc: New.
2427         * testsuite/27_io/fpos/14320-3.cc: New.
2428         * testsuite/27_io/fpos/14320-4.cc: New.
2429         * testsuite/27_io/fpos/14320-5.cc: New.
2430         * testsuite/27_io/fpos/mbstate_t/4_neg.cc: xfail for now.
2431
2432 2004-03-02  Paolo Carlini  <pcarlini@suse.de>
2433
2434         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
2435         Reorganize a bit the main parsing loop, thus early detecting
2436         an empty value component.
2437         * testsuite/22_locale/money_get/get/char/16.cc: New.
2438         * testsuite/22_locale/money_get/get/wchar_t/16.cc: New.
2439
2440 2004-03-02  Benjamin Kosnik  <bkoz@redhat.com>
2441
2442         Support automake 1.8.2
2443         * configure.ac (AM_INIT_AUTOMAKE): Add -Wno-override.
2444         * po/Makefile.am (EXTRA_DIST): New.
2445         * po/Makefile.in: Regenerate.
2446         * Makefile.in: Same.
2447         * include/Makefile.in: Same.
2448         * libmath/Makefile.in: Same.
2449         * libsupc++/Makefile.in: Same.
2450         * src/Makefile.in: Same.
2451         * testsuite/Makefile.in: Same.
2452
2453         * include/Makefile.am (${host_builddir}/gthr-posix.h): Use
2454         __GXX_WEAK__ instead of SUPPORTS_WEAK.
2455         (${host_builddir}/gthr-default.h): Same.
2456         (${host_builddir}/gthr.h): Same.
2457         * acinclude.m4 (GLIBCXX_ENABLE_THREAD): Remove
2458         _GLIBCXX_SUPPORTS_WEAK, as this behavior can be modified via
2459         -fno-weak.
2460         * aclocal.m4: Regenerate.
2461         * acconfig.h: Remove _GLIBCXX_SUPPORTS_WEAK.
2462         * config.h.in: Regenerate.
2463         * configure: Same.
2464
2465 2004-03-01  Benjamin Kosnik  <bkoz@redhat.com>
2466
2467         Support autoconf 2.59
2468         * acinclude.m4: Quote correctly.
2469         * aclocal.m4: Regenerate.
2470         * linkage.m4: Same.
2471
2472 2004-03-01  Benjamin Kosnik  <bkoz@redhat.com>
2473
2474         * docs/html/test.html: Add multilib RUNTESTFLAGS example.
2475
2476         * docs/html/18_support/howto.html: Add bit about writing to
2477         stderr, mostly by Zack.
2478
2479 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
2480
2481         * include/bits/locale_facets.tcc (money_get<>::_M_extract,
2482         money_get<>::do_get(string_type&)): ... and two more.
2483
2484 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
2485
2486         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
2487         Fix thinkos in the switch from string_type& to string& as last
2488         argument.
2489
2490 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
2491
2492         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
2493         Also when parsing exponent sign, first look for thousands_sep
2494         and decimal_point; tweak a bit.
2495         * testsuite/22_locale/num_get/get/char/15.cc: New.
2496         * testsuite/22_locale/num_get/get/wchar_t/15.cc: New.
2497
2498         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
2499         num_get<>::_M_extract_int): Reorder some conditionals.
2500
2501 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
2502
2503         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
2504         Consistently with numpunct, enforce the requirements in
2505         22.2.6.3, p3 for the thousands separators; tweak a bit.
2506         * testsuite/22_locale/money_get/get/char/15.cc: New.
2507         * testsuite/22_locale/money_get/get/wchar_t/15.cc: New.
2508
2509 2004-03-01  David Billinghurst <David.Billinghurst@riotinto.com>
2510
2511         * testsuite/lib/libstdc++.exp (v3-list-tests): Use
2512         testsuite_files from correct multilib blddir when running
2513         testsuite.
2514
2515 2004-02-29  Phil Edwards  <phil@codesourcery.com>
2516
2517         * testsuite/Makefile.am (check-abi, check-abi-verbose):  Copy
2518         the summary file to the logfile.
2519         * testsuite/Makefile.in:  Regenerate.
2520
2521 2004-02-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2522
2523         * config/cpu/hppa/atomicity.h (__atomic_add): Make first argument
2524         volatile.
2525         * config/os/hpux/os_defines.h (_GLIBCXX_INST_ATOMICITY_LOCK): Use
2526         __GXX_WEAK__ instead of _GLIBCXX_SUPPORTS_WEAK.
2527
2528 2004-02-28  Paolo Carlini  <pcarlini@suse.de>
2529
2530         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
2531         According to 22.2.3.1, p2, 'units' may be followed by 'e' with
2532         no 'decimal-point' in the middle: in this case too we must fix
2533         up __found_grouping; slightly tweak.
2534         * testsuite/22_locale/num_get/get/char/14.cc: New.
2535         * testsuite/22_locale/num_get/get/wchar_t/14.cc: New.
2536
2537 2004-02-27  Eric Christopher  <echristo@redhat.com>
2538             Phil Edwards  <phil@codesourcery.com>
2539
2540         * testsuite/22_locale/collate/compare/wchar_t/2.cc,
2541         testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc,
2542         testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc,
2543         testsuite/22_locale/collate/hash/wchar_t/2.cc,
2544         testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc,
2545         testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc,
2546         testsuite/22_locale/collate/transform/wchar_t/2.cc,
2547         testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc,
2548         testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
2549         Use dg-require-iconv.
2550         * testsuite/lib/libstdc++.exp:  Load target-supports.exp.
2551
2552 2004-02-27  Phil Edwards  <phil@codesourcery.com>
2553             Eric Christopher  <echristo@redhat.com>
2554
2555         * testsuite/config/default.exp:  Update with comments.
2556         (${tool}_target_compile):  New wrapper routine.
2557         * testsuite/lib/dg-options.exp:  New file, with dg-require-iconv.
2558         * testsuite/lib/libstdc++.exp:  Update with comments and cosmetic
2559         fixes.
2560         (load_gcc_lib, v3track):  New routines.
2561         (v3-init):  Rename to libstdc++_init.
2562         * testsuite/libstdc++-dg/normal.exp:  No longer call v3-init.
2563         Move DEFAULT_CXXFLAGS handling into libstdc++_init.
2564
2565 2004-02-27  Benjamin Kosnik  <bkoz@redhat.com>
2566
2567         * config/cpu/hppa/atomicity.h: Include c++config.h to get defines.
2568
2569         * src/misc-inst.cc (_S_atomicity_lock): Move to __gnu_cxx.
2570
2571         * config/os/irix/irix5.2/atomicity.h: Merge..
2572         * config/os/irix/irix6.5/atomicity.h: Merge..
2573         * config/os/irix/atomicity.h: ...into this.
2574         * config/os/irix/atomic_word.h: New.
2575         * configure.host: Set atomic_word_dir for irix.
2576
2577         * hppa/atomicity.h: Change __Atomicity_lock to _Atomicity_lock.
2578         * i386/atomicity.h: Same.
2579         * m68k/atomicity.h: Same.
2580         * sparc/atomicity.h: Same.
2581
2582 2004-02-27  David Edelsohn  <edelsohn@gnu.org>
2583
2584         * config/os/aix/atomicity.h: Use __gnu_cxx namespace. Remove
2585         static, and inline keywords.
2586
2587 2004-02-27  Paolo Carlini  <pcarlini@suse.de>
2588
2589         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
2590         num_get<>::_M_extract_int, money_get<>::_M_extract): If appropriate,
2591         call reserve on the __tmp_gruping string.
2592         (num_get<>::_M_extract_float): Don't append unnecessarily a
2593         char() to the returned string.
2594         * include/bits/locale_facets.tcc: Trivial reformattings.
2595
2596 2004-02-27  Paolo Carlini  <pcarlini@suse.de>
2597
2598         * include/bits/locale_facets.h (money_get<>::_M_extract):
2599         Change signature: now takes a plain string&.
2600         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
2601         Update consistently the definition; use the moneypunct cache
2602         to parse the value; use swap to change __units.
2603         (money_get<>::do_get(long double&)): Update call of _M_extract,
2604         avoid ctype::narrow, not correct wrt the standard.
2605         (money_get<>::do_get(string_type&)): Likewise, update call
2606         of _M_extract, use ctype::widen.
2607         * src/locale-inst.cc: Tweak instantiations of _M_extract.
2608
2609 2004-02-26  Ian Lance Taylor  <ian@wasabisystems.com>
2610
2611         * testsuite/demangle/abi_examples/01.cc: Expect error -2.
2612         * testsuite/demangle/abi_examples/02.cc: Likewise.
2613         * testsuite/demangle/regression/cw-11.cc: Likewise.
2614         * testsuite/demangle/regression/cw-16.cc: Change two expected
2615         results to match libiberty demangler output.
2616
2617 2004-02-26  Benjamin Kosnik  <bkoz@redhat.com>
2618
2619         PR libstdc++/10246
2620         * libsupc++/Makefile.am: Use libiberty demangler.
2621         (c_sources): Add cp-demangle.c.
2622         * libsupc++/Makefile.in: Regenerate.
2623         * src/Makefile.am (sources): Remove demangle.cc.
2624         * src/Makefile.in: Regenerate.
2625         * include/Makefile.am (bits_headers): Move demangle.h.
2626         (ext_headers): ...here.
2627         * include/Makefile.in: Regenerate.
2628         * include/bits/demangle.h: Move...
2629         * include/ext/demangle.h: ...here.
2630         * src/demangle.cc: Remove.
2631
2632 2004-02-26  Benjamin Kosnik  <bkoz@redhat.com>
2633
2634         * include/bits/demangle.h: Add type template parameter to all
2635         templates with just an Allocator template parameter.
2636
2637 2004-02-25  Benjamin Kosnik  <bkoz@redhat.com>
2638
2639         * include/bits/atomicity.h: New, forward declarations for __atomic_add
2640         and __exchange_and_add.
2641         * config/cpu/generic/atomic_word.h: New, typdef for atomic word.
2642         * config/cpu/cris/atomic_word.h: Same.
2643         * config/cpu/sparc/atomic_word.h: Same.
2644         * include/bits/ios_base.h (_Callback_list::_M_remove_reference):
2645         Qualifiy with __gnu_cxx.
2646         (_Callback_list::_M_add_reference): Same.
2647         * include/bits/locale_classes.h (locale::facet::_M_add_reference): Add.
2648         (locale::facet::_M_remove_reference): Same.
2649         (locale::_Impl::_M_add_reference): Add.
2650         (locale::_Impl::_M_remove_reference): Same.
2651         * include/bits/basic_string.h (basic_string::_Rep::_M_refcopy): Same.
2652         (basic_string::_Rep::_M_dispose): Same.
2653         * src/ios.cc (ios_base::xalloc): Same.
2654         * src/ios_init.cc (ios_base::Init::Init): Same.
2655         (ios_base::Init::~Init): Same.
2656         * src/locale.cc (locale::id::_M_id): Same.
2657         * config/cpu/i486/atomicity.h: Use __gnu_cxx namespace. Remove
2658         static, and inline keywords.
2659         * config/cpu/alpha/atomicity.h: Same.
2660         * config/cpu/cris/atomicity.h: Same.
2661         * config/cpu/generic/atomicity.h: Same.
2662         * config/cpu/hppa/atomicity.h: Same.
2663         * config/cpu/i386/atomicity.h: Same.
2664         * config/cpu/ia64/atomicity.h: Same.
2665         * config/cpu/m68k/atomicity.h: Same.
2666         * config/cpu/mips/atomicity.h: Same.
2667         * config/cpu/powerpc/atomicity.h: Same.
2668         * config/cpu/s390/atomicity.h: Same.
2669         * config/cpu/sparc/atomicity.h: Same.
2670
2671         * src/Makefile.am (host_sources): Add atomicity.cc.
2672         (atomicity.cc): New rule.
2673         * src/Makefile.in: Regenerate.
2674         * include/Makefile.am (host_headers): Remove host atomicity.h.
2675         (host_headers): Add atomic_word.h.
2676         (bits_headers): Add bits atomicity.h.
2677         Change ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
2678         * include/Makefile.in: Regenerate.
2679         * configure.host (atomic_word_dir): Add.
2680         * configure.ac: Substitute ATOMIC_WORD_SRCDIR. Change
2681         ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
2682         * configure: Regenerate.
2683         * config/linker-map.gnu: Export __exchange_and_add, and __atomic_add.
2684
2685         * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
2686         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
2687
2688 2004-02-25  Jonathan Wakely  <redi@gcc.gnu.org>
2689
2690         * docs/html/20_util/howto.html, docs/html/20_util/allocator.html,
2691         docs/html/ext/howto.html, docs/html/ext/mt_allocator.html:
2692         Fix markup, more <link> tags.
2693
2694 2004-02-25  Carlo Wood  <carlo@alinoe.com>
2695
2696         * bits/demangle.h
2697         namespace __gnu_cxx::demangler
2698         (session<Allocator>::qualifier_list_Allocator): Add
2699         (session<Allocator>::M_qualifier_list_alloc): Add
2700         (session<Allocator>::decode_type_with_postfix):
2701         Use M_qualifier_list_alloc instead of calling operator new/delete.
2702
2703 2004-02-24  Paolo Carlini  <pcarlini@suse.de>
2704
2705         PR libstdc++/14252
2706         * include/bits/postypes.h (class streamoff): Add operator++(),
2707         operator++(int), operator--() and operator--(int).
2708         * testsuite/27_io/fpos/14252.cc: New.
2709
2710 2004-02-24  Richard Sandiford  <rsandifo@redhat.com>
2711
2712         * include/bits/locale_facets.tcc (num_get::_M_extract_int): Fix bounds
2713         error in handling of hex constants.
2714
2715 2004-02-24  Paolo Carlini  <pcarlini@suse.de>
2716
2717         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
2718         Prefer basic_string::append to operator+= and a temporary.
2719
2720 2004-02-23  Benjamin Kosnik  <bkoz@redhat.com>
2721
2722         * libsupc++/vterminate.cc (__gnu_cxx::__verbose_terminate_handler):
2723         Only use fputs, not write.
2724
2725 2004-02-23  Benjamin Kosnik  <bkoz@redhat.com>
2726
2727         * include/ext/malloc_allocator.h: Add operators ==, !=.
2728         * include/ext/new_allocator.h: Add operators ==, !=.
2729         * include/ext/mt_allocator.h (__mt_alloc::tune): New.
2730         (__mt_alloc::_S_get_options): New.
2731         (__mt_alloc::_S_set_options): New.
2732         (__mt_alloc::_S_thread_key_destr): To _S_destroy_thread_key.
2733         (__mt_alloc::_S_no_of_bins): To _S_bin_size.
2734         Move functions out of line, simplify, format.
2735         * src/allocator.cc: Simplify explicit instantiations.
2736         * include/bits/allocator.h: Tweak.
2737
2738 2004-02-22  Paolo Carlini  <pcarlini@suse.de>
2739
2740         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
2741         Restructure formatting of value component, first dealing with
2742         the non-decimal digits; use reserve.
2743
2744 2004-02-22  Paolo Carlini  <pcarlini@suse.de>
2745
2746         * include/bits/locale_facets.h (class money_get): Inherit
2747         from money_base too; tweak declaration of _M_extract, now
2748         parameterized on _Intl too.
2749         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
2750         Update definition to use the cache; call reserve on __res to
2751         avoid multiple reallocations; fix parsing of sign component
2752         according to 22.2.6.1.2, p3.
2753         (money_get<>::do_get(long double&),
2754         money_get<>::do_get(string_type&)): Update calls of _M_extract.
2755         * src/locale-inst.cc:  Add instantiations of
2756         money_get::_M_extract<false> and money_get::_M_extract<true>.
2757         * testsuite/22_locale/money_get/get/char/14.cc: New.
2758         * testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto.
2759
2760 2004-02-21  Mark Mitchell  <mark@codesourcery.com>
2761
2762         * libsupc++/vterminate.cc
2763         (__gnu_cxx::__verbose_terminate_handler): Guard against recursive
2764         calls to terminate.
2765         * src/demangle.cc (__cxa_demangle): Wrap in try-catch block.
2766
2767         * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
2768         not set RLIMIT_AS on HP-UX.
2769
2770 2004-02-21  Mark Mitchell  <mark@codesourcery.com>
2771
2772         * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
2773         not set RLIMIT_AS on HP-UX.
2774
2775 2004-02-21  Paolo Carlini  <pcarlini@suse.de>
2776
2777         * include/bits/locale_facets.h (class money_base): Add { _S_minus,
2778         _S_zero, _S_end } enum, _S_atoms.
2779         (struct __moneypunct_cache<>): Parameterize on _Intl too; add
2780         _M_grouping_size, _M_curr_symbol_size, _M_positive_sign_size,
2781         _M_negative_sign_size, _M_atoms; tweak constructor consistently.
2782         (__moneypunct_cache<>::~__moneypunct_cache): Update.
2783         (__moneypunct_cache<>::_M_cache): Fill the cache.
2784         (class moneypunct): Tweak __cache_type typedef.
2785         (class money_put): Inherit from money_base too; tweak declaration
2786         of _M_insert, now parameterized on _Intl.
2787         * include/bits/locale_facets.tcc
2788         (struct __use_cache<__moneypunct_cache<_CharT, _Intl> >): New.
2789         (money_put<>::_M_insert): Update definition to use the cache;
2790         call reserve on __res to avoid multiple reallocations.
2791         (money_put<>::do_put(long double),
2792         money_put<>::do_put(const string_type&): Update calls of _M_insert.
2793         * config/locale/generic/monetary_members.cc
2794         (moneypunct<char, true>::_M_initialize_moneypunct,
2795         moneypunct<char, false>::_M_initialize_moneypunct,
2796         moneypunct<wchar_t, true>::_M_initialize_moneypunct,
2797         moneypunct<wchar_t, false>::_M_initialize_moneypunct): Update.
2798         * config/locale/gnu/monetary_members.cc: Likewise.
2799         * config/locale/gnu/monetary_members.cc
2800         (moneypunct<wchar_t, true>::~moneypunct(),
2801         moneypunct<wchar_t, false>::~moneypunct()): Likewise.
2802         * src/globals_locale.cc: Tweak fake_money_cache_c.
2803         * src/locale-inst.cc: Add instantiations for
2804         money_put::_M_insert<false> and money_put::_M_insert<true> and
2805         __moneypunct_cache<C, false>, __moneypunct_cache<C, true>.
2806         * src/locale_facets.cc: Define money_base::_S_atoms.
2807         * src/locale_init.cc: Update placement new of
2808         __moneypunct_cache<char, false>, __moneypunct_cache<char, true>,
2809         __moneypunct_cache<wchar_t, false>, __moneypunct_cache<wchar_T, true>.
2810
2811         * config/locale/generic/numeric_members.cc: Clean up.
2812         * config/locale/gnu/numeric_members.cc: Likewise.
2813         * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
2814         * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
2815         * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
2816         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
2817         * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
2818         * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
2819
2820 2004-02-20  Mark Mitchell  <mark@codesourcery.com>
2821
2822         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Open
2823         FIFO for writing with ios_base::in|ios_base::out.
2824         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
2825         * testsuite/27_io/objects/char/7.cc: Likewise.
2826         * testsuite/27_io/objects/char/9661-1.cc: Open FIFO for writing
2827         with "r+".
2828
2829 2004-02-19  David Edelsohn  <edelsohn@gnu.org>
2830
2831         * 22_locale/collate/compare/wchar_t/2.cc: Change input-charset
2832         from iso-8859-1 to ISO8859-1.
2833         * 22_locale/collate/compare/wchar_t/wrapped_env.cc: Same.
2834         * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: Same.
2835         * 22_locale/collate/hash/wchar_t/2.cc: Same.
2836         * 22_locale/collate/hash/wchar_t/wrapped_env.cc: Same.
2837         * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: Same.
2838         * 22_locale/collate/transform/wchar_t/2.cc: Same.
2839         * 22_locale/collate/transform/wchar_t/wrapped_env.cc: Same.
2840         * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: Same.
2841
2842 2004-02-18  Paolo Carlini  <pcarlini@suse.de>
2843
2844         * include/bits/locale_facets.h (money_get<>::_M_extract):
2845         New, helper for do_get.
2846         (money_put<>::_M_insert): Likewise, for do_put.
2847         * include/bits/locale_facets.tcc (money_get<>::_M_extract,
2848         money_put<>::_M_insert): Define.
2849         (money_get<>::do_get(long double&), money_get<>::do_get(
2850         string_type&), money_put::do_put(long double),
2851         money_put::do_put(const string_type&)): Use the helpers.
2852
2853 2004-02-18  Paolo Carlini  <pcarlini@suse.de>
2854
2855         * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
2856         Rewrite, avoiding recursion.
2857         (__gnu_internal::xwrite): Minor tweaks.
2858
2859 2004-02-17  Stefan Olsson  <stefan@xapa.se>
2860
2861         * include/ext/mt_allocator.h: Removed the last
2862         pointer. Deallocated blocks are now added to the front of
2863         freelists as proposed by Felix Yen.  This gives roughly 10%
2864         performance boost and saves some memory.
2865         * docs/html/ext/mt_allocator.html: Change due to that deallocated
2866         blocks now are added to the front of freelists. The reason to this
2867         approach is also explained.
2868
2869 2004-02-17  Paolo Carlini  <pcarlini@suse.de>
2870
2871         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
2872         num_get<>::_M_extract_int, money_get<>::do_get): Simplify
2873         grouping fidelity conditional.
2874
2875 2004-02-16  Paolo Carlini  <pcarlini@suse.de>
2876
2877         * testsuite/27_io/basic_filebuf/overflow/char/13858.cc:
2878         Qualify exception with std::.
2879         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto.
2880         * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
2881         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
2882         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
2883         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
2884
2885 2004-02-16  Paolo Carlini  <pcarlini@suse.de>
2886
2887         * testsuite/ext/enc_filebuf/char/13189.cc: Don't check
2888         for now that the catch block is not reached.
2889         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
2890
2891 2004-02-16  Paolo Carlini  <pcarlini@suse.de>
2892
2893         * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
2894         Fix parsing of the remaining sign characters.
2895         * 22_locale/money_get/get/char/2.cc: Tweak: now, correctly,
2896         the input is scanned 'til eof.
2897         * 22_locale/money_get/get/char/4.cc: Likewise.
2898         * 22_locale/money_get/get/wchar_t/2.cc: Likewise.
2899         * 22_locale/money_get/get/wchar_t/4.cc: Likewise.
2900         * 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format,
2901         not do_pos_format: the former is the only one that matters during
2902         input.
2903         * 22_locale/money_get/get/wchar_t/8.cc: Likewise.
2904
2905         * 22_locale/money_get/get/char/6.cc: Minor tweak.
2906         * 22_locale/money_get/get/wchar_t/6.cc: Likewise.
2907
2908 2004-02-15  David Asher  <david.asher@cavium.com>
2909
2910         PR libstdc++/11352
2911         * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't
2912         access __olds beyond __oldlen.
2913
2914 2004-02-14  Paolo Carlini  <pcarlini@suse.de>
2915
2916         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make
2917         sure the exception is actually thrown.
2918         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
2919         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
2920         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
2921
2922 2004-02-14  Paolo Carlini  <pcarlini@suse.de>
2923
2924         PR libstdc++/13858
2925         * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
2926         In case of conversion errors, throw ios_failure; simplify.
2927         * testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
2928         * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
2929         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
2930         previously we didn't throw in case of conversion errors, instead
2931         just returned eof().
2932         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
2933         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
2934         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
2935
2936         * include/bits/fstream.tcc (basic_filebuf<>::overflow):
2937         Trivial simplification of a conditional.
2938
2939 2004-02-12  Paolo Carlini  <pcarlini@suse.de>
2940
2941         PR libstdc++/13731 (final part: writev)
2942         * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
2943         New, a wrapper around writev() handling partial writes.
2944         (__basic_file<char>::xwrite): Move to __gnu_internal and make
2945         static.
2946         (__basic_file<char>::xsputn): Update call.
2947         (__basic_file<char>::xsputn_2): Likewise.
2948         * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
2949         Don't declare, now static.
2950
2951 2004-02-11  Stefan Olsson  <stefan@xapa.se>
2952
2953         * docs/html/ext/mt_allocator.html: New.
2954
2955 2004-02-11  Benjamin Kosnik  <bkoz@redhat.com>
2956
2957         * docs/html/20_util/allocator.html: New file, consolidate
2958         allocator information here. Revamp.
2959         * docs/html/documentation.html: Change links.
2960         * docs/html/20_util/howto.html: Same.
2961         * docs/html/ext/howto.html: Same.
2962
2963 2004-02-11  Paolo Carlini  <pcarlini@suse.de>
2964
2965         PR libstdc++/13731 (first part: write)
2966         * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
2967         New, declare.
2968         * config/io/basic_file_stdio.cc (__basic_file<char>::xwrite):
2969         Define it: a wrapper around write() handling partial write.
2970         (__basic_file<char>::xsputn): Use it.
2971         (__basic_file<char>::xsputn_2): Likewise.
2972
2973 2004-02-11  Paolo Carlini  <pcarlini@suse.de>
2974             Petur Runolfsson  <peturr02@ru.is>
2975
2976         PR libstdc++/14078
2977         * include/std/std_istream.h (operator>>(__istream_type& (*)
2978         (__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
2979         operator>>(ios_base& (*)(ios_base&))): Declare inline.
2980         * include/std/std_ostream.h (operator<<(__ostream_type& (*)
2981         (__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
2982         operator<<(ios_base& (*) (ios_base&))): Likewise.
2983         * testsuite/performance/27_io/fmtflags_manipulators.cc: New.
2984
2985 2004-02-10  Loren J. Rittle  <ljrittle@acm.org>
2986
2987         PR libstdc++/14098
2988         * config/linker-map.gnu: Add typeinfo and typeinfo name for
2989         __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.
2990
2991         PR libstdc++/14097
2992         * config/linker-map.gnu: Add typeinfo and typeinfo name for
2993         __gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.
2994
2995 2004-02-09  Loren J. Rittle  <ljrittle@acm.org>
2996
2997         * include/ext/pool_allocator.h: Include c++config.h.
2998
2999 2004-02-09  Stefan Olsson  <stefan@xapa.se>
3000
3001         * include/ext/mt_allocator.h: thread_id is unused in non threaded
3002         applications and now has a ifdef to remove it completely on
3003         compilers without thread support. Include stdlib.h due to a
3004         compiler warning on getenv().
3005
3006 2004-02-09  Paul Brook  <paul@codesourcery.com>
3007
3008         * libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
3009
3010 2004-02-09  Paolo Carlini  <pcarlini@suse.de>
3011
3012         PR libstdc++/14071
3013         * src/locale_init.cc (locale::global(const locale&)): Use
3014         locale::name() in order to decide whether calling setlocale.
3015         * testsuite/22_locale/locale/global_locale_objects/14071.cc: New.
3016
3017         * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
3018         Avoid computing &= unnecessarily.
3019
3020 2004-02-09  James E Wilson  <wilson@specifixinc.com>
3021
3022         PR libstdc++/5625
3023         * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
3024         __builtin_extend_pointer.
3025
3026 2004-02-09  Paolo Carlini  <pcarlini@suse.de>
3027
3028         PR libstdc++/14072
3029         * include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
3030         Don't leave dangling pointers.
3031         * testsuite/27_io/basic_ios/imbue/14072.cc: New.
3032         * testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
3033         facet is needed in the final test.
3034
3035 2004-02-09  Bernardo Innocenti  <bernie@develer.com>
3036
3037         * crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
3038         * configure: Regenerate.
3039
3040 2004-02-08  Richard Henderson  <rth@redhat.com>
3041
3042         PR libstdc++/14026
3043         * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
3044         uncaughtExceptions during nested catch rethrow.
3045         * testsuite/18_support/14026.cc: New.
3046
3047 2004-02-08  Paolo Carlini  <pcarlini@suse.de>
3048
3049         * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
3050         When working in place remember to set the state to sharable
3051         (otherwise, _M_mutate does it).
3052
3053 2004-02-08  Bernardo Innocenti  <bernie@develer.com>
3054
3055         * include/bits/allocator.h, include/bits/basic_ios.h,
3056         include/bits/basic_ios.tcc, include/bits/basic_string.h,
3057         include/bits/basic_string.tcc, include/bits/boost_concept_check.h,
3058         include/bits/char_traits.h, include/bits/codecvt.h,
3059         include/bits/concurrence.h, include/bits/cpp_type_traits.h,
3060         include/bits/demangle.h, include/bits/deque.tcc,
3061         include/bits/fstream.tcc, include/bits/functexcept.h,
3062         include/bits/gslice.h, include/bits/gslice_array.h,
3063         include/bits/indirect_array.h, include/bits/ios_base.h,
3064         include/bits/istream.tcc, include/bits/list.tcc,
3065         include/bits/locale_classes.h, include/bits/locale_facets.h,
3066         include/bits/locale_facets.tcc, include/bits/localefwd.h,
3067         include/bits/mask_array.h, include/bits/ostream.tcc,
3068         include/bits/postypes.h, include/bits/slice_array.h,
3069         include/bits/sstream.tcc, include/bits/stl_algo.h,
3070         include/bits/stl_algobase.h, include/bits/stl_bvector.h,
3071         include/bits/stl_construct.h, include/bits/stl_deque.h,
3072         include/bits/stl_function.h, include/bits/stl_heap.h,
3073         include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
3074         include/bits/stl_list.h, include/bits/stl_map.h,
3075         include/bits/stl_multimap.h, include/bits/stl_multiset.h,
3076         include/bits/stl_numeric.h, include/bits/stl_pair.h,
3077         include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
3078         include/bits/stl_relops.h, include/bits/stl_set.h,
3079         include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
3080         include/bits/stl_threads.h, include/bits/stl_tree.h,
3081         include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
3082         include/bits/stream_iterator.h, include/bits/streambuf.tcc,
3083         include/bits/streambuf_iterator.h,include/bits/stringfwd.h,
3084         include/bits/type_traits.h, include/bits/valarray_after.h,
3085         include/bits/valarray_array.h, include/bits/valarray_array.tcc,
3086         include/bits/valarray_before.h, include/bits/vector.tcc: Remove
3087         trailing whitespace.
3088
3089 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
3090
3091         * include/bits/basic_string.h: Fix comment.
3092
3093 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
3094
3095         * include/bits/stl_construct.h: Wrap overlong lines, reformat
3096         according to the coding standards.
3097         * include/bits/stl_pair.h: Likewise.
3098         * include/bits/stl_raw_storage_iter.h: Likewise.
3099         * include/bits/stl_stack.h: Likewise.
3100         * include/bits/stl_uninitialized.h: Likewise.
3101         * include/bits/stream_iterator.h: Likewise.
3102         * include/bits/streambuf_iterator.h: Likewise.
3103         * include/bits/type_traits.h: Likewise.
3104
3105 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
3106
3107         * testsuite/27_io/basic_filebuf/open/char/9507.cc:
3108         Adjust timings.
3109
3110 2004-02-05  Loren J. Rittle  <ljrittle@acm.org>
3111
3112         * scripts/check_performance: Support PCH.
3113
3114         * scripts/check_performance (CXX): Add -DNOTHREAD.
3115         * testsuite/performance/20_util/allocator/insert.cc: Integrate
3116         threaded tests from insert_insert.cc.  Tweak iterations,
3117         remove special cases.
3118         * testsuite/performance/20_util/allocator/insert_insert.cc:
3119         Make all tests single-threaded. Tweak iterations.
3120         * testsuite/performance/20_util/allocator/map_thread.cc:
3121         Tweak iterations.
3122         * testsuite/performance/20_util/allocator/producer_consumer.cc:
3123         Likewise.
3124
3125 2004-02-05  Geoffrey Keating  <geoffk@apple.com>
3126
3127         PR 12179
3128         * .cvsignore: New.
3129         * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
3130         'gcc-lib'.  Add comment about poorly-named variables.
3131         * aclocal.m4: Regenerate.
3132         * configure: Regenerate.
3133
3134 2004-02-05  Paolo Carlini  <pcarlini@suse.de>
3135
3136         * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
3137         Thousands-sep are always optional; thousands-sep are not allowed
3138         after the decimal_point.
3139         * testsuite/22_locale/money_get/get/char/12.cc: New.
3140         * testsuite/22_locale/money_get/get/char/13.cc: New.
3141         * testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
3142         * testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
3143
3144         * testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
3145         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
3146         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
3147         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
3148         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
3149         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
3150         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
3151         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
3152
3153         * testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
3154         the standard.
3155         * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
3156
3157 2004-02-05  Richard Sandiford  <rsandifo@redhat.com>
3158
3159         * config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
3160         Define.
3161         * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
3162         it to decide whether FIONREAD should take an off_t or int argument.
3163
3164 2004-02-05  Paolo Carlini  <pcarlini@suse.de>
3165
3166         * include/bits/stl_function.h: Minor formatting changes.
3167
3168 2004-02-04  Zack Weinberg  <zack@codesourcery.com>
3169
3170         Revert previous change to config/abi/*/baseline_symbols.txt.
3171
3172 2004-02-04  Benjamin Kosnik  <bkoz@redhat.com>
3173             Zack Weinberg  <zack@codesourcery.com>
3174
3175         * config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
3176         New function.
3177         (__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
3178         (__basic_file<char>::_M_open_mode): Delete.
3179         * config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
3180
3181         * testsuite/27_io/basic_filebuf/close/char/9964.cc
3182         * testsuite/27_io/basic_filebuf/open/char/9507.cc:
3183         Correct flags to filebuf::open calls.
3184
3185         * config/abi/alpha-freebsd5/baseline_symbols.txt
3186         * config/abi/alpha-linux-gnu/baseline_symbols.txt
3187         * config/abi/hppa-linux-gnu/baseline_symbols.txt
3188         * config/abi/i386-freebsd4/baseline_symbols.txt
3189         * config/abi/i386-freebsd5/baseline_symbols.txt
3190         * config/abi/i486-linux-gnu/baseline_symbols.txt
3191         * config/abi/ia64-linux-gnu/baseline_symbols.txt
3192         * config/abi/mips-linux-gnu/baseline_symbols.txt
3193         * config/abi/sparc-freebsd5/baseline_symbols.txt
3194         * config/abi/sparc-linux-gnu/baseline_symbols.txt
3195         * config/abi/x86_64-linux-gnu/baseline_symbols.txt:
3196         Remove entry for __basic_file<char>::_M_open_mode.
3197
3198 2004-02-04  Loren J. Rittle  <ljrittle@acm.org>
3199
3200         * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
3201
3202 2004-02-04  Felix Yen  <fwy@alumni.brown.edu>
3203
3204         * testsuite/performance/20_util/producer_consumer.cc: New.
3205         * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
3206
3207 2004-02-04  Benjamin Kosnik  <bkoz@redhat.com>
3208
3209         * testsuite/performance/20_util/allocator.cc: Move to..
3210         * testsuite/performance/20_util/allocator/insert.cc: ...here.
3211         * testsuite/performance/20_util/allocator_thread.cc: Move to...
3212         * testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
3213         * testsuite/performance/20_util/allocator_map_thread.cc: Move to...
3214         * testsuite/performance/20_util/allocator/map_thread.cc: ...here.
3215
3216 2004-02-04  Jonathan Wakely  <redi@gcc.gnu.org>
3217
3218         * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
3219         * docs/html/faq/index.txt: Regenerate.
3220
3221 2004-02-04  Dhruv Matani  <dhruvbird@gmx.net>
3222
3223         * include/ext/debug_allocator.h: _M_extra now stands for the
3224         number of extra objects instead of the number of extra bytes.
3225         (debug_allocator::allocate): Adjust.
3226         (debug_allocator::deallocate): Adjust.
3227
3228         * include/ext/pool_allocator.h: Fix typo.
3229
3230 2004-02-03  Felix Yen  <fwy@alumni.brown.edu>
3231             Benjamin Kosnik  <bkoz@redhat.com>
3232
3233         * testsuite/performance/20_util/allocator.cc: Add map,
3234         deque, set tests.
3235         * testsuite/performance/20_util/allocator_thread.cc: Same.
3236
3237 2004-02-03  Paolo Carlini  <pcarlini@suse.de>
3238
3239         * include/bits/basic_string.h (insert(iterator)): Remove,
3240         non-standard and already scheduled for removal.
3241
3242 2004-02-03  Paolo Carlini  <pcarlini@suse.de>
3243
3244         * include/bits/stl_iterator_base_funcs.h: Minor formatting
3245         and indentation tweaks.
3246         * include/bits/stl_iterator_base_types.h: Likewise.
3247         * include/bits/stl_list.h: Likewise.
3248         * include/bits/stl_map.h: Likewise.
3249         * include/bits/stl_tempbuf.h: Likewise.
3250
3251 2004-02-02  Jerry Quinn  <jlquinn@optonline.net>
3252
3253         * include/bits/gslice.h, include/bits/gslice_array.h,
3254         include/bits/indirect_array.h, include/bits/mask_array.h,
3255         include/bits/slice_array.h, include/bits/stl_numeric.h,
3256         include/std/std_valarray.h:  Update copyright years.
3257
3258 2004-02-02  Jerry Quinn  <jlquinn@optonline.net>
3259
3260         * include/bits/gslice.h (gslice):  Document.
3261         * include/bits/gslice_array.h (gslice_array):  Document.
3262         * include/bits/indirect_array (indirect_array):  Document.
3263         * include/bits/mask_array (mask_array):  Document.
3264         * include/bits/slice_array.h (slice,slice_array):  Document.
3265         * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
3266         adjacent_difference):  Document
3267         * include/std/std_valarray.h (valarray):  Document.
3268
3269 2004-02-02  Benjamin Kosnik  <bkoz@redhat.com>
3270
3271         * docs/html/19_diagnostics/howto.html: Move verbose terminate
3272         documentation...
3273         * docs/html/18_support/howto.html: Here.
3274         * docs/html/documentation.html: Add reference here.
3275
3276 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
3277
3278         * config/locale/gnu/c++locale_internal.h: Remove prototypes
3279         of no longer used GLIBC thread locale functions.
3280
3281 2004-02-02  Eric Christopher  <echristo@redhat.com>
3282             Zack Weinberg  <zack@codesourcery.com>
3283
3284         * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
3285         -finput-charset.
3286         * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
3287         * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
3288         * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
3289         * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
3290         * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
3291         * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
3292         * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
3293         * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
3294         Ditto.
3295
3296 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
3297
3298         * include/bits/stl_function.h: Additional minor tweaks.
3299         * include/bits/stl_multiset.h: Likewise.
3300
3301         * include/bits/stl_queue.h: Minor tweaks.
3302
3303 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
3304
3305         PR libstdc++/13976 (continued)
3306         * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
3307         Make the second parameter unnamed, to void unused parameter
3308         warnings.
3309         * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
3310
3311 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
3312
3313         PR libstdc++/13976
3314         * include/ext/malloc_allocator.h (malloc_allocator::allocate):
3315         Make the second parameter unnamed, to void unused parameter
3316         warnings.
3317         * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
3318         * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
3319
3320 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
3321
3322         * include/bits/stl_algo.h: Additional minor tweaks.
3323         * include/bits/stl_map.h: Likewise.
3324         * include/bits/stl_multimap.h: Likewise.
3325         * include/bits/stl_multiset.h: Likewise.
3326         * include/bits/stl_set.h: Likewise.
3327         * include/bits/stl_tree.h: Likewise.
3328
3329 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
3330
3331         * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
3332         Remove, unused.
3333
3334 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
3335
3336         * include/bits/stl_function.h: Additional minor tweaks.
3337
3338 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
3339
3340         * include/bits/deque.tcc: Wrap overlong lines, constify
3341         a few variables, reformat according to the coding standards.
3342         * include/bits/list.tcc: Likewise.
3343         * include/bits/stl_deque.h: Likewise.
3344         * include/bits/stl_function.h: Likewise.
3345         * include/bits/stl_iterator.h: Likewise.
3346         * include/bits/stl_iterator_base_funcs.h: Likewise.
3347         * include/bits/stl_iterator_base_types.h: Likewise.
3348         * include/bits/stl_list.h: Likewise.
3349         * include/bits/stl_map.h: Likewise.
3350         * include/bits/stl_multimap.h: Likewise.
3351         * include/bits/stl_multiset.h: Likewise.
3352         * include/bits/stl_relops.h: Likewise.
3353         * include/bits/stl_set.h: Likewise.
3354
3355 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
3356
3357         * include/bits/stl_bvector.h: Wrap overlong lines, constify
3358         a few variables, reformat according to the coding standards.
3359         * include/bits/stl_tree.h: Likewise.
3360
3361 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
3362
3363         * include/bits/stl_algo.h: Minor additional reformat, add
3364         copyright year.
3365         * include/bits/stl_algobase.h: Add copyright year.
3366
3367 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
3368
3369         * include/bits/stl_algo.h: Wrap overlong lines, constify
3370         a few variables, reformat according to the coding standards.
3371         * include/bits/stl_algobase.h: Likewise.
3372         * include/bits/stl_heap.h: Likewise.
3373
3374 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
3375
3376         * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
3377
3378         * include/bits/basic_string.h: Fix two comments.
3379
3380 2004-01-31  Per Bothner  <per@bothner.com>
3381
3382         * include/ext/mt_allocator.h
3383         (__mt_alloc::_S_thread_freelist_mutex): Guard with
3384         __GTHREAD_MUTEX_INIT.
3385
3386 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
3387
3388         * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
3389
3390 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
3391
3392         * testsuite/21_strings/basic_string/cons/char/6.cc: New.
3393         * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
3394         * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
3395
3396 2004-01-30  Felix Yen  <fwy@alumni.brown.edu>
3397
3398         * testsuite/performance/20_util/allocator_thread.cc (do_loop):
3399         Don't use clear, but instead assign. Use insert.
3400
3401 2004-01-30  Benjamin Kosnik  <bkoz@redhat.com>
3402
3403         * src/demangle.cc: Add instantiations.
3404         * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
3405         * src/Makefile.in: Regenerate.
3406
3407 2004-01-30  David Edelsohn  <edelsohn@gnu.org>
3408
3409         * src/allocator.cc: Protect _S_get_thread_id() and
3410         _S_thread_key_destr() with #ifdef __GTHREADS.
3411
3412 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
3413
3414         Reshuffle performance testsuite.
3415         * testsuite/performance/allocator.cc, allocator_map_thread.cc,
3416         allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
3417         cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
3418         fstream_seek_write.cc, ifstream_extract_float.cc,
3419         ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
3420         list_create_fill_sort.cc, map_create_fill.cc,
3421         narrow_widen_char.cc, narrow_widen_wchar_t.cc,
3422         ofstream_insert_float.cc, ofstream_insert_int.cc,
3423         string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
3424         wchar_t_out.cc: Split into...
3425         * testsuite/performance/20_util/allocator.cc: New.
3426         * testsuite/performance/20_util/allocator_map_thread.cc: New.
3427         * testsuite/performance/20_util/allocator_thread.cc: New.
3428         * testsuite/performance/21_strings/string_append: New.
3429         * testsuite/performance/22_locale/is_wchar_t.cc: New.
3430         * testsuite/performance/22_locale/narrow_widen_char.cc: New.
3431         * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
3432         * testsuite/performance/22_locale/wchar_t_in.cc: New.
3433         * testsuite/performance/22_locale/wchar_t_length.cc: New.
3434         * testsuite/performance/22_locale/wchar_t_out.cc: New.
3435         * testsuite/performance/23_containers/container_benchmark.cc: New.
3436         * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
3437         * testsuite/performance/23_containers/map_create_fill.cc: New.
3438         * testsuite/performance/26_numerics/complex_norm.cc: New.
3439         * testsuite/performance/27_io/cout_insert_int.cc: New.
3440         * testsuite/performance/27_io/filebuf_copy.cc: New.
3441         * testsuite/performance/27_io/filebuf_sputc.cc: New.
3442         * testsuite/performance/27_io/fstream_seek_write.cc: New.
3443         * testsuite/performance/27_io/ifstream_extract_float.cc: New.
3444         * testsuite/performance/27_io/ifstream_extract_int.cc: New.
3445         * testsuite/performance/27_io/ifstream_getline.cc: New.
3446         * testsuite/performance/27_io/ofstream_insert_float.cc: New.
3447         * testsuite/performance/27_io/ofstream_insert_int.cc: New.
3448
3449 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
3450
3451         * include/bits/basic_string.tcc (_Rep::_S_create):
3452         Never allocate a string bigger than max_size(); always keep
3453         __capacity and __size in sync to avoid memory leaks at
3454         deallocation time.
3455
3456 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
3457
3458         * include/bits/basic_string.tcc (_S_construct(_InIterator,
3459         _InIterator, const _Alloc&, input_iterator_tag)): Simplify
3460         the double loop, streamline.
3461
3462         * include/bits/basic_string.tcc: Very minor tweaks.
3463
3464 2004-01-30  Loren J. Rittle  <ljrittle@acm.org>
3465
3466         * scripts/check_performance: Only compile with $THREAD_FLAG
3467         when test is marked to require it.  Allow multiple
3468         compilations/executions of marked tests.
3469         * testsuite/testsuite_performance.h (report_performance):
3470         Report dynamic thread support status.
3471         (report_header): Likewise.
3472         * testsuite/performance/allocator.cc: Stabilize iteration
3473         count.  Support more allocators.  Mark each allocator test to
3474         run and report independently.
3475         * testsuite/performance/allocator_map_thread.cc: Likewise.
3476         * testsuite/performance/allocator_thread.cc: Likewise.
3477
3478 2004-01-29  Stephen M. Webb  <stephen.webb@bregmasoft.com>
3479
3480         * config/local/generic/c_locale.h: Change ::malloc() to new char[].
3481         * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
3482         * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
3483         std::get_temporary_buffer() instead of duplicating its code.
3484         Update to C++STYLE conventions.
3485         * include/std/std_memory.h (get_temporary_buffer): Use ::operator
3486         new() instead of std::malloc().
3487         (return_temporary_buffer): Use ::operator delete() instead of
3488         std::free().
3489
3490 2004-01-29  Benjamin Kosnik  <bkoz@redhat.com>
3491
3492         * include/bits/allocator.h: Temporary switch to new_allocator as
3493         the default to unjam bootstraps.
3494
3495 2004-01-28  Benjamin Kosnik  <bkoz@redhat.com>
3496
3497         * include/Makefile.am (bits_headers): Remove allocator_traits.h.
3498         * include/Makefile.in: Regenerate.
3499         * include/bits/allocator_traits.h: Remove.
3500         * include/bits/allocator.h: Remove allocator_traits.h include, and
3501         relevant comments.
3502         (allocator): Empty base class, inherit from the underlying allocator.
3503         * src/allocator-inst.cc: Move __pool_alloc instantiation to...
3504         * src/allocator.cc: ...here. New. For the underlying allocators.
3505         Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
3506         * config/linker-map.gnu: Remove __pool_alloc bits.
3507         * src/Makefile.am (sources): Add allocator.cc.
3508         * src/Makefile.in: Regenerate.
3509         * testsuite/20_util/allocator/1.cc: Split second test into...
3510         * testsuite/20_util/allocator/8230.cc: ...this.
3511         * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
3512         typedef to use std::allocatore. Format.
3513         * include/ext/pool_allocator.h: Remove allocator_traits.h include,
3514         _Alloc_traits.
3515         * include/ext/mt_allocator.h (__gnu_cxx): Qualify
3516         __throw_bad_alloc calls. Don't include <memory>.
3517         * include/ext/malloc_allocator.h: Remove <memory> include.
3518         * include/ext/new_allocator.h (new_allocator): Same.
3519         * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
3520         declaration. Switch __alloc to _Alloc.
3521         * include/ext/hashtable.h: Remove __alloc.
3522         * include/backward/alloc.h: Only inject allocator, not
3523         implementation details.
3524
3525         * include/ext/mt_allocator.h: Replace free with delete.
3526
3527 2004-01-28  Benjamin Kosnik  <bkoz@redhat.com>
3528
3529         * src/globals_io.cc: Change to __gnu_internal namespace.
3530         * src/globals_locale.cc: Same.
3531         * src/locale_init.cc: Same.
3532         * src/ios_init.cc: Same.
3533
3534 2004-01-28  Stefan Olsson  <stefan@snon.net>
3535
3536         * include/ext/mt_allocator.h: Replaced all malloc() calls with
3537         operator new(). Added support for the env variable
3538         GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
3539         one in allocate() as well). Fix typos.
3540
3541 2004-01-28  Paolo Carlini  <pcarlini@suse.de>
3542
3543         * include/bits/basic_string.h (_S_create(size_t,
3544         const _Alloc&): Change signature to take two size_type
3545         arguments.
3546         * include/bits/basic_string.tcc (_S_construct(_InIterator,
3547         _InIterator, const _Alloc&, input_iterator_tag)): Update
3548         call, tweak a bit.
3549         (_S_construct(_InIterator, _InIterator, const _Alloc&,
3550         forward_iterator_tag)): Likewise.
3551         (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
3552         (_M_mutate(size_type, size_type, size_type)): Don't
3553         implement the exponential growth policy, demand it to
3554         _S_create, update call and simplify.
3555         (_M_clone(const _Alloc&, size_type)): Likewise.
3556         (_S_create(size_type, size_type, const _Alloc&)): Implement
3557         the growth policy, simplify otherwise.
3558
3559         * include/bits/basic_string.h (_Rep::operator[]): Tweak
3560         signature to take a size_type, consistently with the other
3561         members.
3562
3563 2004-01-27  Benjamin Kosnik  <bkoz@redhat.com>
3564
3565         * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
3566         delete declarations, add include and test variable.
3567
3568 2003-01-27  Jerry Quinn  <jlquinn@optonline.net>
3569
3570         * include/bits/codecvt.h, include/bits/locale_facets.h,
3571         include/bits/postypes.h, include/bits/stl_bvector.h,
3572         include/bits/stl_multiset.h, include/bits/stl_set.h,
3573         include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
3574         include/std/std_complex.h:  Document.
3575
3576 2004-01-27  Jerry Quinn  <jlquinn@optonline.net>
3577
3578         PR libstdc++/11584
3579         * include/bits/ios_base.h (ios_base::_M_grow_words):  Add
3580         iword/pword selector.
3581         (ios_base::iword, ios_base::pword):  Use it.
3582         * src/ios.cc (ios_base::_M_grow_words):  Clear _M_word_zero
3583         iword or pword member on alloc failure.
3584         * testsuite/27_io/ios_base/storage/11584.cc:  New test.
3585
3586 2004-01-27  Ulrich Weigand  <uweigand@de.ibm.com>
3587             PJ Darcy  <darcypj@us.ibm.com>
3588
3589         * configure.host: Add support for *-tpf.
3590         * crossconfig.m4: Likewise.
3591         * configure: Regenerate.
3592         * config/os/tpf: New directory.
3593         * config/os/tpf/os_defines.h: New file.
3594         * config/os/tpf/ctype_base.h: Likewise.
3595         * config/os/tpf/ctype_inline.h: Likewise.
3596         * config/os/tpf/ctype_noninline.h: Likewise.
3597
3598 2004-01-27  Paolo Carlini  <pcarlini@suse.de>
3599
3600         PR libstdc++/13884
3601         * include/bits/sstream.tcc: Guard use of extern template.
3602
3603 2004-01-27  Paolo Carlini  <pcarlini@suse.de>
3604
3605         * include/bits/basic_string.tcc
3606         (basic_string(const basic_string&, size_type, size_type),
3607         basic_string(const basic_string&, size_type, size_type,
3608         const _Alloc&)): Avoid unnecessarily constructing iterators.
3609
3610 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
3611
3612         * config/locale/generic/c_locale.cc: Fix throw messages
3613         to use the __N marker.
3614         * config/locale/gnu/c_locale.cc: Likewise.
3615         * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
3616         Likewise.
3617         * docs/html/17_intro/C++STYLE: Likewise.
3618         * include/bits/basic_ios.tcc: Likewise.
3619         * include/bits/fstream.tcc: Likewise.
3620         * include/bits/vector.tcc: Likewise.
3621         * include/ext/ropeimpl.h: Likewise.
3622         * include/std/std_bitset.h: Likewise.
3623         * src/ios.cc: Likewise.
3624         * src/locale.cc: Likewise.
3625         * src/localename.cc: Likewise.
3626
3627 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
3628
3629         * include/bits/basic_string.h (_M_replace_aux): Use the
3630         __N marker in throw message.
3631         * include/bits/basic_string.tcc (assign(const _CharT*,
3632         size_type), insert(size_type, const _CharT*, size_type),
3633         replace(size_type, size_type, const _CharT*, size_type),
3634         reserve, _Rep::_S_create, resize, _M_replace_dispatch):
3635         Likewise.
3636
3637         * include/bits/basic_string.h, include/bits/basic_string.tcc:
3638         Fold overlong lines, minor formatting changes.
3639
3640 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
3641
3642         * include/bits/basic_string.h (replace(iterator, iterator,
3643         const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
3644         (replace(iterator, iterator, const _CharT*)): Ditto.
3645         (replace(iterator, iterator, const _CharT*, size_type)):
3646         Add missing _GLIBCXX_DEBUG_PEDASSERT.
3647
3648 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
3649
3650         * include/bits/basic_string.tcc (replace(size_type,
3651         size_type, const _CharT*, size_type)): Implement optimized
3652         in-place algorithm for non-overlapping ranges.
3653         * testsuite/21_strings/basic_string/replace/char/6.cc: New.
3654         * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
3655
3656         * include/bits/basic_string.tcc (insert(size_type,
3657         const _CharT*, size_type)): Tweak slightly.
3658
3659 2004-01-26  Andreas Schwab  <schwab@suse.de>
3660
3661         * config/locale/gnu/monetary_members.cc: Restore locale before
3662         rethrowing exception.
3663
3664 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
3665
3666         * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
3667         Define inline here.
3668         * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
3669         Move inline.
3670
3671         * include/bits/basic_string.tcc: Very minor tweaks.
3672
3673 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
3674
3675         * testsuite/performance/string_append.cc: Increase number
3676         of iterations.
3677
3678 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
3679
3680         * include/bits/basic_string.h (erase(size_type, size_type),
3681         erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
3682         instead, thus avoiding redundant check for length_error.
3683
3684         * include/bits/basic_string.h: Tweak some comments.
3685
3686 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
3687
3688         * include/bits/basic_string.tcc (operator+(const _CharT*,
3689         const basic_string&)): No need to go through the append
3690         taking two iterators.
3691
3692 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
3693
3694         * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
3695         Revert last change to use std::min: machine language is worse.
3696         (find_last_of(const _CharT*, size_type, size_type)): Ditto.
3697         (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
3698         (find_last_not_of(_CharT, size_type)): Ditto.
3699
3700         * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
3701         size_type)): Discard the value returned by _M_check.
3702         (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
3703         (append(const basic_string&, size_type, size_type)): Ditto.
3704         (copy(_CharT*, size_type, size_type)): Ditto.
3705         (compare(size_type, size_type, const basic_string&)): Ditto.
3706         (compare(size_type, size_type, const basic_string&,
3707         size_type, size_type)): Ditto.
3708         (compare(size_type, size_type, const _CharT*)): Ditto.
3709         (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
3710
3711 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
3712
3713         * include/bits/basic_string.h (insert(size_type,
3714         const basic_string&, size_type, size_type)): Define inline here.
3715         * include/bits/basic_string.tcc (insert(size_type,
3716         const basic_string&, size_type, size_type)): Move inline.
3717
3718 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
3719
3720         * include/bits/basic_string.h (assign(const basic_string&,
3721         size_type, size_type)): Define inline here.
3722         (replace(size_type, size_type, const basic_string&,
3723         size_type, size_type)): Ditto.
3724         (_M_replace_dispatch(iterator, iterator, _InputIterator,
3725         _InputIterator, __false_type)): Only declare.
3726         (_M_replace(iterator, iterator, _InputIterator,
3727         _InputIterator)): Remove.
3728         * include/bits/basic_string.tcc (assign(const basic_string&,
3729         size_type, size_type)): Move inline.
3730         (replace(size_type, size_type, const basic_string&,
3731         size_type, size_type)): Ditto.
3732         (_M_replace_dispatch(iterator, iterator, _InputIterator,
3733         _InputIterator, __false_type)): Define, now does also what
3734         _M_replace did before.
3735         * src/string-inst.cc (_M_replace): Don't instantiate.
3736
3737         * include/bits/basic_string.tcc (find(const _CharT*,
3738         size_type, size_type)): Tidy.
3739         (rfind(_CharT, size_type)): Ditto.
3740         (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
3741         (find_first_not_of(_CharT, size_type)): Ditto.
3742         (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
3743         (find_last_not_of(_CharT, size_type)): Ditto.
3744
3745 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
3746
3747         PR libstdc++/13838
3748         * include/debug/bitset (operator|=): Fix typo.
3749         * testsuite/23_containers/bitset/operations/13838.cc: New.
3750
3751 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
3752
3753         * include/bits/basic_string.tcc (insert(size_type,
3754         const _CharT*, size_type __n)): Fix length_error check.
3755         (replace(size_type, size_type, const _CharT*, size_type):
3756         Ditto; call _M_replace_safe.
3757         (_M_replace_aux(size_type, size_type, size_type, _CharT):
3758         Fix length_error check.
3759         (_M_replace(iterator, iterator, _InputIterator,
3760         _InputIterator)): Ditto, tweak.
3761         (_M_replace_safe(size_type, size_type, const _CharT*,
3762         size_type)): Remove length_error check.
3763
3764         * include/bits/basic_string.tcc (append(const basic_string&),
3765         append(const basic_string&, size_type, size_type)): Tweak
3766         comment.
3767
3768         * include/bits/basic_string.tcc (copy(_CharT*, size_type,
3769         size_type)): If __n == 0 don't call traits::copy.
3770
3771 2004-01-23  Stefan Olsson  <stefan@snon.net>
3772
3773         * include/ext/mt_allocator.h: Reduce lock contention.
3774
3775 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
3776
3777         PR libstdc++/13831
3778         * include/bits/fstream.tcc (underflow): Remove unused
3779         variable.
3780         * include/bits/streambuf_iterator.h (equal): Ditto.
3781         * include/bits/locale_facets.h (_M_convert_from_char):
3782         Ditto.
3783
3784 2004-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3785
3786         PR c/13814
3787         * config/linker-map.gnu (nan): Delete.
3788         * libmath/mathconf.h (NAN, nan): Delete.
3789         * linkage.m4 (nan): Don't check for it.
3790         * libmath/nan.c: Delete file.
3791
3792         * config.h.in, configure: Regenerate.
3793
3794 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
3795
3796         * include/bits/basic_string.h (push_back(_CharT)):
3797         Call _M_replace_aux.
3798         (insert(size_type, const basic_string&)): Trivial tweak.
3799         (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
3800         (insert(iterator, _CharT)): Ditto.
3801         (erase(size_type, size_type)): Ditto.
3802         (erase(iterator)): Ditto.
3803         (erase(iterator, iterator)): Ditto.
3804         (replace(size_type, size_type, size_type, _CharT)): Ditto.
3805
3806 2004-01-23  Loren J. Rittle  <ljrittle@acm.org>
3807
3808         libstdc++/13823
3809         * testsuite/performance/allocator_map_thread.cc: New test.
3810
3811 2004-01-22  Paolo Carlini  <pcarlini@suse.de>
3812
3813         * include/bits/locale_facets.tcc
3814         (money_put::do_put(..., long double)): Use the basic_string
3815         constructor for char arrays, not that for C-strings, to pass
3816         __digits to do_put(..., const string_type&): __ws isn't
3817         null-terminated.
3818
3819 2004-01-22  Paolo Carlini  <pcarlini@suse.de>
3820
3821         * include/bits/basic_string.h (_M_replace_safe): Change
3822         signatures to take size_types and const _CharT*.
3823         (_M_replace_aux): Likewise, takes size_types instead of
3824         iterators.
3825         (append(size_type, _CharT)): Update call.
3826         (assign(size_type, _CharT)): Ditto.
3827         (replace(iterator, iterator, size_type, _CharT)): Ditto.
3828         (_M_replace_dispatch(iterator, iterator, _Integer,
3829         _Integer, __true_type)): Ditto.
3830         * include/bits/basic_string.tcc (assign(const _CharT*,
3831         size_type)): Ditto.
3832         (insert(size_type, const _CharT*, size_type)): Ditto.
3833         (replace(size_type, size_type, const _CharT*,
3834         size_type)): Ditto.
3835         (_M_replace(iterator, iterator, _InputIterator,
3836         _InputIterator)): Ditto.
3837         (append(const basic_string&)): Ditto.
3838         (append(const basic_string&, size_type, size_type): Ditto.
3839         (append(const _CharT*, size_type): Ditto.
3840         (_M_replace_safe, _M_replace_safe): Change definitions
3841         accordingly, simplify.
3842         * string-inst.cc (_M_replace_safe): Don't instantiate.
3843
3844 2004-01-21  Paolo Carlini  <pcarlini@suse.de>
3845
3846         * include/bits/basic_string.tcc (append(const basic_string&)):
3847         Revert previous change.
3848         (append(const basic_string&, size_type, size_type)): Revert
3849         previous change, use _M_check and _M_limit.
3850
3851 2004-01-21  Paolo Carlini  <pcarlini@suse.de>
3852
3853         * include/bits/basic_string.h (_M_check): Change to return
3854         a checked __pos and take an additional const char* argument.
3855         (_M_fold): Rename to _M_limit, change to return a size_type,
3856         corresponding to the __off limited to the actual length.
3857         (insert(size_type, size_type, _CharT)): Update call, call
3858         replace.
3859         (insert(iterator, _CharT)): Call replace(iterator, iterator,
3860         size_type, _CharT) instead.
3861         (erase(size_type, size_type)): Update calls.
3862         (replace(size_type, size_type, size_type, _CharT)): Ditto.
3863         (substr(size_type, size_type)): Use _M_check.
3864         * include/bits/basic_string.tcc (basic_string(const basic_string&,
3865         size_type, size_type)): Update calls.
3866         (basic_string(const basic_string&, size_type, size_type,
3867         const _Alloc&)): Ditto.
3868         (assign(const basic_string&, size_type, size_type)): Use the
3869         new _M_check and _M_limit.
3870         (insert(size_type, const basic_string&, size_type, size_type):
3871         Ditto.
3872         (insert(size_type, const _CharT*, size_type)): Ditto.
3873         (replace(size_type, size_type, const _CharT*, size_type): Ditto.
3874         (replace(size_type, size_type, const basic_string&,
3875         size_type, size_type)): Ditto.
3876         (append(const basic_string&)): Ditto.
3877         (append(const basic_string&, size_type, size_type)): Ditto.
3878         (copy(_CharT*, size_type, size_type)): Ditto.
3879         (compare(size_type, size_type, const basic_string&)): Ditto.
3880         (compare(size_type, size_type, const basic_string&,size_type,
3881         size_type)): Ditto.
3882         (compare(size_type, size_type, const _CharT*)): Ditto.
3883         (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
3884
3885 2004-01-19  Stefan Olsson  <stefan@snon.net>
3886
3887         * include/ext/mt_allocator.h: If a thread, when it dies, still has
3888         memory on it's freelist this memory is not returned to global
3889         list. Simplification of deallocate so that memory is always
3890         returned to the calling thread id's freelist instead of to
3891         global. Fix typos. Add volatile where appropriate.
3892
3893 2004-01-19  Loren J. Rittle  <ljrittle@acm.org>
3894
3895         * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
3896         * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test.  Like -2 but
3897         use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
3898
3899 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
3900
3901         * src/debug.cc: Make sure all the names are prefixed with
3902         double (or single) underscore.
3903
3904 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
3905
3906         * src/debug.cc: Trivial formatting change.
3907
3908 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
3909
3910         * include/bits/basic_string.tcc (_S_construct(size_type,
3911         _CharT, const _Alloc&)): Remove redundant try/catch.
3912         (_M_mutate(size_type, size_type, size_type)): Ditto.
3913         (_M_clone(const _Alloc&, size_type)): Ditto.
3914
3915 2004-01-18  Paolo Carlini  <pcarlini@suse.de>
3916
3917         * include/bits/basic_string.h (c_str()): Simplify, due to
3918         21.3.4 the internal representation is always kept null-terminated.
3919         * include/bits/basic_string.tcc (_M_clone): Null-terminate.
3920         * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
3921         * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
3922         Ditto.
3923
3924 2004-01-18  Paolo Carlini  <pcarlini@suse.de>
3925
3926         * include/bits/basic_string.h (append(size_type, _CharT)):
3927         Moved inline, just call _M_replace_aux, no source iterators at
3928         risk of being clobbered.
3929         (assign(size_type, _CharT)): Call directly _M_replace_aux.
3930         (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
3931         input_iterator_tag)): Remove fifth unused argument.
3932         (_M_replace_dispatch(iterator, iterator, _InputIterator,
3933         _InputIterator, __false_type)): Update call.
3934         * include/bits/basic_string.tcc (replace(size_type, size_type,
3935         const _CharT*, size_type)): Update call.
3936         (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
3937         throw string literal.
3938         (_M_replace_safe(iterator, iterator, _ForwardIterator,
3939         _ForwardIterator)): Likewise.
3940         (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
3941         input_iterator_tag)): Remove fifth unused argument.
3942         (append(size_type __n, _CharT __c)): Move inline.
3943         * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
3944         const C*, const C*, input_iterator_tag)): Remove fifth unused
3945         argument.
3946
3947 2004-01-16  Benjamin Kosnik  <bkoz@redhat.com>
3948
3949         * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
3950         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
3951
3952 2004-01-16  Danny Smith  <dannysmith@users.sourceforge.net>
3953
3954         * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
3955         mkfifo for mingw32.
3956
3957 2004-01-15  Stefan Olsson  <stefan@snon.net>
3958
3959         * include/ext/mt_allocator.h: Reuse thread id's as soon as
3960         possible by changing the behaviour of thread_freelist to do
3961         push_front when threads die instead of push_back.
3962
3963 2004-01-14  Paolo Carlini  <pcarlini@suse.de>
3964
3965         * include/bits/locale_facets.h (struct __numpunct_cache):
3966         Add member _M_grouping_size, caching the length of _M_grouping.
3967         (__numpunct_cache<>::_M_cache): Assign the latter.
3968         (__verify_grouping): Move declaration...
3969         * include/bits/locale_facets.tcc (__verify_grouping):
3970         ... here, change signature to take a const char* and a size_t
3971         for the grouping; not a template anymore.
3972         (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
3973         Likewise change signature and tweak consistently.
3974         (num_get::_M_extract_float, num_get::_M_extract_int,
3975         num_put::_M_insert_int, num_put::_M_insert_float,
3976         money_get::do_get(string_type&), money_get::do_put(string_type)):
3977         Update callers.
3978         * config/locale/generic/numeric_members.cc
3979         (numpunct<>::_M_initialize_numpunct): Assign the new member.
3980         * config/locale/gnu/numeric_members.cc
3981         (numpunct<>::_M_initialize_numpunct): Likewise.
3982         * src/locale-inst.cc (__add_grouping): Tweak signature.
3983         (__verify_grouping): Don't instantiate, not a template anymore.
3984
3985         * include/bits/locale_facets.h: Rename _M_truename_len ->
3986         _M_truename_size, _M_falsename_len -> _M_falsename_size.
3987         * include/bits/locale_facets.tcc: Likewise.
3988         * config/locale/generic/numeric_members.cc: Likewise.
3989         * config/locale/gnu/numeric_members.cc: Likewise.
3990
3991 2004-01-14  Stefan Olsson  <stefan@snon.net>
3992
3993         * include/ext/mt_allocator.h: Fixups.
3994         * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
3995         * testsuite/performance/allocator_thread.cc: Same.
3996
3997 2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>
3998
3999         * testsuite/performance/ifstream_extract_float.cc: Add higher
4000         precision tests.
4001         * testsuite/performance/ofstream_insert_float.cc: Same.
4002
4003 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
4004
4005         * src/locale-misc-inst.cc (__convert_from_v(long),
4006         __convert_from_v(unsigned long), __convert_from_v(long long),
4007         __convert_from_v(unsigned long long)): Remove, unused.
4008
4009 2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>
4010
4011         * testsuite/performance/ifstream_extract_float.cc: New.
4012         * testsuite/performance/ofstream_insert_float.cc: Float generation
4013         matches above.
4014
4015         * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
4016         * 20_util/auto_ptr/1.cc: ...this.
4017         * 20_util/auto_ptr/2.cc: Same.
4018         * 20_util/auto_ptr/3.cc: Same.
4019         * 20_util/auto_ptr/3946.cc: Same.
4020         * 20_util/auto_ptr/4.cc: Same.
4021         * 20_util/auto_ptr/5.cc: Same.
4022         * 20_util/auto_ptr/6.cc: Same.
4023         * 20_util/auto_ptr/7.cc: Same.
4024         * 20_util/auto_ptr/assign_neg.cc
4025         * 20_util/pairs.cc: Break into...
4026         * 20_util/pair/1.cc: ...this.
4027         * 20_util/pair/2.cc: Same.
4028         * 20_util/pair/3.cc: Same.
4029         * 20_util/pair/4.cc: Same.
4030
4031 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
4032
4033         * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
4034         Set correctly just basefield, the only group that matters.
4035
4036 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
4037
4038         * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
4039         (_Rope_rep_base): Inherit directly from the rope allocator;
4040         use rebinding instead of _Alloc_traits; pick up data member
4041         from _Rope_rep_alloc_base.
4042         (_Rope_alloc_base): Eliminate.
4043         (_Rope_base): Inherit directly from the rope allocator; use
4044         rebinding instead of _Alloc_traits; pick up data member from
4045         _Rope_alloc_base.
4046         (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
4047         rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
4048
4049 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
4050
4051         PR libstdc++/13650
4052         * include/bits/basic_string.tcc (compare(size_type, size_type,
4053         const _CharT*, size_type)): Implement correctly the resolution
4054         of DR 5: basically, s is a char array, -not- a C string.
4055         * include/bits/basic_string.h: Tweak some comments.
4056         * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
4057         * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
4058
4059 2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
4060
4061         * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
4062         Solaris.
4063
4064 2004-01-12  Paolo Carlini  <pcarlini@suse.de>
4065
4066         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
4067         Use try_mkfifo.
4068         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
4069         Likewise.
4070
4071 2004-01-12  Paolo Carlini  <pcarlini@suse.de>
4072
4073         * include/bits/locale_facets.h (struct __numpunct_cache):
4074         Add members _M_truename_len and _M_falsename_len, caching
4075         the lengths of _M_truename and _M_falsename.
4076         (__numpunct_cache<>::_M_cache): Assign the latter.
4077         * include/bits/locale_facets.tcc (num_get::do_get(bool&),
4078         num_put::do_put(bool)): Use the new members, thus avoiding
4079         computing string lengths again and again.
4080         * config/locale/generic/numeric_members.cc
4081         (numpunct<>::_M_initialize_numpunct): Assign the new members.
4082         * config/locale/gnu/numeric_members.cc
4083         (numpunct<>::_M_initialize_numpunct): Likewise.
4084
4085 2004-01-12  Mark Mitchell  <mark@codesourcery.com>
4086
4087         * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
4088         * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
4089         it.
4090         * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
4091         and remove Cygwin XFAIL.
4092         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
4093         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
4094         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
4095         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
4096         Likewise.
4097         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
4098         * testsuite/27_io/objects/char/7.cc: Likewise.
4099         * testsuite/27_io/objects/char/9661-1.cc: Likewise.
4100         * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
4101         * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
4102
4103 2004-01-11  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4104
4105         * include/std/std_complex.h (std::complex<>::real): Return a
4106         reference. Add non-const overload.
4107         (std::complex<>::real): Likewise.
4108         (std::real): Likewise.
4109         (std::imag): Likewise.
4110         (std::operator+): Tidy.
4111         (std::operator-): Likewise.
4112         (std::operator*): Likewise.
4113         (std::operator/): Likewise.
4114         (std::operator>>): Likewise.
4115
4116 2004-01-11  Paolo Carlini  <pcarlini@suse.de>
4117
4118         PR libstdc++/13582
4119         * include/bits/fstream.tcc (imbue): Exploit the external
4120         buffer to imbue 'on the fly' a new locale and convert its
4121         remainder with the new codecvt facet.
4122         (underflow): Tweak slightly to deal with this special case.
4123         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
4124         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
4125         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
4126         * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
4127         * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
4128
4129 2004-01-10  Paolo Carlini  <pcarlini@suse.de>
4130
4131         * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
4132         Import Revision 28.
4133
4134 2004-01-10  Paolo Carlini  <pcarlini@suse.de>
4135
4136         PR libstdc++/13630
4137         * include/bits/locale_classes.h (class locale): Fix category
4138         typedef.
4139         * testsuite/22_locale/locale/13630.cc: Add.
4140
4141 2004-01-10  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
4142
4143         * include/bits/locale_facets.h: Make a name really dependent. This
4144         will be needed when Core Issue 224 is implemented.
4145
4146 2004-01-09  Paolo Carlini  <pcarlini@suse.de>
4147
4148         * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
4149         * testsuite/performance/allocator_thread.cc: Likewise.
4150
4151 2004-01-07  Benjamin Kosnik  <bkoz@redhat.com>
4152
4153         * crossconfig.m4: Add LFS, io bits to linux cross config.
4154         * acconfig.h: Remove obsolete bits, reorder.
4155         * config.h.in: Regenerate.
4156         * aclocal.m4: Same.
4157         * configure: Same.
4158
4159 2004-01-07  Gawain Bolton  <gp.bolton@computer.org>
4160
4161         * include/bits/stl_list.h:
4162         * include/bits/list.tc:
4163         * src/list.cc:
4164         Performance enhancements for destructor, push_front(),
4165         push_back(), pop_front(), pop_back(), sort()
4166         Eliminated static_casts where possible.
4167         Moved code out of header files into new src/list.cc
4168         implementation file for library where possible.
4169         Remove inheritance from iterator class and create separate
4170         classes for non-constant and constant iterators.
4171         * include/bits/stl_tree.h (_Rb_tree class):
4172         * src/tree.cc:
4173         Only erase contents in destructor.
4174         Eliminate unnecessary initialization in assignment operator.
4175         Optimize for the nominal case by not checking whether
4176         container is empty in clear().
4177         Re-order test in _M_insert() to improve performance.
4178         Move initialization of new node's left & right pointers to
4179         src/tree.cc to where new node's colour is initialized
4180         and to reduce the amount of inline code.
4181         Use  _M_leftmost() and _M_end() to improve readability where
4182         appropriate.
4183         Create separate classes for non-constant and constant
4184         iterators to clarify code, avoid extra template parameters and
4185         casting away constness.
4186
4187 2004-01-07  Benjamin Kosnik  <bkoz@redhat.com>
4188
4189         * src/Makefile.am (sources): Add list.cc, tree.cc.
4190         * src/stl_tree.cc: Move to...
4191         * src/tree.cc: ...here.
4192         * src/list.cc: Add.
4193         * config/linker-map.gnu: Tweaks.
4194         * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
4195         * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
4196
4197         * bits/stl_vector.h: Column wrap comments.
4198
4199 2004-01-07  Loren J. Rittle  <ljrittle@acm.org>
4200
4201         (re-open) PR libstdc++/12658
4202         * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
4203         (locale::global): Likewise.
4204
4205 2004-01-07  Paolo Carlini  <pcarlini@suse.de>
4206
4207         * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
4208         Remove redundant #include.
4209         * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
4210         * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
4211         re-enable normal testing.
4212         * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
4213         #include.
4214         * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
4215         * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
4216         Likewise.
4217         * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
4218         Likewise.
4219         * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
4220         Likewise.
4221         * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
4222         Likewise.
4223         * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
4224         Likewise.
4225         * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
4226         Likewise.
4227         * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
4228         Likewise.
4229         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
4230         More properly, #include <locale>.
4231         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
4232         Remove redundant #include.
4233         * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
4234         * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
4235         redundant DejaGnu directive.
4236         * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
4237         redundant #include.
4238
4239 2004-01-06  Benjamin Kosnik  <bkoz@redhat.com>
4240             Stefan Olsson  <stefan@snon.net>
4241
4242         * scripts/check_performance: Use -pthread.
4243         * testsuite/performance/allocator.cc: Tweaks, add list.
4244         * testsuite/performance/allocator_thread.cc: New.
4245
4246 2004-01-06  Jerry Quinn  <jlquinn@optonline.net>
4247
4248         * include/bits/locale_facets.h: Document public classes and
4249         functions.
4250         * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
4251         Add comment.
4252
4253 2004-01-06  Paolo Carlini  <pcarlini@suse.de>
4254
4255         * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
4256         Remove redundant #includes.
4257         * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
4258         Likewise.
4259         * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
4260         Likewise.
4261         * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
4262         * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
4263         * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
4264         * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
4265         * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
4266         * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
4267         * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
4268         * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
4269         * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
4270         * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
4271         * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
4272         * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
4273         * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
4274         * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
4275         * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
4276         Likewise.
4277         * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
4278         Likewise.
4279         * testsuite/27_io/basic_istream/readsome/char/8258.cc:
4280         Likewise.
4281         * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
4282         Likewise.
4283         * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
4284         Likewise.
4285         * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
4286         * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
4287         * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
4288
4289 2004-01-04  Paolo Carlini  <pcarlini@suse.de>
4290
4291         * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
4292         Remove redundant #includes.
4293         * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
4294         Likewise.
4295         * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
4296         Likewise.
4297         * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
4298         Likewise.
4299         * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
4300         Likewise.
4301         * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
4302         Likewise.
4303         * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
4304         Likewise.
4305         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
4306         Likewise.
4307         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
4308         Likewise.
4309         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
4310         Likewise.
4311         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
4312         Likewise.
4313         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
4314         Likewise.
4315         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
4316         Likewise.
4317
4318 2004-01-04  Mark Mitchell  <mark@codesourcery.com>
4319
4320         PR c++/12226
4321         * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
4322         constructor.
4323         * testsuite/27_io/basic_fstream/4.cc: Likewise.
4324         * testsuite/27_io/basic_ifstream/4.cc: Likewise.
4325         * testsuite/27_io/basic_ios/4.cc: Likewise.
4326         * testsuite/27_io/basic_iostream/4.cc: Likewise.
4327         * testsuite/27_io/basic_istream/4.cc: Likewise.
4328         * testsuite/27_io/basic_istingstream/4.cc: Likewise.
4329         * testsuite/27_io/basic_ofstream/4.cc: Likewise.
4330         * testsuite/27_io/basic_ostream/4.cc: Likewise.
4331         * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
4332         * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
4333         * testsuite/27_io/basic_stringstream/4.cc: Likewise.
4334
4335 2004-01-04  Paolo Carlini  <pcarlini@suse.de>
4336
4337         * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
4338         Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
4339         always use double underscored names.
4340         * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
4341         Likewise.
4342         * include/bits/locale_facets.h (struct __numpunct_cache):
4343         Dimension _M_atoms_out and _M_atoms_in one position smaller.
4344         (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out
4345         and _M_atoms_in.