OSDN Git Service

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