OSDN Git Service

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