OSDN Git Service

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