OSDN Git Service

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