OSDN Git Service

2004-03-25 Dhruv Matani <dhruvbird@gmx.net>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
1 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
2
3         * include/bits/stl_list.h: Created a _List_impl class and made it
4         derive from the allocator, instead of the list deriving from the
5         allocator class, which was not conformant. Changed all references
6         from this->_M_node to this->_M_impl._M_node * bits/list.tcc: Same
7         as above (changed all references to the concerned variables).
8
9 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
10
11         * include/bits/stl_deque.h: Created a _Deque_impl class and made
12         it derive from the allocator, instead of the deque deriving from
13         the allocator class, which was not conformant. Changed all
14         references to the _M_start, _M_finish, _M_map, and _M_map_size to
15         _M_impl.*.
16         (_Deque_base<_Tp,_Alloc>::~_Deque_base()): Added this->
17         qualification in 2 places where it was missing.
18         (_Deque_base<_Tp,_Alloc>::_M_initialize_map(size_t)): Same as
19         above.
20         * include/bits/deque.tcc: Same as above (changed all references to
21         the concerned variables).
22
23 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
24
25         * include/bits/stl_vector.h: Created a _Vector_impl class and made
26         it derive from the allocator, instead of the _Vector_base class,
27         deriving from the allocator which was not conformant. Changed all
28         references to the _M_start, _M_finish, and _M_end_of_storage to
29         _M_impl.*.
30         * include/bits/vector.tcc: Same as above (changed all references
31         to the concerned variables).
32
33 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
34
35         * testsuite/23_containers/deque/cons/clear_allocator.cc: New.
36         * testsuite/23_containers/list/cons/clear_allocator.cc: New.
37         * testsuite/23_containers/vector/cons/clear_allocator.cc: New.
38         
39 2004-03-24  Dhruv Matani  <dhruvbird@gmx.net>
40
41         * include/ext/malloc_allocator.h: Fixed the construct function to
42         call global placement new instead of assignment. Added a check
43         after the return from malloc to check whether returned pointer is
44         NULL, and if so, throw std::bad_alloc().
45         * include/ext/debug_allocator.h: Added a check in the deallocate
46         function to check whether the user has passed a NULL pointer or
47         not.
48         
49 2004-03-24  Benjamin Kosnik  <bkoz@redhat.com>
50
51         * docs/html/20_util/allocator.html: Add bitmap_allocator links.
52
53 2004-03-24  Andreas Schwab  <schwab@suse.de>
54
55         * testsuite/lib/prune.exp (prune_g++_output): Ignore errata
56         warning from IA64 assembler.
57
58 2004-03-24  Dhruv Matani  <dhruvbird@gmx.net>
59         
60         * include/ext/bitmap_allocator.h: (_Bit_scan_forward) -> Made this
61         function call __builtin_ctz instead of the while loop.
62         (allocate) -> If condition has __builtin_expect.
63         (deallocate) -> Ditto.
64         Renamed a few left-over variables and typedefs according to the
65         C++STYLE mentioned in the documentation.
66         Protected calls to __gthread* by __gthread_active_p(), whose value
67         is cached in the local variable __threads_active.
68
69 2004-03-24  Felix Yen  <fwy@alumni.brown.edu>
70
71         * testsuite/performance/20_util/allocator/producer_consumer.cc:
72         Use linear algorithm for producer.
73         
74 2004-03-24  Paolo Carlini  <pcarlini@suse.de>
75
76         * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
77         __mt_alloc<>::deallocate): Avoid redundant conditionals.
78
79 2004-03-23  Benjamin Kosnik  <bkoz@redhat.com>
80
81         * include/bits/locale_facets.h: Tweaks for 80 column.
82         (__numpunct_cache::_M_cache): Move to locale_facets.tcc.
83         (__moneypunct_cache::_M_cache): Same.
84         (num_get): Don't inherit from __num_base.
85         (num_put): Same.
86         (money_get): Don't inherit from money_base.
87         (money_put): Same.
88         (__timepunct::_M_am_pm_format): New.
89         (time_get::_M_extract_num): Return iterator, use ios_base as argument.
90         (time_get::_M_extract_name): Same.
91         (time_get::_M_extract_via_format): Same.
92         * include/bits/locale_facets.tcc: Tweaks for 80 column.
93         Use _M_getloc instead of getloc.
94         * testsuite/22_locale/money_put/put/char/9780-3.cc: New.
95         * testsuite/22_locale/num_put/put/char/9780-2.cc: New.
96         * testsuite/22_locale/time_put/put/char/9780-1.cc: New.
97
98 2004-03-22  Paolo Carlini  <pcarlini@suse.de>
99
100         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add pool_allocator.
101         * configure: Regenerate.
102         * config/allocator/pool_allocator_base.h: New.
103         * include/ext/pool_allocator.h: Convert to a standard-conforming
104         allocator.
105         * src/allocator.cc: Tweak instantiations.
106         * testsuite/performance/20_util/allocator/insert.cc: Add __pool_alloc.
107         * testsuite/performance/20_util/allocator/insert_insert.cc: Ditto.
108         * testsuite/performance/20_util/allocator/list_sort_search.cc: Ditto.
109         * testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
110         * testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
111         * testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
112
113 2004-03-22  Hans-Peter Nilsson  <hp@axis.com>
114
115         * config/cpu/cris/atomicity.h (__atomic_add): Remove "static
116         inline" and attribute-unused.  Qualify parameter __mem with
117         "volatile".
118         (__exchange_and_add): Ditto.  Add back memory clobber to asm.
119
120 2004-03-20  Paolo Carlini  <pcarlini@suse.de>
121
122         * testsuite/27_io/basic_istream/extractors_arithmetic/char/2.cc:
123         Remove junk.
124         * testsuite/27_io/basic_istream/extractors_arithmetic/char/3.cc:
125         Likewise.
126         * testsuite/27_io/basic_istream/extractors_arithmetic/char/6.cc:
127         Likewise.
128         * testsuite/27_io/basic_istream/extractors_arithmetic/char/7.cc:
129         Likewise.
130         * testsuite/27_io/basic_istream/extractors_arithmetic/char/8.cc:
131         Likewise.
132         * testsuite/27_io/basic_istream/extractors_arithmetic/char/9.cc:
133         Likewise.
134         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
135         Likewise.
136         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
137         Likewise.
138         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
139         Likewise.
140         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
141         Likewise.       
142
143 2004-03-20  Paolo Carlini  <pcarlini@suse.de>
144
145         * include/std/std_valarray.h: Document DR389 [Ready].
146         * docs/html/ext/howto.html: Add an entry for DR389.
147
148 2004-03-19  Michael Eager  <eager@mvista.com>
149
150         * config/cpu/mips/atomicity.h:  Prevent reg loads between LL and
151         SC instructions.
152
153 2004-03-19  Paolo Carlini  <pcarlini@suse.de>
154
155         * testsuite/22_locale/num_get/get/char/11.cc: Remove redundant
156         static_cast-s.
157         * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
158         * testsuite/22_locale/num_get/get/char/13.cc: Likewise.
159         * testsuite/22_locale/num_get/get/char/14.cc: Likewise.
160         * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
161         * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
162         * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
163         * testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise.
164         * testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise.
165         * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
166
167 2004-03-19  Paolo Carlini  <pcarlini@suse.de>
168             Petur Runolfsson  <peturr02@ru.is>
169
170         PR libstdc++/12077
171         * include/ext/stdio_sync_filebuf.h (showmanyc): Remove, there's
172         no way to find out the conversion used by the underlying FILE*.
173         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: New.
174         * testsuite/27_io/objects/char/9.cc: Tweak.
175
176 2004-03-19  Paolo Carlini  <pcarlini@suse.de>
177
178         PR libstdc++/14648
179         * include/ext/ropeimpl.h (rope<>::_S_apply_to_pieces): Fix
180         memory allocation/deallocation calls.
181         * testsuite/ext/14648.cc: New.
182
183 2004-03-19  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
184
185         PR libstdc++/14647
186         * include/backward/bvector.h (bit_vector): Allocator is in std
187         namespace.
188
189 2004-03-19  Phil Edwards  <phil@codesourcery.com>
190
191         * acinclude.m4 (GLIBCXX_CHECK_WCHAR_T_SUPPORT):  Set LIBICONV,
192         not libiconv.  SUBST this variable as well.
193         * testsuite/Makefile.am (site.exp):  New target, based on that
194         created by automake.  Also set libiconv.
195
196         * configure, Makefile.in, include/Makefile.in, libmath/Makefile.in,
197         libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
198         testsuite/Makefile.in:  Regenerate.
199
200 2004-03-16  Benjamin Kosnik  <bkoz@redhat.com>
201
202         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Default setting is
203         new_allocator for all hosts.
204         * configure: Regenerate.
205         
206 2004-03-16  Paolo Carlini  <pcarlini@suse.de>
207
208         * testsuite/22_locale/num_put/put/char/4.cc: Fix for 64-bit pointers.
209         * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
210         
211 2004-03-15  Paolo Carlini  <pcarlini@suse.de>
212
213         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
214         Adjust the logic underlying the parsing of symbol to deal
215         correctly with an optional sign component (i.e., when either
216         negative_sign or positive_sign is empty) 
217         * testsuite/22_locale/money_get/get/char/19.cc: New.
218         * testsuite/22_locale/money_get/get/wchar_t/19.cc: New.
219
220 2004-03-15  Paolo Carlini  <pcarlini@suse.de>
221
222         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
223         Do not accept an incomplete currency symbol.
224         * testsuite/22_locale/money_get/get/char/18.cc: New.
225         * testsuite/22_locale/money_get/get/wchar_t/18.cc: New.
226
227 2004-03-13  Benjamin Kosnik  <bkoz@redhat.com>
228
229         * config/allocator: New.
230         * config/allocator/bitmap_allocator_base.h: New.
231         * config/allocator/malloc_allocator_base.h: New.
232         * config/allocator/mt_allocator_base.h: New.
233         * config/allocator/new_allocator_base.h: New.
234         * include/bits/allocator.h: Include c++allocator.h.
235         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): New.
236         * aclocal.m4: Regenerate.
237         * configure.ac: Use GLIBCXX_ENABLE_ALLOCATOR. 
238         * configure: Regenerate.
239         * include/Makefile.am (host_headers_extra): Add c++allocator.h.
240         * include/Makefile.in: Regenerate.
241         * docs/html/configopts.html: Add enable-libstdcxx-allocator.
242
243 2004-03-12  Benjamin Kosnik  <bkoz@redhat.com>
244
245         * include/bits/allocator.h: Revert.
246
247 2004-03-12  Paolo Carlini  <pcarlini@suse.de>
248
249         * docs/html/ext/howto.html: Add entry for DR 253 [Ready].
250         * include/bits/gslice_array.h: Add comment about DR 253.
251         * include/bits/indirect_array.h: Likewise.
252         * include/bits/mask_array.h: Likewise.
253         * include/bits/slice_array.h: Likewise.
254
255 2004-03-12  Benjamin Kosnik  <bkoz@redhat.com>
256
257         * testsuite/20_util/allocator/14176.cc: New.
258         * include/ext/mt_allocator.h: Formatting fixes.
259         
260 2004-03-11  Dhruv Matani  <dhruvbird@HotPOP.com>
261
262         * include/Makefile.am (ext_headers): Add
263         ${ext_srcdir}/bitmap_allocator.h .
264         * include/Makefile.in: Regenerate.
265         * docs/html/ext/ballocator_doc.txt: New file.
266         * include/ext/bitmap_allocator.h: New file.
267         * testsuite/performance/20_util/allocator/list_sort_search.cc: Add 
268         test.
269         * testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
270         * testsuite/performance/20_util/allocator/producer_consumer.cc: Add
271         test for the bitmap_allocator<>.
272         * testsuite/performance/20_util/allocator/insert.cc: Likewise.
273         * testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
274         * testsuite/performance/20_util/allocator/map_thread.cc: Likewise.
275
276 2004-03-11  Paolo Carlini  <pcarlini@suse.de>
277
278         * include/std/std_complex.h (pow(const complex&, const _Tp&),
279         pow(const _Tp&, const complex&), pow(const complex&,
280         const complex&)): Fully qualify with std:: a few calls.
281         * testsuite/26_numerics/complex/13450.cc: Minor tweak.
282
283 2004-03-11  Steven Bosscher  <stevenb@suse.de>
284
285         PR libstdc++/11706
286         * include/c_std/cmath.tcc (__cmath_power): Define inline.
287
288 2004-03-10  Kelley Cook  <kcook@gcc.gnu.org>
289
290         * configure.ac: Bump AC_PREREQ to 2.59.
291
292 2004-03-10  Paolo Carlini  <pcarlini@suse.de>
293
294         * testsuite/26_numerics/valarray_subset_assignment.cc: Fix typos.
295
296 2004-03-10  Paul Kienzle  <pkienzle@nist.gov>
297             Paolo Carlini  <pcarlini@suse.de>
298
299         PR libstdc++/13450
300         * include/std/std_complex.h (pow(const complex&, const _Tp&),
301         pow(const _Tp&, const complex&)): Use cmath pow only when safe.
302         * testsuite/26_numerics/complex/13450.cc: New.
303
304         * testsuite/26_numerics/cmath/overloads.C: Rename to overloads.cc.
305         * testsuite/26_numerics/complex/pow.C: Rename to pow.cc and fix.
306
307 2004-03-10  Jerry Quinn  <jlquinn@optonline.net>
308
309         PR libstdc++/3247
310         * include/bits/gslice_array.h (gslice_array()): Make public.
311         (operator=(gslice_array)): Make public.  Implement.
312         * include/bits/indirect_array.h (indirect_array()): Make public.
313         * include/bits/mask_array.h (mask_array()): Make public.
314         (operator=(mask_array)): Make public.  Implement.
315         * include/bits/valarray_array.tcc (__valarray_copy):
316         Comment.  Add versions for gslice_array and mask_array.
317         * testsuite/26_numerics/valarray_subset_assignment.cc:  New test.
318
319 2004-03-09  Benjamin Kosnik  <bkoz@redhat.com>
320
321         * testsuite/23_containers/deque/modifiers/swap.cc: Add in bits for
322         non-weak systems.
323         * testsuite/23_containers/vector/modifiers/swap.cc: Same.
324         * testsuite/23_containers/set/modifiers/swap.cc: Same.
325         * testsuite/23_containers/multiset/modifiers/swap.cc: Same.
326         * testsuite/23_containers/multimap/modifiers/swap.cc: Same.
327         * testsuite/23_containers/map/modifiers/swap.cc: Same.
328         * testsuite/23_containers/list/modifiers/swap.cc: Same.
329
330         * testsuite/22_locale/locale/cons/12658_thread.cc: Catch exceptions.
331
332 2004-03-08  Benjamin Kosnik  <bkoz@redhat.com>
333         
334         PR c++/13658
335         * testsuite/23_containers/deque/modifiers/swap.cc: New.
336         * testsuite/23_containers/list/modifiers/swap.cc: New.
337         * testsuite/23_containers/map/modifiers/swap.cc: New.
338         * testsuite/23_containers/multimap/modifiers/swap.cc: New.
339         * testsuite/23_containers/multiset/modifiers/swap.cc: New.
340         * testsuite/23_containers/set/modifiers/swap.cc: New.
341         * testsuite/23_containers/vector/modifiers/swap.cc: New.
342         
343 2004-03-08  Petur Runolfsson  <peturr02@ru.is>
344
345         PR libstdc++/12658
346         * testsuite/22_locale/locale/cons/12658_thread.cc: New.
347
348 2004-03-08  Paolo Carlini  <pcarlini@suse.de>
349
350         * docs/html/ext/howto.html: Add entry for DR 103 [WP].
351         * include/bits/stl_multiset.h: Add comment about DR 103.
352         * include/bits/stl_set.h: Likewise.
353
354 2004-03-08  Paolo Carlini  <pcarlini@suse.de>
355
356         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
357         The value _space_ indicates that at least one space is required
358         at that position.
359         * testsuite/22_locale/money_get/get/char/17.cc: New.
360         * testsuite/22_locale/money_get/get/wchar_t/17.cc: New.
361
362         * testsuite/22_locale/money_get/get/char/7.cc: Minor tweaks.
363         * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
364
365         * include/bits/locale_facets.tcc (money_get<>::do_get(long_double&)):
366         Remove redundant conditional on __str.size().
367         
368 2004-03-08  Benjamin Kosnik  <bkoz@redhat.com>
369
370         * include/bits/allocator.h: Switch defaults to mt_alloc.
371
372 2004-03-06  Benjamin Kosnik  <bkoz@redhat.com>
373
374         * include/ext/mt_allocator.h (_S_initialize): If
375         !__GTHREAD_MUTEX_INIT, then initialize _S_thread_freelist_mutex.
376
377 2004-03-06  Benjamin Kosnik  <bkoz@redhat.com>
378
379         PR libstdc++/12658
380         * src/locale_init.cc (locale::locale): Lock critical regions with
381         external mutexes.
382         (locale::global): Same. 
383         * include/bits/concurrence.h (__glibcxx_mutex_define_initialized): 
384         Add in once bits for cases without __GTHREAD_MUTEX_INIT.
385         (__glibcxx_mutex_lock): Same.
386
387         * config/cpu/generic/atomicity.h: Remove
388         _GLIBCXX_NEED_GENERIC_MUTEX, use concurrence.h.
389         * src/misc-inst.cc: Move all locking bits out of this file.
390
391         * config/os/hpux/os_defines.h: Remove _GLIBCXX_INST_ATOMICITY_LOCK.
392         * src/misc-inst.cc: Same.
393         * config/cpu/hppa/atomicity.h: Same.
394
395         * config/linker-map.gnu: Remove types in the signature of atomic
396         exports, as they may vary.
397         
398 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
399
400         * include/bits/locale_facets.tcc: Tweak the comment preceding
401         has_facet: doesn't throw.
402
403 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
404
405         * testsuite/22_locale/money_get/get/char/1.cc: Clean up.
406         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
407         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
408         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
409         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
410         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
411         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
412         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
413
414 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
415
416         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
417         num_get<>::_M_extract_int, num_get<>::do_get(bool&),
418         __pad<>::_S_pad): Prefer plain operator== to traits::eq().
419         * testsuite/testsuite_character.h (struct __gnu_test::character):
420         Provide operator==.
421         * testsuite/testsuite_hooks.h (struct __gnu_test::pod_char):
422         Likewise.
423
424 2004-03-05  Paolo Carlini  <pcarlini@suse.de>
425
426         * testsuite/27_io/fpos/14320-2.cc: Remove xfail.
427
428 2004-03-04  Benjamin Kosnik  <bkoz@redhat.com>
429
430         * testsuite/23_containers/multiset/insert/1.cc: Test result string.
431
432         * testsuite/23_containers/bitset/invalidation/1.cc: Main always
433         returns 0.      
434         * testsuite/23_containers/deque/invalidation/4.cc: Same.
435         * testsuite/23_containers/list/invalidation/1.cc: Same.
436         * testsuite/23_containers/list/invalidation/2.cc: Same.
437         * testsuite/23_containers/list/invalidation/3.cc: Same.
438         * testsuite/23_containers/list/invalidation/4.cc: Same.
439         * testsuite/23_containers/map/invalidation/2.cc: Same.
440         * testsuite/23_containers/multimap/invalidation/1.cc: Same.
441         * testsuite/23_containers/multimap/invalidation/2.cc: Same.
442         * testsuite/23_containers/multiset/invalidation/1.cc: Same.
443         * testsuite/23_containers/multiset/invalidation/2.cc: Same.
444         * testsuite/23_containers/set/invalidation/1.cc: Same.
445         * testsuite/23_containers/set/invalidation/2.cc: Same.
446         * testsuite/23_containers/vector/invalidation/1.cc: Same.
447         * testsuite/23_containers/vector/invalidation/2.cc: Same.
448         * testsuite/23_containers/vector/invalidation/3.cc: Same.
449         * testsuite/23_containers/vector/invalidation/4.cc: Same.
450
451 2004-03-04  Paolo Carlini  <pcarlini@suse.de>
452
453         * scripts/testsuite_flags.in: Add "-D_GLIBCXX_ASSERT" to
454         CXXFLAGS_save.
455         * testsuite/lib/libstdc++.exp: Don't add it conditionally to
456         DEFAULT_CXXFLAGS. 
457         * testsuite/18_support/numeric_limits.cc: Remove "-D_GLIBCXX_ASSERT"
458         from the dg-options.
459         * testsuite/23_containers/vector/invalidation/1.cc: Likewise.
460         * testsuite/23_containers/vector/invalidation/2.cc: Likewise.
461         * testsuite/23_containers/vector/invalidation/3.cc: Likewise.
462         * testsuite/23_containers/vector/invalidation/4.cc: Likewise.
463         * testsuite/23_containers/vector/resize/1.cc: Likewise.
464         * testsuite/26_numerics/complex_value.cc: Likewise.
465         * testsuite/27_io/ios_base/storage/1.cc: Likewise.
466         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
467         * testsuite/27_io/ios_base/storage/3.cc: Likewise.
468         * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
469         * testsuite/27_io/objects/char/5.cc: Likewise.
470         * testsuite/27_io/objects/wchar_t/5.cc: Likewise.
471         * testsuite/backward/11460.cc: Likewise.
472         * testsuite/thread/pthread7-rope.cc: Likewise.
473
474         * testsuite/21_strings/basic_string/compare/char/1.cc: Add
475         missing test variable.
476         * testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Add
477         missing test variable.
478
479 2004-03-04  Benjamin Kosnik  <bkoz@redhat.com>
480
481         * testsuite/20_util/allocator/1.cc: Provide explicit
482         instantiations for non-weak systems.
483         * testsuite/20_util/binders.cc: Same.
484         * testsuite/20_util/allocator/8230.cc: Same.
485         * testsuite/20_util/allocator/10378.cc: Same.
486         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
487         * testsuite/22_locale/ctype/is/char/2.cc: Same.
488         * testsuite/thread/pthread7-rope.cc: Same.
489         * testsuite/thread/pthread6.cc: Same.   
490         * testsuite/thread/pthread5.cc: Same.           
491         * testsuite/thread/pthread4.cc: Same.   
492         * testsuite/thread/pthread1.cc: Same.
493         * testsuite/ext/rope.cc: Same.
494         * testsuite/ext/hash_set.cc: Same.
495         * testsuite/ext/hash_map.cc: Same.      
496         * testsuite/ext/concept_checks.cc: Same.
497         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Same.
498         * testsuite/25_algorithms/unique/2.cc: Same.
499         * testsuite/25_algorithms/unique/1.cc: Same.
500         * testsuite/25_algorithms/rotate.cc: Same.
501         * testsuite/25_algorithms/min_max.cc: Same.
502         * testsuite/25_algorithms/equal.cc: Same.       
503         * testsuite/24_iterators/rel_ops.cc: Same.
504         * testsuite/24_iterators/iterator.cc: Same.
505         * testsuite/24_iterators/insert_iterator.cc: Same.
506         * testsuite/24_iterators/front_insert_iterator.cc: Same.
507         * testsuite/24_iterators/back_insert_iterator.cc: Same.
508         * testsuite/23_containers/vector/resize/1.cc: Same.
509         * testsuite/23_containers/vector/modifiers/2.cc: Same.
510         * testsuite/23_containers/vector/modifiers/1.cc: Same.
511         * testsuite/23_containers/vector/invalidation/4.cc: Same.
512         * testsuite/23_containers/vector/invalidation/3.cc: Same.
513         * testsuite/23_containers/vector/invalidation/2.cc: Same.       
514         * testsuite/23_containers/vector/invalidation/1.cc: Same.
515         * testsuite/23_containers/vector/element_access/1.cc: Same.
516         * testsuite/23_containers/vector/cons/6513.cc: Same.
517         * testsuite/23_containers/vector/cons/3.cc: Same.
518         * testsuite/23_containers/vector/cons/2.cc: Same.
519         * testsuite/23_containers/vector/cons/1.cc: Same.
520         * testsuite/23_containers/vector/capacity/8230.cc: Same.
521         * testsuite/23_containers/vector/capacity/1.cc: Same.
522         * testsuite/23_containers/vector/bool/6886.cc: Same.
523         * testsuite/23_containers/stack/members/7158.cc: Same.
524         * testsuite/23_containers/set/invalidation/2.cc: Same.
525         * testsuite/23_containers/set/invalidation/1.cc: Same.
526         * testsuite/23_containers/queue/members/7157.cc: Same.
527         * testsuite/23_containers/priority_queue/members/7161.cc: Same.
528         * testsuite/23_containers/multiset/invalidation/2.cc: Same.
529         * testsuite/23_containers/multiset/invalidation/2.cc: Same.     
530         * testsuite/23_containers/multiset/insert/1.cc: Same.
531         * testsuite/23_containers/multimap/invalidation/2.cc: Same.
532         * testsuite/23_containers/multimap/invalidation/2.cc: Same.
533         * testsuite/23_containers/map/operators/1.cc: Same.
534         * testsuite/23_containers/map/invalidation/2.cc: Same.
535         * testsuite/23_containers/map/invalidation/1.cc: Same.
536         * testsuite/23_containers/map/insert/1.cc: Same.
537         * testsuite/23_containers/list/operators/4.cc: Same.
538         * testsuite/23_containers/list/operators/3.cc: Same.
539         * testsuite/23_containers/list/operators/2.cc: Same.
540         * testsuite/23_containers/list/operators/1.cc: Same.
541         * testsuite/23_containers/list/modifiers/3.cc: Same.
542         * testsuite/23_containers/list/modifiers/2.cc: Same.
543         * testsuite/23_containers/list/modifiers/1.cc: Same.
544         * testsuite/23_containers/list/invalidation/4.cc: Same.
545         * testsuite/23_containers/list/invalidation/3.cc: Same.
546         * testsuite/23_containers/list/invalidation/2.cc: Same.
547         * testsuite/23_containers/list/invalidation/1.cc: Same. 
548         * testsuite/23_containers/list/cons/9.cc: Same.
549         * testsuite/23_containers/list/cons/8.cc: Same.
550         * testsuite/23_containers/list/cons/7.cc: Same.
551         * testsuite/23_containers/list/cons/6.cc: Same.
552         * testsuite/23_containers/list/cons/5.cc: Same.
553         * testsuite/23_containers/list/cons/4.cc: Same.
554         * testsuite/23_containers/list/cons/3.cc: Same.
555         * testsuite/23_containers/list/cons/2.cc: Same.
556         * testsuite/23_containers/list/cons/1.cc: Same.
557         * testsuite/23_containers/list/capacity/1.cc: Same.
558         * testsuite/23_containers/deque/operators/1.cc: Same.
559         * testsuite/23_containers/deque/invalidation/4.cc: Same.
560         * testsuite/23_containers/deque/invalidation/3.cc: Same.
561         * testsuite/23_containers/deque/invalidation/2.cc: Same.
562         * testsuite/23_containers/deque/invalidation/1.cc: Same.
563         * testsuite/23_containers/deque/cons/2.cc: Same.
564         * testsuite/23_containers/deque/cons/1.cc: Same.
565
566         * src/allocator.cc: Add char, wchar_t instantiations
567         to match extern template declarations in memory.h.
568
569 2004-03-03  Paolo Carlini  <pcarlini@suse.de>
570
571         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
572         Fix warning regression.
573
574 2004-03-03  Paolo Carlini  <pcarlini@suse.de>
575
576         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
577         Deal properly with empty __digits and negative frac_digits,
578         clean-up a bit.
579
580 2004-03-03  Jonathan Wakely  <redi@gcc.gnu.org>
581
582         * docs/html/documentation.html: Regenerate.
583
584 2004-03-02  Paolo Carlini  <pcarlini@suse.de>
585
586         PR libstdc++/14320
587         * include/bits/postypes.h (class streamoff): Remove, now
588         streamoff is just typedef a 64 bit signed integer type.
589         (class fpos): Tweak consistently.
590         * testsuite/27_io/fpos/14320-1.cc: New.
591         * testsuite/27_io/fpos/14320-2.cc: New.
592         * testsuite/27_io/fpos/14320-3.cc: New.
593         * testsuite/27_io/fpos/14320-4.cc: New.
594         * testsuite/27_io/fpos/14320-5.cc: New.
595         * testsuite/27_io/fpos/mbstate_t/4_neg.cc: xfail for now.
596
597 2004-03-02  Paolo Carlini  <pcarlini@suse.de>
598
599         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
600         Reorganize a bit the main parsing loop, thus early detecting
601         an empty value component.
602         * testsuite/22_locale/money_get/get/char/16.cc: New.
603         * testsuite/22_locale/money_get/get/wchar_t/16.cc: New.
604
605 2004-03-02  Benjamin Kosnik  <bkoz@redhat.com>
606
607         Support automake 1.8.2
608         * configure.ac (AM_INIT_AUTOMAKE): Add -Wno-override.
609         * po/Makefile.am (EXTRA_DIST): New.
610         * po/Makefile.in: Regenerate.
611         * Makefile.in: Same.
612         * include/Makefile.in: Same.
613         * libmath/Makefile.in: Same.
614         * libsupc++/Makefile.in: Same.
615         * src/Makefile.in: Same.
616         * testsuite/Makefile.in: Same.
617
618         * include/Makefile.am (${host_builddir}/gthr-posix.h): Use
619         __GXX_WEAK__ instead of SUPPORTS_WEAK.
620         (${host_builddir}/gthr-default.h): Same.
621         (${host_builddir}/gthr.h): Same.
622         * acinclude.m4 (GLIBCXX_ENABLE_THREAD): Remove
623         _GLIBCXX_SUPPORTS_WEAK, as this behavior can be modified via
624         -fno-weak.
625         * aclocal.m4: Regenerate.
626         * acconfig.h: Remove _GLIBCXX_SUPPORTS_WEAK.
627         * config.h.in: Regenerate.
628         * configure: Same.
629         
630 2004-03-01  Benjamin Kosnik  <bkoz@redhat.com>
631
632         Support autoconf 2.59
633         * acinclude.m4: Quote correctly.
634         * aclocal.m4: Regenerate.
635         * linkage.m4: Same.
636
637 2004-03-01  Benjamin Kosnik  <bkoz@redhat.com>
638
639         * docs/html/test.html: Add multilib RUNTESTFLAGS example.
640
641         * docs/html/18_support/howto.html: Add bit about writing to
642         stderr, mostly by Zack.
643         
644 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
645
646         * include/bits/locale_facets.tcc (money_get<>::_M_extract,
647         money_get<>::do_get(string_type&)): ... and two more.
648
649 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
650
651         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
652         Fix thinkos in the switch from string_type& to string& as last
653         argument.
654
655 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
656
657         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
658         Also when parsing exponent sign, first look for thousands_sep
659         and decimal_point; tweak a bit.
660         * testsuite/22_locale/num_get/get/char/15.cc: New.
661         * testsuite/22_locale/num_get/get/wchar_t/15.cc: New.
662         
663         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
664         num_get<>::_M_extract_int): Reorder some conditionals.
665
666 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
667
668         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
669         Consistently with numpunct, enforce the requirements in
670         22.2.6.3, p3 for the thousands separators; tweak a bit.
671         * testsuite/22_locale/money_get/get/char/15.cc: New.
672         * testsuite/22_locale/money_get/get/wchar_t/15.cc: New.
673         
674 2004-03-01  David Billinghurst <David.Billinghurst@riotinto.com>
675
676         * testsuite/lib/libstdc++.exp (v3-list-tests): Use 
677         testsuite_files from correct multilib blddir when running
678         testsuite.
679
680 2004-02-29  Phil Edwards  <phil@codesourcery.com>
681
682         * testsuite/Makefile.am (check-abi, check-abi-verbose):  Copy
683         the summary file to the logfile.
684         * testsuite/Makefile.in:  Regenerate.
685
686 2004-02-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
687
688         * config/cpu/hppa/atomicity.h (__atomic_add): Make first argument
689         volatile.
690         * config/os/hpux/os_defines.h (_GLIBCXX_INST_ATOMICITY_LOCK): Use
691         __GXX_WEAK__ instead of _GLIBCXX_SUPPORTS_WEAK.
692
693 2004-02-28  Paolo Carlini  <pcarlini@suse.de>
694
695         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
696         According to 22.2.3.1, p2, 'units' may be followed by 'e' with
697         no 'decimal-point' in the middle: in this case too we must fix
698         up __found_grouping; slightly tweak.
699         * testsuite/22_locale/num_get/get/char/14.cc: New.
700         * testsuite/22_locale/num_get/get/wchar_t/14.cc: New.
701
702 2004-02-27  Eric Christopher  <echristo@redhat.com>
703             Phil Edwards  <phil@codesourcery.com>
704
705         * testsuite/22_locale/collate/compare/wchar_t/2.cc,
706         testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc,
707         testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc,
708         testsuite/22_locale/collate/hash/wchar_t/2.cc,
709         testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc,
710         testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc,
711         testsuite/22_locale/collate/transform/wchar_t/2.cc,
712         testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc,
713         testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
714         Use dg-require-iconv.
715         * testsuite/lib/libstdc++.exp:  Load target-supports.exp.
716
717 2004-02-27  Phil Edwards  <phil@codesourcery.com>
718             Eric Christopher  <echristo@redhat.com>
719
720         * testsuite/config/default.exp:  Update with comments.
721         (${tool}_target_compile):  New wrapper routine.
722         * testsuite/lib/dg-options.exp:  New file, with dg-require-iconv.
723         * testsuite/lib/libstdc++.exp:  Update with comments and cosmetic
724         fixes.
725         (load_gcc_lib, v3track):  New routines.
726         (v3-init):  Rename to libstdc++_init.
727         * testsuite/libstdc++-dg/normal.exp:  No longer call v3-init.
728         Move DEFAULT_CXXFLAGS handling into libstdc++_init.
729
730 2004-02-27  Benjamin Kosnik  <bkoz@redhat.com>
731
732         * config/cpu/hppa/atomicity.h: Include c++config.h to get defines.
733
734         * src/misc-inst.cc (_S_atomicity_lock): Move to __gnu_cxx.
735
736         * config/os/irix/irix5.2/atomicity.h: Merge..
737         * config/os/irix/irix6.5/atomicity.h: Merge..
738         * config/os/irix/atomicity.h: ...into this.
739         * config/os/irix/atomic_word.h: New.
740         * configure.host: Set atomic_word_dir for irix.
741
742         * hppa/atomicity.h: Change __Atomicity_lock to _Atomicity_lock.
743         * i386/atomicity.h: Same.
744         * m68k/atomicity.h: Same.
745         * sparc/atomicity.h: Same.
746
747 2004-02-27  David Edelsohn  <edelsohn@gnu.org>
748
749         * config/os/aix/atomicity.h: Use __gnu_cxx namespace. Remove
750         static, and inline keywords.
751
752 2004-02-27  Paolo Carlini  <pcarlini@suse.de>
753
754         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
755         num_get<>::_M_extract_int, money_get<>::_M_extract): If appropriate,
756         call reserve on the __tmp_gruping string.
757         (num_get<>::_M_extract_float): Don't append unnecessarily a
758         char() to the returned string.
759         * include/bits/locale_facets.tcc: Trivial reformattings.
760
761 2004-02-27  Paolo Carlini  <pcarlini@suse.de>
762
763         * include/bits/locale_facets.h (money_get<>::_M_extract):
764         Change signature: now takes a plain string&.
765         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
766         Update consistently the definition; use the moneypunct cache
767         to parse the value; use swap to change __units.
768         (money_get<>::do_get(long double&)): Update call of _M_extract,
769         avoid ctype::narrow, not correct wrt the standard.
770         (money_get<>::do_get(string_type&)): Likewise, update call
771         of _M_extract, use ctype::widen.
772         * src/locale-inst.cc: Tweak instantiations of _M_extract.
773
774 2004-02-26  Ian Lance Taylor  <ian@wasabisystems.com>
775
776         * testsuite/demangle/abi_examples/01.cc: Expect error -2.
777         * testsuite/demangle/abi_examples/02.cc: Likewise.
778         * testsuite/demangle/regression/cw-11.cc: Likewise.
779         * testsuite/demangle/regression/cw-16.cc: Change two expected
780         results to match libiberty demangler output.
781
782 2004-02-26  Benjamin Kosnik  <bkoz@redhat.com>
783
784         PR libstdc++/10246
785         * libsupc++/Makefile.am: Use libiberty demangler.
786         (c_sources): Add cp-demangle.c.
787         * libsupc++/Makefile.in: Regenerate.
788         * src/Makefile.am (sources): Remove demangle.cc.
789         * src/Makefile.in: Regenerate.
790         * include/Makefile.am (bits_headers): Move demangle.h.
791         (ext_headers): ...here.
792         * include/Makefile.in: Regenerate.
793         * include/bits/demangle.h: Move...
794         * include/ext/demangle.h: ...here.
795         * src/demangle.cc: Remove.
796
797 2004-02-26  Benjamin Kosnik  <bkoz@redhat.com>
798  
799         * include/bits/demangle.h: Add type template parameter to all
800         templates with just an Allocator template parameter.
801  
802 2004-02-25  Benjamin Kosnik  <bkoz@redhat.com>
803
804         * include/bits/atomicity.h: New, forward declarations for __atomic_add
805         and __exchange_and_add.
806         * config/cpu/generic/atomic_word.h: New, typdef for atomic word.
807         * config/cpu/cris/atomic_word.h: Same.
808         * config/cpu/sparc/atomic_word.h: Same.
809         * include/bits/ios_base.h (_Callback_list::_M_remove_reference):
810         Qualifiy with __gnu_cxx.
811         (_Callback_list::_M_add_reference): Same.
812         * include/bits/locale_classes.h (locale::facet::_M_add_reference): Add.
813         (locale::facet::_M_remove_reference): Same.
814         (locale::_Impl::_M_add_reference): Add.
815         (locale::_Impl::_M_remove_reference): Same.
816         * include/bits/basic_string.h (basic_string::_Rep::_M_refcopy): Same.
817         (basic_string::_Rep::_M_dispose): Same.
818         * src/ios.cc (ios_base::xalloc): Same.
819         * src/ios_init.cc (ios_base::Init::Init): Same.
820         (ios_base::Init::~Init): Same.
821         * src/locale.cc (locale::id::_M_id): Same.
822         * config/cpu/i486/atomicity.h: Use __gnu_cxx namespace. Remove
823         static, and inline keywords.
824         * config/cpu/alpha/atomicity.h: Same.
825         * config/cpu/cris/atomicity.h: Same.
826         * config/cpu/generic/atomicity.h: Same.
827         * config/cpu/hppa/atomicity.h: Same.
828         * config/cpu/i386/atomicity.h: Same.
829         * config/cpu/ia64/atomicity.h: Same.
830         * config/cpu/m68k/atomicity.h: Same.
831         * config/cpu/mips/atomicity.h: Same.
832         * config/cpu/powerpc/atomicity.h: Same.
833         * config/cpu/s390/atomicity.h: Same.
834         * config/cpu/sparc/atomicity.h: Same.
835         
836         * src/Makefile.am (host_sources): Add atomicity.cc.
837         (atomicity.cc): New rule.
838         * src/Makefile.in: Regenerate.
839         * include/Makefile.am (host_headers): Remove host atomicity.h.
840         (host_headers): Add atomic_word.h.
841         (bits_headers): Add bits atomicity.h.
842         Change ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
843         * include/Makefile.in: Regenerate.
844         * configure.host (atomic_word_dir): Add.
845         * configure.ac: Substitute ATOMIC_WORD_SRCDIR. Change
846         ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
847         * configure: Regenerate.
848         * config/linker-map.gnu: Export __exchange_and_add, and __atomic_add.
849
850         * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
851         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.      
852         
853 2004-02-25  Jonathan Wakely  <redi@gcc.gnu.org>
854
855         * docs/html/20_util/howto.html, docs/html/20_util/allocator.html,
856         docs/html/ext/howto.html, docs/html/ext/mt_allocator.html:
857         Fix markup, more <link> tags.
858
859 2004-02-25  Carlo Wood  <carlo@alinoe.com>
860
861         * bits/demangle.h
862         namespace __gnu_cxx::demangler
863         (session<Allocator>::qualifier_list_Allocator): Add
864         (session<Allocator>::M_qualifier_list_alloc): Add
865         (session<Allocator>::decode_type_with_postfix):
866         Use M_qualifier_list_alloc instead of calling operator new/delete.
867
868 2004-02-24  Paolo Carlini  <pcarlini@suse.de>
869
870         PR libstdc++/14252
871         * include/bits/postypes.h (class streamoff): Add operator++(),
872         operator++(int), operator--() and operator--(int).
873         * testsuite/27_io/fpos/14252.cc: New.
874
875 2004-02-24  Richard Sandiford  <rsandifo@redhat.com>
876
877         * include/bits/locale_facets.tcc (num_get::_M_extract_int): Fix bounds
878         error in handling of hex constants.
879
880 2004-02-24  Paolo Carlini  <pcarlini@suse.de>
881
882         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
883         Prefer basic_string::append to operator+= and a temporary.
884
885 2004-02-23  Benjamin Kosnik  <bkoz@redhat.com>
886
887         * libsupc++/vterminate.cc (__gnu_cxx::__verbose_terminate_handler):
888         Only use fputs, not write.
889         
890 2004-02-23  Benjamin Kosnik  <bkoz@redhat.com>
891
892         * include/ext/malloc_allocator.h: Add operators ==, !=.
893         * include/ext/new_allocator.h: Add operators ==, !=.
894         * include/ext/mt_allocator.h (__mt_alloc::tune): New.
895         (__mt_alloc::_S_get_options): New.
896         (__mt_alloc::_S_set_options): New.      
897         (__mt_alloc::_S_thread_key_destr): To _S_destroy_thread_key.
898         (__mt_alloc::_S_no_of_bins): To _S_bin_size.
899         Move functions out of line, simplify, format.
900         * src/allocator.cc: Simplify explicit instantiations.
901         * include/bits/allocator.h: Tweak.
902         
903 2004-02-22  Paolo Carlini  <pcarlini@suse.de>
904
905         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
906         Restructure formatting of value component, first dealing with
907         the non-decimal digits; use reserve.
908
909 2004-02-22  Paolo Carlini  <pcarlini@suse.de>
910
911         * include/bits/locale_facets.h (class money_get): Inherit
912         from money_base too; tweak declaration of _M_extract, now
913         parameterized on _Intl too.
914         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
915         Update definition to use the cache; call reserve on __res to
916         avoid multiple reallocations; fix parsing of sign component
917         according to 22.2.6.1.2, p3.
918         (money_get<>::do_get(long double&),
919         money_get<>::do_get(string_type&)): Update calls of _M_extract. 
920         * src/locale-inst.cc:  Add instantiations of
921         money_get::_M_extract<false> and money_get::_M_extract<true>.
922         * testsuite/22_locale/money_get/get/char/14.cc: New.
923         * testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto.
924         
925 2004-02-21  Mark Mitchell  <mark@codesourcery.com>
926
927         * libsupc++/vterminate.cc
928         (__gnu_cxx::__verbose_terminate_handler): Guard against recursive
929         calls to terminate.
930         * src/demangle.cc (__cxa_demangle): Wrap in try-catch block.
931
932         * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
933         not set RLIMIT_AS on HP-UX.
934
935 2004-02-21  Mark Mitchell  <mark@codesourcery.com>
936
937         * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
938         not set RLIMIT_AS on HP-UX.
939
940 2004-02-21  Paolo Carlini  <pcarlini@suse.de>
941
942         * include/bits/locale_facets.h (class money_base): Add { _S_minus,
943         _S_zero, _S_end } enum, _S_atoms.
944         (struct __moneypunct_cache<>): Parameterize on _Intl too; add
945         _M_grouping_size, _M_curr_symbol_size, _M_positive_sign_size,
946         _M_negative_sign_size, _M_atoms; tweak constructor consistently.
947         (__moneypunct_cache<>::~__moneypunct_cache): Update.
948         (__moneypunct_cache<>::_M_cache): Fill the cache.
949         (class moneypunct): Tweak __cache_type typedef.
950         (class money_put): Inherit from money_base too; tweak declaration
951         of _M_insert, now parameterized on _Intl.
952         * include/bits/locale_facets.tcc
953         (struct __use_cache<__moneypunct_cache<_CharT, _Intl> >): New.
954         (money_put<>::_M_insert): Update definition to use the cache;
955         call reserve on __res to avoid multiple reallocations.
956         (money_put<>::do_put(long double),
957         money_put<>::do_put(const string_type&): Update calls of _M_insert.
958         * config/locale/generic/monetary_members.cc
959         (moneypunct<char, true>::_M_initialize_moneypunct,
960         moneypunct<char, false>::_M_initialize_moneypunct,
961         moneypunct<wchar_t, true>::_M_initialize_moneypunct,
962         moneypunct<wchar_t, false>::_M_initialize_moneypunct): Update.
963         * config/locale/gnu/monetary_members.cc: Likewise.
964         * config/locale/gnu/monetary_members.cc
965         (moneypunct<wchar_t, true>::~moneypunct(),
966         moneypunct<wchar_t, false>::~moneypunct()): Likewise.
967         * src/globals_locale.cc: Tweak fake_money_cache_c.
968         * src/locale-inst.cc: Add instantiations for
969         money_put::_M_insert<false> and money_put::_M_insert<true> and
970         __moneypunct_cache<C, false>, __moneypunct_cache<C, true>.
971         * src/locale_facets.cc: Define money_base::_S_atoms.
972         * src/locale_init.cc: Update placement new of
973         __moneypunct_cache<char, false>, __moneypunct_cache<char, true>,
974         __moneypunct_cache<wchar_t, false>, __moneypunct_cache<wchar_T, true>.
975
976         * config/locale/generic/numeric_members.cc: Clean up.
977         * config/locale/gnu/numeric_members.cc: Likewise.
978         * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
979         * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
980         * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
981         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
982         * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
983         * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
984
985 2004-02-20  Mark Mitchell  <mark@codesourcery.com>
986
987         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Open
988         FIFO for writing with ios_base::in|ios_base::out.
989         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
990         * testsuite/27_io/objects/char/7.cc: Likewise.
991         * testsuite/27_io/objects/char/9661-1.cc: Open FIFO for writing
992         with "r+".
993
994 2004-02-19  David Edelsohn  <edelsohn@gnu.org>
995
996         * 22_locale/collate/compare/wchar_t/2.cc: Change input-charset
997         from iso-8859-1 to ISO8859-1.
998         * 22_locale/collate/compare/wchar_t/wrapped_env.cc: Same.
999         * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: Same.
1000         * 22_locale/collate/hash/wchar_t/2.cc: Same.
1001         * 22_locale/collate/hash/wchar_t/wrapped_env.cc: Same.
1002         * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: Same.
1003         * 22_locale/collate/transform/wchar_t/2.cc: Same.
1004         * 22_locale/collate/transform/wchar_t/wrapped_env.cc: Same.
1005         * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: Same.
1006
1007 2004-02-18  Paolo Carlini  <pcarlini@suse.de>
1008
1009         * include/bits/locale_facets.h (money_get<>::_M_extract):
1010         New, helper for do_get.
1011         (money_put<>::_M_insert): Likewise, for do_put.
1012         * include/bits/locale_facets.tcc (money_get<>::_M_extract,
1013         money_put<>::_M_insert): Define.
1014         (money_get<>::do_get(long double&), money_get<>::do_get(
1015         string_type&), money_put::do_put(long double),
1016         money_put::do_put(const string_type&)): Use the helpers.
1017
1018 2004-02-18  Paolo Carlini  <pcarlini@suse.de>
1019
1020         * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
1021         Rewrite, avoiding recursion.
1022         (__gnu_internal::xwrite): Minor tweaks.
1023
1024 2004-02-17  Stefan Olsson  <stefan@xapa.se>
1025
1026         * include/ext/mt_allocator.h: Removed the last
1027         pointer. Deallocated blocks are now added to the front of
1028         freelists as proposed by Felix Yen.  This gives roughly 10%
1029         performance boost and saves some memory.
1030         * docs/html/ext/mt_allocator.html: Change due to that deallocated
1031         blocks now are added to the front of freelists. The reason to this
1032         approach is also explained.
1033
1034 2004-02-17  Paolo Carlini  <pcarlini@suse.de>
1035
1036         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
1037         num_get<>::_M_extract_int, money_get<>::do_get): Simplify
1038         grouping fidelity conditional.
1039
1040 2004-02-16  Paolo Carlini  <pcarlini@suse.de>
1041
1042         * testsuite/27_io/basic_filebuf/overflow/char/13858.cc:
1043         Qualify exception with std::.
1044         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto.
1045         * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
1046         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
1047         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
1048         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
1049
1050 2004-02-16  Paolo Carlini  <pcarlini@suse.de>
1051
1052         * testsuite/ext/enc_filebuf/char/13189.cc: Don't check
1053         for now that the catch block is not reached.
1054         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
1055
1056 2004-02-16  Paolo Carlini  <pcarlini@suse.de>
1057
1058         * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
1059         Fix parsing of the remaining sign characters.
1060         * 22_locale/money_get/get/char/2.cc: Tweak: now, correctly,
1061         the input is scanned 'til eof.
1062         * 22_locale/money_get/get/char/4.cc: Likewise.
1063         * 22_locale/money_get/get/wchar_t/2.cc: Likewise.
1064         * 22_locale/money_get/get/wchar_t/4.cc: Likewise.
1065         * 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format,
1066         not do_pos_format: the former is the only one that matters during
1067         input.
1068         * 22_locale/money_get/get/wchar_t/8.cc: Likewise.
1069
1070         * 22_locale/money_get/get/char/6.cc: Minor tweak.
1071         * 22_locale/money_get/get/wchar_t/6.cc: Likewise.
1072
1073 2004-02-15  David Asher  <david.asher@cavium.com>
1074
1075         PR libstdc++/11352
1076         * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't
1077         access __olds beyond __oldlen.
1078
1079 2004-02-14  Paolo Carlini  <pcarlini@suse.de>
1080
1081         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make
1082         sure the exception is actually thrown.
1083         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
1084         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
1085         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
1086
1087 2004-02-14  Paolo Carlini  <pcarlini@suse.de>
1088
1089         PR libstdc++/13858
1090         * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
1091         In case of conversion errors, throw ios_failure; simplify.
1092         * testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
1093         * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
1094         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
1095         previously we didn't throw in case of conversion errors, instead
1096         just returned eof().
1097         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
1098         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
1099         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
1100
1101         * include/bits/fstream.tcc (basic_filebuf<>::overflow):
1102         Trivial simplification of a conditional.
1103
1104 2004-02-12  Paolo Carlini  <pcarlini@suse.de>
1105
1106         PR libstdc++/13731 (final part: writev)
1107         * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
1108         New, a wrapper around writev() handling partial writes.
1109         (__basic_file<char>::xwrite): Move to __gnu_internal and make
1110         static.
1111         (__basic_file<char>::xsputn): Update call.
1112         (__basic_file<char>::xsputn_2): Likewise.       
1113         * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
1114         Don't declare, now static.
1115
1116 2004-02-11  Stefan Olsson  <stefan@xapa.se>
1117
1118         * docs/html/ext/mt_allocator.html: New.
1119
1120 2004-02-11  Benjamin Kosnik  <bkoz@redhat.com>
1121
1122         * docs/html/20_util/allocator.html: New file, consolidate
1123         allocator information here. Revamp.
1124         * docs/html/documentation.html: Change links.
1125         * docs/html/20_util/howto.html: Same.
1126         * docs/html/ext/howto.html: Same.
1127
1128 2004-02-11  Paolo Carlini  <pcarlini@suse.de>
1129
1130         PR libstdc++/13731 (first part: write)
1131         * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
1132         New, declare.
1133         * config/io/basic_file_stdio.cc (__basic_file<char>::xwrite):
1134         Define it: a wrapper around write() handling partial write.
1135         (__basic_file<char>::xsputn): Use it.
1136         (__basic_file<char>::xsputn_2): Likewise.
1137
1138 2004-02-11  Paolo Carlini  <pcarlini@suse.de>
1139             Petur Runolfsson  <peturr02@ru.is>
1140
1141         PR libstdc++/14078
1142         * include/std/std_istream.h (operator>>(__istream_type& (*)
1143         (__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
1144         operator>>(ios_base& (*)(ios_base&))): Declare inline.
1145         * include/std/std_ostream.h (operator<<(__ostream_type& (*)
1146         (__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
1147         operator<<(ios_base& (*) (ios_base&))): Likewise.
1148         * testsuite/performance/27_io/fmtflags_manipulators.cc: New.
1149
1150 2004-02-10  Loren J. Rittle  <ljrittle@acm.org>
1151
1152         PR libstdc++/14098
1153         * config/linker-map.gnu: Add typeinfo and typeinfo name for
1154         __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.
1155
1156         PR libstdc++/14097
1157         * config/linker-map.gnu: Add typeinfo and typeinfo name for
1158         __gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.
1159
1160 2004-02-09  Loren J. Rittle  <ljrittle@acm.org>
1161
1162         * include/ext/pool_allocator.h: Include c++config.h.
1163
1164 2004-02-09  Stefan Olsson  <stefan@xapa.se>
1165
1166         * include/ext/mt_allocator.h: thread_id is unused in non threaded
1167         applications and now has a ifdef to remove it completely on
1168         compilers without thread support. Include stdlib.h due to a
1169         compiler warning on getenv().
1170
1171 2004-02-09  Paul Brook  <paul@codesourcery.com>
1172
1173         * libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
1174
1175 2004-02-09  Paolo Carlini  <pcarlini@suse.de>
1176
1177         PR libstdc++/14071
1178         * src/locale_init.cc (locale::global(const locale&)): Use
1179         locale::name() in order to decide whether calling setlocale.
1180         * testsuite/22_locale/locale/global_locale_objects/14071.cc: New.
1181
1182         * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
1183         Avoid computing &= unnecessarily.
1184
1185 2004-02-09  James E Wilson  <wilson@specifixinc.com>
1186
1187         PR libstdc++/5625
1188         * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
1189         __builtin_extend_pointer.
1190
1191 2004-02-09  Paolo Carlini  <pcarlini@suse.de>
1192
1193         PR libstdc++/14072
1194         * include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
1195         Don't leave dangling pointers.
1196         * testsuite/27_io/basic_ios/imbue/14072.cc: New.
1197         * testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
1198         facet is needed in the final test.
1199
1200 2004-02-09  Bernardo Innocenti  <bernie@develer.com>
1201
1202         * crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
1203         * configure: Regenerate.
1204
1205 2004-02-08  Richard Henderson  <rth@redhat.com>
1206
1207         PR libstdc++/14026
1208         * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust 
1209         uncaughtExceptions during nested catch rethrow.
1210         * testsuite/18_support/14026.cc: New.
1211
1212 2004-02-08  Paolo Carlini  <pcarlini@suse.de>
1213
1214         * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
1215         When working in place remember to set the state to sharable
1216         (otherwise, _M_mutate does it).
1217
1218 2004-02-08  Bernardo Innocenti  <bernie@develer.com>
1219
1220         * include/bits/allocator.h, include/bits/basic_ios.h,
1221         include/bits/basic_ios.tcc, include/bits/basic_string.h,
1222         include/bits/basic_string.tcc, include/bits/boost_concept_check.h,
1223         include/bits/char_traits.h, include/bits/codecvt.h,
1224         include/bits/concurrence.h, include/bits/cpp_type_traits.h,
1225         include/bits/demangle.h, include/bits/deque.tcc,
1226         include/bits/fstream.tcc, include/bits/functexcept.h,
1227         include/bits/gslice.h, include/bits/gslice_array.h,
1228         include/bits/indirect_array.h, include/bits/ios_base.h,
1229         include/bits/istream.tcc, include/bits/list.tcc,
1230         include/bits/locale_classes.h, include/bits/locale_facets.h,
1231         include/bits/locale_facets.tcc, include/bits/localefwd.h,
1232         include/bits/mask_array.h, include/bits/ostream.tcc,
1233         include/bits/postypes.h, include/bits/slice_array.h,
1234         include/bits/sstream.tcc, include/bits/stl_algo.h,
1235         include/bits/stl_algobase.h, include/bits/stl_bvector.h,
1236         include/bits/stl_construct.h, include/bits/stl_deque.h,
1237         include/bits/stl_function.h, include/bits/stl_heap.h,
1238         include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
1239         include/bits/stl_list.h, include/bits/stl_map.h,
1240         include/bits/stl_multimap.h, include/bits/stl_multiset.h,
1241         include/bits/stl_numeric.h, include/bits/stl_pair.h,
1242         include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
1243         include/bits/stl_relops.h, include/bits/stl_set.h,
1244         include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
1245         include/bits/stl_threads.h, include/bits/stl_tree.h,
1246         include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
1247         include/bits/stream_iterator.h, include/bits/streambuf.tcc,
1248         include/bits/streambuf_iterator.h,include/bits/stringfwd.h,
1249         include/bits/type_traits.h, include/bits/valarray_after.h,
1250         include/bits/valarray_array.h, include/bits/valarray_array.tcc,
1251         include/bits/valarray_before.h, include/bits/vector.tcc: Remove
1252         trailing whitespace.
1253
1254 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
1255
1256         * include/bits/basic_string.h: Fix comment.
1257
1258 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
1259
1260         * include/bits/stl_construct.h: Wrap overlong lines, reformat
1261         according to the coding standards.
1262         * include/bits/stl_pair.h: Likewise.
1263         * include/bits/stl_raw_storage_iter.h: Likewise.
1264         * include/bits/stl_stack.h: Likewise.
1265         * include/bits/stl_uninitialized.h: Likewise.
1266         * include/bits/stream_iterator.h: Likewise.
1267         * include/bits/streambuf_iterator.h: Likewise.
1268         * include/bits/type_traits.h: Likewise.
1269
1270 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
1271
1272         * testsuite/27_io/basic_filebuf/open/char/9507.cc:
1273         Adjust timings.
1274
1275 2004-02-05  Loren J. Rittle  <ljrittle@acm.org>
1276
1277         * scripts/check_performance: Support PCH.
1278
1279         * scripts/check_performance (CXX): Add -DNOTHREAD.
1280         * testsuite/performance/20_util/allocator/insert.cc: Integrate
1281         threaded tests from insert_insert.cc.  Tweak iterations,
1282         remove special cases.
1283         * testsuite/performance/20_util/allocator/insert_insert.cc:
1284         Make all tests single-threaded. Tweak iterations.
1285         * testsuite/performance/20_util/allocator/map_thread.cc:
1286         Tweak iterations.
1287         * testsuite/performance/20_util/allocator/producer_consumer.cc:
1288         Likewise.
1289
1290 2004-02-05  Geoffrey Keating  <geoffk@apple.com>
1291
1292         PR 12179
1293         * .cvsignore: New.
1294         * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
1295         'gcc-lib'.  Add comment about poorly-named variables.
1296         * aclocal.m4: Regenerate.
1297         * configure: Regenerate.
1298
1299 2004-02-05  Paolo Carlini  <pcarlini@suse.de>
1300
1301         * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
1302         Thousands-sep are always optional; thousands-sep are not allowed
1303         after the decimal_point.
1304         * testsuite/22_locale/money_get/get/char/12.cc: New.
1305         * testsuite/22_locale/money_get/get/char/13.cc: New.
1306         * testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
1307         * testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
1308
1309         * testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
1310         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
1311         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
1312         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
1313         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
1314         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
1315         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
1316         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
1317
1318         * testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
1319         the standard.
1320         * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
1321
1322 2004-02-05  Richard Sandiford  <rsandifo@redhat.com>
1323
1324         * config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
1325         Define.
1326         * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
1327         it to decide whether FIONREAD should take an off_t or int argument.
1328
1329 2004-02-05  Paolo Carlini  <pcarlini@suse.de>
1330
1331         * include/bits/stl_function.h: Minor formatting changes.
1332
1333 2004-02-04  Zack Weinberg  <zack@codesourcery.com>
1334
1335         Revert previous change to config/abi/*/baseline_symbols.txt.
1336
1337 2004-02-04  Benjamin Kosnik  <bkoz@redhat.com>
1338             Zack Weinberg  <zack@codesourcery.com>
1339
1340         * config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
1341         New function.
1342         (__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
1343         (__basic_file<char>::_M_open_mode): Delete.
1344         * config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
1345
1346         * testsuite/27_io/basic_filebuf/close/char/9964.cc
1347         * testsuite/27_io/basic_filebuf/open/char/9507.cc:
1348         Correct flags to filebuf::open calls.
1349
1350         * config/abi/alpha-freebsd5/baseline_symbols.txt
1351         * config/abi/alpha-linux-gnu/baseline_symbols.txt
1352         * config/abi/hppa-linux-gnu/baseline_symbols.txt
1353         * config/abi/i386-freebsd4/baseline_symbols.txt
1354         * config/abi/i386-freebsd5/baseline_symbols.txt
1355         * config/abi/i486-linux-gnu/baseline_symbols.txt
1356         * config/abi/ia64-linux-gnu/baseline_symbols.txt
1357         * config/abi/mips-linux-gnu/baseline_symbols.txt
1358         * config/abi/sparc-freebsd5/baseline_symbols.txt
1359         * config/abi/sparc-linux-gnu/baseline_symbols.txt
1360         * config/abi/x86_64-linux-gnu/baseline_symbols.txt:
1361         Remove entry for __basic_file<char>::_M_open_mode.
1362
1363 2004-02-04  Loren J. Rittle  <ljrittle@acm.org>
1364
1365         * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
1366
1367 2004-02-04  Felix Yen  <fwy@alumni.brown.edu>
1368
1369         * testsuite/performance/20_util/producer_consumer.cc: New.
1370         * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
1371
1372 2004-02-04  Benjamin Kosnik  <bkoz@redhat.com>
1373
1374         * testsuite/performance/20_util/allocator.cc: Move to..
1375         * testsuite/performance/20_util/allocator/insert.cc: ...here.
1376         * testsuite/performance/20_util/allocator_thread.cc: Move to...
1377         * testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
1378         * testsuite/performance/20_util/allocator_map_thread.cc: Move to...
1379         * testsuite/performance/20_util/allocator/map_thread.cc: ...here.
1380
1381 2004-02-04  Jonathan Wakely  <redi@gcc.gnu.org>
1382
1383         * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
1384         * docs/html/faq/index.txt: Regenerate.
1385
1386 2004-02-04  Dhruv Matani  <dhruvbird@gmx.net>
1387
1388         * include/ext/debug_allocator.h: _M_extra now stands for the
1389         number of extra objects instead of the number of extra bytes.
1390         (debug_allocator::allocate): Adjust.
1391         (debug_allocator::deallocate): Adjust.
1392
1393         * include/ext/pool_allocator.h: Fix typo.
1394
1395 2004-02-03  Felix Yen  <fwy@alumni.brown.edu>
1396             Benjamin Kosnik  <bkoz@redhat.com>
1397
1398         * testsuite/performance/20_util/allocator.cc: Add map,
1399         deque, set tests.
1400         * testsuite/performance/20_util/allocator_thread.cc: Same.
1401
1402 2004-02-03  Paolo Carlini  <pcarlini@suse.de>
1403
1404         * include/bits/basic_string.h (insert(iterator)): Remove,
1405         non-standard and already scheduled for removal.
1406
1407 2004-02-03  Paolo Carlini  <pcarlini@suse.de>
1408
1409         * include/bits/stl_iterator_base_funcs.h: Minor formatting
1410         and indentation tweaks.
1411         * include/bits/stl_iterator_base_types.h: Likewise.
1412         * include/bits/stl_list.h: Likewise.
1413         * include/bits/stl_map.h: Likewise.
1414         * include/bits/stl_tempbuf.h: Likewise.
1415
1416 2004-02-02  Jerry Quinn  <jlquinn@optonline.net>
1417
1418         * include/bits/gslice.h, include/bits/gslice_array.h,
1419         include/bits/indirect_array.h, include/bits/mask_array.h,
1420         include/bits/slice_array.h, include/bits/stl_numeric.h,
1421         include/std/std_valarray.h:  Update copyright years.
1422
1423 2004-02-02  Jerry Quinn  <jlquinn@optonline.net>
1424
1425         * include/bits/gslice.h (gslice):  Document.
1426         * include/bits/gslice_array.h (gslice_array):  Document.
1427         * include/bits/indirect_array (indirect_array):  Document.
1428         * include/bits/mask_array (mask_array):  Document.
1429         * include/bits/slice_array.h (slice,slice_array):  Document.
1430         * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
1431         adjacent_difference):  Document
1432         * include/std/std_valarray.h (valarray):  Document.
1433
1434 2004-02-02  Benjamin Kosnik  <bkoz@redhat.com>
1435
1436         * docs/html/19_diagnostics/howto.html: Move verbose terminate
1437         documentation...
1438         * docs/html/18_support/howto.html: Here.
1439         * docs/html/documentation.html: Add reference here.
1440
1441 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
1442
1443         * config/locale/gnu/c++locale_internal.h: Remove prototypes
1444         of no longer used GLIBC thread locale functions.
1445
1446 2004-02-02  Eric Christopher  <echristo@redhat.com>
1447             Zack Weinberg  <zack@codesourcery.com>
1448
1449         * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
1450         -finput-charset.
1451         * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
1452         * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
1453         * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
1454         * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
1455         * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
1456         * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
1457         * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
1458         * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
1459         Ditto.
1460
1461 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
1462
1463         * include/bits/stl_function.h: Additional minor tweaks.
1464         * include/bits/stl_multiset.h: Likewise.
1465
1466         * include/bits/stl_queue.h: Minor tweaks.
1467
1468 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
1469
1470         PR libstdc++/13976 (continued)
1471         * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
1472         Make the second parameter unnamed, to void unused parameter
1473         warnings.
1474         * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
1475
1476 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
1477
1478         PR libstdc++/13976
1479         * include/ext/malloc_allocator.h (malloc_allocator::allocate):
1480         Make the second parameter unnamed, to void unused parameter
1481         warnings.
1482         * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
1483         * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
1484
1485 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
1486
1487         * include/bits/stl_algo.h: Additional minor tweaks.
1488         * include/bits/stl_map.h: Likewise.
1489         * include/bits/stl_multimap.h: Likewise.
1490         * include/bits/stl_multiset.h: Likewise.
1491         * include/bits/stl_set.h: Likewise.
1492         * include/bits/stl_tree.h: Likewise.
1493
1494 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
1495
1496         * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
1497         Remove, unused.
1498
1499 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
1500
1501         * include/bits/stl_function.h: Additional minor tweaks.
1502
1503 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
1504
1505         * include/bits/deque.tcc: Wrap overlong lines, constify
1506         a few variables, reformat according to the coding standards.
1507         * include/bits/list.tcc: Likewise.
1508         * include/bits/stl_deque.h: Likewise.
1509         * include/bits/stl_function.h: Likewise.
1510         * include/bits/stl_iterator.h: Likewise.
1511         * include/bits/stl_iterator_base_funcs.h: Likewise.
1512         * include/bits/stl_iterator_base_types.h: Likewise.
1513         * include/bits/stl_list.h: Likewise.
1514         * include/bits/stl_map.h: Likewise.
1515         * include/bits/stl_multimap.h: Likewise.
1516         * include/bits/stl_multiset.h: Likewise.
1517         * include/bits/stl_relops.h: Likewise.
1518         * include/bits/stl_set.h: Likewise.
1519
1520 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
1521
1522         * include/bits/stl_bvector.h: Wrap overlong lines, constify
1523         a few variables, reformat according to the coding standards.
1524         * include/bits/stl_tree.h: Likewise.
1525
1526 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
1527
1528         * include/bits/stl_algo.h: Minor additional reformat, add
1529         copyright year.
1530         * include/bits/stl_algobase.h: Add copyright year.
1531
1532 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
1533
1534         * include/bits/stl_algo.h: Wrap overlong lines, constify
1535         a few variables, reformat according to the coding standards.
1536         * include/bits/stl_algobase.h: Likewise.
1537         * include/bits/stl_heap.h: Likewise.
1538
1539 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
1540
1541         * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
1542
1543         * include/bits/basic_string.h: Fix two comments.
1544
1545 2004-01-31  Per Bothner  <per@bothner.com>
1546
1547         * include/ext/mt_allocator.h
1548         (__mt_alloc::_S_thread_freelist_mutex): Guard with
1549         __GTHREAD_MUTEX_INIT.
1550
1551 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
1552
1553         * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
1554
1555 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
1556
1557         * testsuite/21_strings/basic_string/cons/char/6.cc: New.
1558         * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
1559         * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
1560
1561 2004-01-30  Felix Yen  <fwy@alumni.brown.edu>
1562
1563         * testsuite/performance/20_util/allocator_thread.cc (do_loop):
1564         Don't use clear, but instead assign. Use insert.
1565
1566 2004-01-30  Benjamin Kosnik  <bkoz@redhat.com>
1567
1568         * src/demangle.cc: Add instantiations.
1569         * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
1570         * src/Makefile.in: Regenerate.
1571
1572 2004-01-30  David Edelsohn  <edelsohn@gnu.org>
1573
1574         * src/allocator.cc: Protect _S_get_thread_id() and
1575         _S_thread_key_destr() with #ifdef __GTHREADS.
1576
1577 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
1578
1579         Reshuffle performance testsuite.
1580         * testsuite/performance/allocator.cc, allocator_map_thread.cc,
1581         allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
1582         cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
1583         fstream_seek_write.cc, ifstream_extract_float.cc,
1584         ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
1585         list_create_fill_sort.cc, map_create_fill.cc,
1586         narrow_widen_char.cc, narrow_widen_wchar_t.cc,
1587         ofstream_insert_float.cc, ofstream_insert_int.cc,
1588         string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
1589         wchar_t_out.cc: Split into...
1590         * testsuite/performance/20_util/allocator.cc: New.
1591         * testsuite/performance/20_util/allocator_map_thread.cc: New.
1592         * testsuite/performance/20_util/allocator_thread.cc: New.
1593         * testsuite/performance/21_strings/string_append: New.
1594         * testsuite/performance/22_locale/is_wchar_t.cc: New.
1595         * testsuite/performance/22_locale/narrow_widen_char.cc: New.
1596         * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
1597         * testsuite/performance/22_locale/wchar_t_in.cc: New.
1598         * testsuite/performance/22_locale/wchar_t_length.cc: New.
1599         * testsuite/performance/22_locale/wchar_t_out.cc: New.
1600         * testsuite/performance/23_containers/container_benchmark.cc: New.
1601         * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
1602         * testsuite/performance/23_containers/map_create_fill.cc: New.
1603         * testsuite/performance/26_numerics/complex_norm.cc: New.
1604         * testsuite/performance/27_io/cout_insert_int.cc: New.
1605         * testsuite/performance/27_io/filebuf_copy.cc: New.
1606         * testsuite/performance/27_io/filebuf_sputc.cc: New.
1607         * testsuite/performance/27_io/fstream_seek_write.cc: New.
1608         * testsuite/performance/27_io/ifstream_extract_float.cc: New.
1609         * testsuite/performance/27_io/ifstream_extract_int.cc: New.
1610         * testsuite/performance/27_io/ifstream_getline.cc: New.
1611         * testsuite/performance/27_io/ofstream_insert_float.cc: New.
1612         * testsuite/performance/27_io/ofstream_insert_int.cc: New.
1613
1614 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
1615
1616         * include/bits/basic_string.tcc (_Rep::_S_create):
1617         Never allocate a string bigger than max_size(); always keep
1618         __capacity and __size in sync to avoid memory leaks at
1619         deallocation time.
1620
1621 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
1622
1623         * include/bits/basic_string.tcc (_S_construct(_InIterator,
1624         _InIterator, const _Alloc&, input_iterator_tag)): Simplify
1625         the double loop, streamline.
1626
1627         * include/bits/basic_string.tcc: Very minor tweaks.
1628
1629 2004-01-30  Loren J. Rittle  <ljrittle@acm.org>
1630
1631         * scripts/check_performance: Only compile with $THREAD_FLAG
1632         when test is marked to require it.  Allow multiple
1633         compilations/executions of marked tests.
1634         * testsuite/testsuite_performance.h (report_performance):
1635         Report dynamic thread support status.
1636         (report_header): Likewise.
1637         * testsuite/performance/allocator.cc: Stabilize iteration
1638         count.  Support more allocators.  Mark each allocator test to
1639         run and report independently.
1640         * testsuite/performance/allocator_map_thread.cc: Likewise.
1641         * testsuite/performance/allocator_thread.cc: Likewise.
1642
1643 2004-01-29  Stephen M. Webb  <stephen.webb@bregmasoft.com>
1644
1645         * config/local/generic/c_locale.h: Change ::malloc() to new char[].
1646         * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
1647         * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
1648         std::get_temporary_buffer() instead of duplicating its code.
1649         Update to C++STYLE conventions.
1650         * include/std/std_memory.h (get_temporary_buffer): Use ::operator
1651         new() instead of std::malloc().
1652         (return_temporary_buffer): Use ::operator delete() instead of
1653         std::free().
1654
1655 2004-01-29  Benjamin Kosnik  <bkoz@redhat.com>
1656
1657         * include/bits/allocator.h: Temporary switch to new_allocator as
1658         the default to unjam bootstraps.
1659
1660 2004-01-28  Benjamin Kosnik  <bkoz@redhat.com>
1661
1662         * include/Makefile.am (bits_headers): Remove allocator_traits.h.
1663         * include/Makefile.in: Regenerate.
1664         * include/bits/allocator_traits.h: Remove.
1665         * include/bits/allocator.h: Remove allocator_traits.h include, and
1666         relevant comments.
1667         (allocator): Empty base class, inherit from the underlying allocator.
1668         * src/allocator-inst.cc: Move __pool_alloc instantiation to...
1669         * src/allocator.cc: ...here. New. For the underlying allocators.
1670         Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
1671         * config/linker-map.gnu: Remove __pool_alloc bits.
1672         * src/Makefile.am (sources): Add allocator.cc.
1673         * src/Makefile.in: Regenerate.
1674         * testsuite/20_util/allocator/1.cc: Split second test into...
1675         * testsuite/20_util/allocator/8230.cc: ...this.
1676         * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
1677         typedef to use std::allocatore. Format.
1678         * include/ext/pool_allocator.h: Remove allocator_traits.h include,
1679         _Alloc_traits.
1680         * include/ext/mt_allocator.h (__gnu_cxx): Qualify
1681         __throw_bad_alloc calls. Don't include <memory>.
1682         * include/ext/malloc_allocator.h: Remove <memory> include.
1683         * include/ext/new_allocator.h (new_allocator): Same.
1684         * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
1685         declaration. Switch __alloc to _Alloc.
1686         * include/ext/hashtable.h: Remove __alloc.
1687         * include/backward/alloc.h: Only inject allocator, not
1688         implementation details.
1689
1690         * include/ext/mt_allocator.h: Replace free with delete.
1691
1692 2004-01-28  Benjamin Kosnik  <bkoz@redhat.com>
1693
1694         * src/globals_io.cc: Change to __gnu_internal namespace.
1695         * src/globals_locale.cc: Same.
1696         * src/locale_init.cc: Same.
1697         * src/ios_init.cc: Same.
1698
1699 2004-01-28  Stefan Olsson  <stefan@snon.net>
1700
1701         * include/ext/mt_allocator.h: Replaced all malloc() calls with
1702         operator new(). Added support for the env variable
1703         GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
1704         one in allocate() as well). Fix typos.
1705
1706 2004-01-28  Paolo Carlini  <pcarlini@suse.de>
1707
1708         * include/bits/basic_string.h (_S_create(size_t,
1709         const _Alloc&): Change signature to take two size_type
1710         arguments.
1711         * include/bits/basic_string.tcc (_S_construct(_InIterator,
1712         _InIterator, const _Alloc&, input_iterator_tag)): Update
1713         call, tweak a bit.
1714         (_S_construct(_InIterator, _InIterator, const _Alloc&,
1715         forward_iterator_tag)): Likewise.
1716         (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
1717         (_M_mutate(size_type, size_type, size_type)): Don't
1718         implement the exponential growth policy, demand it to
1719         _S_create, update call and simplify.
1720         (_M_clone(const _Alloc&, size_type)): Likewise.
1721         (_S_create(size_type, size_type, const _Alloc&)): Implement
1722         the growth policy, simplify otherwise.
1723
1724         * include/bits/basic_string.h (_Rep::operator[]): Tweak
1725         signature to take a size_type, consistently with the other
1726         members.
1727
1728 2004-01-27  Benjamin Kosnik  <bkoz@redhat.com>
1729
1730         * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
1731         delete declarations, add include and test variable.
1732
1733 2003-01-27  Jerry Quinn  <jlquinn@optonline.net>
1734
1735         * include/bits/codecvt.h, include/bits/locale_facets.h,
1736         include/bits/postypes.h, include/bits/stl_bvector.h,
1737         include/bits/stl_multiset.h, include/bits/stl_set.h,
1738         include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
1739         include/std/std_complex.h:  Document.
1740
1741 2004-01-27  Jerry Quinn  <jlquinn@optonline.net>
1742
1743         PR libstdc++/11584
1744         * include/bits/ios_base.h (ios_base::_M_grow_words):  Add
1745         iword/pword selector.
1746         (ios_base::iword, ios_base::pword):  Use it.
1747         * src/ios.cc (ios_base::_M_grow_words):  Clear _M_word_zero
1748         iword or pword member on alloc failure.
1749         * testsuite/27_io/ios_base/storage/11584.cc:  New test.
1750
1751 2004-01-27  Ulrich Weigand  <uweigand@de.ibm.com>
1752             PJ Darcy  <darcypj@us.ibm.com>
1753
1754         * configure.host: Add support for *-tpf.
1755         * crossconfig.m4: Likewise.
1756         * configure: Regenerate.
1757         * config/os/tpf: New directory.
1758         * config/os/tpf/os_defines.h: New file.
1759         * config/os/tpf/ctype_base.h: Likewise.
1760         * config/os/tpf/ctype_inline.h: Likewise.
1761         * config/os/tpf/ctype_noninline.h: Likewise.
1762
1763 2004-01-27  Paolo Carlini  <pcarlini@suse.de>
1764
1765         PR libstdc++/13884
1766         * include/bits/sstream.tcc: Guard use of extern template.
1767
1768 2004-01-27  Paolo Carlini  <pcarlini@suse.de>
1769
1770         * include/bits/basic_string.tcc
1771         (basic_string(const basic_string&, size_type, size_type),
1772         basic_string(const basic_string&, size_type, size_type,
1773         const _Alloc&)): Avoid unnecessarily constructing iterators.
1774
1775 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
1776
1777         * config/locale/generic/c_locale.cc: Fix throw messages
1778         to use the __N marker.
1779         * config/locale/gnu/c_locale.cc: Likewise.
1780         * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
1781         Likewise.
1782         * docs/html/17_intro/C++STYLE: Likewise.
1783         * include/bits/basic_ios.tcc: Likewise.
1784         * include/bits/fstream.tcc: Likewise.
1785         * include/bits/vector.tcc: Likewise.
1786         * include/ext/ropeimpl.h: Likewise.
1787         * include/std/std_bitset.h: Likewise.
1788         * src/ios.cc: Likewise.
1789         * src/locale.cc: Likewise.
1790         * src/localename.cc: Likewise.
1791
1792 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
1793
1794         * include/bits/basic_string.h (_M_replace_aux): Use the
1795         __N marker in throw message.
1796         * include/bits/basic_string.tcc (assign(const _CharT*,
1797         size_type), insert(size_type, const _CharT*, size_type),
1798         replace(size_type, size_type, const _CharT*, size_type),
1799         reserve, _Rep::_S_create, resize, _M_replace_dispatch):
1800         Likewise.
1801
1802         * include/bits/basic_string.h, include/bits/basic_string.tcc:
1803         Fold overlong lines, minor formatting changes.
1804
1805 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
1806
1807         * include/bits/basic_string.h (replace(iterator, iterator,
1808         const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
1809         (replace(iterator, iterator, const _CharT*)): Ditto.
1810         (replace(iterator, iterator, const _CharT*, size_type)):
1811         Add missing _GLIBCXX_DEBUG_PEDASSERT.
1812
1813 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
1814
1815         * include/bits/basic_string.tcc (replace(size_type,
1816         size_type, const _CharT*, size_type)): Implement optimized
1817         in-place algorithm for non-overlapping ranges.
1818         * testsuite/21_strings/basic_string/replace/char/6.cc: New.
1819         * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
1820
1821         * include/bits/basic_string.tcc (insert(size_type,
1822         const _CharT*, size_type)): Tweak slightly.
1823
1824 2004-01-26  Andreas Schwab  <schwab@suse.de>
1825
1826         * config/locale/gnu/monetary_members.cc: Restore locale before
1827         rethrowing exception.
1828
1829 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
1830
1831         * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
1832         Define inline here.
1833         * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
1834         Move inline.
1835
1836         * include/bits/basic_string.tcc: Very minor tweaks.
1837
1838 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
1839
1840         * testsuite/performance/string_append.cc: Increase number
1841         of iterations.
1842
1843 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
1844
1845         * include/bits/basic_string.h (erase(size_type, size_type),
1846         erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
1847         instead, thus avoiding redundant check for length_error.
1848
1849         * include/bits/basic_string.h: Tweak some comments.
1850
1851 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
1852
1853         * include/bits/basic_string.tcc (operator+(const _CharT*,
1854         const basic_string&)): No need to go through the append
1855         taking two iterators.
1856
1857 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
1858
1859         * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
1860         Revert last change to use std::min: machine language is worse.
1861         (find_last_of(const _CharT*, size_type, size_type)): Ditto.
1862         (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
1863         (find_last_not_of(_CharT, size_type)): Ditto.
1864
1865         * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
1866         size_type)): Discard the value returned by _M_check.
1867         (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
1868         (append(const basic_string&, size_type, size_type)): Ditto.
1869         (copy(_CharT*, size_type, size_type)): Ditto.
1870         (compare(size_type, size_type, const basic_string&)): Ditto.
1871         (compare(size_type, size_type, const basic_string&,
1872         size_type, size_type)): Ditto.
1873         (compare(size_type, size_type, const _CharT*)): Ditto.
1874         (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
1875
1876 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
1877
1878         * include/bits/basic_string.h (insert(size_type,
1879         const basic_string&, size_type, size_type)): Define inline here.
1880         * include/bits/basic_string.tcc (insert(size_type,
1881         const basic_string&, size_type, size_type)): Move inline.
1882
1883 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
1884
1885         * include/bits/basic_string.h (assign(const basic_string&,
1886         size_type, size_type)): Define inline here.
1887         (replace(size_type, size_type, const basic_string&,
1888         size_type, size_type)): Ditto.
1889         (_M_replace_dispatch(iterator, iterator, _InputIterator,
1890         _InputIterator, __false_type)): Only declare.
1891         (_M_replace(iterator, iterator, _InputIterator,
1892         _InputIterator)): Remove.
1893         * include/bits/basic_string.tcc (assign(const basic_string&,
1894         size_type, size_type)): Move inline.
1895         (replace(size_type, size_type, const basic_string&,
1896         size_type, size_type)): Ditto.
1897         (_M_replace_dispatch(iterator, iterator, _InputIterator,
1898         _InputIterator, __false_type)): Define, now does also what
1899         _M_replace did before.
1900         * src/string-inst.cc (_M_replace): Don't instantiate.
1901
1902         * include/bits/basic_string.tcc (find(const _CharT*,
1903         size_type, size_type)): Tidy.
1904         (rfind(_CharT, size_type)): Ditto.
1905         (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
1906         (find_first_not_of(_CharT, size_type)): Ditto.
1907         (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
1908         (find_last_not_of(_CharT, size_type)): Ditto.
1909
1910 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
1911
1912         PR libstdc++/13838
1913         * include/debug/bitset (operator|=): Fix typo.
1914         * testsuite/23_containers/bitset/operations/13838.cc: New.
1915
1916 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
1917
1918         * include/bits/basic_string.tcc (insert(size_type,
1919         const _CharT*, size_type __n)): Fix length_error check.
1920         (replace(size_type, size_type, const _CharT*, size_type):
1921         Ditto; call _M_replace_safe.
1922         (_M_replace_aux(size_type, size_type, size_type, _CharT):
1923         Fix length_error check.
1924         (_M_replace(iterator, iterator, _InputIterator,
1925         _InputIterator)): Ditto, tweak.
1926         (_M_replace_safe(size_type, size_type, const _CharT*,
1927         size_type)): Remove length_error check.
1928
1929         * include/bits/basic_string.tcc (append(const basic_string&),
1930         append(const basic_string&, size_type, size_type)): Tweak
1931         comment.
1932
1933         * include/bits/basic_string.tcc (copy(_CharT*, size_type,
1934         size_type)): If __n == 0 don't call traits::copy.
1935
1936 2004-01-23  Stefan Olsson  <stefan@snon.net>
1937
1938         * include/ext/mt_allocator.h: Reduce lock contention.
1939
1940 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
1941
1942         PR libstdc++/13831
1943         * include/bits/fstream.tcc (underflow): Remove unused
1944         variable.
1945         * include/bits/streambuf_iterator.h (equal): Ditto.
1946         * include/bits/locale_facets.h (_M_convert_from_char):
1947         Ditto.
1948
1949 2004-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1950
1951         PR c/13814
1952         * config/linker-map.gnu (nan): Delete.
1953         * libmath/mathconf.h (NAN, nan): Delete.
1954         * linkage.m4 (nan): Don't check for it.
1955         * libmath/nan.c: Delete file.
1956
1957         * config.h.in, configure: Regenerate.
1958
1959 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
1960
1961         * include/bits/basic_string.h (push_back(_CharT)):
1962         Call _M_replace_aux.
1963         (insert(size_type, const basic_string&)): Trivial tweak.
1964         (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
1965         (insert(iterator, _CharT)): Ditto.
1966         (erase(size_type, size_type)): Ditto.
1967         (erase(iterator)): Ditto.
1968         (erase(iterator, iterator)): Ditto.
1969         (replace(size_type, size_type, size_type, _CharT)): Ditto.
1970
1971 2004-01-23  Loren J. Rittle  <ljrittle@acm.org>
1972
1973         libstdc++/13823
1974         * testsuite/performance/allocator_map_thread.cc: New test.
1975
1976 2004-01-22  Paolo Carlini  <pcarlini@suse.de>
1977
1978         * include/bits/locale_facets.tcc
1979         (money_put::do_put(..., long double)): Use the basic_string
1980         constructor for char arrays, not that for C-strings, to pass
1981         __digits to do_put(..., const string_type&): __ws isn't
1982         null-terminated.
1983
1984 2004-01-22  Paolo Carlini  <pcarlini@suse.de>
1985
1986         * include/bits/basic_string.h (_M_replace_safe): Change
1987         signatures to take size_types and const _CharT*.
1988         (_M_replace_aux): Likewise, takes size_types instead of
1989         iterators.
1990         (append(size_type, _CharT)): Update call.
1991         (assign(size_type, _CharT)): Ditto.
1992         (replace(iterator, iterator, size_type, _CharT)): Ditto.
1993         (_M_replace_dispatch(iterator, iterator, _Integer,
1994         _Integer, __true_type)): Ditto.
1995         * include/bits/basic_string.tcc (assign(const _CharT*,
1996         size_type)): Ditto.
1997         (insert(size_type, const _CharT*, size_type)): Ditto.
1998         (replace(size_type, size_type, const _CharT*,
1999         size_type)): Ditto.
2000         (_M_replace(iterator, iterator, _InputIterator,
2001         _InputIterator)): Ditto.
2002         (append(const basic_string&)): Ditto.
2003         (append(const basic_string&, size_type, size_type): Ditto.
2004         (append(const _CharT*, size_type): Ditto.
2005         (_M_replace_safe, _M_replace_safe): Change definitions
2006         accordingly, simplify.
2007         * string-inst.cc (_M_replace_safe): Don't instantiate.
2008
2009 2004-01-21  Paolo Carlini  <pcarlini@suse.de>
2010
2011         * include/bits/basic_string.tcc (append(const basic_string&)):
2012         Revert previous change.
2013         (append(const basic_string&, size_type, size_type)): Revert
2014         previous change, use _M_check and _M_limit.
2015
2016 2004-01-21  Paolo Carlini  <pcarlini@suse.de>
2017
2018         * include/bits/basic_string.h (_M_check): Change to return
2019         a checked __pos and take an additional const char* argument.
2020         (_M_fold): Rename to _M_limit, change to return a size_type,
2021         corresponding to the __off limited to the actual length.
2022         (insert(size_type, size_type, _CharT)): Update call, call
2023         replace.
2024         (insert(iterator, _CharT)): Call replace(iterator, iterator,
2025         size_type, _CharT) instead.
2026         (erase(size_type, size_type)): Update calls.
2027         (replace(size_type, size_type, size_type, _CharT)): Ditto.
2028         (substr(size_type, size_type)): Use _M_check.
2029         * include/bits/basic_string.tcc (basic_string(const basic_string&,
2030         size_type, size_type)): Update calls.
2031         (basic_string(const basic_string&, size_type, size_type,
2032         const _Alloc&)): Ditto.
2033         (assign(const basic_string&, size_type, size_type)): Use the
2034         new _M_check and _M_limit.
2035         (insert(size_type, const basic_string&, size_type, size_type):
2036         Ditto.
2037         (insert(size_type, const _CharT*, size_type)): Ditto.
2038         (replace(size_type, size_type, const _CharT*, size_type): Ditto.
2039         (replace(size_type, size_type, const basic_string&,
2040         size_type, size_type)): Ditto.
2041         (append(const basic_string&)): Ditto.
2042         (append(const basic_string&, size_type, size_type)): Ditto.
2043         (copy(_CharT*, size_type, size_type)): Ditto.
2044         (compare(size_type, size_type, const basic_string&)): Ditto.
2045         (compare(size_type, size_type, const basic_string&,size_type,
2046         size_type)): Ditto.
2047         (compare(size_type, size_type, const _CharT*)): Ditto.
2048         (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
2049
2050 2004-01-19  Stefan Olsson  <stefan@snon.net>
2051
2052         * include/ext/mt_allocator.h: If a thread, when it dies, still has
2053         memory on it's freelist this memory is not returned to global
2054         list. Simplification of deallocate so that memory is always
2055         returned to the calling thread id's freelist instead of to
2056         global. Fix typos. Add volatile where appropriate.
2057
2058 2004-01-19  Loren J. Rittle  <ljrittle@acm.org>
2059
2060         * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
2061         * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test.  Like -2 but
2062         use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
2063
2064 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
2065
2066         * src/debug.cc: Make sure all the names are prefixed with
2067         double (or single) underscore.
2068
2069 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
2070
2071         * src/debug.cc: Trivial formatting change.
2072
2073 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
2074
2075         * include/bits/basic_string.tcc (_S_construct(size_type,
2076         _CharT, const _Alloc&)): Remove redundant try/catch.
2077         (_M_mutate(size_type, size_type, size_type)): Ditto.
2078         (_M_clone(const _Alloc&, size_type)): Ditto.
2079
2080 2004-01-18  Paolo Carlini  <pcarlini@suse.de>
2081
2082         * include/bits/basic_string.h (c_str()): Simplify, due to
2083         21.3.4 the internal representation is always kept null-terminated.
2084         * include/bits/basic_string.tcc (_M_clone): Null-terminate.
2085         * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
2086         * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
2087         Ditto.
2088
2089 2004-01-18  Paolo Carlini  <pcarlini@suse.de>
2090
2091         * include/bits/basic_string.h (append(size_type, _CharT)):
2092         Moved inline, just call _M_replace_aux, no source iterators at
2093         risk of being clobbered.
2094         (assign(size_type, _CharT)): Call directly _M_replace_aux.
2095         (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
2096         input_iterator_tag)): Remove fifth unused argument.
2097         (_M_replace_dispatch(iterator, iterator, _InputIterator,
2098         _InputIterator, __false_type)): Update call.
2099         * include/bits/basic_string.tcc (replace(size_type, size_type,
2100         const _CharT*, size_type)): Update call.
2101         (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
2102         throw string literal.
2103         (_M_replace_safe(iterator, iterator, _ForwardIterator,
2104         _ForwardIterator)): Likewise.
2105         (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
2106         input_iterator_tag)): Remove fifth unused argument.
2107         (append(size_type __n, _CharT __c)): Move inline.
2108         * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
2109         const C*, const C*, input_iterator_tag)): Remove fifth unused
2110         argument.
2111
2112 2004-01-16  Benjamin Kosnik  <bkoz@redhat.com>
2113
2114         * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
2115         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
2116
2117 2004-01-16  Danny Smith  <dannysmith@users.sourceforge.net>
2118
2119         * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
2120         mkfifo for mingw32.
2121
2122 2004-01-15  Stefan Olsson  <stefan@snon.net>
2123
2124         * include/ext/mt_allocator.h: Reuse thread id's as soon as
2125         possible by changing the behaviour of thread_freelist to do
2126         push_front when threads die instead of push_back.
2127
2128 2004-01-14  Paolo Carlini  <pcarlini@suse.de>
2129
2130         * include/bits/locale_facets.h (struct __numpunct_cache):
2131         Add member _M_grouping_size, caching the length of _M_grouping.
2132         (__numpunct_cache<>::_M_cache): Assign the latter.
2133         (__verify_grouping): Move declaration...
2134         * include/bits/locale_facets.tcc (__verify_grouping):
2135         ... here, change signature to take a const char* and a size_t
2136         for the grouping; not a template anymore.
2137         (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
2138         Likewise change signature and tweak consistently.
2139         (num_get::_M_extract_float, num_get::_M_extract_int,
2140         num_put::_M_insert_int, num_put::_M_insert_float,
2141         money_get::do_get(string_type&), money_get::do_put(string_type)):
2142         Update callers.
2143         * config/locale/generic/numeric_members.cc
2144         (numpunct<>::_M_initialize_numpunct): Assign the new member.
2145         * config/locale/gnu/numeric_members.cc
2146         (numpunct<>::_M_initialize_numpunct): Likewise.
2147         * src/locale-inst.cc (__add_grouping): Tweak signature.
2148         (__verify_grouping): Don't instantiate, not a template anymore.
2149
2150         * include/bits/locale_facets.h: Rename _M_truename_len ->
2151         _M_truename_size, _M_falsename_len -> _M_falsename_size.
2152         * include/bits/locale_facets.tcc: Likewise.
2153         * config/locale/generic/numeric_members.cc: Likewise.
2154         * config/locale/gnu/numeric_members.cc: Likewise.
2155
2156 2004-01-14  Stefan Olsson  <stefan@snon.net>
2157
2158         * include/ext/mt_allocator.h: Fixups.
2159         * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
2160         * testsuite/performance/allocator_thread.cc: Same.
2161
2162 2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>
2163
2164         * testsuite/performance/ifstream_extract_float.cc: Add higher
2165         precision tests.
2166         * testsuite/performance/ofstream_insert_float.cc: Same.
2167
2168 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
2169
2170         * src/locale-misc-inst.cc (__convert_from_v(long),
2171         __convert_from_v(unsigned long), __convert_from_v(long long),
2172         __convert_from_v(unsigned long long)): Remove, unused.
2173
2174 2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>
2175
2176         * testsuite/performance/ifstream_extract_float.cc: New.
2177         * testsuite/performance/ofstream_insert_float.cc: Float generation
2178         matches above.
2179
2180         * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
2181         * 20_util/auto_ptr/1.cc: ...this.
2182         * 20_util/auto_ptr/2.cc: Same.
2183         * 20_util/auto_ptr/3.cc: Same.
2184         * 20_util/auto_ptr/3946.cc: Same.
2185         * 20_util/auto_ptr/4.cc: Same.
2186         * 20_util/auto_ptr/5.cc: Same.
2187         * 20_util/auto_ptr/6.cc: Same.
2188         * 20_util/auto_ptr/7.cc: Same.
2189         * 20_util/auto_ptr/assign_neg.cc
2190         * 20_util/pairs.cc: Break into...
2191         * 20_util/pair/1.cc: ...this.
2192         * 20_util/pair/2.cc: Same.
2193         * 20_util/pair/3.cc: Same.
2194         * 20_util/pair/4.cc: Same.
2195
2196 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
2197
2198         * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
2199         Set correctly just basefield, the only group that matters.
2200
2201 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
2202
2203         * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
2204         (_Rope_rep_base): Inherit directly from the rope allocator;
2205         use rebinding instead of _Alloc_traits; pick up data member
2206         from _Rope_rep_alloc_base.
2207         (_Rope_alloc_base): Eliminate.
2208         (_Rope_base): Inherit directly from the rope allocator; use
2209         rebinding instead of _Alloc_traits; pick up data member from
2210         _Rope_alloc_base.
2211         (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
2212         rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
2213
2214 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
2215
2216         PR libstdc++/13650
2217         * include/bits/basic_string.tcc (compare(size_type, size_type,
2218         const _CharT*, size_type)): Implement correctly the resolution
2219         of DR 5: basically, s is a char array, -not- a C string.
2220         * include/bits/basic_string.h: Tweak some comments.
2221         * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
2222         * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
2223
2224 2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
2225
2226         * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
2227         Solaris.
2228
2229 2004-01-12  Paolo Carlini  <pcarlini@suse.de>
2230
2231         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
2232         Use try_mkfifo.
2233         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
2234         Likewise.
2235
2236 2004-01-12  Paolo Carlini  <pcarlini@suse.de>
2237
2238         * include/bits/locale_facets.h (struct __numpunct_cache):
2239         Add members _M_truename_len and _M_falsename_len, caching
2240         the lengths of _M_truename and _M_falsename.
2241         (__numpunct_cache<>::_M_cache): Assign the latter.
2242         * include/bits/locale_facets.tcc (num_get::do_get(bool&),
2243         num_put::do_put(bool)): Use the new members, thus avoiding
2244         computing string lengths again and again.
2245         * config/locale/generic/numeric_members.cc
2246         (numpunct<>::_M_initialize_numpunct): Assign the new members.
2247         * config/locale/gnu/numeric_members.cc
2248         (numpunct<>::_M_initialize_numpunct): Likewise.
2249
2250 2004-01-12  Mark Mitchell  <mark@codesourcery.com>
2251
2252         * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
2253         * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
2254         it.
2255         * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
2256         and remove Cygwin XFAIL.
2257         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
2258         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
2259         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
2260         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
2261         Likewise.
2262         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
2263         * testsuite/27_io/objects/char/7.cc: Likewise.
2264         * testsuite/27_io/objects/char/9661-1.cc: Likewise.
2265         * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
2266         * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
2267
2268 2004-01-11  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2269
2270         * include/std/std_complex.h (std::complex<>::real): Return a
2271         reference. Add non-const overload.
2272         (std::complex<>::real): Likewise.
2273         (std::real): Likewise.
2274         (std::imag): Likewise.
2275         (std::operator+): Tidy.
2276         (std::operator-): Likewise.
2277         (std::operator*): Likewise.
2278         (std::operator/): Likewise.
2279         (std::operator>>): Likewise.
2280
2281 2004-01-11  Paolo Carlini  <pcarlini@suse.de>
2282
2283         PR libstdc++/13582
2284         * include/bits/fstream.tcc (imbue): Exploit the external
2285         buffer to imbue 'on the fly' a new locale and convert its
2286         remainder with the new codecvt facet.
2287         (underflow): Tweak slightly to deal with this special case.
2288         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
2289         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
2290         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
2291         * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
2292         * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
2293
2294 2004-01-10  Paolo Carlini  <pcarlini@suse.de>
2295
2296         * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
2297         Import Revision 28.
2298
2299 2004-01-10  Paolo Carlini  <pcarlini@suse.de>
2300
2301         PR libstdc++/13630
2302         * include/bits/locale_classes.h (class locale): Fix category
2303         typedef.
2304         * testsuite/22_locale/locale/13630.cc: Add.
2305
2306 2004-01-10  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
2307
2308         * include/bits/locale_facets.h: Make a name really dependent. This
2309         will be needed when Core Issue 224 is implemented.
2310
2311 2004-01-09  Paolo Carlini  <pcarlini@suse.de>
2312
2313         * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
2314         * testsuite/performance/allocator_thread.cc: Likewise.
2315
2316 2004-01-07  Benjamin Kosnik  <bkoz@redhat.com>
2317
2318         * crossconfig.m4: Add LFS, io bits to linux cross config.
2319         * acconfig.h: Remove obsolete bits, reorder.
2320         * config.h.in: Regenerate.
2321         * aclocal.m4: Same.
2322         * configure: Same.
2323
2324 2004-01-07  Gawain Bolton  <gp.bolton@computer.org>
2325
2326         * include/bits/stl_list.h:
2327         * include/bits/list.tc:
2328         * src/list.cc:
2329         Performance enhancements for destructor, push_front(),
2330         push_back(), pop_front(), pop_back(), sort()
2331         Eliminated static_casts where possible.
2332         Moved code out of header files into new src/list.cc
2333         implementation file for library where possible.
2334         Remove inheritance from iterator class and create separate
2335         classes for non-constant and constant iterators.
2336         * include/bits/stl_tree.h (_Rb_tree class):
2337         * src/tree.cc:
2338         Only erase contents in destructor.
2339         Eliminate unnecessary initialization in assignment operator.
2340         Optimize for the nominal case by not checking whether
2341         container is empty in clear().
2342         Re-order test in _M_insert() to improve performance.
2343         Move initialization of new node's left & right pointers to
2344         src/tree.cc to where new node's colour is initialized
2345         and to reduce the amount of inline code.
2346         Use  _M_leftmost() and _M_end() to improve readability where
2347         appropriate.
2348         Create separate classes for non-constant and constant
2349         iterators to clarify code, avoid extra template parameters and
2350         casting away constness.
2351
2352 2004-01-07  Benjamin Kosnik  <bkoz@redhat.com>
2353
2354         * src/Makefile.am (sources): Add list.cc, tree.cc.
2355         * src/stl_tree.cc: Move to...
2356         * src/tree.cc: ...here.
2357         * src/list.cc: Add.
2358         * config/linker-map.gnu: Tweaks.
2359         * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
2360         * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
2361
2362         * bits/stl_vector.h: Column wrap comments.
2363
2364 2004-01-07  Loren J. Rittle  <ljrittle@acm.org>
2365
2366         (re-open) PR libstdc++/12658
2367         * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
2368         (locale::global): Likewise.
2369
2370 2004-01-07  Paolo Carlini  <pcarlini@suse.de>
2371
2372         * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
2373         Remove redundant #include.
2374         * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
2375         * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
2376         re-enable normal testing.
2377         * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
2378         #include.
2379         * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
2380         * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
2381         Likewise.
2382         * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
2383         Likewise.
2384         * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
2385         Likewise.
2386         * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
2387         Likewise.
2388         * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
2389         Likewise.
2390         * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
2391         Likewise.
2392         * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
2393         Likewise.
2394         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
2395         More properly, #include <locale>.
2396         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
2397         Remove redundant #include.
2398         * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
2399         * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
2400         redundant DejaGnu directive.
2401         * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
2402         redundant #include.
2403
2404 2004-01-06  Benjamin Kosnik  <bkoz@redhat.com>
2405             Stefan Olsson  <stefan@snon.net>
2406
2407         * scripts/check_performance: Use -pthread.
2408         * testsuite/performance/allocator.cc: Tweaks, add list.
2409         * testsuite/performance/allocator_thread.cc: New.
2410
2411 2004-01-06  Jerry Quinn  <jlquinn@optonline.net>
2412
2413         * include/bits/locale_facets.h: Document public classes and
2414         functions.
2415         * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
2416         Add comment.
2417
2418 2004-01-06  Paolo Carlini  <pcarlini@suse.de>
2419
2420         * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
2421         Remove redundant #includes.
2422         * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
2423         Likewise.
2424         * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
2425         Likewise.
2426         * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
2427         * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
2428         * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
2429         * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
2430         * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
2431         * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
2432         * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
2433         * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
2434         * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
2435         * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
2436         * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
2437         * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
2438         * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
2439         * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
2440         * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
2441         Likewise.
2442         * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
2443         Likewise.
2444         * testsuite/27_io/basic_istream/readsome/char/8258.cc:
2445         Likewise.
2446         * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
2447         Likewise.
2448         * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
2449         Likewise.
2450         * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
2451         * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
2452         * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
2453
2454 2004-01-04  Paolo Carlini  <pcarlini@suse.de>
2455
2456         * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
2457         Remove redundant #includes.
2458         * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
2459         Likewise.
2460         * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
2461         Likewise.
2462         * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
2463         Likewise.
2464         * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
2465         Likewise.
2466         * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
2467         Likewise.
2468         * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
2469         Likewise.
2470         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
2471         Likewise.
2472         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
2473         Likewise.
2474         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
2475         Likewise.
2476         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
2477         Likewise.
2478         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
2479         Likewise.
2480         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
2481         Likewise.
2482
2483 2004-01-04  Mark Mitchell  <mark@codesourcery.com>
2484
2485         PR c++/12226
2486         * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
2487         constructor.
2488         * testsuite/27_io/basic_fstream/4.cc: Likewise.
2489         * testsuite/27_io/basic_ifstream/4.cc: Likewise.
2490         * testsuite/27_io/basic_ios/4.cc: Likewise.
2491         * testsuite/27_io/basic_iostream/4.cc: Likewise.
2492         * testsuite/27_io/basic_istream/4.cc: Likewise.
2493         * testsuite/27_io/basic_istingstream/4.cc: Likewise.
2494         * testsuite/27_io/basic_ofstream/4.cc: Likewise.
2495         * testsuite/27_io/basic_ostream/4.cc: Likewise.
2496         * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
2497         * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
2498         * testsuite/27_io/basic_stringstream/4.cc: Likewise.
2499
2500 2004-01-04  Paolo Carlini  <pcarlini@suse.de>
2501
2502         * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
2503         Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
2504         always use double underscored names.
2505         * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
2506         Likewise.
2507         * include/bits/locale_facets.h (struct __numpunct_cache):
2508         Dimension _M_atoms_out and _M_atoms_in one position smaller.
2509         (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out
2510         and _M_atoms_in.