OSDN Git Service

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