OSDN Git Service

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