OSDN Git Service

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