OSDN Git Service

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