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