OSDN Git Service

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