OSDN Git Service

2004-12-16 Paolo Carlini <pcarlini@suse.de>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
1 2004-12-16  Paolo Carlini  <pcarlini@suse.de>
2
3         * include/tr1/type_traits: Implement is_function.
4         (struct __sfinae_types, struct __is_function_helper): New.
5         * testsuite/tr1/4_metaprogramming/composite_type_traits/
6         is_object/is_object.cc: New.
7         * testsuite/tr1/4_metaprogramming/composite_type_traits/
8         is_object/typedefs.cc: Likewise.
9         * testsuite/tr1/4_metaprogramming/primary_type_categories/
10         is_function/is_function.cc: Likewise.
11         * testsuite/tr1/4_metaprogramming/primary_type_categories/
12         is_function/typedefs.cc: Likewise.
13
14 2004-12-13  Paolo Carlini  <pcarlini@suse.de>
15
16         * include/tr1/type_traits (extent): Minor tweak (i.e., public).
17
18 2004-12-12  Paolo Carlini  <pcarlini@suse.de>
19
20         * include/tr1/type_traits: Minor tweak.
21         * testsuite/tr1/4_metaprogramming/type_properties/extent/
22         typedefs.cc: Fix date.
23
24 2004-12-12  Paolo Carlini  <pcarlini@suse.de>
25
26         * include/tr1/type_traits: Implement extent.
27         * testsuite/tr1/4_metaprogramming/type_properties/extent/
28         extent.cc: New.
29         * testsuite/tr1/4_metaprogramming/type_properties/extent/
30         typedefs.cc: Likewise.
31
32 2004-12-12  Paolo Carlini  <pcarlini@suse.de>
33
34         * include/tr1/type_traits: Implement is_pointer, remove_pointer,
35         and add_pointer; reformat. 
36         (_DEFINE_PRIMARY_SPEC_HELPER, _DEFINE_PRIMARY_SPEC): Generalize
37         and rename to _DEFINE_SPEC_HELPER and _DEFINE_SPEC; update uses.
38         * testsuite/tr1/4_metaprogramming/pointer_modifications/
39         add_pointer.cc: New.
40         * testsuite/tr1/4_metaprogramming/pointer_modifications/
41         remove_pointer.cc: Likewise.
42         * testsuite/tr1/4_metaprogramming/primary_type_categories/
43         is_pointer/is_pointer.cc: Likewise.
44         * testsuite/tr1/4_metaprogramming/primary_type_categories/
45         is_pointer/typedefs.cc: Likewise.
46
47         * testsuite/tr1/4_metaprogramming/primary_type_categories/
48         is_reference/is_reference.cc: Slightly tweak consistently.
49
50 2004-12-11  Paolo Carlini  <pcarlini@suse.de>
51
52         * include/tr1/type_traits: Implement rank.
53         * testsuite/testsuite_tr1.h (test_property): Generalize to any
54         value_type.
55         (test_category, test_relationship): Slightly tweak consistently.
56         * testsuite/tr1/4_metaprogramming/type_properties/rank/
57         rank.cc: New.
58         * testsuite/tr1/4_metaprogramming/type_properties/rank/
59         typedefs.cc: Likewise.
60
61         * testsuite/tr1/4_metaprogramming/composite_type_traits/
62         is_compound/is_compound.cc: New.
63         * testsuite/tr1/4_metaprogramming/composite_type_traits/
64         is_compound/typedefs.cc: Likewise.
65
66         * testsuite/tr1/4_metaprogramming/composite_type_traits/
67         is_arithmetic/is_arithmetic.cc: Tweak consistently with the
68         testsuite_tr1.h changes.
69         * testsuite/tr1/4_metaprogramming/composite_type_traits/
70         is_fundamental/is_fundamental.cc: Likewise.
71         * testsuite/tr1/4_metaprogramming/primary_type_categories/
72         is_array/is_array.cc: Likewise.
73         * testsuite/tr1/4_metaprogramming/primary_type_categories/
74         is_floating_point/is_floating_point.cc: Likewise.
75         * testsuite/tr1/4_metaprogramming/primary_type_categories/
76         is_integral/is_integral.cc: Likewise.
77         * testsuite/tr1/4_metaprogramming/primary_type_categories/
78         is_reference/is_reference.cc: Likewise.
79         * testsuite/tr1/4_metaprogramming/primary_type_categories/
80         is_void/is_void.cc: Likewise.
81         * testsuite/tr1/4_metaprogramming/relationships_between_types/
82         is_same/is_same.cc: Likewise.
83         * testsuite/tr1/4_metaprogramming/type_properties/is_const/
84         is_const.cc: Likewise.
85         * testsuite/tr1/4_metaprogramming/type_properties/is_volatile/
86         is_volatile.cc: Likewise.
87
88 2004-12-10  Paolo Carlini  <pcarlini@suse.de>
89
90         * include/tr1/type_traits: Implement remove_const, remove_volatile,
91         and remove_cv.
92         * testsuite/tr1/4_metaprogramming/const_volatile_modifications/
93         remove_const.cc: New.
94         * testsuite/tr1/4_metaprogramming/const_volatile_modifications/
95         remove_cv.cc: Likewise.
96         * testsuite/tr1/4_metaprogramming/const_volatile_modifications/
97         remove_volatile.cc: Likewise.
98
99         * testsuite/tr1/4_metaprogramming/primary_type_categories/
100         is_array/is_array.cc: Slightly tweak consistently, remove typedefs,
101         add a few tests.
102
103 2004-12-09  Paolo Carlini  <pcarlini@suse.de>
104
105         * include/tr1/type_traits: Implement remove_extent and
106         remove_all_extents.
107         * testsuite/tr1/4_metaprogramming/array_modifications/
108         remove_all_extents.cc: New.
109         * testsuite/tr1/4_metaprogramming/array_modifications/
110         remove_extent.cc: Likewise.
111
112 2004-12-08  Paolo Carlini  <pcarlini@suse.de>
113
114         * include/tr1/type_traits: Implement is_same, add_reference and
115         remove_reference.
116         * testsuite/testsuite_tr1.h (test_relationship): New.
117         * testsuite/tr1/4_metaprogramming/reference_modifications/
118         add_reference.cc: New.
119         * testsuite/tr1/4_metaprogramming/reference_modifications/
120         remove_reference.cc: Likewise.
121         * testsuite/tr1/4_metaprogramming/relationships_between_types/
122         is_same/is_same.cc: Likewise.
123         * testsuite/tr1/4_metaprogramming/relationships_between_types/
124         is_same/typedefs.cc: Likewise.
125
126         * testsuite/tr1/4_metaprogramming/type_properties/is_const/
127         is_const.cc: Minor tweaks.
128         * testsuite/tr1/4_metaprogramming/type_properties/is_volatile/
129         is_volatile.cc: Likewise.
130
131 2004-12-08  David Edelsohn  <edelsohn@gnu.org>
132
133         * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
134         PICFLAG.
135         * Makefile.in: Regenerated.
136
137 2004-12-07  Paolo Carlini  <pcarlini@suse.de>
138
139         * include/tr1/type_traits: Implement is_const and is_volatile.
140         * testsuite/testsuite_tr1.h (test_property): New.
141         * testsuite/tr1/4_metaprogramming/type_properties/
142         is_const/is_const.c: New.
143         * testsuite/tr1/4_metaprogramming/type_properties/
144         is_const/typedefs.cc: Likewise.
145         * testsuite/tr1/4_metaprogramming/type_properties/
146         is_volatile/is_volatile.cc: Likewise.
147         * testsuite/tr1/4_metaprogramming/type_properties/
148         is_volatile/typedefs.cc: Likewise.
149         * testsuite/tr1/4_metaprogramming/composite_type_traits/
150         is_arithmetic/is_arithmetic.cc: Slightly tweak to use ClassType
151         from testsuite_tr1.h.
152         * testsuite/tr1/4_metaprogramming/composite_type_traits/
153         is_fundamental/is_fundamental.cc: Likewise.
154         * testsuite/tr1/4_metaprogramming/primary_type_categories/
155         is_array/is_array.cc: Likewise.
156         * testsuite/tr1/4_metaprogramming/primary_type_categories/
157         is_floating_point/is_floating_point.cc: Likewise.
158         * testsuite/tr1/4_metaprogramming/primary_type_categories/
159         is_integral/is_integral.cc: Likewise.
160         * testsuite/tr1/4_metaprogramming/primary_type_categories/
161         is_reference/is_reference.cc: Likewise.
162         * testsuite/tr1/4_metaprogramming/primary_type_categories/
163         is_void/is_void.cc: Likewise.
164
165 2004-12-06  Paolo Carlini  <pcarlini@suse.de>
166
167         * include/tr1/type_traits: Implement is_reference.
168         * testsuite/tr1/4_metaprogramming/primary_type_categories/
169         is_reference/is_reference.cc: New.
170         * testsuite/tr1/4_metaprogramming/primary_type_categories/
171         is_reference/typedefs.cc: Likewise.
172
173 2004-12-05  Paolo Carlini  <pcarlini@suse.de>
174
175         PR libstdc++/18837
176         * testsuite/testsuite_performance.h: Fix mallinfo macros for
177         hpux.
178
179 2004-12-04  Richard Henderson  <rth@redhat.com>
180
181         * testsuite/26_numerics/complex/pow.cc: Use -mieee on alpha.
182
183 2004-12-04  Richard Henderson  <rth@redhat.com>
184
185         * include/ext/malloc_allocator.h: Include cstdlib.
186
187 2004-12-04  Paolo Carlini  <pcarlini@suse.de>
188
189         * include/tr1/type_traits: New.
190         * include/Makefile.am: Add.
191         * include/Makefile.in: Regenerate.
192         * testsuite/testsuite_tr1.h: New.
193         * testsuite/tr1/4_metaprogramming/composite_type_traits/
194         is_arithmetic/is_arithmetic.cc: New.
195         * testsuite/tr1/4_metaprogramming/composite_type_traits/
196         is_arithmetic/typedefs.cc: Likewise.
197         * testsuite/tr1/4_metaprogramming/composite_type_traits/
198         is_fundamental/is_fundamental.cc: Likewise.
199         * testsuite/tr1/4_metaprogramming/composite_type_traits/
200         is_fundamental/typedefs.cc: Likewise.
201         * testsuite/tr1/4_metaprogramming/helper_classes/
202         true_false_type.cc: Likewise.
203         * testsuite/tr1/4_metaprogramming/helper_classes/
204         true_false_type_typedefs.cc: Likewise.
205         * testsuite/tr1/4_metaprogramming/helper_classes/
206         typedefs.cc: Likewise.
207         * testsuite/tr1/4_metaprogramming/primary_type_categories/
208         is_array/is_array.cc: Likewise.
209         * testsuite/tr1/4_metaprogramming/primary_type_categories/
210         is_array/typedefs.cc: Likewise.
211         * testsuite/tr1/4_metaprogramming/primary_type_categories/
212         is_floating_point/is_floating_point.cc: Likewise.
213         * testsuite/tr1/4_metaprogramming/primary_type_categories/
214         is_floating_point/typedefs.cc: Likewise.
215         * testsuite/tr1/4_metaprogramming/primary_type_categories/
216         is_integral/is_integral.cc: Likewise.
217         * testsuite/tr1/4_metaprogramming/primary_type_categories/
218         is_integral/typedefs.cc: Likewise.
219         * testsuite/tr1/4_metaprogramming/primary_type_categories/
220         is_void/is_void.cc: Likewise.
221         * testsuite/tr1/4_metaprogramming/primary_type_categories/
222         is_void/typedefs.cc: Likewise.
223
224 2004-12-02  Paolo Carlini  <pcarlini@suse.de>
225
226         * testsuite/testsuite_io.h (class sync_buf): New, templatized
227         version of sync_streambuf; add typedefs for streambuf/wstreambuf.
228         (class fail_buf): Likewise, for fail_streambuf.
229         (class fail_num_get): Templatize and add char/wchar_t typedefs.
230         (class fail_num_put): Likewise.
231         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
232         exceptions_badbit_throw.cc: Use the latter.
233         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
234         exceptions_failbit_throw.cc: Likewise.
235         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
236         exceptions_badbit_throw.cc: Likewise.
237         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
238         exceptions_failbit_throw.cc: Likewise.
239
240 2004-12-01  Paolo Carlini  <pcarlini@suse.de>
241
242         * testsuite/27_io/basic_istream/get/wchar_t/1.cc: New.
243         * testsuite/27_io/basic_istream/get/wchar_t/2.cc: Likewise.
244         * testsuite/27_io/basic_istream/get/wchar_t/3.cc: Likewise.
245         * testsuite/27_io/basic_istream/ignore/wchar_t/1.cc: Likewise.
246         * testsuite/27_io/basic_istream/ignore/wchar_t/2.cc: Likewise.
247         * testsuite/27_io/basic_istream/ignore/wchar_t/3.cc: Likewise.
248         * testsuite/27_io/basic_istream/ignore/wchar_t/6360.cc: Likewise.
249         * testsuite/27_io/basic_istream/ignore/wchar_t/7220.cc: Likewise.
250
251 2004-11-29  Paolo Carlini  <pcarlini@suse.de>
252
253         * testsuite/21_strings/basic_string/capacity/char/18654.cc: Use
254         better names.
255         * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc: Same.
256
257 2004-11-29  Paolo Carlini  <pcarlini@suse.de>
258
259         PR libstdc++/18654
260         * include/bits/basic_string.tcc (_Rep::_S_create): When shrinking,
261         do not round to pagesize.
262         * testsuite/21_strings/basic_string/capacity/char/18654.cc: New.
263         * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc: New.
264
265 2004-11-27  Paolo Carlini  <pcarlini@suse.de>
266
267         PR libstdc++/18690
268         * include/tr1/utility (get(pair), get(const pair)): Change
269         occurrences of _I to _Int.
270
271 2004-11-27  Paolo Carlini  <pcarlini@suse.de>
272
273         * testsuite/27_io/basic_istream/getline/wchar_t/2.cc: Fix typo.
274         * testsuite/27_io/basic_istream/getline/wchar_t/4.cc: Likewise.
275
276         * testsuite/22_locale/time_put/put/char/17038.cc: Use VERIFY.
277         * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
278         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc: Likewise.
279         * testsuite/27_io/basic_ios/exceptions/char/2.cc: Likewise.
280
281 2004-11-26  Paolo Carlini  <pcarlini@suse.de>
282
283         DR 243. get and getline when sentry reports failure [WP]
284         * include/bits/istream.tcc (istream<>::get, istream<>::getline):
285         Store a null character only if the array has a non-zero size.
286         * src/istream.cc (istream<char>::getline, istream<wchar_t>::getline):
287         Likewise.
288         * testsuite/27_io/basic_istream/get/char/3.cc: New.
289         * testsuite/27_io/basic_istream/getline/char/6.cc: New.
290         * testsuite/27_io/basic_istream/getline/wchar_t/6.cc: New.
291         * docs/html/ext/howto.html: Add an entry for DR 243.
292
293         * testsuite/27_io/basic_istream/getline/wchar_t/1.cc: New.
294         * testsuite/27_io/basic_istream/getline/wchar_t/2.cc: New.
295         * testsuite/27_io/basic_istream/getline/wchar_t/3.cc: New.
296         * testsuite/27_io/basic_istream/getline/wchar_t/4.cc: New.
297         * testsuite/27_io/basic_istream/getline/wchar_t/5.cc: New.
298
299 2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
300
301         * configure: Regenerate for libtool change.
302
303 2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
304
305         * Makefile.in, aclocal.m4: Regenerate with automake 1.9.3.
306         * include/Makefile.in: Likewise.
307         * libmath/Makefile.in: Likewise.
308         * libsupc++/Makefile.in: Likewise.
309         * po/Makefile.in: Likewise.
310         * src/Makefile.in: Likewise.
311         * testsuite/Makefile.in: Likewise.
312
313 2004-11-24  Jonathan Wakely  <redi@kayari.org>
314
315         * docs/html/ext/howto.html: Fix incorrect link.
316         * docs/html/documentation.html: Regenerate.
317
318 2004-11-24  Nathan Myers  <ncm@cantrip.org>
319
320         * include/bits/streambuf_iterator.h
321         (istreambuf_iterator<>::operator++(), operator++(int)): Don't
322         check unnecessarily the return value of _M_sbuf->sbumpc().
323
324 2004-11-24  Benjamin Kosnik  <bkoz@redhat.com>
325
326         * include/Makefile.am (tr1_headers): Add utility, functional.
327         * include/Makefile.in: Regenerate.
328
329 2004-11-24  Chris Jefferson  <chris@bubblescope.net>
330
331         * include/tr1/tuple(operator!=): Change operator 
332         definition to match (draft) technical report.
333         (operator>): Same.
334         (operator<=): Same.
335         (operator>=): Same.
336         (ref): Move to include/tr1/functional.
337         (cref): Same.
338         (tuple_size<pair>): Move to include/tr1/utility.
339         (tuple_element<,pair>): Same.
340         * include/tr1/functional: New.
341         * include/tr1/utility: New.
342         * testsuite/tr1/6_container/utility/pair.cc: New.
343
344 2004-11-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
345
346         * config/locale/ieee_1003.1-2001/codecvt_specializations.h
347         (do_out, do_unshift, do_in): Remove redundant typedef.
348
349 2004-11-23  Chris Jefferson  <chris@bubblescope.net>
350
351         * testsuite/testsuite_iterators.h: New.
352         * testsuite/25_algorithms/search_n/iterator.cc: New.
353         * testsuite/performance/25_algorithms/search_n.cc: New.
354
355 2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
356
357         * testsuite/lib/libstdc++.exp: Use new procs in target-libpath.exp.
358
359 2004-11-23  Benjamin Kosnik  <bkoz@redhat.com>
360
361         * docs/doxygen/doxygroups.cc: Add std::tr1 namespace.
362         * docs/doxygen/run_doxygen: Renames for std::tr1.
363         * docs/doxygen/user.cfg.in: Add cxxabi.h.
364         * include/bits/*.tcc: Add file markup.
365         * include/bits/allocator.h: Add link to allocator.html.
366         * include/bits/atomicity.h: Add file markup.
367         * include/bits/concurrence.h: Same.
368         * include/bits/functexcept.h: Same.
369         * include/ext*: Adjust file markup, remove GCC3 bits.
370         * include/std/*: Adjust file markup, remove bits about renamed files.
371         * libsupc++/cxxabi.h: Add file markup.
372         * testsuite/20_util/memory/auto_ptr/assign_neg.cc: Adjust line numbers.
373
374 2004-11-22  Benjamin Kosnik  <bkoz@redhat.com>
375
376         * include/bits/locale_facets.h (isspace, isprint, isupper,
377         islower, isalpha, isdigit, ispunct, isxdigit, isalnum, isgraph,
378         toupper, tolower): Add doxygen markup.
379         (codecvt_byname, ctype_byname, numpunct_byname, collate_byname,
380         time_get_byname, time_put_byname, moneypunct_byname,
381         messages_byname): Same.
382         * include/std/std_fstream.h: Remove superfluous markup.
383         * include/std/std_sstream.h: Same.
384         * include/std/std_streambuf.h: Same.
385         * include/ext/enc_filebuf.h: Adjust markup.
386         * include/ext/stdio_filebuf.h: Same.
387         * include/ext/stdio_sync_filebuf.h: Same.
388         * include/bits/codecvt.h: Same.
389         * config/os/gnu-linux/ctype_base.h: Same.
390         * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Same.
391         * include/tr1/array: Add markup.
392         * include/tr1/tuple: Same.
393         
394         * docs/doxygen/run_doxygen: Print arguments.
395
396         * docs/doxygen/user.cfg.in: Tweaks.
397
398 2004-11-19  Jonathan Wakely  <redi@gcc.gnu.org>
399
400         * include/bits/basic_string.h, include/bits/locale_classes.h,
401         include/bits/valarray_after.h, include/bits/valarray_before.h,
402         include/ext/stdio_sync_filebuf.h, include/std/std_algorithm.h,
403         include/std/std_functional.h, include/std/std_memory.h,
404         include/std/std_numeric.h: Doxygen fixes.
405
406 2004-11-19  Paolo Carlini  <pcarlini@suse.de>
407
408         * testsuite/22_locale/time_get/get_date/char/1.cc: In the checks
409         use, more correctly (and consistently with other testcases) the
410         return value of the facet (the iterator arguments are by value).
411         * testsuite/22_locale/time_get/get_date/char/12791.cc: Likewise.
412         * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Likewise.
413         * testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: Likewise.
414         * testsuite/22_locale/time_get/get_monthname/char/1.cc: Likewise.
415         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
416         * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
417         * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
418         * testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
419         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
420         * testsuite/22_locale/time_get/get_year/char/1.cc: Likewise.
421         * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Likewise.
422
423 2004-11-19  Jonathan Wakely  <redi@gcc.gnu.org>
424
425         * Makefile.am (doxygen, doxygen-maint, doxygen-man): Remove extra '$'
426         from host_alias variable.
427         * Makefile.in: Regenerate.
428
429 2004-11-19  Chris Jefferson  <chris@bubblescope.net>
430
431         * include/bits/stl_list.h (list::back, list::back const):
432         Don't decrement temporary.
433
434 2004-11-19  Paolo Carlini  <pcarlini@suse.de>
435
436         * include/bits/stl_deque.h (deque::front, deque::front const,
437         deque::back, deque::back const): Slightly tweak for stylistic
438         consistency.
439
440 2004-11-18  Paolo Carlini  <pcarlini@suse.de>
441
442         * testsuite/26_numerics/numeric/sum_diff.cc: Use VERIFY.
443         * testsuite/ext/array_allocator/1.cc: Likewise.
444         * testsuite/ext/array_allocator/2.cc: Likewise.
445         * testsuite/ext/array_allocator/3.cc: Likewise.
446         * testsuite/ext/enc_filebuf/char/13598.cc: Likewise.
447
448 2004-11-18  Paolo Carlini  <pcarlini@suse.de>
449
450         * include/bits/locale_facets.tcc (num_get<>::do_get(void*&)):
451         If the failbit is set, don't set it again.
452         (money_get<>::_M_extract): Minor stylistic tweak: consistently
453         with the other functions, take care of eofbit at the end.
454
455 2004-11-18  Paolo Carlini  <pcarlini@suse.de>
456
457         DR 434. bitset::to_string() hard to use [Ready]
458         * include/std/std_bitset.h (to_string): Add three overloads, taking
459         fewer template arguments.
460         * docs/html/ext/howto.html: Add an entry for DR 434.
461         * testsuite/23_containers/bitset/to_string/1.cc: New.
462
463 2004-11-17  Paolo Carlini  <pcarlini@suse.de>
464
465         * include/bits/istream.tcc (getline(basic_istream<>&, basic_string<>&,
466         _CharT)): Remove temporary kludge for libstdc++/15002.
467         * include/std/std_streambuf.h (class basic_streambuf): Declare
468         getline(basic_istream<>&, basic_string<>&, _CharT) as friend.
469         * include/bits/basic_string.h (getline(basic_istream<>&,
470         basic_string<>&, _CharT)): Declare optimized specializations for
471         char and wchar_t, using protected members of basic_streambuf.
472         * src/istream.cc: Define the latter.
473
474 2004-11-16  Jonathan Wakely  <redi@gcc.gnu.org>
475
476         * docs/html/19_diagnostics/howto.html: Document change from
477         _GLIBCPP_CONCEPT_CHECKS to _GLIBCXX_CONCEPT_CHECKS in 3.4.
478
479 2004-11-16  Matthias Klose  <doko@debian.org>
480
481         * docs/doxygen/user.cfg.in: Set HAVE_DOT to NO.
482
483 2004-11-16  Matthias Klose  <doko@debian.org>
484
485         * Makefile.am (doxygen, doxygen-maint, doxygen-man): Use host_alias
486         instead of build_alias.
487         * docs/doxygen/run_doxygen: Likewise.
488         * docs/doxygen/user.cfg.in: Likewise.
489         * Makefile.in: Regenerate.
490
491 2004-11-15  Paolo Carlini  <pcarlini@suse.de>
492
493         * include/bits/streambuf.tcc (__copy_streambufs): Provide
494         a generic version of the function, not using the protected
495         members of basic_streambuf.
496         * include/std/std_streambuf.h (__copy_streambufs): Declare
497         optimized specializations for char and wchar_t.
498         * src/streambuf.cc: New file, define the latter.
499         * src/Makefile.am: Add.
500         * src/Makefile.in: Regenerate.
501
502 2004-11-15  Matthias Klose  <doko@debian.org>
503
504         * docs/doxygen/run_doxygen: Add --build_alias option,
505         substitute it in docs/doxygen/user.cfg.in.
506         * docs/doxygen/user.cfg.in: Use build_alias.
507         * Makefile.am: Pass --build_alias to run_doxygen
508         * Makefile.in: Regenerate.
509
510 2004-11-15  Benjamin Kosnik  <bkoz@redhat.com>
511
512         * testsuite/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.4.
513
514 2004-11-15  Paolo Carlini  <pcarlini@suse.de>
515
516         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 33.
517
518 2004-11-14  Paolo Carlini  <pcarlini@suse.de>
519
520         * include/bits/streambuf_iterator.h (istreambuf_iterator::_M_get):
521         Slightly tweak for clarity (also leads to measurably better code).
522
523 2004-11-12  Andrew Pinski  <pinskia@physics.uc.edu>
524
525         PR other/14264
526         * testsuite/lib/libstdc++.exp: Set LC_ALL and LANG to C.
527
528 2004-11-09  Paolo Carlini  <pcarlini@suse.de>
529
530         * include/bits/locale_facets.tcc (time_get<>::do_get_weekday,
531         time_get<>::do_get_monthname): Absolutely avoid dereferencing
532         end iterators.
533
534         * include/bits/locale_facets.tcc (time_get<>::_M_extract_name):
535         Minor tweak.    
536
537 2004-11-08  Benjamin Kosnik  <bkoz@redhat.com>
538             Doug Gregor  <dgregor@cs.indiana.edu>
539
540         PR libstdc++/17664
541         * src/debug.cc : Just use one mutex.
542
543 2004-11-08  Benjamin Kosnik  <bkoz@redhat.com>
544
545         * configure.ac (libtool_VERSION): To 6:4:0.
546         * configure: Regenerate.
547
548         * config/linker-map.gnu: Slide new symbols into GLIBCXX_3.4.4.
549
550         * docs/doxygen/user.cfg.in: Add more extension files.
551
552 2004-11-08  Paolo Carlini  <pcarlini@suse.de>
553
554         * include/bits/streambuf_iterator.h (class istreambuf_iterator):
555         Consistently use _M_c to cache the current char, i.e., not only
556         when operator++(int) is involved; change _M_c to mutable.
557         (_M_get()): Always save the return value of _M_sbuf->sgetc() into
558         _M_c.
559         * testsuite/22_locale/time_get/get_monthname/char/1.cc: Fix
560         (long standing) typo.
561         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
562         * testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
563         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
564
565 2004-11-08  Paolo Carlini  <pcarlini@suse.de>
566
567         * include/bits/istream.tcc (getline(char_type*, streamsize,
568         char_type), ignore(streamsize), ignore(streamsize, int_type)):
569         Restore a generic version of the functions, not using the
570         protected members of basic_streambuf.
571         * include/std/std_istream.h (getline(char_type*, streamsize,
572         char_type), ignore(streamsize), ignore(streamsize, int_type)):
573         Declare optimized specializations for char and wchar_t.
574         * src/istream.cc: New file, define the latter.
575         * src/Makefile.am: Add.
576         * src/Makefile.in: Regenerate.
577
578 2004-11-07  Paolo Carlini  <pcarlini@suse.de>
579
580         * testsuite/performance/27_io/ifstream_getline-2.cc: New.
581
582 2004-11-05  Benjamin Kosnik  <bkoz@redhat.com>
583
584         PR libstdc++/17218
585         PR libstdc++/17223
586         * docs/doxygen/filter: Remove.
587         * docs/doxygen/filter.sed: Remove.
588         * docs/doxygen/mainpage.html: Add link to functions.
589         * docs/doxygen/run_doxygen: Changes due to new source filtering.
590         * docs/doxygen/user.cfg.in: Update to doxygen 1.3.9.1, tweak.
591         * include/bits/allocator.h: Tweaks for doxygen.
592         * include/bits/char_traits.h: Same.
593         * include/bits/codecvt.h: Same.
594         * include/bits/concurrence.h: Same.
595         * include/bits/locale_facets.h: Same.
596         * include/ext/array_allocator.h: Same.
597         * include/ext/debug_allocator.h: Same.
598         * include/ext/malloc_allocator.h: Same.
599         * include/ext/mt_allocator.h: Same.
600         * include/ext/new_allocator.h: Same.
601         * include/ext/pool_allocator.h: Same.
602         * include/ext/stdio_sync_filebuf.h: Same.
603         * include/std/std_memory.h: Same.
604         * include/tr1/array: Same.
605         * include/tr1/tuple: Same.
606         * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Same.
607         * config/os/gnu-linux/ctype_base.h: Same.
608
609 2004-11-04  Paolo Carlini  <pcarlini@suse.de>
610
611         * include/bits/locale_facets.tcc (num_get<>::do_get(bool&)):
612         Evaluate __beg == __end the exact strict minimum number of times.
613
614 2004-11-03  Jonathan Wakely  <redi@gcc.gnu.org>
615
616         * include/bits/stl_numeric.h (partial_sum, adjacent_difference):
617         Avoid dereferencing two times __first in the prologue.
618  
619 2004-11-03  Paolo Carlini  <pcarlini@suse.de>
620
621         * include/bits/stl_numeric.h: Trivial formatting fixes.
622
623 2004-11-03  Benjamin Kosnik  <bkoz@redhat.com>
624
625         * include/bits/c++config: Spacing.
626         * libsupc++/del_op.cc: Include c++config.h.
627         * libsupc++/del_opnt.cc: Same.
628         * libsupc++/del_opv.cc: Same.
629         * libsupc++/del_opvnt.cc: Same.
630         * libsupc++/new_op.cc: Same.
631         * libsupc++/new_opnt.cc: Same.
632         * libsupc++/new_opv.cc: Same.
633         * libsupc++/new_opvnt.cc: Same.
634
635 2004-11-03  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
636
637         * config/os/bsd/darwin/os_defines.h
638         (_GLIBCXX_WEAK_DEFINITION): Define.
639         * include/bits/c++config (_GLIBCXX_WEAK_DEFINITION): Define.
640         * libsupc++/del_op.cc (operator delete(void *)): Use
641         _GLIBCXX_WEAK_DEFINITION.
642         * libsupc++/del_opnt.cc
643         (operator delete(void *, const std::nothrow_t&)): Same.
644         * libsupc++/del_opv.cc (operator delete[](void *)): Same.
645         * libsupc++/del_opvnt.cc
646         (operator delete[](void *, const std::nothrow_t&)): Same.
647         * libsupc++/new_op.cc (operator new(std::size_t)): Same.
648         * libsupc++/new_opnt.cc
649         (operator new(std::size_t, const std::nothrow_t&)): Same
650         * libsupc++/new_opv.cc (operator new[](std::size_t)): Same.
651         * libsupc++/new_opvnt.cc
652         (operator new[](std::size_t, const std::nothrow_t&)): Same.
653
654 2004-11-02  Paolo Carlini  <pcarlini@suse.de>
655
656         * include/bits/locale_facets.tcc (num_get<>::_M_extract_int):
657         Evaluate *__beg the exact strict minimum number of times; likewise
658         for __beg != __end; slightly simplify main parsing loop.
659
660 2004-11-02  Benjamin Kosnik  <bkoz@redhat.com>
661             Lothar Werzinger  <lothar@xcerla.com>
662         
663         PR libstdc++/17664
664         * src/debug.cc: Include concurrence, use mutexes.
665         (_Safe_iterator_base::_M_attach): Here. 
666         (_Safe_iterator_base::_M_detach): Here. 
667         
668 2004-11-02  Benjamin Kosnik  <bkoz@redhat.com>
669
670         PR libstdc++/17922
671         * include/bits/ios_base.h : Add enum values.
672         * testsuite/testsuite_hooks.h (bitmask_operators): Add function.
673         * testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc: New.
674         * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: New.
675         * testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc: New.
676         * testsuite/27_io/ios_base/types/iostate/case_label.cc: New.
677         * testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc: New.
678         * testsuite/27_io/ios_base/types/openmode/case_label.cc: New.
679         * testsuite/27_io/ios_base/types/seekdir/case_label.cc: New.
680
681         * config/io/c_io_stdio.h (__ios_flags): Mark deprecated.
682         * src/ios.cc: Same.
683
684         * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
685         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
686
687 2004-11-01  Momchil Velikov  <velco@fadata.bg>
688
689         PR libstdc++/18185
690         * libsupc++/eh_globals.cc (get_globals_dtor): Delete unhandled
691         exceptions.
692         * testsuite/thread/18185.cc: New.
693         
694 2004-11-01  Chris Jefferson  <chris@bubblescope.net>
695
696         PR libstdc++/18159
697         * include/tr1/tuple (get(pair)): Change occurrences of _I to _Int.
698         (get(const pair)): Likewise.
699
700 2004-11-01  Paolo Carlini  <pcarlini@suse.de>
701
702         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
703         Evaluate *__beg the exact strict minimum number of times; likewise
704         for __beg != __end; in the main parsing loop, call ++__beg in two
705         places only. The former is also a correctness issue, because,
706         according to the standard (22.2.2.1.2, Stage 2), 'in' shall be
707         dereferenced only one time for each increment.
708
709 2004-10-31  Benjamin Kosnik  <bkoz@redhat.com>
710
711         PR c++/16728
712         * testsuite/23_containers/set/modifiers/16728.cc: New.
713
714 2004-10-30  Paolo Carlini  <pcarlini@suse.de>
715
716         * include/ext/bitmap_allocator.h (allocate(size_type)): Minor tweak.
717
718         * testsuite/ext/bitmap_allocator/check_delete.cc: New.
719         * testsuite/ext/bitmap_allocator/check_new.cc: Likewise.
720
721 2004-10-29  Geoffrey Keating  <geoffk@apple.com>
722
723         * configure.host (darwin*): Set os_include_dir to a separate directory
724         for Darwin.
725         * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Add a new C locale kind,
726         'darwin'.
727         * config/locale/darwin/ctype_members.cc: New.
728         * config/os/bsd/darwin/ctype_base.h: New.
729         * config/os/bsd/darwin/ctype_inline.h: New.
730         * config/os/bsd/darwin/ctype_noninline.h: New.
731         * config/os/bsd/darwin/os_defines.h: New.
732
733         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Only xfail
734         on Linux.
735
736 2004-10-29  Chris Jefferson  <chris@bubblescope.net>
737
738         * include/bit/stl_algo.h (find_first_of(,,,,pred)):
739         Remove invalid EqualOpConcept.
740         * testsuite/25_algorithms/find_first_of/concept_check_1.cc: New.
741
742 2004-10-29  Benjamin Kosnik  <bkoz@redhat.com>
743
744         * testsuite/testsuite_allocator.h (check_delete): New.
745         (check_new): Simplify.
746         * testsuite/ext/array_allocator/check_delete.cc: New.
747         * testsuite/ext/array_allocator/check_new.cc: Simplify.
748         * testsuite/ext/debug_allocator/check_delete.cc: New.
749         * testsuite/ext/debug_allocator/check_new.cc: Simplify.
750         * testsuite/ext/malloc_allocator/check_delete.cc: New.
751         * testsuite/ext/malloc_allocator/check_new.cc: Simplify.
752         * testsuite/ext/mt_allocator/check_delete.cc: New.
753         * testsuite/ext/mt_allocator/check_new.cc: Simplify.
754         * testsuite/ext/new_allocator/check_delete.cc: New.
755         * testsuite/ext/new_allocator/check_new.cc: Simplify.
756         * testsuite/ext/pool_allocator/check_delete.cc: New.
757         * testsuite/ext/pool_allocator/check_new.cc: Simplify.
758
759 2004-10-28  Chris Jefferson  <chris@bubblescope.net>
760
761         PR libstdc++/18159
762         * include/tr1/tuple: Fix, change formatting.
763
764 2004-10-28  Benjamin Kosnik  <bkoz@redhat.com>
765
766         * include/ext/mt_allocator.h (__common_pool_policy): Add template
767         template parameter for pool class type.
768         (__per_type_pool_policy): Same.
769         (__mt_allocator): Don't inherit policy. Qualify policy_type calls.
770         * testsuite/ext/mt_allocator/check_deallocate_null.cc: Fix.
771         * testsuite/ext/mt_allocator/check_deallocate_null_thread.cc: Same.
772         * testsuite/ext/mt_allocator/deallocate_global-2.cc: Same.
773         * testsuite/ext/mt_allocator/deallocate_global-4.cc: Same.
774         * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Same.
775         * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Same.
776         * testsuite/ext/mt_allocator/deallocate_local-2.cc: Same.
777         * testsuite/ext/mt_allocator/deallocate_local-4.cc: Same.
778         * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Same.
779         * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Same.
780         * testsuite/ext/mt_allocator/instantiate.cc: Same.
781         * testsuite/ext/mt_allocator/tune-1.cc: Same.
782         * testsuite/ext/mt_allocator/tune-2.cc: Same.
783         * testsuite/ext/mt_allocator/tune-3.cc: Same.
784         * testsuite/ext/mt_allocator/tune-4.cc: Same.
785
786 2004-10-28  Paolo Carlini  <pcarlini@suse.de>
787
788         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
789         Cache *__beg in __c when parsing exponent sign too.
790         (num_get<>::do_get(..., bool&)): Cache *__beg.
791         (money_get<>::_M_extract)): Likewise, in money_base::value.
792
793 2004-10-27  Paolo Carlini  <pcarlini@suse.de>
794
795         * include/bits/basic_string.h (assign(const basic_string&)):
796         Move out of line...
797         * include/bits/basic_string.tcc: ... here.
798
799 2004-10-27  Paolo Carlini  <pcarlini@suse.de>
800
801         * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
802         Move out of line...
803         * include/bits/basic_string.tcc: ... here.
804
805 2004-10-26  Paolo Carlini  <pcarlini@suse.de>
806
807         * include/bits/basic_string.h (append(const basic_string&),
808         append(size_type, _CharT)): Move out of line...
809         * include/bits/basic_string.tcc: ... here.
810
811 2004-10-26  Paolo Carlini  <pcarlini@suse.de>
812
813         * include/bits/basic_string.h (erase(size_type, size_type),
814         erase(iterator), erase(iterator, iterator)): Call _M_mutate
815         instead of _M_replace_safe, equivalent when the fourth argument
816         is zero and simpler.
817
818 2004-10-26  Benjamin Kosnik  <bkoz@redhat.com>
819
820         * include/ext/array_allocator.h (array::allocate): Check for valid
821         array object, use its size member function directly.
822         * testsuite/ext/array_allocator/3.cc: New.
823         * docs/html/20_util/allocator.html: Add docs.
824         
825 2004-10-25  Geoffrey Keating  <geoffk@apple.com>
826
827         * configure.host (darwin*): Build libstdc++ single module
828         and flat namespace.
829         * libsupc++/new_op.cc (new): Make weak.
830         * libsupc++/new_opnt.cc (new): Make weak.
831         * libsupc++/new_opv.cc (new): Make weak.
832         * libsupc++/new_opvnt.cc (new): Make weak.
833         * libsupc++/delete_op.cc (delete): Make weak.
834         * libsupc++/delete_opnt.cc (delete): Make weak.
835         * libsupc++/delete_opv.cc (delete): Make weak.
836         * libsupc++/delete_opvnt.cc (delete): Make weak.
837
838 2004-10-25  Benjamin Kosnik  <bkoz@redhat.com>
839
840         * testsuite/Makefile.am (GLIBCXX_INCLUDES): Add.
841         (AUTOMAKE_OPTIONS): Add nostdinc.
842         * testsuite/Makefile.in: Regenerate.
843         * scripts/testsuite_flags.in (build-includes): Remove redundant
844         search for libsupc++.
845         * fragment.am: Clean.
846         
847 2004-10-25  Benjamin Kosnik  <bkoz@redhat.com>
848
849         * include/Makefile.am (tr1_headers): Add tuple.
850         * include/Makefile.in: Regenerate.
851
852 2004-10-25  Chris Jefferson  <chris@bubblescope.net>
853
854         * include/tr1/tuple: Implementation of tuple from library TR.
855         * testsuite/tr1/6_containers/tuple/tuple_element.cc: New.
856         * testsuite/tr1/6_containers/tuple/tuple_size.cc: New.
857         * testsuite/tr1/6_containers/tuple/comparison_operators/comparisons.cc:
858         New.
859         * testsuite/tr1/6_containers/tuple/cons/assignment.cc: New.
860         * testsuite/tr1/6_containers/tuple/cons/big_tuples.cc: New.
861         * testsuite/tr1/6_containers/tuple/cons/constructor.cc: New.
862         * testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc: 
863         New.
864         * testsuite/tr1/6_containers/tuple/creation_functions/tie.cc: New.
865         * testsuite/tr1/6_containers/tuple/element_access/get.cc: New.
866
867 2004-10-25  Paolo Carlini  <pcarlini@suse.de>
868         
869         * include/bits/basic_string.h (_Rep::_M_is_safe): Move to
870         basic_string as _M_disjunct, adjust to take only __s.
871         * include/bits/basic_string.tcc: Adjust consistently callers. 
872
873 2004-10-25  Paolo Carlini  <pcarlini@suse.de>
874
875         * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
876         Adjust bit missing from the previous commit.
877
878 2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
879
880         PR other/18138
881         * testsuite/lib/libstdc++.exp: Accept more than one multilib libgcc.
882
883 2004-10-25  Paolo Carlini  <pcarlini@suse.de>
884
885         * include/bits/basic_string.h (_Rep::_M_is_safe, _M_check_length,
886         _M_move, _M_copy, _M_assign): New, use througout.
887         (operator+=(_CharT)): Define in terms of push_back.
888         (append(const basic_string&)): Define here, inline, and simplify,
889         don't use the full _M_replace_safe.
890         (append(size_type, _CharT)): Likewise, don't use _M_replace_aux.
891         (push_back): Likewise.
892         (assign(const basic_string&)): Define here, inline.
893         * include/bits/basic_string.tcc (append(const _CharT* s, size_type):
894         Fix: when s points inside the _Rep, upon reallocation (reserve) we
895         were copying from deallocated memory.
896         (append(const basic_string&, size_type, size_type)): Simplify,
897         don't use _M_replace_safe.
898         (replace(size_type, size_type, const _CharT*, size_type)): Slightly
899         tweak.
900         (reserve): Likewise.
901         * testsuite/21_strings/basic_string/append/char/2.cc: New.
902         * testsuite/21_strings/basic_string/append/char/3.cc: Likewise.
903         * testsuite/21_strings/basic_string/append/wchar_t/2.cc: Likewise.
904         * testsuite/21_strings/basic_string/append/wchar_t/3.cc: Likewise.
905
906         * testsuite/21_strings/basic_string/assign/char/3.cc: Remove junk.
907         * testsuite/21_strings/basic_string/assign/wchar_t/3.cc: Likewise.
908
909 2004-10-23  Andrew Pinski  <pinskia@physics.uc.edu>
910
911         * testsuite/ext/mt_allocator/deallocate_global-2.c:
912         s/value_t/value_type/. s/traits_t/traits_type/.
913         s/policy_t/policy_type/. s/allocator_t/allocator_type/.
914         s/string_t/string_type/. s/list_t/list_type/.
915         * testsuite/ext/mt_allocator/deallocate_global-4.cc: Likewise.
916         * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Likewise.
917         * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Likewise.
918         * testsuite/ext/mt_allocator/deallocate_local-2.cc: Likewise.
919         * testsuite/ext/mt_allocator/deallocate_local-4.cc: Likewise.
920         * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Likewise.
921         * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Likewise.
922
923 2004-10-21  Benjamin Kosnik  <bkoz@redhat.com>
924
925         * include/tr1/array (array): Make safe for zero-sized arrays.
926         (array::end): Return one past the end.
927         (array::at): Use __throw_out_of_range, include functexcept.h.
928         (operator==): Implement.
929         (operator!=): Same.
930         (operator<): Same.
931         (operator>): Same.
932         (operator>=): Same.
933         (operator<=): Same.
934         * testsuite/tr1/6_containers/array/capacity/(empty.cc,
935         max_size.cc, size.cc): New.
936         * testsuite/tr1/6_containers/array/comparison_operators/(equal.cc,
937         greater.cc, greater_or_equal.cc, less.cc, less_or_equal.cc,
938         not_equal): New.
939         * testsuite/tr1/6_containers/array/cons/aggregate_initialization.cc: 
940         New.
941         * testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc: 
942         New.
943         * testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc: New.
944         * testsuite/tr1/6_containers/array/requirements/(contiguous.cc,
945         instantiate, typedefs, zero_size_arrays): New.
946
947 2004-10-21  Paolo Carlini  <pcarlini@suse.de>
948             Benjamin Kosnik  <bkoz@redhat.com>
949
950         * include/bits/basic_string.h (_M_set_length_and_sharable): New.
951         * include/bits/basic_string.tcc (_S_construct, assign(const _CharT*,
952         size_type), _M_mutate, _M_clone): Use it.
953         (_Rep::_S_create): Don't set/call _M_length/_M_set_sharable here.
954
955 2004-10-21  Paolo Carlini  <pcarlini@suse.de>
956             Dhruv Matani  <dhruvbird@gmx.net>
957             Nathan Myers  <ncm@cantrip.org>
958
959         * include/bits/vector.tcc (_M_insert_aux, _M_fill_insert,
960         _M_range_insert): Check at the outset that we are not trying
961         to exceed max_size, then deal properly with __len overflows.
962         * testsuite/23_containers/vector/modifiers/insert/1.cc: New.
963         
964         * testsuite/testsuite_allocator.h: Remove redundant include.
965
966 2004-10-20  Paolo Carlini  <pcarlini@suse.de>
967
968         * include/ext/bitmap_allocator.h (allocate): Throw std::bad_alloc
969         when n > max_size().
970         * include/ext/malloc_allocator.h (allocate): Likewise.
971         * include/ext/mt_allocator.h (allocate): Likewise.
972         * include/ext/new_allocator.h (allocate): Likewise.
973         * include/ext/array_allocator.h: Use __throw_bad_alloc().
974         * include/ext/pool_allocator.h: Use __builtin_expect.
975         * testsuite/ext/array_allocator/check_allocate_max_size.cc: New.
976         * testsuite/ext/bitmap_allocator/check_allocate_max_size.cc: Likewise.
977         * testsuite/ext/malloc_allocator/check_allocate_max_size.cc: Likewise.
978         * testsuite/ext/mt_allocator/check_allocate_max_size.cc: Likewise.
979         * testsuite/ext/new_allocator/check_allocate_max_size.cc: Likewise.
980         * testsuite/ext/pool_allocator/check_allocate_max_size.cc: Likewise.
981         * testsuite/testsuite_allocator.h (check_allocate_max_size): New test.
982
983 2004-10-19  Paolo Carlini  <pcarlini@suse.de>
984
985         * testsuite/performance/20_util/allocator/list_sort_search.cc:
986         Include <ext/new_allocator.h>.
987         * testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
988
989 2004-10-18  Paolo Carlini  <pcarlini@suse.de>
990
991         * include/bits/basic_string.tcc (_M_mutate): Do not reallocate
992         unnecessarily when _M_rep() == &_S_empty_rep() and __new_size
993         == capacity() (== 0): is ok to just leave everything unchanged.
994
995         * include/bits/basic_string.h: Minor formatting fixes.
996         * include/bits/basic_string.tcc: Likewise.
997
998 2004-10-17  Benjamin Kosnik  <bkoz@redhat.com>
999
1000         * include/ext/mt_allocator.h (__pool::_M_get_align): New.
1001         (__mt_alloc::allocate): Use it.
1002         * src/mt_allocator.cc (__pool::_M_reclaim_block): Use it.
1003         (__pool::_M_reserve_block): Simplify block allocation.
1004         
1005 2004-10-17  Dhruv Matani  <dhruvbird@gmx.net>
1006             Paolo Carlini  <pcarlini@suse.de>
1007                 
1008         * include/ext/bitmap_allocator.h: Change unsigned int -> size_t: this
1009         makes the code 64-bit correct and also fixes (together with using at
1010         the beginning a bitmap 2 * size_t bytes wide) alignment issues: now
1011         8 is guaranteed, easily tunable to 16 via _BALLOC_ALIGN_BYTES.
1012         Fix pthread-rope7.cc fail by nulling out __mini_vector<> destructor.
1013         * src/bitmap_allocator.cc: Change to size_t.
1014         * config/linker-map.gnu: Adjust.
1015
1016 2004-10-16  Benjamin Kosnik  <bkoz@redhat.com>
1017
1018         * include/tr1/array: Don't use layout_type.
1019
1020 2004-10-16  Sashan Govender  <sashang@gmail.com>
1021
1022         * include/tr1/array (array::end const): Fix casting from iterator
1023         to const_iterator.
1024         
1025 2004-10-15  Paolo Carlini  <pcarlini@suse.de>
1026
1027         * include/ext/bitmap_allocator.h: Qualify ::operator delete.
1028         * src/bitmap_allocator.cc: Likewise.
1029         * src/mt_allocator.cc: Use ::operator delete, not delete,
1030         consistently with ::operator new.
1031
1032         * include/ext/bitmap_allocator.h (deallocate): Check for null
1033         pointer.
1034         * testsuite/ext/bitmap_allocator/check_deallocate_null.cc: New.
1035         * testsuite/testsuite_allocator.h (check_deallocate_null): Add test.
1036
1037 2004-10-14  Benjamin Kosnik  <bkoz@redhat.com>
1038
1039         * include/ext/mt_allocator.h (__mt_alloc::deallocate): Check for
1040         null pointer.
1041         * include/ext/pool_allocator.h (debug_allocator::deallocate):
1042         Check pointer value.
1043         * include/ext/debug_allocator.h (debug_allocator::deallocate):
1044         Throw exceptions, don't abort.
1045         * include/ext/array_allocator.h
1046         (array_allocator_base::deallocate): Remove unused parameters.
1047         * testsuite/testsuite_allocator.h (check_deallocate_null): New.
1048         * testsuite/ext/mt_allocator/check_deallocate_null.cc: New.
1049         * testsuite/ext/mt_allocator/check_deallocate_null_thread.cc: New.
1050         * testsuite/ext/array_allocator/check_deallocate_null.cc: New.
1051         * testsuite/ext/debug_allocator/check_deallocate_null.cc: New.
1052         * testsuite/ext/malloc_allocator/check_deallocate_null.cc: New.
1053         * testsuite/ext/new_allocator/check_deallocate_null.cc: New.
1054         * testsuite/ext/pool_allocator/check_deallocate_null.cc: New.
1055
1056         * testsuite/testsuite_allocator.h (check_new): Add instance argument.
1057         * testsuite/ext/array_allocator/check_new.cc: New.
1058         
1059 2004-10-14  Paolo Carlini  <pcarlini@suse.de>
1060
1061         * include/ext/bitmap_allocator.h (bitmap_allocator::_Alloc_block):
1062         Rename __unused to __M_unused.
1063
1064 2004-10-14  Benjamin Kosnik  <bkoz@redhat.com>
1065
1066         * testsuite/ext/headers.cc: Add includes, compile only.
1067         * testsuite/ext/hash_map.cc: Move to...
1068         * testsuite/ext/hash_map/1.cc: ...here.
1069         * testsuite/ext/14648.cc: Move to...
1070         * testsuite/ext/hash_map/14648.cc: ...here.
1071         * testsuite/ext/hash_map/instantiate.cc: Add.
1072         * testsuite/ext/hash_set.cc: Move to...
1073         * testsuite/ext/hash_set/1.cc: ...here.
1074         * testsuite/ext/hash_set_explicit_instantiation.cc: Move to...
1075         * testsuite/ext/hash_set/instantiate.cc: ...here.
1076         * testsuite/ext/hash_check_construct_destroy.cc: Move to...
1077         * testsuite/ext/hash_set/check_construct_destroy.cc: ...here.
1078         * testsuite/ext/slist_check_construct_destroy.cc: Move to...
1079         * testsuite/ext/slist/check_construct_destroy.cc: ...here.
1080         * testsuite/ext/slist_explicit_instantiation.cc: Move to...
1081         * testsuite/ext/slist/instantiate.cc: ...here.
1082         
1083 2004-10-14  Benjamin Kosnik  <bkoz@redhat.com>
1084
1085         * include/ext/mt_allocator.h: Tweaks.
1086         * src/mt_allocator.cc: Same.
1087
1088 2004-10-14  Dhruv Matani  <dhruvbird@gmx.net>
1089
1090         * ext/bitmap_allocator.h: Clean-up add/remove functions.
1091         * src/bitmap_allocator.cc: New file. Contains the out-of-line
1092         function definitions, static initialization of variables, and
1093         explicit instantiations needed for the allocator.
1094         * src/Makefile.am: Add.
1095         * src/Makefile.in: Regenerate.
1096         * config/linker.map.gnu: Add the necessary symbols.
1097
1098 2004-10-13  Paolo Carlini  <pcarlini@suse.de>
1099
1100         * include/bits/basic_string.tcc (_S_create): Use consistently
1101         the exponential policy, simplify.
1102         * testsuite/performance/21_strings/string_append_2.cc: New.
1103
1104         * include/ext/array_allocator.h (allocate): Fix bad_alloc check.
1105         * testsuite/ext/array_allocator/2.cc: Fix wrt 64-bit archs (in
1106         that case sizeof(_Rep) == 24).
1107
1108 2004-10-12  Paolo Carlini  <pcarlini@suse.de>
1109
1110         PR libstdc++/17948
1111         * include/bits/stl_tree.h (erase(iterator, iterator)): Revert
1112         wrong commit of 2004-10-07.
1113         
1114 2004-10-12  Scott Snyder  <snyder@fnal.gov>
1115
1116         PR libstdc++/17948
1117         * testsuite/23_containers/set/modifiers/17948.cc: New.
1118
1119 2004-10-11  Benjamin Kosnik  <bkoz@redhat.com>
1120
1121         * include/bits/stl_deque.h: Correct for over-long lines.
1122
1123 2004-10-11  Benjamin Kosnik  <bkoz@redhat.com>
1124
1125         PR libstdc++/17937
1126         * include/ext/mt_allocator.h (__pool::_M_destroy): New.
1127         * src/mt_allocator.cc (__pool::~__pool): Change definitions to
1128         _M_destroy.
1129         * acconfig.h: Remove _GLIBCXX_USE___CXA_ATEXIT.
1130         * acinclude.m4 (GLIBCXX_ENABLE_CXA_ATEXIT): Remove.
1131         * configure.ac: Remove call to GLIBCXX_ENABLE_CXA_EXIT.
1132         * configure: Regenerate.
1133         * config/linker-map.gnu: Tweak exports.
1134         * docs/html/ext/mt_allocator.html: Update docs.
1135         * testsuite/ext/mt_allocator/deallocate_global-2.cc: Fix.
1136         * testsuite/ext/mt_allocator/deallocate_global-4.cc: Fix.       
1137         * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Fix.
1138         * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Fix.
1139         * testsuite/ext/mt_allocator/deallocate_local-2.cc: Fix.
1140         * testsuite/ext/mt_allocator/deallocate_local-4.cc: Fix.
1141         * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Fix.
1142         * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Fix.
1143
1144 2004-10-11  Benjamin Kosnik  <bkoz@redhat.com>
1145
1146         PR libstdc++/16614 continued.
1147         * include/ext/mt_allocator.h
1148         (__per_type_pool_policy::_S_get_pool): Use saner defaults based on
1149         specific type characteristics.
1150         (__pool_base): Add constructor that takes a _Tune argument.
1151         (__pool): Same.
1152         * testsuite/ext/mt_allocator/tune-2.cc: Adjust default.
1153         * testsuite/ext/mt_allocator/tune-4.cc: Same.
1154         * testsuite/ext/mt_allocator/tune-3.cc: Same.
1155
1156 2004-10-11  Joachim Kuebart  <kuebart@mathematik.uni-ulm.de>
1157             Paolo Carlini  <pcarlini@suse.de>
1158
1159         * src/pool_allocator.cc (__pool_alloc_base::_M_allocate_chunk):
1160         Deal properly with exceptions thrown by ::operator new(size_t).
1161         * testsuite/ext/pool_allocator/allocate_chunk.cc: New.
1162
1163         * include/ext/pool_allocator.h: Include <cstdlib>.
1164
1165 2004-10-10  Benjamin Kosnik  <bkoz@redhat.com>
1166
1167         * include/bits/functexcept.h: Add guards.
1168
1169         * acinclude.m4 (GLIBCXX_ENABLE_THREADS): Tweak test.
1170         * configure: Regenerate.
1171         
1172 2004-10-10  Paolo Carlini  <pcarlini@suse.de>
1173
1174         * config/locale/gnu/monetary_members.cc (_S_construct_pattern):
1175         Give __ret a default value, thus avoiding spurious warnings.
1176
1177         * testsuite/performance/27_io/filebuf_sgetn_unbuf.cc: Open either
1178         words or linux.words, otherwise exit.
1179         * testsuite/performance/27_io/ifstream_getline.cc: Slighlty tweak.
1180
1181 2004-10-09  Paolo Carlini  <pcarlini@suse.de>
1182
1183         * include/std/std_memory.h (__get_temporary_buffer): Don't use
1184         INT_MAX, prefer numeric_limits<ptrdiff_t>::max(), ok on 64-bit
1185         platforms too.
1186         * testsuite/20_util/memory/auto_ptr/assign_neg.cc: Adjust dg-error
1187         line numbers.
1188
1189 2004-10-08  Benjamin Kosnik  <bkoz@redhat.com>
1190
1191         * acconfig.h: Add _GLIBCXX_USE___CXA_ATEXIT.
1192         * acinclude.m4 (GLIBCXX_ENABLE_CXA_ATEXIT): New.
1193         * configure.ac: Call GLIBCXX_ENABLE_CXA_EXIT.
1194         * configure: Regenerate.
1195         * src/mt_allocator.cc (__pool::~__pool): Make conditional on
1196         _GLIBCXX_USE___CXA_ATEXIT macro.
1197         * docs/html/ext/mt_allocator.html: Add note about deallocation.
1198         * testsuite/ext/mt_allocator/deallocate_local-2.cc: Guard checks
1199         with _GLIBCXX_USE___CXA_ATEXIT.
1200         * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Same.
1201         * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Same.
1202         * testsuite/ext/mt_allocator/deallocate_global-4.cc: Same.
1203         * testsuite/ext/mt_allocator/deallocate_global-2.cc: Same.
1204         * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Same.
1205         * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Same.
1206         * testsuite/ext/mt_allocator/deallocate_local-4.cc: Same.
1207         
1208 2004-10-07  Phil Edwards  <phil@codesourcery.com>
1209
1210         * testsuite/lib/libstdc++.exp:  Update list of undefined functions.
1211
1212 2004-10-07  Paolo Carlini  <pcarlini@suse.de>
1213
1214         * include/bits/list.tcc (operator=): Avoid iterator postincrement.
1215         * include/bits/stl_tree.h (erase(iterator, iterator)): Likewise.
1216
1217 2004-10-07  Benjamin Kosnik  <bkoz@redhat.com>
1218
1219         * include/tr1: New.
1220         * include/tr1/array: New.
1221         * include/Makefile.am (tr1_headers): New.
1222         (stamp-tr1): New.
1223         (install-headers): New.
1224         (allstamped): Add stamp-tr1.
1225
1226         * include/ext/array_allocator.h: New.
1227         * include/Makefile.am: Add.
1228         * include/Makefile.in: Regenerate.
1229         * testsuite/ext/array_allocator/1.cc: New.
1230         * testsuite/ext/array_allocator/2.cc: New.
1231
1232 2004-10-07  Richard Earnshaw  <rearnsha@arm.com>
1233
1234         * testsuite/lib/libstdc++.exp (libstdc++_exit): New proc.
1235
1236 2004-10-07  Roger Sayle  <roger@eyesopen.com>
1237
1238         PR libstdc++/17850
1239         * configure.ac: Newlib does not provide strtold.
1240         * configure: Regenerate.
1241
1242 2004-10-06  Benjamin Kosnik  <bkoz@redhat.com>
1243
1244         * acinclude.m4 (GLIBCXX_ENABLE_THREADS): Set enable_thread.
1245         (GLIBCXX_CONFIGURE_TESTSUITE): Use it.
1246         * configure: Regenerated.
1247         * testsuite/Makefile.am (CLEANFILES): Add TEST for
1248         check-performance executables.
1249         (stamp_thread): New.
1250         (all-local): Use it.
1251         * testsuite/Makefile.in: Regenerate.
1252         * scripts/create_testsuite_files: Filter thread tests.
1253
1254         * testsuite/thread/pthread1.cc: Remove macro conditionals: this
1255         file will only be run by thread enabled configurations.
1256         * testsuite/thread/pthread7-rope.cc: Same, add rope_type typedef.
1257         * testsuite/thread/pthread6.cc: Same.
1258         * testsuite/thread/pthread5.cc: Same.
1259         * testsuite/thread/pthread4.cc: Same.
1260         * testsuite/thread/pthread3.cc: Same.
1261         * testsuite/thread/pthread2.cc: Same.
1262
1263         * testsuite/ext/mt_allocator/instantiate.cc: Add in __GTHREADS guard.
1264         * testsuite/ext/mt_allocator/deallocate_global-1.cc: Move to...
1265         * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: ...here.
1266         * testsuite/ext/mt_allocator/deallocate_global-3.cc: Move to...
1267         * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: ...here. 
1268         * testsuite/ext/mt_allocator/deallocate_local-1.cc: Move to...
1269         * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: ...here.
1270         * testsuite/ext/mt_allocator/deallocate_local-3.cc: Move to...
1271         * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: ...here.
1272
1273 2004-10-06  Benjamin Kosnik  <bkoz@redhat.com>
1274             Paolo Carlini  <pcarlini@suse.de>
1275
1276         PR libstdc++/17780
1277         * src/mt_allocator.cc (__pool<true>::_M_reserve_block): Revert
1278         to old locking order.
1279
1280 2004-10-06  Paolo Carlini  <pcarlini@suse.de>
1281
1282         * include/std/std_sstream.h (_M_sync): When the caller is
1283         setbuf, don't trust _M_string.capacity() to be the size of
1284         the buffer area, use _M_string.size() in this case.
1285         * testsuite/27_io/basic_stringbuf/setbuf/char/4.cc: New.
1286         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc: Likewise.
1287
1288         * include/bits/sstream.tcc (overflow): Avoid calling string::assign
1289         unnecessarily when the current _M_string is empty.
1290
1291 2004-10-06  Paolo Carlini  <pcarlini@suse.de>
1292
1293         * include/bits/stl_algo.h (__reverse(bidirectional_iterator_tag)):
1294         Avoid iterator postincrement.
1295         (__rotate): Likewise.
1296
1297         * include/bits/stl_algo.h: Minor formatting tweaks.
1298
1299 2004-10-06  Christopher Jefferson <caj@cs.york.ac.uk>
1300
1301         * include/bits/stl_algo.h (__reverse(random_access_iterator_tag)):
1302         Avoid iterator postincrement; fix swapping middle element with
1303         itself on odd-length inputs.
1304
1305 2004-10-05  Benjamin Kosnik  <bkoz@redhat.com>
1306
1307         PR libstdc++/17780
1308         * include/ext/mt_allocator.h (__pool_base::_Tune): Add default
1309         options as compile-time constant enums.
1310         (__pool_base::_Tune::is_default): New.
1311         (__pool_base::_Block_address): New.
1312         (__pool_base): Rearrange data members.
1313         (__pool::_M_reserve_memory): To _M_reserve_block.
1314         (__pool::_M_reclaim_memory): To _M_reclaim_block.       
1315         (__pool::_Bin_record): Add _Block_address data member.
1316         (__pool<false>): Add _M_thread_freelist_initial.
1317         (__pool::~__pool): Declare.     
1318         (__common_pool_policy): Move static data member to...
1319         (__common_pool_policy::_S_get_pool): ...here, make static local.
1320         (__per_type_pool_policy): Move static data member to...
1321         (__per_type_pool_policy::_S_get_pool): ...here, make static local.
1322         (__mt_alloc::__mt_alloc): Call __policy_type::_S_get_pool.
1323         Remove static member definitions. Use define for __default_policy.
1324         * src/mt_allocator.cc: Same.
1325         * config/linker-map.gnu: Don't export _S_get_pool. Renames.
1326         * testsuite/ext/new_allocator: New.
1327         * testsuite/ext/new_allocator/instantiate.cc: New.
1328         * testsuite/ext/new_allocator/check_new.cc: New.
1329         * testsuite/ext/new_allocator/deallocate_global.cc: New.
1330         * testsuite/ext/new_allocator/deallocate_local.cc: New.
1331         * testsuite/ext/mt_allocator/instantiate.cc: Instantiate all
1332         template arguments.
1333         * testsuite/ext/mt_allocator/deallocate_global-1.cc: New.
1334         * testsuite/ext/mt_allocator/deallocate_global-2.cc: New.
1335         * testsuite/ext/mt_allocator/deallocate_global-3.cc: New.
1336         * testsuite/ext/mt_allocator/deallocate_global-4.cc: New.
1337         * testsuite/ext/mt_allocator/deallocate_local-1.cc: New.
1338         * testsuite/ext/mt_allocator/deallocate_local-2.cc: New.
1339         * testsuite/ext/mt_allocator/deallocate_local-3.cc: New.
1340         * testsuite/ext/mt_allocator/deallocate_local-4.cc: New.
1341         * testsuite/ext/mt_allocator/deallocate.cc: New.
1342         * testsuite/ext/malloc_allocator/deallocate.cc: New.    
1343         * testsuite/ext/malloc_allocator/deallocate_global.cc: New.
1344         * testsuite/ext/malloc_allocator/deallocate_local.cc: New.
1345         
1346 2004-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
1347
1348         * configure.host (abi_baseline_pair): Define for s390-*-linux* and
1349         s390x-*-linux*.
1350         * config/abi/s390-linux-gnu/baseline_symbols.txt: Add missing symbols.
1351         * config/abi/s390x-linux-gnu/baseline_symbols.txt: New file.
1352
1353 2004-10-05  Christopher Jefferson  <caj@cs.york.ac.uk>
1354
1355         * include/bits/stl_algobase.h (iter_swap): delegate to swap via
1356         __iter_swap when iterator's value_types are equal.
1357         (struct __iter_swap): New.
1358
1359 2004-10-04  Benjamin Kosnik  <bkoz@redhat.com>
1360
1361         * configure.ac (libtool_VERSION): To 6:3:0.
1362         * configure: Regnerate.
1363         * testsuite/testsuite_abi.cc (check_version): Add 3.4.3.
1364
1365 2004-10-04  Roger Sayle  <roger@eyesopen.com>
1366             Eric Botcazou  <ebotcazou@libertysurf.fr>
1367
1368         PR libstdc++/17505
1369         * config/linker-map.gnu: Synchronize the current list of stub
1370         functions from libmath.
1371
1372 2004-10-03  Roger Sayle  <roger@eyesopen.com>
1373
1374         * config/locale/generic/c_locale.cc (__convert_to_v): Use
1375         _GLIBCXX_HAVE_STRTOF instead _GLIBCXX_USE_C99 to check for strtof.
1376         Likewise, use _GLIBCXX_HAVE_STRTOLD instead of _GLIBCXX_USE_C99
1377         to check for presence of strtold.
1378
1379 2004-10-03  Paolo Carlini  <pcarlini@suse.de>
1380
1381         * include/bits/stl_list.h: Trivial formatting fixes.
1382         * include/bits/stl_tree.h: Likewise.
1383
1384 2004-10-03  Paolo Carlini  <pcarlini@suse.de>
1385
1386         * include/bits/sstream.tcc (seekpos): In case of success, just
1387         return __sp.
1388
1389 2004-10-01  Paolo Carlini  <pcarlini@suse.de>
1390
1391         * include/bits/sstream.tcc (pbackfail): Implement correctly
1392         27.7.1.3/2, bullet 2: if mode & ios_base::out is false do not
1393         write in the buffer.
1394         * testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc: New.
1395         * testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc: Likewise.
1396         * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc: Likewise.
1397         * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc: Likewise.
1398         * testsuite/27_io/basic_istream/putback/char/1.cc: Tweak consistently.
1399
1400 2004-10-01  Paolo Carlini  <pcarlini@suse.de>
1401
1402         * include/bits/sstream.tcc (seekpos): Minor rearrangement of two
1403         conditionals consistently with seekoff.
1404         * include/std/std_sstream.h (setbuf): Avoid a string temporary.
1405         (_M_sync): Simplify a bit, clean-up comment.
1406
1407 2004-09-30  Paolo Carlini  <pcarlini@suse.de>
1408
1409         PR libstdc++/10975 (DR 453)
1410         * include/bits/sstream.tcc (seekoff): Don't fail if __beg == 0
1411         and __off == 0.
1412         * docs/html/ext/howto.html: Add an entry for DR 453.
1413         * testsuite/27_io/basic_stringbuf/seekoff/char/10975.cc: New.
1414         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/10975.cc: Likewise.
1415         * testsuite/27_io/basic_istream/tellg/char/1.cc: Tweak consistently.
1416         * testsuite/27_io/basic_ostream/tellp/char/1.cc: Likewise.
1417         * testsuite/27_io/basic_ostream/tellp/char/2.cc: Likewise.
1418         * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc: Fix and
1419         move to...
1420         * testsuite/27_io/basic_istream/seekp/char/2346-fstream.cc: ... here.
1421         * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc: Fix and
1422         move to...
1423         * testsuite/27_io/basic_istream/seekp/char/2346-sstream.cc: ... here.
1424
1425 2004-09-29  Paolo Carlini  <pcarlini@suse.de>
1426
1427         * include/std/std_sstream.h (basic_stringbuf(ios_base::openmode)):
1428         Don't use _M_stringbuf_init, keep the pointers null, per 27.7.1.1.
1429         (str()): Slightly tweak, protect from pptr() == 0.
1430         (_M_update_egptr()): Likewise.
1431         * include/bits/sstream.tcc (ssekoff, seekpos): In order to check
1432         for an empty buffer use __beg instead of _M_string.capacity().
1433         * testsuite/27_io/basic_stringbuf/cons/char/1.cc: New.
1434         * testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc: Likewise.
1435
1436         * testsuite/27_io/basic_filebuf/cons/char/1.cc: New.
1437         * testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc: Likewise.
1438         * testsuite/27_io/basic_streambuf/cons/char/1.cc: Update.
1439         * testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: Likewise.
1440
1441 2004-09-29  Paolo Carlini  <pcarlini@suse.de>
1442             Benjamin Kosnik  <bkoz@redhat.com>
1443         
1444         * testsuite/testsuite_io.h (class constraint_buf): New, extended
1445         and templatized version of constraint_filebuf; add typedefs for
1446         streambuf/stringbuf/filebuf and wchar_t counterparts.
1447
1448 2004-09-28  Paolo Carlini  <pcarlini@suse.de>
1449
1450         PR libstdc++/16612
1451         * include/bits/basic_string.h (_M_dispose, _M_refcopy,
1452         basic_string()): When _GLIBCXX_FULLY_DYNAMIC_STRING is defined,
1453         don't deal with _S_empty_rep.
1454         * include/bits/basic_string.tcc (_S_construct, _M_destroy,
1455         _M_leak_hard, _M_mutate): Likewise.
1456         * acinclude.m4 (GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING): New.
1457         * acconfig.h: Add corresponding undef.  
1458         * configure.ac: Use GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING.
1459         * docs/html/configopts.html: Document --enable-fully-dynamic-string.
1460         * configure: Regenerate.
1461         * config.h.in: Likewise.
1462
1463 2004-09-28  Benjamin Kosnik  <bkoz@redhat.com>
1464             Paolo Carlini  <pcarlini@suse.de>
1465
1466         * testsuite/21_strings/basic_string/operations/char/1.cc: New.
1467         * testsuite/21_strings/basic_string/operations/wchar_t/1.cc: New.
1468         * testsuite/21_strings/basic_string/element_access/char/empty.cc: New.
1469         * testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc: 
1470         New.
1471
1472 2004-09-28  Paolo Carlini  <pcarlini@suse.de>
1473
1474         * README: Remove obsolete entry about include/c_shadow.
1475
1476 2004-09-24  H.J. Lu  <hongjiu.lu@intel.com>
1477
1478         PR libstdc++/17469
1479         * testsuite/lib/libstdc++.exp: Don't use global ld_library_path.
1480
1481 2004-09-24  Paolo Carlini  <pcarlini@suse.de>
1482
1483         * src/localename.cc (locale::locale(const char*)): Minor tweaks:
1484         rename a variable, move an assignment.
1485         (locale::_Impl::_Impl(const char*, size_t)): Likewise, minor tweak.
1486
1487 2004-09-24  Paul Brook  <paul@codesourcery.com>
1488
1489         * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: XFAIL more arm
1490         simulator targets.
1491         * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Ditto.
1492         * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Ditto.
1493         * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Ditto.
1494         * testsuite/27_io/basic_istream/readsome/char/6746-2.cc: Ditto.
1495         * testsuite/ext/stdio_filebuf/char/10063-2.cc: Ditto.
1496         * testsuite/ext/stdio_filebuf/char/10063-3.cc: Ditto.
1497
1498 2004-09-23  Zack Weinberg  <zack@codesourcery.com>
1499
1500         * testsuite/20_util/memory/auto_ptr/assign_neg.cc
1501         * testsuite/23_containers/map/operators/1_neg.cc
1502         * testsuite/23_containers/set/operators/1_neg.cc:
1503         Update locations and/or regexps of dg-error markers.
1504
1505 2004-09-23  P.J. Darcy  <darcypj@us.ibm.com>
1506
1507         * include/Makefile.am (thread_host_headers): Add gthr-tpf.h.
1508         Add rule to build ${host_builddir}/gthr-tpf.h.
1509         * include/Makefile.in: Regenerate.
1510
1511 2004-09-23  Paolo Carlini  <pcarlini@suse.de>
1512             Magnus Fromreide  <magfr@lysator.liu.se>
1513
1514         * include/bits/boost_concept_check.h (struct _SequenceConcept):
1515         Remove wrong requirement, i.e., not present in Table 67.
1516
1517 2004-09-21  Paolo Carlini  <pcarlini@suse.de>
1518
1519         PR libstdc++/12882 (cont)
1520         * acinclude.m4 (GLIBCXX_CHECK_LFS): Check for fstat64 too.
1521         * configure: Regenerate.
1522         * config/io/basic_file_stdio.cc (__basic_file<>::showmanyc): When
1523         _GLIBCXX_USE_LFS use fstat64 and lseek64, thus providing a non
1524         trivial showmanyc for large files too.
1525
1526 2004-09-17  Jonathan Wakely  <redi@gcc.gnu.org>
1527
1528         * include/bits/stl_algo.h (remove): Remove too restrictive
1529         concept-check.
1530
1531 2004-09-17  Paolo Carlini  <pcarlini@suse.de>
1532
1533         * include/bits/fstream.tcc (xsgetn): Slightly tweak conditional,
1534         as per Nathan's original suggestion.
1535
1536 2004-09-17  Paolo Carlini  <pcarlini@suse.de>
1537
1538         * testsuite/ext/mt_allocator/tune-1.cc: Use VERIFY, clean
1539         up a bit.
1540         * testsuite/ext/mt_allocator/tune-2.cc: Likewise.
1541         * testsuite/ext/mt_allocator/tune-3.cc: Likewise.
1542         * testsuite/ext/mt_allocator/tune-4.cc: Likewise.
1543
1544 2004-09-17  Paolo Carlini  <pcarlini@suse.de>
1545             Andrea Arcangeli  <andrea@suse.de>
1546
1547         * config/io/basic_file_stdio.cc (__basic_file<>::close)): Don't
1548         call unnecessarily sync, that is fflush: the library, since 3.4.0
1549         does not use buffered fread/fwrite.
1550         * include/bits/fstream.tcc (basic_filebuf<>::overflow): Likewise.
1551
1552 2004-09-15  Mark Mitchell  <mark@codesourcery.com>
1553
1554         * config/cpu/arm/cxxabi_tweaks.h (__cxa_cdtor_return_type):
1555         Define.
1556         * config/cpu/generic/cxxabi_tweaks.h (__cxa_cdtor_return_type):
1557         Define.
1558         * libsupc++/cxxabi.h (__cxa_cdtor_return_type): New type.
1559         (__cxa_vec_new): Use it.
1560         (__cxa_vec_new2): Likewise.
1561         (__cxa_vec_new3): Likewise.
1562         (__cxa_vec_cdtor): Likewise.
1563         (__cxa_vec_cctor): Likeiwse.
1564         (__cxa_vec_dtor): Likewise.
1565         (__cxa_vec_cleanup): Likewise.
1566         (__cxa_vec_delete2): Likewise.
1567         (__cxa_vec_delete3): Likewise.
1568         * libsupc++/vec.cc (__cxa_vec_new): Likewise.
1569         (__cxa_vec_new2): Likewise.
1570         (__cxa_vec_new3): Likewise.
1571         (__cxa_vec_cdtor): Likewise.
1572         (__cxa_vec_cctor): Likeiwse.
1573         (__cxa_vec_dtor): Likewise.
1574         (__cxa_vec_cleanup): Likewise.
1575         (__cxa_vec_delete2): Likewise.
1576         (__cxa_vec_delete3): Likewise.
1577         (__aeabi_vec_ctor_nocookie_nodtor): New function.
1578         (__aeabi_vec_ctor_cookie_nodtor): Likewise.
1579         (__aeabi_vec_cctor_nocookie_nodtor): Likewise.
1580         (__aeabi_vec_new_cookie_noctor): Likewise.
1581         (__aeabi_vec_new_nocookie): Likewise.
1582         (__aeabi_vec_new_cookie_nodtor): Likewise.
1583         (__aeabi_vec_new_cookie): Likewise.
1584         (__aeabi_vec_dtor): Likewise.
1585         (__aeabi_vec_dtor_cookie): Likewise.
1586         (__aeabi_vec_delete): Likewise.
1587         (__aeabi_vec_delete3): Likewise.
1588         (__aeabi_vec_delete3_nodtor): Likewise.
1589         (__aeabi_atexit): Likewise.
1590
1591 2004-09-14  Nathan Myers  <ncm@cantrip.org>
1592
1593         * include/bits/fstream.tcc (xsgetn): Slightly tweak the recent fix
1594         for 11722: copy can replace move; the common case is __avail == 0.
1595
1596 2004-09-14  Paolo Carlini  <pcarlini@suse.de>
1597
1598         * include/bits/cpp_type_traits.h: Rename __is_trivially_copyable
1599         to __is_scalar, more clear and consistent with "tr1" naming.
1600         * include/bits/stl_algobase.h: Update consistently throughout.
1601
1602 2004-09-13  Paolo Carlini  <pcarlini@suse.de>
1603
1604         PR libstdc++/11722
1605         * include/std/std_fstream.h (xsgetn): Declare only.
1606         * include/bits/fstream.tcc (xsgetn): Define, optimize for the
1607         always_noconv() case: when __n > __buflen, copy the available
1608         buffer and issue a direct read.
1609         * testsuite/performance/27_io/filebuf_sgetn_unbuf.cc: New.
1610
1611         * include/bits/fstream.tcc (xsputn): Minor tweak, reorder a
1612         conditional.
1613
1614 2004-09-13  Hans-Peter Nilsson  <hp@bitrange.com>
1615
1616         * testsuite/lib/libstdc++.exp: Use gcc wrapper.exp and call
1617         libstdc++_maybe_build_wrapper instead of using local code.
1618
1619 2004-09-08  Benjamin Kosnik  <bkoz@redhat.com>
1620
1621         * config/linker-map.gnu (GLIBCXX_3.4.3): New, adjust symbol exports.
1622
1623 2004-09-03  Jan Beulich  <jbeulich@novell.com>
1624
1625         * crossconfig.m4: Add NetWare as a target.
1626         * configure: Regenerate.
1627
1628 2004-09-02  Mark Mitchell  <mark@codesourcery.com>
1629
1630         * libsupc++/typeinfo: Honor __GXX_MERGED_TYPEINFO_NAMES if already
1631         defined.
1632
1633 2004-09-02  Benjamin Kosnik  <bkoz@redhat.com>
1634             Simon Richter  <Simon.Richter@hogyros.de>
1635
1636         PR libstdc++/16715
1637         * include/bits/istream.tcc: Add extern template for iostream
1638         char and wchar_t instantiations.
1639
1640 2004-09-02  Benjamin Kosnik  <bkoz@redhat.com>
1641             Leland Wang  <llwang@infor.org>
1642
1643         PR libstdc++/17259
1644         * include/ext/ropeimpl.h (rope::_S_compare): Use
1645         _Rope_constants::_S_leaf.
1646
1647 2004-09-02  Benjamin Kosnik  <bkoz@redhat.com>
1648
1649         PR libstdc++/16848
1650         * include/Makefile.am (ext_headers): Remove demangle.h.
1651         * include/Makefile.in: Regenerate.
1652         * include/ext/demangle.h: Remove.
1653
1654 2004-09-01  Benjamin Kosnik  <bkoz@redhat.com>
1655
1656         PR libstdc++/16614
1657         * include/ext/mt_allocator.h (__mt_base): Not type dependent,
1658         split into..
1659         (__pool): New, specialize.
1660         (__common_pool): New, static bits here.
1661         (__per_type_pool): New, and here.
1662         (__mt_alloc_base): New.
1663         (__mt_alloc): Add template parameter, inherit from it.
1664         * src/allocator.cc: Split this...
1665         * src/allocator-inst.cc: And this...
1666         * src/pool_allocator.cc: ...into this.
1667         * src/mt_allocator.cc: ... and this. Add definitions for
1668         __mt_base.
1669         * src/Makefile.am (sources): Split allocator.cc to
1670         pool_allocator.cc and mt_allocator.cc.
1671         * src/Makefile.in: Regenerate.
1672         * config/linker-map.gnu: Add symbols.
1673         * docs/html/ext/mt_allocator.html: Document new design.
1674         * testsuite/ext/mt_allocator/tune-1.cc: New.
1675         * testsuite/ext/mt_allocator/tune-2.cc: New.
1676         * testsuite/ext/mt_allocator/tune-3.cc: New.
1677         * testsuite/ext/mt_allocator/tune-4.cc: New.
1678
1679         * testsuite/testsuite_allocator.h (__gnu_test::check_new): New.
1680         * testsuite/ext/allocators.cc: Use check_new, split into...
1681         * testsuite/ext/mt_allocator/check_new.cc: this.
1682         * testsuite/ext/pool_allocator/check_new.cc: this.
1683         * testsuite/ext/malloc_allocator/check_new.cc: this.
1684         * testsuite/ext/debug_allocator/check_new.cc: this.
1685         * testsuite/ext/mt_allocator/instantiate.cc: this.
1686         * testsuite/ext/pool_allocator/instantiate.cc: this.
1687         * testsuite/ext/malloc_allocator/instantiate.cc: this.
1688         * testsuite/ext/debug_allocator/instantiate.cc: this.
1689
1690 2004-08-30  Phil Edwards  <phil@codesourcery.com>
1691
1692         * docs/html/install.html:  Update locales list (from Paolo).
1693         Remove other redundant information and point to the GCC install
1694         documentation.
1695
1696 2004-08-30  Benjamin Kosnik  <bkoz@redhat.com>
1697
1698         * include/ext/pool_allocator.h: Rename __pool_base to
1699         __pool_alloc_base.
1700         * src/allocator.cc: Same.
1701         * config/linker-map.gnu: Same.
1702
1703 2004-08-30  Paolo Carlini  <pcarlini@suse.de>
1704             Kenneth C. Schalk  <ken@xorian.net>
1705
1706         PR libstdc++/17215
1707         * config/io/basic_file_stdio.cc (__basic_file<char>::close()):
1708         Check the return value of fclose/sync, loop on EINTR.
1709         (__basic_file<char>::sys_open): Likewise, for sync.
1710
1711 2004-08-29  Paolo Carlini  <pcarlini@suse.de>
1712
1713         * include/bits/locale_facets.tcc (time_get<>::_M_extract_via_format,
1714         case 'S'): Allow for at least one leap-second (as per C99, 7.23.1
1715         and 7.23.3.5), two if !_GLIBCXX_USE_C99.
1716         * testsuite/22_locale/time_get/get_time/char/4.cc: New.
1717         * testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
1718
1719 2004-08-27  Jason Merrill  <jason@redhat.com>
1720
1721         PR c++/13684
1722         * libsupc++/guard.cc (static_mutex): Internal class implementing a
1723         recursive mutex which controls initialization of local statics.
1724         (__gnu_cxx::recursive_init): New exception class.
1725         (__cxa_guard_acquire): Deal with locking and recursion detection.
1726         (acquire_1, __cxa_guard_abort, __cxa_guard_release): Likewise.
1727
1728 2004-08-27  Matthias Klose  <doko@debian.org>
1729
1730         * configure.host: For mips*-*-linux* update cpu_include_dir
1731         after atomicity_dir is set.
1732
1733 2004-08-27  Matthias Klose  <doko@debian.org>
1734
1735         * config/abi/arm-linux-gnu/baseline_symbols.txt: New.
1736         * config/abi/mips-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
1737         * configure.host: Set abi_baseline_pair for arm*-*-linux* and
1738         mips*-*-linux*.
1739
1740 2004-08-27  Paolo Carlini  <pcarlini@suse.de>
1741
1742         * testsuite/27_io/manipulators/adjustfield/wchar_t/1.cc: New.
1743         * testsuite/27_io/manipulators/adjustfield/wchar_t/2.cc: Likewise.
1744         * testsuite/27_io/manipulators/basefield/wchar_t/1.cc: Likewise.
1745         * testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise.
1746         * testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise.
1747
1748         * testsuite/27_io/manipulators/adjustfield/char/1.cc: Minor
1749         formatting fixes.
1750         * testsuite/27_io/manipulators/adjustfield/char/2.cc: Likewise.
1751         * testsuite/27_io/manipulators/basefield/char/1.cc: Likewise.
1752         * testsuite/27_io/manipulators/standard/char/1.cc: Likewise.
1753         * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
1754
1755 2004-08-25  Paolo Carlini  <pcarlini@suse.de>
1756
1757         PR libstdc++/17038 (partial)
1758         * include/bits/locale_facets.tcc (time_put<>::do_put): Increase
1759         __maxlen to 128.
1760         * include/bits/locale_facets.h (class __timepunct): Add FIXME
1761         comment about _M_put.
1762         * config/locale/generic/time_members.cc (_M_put): Always null
1763         terminate __s.
1764         * config/locale/gnu/time_members.cc (_M_put): Likewise.
1765         * testsuite/22_locale/time_put/put/char/17038.cc: New.
1766         * testsuite/22_locale/time_put/put/wchar_t/17038.cc: New.
1767
1768 2004-08-24  Paolo Carlini  <pcarlini@suse.de>
1769
1770         * testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc: New.
1771         * testsuite/27_io/basic_istringstream/str/wchar_t/1.cc: Likewise.
1772         * testsuite/27_io/basic_ostringstream/cons/wchar_t/3.cc: Likewise.
1773         * testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc: Likewise.
1774         * testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc: Likewise.
1775         * testsuite/27_io/basic_ostringstream/str/wchar_t/2.cc: Likewise.
1776
1777         * testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Trim excess
1778         newlines.
1779         * testsuite/27_io/basic_istringstream/str/char/1.cc: Likewise.
1780
1781 2004-08-22  Matthias Klose  <doko@debian.org>
1782
1783         * config/abi/m68k-linux-gnu/baseline_symbols.txt: New.
1784         * config/abi/sparc-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
1785
1786 2004-08-23  Paolo Carlini  <pcarlini@suse.de>
1787
1788         * configure.ac: Specify version 1.9.1 in AM_INIT_AUTOMAKE.
1789         * aclocal.m4: Regenerate with automake-1.9.1.
1790         * configure: Regenerate.
1791         * Makefile.in: Likewise.
1792         * include/Makefile.in: Likewise.
1793         * libmath/Makefile.in: Likewise.
1794         * libsupc++/Makefile.in: Likewise.
1795         * po/Makefile.in: Likewise.
1796         * src/Makefile.in: Likewise.
1797         * testsuite/Makefile.in: Likewise.
1798
1799 2004-08-22  Paolo Carlini  <pcarlini@suse.de>
1800
1801         * include/bits/locale_facets.tcc (num_put<>::do_put(bool)): Cast
1802         to a signed type, long according to the resolution of DR 359.
1803         * testsuite/22_locale/num_put/put/char/9.cc: New.
1804         * testsuite/22_locale/num_put/put/wchar_t/9.cc: New.
1805
1806         * include/bits/locale_facets.tcc (num_put<>::do_put(const void*)):
1807         Simplify a bit: no need to clear showpos.
1808
1809 2004-08-21  Paolo Carlini  <pcarlini@suse.de>
1810
1811         * include/bits/char_traits.h (struct _Char_traits_match): Remove,
1812         unused.
1813
1814 2004-08-21  Paolo Carlini  <pcarlini@suse.de>
1815
1816         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Use proper
1817         wchar_t type for the fill argument; minor formatting tweaks.
1818         * testsuite/22_locale/money_put/put/wchar_t/12971.cc: Likewise.
1819         * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
1820         * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
1821         * testsuite/22_locale/money_put/put/wchar_t/4.cc: Likewise.
1822         * testsuite/22_locale/money_put/put/wchar_t/5.cc: Likewise.
1823         * testsuite/22_locale/money_put/put/wchar_t/6.cc: Likewise.
1824
1825 2004-08-21  Paolo Carlini  <pcarlini@suse.de>
1826
1827         * include/bits/basic_ios.tcc (basic_ios<>::copyfmt): Don't deal
1828         with _M_word != _M_local_word two times, redundantly.
1829
1830 2004-08-20  Jason Merrill  <jason@redhat.com>
1831
1832         * include/Makefile.am (${host_builddir}/gthr.h): Don't add
1833         _GLIBCXX_ to #pragma lines.
1834         * include/Makefile.in: Update.
1835
1836 2004-08-20  Paolo Carlini  <pcarlini@suse.de>
1837
1838         PR libstdc++/7219 (continued)
1839         * include/bits/ios_base.h (class ios_base): Expose Annex D.6
1840         typedefs by default.
1841         * testsuite/27_io/types/1.cc: Remove #if _GLIBCXX_DEPRECATED.
1842         * testsuite/27_io/ios_base/cons/assign_neg.cc: Tweak dg-error
1843         line number.
1844         * testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
1845
1846 2004-08-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1847
1848         * cpu/hppa/atomicity.h (__exchange_and_add, __atomic_add): Add memory
1849         barrier to locking asm.
1850
1851 2004-08-20  Paolo Carlini  <pcarlini@suse.de>
1852
1853         * include/c_std/cmath.tcc (__cmath_power): Revert previous commit:
1854         actually the warning is a front-end bug (c++/17120).
1855
1856 2004-08-20  Matthias Klose  <doko@debian.org>
1857
1858         * config/abi/s390-linux-gnu/baseline_symbols.txt: New.
1859
1860 2004-08-20  Paolo Carlini  <pcarlini@suse.de>
1861
1862         * include/c_std/cmath.tcc (__cmath_power): Suppress assignment
1863         used as truth value warning.
1864
1865 2004-08-20  Paolo Carlini  <pcarlini@suse.de>
1866
1867         * config/abi/x86_64-linux-gnu/32/baseline_symbols.txt: Add 32 bit
1868         baseline.
1869
1870 2004-08-20  Paolo Carlini  <pcarlini@suse.de>
1871
1872         * config/abi/x86_64-linux-gnu/baseline_symbols.txt: Fix it.
1873
1874 2004-08-19  Benjamin Kosnik  <bkoz@redhat.com>
1875
1876         * testsuite/22_locale/time_put/put/char/3.cc (test03): Don't check
1877         timezone.
1878         * testsuite/22_locale/time_put/put/wchar_t/3.cc (test03): Same.
1879
1880 2004-08-19  Paolo Carlini  <pcarlini@suse.de>
1881
1882         * testsuite/performance/20_util/allocator/insert.cc: For std::map
1883         instantiate the allocator for a correct pair type.
1884         * testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
1885         * testsuite/performance/20_util/allocator/map_thread.cc: Likewise.
1886         * testsuite/performance/20_util/allocator/producer_consumer.cc:
1887         Likewise.
1888
1889         * testsuite/performance/20_util/allocator/list_sort_search.cc: Very
1890         minor formatting fixes.
1891         * testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
1892
1893 2004-08-19  Paolo Carlini  <pcarlini@suse.de>
1894
1895         * testsuite/22_locale/time_put/put/char/1.cc: Add VERIFY on the
1896         results.
1897         * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
1898         * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
1899         * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
1900         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
1901         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
1902         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
1903         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
1904
1905 2004-08-19  Paolo Carlini  <pcarlini@suse.de>
1906
1907         * config/abi/x86_64-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
1908
1909 2004-08-18  Matthias Klose  <doko@debian.org>
1910
1911         * config/abi/hppa-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
1912         * config/abi/i386-linux-gnu/baseline_symbols.txt: New.
1913         * config/abi/powerpc-linux-gnu/baseline_symbols.txt: New.
1914
1915 2004-08-17  Paolo Carlini  <pcarlini@suse.de>
1916
1917         * config/abi/alpha-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
1918
1919 2004-08-17  Paolo Carlini  <pcarlini@suse.de>
1920
1921         * config/abi/ia64-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
1922
1923 2004-08-17  Benjamin Kosnik  <bkoz@redhat.com>
1924
1925         * config/abi/i486-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
1926
1927 2004-08-16  Paolo Carlini  <pcarlini@suse.de>
1928
1929         * include/bits/indirect_array.h: Trivial formatting fixes.
1930         * include/bits/valarray_after.h: Likewise.
1931         * include/bits/valarray_array.h: Likewise.
1932         * src/valarray-inst.cc: Likewise.
1933
1934 2004-08-15  Paolo Carlini  <pcarlini@suse.de>
1935
1936         * testsuite/27_io/basic_stringstream/rdbuf/char/2832.cc: Remove junk.
1937         * testsuite/27_io/basic_stringstream/str/char/1.cc: Likewise.
1938         * testsuite/27_io/basic_stringstream/str/char/3.cc: Likewise.
1939
1940         * testsuite/27_io/basic_stringstream/rdbuf/wchar_t/2832.cc: New.
1941         * testsuite/27_io/basic_stringstream/str/wchar_t/1.cc: Likewise.
1942         * testsuite/27_io/basic_stringstream/str/wchar_t/2.cc: Likewise.
1943         * testsuite/27_io/basic_stringstream/str/wchar_t/3.cc: Likewise.
1944         * testsuite/27_io/basic_stringstream/str/wchar_t/4.cc: Likewise.
1945
1946 2004-08-15  Paolo Carlini  <pcarlini@suse.de>
1947
1948         * include/bits/deque.tcc: Trivial formatting fixes.
1949
1950 2004-08-15  Paolo Carlini  <pcarlini@suse.de>
1951
1952         * include/bits/deque.tcc: Trivial formatting fixes.
1953
1954         * include/bits/locale_facets.tcc (num_get<>::do_get(&bool)):
1955         Remove unneded typedef.
1956
1957         * include/bits/locale_facets.tcc: Very minor tweaks.
1958
1959         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Use proper
1960         type for the fill argument.
1961         * testsuite/22_locale/time_put/put/wchar_t/10.cc: Likewise.
1962         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
1963         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
1964         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
1965         * testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
1966         * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
1967         * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
1968         * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
1969
1970 2004-08-13  Paolo Carlini  <pcarlini@suse.de>
1971
1972         * src/debug.cc (_Error_formatter::_M_print_string): Fix thinko,
1973         memmove is not needed, memcpy suffices.
1974
1975 2004-08-13  Paolo Carlini  <pcarlini@suse.de>
1976
1977         * include/std/std_fstream.h (class basic_ifstream,
1978         class basic_ofstream, class basic_fstream): Add const overloads
1979         of is_open, as per DR 365 [WP].
1980         * docs/html/ext/howto.html: Add an entry for DR 365.
1981
1982 2004-08-12  Paolo Carlini  <pcarlini@suse.de>
1983
1984         * configure.ac: Specify version 1.8.5 in AM_INIT_AUTOMAKE.
1985
1986 2004-08-12  Paolo Carlini  <pcarlini@suse.de>
1987
1988         PR libstdc++/16956
1989         * include/bits/sstream.tcc (basic_stringbuf<>::seekoff): Add __off
1990         to the returned value, reorganize a bit.
1991         * testsuite/27_io/basic_stringbuf/seekoff/char/16956.cc: New.
1992         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/16956.cc: New.
1993
1994         * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Remove junk.
1995         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.
1996         * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Likewise.
1997         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc: Likewise.
1998
1999 2004-08-12  Paul Brook  <paul@codesourcery.com>
2000
2001         * config/cpu/arm/cxxabi_tweaks.h: Define __cxa_vec_ctor_return and
2002         _GLIBCXX_CXA_VEC_CTOR_RETURN.
2003         * config/cpu/generic/cxxabi_tweaks.h: Ditto.
2004         * libsupc++/cxxabi.h (__cxa_vec_ctor, __cxa_vec_cctor): Use
2005         __cxa_vec_ctor_return.
2006         * libsupc++/vec.cc (__cxa_vec_ctor, __cxa_vec_cctor): Ditto.
2007         Use _GLIBCXX_CXA_VEC_CTOR_RETURN.
2008
2009 2004-08-12  Kelley Cook  <kcook@gcc.gnu.org>
2010
2011         * Makefile.in, aclocal.m4, configure, include/Makefile.in,
2012         libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
2013         src/Makefile.in, testsuite/Makefile.in: Regenerate
2014
2015 2004-08-12  Jan Beulich  <jbeulich@novell.com>
2016
2017         * config/locale/generic/ctype_members.cc
2018         (ctype<wchar_t>::_M_convert_to_wmask): Default case must not use 0 as
2019         initializer for return value, as that is invalid for enumerated types.
2020         * config/locale/gnu/ctype_members.cc
2021         (ctype<wchar_t>::_M_convert_to_wmask): Likewise.
2022
2023 2004-08-11  Paolo Carlini  <pcarlini@suse.de>
2024
2025         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Fix typo.
2026
2027 2004-08-11  Paolo Carlini  <pcarlini@suse.de>
2028
2029         * testsuite/27_io/basic_stringbuf/imbue/char/1.cc: Declare test
2030         variable.
2031         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc: Ditto.
2032         * testsuite/27_io/basic_stringbuf/in_avail/char/1.cc: Remove junk.
2033         * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Ditto.
2034         * testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc: Ditto.
2035         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Ditto.
2036         * testsuite/27_io/basic_stringbuf/setbuf/char/1.cc: Ditto.
2037         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc: Ditto.
2038         * testsuite/27_io/basic_stringbuf/sgetc/char/1.cc: Ditto.
2039         * testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Ditto.
2040         * testsuite/27_io/basic_stringbuf/sgetn/char/1.cc: Ditto.
2041         * testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Ditto.
2042         * testsuite/27_io/basic_stringbuf/snextc/char/1.cc: Ditto.
2043         * testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Ditto.
2044         * testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Ditto.
2045         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc: Ditto.
2046         * testsuite/27_io/basic_stringbuf/sputc/char/1.cc: Ditto.
2047         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc: Ditto.
2048         * testsuite/27_io/basic_stringbuf/sputn/char/1.cc: Ditto.
2049         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc: Ditto.
2050         * testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Ditto.
2051         * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Ditto.
2052
2053 2004-08-11  Paolo Carlini  <pcarlini@suse.de>
2054             Petur Runolfsson  <peturr02@ru.is>
2055
2056         PR libstdc++/16959
2057         * src/ios_init.cc (ios_base::sync_with_stdio): Make sure the
2058         standard streams are constructed.
2059         * testsuite/27_io/ios_base/sync_with_stdio/16959.cc: New.
2060
2061 2004-08-09  Paolo Carlini  <pcarlini@suse.de>
2062
2063         * include/bits/stl_bvector.h: Trivial formatting fixes.
2064
2065 2004-08-09  Paolo Carlini  <pcarlini@suse.de>
2066
2067         * src/ios.cc (ios_base::_M_grow_words): Uglify the names.
2068
2069 2004-08-07  Jonathan Wakely  <redi@gcc.gnu.org>
2070             Paolo Carlini  <pcarlini@suse.de>
2071
2072         * src/debug.cc (_Error_formatter::_M_print_string): In order
2073         to print individual words from __string, _M_format_word can't
2074         be called since may be just sprintf, thus ignoring completely
2075         __n: instead, use memmove and append '\0' by hand.
2076
2077 2004-08-07  Paolo Carlini  <pcarlini@suse.de>
2078
2079         * config/locale/generic/c_locale.h (__convert_from_v): Don't
2080         use a default for __prec, assume __prec >= 0 and simplify.
2081         * config/locale/gnu/c_locale.h (__convert_from_v): Likewise.
2082         * include/bits/locale_facets.tcc (money_put<>::do_put(long double)):
2083         Pass format "%.*Lf" + precision == 0, equivalent to "%.0Lf".
2084
2085 2004-08-04  Phil Edwards  <phil@codesourcery.com>
2086
2087         * docs/html/configopts.html:  Emphasize that options change.
2088         * docs/html/17_intro/configury.html:  Update links.
2089
2090 2004-08-03  Paolo Carlini  <pcarlini@suse.de>
2091
2092         * include/bits/list.tcc: Trivial formatting fixes.
2093
2094 2004-08-03  Mark Mitchell  <mark@codesourcery.com>
2095
2096         * libsupc++/new_op.cc: Update comments.
2097         * libsupc++/del_op.cc: Likewise.
2098
2099 2004-08-02  Mark Mitchell  <mark@codesourcery.com>
2100
2101         * libsupc++/cxxabi.h: Make all declarations have default
2102         visibility.
2103         * libsupc++/exception: Likewise.
2104         * libsupc++/new: Likewise.
2105         * libsupc++/typeinfo: Likewise.
2106         * libsupc++/unwind-cxx.h: Likewise.
2107         * libsupc++/eh_alloc.cc (__cxa_allocate_exception): Put it into
2108         the __cxxabiv1 namespace.
2109         (__cxa_free_exception): Likewise.
2110         * libsupc++/eh_aux_runtime.cc (__cxa_bad_cast): Likewise.
2111         (__cxa_bad_typeid): Likewise.
2112         * libsupc++/eh_catch.cc (__cxa_begin_catch): Likewise.
2113         (__cxa_end_catch): Likewise.
2114         * libsupc++/eh_globals.cc (__cxa_get_globals_fast): Likewise.
2115         (__cxa_get_globals): Likewise.
2116         * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
2117         (__cxa_rethrow): Likewise.
2118         * libsupc++/pure.cc (__cxa_pure_virtual): Likewise.
2119         * libsupc++/eh_type.cc: Include <cxxabi.h>.
2120
2121         * Makefile.am (hosted_source): Add libmath and testsuite.
2122         (SUBDIRS): Remove them.
2123         * acinclude.m4: (GLIBCXX_ENABLED_HOSTED): Default to freestanding
2124         on arm*-*-symbianelf*.
2125         * crossconfig.m4: Add arm*-*-symbianelf* support.
2126         * include/c_std/std/std_cstdlib.h (stdlib.h): Do not include it
2127         when freestanding.  Do not bring names into std:: namespace with
2128         "using" when freestanding.  Declare required functions and macros
2129         when freestanding.
2130         * libsupc++/Makefile.am (c_sources): Do not include cp-demangle.c
2131         when freestanding.
2132         * libsupc++/del_op.cc: Declare "free" only when freestanding.
2133         * libsupc++/eh_alloc.cc (cstring): Include it only when hosted.
2134         (malloc): Declare when freestanding.
2135         (free): Likewise.
2136         (memset): Likewise.
2137         (__cxa_allocate_exception): Call malloc, not std::malloc.  Likewise
2138         for memset.
2139         (__cxa_free_exception): Likewise for free.
2140         * libsupc++/new_op.cc: Declare "malloc" when freestanding.
2141         * libsupc++/pure.cc (writestr): Define to nothing when
2142         freestanding.
2143         * libsupc++/vterminate.cc: Do not define anything when
2144         freestanding.
2145         * Makefile.in: Regenerated.
2146         * aclocal.m4: Likewise.
2147         * configure: Likewise.
2148         * include/Makefile.in: Likewise.
2149         * libmath/Makefile.in: Likewise.
2150         * libsupc++/Makefile.in: Likewise.
2151         * po/Makefile.in: Likewise.
2152         * src/Makefile.in: Likewise.
2153         * testsuite/Makefile.in: Likewise.
2154
2155 2004-08-01  Matt Austern  <austern@apple.com>
2156
2157         PR libstdc++/16844
2158         * include/bits/stl_list.h (_M_create_node): Remove unused
2159         zero-argument version.
2160         * include/ext/slist (_M_create_node): Pass two arguments to
2161         allocator's construct() member function.
2162         * testsuite/23_containers/deque/explicit_instantiation.cc: New.
2163         * testsuite/23_containers/list/explicit_instantiation.cc: New.
2164         * testsuite/23_containers/vector/explicit_instantiation.cc: New.
2165         * testsuite/23_containers/map/explicit_instantiation.cc: New.
2166         * testsuite/23_containers/set/explicit_instantiation.cc: New.
2167         * testsuite/23_containers/multimap/explicit_instantiation.cc: New.
2168         * testsuite/23_containers/multiset/explicit_instantiation.cc: New.
2169         * testsuite/ext/hash_set_explicit_instantiation.cc: New.
2170         * testsuite/ext/slist_explicit_instantiation.cc: New.
2171
2172 2004-07-30  Paolo Carlini  <pcarlini@suse.de>
2173
2174         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
2175         num_get<>::_M_extract_int): In the main parsing loop delay the
2176         life of __q to the actual use point.
2177
2178 2004-07-29  Paolo Carlini  <pcarlini@suse.de>
2179
2180         PR libstdc++/14220
2181         * include/bits/locale_facets.tcc (num_put<>::_M_insert_float):
2182         Don't clip the precision passed down to __convert_from_v:
2183         22.2.2.2.2 nowhere says so.
2184         * testsuite/22_locale/num_put/put/char/14220.cc: New.
2185         * testsuite/22_locale/num_put/put/wchar_t/14220.c: Likewise.
2186
2187 2004-07-29  Paolo Carlini  <pcarlini@suse.de>
2188
2189         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 31.
2190
2191 2004-07-29  Paolo Carlini  <pcarlini@suse.de>
2192             Petur Runolfsson  <peturr02@ru.is>
2193
2194         PR libstdc++/12658 (continued)
2195         * src/locale_init.cc (locale::locale, locale::global): Use
2196         a single locale_mutex instead of two separate mutexes.
2197
2198 2004-07-29  Paolo Carlini  <pcarlini@suse.de>
2199
2200         PR libstdc++/16813
2201         * include/debug/map.h (insert(_InputIterator, _InputIterator)):
2202         Fix typo.
2203         * testsuite/23_containers/map/insert/16813.cc: New.
2204
2205 2004-07-29  Phil Edwards  <phil@codesourcery.com>
2206
2207         * docs/html/faq/index.html:  Update version references.  Make
2208         clear that code from SGI has diverged greatly.  Remove references
2209         to library snapshots and what's-new sections.
2210         * docs/html/faq/index.txt:  Regenerate.
2211
2212 2004-07-28  Matt Austern  <austern@apple.com>
2213
2214         * include/bits/stl_construct.h (_Destroy): New three-argument
2215         overload that takes an allocator argument.  Another inline
2216         three-argument overload that takes std::allocator and dispatches
2217         to the two-argument version.
2218         * include/bits/stl_uninitialized.h (__uninitialized_fill_n_aux):
2219         Change return type to void to match uninitialized_fill_n.
2220         (__uninitialized_copy_a_): New function.  Like uninitialized_copy
2221         except that it takes an allocator and uses it for construct and
2222         destroy.  If the allocator is std::allocator, dispatches to
2223         uninitialized_copy.
2224         (__uninitialized_fill_a): Likewise.
2225         (__uninitialized_fill_n_a): Likewise.
2226         (__uninitialized_copy_copy): Give it an allocator argument.
2227         (__uninitialized_fill_copy): Likewise.
2228         (__uninitialized_copy_fill): Likewise.
2229         * include/bits/deque.tcc: Use new forms defined in stl_construct.h
2230         and stl_uninitialized.h.  Replace use of single-argument _Construct
2231         and _Destroy with use of allocator's construct and destroy methods.
2232         * include/bits/list.tcc: Likewise.
2233         * include/bits/stl_deque.h: Likewise.
2234         * include/bits/stl_list.h: Likewise.
2235         * include/bits/stl_tree.h: Likewise.
2236         * include/bits/stl_vector.h: Likewise.
2237         * include/bits/vector.tcc: Likewise.
2238         * include/ext/hashtable.h: Use rebind so that allocator_type
2239         has correct type for a container's allocator.  Replace use of
2240         single-argument _Construct and _Destroy with use of allocator's
2241         construct and destroy methods.
2242         * include/ext/memory (__uninitialized_copy_n_a): New function.
2243         Like uninitialized_copy_n except that it takes an extra parameter,
2244         an allocator, and uses it for construct and destroy operations.
2245         * include/ext/rope: Use new forms defined in stl_construct.h,
2246         stl_uninitialized.h, and ext/memory.  Replace use of single-argument
2247         _Construct and _Destroy with allocator construct and destroy methods.
2248         * include/ext/ropeimpl.h: Likewise.
2249         * include/ext/slist.h: Likewise.
2250         * testsuite/testsuite_allocator.h (check_construct_destroy): New.
2251         * testsuite/testsuite_allocator.cc (check_construct_destroy): New.
2252         * testsuite/23_containers/deque/check_construct_destroy.cc: New.
2253         * testsuite/23_containers/list/check_construct_destroy.cc: New.
2254         * testsuite/23_containers/set/check_construct_destroy.cc: New.
2255         * testsuite/23_containers/vector/check_construct_destroy.cc: New.
2256         * testsuite/ext/hash_check_construct_destroy.cc: New.
2257         * testsuite/ext/slist_check_construct_destroy.cc: New.
2258
2259 2004-07-28  Alexandre Oliva  <aoliva@redhat.com>
2260
2261         2003-10-01  Eric Christopher  <echristo@redhat.com>
2262         * config/cpu/sh/atomicity.h (__exchange_and_add): Remove 'm'
2263         constraint.
2264         2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
2265         * config/cpu/sh/atomicity.h: New.  Use movli and movco on SH4a.
2266
2267 2004-07-23  Benjamin Kosnik  <bkoz@redhat.com>
2268
2269         PR libstdc++/16678
2270         * include/bits/locale_facets.tcc: Fix for -Werror.
2271
2272 2004-07-23  Jonathan Wakely  <redi@gcc.gnu.org>
2273
2274         * docs/html/debug.html: Say debug mode only available since 3.4.0.
2275
2276 2004-07-21  Benjamin Kosnik  <bkoz@redhat.com>
2277
2278         * docs/doxygen/mainpage.html: Clarify links.
2279         * docs/doxygen/stdheader.cc: Add files.
2280         * docs/doxygen/style.css: Remove bolds, add h2, h3 styles.
2281         * docs/doxygen/user.cfg.in: New options, wrap.
2282
2283 2004-07-20  Danny Smith  <dannysmith@users.sourceforge.net>
2284
2285         * include/c_std/std_cwchar.h (wcsstr): Correct signature.
2286
2287 2004-07-19  Benjamin Kosnik  <bkoz@redhat.com>
2288
2289         PR libstdc++/15488
2290         * testsuite/lib/libstdc++.exp (v3-copy-files): Revert.
2291
2292 2004-07-17  Richard Sandiford  <rsandifo@redhat.com>
2293
2294         PR bootstrap/16469
2295         * scripts/create_testsuite_files: Pass -print to find.
2296
2297 2004-07-15  Paolo Carlini  <pcarlini@suse.de>
2298
2299         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 30.
2300         * docs/html/ext/howto.html: Tweak entries for DRs 167/253/389/402.
2301
2302 2004-07-15  Jakub Jelinek  <jakub@redhat.com>
2303
2304         PR libstdc++/14697
2305         * acinclude.m4 (glibcxx_shared_libgcc): Correct
2306         glibcxx_shared_libgcc test for multilibs.
2307         * configure: Rebuilt.
2308
2309 2004-07-14  Paolo Carlini  <pcarlini@suse.de>
2310
2311         PR libstdc++/16505
2312         * include/bits/stl_uninitialized.h (uninitialized_fill_n): Fix
2313         the signature to return void, as per 20.4.4.3.
2314         * include/bits/stl_vector.h (vector::vector(size_type,
2315         const value_type&, const allocator_type&), vector::vector(size_type),
2316         vector::_M_initialize_dispatch): Adjust callers.
2317         * include/bits/vector.tcc (vector<>::_M_fill_assign,
2318         vector<>::_M_fill_insert): Likewise.
2319         * testsuite/20_util/memory/16505.cc: New.
2320
2321 2004-07-14  Paolo Carlini  <pcarlini@suse.de>
2322
2323         * testsuite/22_locale/locale/cons/12658_thread-1.cc,
2324         12658_thread-2.cc: Use __gnu_test::try_named_locale.
2325
2326 2004-07-13  Benjamin Kosnik  <bkoz@redhat.com>
2327
2328         * docs/html/ext/mt_allocator.html: Add docs for _Tune.
2329         * include/ext/mt_allocator.h (__mt_alloc::_S_get_options): Make public.
2330         (__mt_alloc::_S_set_options): Same.
2331         Add to comments.
2332
2333 2004-07-13  Benjamin Kosnik  <bkoz@redhat.com>
2334
2335         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add allocator defaults
2336         for linux.
2337         * configure: Regenerated.
2338
2339 2004-07-13  Paolo Carlini  <pcarlini@suse.de>
2340
2341         * testsuite/22_locale/locale/cons/12658_thread.cc: Move/rename
2342         to 12658_thread-1.cc and xfail.
2343         * testsuite/22_locale/locale/cons/12658_thread-2.c: New, much
2344         simpler version of 12658_thread-1.cc, still failing on 3_3 and
2345         not failing on 3_4/mainline - both on single processor and
2346         multiprocessor machines.
2347
2348 2004-07-12  Benjamin Kosnik  <bkoz@redhat.com>
2349
2350         * docs/html/abi.html: Remove non-public qualification.
2351
2352         * include/bits/concurrence.h: Tweak comments.
2353
2354 2004-07-11  Paolo Carlini  <pcarlini@suse.de>
2355
2356         Add wchar_t counterparts of the basic_streambbuf<char> tests.
2357         * testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: New.
2358         * testsuite/27_io/basic_streambuf/imbue/wchar_t/1.cc, 9322.cc:
2359         Likewise.
2360         * testsuite/27_io/basic_streambuf/in_avail/wchar_t/9701-3.cc: Likewise.
2361         * testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc, 2.cc,
2362         3599.cc: Likewise.
2363         * testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc: Likewise.
2364         * testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise.
2365         * testsuite/27_io/basic_streambuf/sputbackc/wchar_t/9538.cc: Likewise.
2366         * testsuite/27_io/basic_streambuf/sputc/wchar_t/1057.cc: Likewise.
2367         * testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc, 1057.cc:
2368         Likewise.
2369         * testsuite/27_io/basic_streambuf/sync/wchar_t/1057.cc: Likewise.
2370
2371         * testsuite/27_io/basic_streambuf/imbue/char/1.cc, 9322.cc: Minor
2372         tweaks.
2373         * testsuite/27_io/basic_streambuf/overflow/char/2.cc, 3599.cc:
2374         Likewise.
2375         * testsuite/27_io/basic_streambuf/sputn/char/1057.cc: Likewise.
2376         * testsuite/27_io/basic_streambuf/sync/char/1057.cc: Likewise.
2377
2378 2004-07-11  Phil Edwards  <phil@codesourcery.com>
2379
2380         * acinclude.m4:  Cosmetic shell syntax fixes.
2381         * configure.ac:  Bring comment inline with reality.
2382         * configure.host:  Both of the above.  Move 'arm' case to right
2383         place in host_cpu switch.
2384         * aclocal.m4, configure:  Regenerate.
2385
2386 2004-07-09  Paolo Carlini  <pcarlini@suse.de>
2387
2388         Add wchar_t counterparts of the basic_stringbuf<char> tests.
2389         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc, 9322.cc: New.
2390         * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Likewise.
2391         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc, 2.cc,
2392         3599.cc, 9988.cc: Likewise.
2393         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc, 9825.cc:
2394         Likewise.
2395         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc, 2.cc:
2396         Likewise.
2397         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc, 2.cc, 3.cc:
2398         Likewise.
2399         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc, 2.cc, 3.cc:
2400         Likewise.
2401         * testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Likewise.
2402         * testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Likewise.
2403         * testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Likewise.
2404         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc, 9425.cc:
2405         Likewise.
2406         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc, 1057.cc,
2407         9404-1.cc: Likewise.
2408         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc, 1057.cc,
2409         9404-2.cc: Likewise.
2410         * testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc, 2.cc, 3.cc,
2411         3955.cc: Likewise.
2412         * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Likewise.
2413         * testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc: Likewise.
2414
2415 2004-07-08  Paolo Carlini  <pcarlini@suse.de>
2416
2417         * include/bits/gslice.h: Trivial formatting fixes.
2418         * include/bits/gslice_array.h: Likewise.
2419         * include/bits/indirect_array.h: Likewise.
2420         * include/bits/mask_array.h: Likewise.
2421         * include/bits/slice_array.h: Likewise.
2422         * include/bits/valarray_after.h: Likewise.
2423         * include/bits/valarray_array.h: Likewise.
2424         * include/bits/valarray_before.h: Likewise.
2425         * include/std/std_valarray.h: Likewise.
2426
2427 2004-07-08  Benjamin Kosnik  <bkoz@redhat.com>
2428
2429         PR c++/16169
2430         * include/bits/basic_string.h (basic_string::operator=): Revert.
2431
2432 2004-07-07  Benjamin Kosnik  <bkoz@redhat.com>
2433
2434         * configure.ac (libtool_VERSION): To 6:2:0.
2435         * configure: Regenerated.
2436
2437         * testsuite/testsuite_abi.cc (check_version): Add 3.4.2.
2438
2439 2004-07-07  Aaron W. LaFramboise  <aaronraolete36@aaronwl.com>
2440
2441         PR libstdc++/16411
2442         * config/linker-map.gnu: Add stdio_sync_filebuf::file exports.
2443
2444 2004-07-07  Benjamin Kosnik  <bkoz@redhat.com>
2445
2446         * docs/html/abi.html: Updates for 3.4.1 release. Add summary of
2447         -Weffc++ issues.
2448
2449 2004-07-07  Paolo Carlini  <pcarlini@suse.de>
2450
2451         PR libstdc++/16401
2452         * include/bits/sstream.tcc (overflow): When reallocating _M_string
2453         use an exponential grow policy.
2454         * testsuite/27_io/basic_stringbuf/overflow/char/1.cc: New.
2455         * testsuite/performance/27_io/stringbuf_overflow.cc: New.
2456
2457 2004-07-06  Anssi Hannula  <anssi.hannula@mbnet.fi>
2458
2459         PR libstdc++/15928
2460         * crossconfig.m4: Add in bits for djgpp.
2461         * configure: Regenerate.
2462
2463 2004-07-05  Jonathan Wakely  <redi@gcc.gnu.org>
2464
2465         * testsuite/23_containers/{set,multiset}/14340.cc: Fix typos in
2466         instantiation of set and multiset (functor param given as int).
2467
2468 2004-07-04  Paolo Carlini  <pcarlini@suse.de>
2469
2470         * include/bits/basic_string.h: Trivial formatting fixes and/or
2471         const-ification of some variables.
2472         * include/bits/deque.tcc: Likewise.
2473         * include/bits/stl_algobase.h: Likewise.
2474         * include/bits/stl_bvector.h: Likewise.
2475         * include/bits/stl_construct.h: Likewise.
2476         * include/bits/stl_deque.h: Likewise.
2477         * include/bits/stl_pair.h: Likewise.
2478         * include/bits/stl_vector.h: Likewise.
2479         * include/bits/vector.tcc: Likewise.
2480
2481 2004-07-04  Paolo Carlini  <pcarlini@suse.de>
2482
2483         * testsuite/25_algorithms/copy/1.cc: Add instantiations for
2484         systems with no COMDAT or weak support.
2485         * testsuite/25_algorithms/copy/2.cc: Likewise.
2486         * testsuite/25_algorithms/copy/3.cc: Likewise.
2487         * testsuite/25_algorithms/copy/4.cc: Likewise.
2488
2489 2004-07-03  Paul Brook  <paul@codesourcery.com>
2490
2491         * configure.ac: Set ABI_TWEAKS_SRCDIR.
2492         * configure.host: Set abi_tweaks_dir.  Check for atomicity.h when
2493         setting atomicity_dir.  Override type_cpu for arm based targets.
2494         * include/Makefile.am (host_headers): Add cxxabi_tweaks.h.
2495         * libsupc++/cxxabi.h: Include bits/cxxabi.h. Don't declare __guard.
2496         * libsupc++/guard.cc: Use definitions from cxxabi_tweaks.h.
2497         * libsupc++/vec.cc: Ditto.
2498         * config/cpu/arm/cxxabi_tweaks.h: New file.
2499         * config/cpu/generic/cxxabi_tweaks.h: New file.
2500         * */Makefile.in: Regenerate.
2501         * configure: Regenerate.
2502
2503 2004-07-02  Paolo Carlini  <pcarlini@suse.de>
2504
2505         * include/bits/type_traits.h (_Is_normal_iterator): Move...
2506         * include/bits/cpp_type_traits.h: ... here, renamed to
2507         __is_normal_iterator and consistent with the other traits.
2508         * include/bits/stl_algobase.h (__copy_ni1, __copy_ni2): Convert
2509         to the struct __copy_normal and three specializations.
2510         (__copy_backward_output_normal_iterator,
2511         __copy_backward_input_normal_iterator): Likewise, convert to
2512         the struct __copy_backward_normal and three specializations.
2513         (copy, copy_backward): Use the latter.
2514         (__copy_aux, __copy_backward_aux): Very minor tweaks.
2515
2516 2004-07-01  Paolo Carlini  <pcarlini@suse.de>
2517
2518         * include/bits/stl_algobase.h (__copy_trivial): Remove.
2519         (__copy_aux2): Rewrite as __copy_aux to use __is_pointer,
2520         __is_trivially_copyable, __are_same and __copy::copy.
2521         (__copy): Rewrite as a class template and two specializations.
2522         (__copy_ni2): Simplify, just call __copy_aux.
2523
2524         * include/bits/stl_algobase.h (__copy_backward_aux): Add __are_same
2525         check.
2526         * testsuite/25_algorithms/copy/1.cc, 2.cc, 3.cc, 4.cc: Test also
2527         for destination value type != source value type.
2528
2529 2004-07-01  Benjamin Kosnik  <bkoz@redhat.com>
2530             Per Bothner  <per@bothner.com>
2531             Mohan Embar  <gnustuff@thisiscool.com>
2532
2533         PR libstdc++/16248
2534         * include/bits/concurrence.h (__glibcxx_mutex_type): New.
2535         (__glibcxx_mutex): Encapsulate mutex init function into type for
2536         threaded configurations without __GTHREAD_MUTEX_INIT.
2537         (lock::lock): Make device member a reference.
2538         (lock::~lock): Same.
2539         * include/ext/pool_allocator.h (__pool_base::_M_get_mutex): Change
2540         to mutex_type.
2541         * src/allocator.cc: Same.
2542
2543 2004-06-30  Brad Spencer  <spencer@infointeractive.com>
2544
2545         * include/ext/mt_allocator.h: Handle allocations at static
2546         initialization that happen before _S_options is (automatically)
2547         constructed; set _S_init even if _M_force_new is true.
2548
2549 2004-06-30  Benjamin Kosnik  <bkoz@redhat.com>
2550
2551         * config/linker-map.gnu: Revert new exports.
2552
2553 2004-06-30  Benjamin Kosnik  <bkoz@redhat.com>
2554             Stuart Anderson  <anderson@netsweng.com>
2555
2556         * config/linker-map.gnu: Add destructor exports for abstract base
2557         classes to conform to LSB.
2558
2559 2004-06-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2560             Paolo Carlini  <pcarlini@suse.de>
2561
2562         * include/bits/cpp_type_traits.h: Add __is_pointer and
2563         __is_trivially_copyable.
2564         * include/bits/stl_algobase.h (fill, fill_n): Slightly
2565         tweak to use the latter.
2566         (__copy_backward_dispatch): Remove.
2567         (__copy_backward_aux): Rewrite to use __is_pointer and
2568         __is_trivially_copyable and __copy_backward::copy_b.
2569         (__copy_backward): Rewrite as a class template and two
2570         specializations.
2571
2572 2004-06-30  Paolo Carlini  <pcarlini@suse.de>
2573
2574         * testsuite/25_algorithms/copy.cc: Move to...
2575         * testsuite/25_algorithms/copy/1.cc: ... here, extend.
2576         * testsuite/25_algorithms/copy/2.cc: New.
2577         * testsuite/25_algorithms/copy/3.cc: New.
2578         * testsuite/25_algorithms/copy/4.cc: New.
2579
2580 2004-06-29  Paul Brook  <paul@codesourcery.com>
2581
2582         * libsupc++/vec.cc (__cxa_vec_new2, __cxa_vec_new3): Store the
2583         element size in the cookie.
2584
2585 2004-06-28  Paolo Carlini  <pcarlini@suse.de>
2586
2587         * include/bits/cpp_type_traits.h: Move the additions to
2588         namespace __gnu_internal outside of namespace std; trivial
2589         formatting fixes.
2590
2591 2004-06-28  Benjamin Kosnik  <bkoz@redhat.com>
2592
2593         * include/debug/safe_base.h (__gnu_debug::_Safe_sequence_base):
2594         Revert -Weffc++ changes that defined copy ctory and or assignment
2595         operator.
2596         * libsupc++/tinfo.cc (__upcast_result): Same.
2597
2598 2004-06-28  Paolo Carlini  <pcarlini@suse.de>
2599
2600         * src/localename.cc (locale::_Impl::_Impl): Slightly improve
2601         the algorithm used to name the categories.
2602
2603 2004-06-28  Paolo Bonzini  <bonzini@gnu.org>
2604
2605         * include/Makefile.am: Give a .gch extension to
2606         the PCH files, not only to the directory.
2607         * include/Makefile.in: Regenerate.
2608
2609 2004-06-28  Paolo Carlini  <pcarlini@suse.de>
2610
2611         * config/locale/gnu/monetary_members.cc
2612         (moneypunct<wchar_t>::_M_initialize_moneypunct): Clean up
2613         assignments of _M_decimal_point and _M_thousands_sep.
2614
2615 2004-06-27  Paolo Carlini  <pcarlini@suse.de>
2616
2617         * docs/html/17_intro/contribute.html: Update some links.
2618         * docs/html/17_intro/porting-howto.html: Likewise.
2619         * docs/html/17_intro/porting-howto.xml: Likewise.
2620         * docs/html/18_support/howto.html: Likewise.
2621         * docs/html/21_strings/howto.html: Likewise.
2622         * docs/html/27_io/howto.html: Likewise.
2623         * docs/html/configopts.html: Likewise.
2624         * docs/html/ext/howto.html: Likewise.
2625         * docs/html/faq/index.html: Likewise.
2626         * docs/html/install.html: Don't mention 2.x compilers.
2627
2628 2004-06-27  Paolo Carlini  <pcarlini@suse.de>
2629
2630         * include/ext/rope: Trivial formatting fixes.
2631         * include/ext/ropeimpl.h: Likewise.
2632
2633 2004-06-26  Paolo Carlini  <pcarlini@suse.de>
2634
2635         PR libstdc++/16210
2636         * acinclude.m4 (GLIBCXX_ENABLE_LONG_LONG): Do not check for the
2637         availability of strto(u)ll, not used anymore in the iostreams.
2638         * configure: Regenerate.
2639
2640 2004-06-25  Benjamin Kosnik  <bkoz@redhat.com>
2641
2642         PR libstdc++/16182
2643         * linkage.m4 (GLIBCXX_CHECK_BUILTIN_MATH_DEC): Revert to
2644         AC_DEFINE_UNQUOTED.
2645         * configure: Regenerate.
2646
2647 2004-06-25  Paul Brook  <paul@codesourcery.com>
2648
2649         * libsupc++/cxxabi.h: Define __ARM_EABI__
2650         (__guard): Use it.
2651         * libsupc++/guard.h (__cxa_guard_acquire, __cxa_guard_release): Ditto.
2652
2653 2004-06-25  Paul Brook  <paul@codesourcery.com>
2654
2655         * include/bits/concurrence.h: Still create mutex object when
2656         single-threaded.
2657
2658 2004-06-25  Paolo Carlini  <pcarlini@suse.de>
2659
2660         * include/bits/stl_algobase.h (fill, fill_n): Revert last
2661         change: actually we need to copy construct an object of type
2662         _Tp, not of type iterator_traits<>::value_type, therefore the
2663         code is ok.
2664
2665 2004-06-25  Paolo Carlini  <pcarlini@suse.de>
2666
2667         * include/bits/stl_algobase.h (fill, fill_n): Tighten the
2668         dispatch: use iterator_traits<>::value_type, not _Tp.
2669
2670 2004-06-25  Paolo Carlini  <pcarlini@suse.de>
2671
2672         * testsuite/25_algorithms/fill/1.cc: Tweak instantiations.
2673         * testsuite/25_algorithms/fill/2.cc: Likewise.
2674
2675 2004-06-25  Dan Nicolaescu  <dann@ics.uci.edu>
2676             Paolo Carlini  <pcarlini@suse.de>
2677
2678         * include/bits/stl_algobase.h (__fill, __fill_n): New helpers
2679         for fill and fill_n, respectively: when copying is cheap, use a
2680         temporary to avoid a memory read in each iteration.
2681
2682 2004-06-25  Paolo Carlini  <pcarlini@suse.de>
2683
2684         * testsuite/25_algorithms/fill/1.cc: New.
2685         * testsuite/25_algorithms/fill/2.cc: Likewise.
2686
2687 2004-06-25  Benjamin Kosnik  <bkoz@redhat.com>
2688
2689         * include/debug/formatter.h (__gnu_debug::_Error_formatter):
2690         Remove copy constructor and assignment operator.
2691
2692 2004-06-24  Benjamin Kosnik  <bkoz@redhat.com>
2693
2694         * include/bits/concurrence.h (__gnu_cxx::lock): New.
2695         * include/ext/pool_allocator.h (__pool_base::_Lock::_S_lock): Remove.
2696         (__pool_base::_M_get_mutex): New.
2697         * include/bits/allocator.h: Tweak.
2698         * src/allocator.cc (__pool_base::_M_get_free_list): Correct offset.
2699         * config/linker-map.gnu: Remove __pool_base::_Lock::_S_lock.
2700         * include/bits/stl_threads.h: Remove.
2701         * include/Makefile.am: Also here.
2702         * include/Makefile.in: Regenerate.
2703
2704         * src/locale_init.cc: Use __gnu_cxx::lock.
2705
2706         * src/allocator.cc: Move all instantiations...
2707         * src/allocator-inst.cc: ...here.
2708
2709 2004-06-23  Andrew Pinski  <apinski@apple.com>
2710
2711         * linkage.m4: Remove check for libmx.
2712         * configure: Regenerate.
2713
2714 2004-06-23  Paolo Carlini  <pcarlini@suse.de>
2715
2716         PR libstdc++/16154
2717         * include/bits/boost_concept_check.h (struct _TrivialIteratorConcept):
2718         Don't require the _DefaultConstructibleConcept.
2719         (struct _ForwardIteratorConcept): Require it here.
2720
2721 2004-06-22  Alexandre Oliva  <aoliva@redhat.com>
2722
2723         * include/bits/istream.tcc (getline): Make sure arguments passed
2724         to min/max have the same type.
2725         * include/bits/locale_facets.tcc (__verify_grouping): Likewise.
2726         * include/bits/stl_deque.h (_Deque_base::_Deque_base): Likewise.
2727
2728 2004-06-22  Benjamin Kosnik  <bkoz@redhat.com>
2729
2730         * docs/html/abi.html: Update links.
2731
2732 2004-06-22  Paolo Carlini  <pcarlini@suse.de>
2733
2734         * testsuite/26_numerics/complex_inserters_extractors.cc,
2735         complex_value.cc, buggy_complex.cc: Move to...
2736         * testsuite/26_numerics/complex/: ... here.
2737         * testsuite/26_numerics/c99_classification_macros_c++.cc,
2738         c99_classification_macros_c.cc, c_math.cc, c_math_dynamic.cc,
2739         fabs_inline.cc: Move to...
2740         * testsuite/26_numerics/cmath/: ... here.
2741         * testsuite/26_numerics/binary_closure.cc, slice.cc,
2742         slice_array_assignment.cc, valarray.cc, valarray_const_bracket.cc,
2743         valarray_name_lookup.cc, valarray_operators.cc,
2744         valarray_subset_assignment.cc: Move to...
2745         * testsuite/26_numerics/valarray/: ... here (new dir).
2746         * testsuite/26_numerics/sum_diff.cc: Move to...
2747         * testsuite/26_numerics/numeric/: ... here (new dir).
2748
2749 2004-06-22  Paolo Carlini  <pcarlini@suse.de>
2750
2751         * include/std/std_istream.h (ignore(streamsize __n = 1,
2752         int_type __delim = traits_type::eof())): Split into...
2753         (ignore(), ignore(streamsize __n), ignore(streamsize __n,
2754         int_type __delim)): The first two can be much more simpler
2755         and efficient than the fully general case; also, the last
2756         two can take advantage of the same mechanism already used
2757         for getline.
2758         * include/bits/istream.tcc (ignore(streamsize __n = 1,
2759         int_type __delim = traits_type::eof()): Remove.
2760         (ignore(), ignore(streamsize __n), ignore(streamsize __n,
2761         int_type __delim)): New.
2762
2763 2004-06-21  Loren J. Rittle  <ljrittle@acm.org>
2764
2765         * config/linker-map.gnu: Use wildcards for
2766         __basic_file::sys_open(FILE*, _Ios_Openmode).
2767
2768 2004-06-20  Paolo Carlini  <pcarlini@suse.de>
2769
2770         * testsuite/27_io/basic_istream/ignore/char/3.cc: New.
2771
2772 2004-06-18  Paolo Carlini  <pcarlini@suse.de>
2773
2774         * include/ext/mt_allocator (__mt_alloc<>::_Tune): Add _M_align,
2775         the alignment requested.
2776         (__mt_alloc<>::_Tune::_Tune): Tweak consistently.
2777         (__mt_alloc<>::allocate): Use it instead of sizeof(_Block_record).
2778         (__mt_alloc<>::deallocate): Likewise.
2779
2780 2004-06-18  Paolo Carlini  <pcarlini@suse.de>
2781
2782         PR libstdc++/16020
2783         * include/debug/safe_base.h
2784         (_Safe_sequence_base::_Safe_sequence_base(const _Safe_sequence_base&),
2785         _Safe_sequence_base::operator=): Provide definitions.
2786         * testsuite/23_containers/bitset/cons/16020.cc: New.
2787
2788 2004-06-18  Benjamin Kosnik  <bkoz@redhat.com>
2789
2790         * include/ext/pool_allocator.h: Qualify __throw_bad_alloc.
2791         (__pool_base): Remove unused template parameter.  Add
2792         protected. Move lock data into __pool_base::_Lock. Remove static
2793         on member functions.
2794         (__pool_base::_M_get_free_list): New.
2795         (__pool_alloc): Move _S_force new here.
2796         * src/allocator.cc: Move out of line __pool_base definitions here.
2797         * config/linker-map.gnu: Export bits from __pool_base.
2798
2799 2004-06-18  Paolo Carlini  <pcarlini@suse.de>
2800
2801         * config/locale/gnu/numeric_members.cc
2802         (numpunct<wchar_t>::_M_initialize_numpunct): Clean up
2803         assignments of _M_decimal_point and _M_thousands_sep.
2804         * config/locale/gnu/time_members.cc
2805         (__timepunct<wchar_t>::_M_initialize_timepunct): Clean up
2806         and reformat assignments of date and time fields.
2807
2808 2004-06-16  Paolo Carlini  <pcarlini@suse.de>
2809
2810         * include/ext/rope (rope(_CharT, const allocator_type&)): Fix
2811         to use _Data_allocate.
2812         * include/ext/ropeimpl.h (rope<>::_S_leaf_concat_char_iter): Likewise.
2813         (rope<>::_S_substring): Likewise.
2814         (rope<>::rope(size_t, _CharT, const allocator_type&)): Likewise.
2815         (rope<>::c_str()): Likewise.
2816         (rope<>::replace_with_c_str()): Likewise.
2817
2818         * include/ext/ropeimpl.h (_Rope_iterator_base<>::_S_setbuf):
2819         Correctly qualify _S_leaf, _S_function, etc., with _Rope_constants::,
2820         not _RopeRep.
2821         (_Rope_iterator_base<>::_S_setcache): Likewise.
2822         (_Rope_iterator_base<>::_S_setcache_for_incr): Likewise.
2823         (rope<>::_S_substring): Likewise.
2824         (rope<>::_S_dump): Likewise.
2825         (rope<>::_S_fetch_ptr): Likewise.
2826         (rope<>::_S_compare): Likewise.
2827         (rope<>::replace_with_c_str()): Likewise.
2828
2829         * testsuite/ext/rope.cc: Rename to testsuite/ext/rope/1.cc.
2830         * testsuite/ext/rope/2.cc: New.
2831
2832 2004-06-16  Paolo Carlini  <pcarlini@suse.de>
2833             Matt Austern  <austern@apple.com>
2834
2835         * testsuite/ext/rope/3.cc: New.
2836
2837 2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
2838
2839         * acinclude.m4: Remove useless multilib configury.
2840         * Makefile.am: Remove useless multilib rules.
2841         * aclocal.m4: Regenerate.
2842         * Makefile.in: Regenerate.
2843         * configure: Regenerate.
2844
2845 2004-06-15  Paolo Carlini  <pcarlini@suse.de>
2846
2847         * include/ext/hashtable.h: Trivial formatting fixes.
2848         * include/ext/rb_tree: Likewise.
2849
2850 2004-06-14  Paolo Carlini  <pcarlini@suse.de>
2851
2852         * include/ext/hash_map: Trivial formatting fixes.
2853         * include/ext/hash_set: Likewise.
2854         * include/ext/memory: Likewise.
2855         * include/ext/numeric: Likewise.
2856
2857 2004-06-14  Benjamin Kosnik  <bkoz@redhat.com>
2858
2859         * Makefile.in: Regenerate with automake 1.8.5.
2860         * aclocal.m4: Same.
2861         * include/Makefile.in: Same.
2862         * libmath/Makefile.in: Same.
2863         * libsupc++/Makefile.in: Same.
2864         * po/Makefile.in: Same.
2865         * src/Makefile.in: Same.
2866         * testsuite/Makefile.in: Same.
2867
2868 2004-06-14  Paolo Carlini  <pcarlini@suse.de>
2869
2870         * include/ext/slist: Trivial formatting fixes.
2871
2872 2004-06-14  Paolo Carlini  <pcarlini@suse.de>
2873
2874         * include/bits/locale_facets.tcc (time_get<>::_M_extract_name):
2875         Don't use the 'magic number' 10 in the computation of __minlen;
2876         never access __name past __minlen; in the loop over __i3, don't
2877         decrease __nmatches and increase __i3 at once, only either of
2878         the two; tidy.
2879
2880 2004-06-13  Paolo Carlini  <pcarlini@suse.de>
2881
2882         * include/bits/locale_facets.tcc (time_get<>::do_get_time,
2883         time_get<>::do_get_date): Use only once _M_extract_via_format,
2884         instead of going through "%X"/"%x" and calling it two times
2885         (+ using widen).
2886
2887 2004-06-12  Paolo Carlini  <pcarlini@suse.de>
2888
2889         * include/ext/algorithm: Trivial formatting fixes.
2890         * include/ext/functional: Likewise.
2891         * include/ext/hash_fun.h: Likewise.
2892         * include/ext/iterator: Likewise.
2893
2894 2004-06-12  Paolo Carlini  <pcarlini@suse.de>
2895
2896         * include/bits/basic_string.tcc (find(const _CharT*, size_type,
2897         size_type)): Reimplement using std::search.
2898         * src/string-inst.cc: Instantiate std::search for char/wchar_t.
2899
2900 2004-06-12  Dhruv Matani  <dhruvbird@gmx.net>
2901
2902         * testsuite/performance/21_strings/string_find.cc: New.
2903
2904 2004-06-10  Aaron W. LaFramboise  <aaronraolete36@aaronwl.com>
2905
2906         * include/bits/istream.tcc (istream::ignore): Fix for -Wuninitialized.
2907
2908 2004-06-10  Jan van Dijk  <jan@etpmod.phys.tue.nl>
2909
2910         * include/std/std_complex.h (sin(const complex<_Tp>& __z)): Make
2911         this function return a value.
2912
2913 2004-06-09  Paolo Carlini  <pcarlini@suse.de>
2914
2915         PR libstdc++/15775
2916         * include/bits/stl_deque.h: Consistently with stl_set.h, define
2917         pointer as allocator's pointer, likewise for reference,
2918         const_pointer, and const_reference.
2919         * include/bits/stl_list.h: Likewise.
2920         * include/bits/stl_map.h: Likewise.
2921         * include/bits/stl_multimap.h: Likewise.
2922         * include/bits/stl_vector.h: Likewise.
2923
2924 2004-06-09  Benjamin Kosnik  <bkoz@redhat.com>
2925
2926         * crossconfig.m4: Remove signbit, signbitf, signbitl.
2927         * linkage.m4: Comment LIBMATHOBJS, tweak others.  AC_DEFINES for
2928         builtin math functions instead of AC_DEFINE_UNQUOTED.
2929         * configure: Regenerate.
2930
2931 2004-06-08  Benjamin Kosnik  <bkoz@redhat.com>
2932
2933         * docs/doxygen/filter.sed: Rename _GLIBCXX_STD to std.
2934         * docs/doxygen/mainpage.html: Remove links.
2935
2936 2004-06-08  Jason Merrill  <jason@redhat.com>
2937
2938         * config/linker-map.gnu: Use wildcards for
2939         __basic_file::{xsgetn,xsputn,seekoff,xsputn_2}.
2940
2941 2004-06-08  Paolo Carlini  <pcarlini@suse.de>
2942
2943         * include/ext/pool_allocator.h: Convert to a global free-list,
2944         as per the original SGI/HP design: move the implementation
2945         details to struct __pool_base, from which __pool_alloc derives.
2946         * src/allocator.cc: Instantiate __pool_base.
2947
2948 2004-06-07  Dhruv Matani  <dhruvbird@gmx.net>
2949             Paolo Carlini  <pcarlini@suse.de>
2950
2951         * testsuite/testsuite_performance.h
2952         (resource_counter::allocated_memory): Make it return the right
2953         number of bytes requested by the allocators/application. This is
2954         the sbrk+mmaped memory.
2955
2956 2004-06-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2957
2958         * include/std/std_complex.h (log): Tidy.
2959
2960 2004-05-31  Benjamin Kosnik  <bkoz@redhat.com>
2961
2962         * config/linker-map.gnu (GLIBCXX_3.4.1): Add.
2963         * testsuite/testsuite_abi.cc: Same.
2964         * configure.ac (libtool_VERSION): Bump to 6:1:0.
2965         * configure: Regenerate.
2966         * aclocal.m4: Regenerate.
2967
2968 2004-05-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2969
2970         * include/std/std_complex.h (complex<_Tp>): Properly indent
2971         to follow C++STYLE.
2972         (complex<>::__rep): New.
2973         (__complex_abs): New.  Dispatch to built-ins.
2974         (abs): Use them.
2975         (__complex_arg): New. Dispatch to built-ins.
2976         (arg): Use it.
2977         (__complex_cos): New. Dispatch to built-ins.
2978         (cos): Use it.
2979         (__complex_cosh): New. Dispatch to built-ins.
2980         (cosh): Use it.
2981         (__complex_exp): New. Dispatch to built-ins.
2982         (exp): Use it.
2983         (__complex_log): New. Dispatch to built-ins.
2984         (log): Use it.
2985         (__complex_sin): New. Dispatch to built-ins.
2986         (sin): Use it.
2987         (__complex_sinh): New. Dispatch to built-ins.
2988         (sinh): Use it.
2989         (__complex_sqrt): New. Dispatch to built-ins.
2990         (sqrt): Use it.
2991         (__complex_tan): New. Dispatch to built-ins.
2992         (tan): Use it.
2993         (__complex_tanh): New. Dispatch to built-ins.
2994         (tanh): Use it.
2995         (__complex_pow): New. Dispatch to built-ins.
2996         (pow): Use it.
2997
2998 2004-05-29  Richard B. Kreckel  <Richard.Kreckel@Framatome-ANP.com>
2999             Benjamin Kosnik  <bkoz@redhat.com>
3000
3001         PR libstdc++/14600
3002         * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): New.
3003         * include/ext/stdio_filebuf.h (stdio_filebuf::file): New.
3004         * config/io/basic_file_stdio.cc (__basic_file::file): New.
3005         * config/io/basic_file_stdio.h: Define.
3006
3007 2004-05-27  Benjamin Kosnik  <bkoz@redhat.com>
3008
3009         PR libstdc++/15675
3010         * docs/html/documentation.html: Update doxygen links for 3.4.0.
3011
3012 2004-05-27  Jan Beulich  <jbeulich@novell.com>
3013
3014         * scripts/create_testsuite_files: Tweak.
3015
3016 2004-05-25  Benjamin Kosnik  <bkoz@redhat.com>
3017
3018         PR libstdc++/15489
3019         * scripts/create_testsuite_files: Revert xtype change, add non-GNU
3020         bits to do the same thing.
3021
3022 2004-05-24  Paolo Carlini  <pcarlini@suse.de>
3023
3024         * include/bits/istream.tcc (ignore): Correctly deal with
3025         n == numeric_limits<streamsize>::max().
3026         * testsuite/27_io/basic_istream/ignore/char/2.cc: New.
3027
3028         * include/bits/istream.tcc (basic_istream<>::getline): Prefer
3029         '_M_gcount + 1 < __n' to '--__n; _M_gcount < __n', just in case
3030         __n == numeric_limits<>::min().
3031
3032         * include/bits/istream.tcc: Minor tweaks.
3033
3034         * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
3035         Tighten.
3036         * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
3037         Likewise.
3038         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
3039         Likewise.
3040         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
3041         Likewise.
3042         * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
3043
3044 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
3045
3046         PR libstdc++/12854
3047         Fixups for -Weffc++.
3048         * include/bits/basic_string.h (basic_string::operator=): Return
3049         pointer to this instead of result of assign. Although redundant,
3050         this doesn't impact resultant codegen.
3051
3052         * include/bits/locale_facets.h (__numpunct_cache): Declare
3053         assignment opxserator and copy constructor private.
3054         (__timepunct_cache): Same.
3055         (__moneypunct_cache): Same.
3056         (collate): Use member initialization list for _M_c_locale_collate.
3057         * config/locale/gnu/messages_members.h: Same.
3058         * config/locale/gnu/time_members.h (__timepunct): Same.
3059         * src/codecvt.cc: Use member initialization list to initialize
3060         _M_c_locale_codecvt.
3061         * src/ctype.cc: Same, with _M_c_locale_ctype and _M_narrow_ok.
3062         * config/os/gnu-linux/ctype_noninline.h: Same.
3063         * src/locale.cc (_Impl): Same.
3064         * src/locale_init.cc: Same.
3065         * src/localename.cc: Same.
3066
3067         * include/bits/basic_ios.h (basic_ios): Complete member
3068         initialization list.
3069         * include/bits/istream.tcc (basic_istream::sentry): Same.
3070         * include/bits/ostream.tcc (basic_ostream::sentry): Same.
3071         * include/bits/fstream.tcc (basic_filebuf): Add _M_lock and
3072         _M_pback to member initialization list.
3073         * include/std/std_streambuf.h: Same.
3074         * include/std/std_sstream.h: Same, for _M_mode.
3075         * src/ios.cc (ios_base): Same.
3076
3077         * include/ext/rope: Make derived classes match exception
3078
3079          specifications. Add copy constructors and assignment operators.
3080
3081         * include/debug/safe_base.h (_Safe_sequence_base): Declare copy
3082         constructor and assignment operator protected.
3083         (_Safe_iterator_base): Same.
3084         * include/debug/formatter.h (_Error_formatter): Define copy
3085         constructor and assignment operator.
3086
3087         * include/backward/strstream: Declare assignment operator and copy
3088         constructor private.
3089
3090 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
3091
3092         * testsuite/testsuite_hooks.h (func_callback): Declare copy
3093         constructor and assignment operator private.
3094         * testsuite/23_containers/deque/cons/clear_allocator.cc: Match
3095         exception specifications of base class.
3096         * testsuite/23_containers/list/cons/clear_allocator.cc: Same.
3097         * testsuite/23_containers/vector/cons/clear_allocator.cc: Same.
3098         * testsuite/23_containers/vector/bool/clear_allocator.cc: New.
3099
3100 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
3101
3102         * libsupc++/cxxabi.h: Remove duplicated and useless public and
3103         private keywords in class declarations. Format. Use
3104         stddef.h. Expose declarations to "C" compilation.
3105         * libsupc++/tinfo.cc (__upcast_result): Add copy constructor and
3106         assignment operator.
3107         (__dyncast_result): Same.
3108         * libsupc++/vec.cc (uncatch_exception): Same, use member
3109         initialization list.
3110
3111 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
3112
3113         * testsuite/abi_check.cc: Add unistd.h.
3114
3115 2004-05-22  Paolo Carlini  <pcarlini@suse.de>
3116
3117         PR libstdc++/15565
3118         * include/bits/locale_facets.tcc (__int_to_char(unsigned long),
3119         __int_to_char(unsigned long long)): Showpos is not relevant
3120         for unsigned types.
3121         * testsuite/22_locale/num_put/put/char/15565.cc: New.
3122         * testsuite/22_locale/num_put/put/wchar_t/15565.cc: New.
3123
3124         * testsuite/22_locale/num_put/put/wchar_t/1.cc: Use L for the fill
3125         char.
3126         * testsuite/22_locale/num_put/put/wchar_t/2.cc: Likewise.
3127         * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
3128         * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
3129         * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
3130         * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
3131         * testsuite/22_locale/num_put/put/wchar_t/8.cc: Likewise.
3132
3133 2004-05-21  Matthias Klose  <doko@debian.org>
3134
3135         * docs/doxygen/run_doxygen:  Bump required version.
3136
3137 2004-05-21  Benjamin Kosnik  <bkoz@redhat.com>
3138
3139         * docs/html/abi.html (libgcc_s): Additions suggested by Matthias Klose.
3140         * docs/doxygen/Intro.3: Subtractions suggested by Phil Edwards.
3141
3142 2004-05-21  Paolo Carlini  <pcarlini@suse.de>
3143
3144         * include/bits/istream.tcc (ignore): Remove redundant line.
3145         (readsome): Tidy, closely following 27.6.1.3, p30.
3146
3147 2004-05-20  Paolo Carlini  <pcarlini@suse.de>
3148
3149         * include/bits/istream.tcc (operator>>(basic_istream<>&,
3150         basic_string<>&)): Use a temporary buffer, thus avoiding
3151         reallocation for common case.
3152         * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
3153         New.
3154         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
3155         Likewise.
3156
3157         * include/bits/istream.tcc: Const-ification of a few variables.
3158
3159         * include/bits/ostream.tcc: Trivial formatting fixes and
3160         const-ification of some variables.
3161
3162 2004-05-20  Benjamin Kosnik  <bkoz@redhat.com>
3163
3164         PR libstdc++/15123
3165         PR libstdc++/13928
3166         * docs/doxygen/Intro.3: Remove Allocators.3.
3167         Add new extension headers, extension namespace list.
3168         * docs/doxygen/run_doxygen (problematic): Remove Allocators.3
3169         Rename GLIBCXXSTD names to std::. Rename __gnu_debug to
3170         __gnu_debug::. Remove __policy_ renames.
3171         * docs/doxygen/guide.html: Add dot note.
3172         * docs/doxygen/stdheader.cc: Edit, add files.
3173         * docs/doxygen/user.cfg.in: Regenerate with Doxygen 1.3.7.
3174
3175 2004-05-18  Jonathan Wakely  <redi@gcc.gnu.org>
3176
3177         * include/ext/stdio_filebuf.h: Update comments to reflect PR 11691.
3178
3179 2004-05-18  Jan Beulich  <jbeulich@novell.com>
3180
3181         PR libstdc++/15489
3182         * scripts/create_testsuite_files: Also find source files through
3183         symbolic links.
3184
3185 2004-05-18  Jan Beulich  <jbeulich@novell.com>
3186
3187         PR libstdc++/15488
3188         * testsuite/lib/libstdc++.exp: Make test files writable.
3189
3190 2004-05-18  Paolo Carlini  <pcarlini@suse.de>
3191
3192         * include/ext/mt_allocator.h:(__mt_alloc::allocate): Minor
3193         tweaks.
3194
3195 2004-05-18  Dhruv Matani  <dhruvbird@gmx.net>
3196
3197         * include/ext/mt_allocator.h:(__mt_alloc::allocate): Re-write
3198         allocation loop which removes blocks from the global free list
3199         from O(N) to O(1) when the required blocks are <= the number
3200         available.
3201
3202 2004-05-18  Jonathan Wakely  <redi@gcc.gnu.org>
3203
3204         * include/ext/enc_filebuf.h: Move concept-check macro to class scope.
3205
3206 2004-05-17  Benjamin Kosnik  <bkoz@redhat.com>
3207
3208         * testsuite/testsuite_hooks.h (__gnu_test::conversion): New class.
3209         * testsuite/23_containers/deque/14340.cc: New.
3210         * testsuite/23_containers/list/14340.cc: New.
3211         * testsuite/23_containers/map/14340.cc: New.
3212         * testsuite/23_containers/multimap/14340.cc: New.
3213         * testsuite/23_containers/multiset/14340.cc: New.
3214         * testsuite/23_containers/set/14340.cc: New.
3215         * testsuite/23_containers/vector/14340.cc: New.
3216
3217 2004-05-17  Douglas Gregor   <gregod@cs.rpi.edu>
3218
3219         PR libstdc++/14340
3220         * include/debug/safe_iterator.h (_Safe_iterator converting
3221         constructor): Only allow declaration to instantiate when the
3222         incoming _Safe_iterator has exactly the right iterator type.
3223
3224 2004-05-17  Jonathan Wakely  <redi@gcc.gnu.org>
3225
3226         * include/bits/boost_concept_check.h: Fix old attribute syntax.
3227         * testsuite/23_containers/map/modifiers/swap.cc: Define operator<
3228         to pass concept-checks.
3229         * testsuite/23_containers/multimap/modifiers/swap.cc: Same.
3230         * testsuite/23_containers/set/modifiers/swap.cc: Same.
3231         * testsuite/23_containers/multiset/modifiers/swap.cc: Same.
3232
3233 2004-05-16  Paolo Carlini  <pcarlini@suse.de>
3234
3235         * include/std/std_bitset.h: Minor formatting fixes.
3236
3237 2004-05-16  Paolo Carlini  <pcarlini@suse.de>
3238
3239         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
3240         Consistently update __bin._M_free[0].
3241         (__mt_alloc<>::allocate): When __bin._M_first[0] != NULL use
3242         __bin._M_free[0] to simplify the while loop (i.e., the number
3243         of iterations becomes known at the outset).
3244
3245 2004-05-15  Paolo Carlini  <pcarlini@suse.de>
3246
3247         * include/std/std_bitset.h: Trivial formatting fixes.
3248
3249 2004-05-14  Paolo Carlini  <pcarlini@suse.de>
3250             Ivan Godard  <igodard@pacbell.net>
3251
3252         PR libstdc++/15361
3253         * include/std/std_bitset.h (_Base_bitset<_Nw>::_M_do_find_next): Fix.
3254         * testsuite/23_containers/bitset/ext/15361.cc: New.
3255
3256 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
3257
3258         PR libstdc++/15046
3259         * crossconfig.m4: Add C99 math bits for linux crosses.
3260         * configure: Regenerate.
3261
3262 2004-05-13  Simon Marshall <simon.marshall@misys.com>
3263             Benjamin Kosnik  <bkoz@redhat.com>
3264
3265         PR libstdc++/15090
3266         * include/bits/locale_facets.h: Fix for -fno-for-scope.
3267         * include/debug/safe_sequence.h: Same.
3268         * include/debug/safe_iterator.tcc: Same.
3269         * src/debug.cc: Same.
3270         * src/locale.cc: Same.
3271         * src/locale_init.cc: Same.
3272         * src/localename.cc: Same.
3273         * config/locale/gnu/ctype_members.cc: Same.
3274         * config/locale/gnu/numeric_members.cc: Same.
3275         * testsuite/testsuite_abi.cc: Same.
3276         * testsuite/testsuite_hooks.cc: Same.
3277
3278 2004-05-13  Jonathan Wakely  <redi@gcc.gnu.org>
3279
3280         * docs/html/abi.html: Document effect of -fabi-version on value
3281         of __GXX_ABI_VERSION, and that it's defined in c-cppbuiltin.c.
3282         Fix markup.
3283
3284 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
3285
3286         PR libstdc++/15074
3287         * docs/html/faq/index.html: Update docs for libsupc++ usage.
3288
3289 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
3290
3291         PR libstdc++/15412
3292         * include/bits/stl_threads.h (_GLIBCXX_mutex): Move to namespace
3293         __gnu_internal.
3294         (_GLIBCXX_mutex_address): Same.
3295         (_GLIBCXX_once): Same.
3296         (_GLIBCXX_mutex_init): Same.
3297         (_GLIBCXX_mutex_address_init): Same.
3298
3299 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
3300
3301         * docs/html/abi.html: New.
3302         * docs/html/abi.txt: Remove.
3303         * docs/html/documentation.html: Add link.
3304         * testsuite/Makefile.am: Add files.
3305         * testsuite/Makefile.in: Regenerated.
3306         * testsuite/abi_check.cc: Move and modify code into...
3307         * testsuite/testsuite_abi.cc: Add.
3308         * testsuite/testsuite_abi.h: Add.
3309
3310         * docs/html/17_intro/TODO: Update.
3311         * include/bits/stl_pair.h: Format.
3312
3313 2004-05-06  Matthias Klose  <doko@debian.org>
3314
3315         * include/backward/iterator.h:  Add GPL copyright info,
3316         with exception clause.
3317         * include/bits/boost_concept_check.h: Likewise.
3318         * include
3319         * libsupc++/tinfo.h: Likewise.
3320         * po/string_literals.cc: Likewise.
3321
3322 2004-05-03  Andreas Tobler  <a.tobler@schweiz.ch>
3323
3324         * acinclude.m4: Replace -W with more speaking -Wextra.
3325         * configure: Rebuilt.
3326
3327 2004-05-03  Paolo Carlini  <pcarlini@suse.de>
3328
3329         Optimize locale::_M_impl->_M_names for the most common cases:
3330         !_M_names[0] means unnamed; !_M_names[1] means all the categories
3331         the same name (_M_names[0] && _M_names[1] means that the full set
3332         of _M_names must be processed, the general case).
3333         * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name):
3334         Tweak, saving work when !_M_names[1].
3335         (locale::locale(const locale&, _Facet*): Simplify: now just setting
3336         _M_names[0] = 0 means unnamed.
3337         * src/locale.cc (locale::operator==): Deal first with the common,
3338         easy cases, otherwise fall back to locale::name().
3339         (locale::name()): Tweak, if !_M_names[0] just return "*".
3340         (locale::_Impl::_Impl(const _Impl&, size_t): Tweak, early stop
3341         copying __imp._M_names if !__imp._M_names[0] or !__imp._M_names[1].
3342         * src/locale_init.cc (locale::_Impl::_Impl(size_t)): Tweak.
3343         * src/localename.cc (locale::_Impl::_Impl(const char*, size_t):
3344         Simplify when !std::strchr, just updating _M_names[0]; clean up.
3345         (locale::_Impl::_M_replace_categories): When !_M_names[1] prepare
3346         for the general case (full set of names), then do the usual work;
3347         clean up.
3348
3349         * src/locale.cc (locale::name()): Reserve space in __ret.
3350         * src/locale_init.cc (locale::global(const locale&)): Save
3351         the name in a temporary.
3352         * src/localename.cc (locale::locale(const char*)): Reserve space
3353         in __str.
3354
3355 2004-04-29  Paolo Carlini  <pcarlini@suse.de>
3356
3357         * src/locale.cc (locale::operator==): Always avoid constructing
3358         locale::name(), directly compare pairs of _M_names.
3359
3360 2004-04-26  Paolo Carlini  <pcarlini@suse.de>
3361
3362         * include/bits/istream.tcc: Fix comment.
3363
3364 2004-04-26  Paolo Carlini  <pcarlini@suse.de>
3365
3366         * include/bits/stl_vector.h: Trivial formatting fixes.
3367         * include/bits/vector.tcc: Likewise.
3368
3369 2004-04-25  Paolo Carlini  <pcarlini@suse.de>
3370
3371         PR libstdc++/15002 (continued again)
3372         * include/bits/istream.tcc (getline(basic_istream<>&,
3373         basic_string<>&, _CharT)): Use a temporary buffer, thus
3374         avoiding reallocation for common case.
3375
3376         * include/bits/basic_string.tcc (_S_construct(_InIterator,
3377         _InIterator, const _Alloc&, input_iterator_tag)): Tweak size
3378         of temporary buffer to a power of two.
3379
3380         * testsuite/27_io/basic_istream/getline/char/4.cc: Add comment.
3381
3382 2004-04-25  Paolo Carlini  <pcarlini@suse.de>
3383
3384         * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
3385         New.
3386         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
3387         Likewise.
3388         * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
3389
3390 2004-04-24  Paolo Carlini  <pcarlini@suse.de>
3391             Petur Runolfsson  <peturr02@ru.is>
3392
3393         PR libstdc++/15002 (continued)
3394         * include/bits/istream.tcc (basic_istream<>::getline(char_type*,
3395         streamsize, char_type)): Use traits::find/copy in a loop to speed
3396         up greatly the function in the common case (I/O buffer size >> 1).
3397
3398 2004-04-24  Paolo Carlini  <pcarlini@suse.de>
3399
3400         * testsuite/27_io/basic_istream/getline/char/4.cc: New.
3401
3402         * include/bits/istream.tcc (getline(basic_istream<>&,
3403         basic_string<>&, _CharT)): Change to use sgetc()/snextc() instead
3404         of sbumpc(), consistently with the other functions, thus also
3405         dealing correctly with the case of exceeded string::max_size().
3406
3407 2004-04-24  Matthias Klose  <doko@debian.org>
3408
3409         Jonathan Wakely  <cow@compsoc.man.ac.uk>
3410         * docs/html/configopts.html: Fix reference to allocator config option.
3411
3412 2004-04-23  Andrew Pinski  <pinskia@physics.uc.edu>
3413
3414         * linkage.m4 (GLIBCXX_CHECK_MATH_SUPPORT): Check for libmx also.
3415         * configure: Regenerate.
3416
3417 2004-04-23  Daniel Jacobowitz  <drow@mvista.com>
3418
3419         PR libstdc++/15047, libstdc++/11610
3420         * testsuite/lib/libstdc++.exp (v3-copy-files): Use remote_download.
3421         (libstdc++_init): Don't pass outdir to v3-copy-files.
3422
3423 2004-04-21  Paolo Carlini  <pcarlini@suse.de>
3424
3425         * include/bits/deque.tcc: Trivial formatting fixes.
3426         * include/bits/stl_deque.h: Likewise.
3427         * include/bits/stl_list.h: Likewise.
3428         * include/bits/stl_tree.h: Likewise.
3429
3430 2004-04-21  Paolo Carlini  <pcarlini@suse.de>
3431             Andrew Pinski  <pinskia@physics.uc.edu>
3432
3433         * include/bits/basic_string.tcc (_M_mutate): Don't compute
3434         __src unnecessarily.
3435
3436 2004-04-19  Benjamin Kosnik  <bkoz@redhat.com>
3437
3438         * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
3439         Clarify assertion, set test variable to false before assert.
3440         * testsuite/27_io/basic_istringstream/str/char/1.cc: Same.
3441         * testsuite/27_io/basic_stringstream/str/char/1.cc: Same.
3442         * testsuite/27_io/ios_base/storage/2.cc: Same.
3443
3444         * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Fix
3445         function returns.
3446         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Same.
3447         * testsuite/27_io/fpos/14320-3.cc: Same.
3448
3449         * testsuite/27_io/basic_filebuf/2.cc: Instantiate in namespace std.
3450         * testsuite/27_io/fpos/1.cc: Same.
3451         * testsuite/27_io/basic_stringstream/2.cc: Same.
3452         * testsuite/27_io/basic_stringbuf/4.cc: Same.
3453         * testsuite/27_io/basic_stringbuf/1.cc: Same.
3454         * testsuite/27_io/basic_stringbuf/2.cc: Same.
3455         * testsuite/27_io/basic_streambuf/2.cc: Same.
3456         * testsuite/27_io/basic_ostringstream/2.cc: Same.
3457         * testsuite/27_io/basic_ostream/2.cc: Same.
3458         * testsuite/27_io/basic_ofstream/2.cc: Same.
3459         * testsuite/27_io/basic_istringstream/2.cc: Same.
3460         * testsuite/27_io/basic_istream/2.cc: Same.
3461         * testsuite/27_io/basic_iostream/2.cc: Same.
3462         * testsuite/27_io/basic_ios/2.cc: Same.
3463         * testsuite/27_io/basic_ifstream/2.cc: Same.
3464         * testsuite/27_io/basic_fstream/2.cc: Same.
3465         * testsuite/ext/stdio_filebuf/char/1.cc: Same, in namespace __gnu_cxx.
3466
3467         * testsuite/21_strings/basic_string/capacity/1.cc: Don't compare
3468         unsigned against zero.
3469         * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Same.
3470         * testsuite/21_strings/basic_string/capacity/char/1.cc: Same.
3471
3472         * testsuite/18_support/new_delete_placement.cc: Initialize
3473         variables before first use.
3474         * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Same.
3475         * testsuite/21_strings/char_traits/requirements/char/1.cc: Same.
3476         * testsuite/21_strings/char_traits/requirements/short/1.cc: Same.
3477         * testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc:
3478         Same.
3479         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_badbit_throw.cc: Same.
3480         * testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc:
3481         Same.
3482         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_failbit_throw.cc: Same.
3483         * testsuite/27_io/types/2.cc: Same.
3484
3485         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Fix temporary
3486         file name.
3487         * testsuite/27_io/fpos/14775.cc: Same.
3488
3489 2004-04-19  Paolo Carlini  <pcarlini@suse.de>
3490
3491         PR libstdc++/15002 (partial)
3492         * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
3493         Special case __n2 == 1, not calling traits_type::assign/copy.
3494
3495 2004-04-17  Benjamin Kosnik  <bkoz@redhat.com>
3496
3497         * include/bits/stl_bvector.h: Use _M_impl._M_start.
3498
3499 2004-04-16  Benjamin Kosnik  <bkoz@redhat.com>
3500
3501         * include/bits/c++config (_GLIBCXX_STD): New.
3502         * src/list.cc: Use it.
3503         * include/std/std_bitset.h: Same.
3504         * include/bits/vector.tcc: Same.
3505         * include/bits/stl_set.h: Same.
3506         * include/bits/stl_multiset.h: Same.
3507         * include/bits/stl_multimap.h: Same.
3508         * include/bits/stl_map.h: Same.
3509         * include/bits/stl_list.h: Same.
3510         * include/bits/stl_vector.h: Same.
3511         * include/bits/stl_bvector.h: Same.
3512         * include/bits/stl_deque.h: Same.
3513         * include/bits/deque.tcc: Same.
3514         * include/bits/list.tcc: Same.
3515         * include/debug/vector: Same.
3516         * include/debug/set.h: Same.
3517         * include/debug/multiset.h: Same.
3518         * include/debug/multimap.h: Same.
3519         * include/debug/map.h: Same.
3520         * include/debug/list: Same.
3521         * include/debug/deque: Same.
3522         * include/debug/bitset: Same.
3523         * include/debug/formatter.h (__gnu_debug): Remove using directive.
3524         Add using declaration for std::type_info.
3525         * include/debug/safe_iterator.h: Add using declaration for
3526         std::iterator_traits and std::pair.
3527         * src/debug_list.cc: New.
3528         * src/Makefile.am: Add debug_list.cc.
3529         * src/Makefile.in: Regenerate.
3530         * config/linker-map.gnu: Add _List_node_base exports for std and
3531         __gnu_norm.
3532
3533         * include/bits/stl_bvector.h (_Bvector_base): Use _Bvector_impl
3534         idiom that other containers use.
3535         * testsuite/23_containers/vector/bool/clear_allocator.cc: New.
3536
3537 2004-04-16  Paolo Carlini  <pcarlini@suse.de>
3538
3539         PR libstdc++/14975
3540         * include/bits/fstream.tcc (basic_filebuf::imbue): Zero _M_codecvt
3541         in case of error.
3542         * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: New.
3543         * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: New.
3544
3545 2004-04-16  Paolo Carlini  <pcarlini@suse.de>
3546
3547         * acconfig.h: Remove _GLIBCXX_USE_LONG_DOUBLE entry, not
3548         used anymore.
3549         * config.h.in: Regenerate.
3550
3551 2004-04-16  Paolo Carlini  <pcarlini@suse.de>
3552
3553         * config/locale/generic/monetary_members.cc
3554         (moneypunct<wchar_t>::_M_initialize_moneypunct): Avoid calling
3555         btowc unnecessarily, just cast to wchar_t (the concerned chars
3556         all belong to the basic character set).
3557         * config/locale/generic/numeric_members.cc
3558         (numpunct<wchar_t>::_M_initialize_numpunct): Likewise.
3559         * config/locale/gnu/monetary_members.cc
3560         (moneypunct<wchar_t>::_M_initialize_moneypunct): Likewise.
3561         * config/locale/gnu/numeric_members.cc
3562         (numpunct<wchar_t>::_M_initialize_numpunct): Likewise.
3563
3564 2004-04-15  Paolo Carlini  <pcarlini@suse.de>
3565
3566         * src/locale.cc (locale::operator==): When _M_impl == __rhs._M_impl
3567         avoid constructing unnecessarily this->name().
3568
3569 2004-04-14  Zack Weinberg  <zack@codesourcery.com>
3570
3571         * testsuite/Makefile.am: Add definition of AM_CXXFLAGS.
3572         Change definition of CXX to use $(shell) instead of backticks.
3573         * testsuite/Makefile.in: Regenerate.
3574
3575 2004-04-12  Dhruv Matani  <dhruvbird@gmx.net>
3576
3577         * testsuite/performance/20_util/allocator/list_sort_search.cc:
3578         Minor formatting fixes.
3579         * testsuite/performance/20_util/allocator/map_mt_find.cc:
3580         Likewise.
3581
3582 2004-04-12  Paolo Carlini <pcarlini@suse.de>
3583
3584         * config/locale/gnu/numeric_members.cc
3585         (numpunct<wchar_t>::_M_initialize_numpunct): No need to wrap
3586         in __uselocale, since btowc is called for chars belonging to
3587         the basic character set.
3588
3589 2004-04-09  Paolo Carlini  <pcarlini@suse.de>
3590
3591         * testsuite/22_locale/messages/members/char/1.cc: Remove junk.
3592         * testsuite/22_locale/messages/members/char/2.cc: Ditto.
3593         * testsuite/22_locale/messages/members/char/3.cc: Ditto.
3594         * testsuite/22_locale/num_get/get/char/1.cc: Ditto.
3595         * testsuite/22_locale/num_get/get/char/2.cc: Ditto.
3596         * testsuite/22_locale/num_get/get/char/3.cc: Ditto.
3597         * testsuite/22_locale/num_get/get/wchar_t/1.cc: Ditto.
3598         * testsuite/22_locale/num_get/get/wchar_t/2.cc: Ditto.
3599         * testsuite/22_locale/num_get/get/wchar_t/3.cc: Ditto.
3600         * testsuite/22_locale/num_put/put/char/1.cc: Ditto.
3601         * testsuite/22_locale/num_put/put/char/2.cc: Ditto.
3602         * testsuite/22_locale/num_put/put/char/3.cc: Ditto.
3603         * testsuite/22_locale/num_put/put/wchar_t/1.cc: Ditto.
3604         * testsuite/22_locale/num_put/put/wchar_t/2.cc: Ditto.
3605         * testsuite/22_locale/num_put/put/wchar_t/3.cc: Ditto.
3606         * testsuite/22_locale/numpunct/members/char/1.cc: Ditto.
3607         * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Ditto.
3608
3609 2004-04-07  Paolo Carlini  <pcarlini@suse.de>
3610
3611         * config/locale/generic/time_members.cc
3612         (__timepunct<char>::_M_initialize_timepunct,
3613         __timepunct<wchar_t>::_M_initialize_timepunct): the correct
3614         _M_amonth07 in the "C" locale is "Jul" and L"Jul", respectively.
3615         * config/locale/gnu/time_members.cc
3616         (__timepunct<char>::_M_initialize_timepunct,
3617         __timepunct<wchar_t>::_M_initialize_timepunct): Ditto.
3618         * testsuite/22_locale/time_get/get_monthname/char/4.cc: New.
3619         * testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc: New.
3620
3621         * testsuite/22_locale/time_get/date_order/char/1.cc: Remove junk.
3622         * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Ditto.
3623         * testsuite/22_locale/time_get/get_date/char/1.cc: Ditto.
3624         * testsuite/22_locale/time_get/get_date/char/2.cc: Ditto.
3625         * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Ditto.
3626         * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Ditto.
3627         * testsuite/22_locale/time_get/get_monthname/char/1.cc: Ditto.
3628         * testsuite/22_locale/time_get/get_monthname/char/2.cc: Ditto.
3629         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Ditto.
3630         * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Ditto.
3631         * testsuite/22_locale/time_get/get_time/char/1.cc: Ditto.
3632         * testsuite/22_locale/time_get/get_time/char/2.cc: Ditto.
3633         * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Ditto.
3634         * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Ditto.
3635         * testsuite/22_locale/time_get/get_weekday/char/1.cc: Ditto.
3636         * testsuite/22_locale/time_get/get_weekday/char/2.cc: Ditto.
3637         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Ditto.
3638         * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Ditto.
3639         * testsuite/22_locale/time_get/get_year/char/1.cc: Ditto.
3640         * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Ditto.
3641         * testsuite/22_locale/time_put/put/char/1.cc: Ditto.
3642         * testsuite/22_locale/time_put/put/char/2.cc: Ditto.
3643         * testsuite/22_locale/time_put/put/char/3.cc: Ditto.
3644         * testsuite/22_locale/time_put/put/char/4.cc: Ditto.
3645         * testsuite/22_locale/time_put/put/char/5.cc: Ditto.
3646         * testsuite/22_locale/time_put/put/char/6.cc: Ditto.
3647         * testsuite/22_locale/time_put/put/char/7.cc: Ditto.
3648         * testsuite/22_locale/time_put/put/char/8.cc: Ditto.
3649         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Ditto.
3650         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Ditto.
3651         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Ditto.
3652         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Ditto.
3653         * testsuite/22_locale/time_put/put/wchar_t/5.cc: Ditto.
3654         * testsuite/22_locale/time_put/put/wchar_t/6.cc: Ditto.
3655         * testsuite/22_locale/time_put/put/wchar_t/7.cc: Ditto.
3656         * testsuite/22_locale/time_put/put/wchar_t/8.cc: Ditto.
3657
3658         * testsuite/22_locale/time_put/put/char/9780-1.cc: Fix typos.
3659
3660 2004-04-07  Paolo Carlini  <pcarlini@suse.de>
3661
3662         * config/locale/gnu/monetary_members.cc
3663         (moneypunct<wchar_t>::_M_initialize_moneypunct): Prefer
3664         _NL_MONETARY_DECIMAL_POINT_WC, _NL_MONETARY_THOUSANDS_SEP_WC,
3665         and __MON_GROUPING to _NL_NUMERIC_DECIMAL_POINT_WC,
3666         _NL_NUMERIC_THOUSANDS_SEP_WC, and GROUPING.
3667         * config/locale/gnu/numeric_members.cc
3668         (numpunct<char>::_M_initialize_numpunct): Prefer DECIMAL_POINT
3669         and THOUSANDS_SEP to the deprecated RADIXCHAR and THOUSEP.
3670
3671 2004-04-06  Benjamin Kosnik  <bkoz@redhat.com>
3672
3673         Fixups for EDG front end.
3674         * include/ext/rope: Instead of non-existent function
3675         _Data_allocate, use allocator's allocate. Use this.
3676         (namespace _Rope_constants): Move _S_max_rope_depth, and _Tag
3677         enumerations from _Rope_RopeRep here.
3678         * include/ext/ropeimpl.h: Same.
3679         * src/ext-inst.cc (_S_min_len): Fix up definition.
3680
3681         * config/locale/gnu/ctype_members.cc: Qualify base class members
3682         with this.
3683         * config/locale/generic/ctype_members.cc: Same.
3684         * config/locale/gnu/messages_members.h: Same.
3685         * config/locale/generic/messages_members.h: Same.
3686         * src/ctype.cc: Same.
3687         * include/bits/codecvt.h: Same.
3688
3689         * include/bits/boost_concept_check.h: Declare.
3690         (__error_type_must_be_an_unsigned_integer_type): Remove this.
3691         (__error_type_must_be_an_integer_type): Remove this.
3692         (__error_type_must_be_a_signed_integer_type): Remove this.
3693
3694         * config/io/basic_file_stdio.cc (__basic_file::sys_open): Remove cast.
3695
3696         * libsupc++/eh_alloc.cc (__cxa_free_exception): Add exception
3697         specification to definition.
3698         (__cxa_allocate_exception): Same.
3699         * libsupc++/eh_catch.cc (__cxa_begin_catch): Same.
3700         * libsupc++/eh_globals.cc (__cxa_get_globals_fast): Same.
3701         (__cxa_get_globals): Same.
3702
3703         * libsupc++/del_op.cc: Add comment about freestanding.
3704
3705 2004-04-05  Paolo Carlini  <pcarlini@suse.de>
3706
3707         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
3708         The critical section is actually very small, only two assignments.
3709
3710 2004-04-04  Paolo Carlini  <pcarlini@suse.de>
3711             Petur Runolfsson  <peturr02@ru.is>
3712
3713         * testsuite/performance/27_io/filebuf_sputn_unbuf.cc: New,
3714         adapted from libstdc++/11378.
3715
3716 2004-04-03  Paolo Carlini  <pcarlini@suse.de>
3717
3718         * include/ext/mt_allocator.h (__mt_alloc<>::allocate): Factor out
3719         some duplicated code.
3720         (__mt_alloc<>::_Bin_record): Spare the space of _M_free and _M_used
3721         in the single threaded case.
3722         * testsuite/performance/20_util/allocator/list_sort_search.cc:
3723         Reorder and renumber the tests consistently with the other testfiles.
3724         * testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
3725         * testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
3726         * testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
3727
3728 2004-04-02  Paolo Carlini  <pcarlini@suse.de>
3729
3730         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
3731         Rearrange arithmetic to avoid computing two divisions at
3732         each deallocation.
3733
3734 2004-04-01  Paolo Carlini  <pcarlini@suse.de>
3735
3736         * include/ext/mt_allocator.h (__mt_alloc<>::_S_initialize):
3737         Streamline the second half, wrapping it in a single
3738         '#ifdef __GTHREADS if (__gthread_active_p())' and avoiding
3739         conditionals inside loops.
3740
3741 2004-04-01  Paolo Carlini  <pcarlini@suse.de>
3742
3743         PR libstdc++/14775
3744         * acconfig.h: Rename _GLIBCXX_MEM_LIMITS to _GLIBCXX_RES_LIMITS.
3745         * acinclude.m4 (GLIBCXX_CHECK_SETRLIMIT): Call
3746         GLIBCXX_CHECK_SETRLIMIT_ancilliary for FSIZE too, adjust define
3747         to _GLIBCXX_RES_LIMITS.
3748         (GLIBCXX_CHECK_SETRLIMIT_ancilliary): Rename HAVE_MEMLIMIT_* to
3749         HAVE_LIMIT_*.
3750         * testsuite/testsuite_hooks.h: Declare set_file_limit.
3751         * testsuite/testsuite_hooks.cc: Define it, using getrlimit
3752         and setrlimit(RLIMIT_FSIZE).
3753         * testsuite/27_io/fpos/14775.cc: New.
3754         * config.h.in: Regenerate.
3755         * configure: Likewise.
3756
3757 2004-03-31  Paolo Carlini  <pcarlini@suse.de>
3758
3759         * config/locale/generic/c_locale.cc (__convert_to_v(long double&)):
3760         In v3 uses of sscanf, the special floating-point numbers INF,
3761         INFINITY, etc., cannot occur in input, therefore, if the latter
3762         is too large, ERANGE is always stored in errno, no need of finitel.
3763
3764 2004-03-30  Benjamin Kosnik  <bkoz@redhat.com>
3765
3766         PR libstdc++/14783
3767         * include/bits/stl_tree.h: Adjust initialization list order.
3768
3769 2004-03-29  Loren J. Rittle  <ljrittle@acm.org>
3770
3771         * testsuite/thread/pthread7-rope.cc: Update comment to reflect test.
3772
3773 2004-03-29  Paolo Carlini  <pcarlini@suse.de>
3774
3775         * testsuite/thread/pthread7-rope.cc: Fix, unpredictably, depending
3776         on allocator behavior, the memory pointed by data2 may well be not
3777         trashed.
3778
3779 2004-03-28  Chavdar Botev  <cbotev@yahoo.com>
3780
3781         PR libstdc++/14245
3782         * include/bits/basic_string.tcc
3783         (basic_string::basic_string(const basic_string&)): Pass to
3784         _Rep::_M_grab the actual allocator of the string being constructed
3785         not the default constructed one.
3786
3787 2004-03-27  Benjamin Kosnik  <bkoz@redhat.com>
3788
3789         libstdc++ PR/13598
3790         * config/locale/ieee_1003.1-2001/codecvt_specializations.h
3791         (__enc_traits::_M_destroy): New.
3792         (__enc_traits::~__enc_traits): Use it.
3793         (__enc_traits::operator=): Use _M_destroy, _M_init.
3794         (__enc_traits::__enc_traits): Same.
3795
3796 2004-03-27  Petur Runolfsson  <peturr02@ru.is>
3797
3798         * testsuite/ext/enc_filebuf/char/13598.cc: New.
3799
3800 2004-03-27  Paolo Carlini  <pcarlini@suse.de>
3801
3802         * include/ext/mt_allocator.h: Uglify consistently names of
3803         variables, members and classes; tidy.
3804
3805 2004-03-27  Dhruv Matani  <dhruvbird@gmx.net>
3806
3807         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
3808         Deallocation loop rewrote.
3809
3810 2004-03-26  Paolo Carlini  <pcarlini@suse.de>
3811
3812         * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
3813         __mt_alloc<>::deallocate): Protect two instances of
3814         block->thread_id with __GTHREADS.
3815
3816 2004-03-25  Gawain Bolton  <gp.bolton@computer.org>
3817
3818         * include/bits/stl_tree.h (_Rb_tree_impl): Add _Node_allocator
3819         default argument in constructors.
3820         (_Rb_tree::_M_empty_initialize): Remove.
3821
3822 2004-03-25  Benjamin Kosnik  <bkoz@redhat.com>
3823
3824         * testsuite/23_containers/map/operators/1_neg.cc: Adjust line numbers.
3825         * testsuite/23_containers/set/operators/1_neg.cc: Same.
3826
3827 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
3828
3829         * include/bits/cpp_type_traits.h: Changed __is_pod
3830         completely. Now, it does not use any of the previous type_traits
3831         to detect the pod types, and it also detects function pointers as
3832         POD types.
3833
3834         * include/bits/stl_tree.h: Introduced a new class _Rb_tree_impl,
3835         which encapsulates the internal implementation of an rb_tree. Made
3836         the allocator a base class of this class instead of the rb_tree,
3837         which was not conforming. This _Rb_tree_impl class is also
3838         specialized on whether the _Compare parameter is a POD type or
3839         not. If so, then it maintains the comparison function as a data
3840         member, otherwise it makes the _Compare parameter a base class of
3841         itself. Also, _M_key_compare is now a function instead of a data
3842         member, so that the above trick can work properly. Delegated the
3843         initialization of the other data members to this newly created
3844         class. Also, now other member functions of rb_tree must refer to
3845         _M_key_compare as _M_impl._M_key_compare(). The other data members
3846         (*) can be referenced to as _M_impl.(*), where
3847         (*) includes _M_header, and _M_node_count.
3848
3849 2004-03-25  Paolo Carlini  <pcarlini@suse.de>
3850
3851         * include/ext/mt_allocator.h (__mt_alloc<>::tune):
3852         Add _M_min_bin, the size in bytes of the smallest bin.
3853         (__mt_alloc<>::tune()): Tweak accordingly.
3854         (__mt_alloc<>::tune(size_t, ...)): Likewise.
3855         (__mt_alloc<>::block_record): Change to a union: members next
3856         and thread_id are never used at the same time.
3857         (__mt_alloc<>::allocate): Update consistently.
3858         (__mt_alloc<>::deallocate): Likewise.
3859         (__mt_alloc<>::_S_initialize): Update setups of _S_binmap and
3860         _S_bin_size for the configurable _M_min_size.
3861
3862 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
3863
3864         * include/bits/stl_list.h: Created a _List_impl class and made it
3865         derive from the allocator, instead of the list deriving from the
3866         allocator class, which was not conformant. Changed all references
3867         from this->_M_node to this->_M_impl._M_node * bits/list.tcc: Same
3868         as above (changed all references to the concerned variables).
3869
3870 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
3871
3872         * include/bits/stl_deque.h: Created a _Deque_impl class and made
3873         it derive from the allocator, instead of the deque deriving from
3874         the allocator class, which was not conformant. Changed all
3875         references to the _M_start, _M_finish, _M_map, and _M_map_size to
3876         _M_impl.*.
3877         (_Deque_base<_Tp,_Alloc>::~_Deque_base()): Added this->
3878         qualification in 2 places where it was missing.
3879         (_Deque_base<_Tp,_Alloc>::_M_initialize_map(size_t)): Same as
3880         above.
3881         * include/bits/deque.tcc: Same as above (changed all references to
3882         the concerned variables).
3883
3884 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
3885
3886         * include/bits/stl_vector.h: Created a _Vector_impl class and made
3887         it derive from the allocator, instead of the _Vector_base class,
3888         deriving from the allocator which was not conformant. Changed all
3889         references to the _M_start, _M_finish, and _M_end_of_storage to
3890         _M_impl.*.
3891         * include/bits/vector.tcc: Same as above (changed all references
3892         to the concerned variables).
3893
3894 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
3895
3896         * testsuite/23_containers/deque/cons/clear_allocator.cc: New.
3897         * testsuite/23_containers/list/cons/clear_allocator.cc: New.
3898         * testsuite/23_containers/vector/cons/clear_allocator.cc: New.
3899
3900 2004-03-24  Dhruv Matani  <dhruvbird@gmx.net>
3901
3902         * include/ext/malloc_allocator.h: Fixed the construct function to
3903         call global placement new instead of assignment. Added a check
3904         after the return from malloc to check whether returned pointer is
3905         NULL, and if so, throw std::bad_alloc().
3906         * include/ext/debug_allocator.h: Added a check in the deallocate
3907         function to check whether the user has passed a NULL pointer or
3908         not.
3909
3910 2004-03-24  Benjamin Kosnik  <bkoz@redhat.com>
3911
3912         * docs/html/20_util/allocator.html: Add bitmap_allocator links.
3913
3914 2004-03-24  Andreas Schwab  <schwab@suse.de>
3915
3916         * testsuite/lib/prune.exp (prune_g++_output): Ignore errata
3917         warning from IA64 assembler.
3918
3919 2004-03-24  Dhruv Matani  <dhruvbird@gmx.net>
3920
3921         * include/ext/bitmap_allocator.h: (_Bit_scan_forward) -> Made this
3922         function call __builtin_ctz instead of the while loop.
3923         (allocate) -> If condition has __builtin_expect.
3924         (deallocate) -> Ditto.
3925         Renamed a few left-over variables and typedefs according to the
3926         C++STYLE mentioned in the documentation.
3927         Protected calls to __gthread* by __gthread_active_p(), whose value
3928         is cached in the local variable __threads_active.
3929
3930 2004-03-24  Felix Yen  <fwy@alumni.brown.edu>
3931
3932         * testsuite/performance/20_util/allocator/producer_consumer.cc:
3933         Use linear algorithm for producer.
3934
3935 2004-03-24  Paolo Carlini  <pcarlini@suse.de>
3936
3937         * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
3938         __mt_alloc<>::deallocate): Avoid redundant conditionals.
3939
3940 2004-03-23  Benjamin Kosnik  <bkoz@redhat.com>
3941
3942         * include/bits/locale_facets.h: Tweaks for 80 column.
3943         (__numpunct_cache::_M_cache): Move to locale_facets.tcc.
3944         (__moneypunct_cache::_M_cache): Same.
3945         (num_get): Don't inherit from __num_base.
3946         (num_put): Same.
3947         (money_get): Don't inherit from money_base.
3948         (money_put): Same.
3949         (__timepunct::_M_am_pm_format): New.
3950         (time_get::_M_extract_num): Return iterator, use ios_base as argument.
3951         (time_get::_M_extract_name): Same.
3952         (time_get::_M_extract_via_format): Same.
3953         * include/bits/locale_facets.tcc: Tweaks for 80 column.
3954         Use _M_getloc instead of getloc.
3955         * testsuite/22_locale/money_put/put/char/9780-3.cc: New.
3956         * testsuite/22_locale/num_put/put/char/9780-2.cc: New.
3957         * testsuite/22_locale/time_put/put/char/9780-1.cc: New.
3958
3959 2004-03-22  Paolo Carlini  <pcarlini@suse.de>
3960
3961         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add pool_allocator.
3962         * configure: Regenerate.
3963         * config/allocator/pool_allocator_base.h: New.
3964         * include/ext/pool_allocator.h: Convert to a standard-conforming
3965         allocator.
3966         * src/allocator.cc: Tweak instantiations.
3967         * testsuite/performance/20_util/allocator/insert.cc: Add __pool_alloc.
3968         * testsuite/performance/20_util/allocator/insert_insert.cc: Ditto.
3969         * testsuite/performance/20_util/allocator/list_sort_search.cc: Ditto.
3970         * testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
3971         * testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
3972         * testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
3973
3974 2004-03-22  Hans-Peter Nilsson  <hp@axis.com>
3975
3976         * config/cpu/cris/atomicity.h (__atomic_add): Remove "static
3977         inline" and attribute-unused.  Qualify parameter __mem with
3978         "volatile".
3979         (__exchange_and_add): Ditto.  Add back memory clobber to asm.
3980
3981 2004-03-20  Paolo Carlini  <pcarlini@suse.de>
3982
3983         * testsuite/27_io/basic_istream/extractors_arithmetic/char/2.cc:
3984         Remove junk.
3985         * testsuite/27_io/basic_istream/extractors_arithmetic/char/3.cc:
3986         Likewise.
3987         * testsuite/27_io/basic_istream/extractors_arithmetic/char/6.cc:
3988         Likewise.
3989         * testsuite/27_io/basic_istream/extractors_arithmetic/char/7.cc:
3990         Likewise.
3991         * testsuite/27_io/basic_istream/extractors_arithmetic/char/8.cc:
3992         Likewise.
3993         * testsuite/27_io/basic_istream/extractors_arithmetic/char/9.cc:
3994         Likewise.
3995         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
3996         Likewise.
3997         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
3998         Likewise.
3999         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
4000         Likewise.
4001         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
4002         Likewise.
4003
4004 2004-03-20  Paolo Carlini  <pcarlini@suse.de>
4005
4006         * include/std/std_valarray.h: Document DR389 [Ready].
4007         * docs/html/ext/howto.html: Add an entry for DR389.
4008
4009 2004-03-19  Michael Eager  <eager@mvista.com>
4010
4011         * config/cpu/mips/atomicity.h:  Prevent reg loads between LL and
4012         SC instructions.
4013
4014 2004-03-19  Paolo Carlini  <pcarlini@suse.de>
4015
4016         * testsuite/22_locale/num_get/get/char/11.cc: Remove redundant
4017         static_cast-s.
4018         * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
4019         * testsuite/22_locale/num_get/get/char/13.cc: Likewise.
4020         * testsuite/22_locale/num_get/get/char/14.cc: Likewise.
4021         * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
4022         * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
4023         * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
4024         * testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise.
4025         * testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise.
4026         * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
4027
4028 2004-03-19  Paolo Carlini  <pcarlini@suse.de>
4029             Petur Runolfsson  <peturr02@ru.is>
4030
4031         PR libstdc++/12077
4032         * include/ext/stdio_sync_filebuf.h (showmanyc): Remove, there's
4033         no way to find out the conversion used by the underlying FILE*.
4034         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: New.
4035         * testsuite/27_io/objects/char/9.cc: Tweak.
4036
4037 2004-03-19  Paolo Carlini  <pcarlini@suse.de>
4038
4039         PR libstdc++/14648
4040         * include/ext/ropeimpl.h (rope<>::_S_apply_to_pieces): Fix
4041         memory allocation/deallocation calls.
4042         * testsuite/ext/14648.cc: New.
4043
4044 2004-03-19  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
4045
4046         PR libstdc++/14647
4047         * include/backward/bvector.h (bit_vector): Allocator is in std
4048         namespace.
4049
4050 2004-03-19  Phil Edwards  <phil@codesourcery.com>
4051
4052         * acinclude.m4 (GLIBCXX_CHECK_WCHAR_T_SUPPORT):  Set LIBICONV,
4053         not libiconv.  SUBST this variable as well.
4054         * testsuite/Makefile.am (site.exp):  New target, based on that
4055         created by automake.  Also set libiconv.
4056
4057         * configure, Makefile.in, include/Makefile.in, libmath/Makefile.in,
4058         libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
4059         testsuite/Makefile.in:  Regenerate.
4060
4061 2004-03-16  Benjamin Kosnik  <bkoz@redhat.com>
4062
4063         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Default setting is
4064         new_allocator for all hosts.
4065         * configure: Regenerate.
4066
4067 2004-03-16  Paolo Carlini  <pcarlini@suse.de>
4068
4069         * testsuite/22_locale/num_put/put/char/4.cc: Fix for 64-bit pointers.
4070         * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
4071
4072 2004-03-15  Paolo Carlini  <pcarlini@suse.de>
4073
4074         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
4075         Adjust the logic underlying the parsing of symbol to deal
4076         correctly with an optional sign component (i.e., when either
4077         negative_sign or positive_sign is empty)
4078         * testsuite/22_locale/money_get/get/char/19.cc: New.
4079         * testsuite/22_locale/money_get/get/wchar_t/19.cc: New.
4080
4081 2004-03-15  Paolo Carlini  <pcarlini@suse.de>
4082
4083         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
4084         Do not accept an incomplete currency symbol.
4085         * testsuite/22_locale/money_get/get/char/18.cc: New.
4086         * testsuite/22_locale/money_get/get/wchar_t/18.cc: New.
4087
4088 2004-03-13  Benjamin Kosnik  <bkoz@redhat.com>
4089
4090         * config/allocator: New.
4091         * config/allocator/bitmap_allocator_base.h: New.
4092         * config/allocator/malloc_allocator_base.h: New.
4093         * config/allocator/mt_allocator_base.h: New.
4094         * config/allocator/new_allocator_base.h: New.
4095         * include/bits/allocator.h: Include c++allocator.h.
4096         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): New.
4097         * aclocal.m4: Regenerate.
4098         * configure.ac: Use GLIBCXX_ENABLE_ALLOCATOR.
4099         * configure: Regenerate.
4100         * include/Makefile.am (host_headers_extra): Add c++allocator.h.
4101         * include/Makefile.in: Regenerate.
4102         * docs/html/configopts.html: Add enable-libstdcxx-allocator.
4103
4104 2004-03-12  Benjamin Kosnik  <bkoz@redhat.com>
4105
4106         * include/bits/allocator.h: Revert.
4107
4108 2004-03-12  Paolo Carlini  <pcarlini@suse.de>
4109
4110         * docs/html/ext/howto.html: Add entry for DR 253 [Ready].
4111         * include/bits/gslice_array.h: Add comment about DR 253.
4112         * include/bits/indirect_array.h: Likewise.
4113         * include/bits/mask_array.h: Likewise.
4114         * include/bits/slice_array.h: Likewise.
4115
4116 2004-03-12  Benjamin Kosnik  <bkoz@redhat.com>
4117
4118         * testsuite/20_util/allocator/14176.cc: New.
4119         * include/ext/mt_allocator.h: Formatting fixes.
4120
4121 2004-03-11  Dhruv Matani  <dhruvbird@HotPOP.com>
4122
4123         * include/Makefile.am (ext_headers): Add
4124         ${ext_srcdir}/bitmap_allocator.h .
4125         * include/Makefile.in: Regenerate.
4126         * docs/html/ext/ballocator_doc.txt: New file.
4127         * include/ext/bitmap_allocator.h: New file.
4128         * testsuite/performance/20_util/allocator/list_sort_search.cc: Add
4129         test.
4130         * testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
4131         * testsuite/performance/20_util/allocator/producer_consumer.cc: Add
4132         test for the bitmap_allocator<>.
4133         * testsuite/performance/20_util/allocator/insert.cc: Likewise.
4134         * testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
4135         * testsuite/performance/20_util/allocator/map_thread.cc: Likewise.
4136
4137 2004-03-11  Paolo Carlini  <pcarlini@suse.de>
4138
4139         * include/std/std_complex.h (pow(const complex&, const _Tp&),
4140         pow(const _Tp&, const complex&), pow(const complex&,
4141         const complex&)): Fully qualify with std:: a few calls.
4142         * testsuite/26_numerics/complex/13450.cc: Minor tweak.
4143
4144 2004-03-11  Steven Bosscher  <stevenb@suse.de>
4145
4146         PR libstdc++/11706
4147         * include/c_std/cmath.tcc (__cmath_power): Define inline.
4148
4149 2004-03-10  Kelley Cook  <kcook@gcc.gnu.org>
4150
4151         * configure.ac: Bump AC_PREREQ to 2.59.
4152
4153 2004-03-10  Paolo Carlini  <pcarlini@suse.de>
4154
4155         * testsuite/26_numerics/valarray_subset_assignment.cc: Fix typos.
4156
4157 2004-03-10  Paul Kienzle  <pkienzle@nist.gov>
4158             Paolo Carlini  <pcarlini@suse.de>
4159
4160         PR libstdc++/13450
4161         * include/std/std_complex.h (pow(const complex&, const _Tp&),
4162         pow(const _Tp&, const complex&)): Use cmath pow only when safe.
4163         * testsuite/26_numerics/complex/13450.cc: New.
4164
4165         * testsuite/26_numerics/cmath/overloads.C: Rename to overloads.cc.
4166         * testsuite/26_numerics/complex/pow.C: Rename to pow.cc and fix.
4167
4168 2004-03-10  Jerry Quinn  <jlquinn@optonline.net>
4169
4170         PR libstdc++/3247
4171         * include/bits/gslice_array.h (gslice_array()): Make public.
4172         (operator=(gslice_array)): Make public.  Implement.
4173         * include/bits/indirect_array.h (indirect_array()): Make public.
4174         * include/bits/mask_array.h (mask_array()): Make public.
4175         (operator=(mask_array)): Make public.  Implement.
4176         * include/bits/valarray_array.tcc (__valarray_copy):
4177         Comment.  Add versions for gslice_array and mask_array.
4178         * testsuite/26_numerics/valarray_subset_assignment.cc:  New test.
4179
4180 2004-03-09  Benjamin Kosnik  <bkoz@redhat.com>
4181
4182         * testsuite/23_containers/deque/modifiers/swap.cc: Add in bits for
4183         non-weak systems.
4184         * testsuite/23_containers/vector/modifiers/swap.cc: Same.
4185         * testsuite/23_containers/set/modifiers/swap.cc: Same.
4186         * testsuite/23_containers/multiset/modifiers/swap.cc: Same.
4187         * testsuite/23_containers/multimap/modifiers/swap.cc: Same.
4188         * testsuite/23_containers/map/modifiers/swap.cc: Same.
4189         * testsuite/23_containers/list/modifiers/swap.cc: Same.
4190
4191         * testsuite/22_locale/locale/cons/12658_thread.cc: Catch exceptions.
4192
4193 2004-03-08  Benjamin Kosnik  <bkoz@redhat.com>
4194
4195         PR c++/13658
4196         * testsuite/23_containers/deque/modifiers/swap.cc: New.
4197         * testsuite/23_containers/list/modifiers/swap.cc: New.
4198         * testsuite/23_containers/map/modifiers/swap.cc: New.
4199         * testsuite/23_containers/multimap/modifiers/swap.cc: New.
4200         * testsuite/23_containers/multiset/modifiers/swap.cc: New.
4201         * testsuite/23_containers/set/modifiers/swap.cc: New.
4202         * testsuite/23_containers/vector/modifiers/swap.cc: New.
4203
4204 2004-03-08  Petur Runolfsson  <peturr02@ru.is>
4205
4206         PR libstdc++/12658
4207         * testsuite/22_locale/locale/cons/12658_thread.cc: New.
4208
4209 2004-03-08  Paolo Carlini  <pcarlini@suse.de>
4210
4211         * docs/html/ext/howto.html: Add entry for DR 103 [WP].
4212         * include/bits/stl_multiset.h: Add comment about DR 103.
4213         * include/bits/stl_set.h: Likewise.
4214
4215 2004-03-08  Paolo Carlini  <pcarlini@suse.de>
4216
4217         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
4218         The value _space_ indicates that at least one space is required
4219         at that position.
4220         * testsuite/22_locale/money_get/get/char/17.cc: New.
4221         * testsuite/22_locale/money_get/get/wchar_t/17.cc: New.
4222
4223         * testsuite/22_locale/money_get/get/char/7.cc: Minor tweaks.
4224         * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
4225
4226         * include/bits/locale_facets.tcc (money_get<>::do_get(long_double&)):
4227         Remove redundant conditional on __str.size().
4228
4229 2004-03-08  Benjamin Kosnik  <bkoz@redhat.com>
4230
4231         * include/bits/allocator.h: Switch defaults to mt_alloc.
4232
4233 2004-03-06  Benjamin Kosnik  <bkoz@redhat.com>
4234
4235         * include/ext/mt_allocator.h (_S_initialize): If
4236         !__GTHREAD_MUTEX_INIT, then initialize _S_thread_freelist_mutex.
4237
4238 2004-03-06  Benjamin Kosnik  <bkoz@redhat.com>
4239
4240         PR libstdc++/12658
4241         * src/locale_init.cc (locale::locale): Lock critical regions with
4242         external mutexes.
4243         (locale::global): Same.
4244         * include/bits/concurrence.h (__glibcxx_mutex_define_initialized):
4245         Add in once bits for cases without __GTHREAD_MUTEX_INIT.
4246         (__glibcxx_mutex_lock): Same.
4247
4248         * config/cpu/generic/atomicity.h: Remove
4249         _GLIBCXX_NEED_GENERIC_MUTEX, use concurrence.h.
4250         * src/misc-inst.cc: Move all locking bits out of this file.
4251
4252         * config/os/hpux/os_defines.h: Remove _GLIBCXX_INST_ATOMICITY_LOCK.
4253         * src/misc-inst.cc: Same.
4254         * config/cpu/hppa/atomicity.h: Same.
4255
4256         * config/linker-map.gnu: Remove types in the signature of atomic
4257         exports, as they may vary.
4258
4259 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
4260
4261         * include/bits/locale_facets.tcc: Tweak the comment preceding
4262         has_facet: doesn't throw.
4263
4264 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
4265
4266         * testsuite/22_locale/money_get/get/char/1.cc: Clean up.
4267         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
4268         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
4269         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
4270         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
4271         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
4272         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
4273         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
4274
4275 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
4276
4277         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
4278         num_get<>::_M_extract_int, num_get<>::do_get(bool&),
4279         __pad<>::_S_pad): Prefer plain operator== to traits::eq().
4280         * testsuite/testsuite_character.h (struct __gnu_test::character):
4281         Provide operator==.
4282         * testsuite/testsuite_hooks.h (struct __gnu_test::pod_char):
4283         Likewise.
4284
4285 2004-03-05  Paolo Carlini  <pcarlini@suse.de>
4286
4287         * testsuite/27_io/fpos/14320-2.cc: Remove xfail.
4288
4289 2004-03-04  Benjamin Kosnik  <bkoz@redhat.com>
4290
4291         * testsuite/23_containers/multiset/insert/1.cc: Test result string.
4292
4293         * testsuite/23_containers/bitset/invalidation/1.cc: Main always
4294         returns 0.
4295         * testsuite/23_containers/deque/invalidation/4.cc: Same.
4296         * testsuite/23_containers/list/invalidation/1.cc: Same.
4297         * testsuite/23_containers/list/invalidation/2.cc: Same.
4298         * testsuite/23_containers/list/invalidation/3.cc: Same.
4299         * testsuite/23_containers/list/invalidation/4.cc: Same.
4300         * testsuite/23_containers/map/invalidation/2.cc: Same.
4301         * testsuite/23_containers/multimap/invalidation/1.cc: Same.
4302         * testsuite/23_containers/multimap/invalidation/2.cc: Same.
4303         * testsuite/23_containers/multiset/invalidation/1.cc: Same.
4304         * testsuite/23_containers/multiset/invalidation/2.cc: Same.
4305         * testsuite/23_containers/set/invalidation/1.cc: Same.
4306         * testsuite/23_containers/set/invalidation/2.cc: Same.
4307         * testsuite/23_containers/vector/invalidation/1.cc: Same.
4308         * testsuite/23_containers/vector/invalidation/2.cc: Same.
4309         * testsuite/23_containers/vector/invalidation/3.cc: Same.
4310         * testsuite/23_containers/vector/invalidation/4.cc: Same.
4311
4312 2004-03-04  Paolo Carlini  <pcarlini@suse.de>
4313
4314         * scripts/testsuite_flags.in: Add "-D_GLIBCXX_ASSERT" to
4315         CXXFLAGS_save.
4316         * testsuite/lib/libstdc++.exp: Don't add it conditionally to
4317         DEFAULT_CXXFLAGS.
4318         * testsuite/18_support/numeric_limits.cc: Remove "-D_GLIBCXX_ASSERT"
4319         from the dg-options.
4320         * testsuite/23_containers/vector/invalidation/1.cc: Likewise.
4321         * testsuite/23_containers/vector/invalidation/2.cc: Likewise.
4322         * testsuite/23_containers/vector/invalidation/3.cc: Likewise.
4323         * testsuite/23_containers/vector/invalidation/4.cc: Likewise.
4324         * testsuite/23_containers/vector/resize/1.cc: Likewise.
4325         * testsuite/26_numerics/complex_value.cc: Likewise.
4326         * testsuite/27_io/ios_base/storage/1.cc: Likewise.
4327         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
4328         * testsuite/27_io/ios_base/storage/3.cc: Likewise.
4329         * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
4330         * testsuite/27_io/objects/char/5.cc: Likewise.
4331         * testsuite/27_io/objects/wchar_t/5.cc: Likewise.
4332         * testsuite/backward/11460.cc: Likewise.
4333         * testsuite/thread/pthread7-rope.cc: Likewise.
4334
4335         * testsuite/21_strings/basic_string/compare/char/1.cc: Add
4336         missing test variable.
4337         * testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Add
4338         missing test variable.
4339
4340 2004-03-04  Benjamin Kosnik  <bkoz@redhat.com>
4341
4342         * testsuite/20_util/allocator/1.cc: Provide explicit
4343         instantiations for non-weak systems.
4344         * testsuite/20_util/binders.cc: Same.
4345         * testsuite/20_util/allocator/8230.cc: Same.
4346         * testsuite/20_util/allocator/10378.cc: Same.
4347         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
4348         * testsuite/22_locale/ctype/is/char/2.cc: Same.
4349         * testsuite/thread/pthread7-rope.cc: Same.
4350         * testsuite/thread/pthread6.cc: Same.
4351         * testsuite/thread/pthread5.cc: Same.
4352         * testsuite/thread/pthread4.cc: Same.
4353         * testsuite/thread/pthread1.cc: Same.
4354         * testsuite/ext/rope.cc: Same.
4355         * testsuite/ext/hash_set.cc: Same.
4356         * testsuite/ext/hash_map.cc: Same.
4357         * testsuite/ext/concept_checks.cc: Same.
4358         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Same.
4359         * testsuite/25_algorithms/unique/2.cc: Same.
4360         * testsuite/25_algorithms/unique/1.cc: Same.
4361         * testsuite/25_algorithms/rotate.cc: Same.
4362         * testsuite/25_algorithms/min_max.cc: Same.
4363         * testsuite/25_algorithms/equal.cc: Same.
4364         * testsuite/24_iterators/rel_ops.cc: Same.
4365         * testsuite/24_iterators/iterator.cc: Same.
4366         * testsuite/24_iterators/insert_iterator.cc: Same.
4367         * testsuite/24_iterators/front_insert_iterator.cc: Same.
4368         * testsuite/24_iterators/back_insert_iterator.cc: Same.
4369         * testsuite/23_containers/vector/resize/1.cc: Same.
4370         * testsuite/23_containers/vector/modifiers/2.cc: Same.
4371         * testsuite/23_containers/vector/modifiers/1.cc: Same.
4372         * testsuite/23_containers/vector/invalidation/4.cc: Same.
4373         * testsuite/23_containers/vector/invalidation/3.cc: Same.
4374         * testsuite/23_containers/vector/invalidation/2.cc: Same.
4375         * testsuite/23_containers/vector/invalidation/1.cc: Same.
4376         * testsuite/23_containers/vector/element_access/1.cc: Same.
4377         * testsuite/23_containers/vector/cons/6513.cc: Same.
4378         * testsuite/23_containers/vector/cons/3.cc: Same.
4379         * testsuite/23_containers/vector/cons/2.cc: Same.
4380         * testsuite/23_containers/vector/cons/1.cc: Same.
4381         * testsuite/23_containers/vector/capacity/8230.cc: Same.
4382         * testsuite/23_containers/vector/capacity/1.cc: Same.
4383         * testsuite/23_containers/vector/bool/6886.cc: Same.
4384         * testsuite/23_containers/stack/members/7158.cc: Same.
4385         * testsuite/23_containers/set/invalidation/2.cc: Same.
4386         * testsuite/23_containers/set/invalidation/1.cc: Same.
4387         * testsuite/23_containers/queue/members/7157.cc: Same.
4388         * testsuite/23_containers/priority_queue/members/7161.cc: Same.
4389         * testsuite/23_containers/multiset/invalidation/2.cc: Same.
4390         * testsuite/23_containers/multiset/invalidation/2.cc: Same.
4391         * testsuite/23_containers/multiset/insert/1.cc: Same.
4392         * testsuite/23_containers/multimap/invalidation/2.cc: Same.
4393         * testsuite/23_containers/multimap/invalidation/2.cc: Same.
4394         * testsuite/23_containers/map/operators/1.cc: Same.
4395         * testsuite/23_containers/map/invalidation/2.cc: Same.
4396         * testsuite/23_containers/map/invalidation/1.cc: Same.
4397         * testsuite/23_containers/map/insert/1.cc: Same.
4398         * testsuite/23_containers/list/operators/4.cc: Same.
4399         * testsuite/23_containers/list/operators/3.cc: Same.
4400         * testsuite/23_containers/list/operators/2.cc: Same.
4401         * testsuite/23_containers/list/operators/1.cc: Same.
4402         * testsuite/23_containers/list/modifiers/3.cc: Same.
4403         * testsuite/23_containers/list/modifiers/2.cc: Same.
4404         * testsuite/23_containers/list/modifiers/1.cc: Same.
4405         * testsuite/23_containers/list/invalidation/4.cc: Same.
4406         * testsuite/23_containers/list/invalidation/3.cc: Same.
4407         * testsuite/23_containers/list/invalidation/2.cc: Same.
4408         * testsuite/23_containers/list/invalidation/1.cc: Same.
4409         * testsuite/23_containers/list/cons/9.cc: Same.
4410         * testsuite/23_containers/list/cons/8.cc: Same.
4411         * testsuite/23_containers/list/cons/7.cc: Same.
4412         * testsuite/23_containers/list/cons/6.cc: Same.
4413         * testsuite/23_containers/list/cons/5.cc: Same.
4414         * testsuite/23_containers/list/cons/4.cc: Same.
4415         * testsuite/23_containers/list/cons/3.cc: Same.
4416         * testsuite/23_containers/list/cons/2.cc: Same.
4417         * testsuite/23_containers/list/cons/1.cc: Same.
4418         * testsuite/23_containers/list/capacity/1.cc: Same.
4419         * testsuite/23_containers/deque/operators/1.cc: Same.
4420         * testsuite/23_containers/deque/invalidation/4.cc: Same.
4421         * testsuite/23_containers/deque/invalidation/3.cc: Same.
4422         * testsuite/23_containers/deque/invalidation/2.cc: Same.
4423         * testsuite/23_containers/deque/invalidation/1.cc: Same.
4424         * testsuite/23_containers/deque/cons/2.cc: Same.
4425         * testsuite/23_containers/deque/cons/1.cc: Same.
4426
4427         * src/allocator.cc: Add char, wchar_t instantiations
4428         to match extern template declarations in memory.h.
4429
4430 2004-03-03  Paolo Carlini  <pcarlini@suse.de>
4431
4432         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
4433         Fix warning regression.
4434
4435 2004-03-03  Paolo Carlini  <pcarlini@suse.de>
4436
4437         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
4438         Deal properly with empty __digits and negative frac_digits,
4439         clean-up a bit.
4440
4441 2004-03-03  Jonathan Wakely  <redi@gcc.gnu.org>
4442
4443         * docs/html/documentation.html: Regenerate.
4444
4445 2004-03-02  Paolo Carlini  <pcarlini@suse.de>
4446
4447         PR libstdc++/14320
4448         * include/bits/postypes.h (class streamoff): Remove, now
4449         streamoff is just typedef a 64 bit signed integer type.
4450         (class fpos): Tweak consistently.
4451         * testsuite/27_io/fpos/14320-1.cc: New.
4452         * testsuite/27_io/fpos/14320-2.cc: New.
4453         * testsuite/27_io/fpos/14320-3.cc: New.
4454         * testsuite/27_io/fpos/14320-4.cc: New.
4455         * testsuite/27_io/fpos/14320-5.cc: New.
4456         * testsuite/27_io/fpos/mbstate_t/4_neg.cc: xfail for now.
4457
4458 2004-03-02  Paolo Carlini  <pcarlini@suse.de>
4459
4460         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
4461         Reorganize a bit the main parsing loop, thus early detecting
4462         an empty value component.
4463         * testsuite/22_locale/money_get/get/char/16.cc: New.
4464         * testsuite/22_locale/money_get/get/wchar_t/16.cc: New.
4465
4466 2004-03-02  Benjamin Kosnik  <bkoz@redhat.com>
4467
4468         Support automake 1.8.2
4469         * configure.ac (AM_INIT_AUTOMAKE): Add -Wno-override.
4470         * po/Makefile.am (EXTRA_DIST): New.
4471         * po/Makefile.in: Regenerate.
4472         * Makefile.in: Same.
4473         * include/Makefile.in: Same.
4474         * libmath/Makefile.in: Same.
4475         * libsupc++/Makefile.in: Same.
4476         * src/Makefile.in: Same.
4477         * testsuite/Makefile.in: Same.
4478
4479         * include/Makefile.am (${host_builddir}/gthr-posix.h): Use
4480         __GXX_WEAK__ instead of SUPPORTS_WEAK.
4481         (${host_builddir}/gthr-default.h): Same.
4482         (${host_builddir}/gthr.h): Same.
4483         * acinclude.m4 (GLIBCXX_ENABLE_THREAD): Remove
4484         _GLIBCXX_SUPPORTS_WEAK, as this behavior can be modified via
4485         -fno-weak.
4486         * aclocal.m4: Regenerate.
4487         * acconfig.h: Remove _GLIBCXX_SUPPORTS_WEAK.
4488         * config.h.in: Regenerate.
4489         * configure: Same.
4490
4491 2004-03-01  Benjamin Kosnik  <bkoz@redhat.com>
4492
4493         Support autoconf 2.59
4494         * acinclude.m4: Quote correctly.
4495         * aclocal.m4: Regenerate.
4496         * linkage.m4: Same.
4497
4498 2004-03-01  Benjamin Kosnik  <bkoz@redhat.com>
4499
4500         * docs/html/test.html: Add multilib RUNTESTFLAGS example.
4501
4502         * docs/html/18_support/howto.html: Add bit about writing to
4503         stderr, mostly by Zack.
4504
4505 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
4506
4507         * include/bits/locale_facets.tcc (money_get<>::_M_extract,
4508         money_get<>::do_get(string_type&)): ... and two more.
4509
4510 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
4511
4512         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
4513         Fix thinkos in the switch from string_type& to string& as last
4514         argument.
4515
4516 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
4517
4518         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
4519         Also when parsing exponent sign, first look for thousands_sep
4520         and decimal_point; tweak a bit.
4521         * testsuite/22_locale/num_get/get/char/15.cc: New.
4522         * testsuite/22_locale/num_get/get/wchar_t/15.cc: New.
4523
4524         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
4525         num_get<>::_M_extract_int): Reorder some conditionals.
4526
4527 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
4528
4529         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
4530         Consistently with numpunct, enforce the requirements in
4531         22.2.6.3, p3 for the thousands separators; tweak a bit.
4532         * testsuite/22_locale/money_get/get/char/15.cc: New.
4533         * testsuite/22_locale/money_get/get/wchar_t/15.cc: New.
4534
4535 2004-03-01  David Billinghurst <David.Billinghurst@riotinto.com>
4536
4537         * testsuite/lib/libstdc++.exp (v3-list-tests): Use
4538         testsuite_files from correct multilib blddir when running
4539         testsuite.
4540
4541 2004-02-29  Phil Edwards  <phil@codesourcery.com>
4542
4543         * testsuite/Makefile.am (check-abi, check-abi-verbose):  Copy
4544         the summary file to the logfile.
4545         * testsuite/Makefile.in:  Regenerate.
4546
4547 2004-02-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4548
4549         * config/cpu/hppa/atomicity.h (__atomic_add): Make first argument
4550         volatile.
4551         * config/os/hpux/os_defines.h (_GLIBCXX_INST_ATOMICITY_LOCK): Use
4552         __GXX_WEAK__ instead of _GLIBCXX_SUPPORTS_WEAK.
4553
4554 2004-02-28  Paolo Carlini  <pcarlini@suse.de>
4555
4556         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
4557         According to 22.2.3.1, p2, 'units' may be followed by 'e' with
4558         no 'decimal-point' in the middle: in this case too we must fix
4559         up __found_grouping; slightly tweak.
4560         * testsuite/22_locale/num_get/get/char/14.cc: New.
4561         * testsuite/22_locale/num_get/get/wchar_t/14.cc: New.
4562
4563 2004-02-27  Eric Christopher  <echristo@redhat.com>
4564             Phil Edwards  <phil@codesourcery.com>
4565
4566         * testsuite/22_locale/collate/compare/wchar_t/2.cc,
4567         testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc,
4568         testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc,
4569         testsuite/22_locale/collate/hash/wchar_t/2.cc,
4570         testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc,
4571         testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc,
4572         testsuite/22_locale/collate/transform/wchar_t/2.cc,
4573         testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc,
4574         testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
4575         Use dg-require-iconv.
4576         * testsuite/lib/libstdc++.exp:  Load target-supports.exp.
4577
4578 2004-02-27  Phil Edwards  <phil@codesourcery.com>
4579             Eric Christopher  <echristo@redhat.com>
4580
4581         * testsuite/config/default.exp:  Update with comments.
4582         (${tool}_target_compile):  New wrapper routine.
4583         * testsuite/lib/dg-options.exp:  New file, with dg-require-iconv.
4584         * testsuite/lib/libstdc++.exp:  Update with comments and cosmetic
4585         fixes.
4586         (load_gcc_lib, v3track):  New routines.
4587         (v3-init):  Rename to libstdc++_init.
4588         * testsuite/libstdc++-dg/normal.exp:  No longer call v3-init.
4589         Move DEFAULT_CXXFLAGS handling into libstdc++_init.
4590
4591 2004-02-27  Benjamin Kosnik  <bkoz@redhat.com>
4592
4593         * config/cpu/hppa/atomicity.h: Include c++config.h to get defines.
4594
4595         * src/misc-inst.cc (_S_atomicity_lock): Move to __gnu_cxx.
4596
4597         * config/os/irix/irix5.2/atomicity.h: Merge..
4598         * config/os/irix/irix6.5/atomicity.h: Merge..
4599         * config/os/irix/atomicity.h: ...into this.
4600         * config/os/irix/atomic_word.h: New.
4601         * configure.host: Set atomic_word_dir for irix.
4602
4603         * hppa/atomicity.h: Change __Atomicity_lock to _Atomicity_lock.
4604         * i386/atomicity.h: Same.
4605         * m68k/atomicity.h: Same.
4606         * sparc/atomicity.h: Same.
4607
4608 2004-02-27  David Edelsohn  <edelsohn@gnu.org>
4609
4610         * config/os/aix/atomicity.h: Use __gnu_cxx namespace. Remove
4611         static, and inline keywords.
4612
4613 2004-02-27  Paolo Carlini  <pcarlini@suse.de>
4614
4615         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
4616         num_get<>::_M_extract_int, money_get<>::_M_extract): If appropriate,
4617         call reserve on the __tmp_gruping string.
4618         (num_get<>::_M_extract_float): Don't append unnecessarily a
4619         char() to the returned string.
4620         * include/bits/locale_facets.tcc: Trivial reformattings.
4621
4622 2004-02-27  Paolo Carlini  <pcarlini@suse.de>
4623
4624         * include/bits/locale_facets.h (money_get<>::_M_extract):
4625         Change signature: now takes a plain string&.
4626         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
4627         Update consistently the definition; use the moneypunct cache
4628         to parse the value; use swap to change __units.
4629         (money_get<>::do_get(long double&)): Update call of _M_extract,
4630         avoid ctype::narrow, not correct wrt the standard.
4631         (money_get<>::do_get(string_type&)): Likewise, update call
4632         of _M_extract, use ctype::widen.
4633         * src/locale-inst.cc: Tweak instantiations of _M_extract.
4634
4635 2004-02-26  Ian Lance Taylor  <ian@wasabisystems.com>
4636
4637         * testsuite/demangle/abi_examples/01.cc: Expect error -2.
4638         * testsuite/demangle/abi_examples/02.cc: Likewise.
4639         * testsuite/demangle/regression/cw-11.cc: Likewise.
4640         * testsuite/demangle/regression/cw-16.cc: Change two expected
4641         results to match libiberty demangler output.
4642
4643 2004-02-26  Benjamin Kosnik  <bkoz@redhat.com>
4644
4645         PR libstdc++/10246
4646         * libsupc++/Makefile.am: Use libiberty demangler.
4647         (c_sources): Add cp-demangle.c.
4648         * libsupc++/Makefile.in: Regenerate.
4649         * src/Makefile.am (sources): Remove demangle.cc.
4650         * src/Makefile.in: Regenerate.
4651         * include/Makefile.am (bits_headers): Move demangle.h.
4652         (ext_headers): ...here.
4653         * include/Makefile.in: Regenerate.
4654         * include/bits/demangle.h: Move...
4655         * include/ext/demangle.h: ...here.
4656         * src/demangle.cc: Remove.
4657
4658 2004-02-26  Benjamin Kosnik  <bkoz@redhat.com>
4659
4660         * include/bits/demangle.h: Add type template parameter to all
4661         templates with just an Allocator template parameter.
4662
4663 2004-02-25  Benjamin Kosnik  <bkoz@redhat.com>
4664
4665         * include/bits/atomicity.h: New, forward declarations for __atomic_add
4666         and __exchange_and_add.
4667         * config/cpu/generic/atomic_word.h: New, typdef for atomic word.
4668         * config/cpu/cris/atomic_word.h: Same.
4669         * config/cpu/sparc/atomic_word.h: Same.
4670         * include/bits/ios_base.h (_Callback_list::_M_remove_reference):
4671         Qualifiy with __gnu_cxx.
4672         (_Callback_list::_M_add_reference): Same.
4673         * include/bits/locale_classes.h (locale::facet::_M_add_reference): Add.
4674         (locale::facet::_M_remove_reference): Same.
4675         (locale::_Impl::_M_add_reference): Add.
4676         (locale::_Impl::_M_remove_reference): Same.
4677         * include/bits/basic_string.h (basic_string::_Rep::_M_refcopy): Same.
4678         (basic_string::_Rep::_M_dispose): Same.
4679         * src/ios.cc (ios_base::xalloc): Same.
4680         * src/ios_init.cc (ios_base::Init::Init): Same.
4681         (ios_base::Init::~Init): Same.
4682         * src/locale.cc (locale::id::_M_id): Same.
4683         * config/cpu/i486/atomicity.h: Use __gnu_cxx namespace. Remove
4684         static, and inline keywords.
4685         * config/cpu/alpha/atomicity.h: Same.
4686         * config/cpu/cris/atomicity.h: Same.
4687         * config/cpu/generic/atomicity.h: Same.
4688         * config/cpu/hppa/atomicity.h: Same.
4689         * config/cpu/i386/atomicity.h: Same.
4690         * config/cpu/ia64/atomicity.h: Same.
4691         * config/cpu/m68k/atomicity.h: Same.
4692         * config/cpu/mips/atomicity.h: Same.
4693         * config/cpu/powerpc/atomicity.h: Same.
4694         * config/cpu/s390/atomicity.h: Same.
4695         * config/cpu/sparc/atomicity.h: Same.
4696
4697         * src/Makefile.am (host_sources): Add atomicity.cc.
4698         (atomicity.cc): New rule.
4699         * src/Makefile.in: Regenerate.
4700         * include/Makefile.am (host_headers): Remove host atomicity.h.
4701         (host_headers): Add atomic_word.h.
4702         (bits_headers): Add bits atomicity.h.
4703         Change ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
4704         * include/Makefile.in: Regenerate.
4705         * configure.host (atomic_word_dir): Add.
4706         * configure.ac: Substitute ATOMIC_WORD_SRCDIR. Change
4707         ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
4708         * configure: Regenerate.
4709         * config/linker-map.gnu: Export __exchange_and_add, and __atomic_add.
4710
4711         * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
4712         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
4713
4714 2004-02-25  Jonathan Wakely  <redi@gcc.gnu.org>
4715
4716         * docs/html/20_util/howto.html, docs/html/20_util/allocator.html,
4717         docs/html/ext/howto.html, docs/html/ext/mt_allocator.html:
4718         Fix markup, more <link> tags.
4719
4720 2004-02-25  Carlo Wood  <carlo@alinoe.com>
4721
4722         * bits/demangle.h
4723         namespace __gnu_cxx::demangler
4724         (session<Allocator>::qualifier_list_Allocator): Add
4725         (session<Allocator>::M_qualifier_list_alloc): Add
4726         (session<Allocator>::decode_type_with_postfix):
4727         Use M_qualifier_list_alloc instead of calling operator new/delete.
4728
4729 2004-02-24  Paolo Carlini  <pcarlini@suse.de>
4730
4731         PR libstdc++/14252
4732         * include/bits/postypes.h (class streamoff): Add operator++(),
4733         operator++(int), operator--() and operator--(int).
4734         * testsuite/27_io/fpos/14252.cc: New.
4735
4736 2004-02-24  Richard Sandiford  <rsandifo@redhat.com>
4737
4738         * include/bits/locale_facets.tcc (num_get::_M_extract_int): Fix bounds
4739         error in handling of hex constants.
4740
4741 2004-02-24  Paolo Carlini  <pcarlini@suse.de>
4742
4743         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
4744         Prefer basic_string::append to operator+= and a temporary.
4745
4746 2004-02-23  Benjamin Kosnik  <bkoz@redhat.com>
4747
4748         * libsupc++/vterminate.cc (__gnu_cxx::__verbose_terminate_handler):
4749         Only use fputs, not write.
4750
4751 2004-02-23  Benjamin Kosnik  <bkoz@redhat.com>
4752
4753         * include/ext/malloc_allocator.h: Add operators ==, !=.
4754         * include/ext/new_allocator.h: Add operators ==, !=.
4755         * include/ext/mt_allocator.h (__mt_alloc::tune): New.
4756         (__mt_alloc::_S_get_options): New.
4757         (__mt_alloc::_S_set_options): New.
4758         (__mt_alloc::_S_thread_key_destr): To _S_destroy_thread_key.
4759         (__mt_alloc::_S_no_of_bins): To _S_bin_size.
4760         Move functions out of line, simplify, format.
4761         * src/allocator.cc: Simplify explicit instantiations.
4762         * include/bits/allocator.h: Tweak.
4763
4764 2004-02-22  Paolo Carlini  <pcarlini@suse.de>
4765
4766         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
4767         Restructure formatting of value component, first dealing with
4768         the non-decimal digits; use reserve.
4769
4770 2004-02-22  Paolo Carlini  <pcarlini@suse.de>
4771
4772         * include/bits/locale_facets.h (class money_get): Inherit
4773         from money_base too; tweak declaration of _M_extract, now
4774         parameterized on _Intl too.
4775         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
4776         Update definition to use the cache; call reserve on __res to
4777         avoid multiple reallocations; fix parsing of sign component
4778         according to 22.2.6.1.2, p3.
4779         (money_get<>::do_get(long double&),
4780         money_get<>::do_get(string_type&)): Update calls of _M_extract.
4781         * src/locale-inst.cc:  Add instantiations of
4782         money_get::_M_extract<false> and money_get::_M_extract<true>.
4783         * testsuite/22_locale/money_get/get/char/14.cc: New.
4784         * testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto.
4785
4786 2004-02-21  Mark Mitchell  <mark@codesourcery.com>
4787
4788         * libsupc++/vterminate.cc
4789         (__gnu_cxx::__verbose_terminate_handler): Guard against recursive
4790         calls to terminate.
4791         * src/demangle.cc (__cxa_demangle): Wrap in try-catch block.
4792
4793         * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
4794         not set RLIMIT_AS on HP-UX.
4795
4796 2004-02-21  Mark Mitchell  <mark@codesourcery.com>
4797
4798         * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
4799         not set RLIMIT_AS on HP-UX.
4800
4801 2004-02-21  Paolo Carlini  <pcarlini@suse.de>
4802
4803         * include/bits/locale_facets.h (class money_base): Add { _S_minus,
4804         _S_zero, _S_end } enum, _S_atoms.
4805         (struct __moneypunct_cache<>): Parameterize on _Intl too; add
4806         _M_grouping_size, _M_curr_symbol_size, _M_positive_sign_size,
4807         _M_negative_sign_size, _M_atoms; tweak constructor consistently.
4808         (__moneypunct_cache<>::~__moneypunct_cache): Update.
4809         (__moneypunct_cache<>::_M_cache): Fill the cache.
4810         (class moneypunct): Tweak __cache_type typedef.
4811         (class money_put): Inherit from money_base too; tweak declaration
4812         of _M_insert, now parameterized on _Intl.
4813         * include/bits/locale_facets.tcc
4814         (struct __use_cache<__moneypunct_cache<_CharT, _Intl> >): New.
4815         (money_put<>::_M_insert): Update definition to use the cache;
4816         call reserve on __res to avoid multiple reallocations.
4817         (money_put<>::do_put(long double),
4818         money_put<>::do_put(const string_type&): Update calls of _M_insert.
4819         * config/locale/generic/monetary_members.cc
4820         (moneypunct<char, true>::_M_initialize_moneypunct,
4821         moneypunct<char, false>::_M_initialize_moneypunct,
4822         moneypunct<wchar_t, true>::_M_initialize_moneypunct,
4823         moneypunct<wchar_t, false>::_M_initialize_moneypunct): Update.
4824         * config/locale/gnu/monetary_members.cc: Likewise.
4825         * config/locale/gnu/monetary_members.cc
4826         (moneypunct<wchar_t, true>::~moneypunct(),
4827         moneypunct<wchar_t, false>::~moneypunct()): Likewise.
4828         * src/globals_locale.cc: Tweak fake_money_cache_c.
4829         * src/locale-inst.cc: Add instantiations for
4830         money_put::_M_insert<false> and money_put::_M_insert<true> and
4831         __moneypunct_cache<C, false>, __moneypunct_cache<C, true>.
4832         * src/locale_facets.cc: Define money_base::_S_atoms.
4833         * src/locale_init.cc: Update placement new of
4834         __moneypunct_cache<char, false>, __moneypunct_cache<char, true>,
4835         __moneypunct_cache<wchar_t, false>, __moneypunct_cache<wchar_T, true>.
4836
4837         * config/locale/generic/numeric_members.cc: Clean up.
4838         * config/locale/gnu/numeric_members.cc: Likewise.
4839         * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
4840         * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
4841         * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
4842         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
4843         * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
4844         * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
4845
4846 2004-02-20  Mark Mitchell  <mark@codesourcery.com>
4847
4848         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Open
4849         FIFO for writing with ios_base::in|ios_base::out.
4850         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
4851         * testsuite/27_io/objects/char/7.cc: Likewise.
4852         * testsuite/27_io/objects/char/9661-1.cc: Open FIFO for writing
4853         with "r+".
4854
4855 2004-02-19  David Edelsohn  <edelsohn@gnu.org>
4856
4857         * 22_locale/collate/compare/wchar_t/2.cc: Change input-charset
4858         from iso-8859-1 to ISO8859-1.
4859         * 22_locale/collate/compare/wchar_t/wrapped_env.cc: Same.
4860         * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: Same.
4861         * 22_locale/collate/hash/wchar_t/2.cc: Same.
4862         * 22_locale/collate/hash/wchar_t/wrapped_env.cc: Same.
4863         * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: Same.
4864         * 22_locale/collate/transform/wchar_t/2.cc: Same.
4865         * 22_locale/collate/transform/wchar_t/wrapped_env.cc: Same.
4866         * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: Same.
4867
4868 2004-02-18  Paolo Carlini  <pcarlini@suse.de>
4869
4870         * include/bits/locale_facets.h (money_get<>::_M_extract):
4871         New, helper for do_get.
4872         (money_put<>::_M_insert): Likewise, for do_put.
4873         * include/bits/locale_facets.tcc (money_get<>::_M_extract,
4874         money_put<>::_M_insert): Define.
4875         (money_get<>::do_get(long double&), money_get<>::do_get(
4876         string_type&), money_put::do_put(long double),
4877         money_put::do_put(const string_type&)): Use the helpers.
4878
4879 2004-02-18  Paolo Carlini  <pcarlini@suse.de>
4880
4881         * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
4882         Rewrite, avoiding recursion.
4883         (__gnu_internal::xwrite): Minor tweaks.
4884
4885 2004-02-17  Stefan Olsson  <stefan@xapa.se>
4886
4887         * include/ext/mt_allocator.h: Removed the last
4888         pointer. Deallocated blocks are now added to the front of
4889         freelists as proposed by Felix Yen.  This gives roughly 10%
4890         performance boost and saves some memory.
4891         * docs/html/ext/mt_allocator.html: Change due to that deallocated
4892         blocks now are added to the front of freelists. The reason to this
4893         approach is also explained.
4894
4895 2004-02-17  Paolo Carlini  <pcarlini@suse.de>
4896
4897         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
4898         num_get<>::_M_extract_int, money_get<>::do_get): Simplify
4899         grouping fidelity conditional.
4900
4901 2004-02-16  Paolo Carlini  <pcarlini@suse.de>
4902
4903         * testsuite/27_io/basic_filebuf/overflow/char/13858.cc:
4904         Qualify exception with std::.
4905         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto.
4906         * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
4907         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
4908         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
4909         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
4910
4911 2004-02-16  Paolo Carlini  <pcarlini@suse.de>
4912
4913         * testsuite/ext/enc_filebuf/char/13189.cc: Don't check
4914         for now that the catch block is not reached.
4915         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
4916
4917 2004-02-16  Paolo Carlini  <pcarlini@suse.de>
4918
4919         * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
4920         Fix parsing of the remaining sign characters.
4921         * 22_locale/money_get/get/char/2.cc: Tweak: now, correctly,
4922         the input is scanned 'til eof.
4923         * 22_locale/money_get/get/char/4.cc: Likewise.
4924         * 22_locale/money_get/get/wchar_t/2.cc: Likewise.
4925         * 22_locale/money_get/get/wchar_t/4.cc: Likewise.
4926         * 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format,
4927         not do_pos_format: the former is the only one that matters during
4928         input.
4929         * 22_locale/money_get/get/wchar_t/8.cc: Likewise.
4930
4931         * 22_locale/money_get/get/char/6.cc: Minor tweak.
4932         * 22_locale/money_get/get/wchar_t/6.cc: Likewise.
4933
4934 2004-02-15  David Asher  <david.asher@cavium.com>
4935
4936         PR libstdc++/11352
4937         * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't
4938         access __olds beyond __oldlen.
4939
4940 2004-02-14  Paolo Carlini  <pcarlini@suse.de>
4941
4942         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make
4943         sure the exception is actually thrown.
4944         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
4945         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
4946         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
4947
4948 2004-02-14  Paolo Carlini  <pcarlini@suse.de>
4949
4950         PR libstdc++/13858
4951         * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
4952         In case of conversion errors, throw ios_failure; simplify.
4953         * testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
4954         * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
4955         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
4956         previously we didn't throw in case of conversion errors, instead
4957         just returned eof().
4958         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
4959         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
4960         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
4961
4962         * include/bits/fstream.tcc (basic_filebuf<>::overflow):
4963         Trivial simplification of a conditional.
4964
4965 2004-02-12  Paolo Carlini  <pcarlini@suse.de>
4966
4967         PR libstdc++/13731 (final part: writev)
4968         * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
4969         New, a wrapper around writev() handling partial writes.
4970         (__basic_file<char>::xwrite): Move to __gnu_internal and make
4971         static.
4972         (__basic_file<char>::xsputn): Update call.
4973         (__basic_file<char>::xsputn_2): Likewise.
4974         * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
4975         Don't declare, now static.
4976
4977 2004-02-11  Stefan Olsson  <stefan@xapa.se>
4978
4979         * docs/html/ext/mt_allocator.html: New.
4980
4981 2004-02-11  Benjamin Kosnik  <bkoz@redhat.com>
4982
4983         * docs/html/20_util/allocator.html: New file, consolidate
4984         allocator information here. Revamp.
4985         * docs/html/documentation.html: Change links.
4986         * docs/html/20_util/howto.html: Same.
4987         * docs/html/ext/howto.html: Same.
4988
4989 2004-02-11  Paolo Carlini  <pcarlini@suse.de>
4990
4991         PR libstdc++/13731 (first part: write)
4992         * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
4993         New, declare.
4994         * config/io/basic_file_stdio.cc (__basic_file<char>::xwrite):
4995         Define it: a wrapper around write() handling partial write.
4996         (__basic_file<char>::xsputn): Use it.
4997         (__basic_file<char>::xsputn_2): Likewise.
4998
4999 2004-02-11  Paolo Carlini  <pcarlini@suse.de>
5000             Petur Runolfsson  <peturr02@ru.is>
5001
5002         PR libstdc++/14078
5003         * include/std/std_istream.h (operator>>(__istream_type& (*)
5004         (__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
5005         operator>>(ios_base& (*)(ios_base&))): Declare inline.
5006         * include/std/std_ostream.h (operator<<(__ostream_type& (*)
5007         (__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
5008         operator<<(ios_base& (*) (ios_base&))): Likewise.
5009         * testsuite/performance/27_io/fmtflags_manipulators.cc: New.
5010
5011 2004-02-10  Loren J. Rittle  <ljrittle@acm.org>
5012
5013         PR libstdc++/14098
5014         * config/linker-map.gnu: Add typeinfo and typeinfo name for
5015         __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.
5016
5017         PR libstdc++/14097
5018         * config/linker-map.gnu: Add typeinfo and typeinfo name for
5019         __gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.
5020
5021 2004-02-09  Loren J. Rittle  <ljrittle@acm.org>
5022
5023         * include/ext/pool_allocator.h: Include c++config.h.
5024
5025 2004-02-09  Stefan Olsson  <stefan@xapa.se>
5026
5027         * include/ext/mt_allocator.h: thread_id is unused in non threaded
5028         applications and now has a ifdef to remove it completely on
5029         compilers without thread support. Include stdlib.h due to a
5030         compiler warning on getenv().
5031
5032 2004-02-09  Paul Brook  <paul@codesourcery.com>
5033
5034         * libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
5035
5036 2004-02-09  Paolo Carlini  <pcarlini@suse.de>
5037
5038         PR libstdc++/14071
5039         * src/locale_init.cc (locale::global(const locale&)): Use
5040         locale::name() in order to decide whether calling setlocale.
5041         * testsuite/22_locale/locale/global_locale_objects/14071.cc: New.
5042
5043         * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
5044         Avoid computing &= unnecessarily.
5045
5046 2004-02-09  James E Wilson  <wilson@specifixinc.com>
5047
5048         PR libstdc++/5625
5049         * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
5050         __builtin_extend_pointer.
5051
5052 2004-02-09  Paolo Carlini  <pcarlini@suse.de>
5053
5054         PR libstdc++/14072
5055         * include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
5056         Don't leave dangling pointers.
5057         * testsuite/27_io/basic_ios/imbue/14072.cc: New.
5058         * testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
5059         facet is needed in the final test.
5060
5061 2004-02-09  Bernardo Innocenti  <bernie@develer.com>
5062
5063         * crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
5064         * configure: Regenerate.
5065
5066 2004-02-08  Richard Henderson  <rth@redhat.com>
5067
5068         PR libstdc++/14026
5069         * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
5070         uncaughtExceptions during nested catch rethrow.
5071         * testsuite/18_support/14026.cc: New.
5072
5073 2004-02-08  Paolo Carlini  <pcarlini@suse.de>
5074
5075         * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
5076         When working in place remember to set the state to sharable
5077         (otherwise, _M_mutate does it).
5078
5079 2004-02-08  Bernardo Innocenti  <bernie@develer.com>
5080
5081         * include/bits/allocator.h, include/bits/basic_ios.h,
5082         include/bits/basic_ios.tcc, include/bits/basic_string.h,
5083         include/bits/basic_string.tcc, include/bits/boost_concept_check.h,
5084         include/bits/char_traits.h, include/bits/codecvt.h,
5085         include/bits/concurrence.h, include/bits/cpp_type_traits.h,
5086         include/bits/demangle.h, include/bits/deque.tcc,
5087         include/bits/fstream.tcc, include/bits/functexcept.h,
5088         include/bits/gslice.h, include/bits/gslice_array.h,
5089         include/bits/indirect_array.h, include/bits/ios_base.h,
5090         include/bits/istream.tcc, include/bits/list.tcc,
5091         include/bits/locale_classes.h, include/bits/locale_facets.h,
5092         include/bits/locale_facets.tcc, include/bits/localefwd.h,
5093         include/bits/mask_array.h, include/bits/ostream.tcc,
5094         include/bits/postypes.h, include/bits/slice_array.h,
5095         include/bits/sstream.tcc, include/bits/stl_algo.h,
5096         include/bits/stl_algobase.h, include/bits/stl_bvector.h,
5097         include/bits/stl_construct.h, include/bits/stl_deque.h,
5098         include/bits/stl_function.h, include/bits/stl_heap.h,
5099         include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
5100         include/bits/stl_list.h, include/bits/stl_map.h,
5101         include/bits/stl_multimap.h, include/bits/stl_multiset.h,
5102         include/bits/stl_numeric.h, include/bits/stl_pair.h,
5103         include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
5104         include/bits/stl_relops.h, include/bits/stl_set.h,
5105         include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
5106         include/bits/stl_threads.h, include/bits/stl_tree.h,
5107         include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
5108         include/bits/stream_iterator.h, include/bits/streambuf.tcc,
5109         include/bits/streambuf_iterator.h,include/bits/stringfwd.h,
5110         include/bits/type_traits.h, include/bits/valarray_after.h,
5111         include/bits/valarray_array.h, include/bits/valarray_array.tcc,
5112         include/bits/valarray_before.h, include/bits/vector.tcc: Remove
5113         trailing whitespace.
5114
5115 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
5116
5117         * include/bits/basic_string.h: Fix comment.
5118
5119 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
5120
5121         * include/bits/stl_construct.h: Wrap overlong lines, reformat
5122         according to the coding standards.
5123         * include/bits/stl_pair.h: Likewise.
5124         * include/bits/stl_raw_storage_iter.h: Likewise.
5125         * include/bits/stl_stack.h: Likewise.
5126         * include/bits/stl_uninitialized.h: Likewise.
5127         * include/bits/stream_iterator.h: Likewise.
5128         * include/bits/streambuf_iterator.h: Likewise.
5129         * include/bits/type_traits.h: Likewise.
5130
5131 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
5132
5133         * testsuite/27_io/basic_filebuf/open/char/9507.cc:
5134         Adjust timings.
5135
5136 2004-02-05  Loren J. Rittle  <ljrittle@acm.org>
5137
5138         * scripts/check_performance: Support PCH.
5139
5140         * scripts/check_performance (CXX): Add -DNOTHREAD.
5141         * testsuite/performance/20_util/allocator/insert.cc: Integrate
5142         threaded tests from insert_insert.cc.  Tweak iterations,
5143         remove special cases.
5144         * testsuite/performance/20_util/allocator/insert_insert.cc:
5145         Make all tests single-threaded. Tweak iterations.
5146         * testsuite/performance/20_util/allocator/map_thread.cc:
5147         Tweak iterations.
5148         * testsuite/performance/20_util/allocator/producer_consumer.cc:
5149         Likewise.
5150
5151 2004-02-05  Geoffrey Keating  <geoffk@apple.com>
5152
5153         PR 12179
5154         * .cvsignore: New.
5155         * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
5156         'gcc-lib'.  Add comment about poorly-named variables.
5157         * aclocal.m4: Regenerate.
5158         * configure: Regenerate.
5159
5160 2004-02-05  Paolo Carlini  <pcarlini@suse.de>
5161
5162         * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
5163         Thousands-sep are always optional; thousands-sep are not allowed
5164         after the decimal_point.
5165         * testsuite/22_locale/money_get/get/char/12.cc: New.
5166         * testsuite/22_locale/money_get/get/char/13.cc: New.
5167         * testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
5168         * testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
5169
5170         * testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
5171         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
5172         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
5173         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
5174         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
5175         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
5176         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
5177         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
5178
5179         * testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
5180         the standard.
5181         * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
5182
5183 2004-02-05  Richard Sandiford  <rsandifo@redhat.com>
5184
5185         * config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
5186         Define.
5187         * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
5188         it to decide whether FIONREAD should take an off_t or int argument.
5189
5190 2004-02-05  Paolo Carlini  <pcarlini@suse.de>
5191
5192         * include/bits/stl_function.h: Minor formatting changes.
5193
5194 2004-02-04  Zack Weinberg  <zack@codesourcery.com>
5195
5196         Revert previous change to config/abi/*/baseline_symbols.txt.
5197
5198 2004-02-04  Benjamin Kosnik  <bkoz@redhat.com>
5199             Zack Weinberg  <zack@codesourcery.com>
5200
5201         * config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
5202         New function.
5203         (__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
5204         (__basic_file<char>::_M_open_mode): Delete.
5205         * config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
5206
5207         * testsuite/27_io/basic_filebuf/close/char/9964.cc
5208         * testsuite/27_io/basic_filebuf/open/char/9507.cc:
5209         Correct flags to filebuf::open calls.
5210
5211         * config/abi/alpha-freebsd5/baseline_symbols.txt
5212         * config/abi/alpha-linux-gnu/baseline_symbols.txt
5213         * config/abi/hppa-linux-gnu/baseline_symbols.txt
5214         * config/abi/i386-freebsd4/baseline_symbols.txt
5215         * config/abi/i386-freebsd5/baseline_symbols.txt
5216         * config/abi/i486-linux-gnu/baseline_symbols.txt
5217         * config/abi/ia64-linux-gnu/baseline_symbols.txt
5218         * config/abi/mips-linux-gnu/baseline_symbols.txt
5219         * config/abi/sparc-freebsd5/baseline_symbols.txt
5220         * config/abi/sparc-linux-gnu/baseline_symbols.txt
5221         * config/abi/x86_64-linux-gnu/baseline_symbols.txt:
5222         Remove entry for __basic_file<char>::_M_open_mode.
5223
5224 2004-02-04  Loren J. Rittle  <ljrittle@acm.org>
5225
5226         * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
5227
5228 2004-02-04  Felix Yen  <fwy@alumni.brown.edu>
5229
5230         * testsuite/performance/20_util/producer_consumer.cc: New.
5231         * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
5232
5233 2004-02-04  Benjamin Kosnik  <bkoz@redhat.com>
5234
5235         * testsuite/performance/20_util/allocator.cc: Move to..
5236         * testsuite/performance/20_util/allocator/insert.cc: ...here.
5237         * testsuite/performance/20_util/allocator_thread.cc: Move to...
5238         * testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
5239         * testsuite/performance/20_util/allocator_map_thread.cc: Move to...
5240         * testsuite/performance/20_util/allocator/map_thread.cc: ...here.
5241
5242 2004-02-04  Jonathan Wakely  <redi@gcc.gnu.org>
5243
5244         * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
5245         * docs/html/faq/index.txt: Regenerate.
5246
5247 2004-02-04  Dhruv Matani  <dhruvbird@gmx.net>
5248
5249         * include/ext/debug_allocator.h: _M_extra now stands for the
5250         number of extra objects instead of the number of extra bytes.
5251         (debug_allocator::allocate): Adjust.
5252         (debug_allocator::deallocate): Adjust.
5253
5254         * include/ext/pool_allocator.h: Fix typo.
5255
5256 2004-02-03  Felix Yen  <fwy@alumni.brown.edu>
5257             Benjamin Kosnik  <bkoz@redhat.com>
5258
5259         * testsuite/performance/20_util/allocator.cc: Add map,
5260         deque, set tests.
5261         * testsuite/performance/20_util/allocator_thread.cc: Same.
5262
5263 2004-02-03  Paolo Carlini  <pcarlini@suse.de>
5264
5265         * include/bits/basic_string.h (insert(iterator)): Remove,
5266         non-standard and already scheduled for removal.
5267
5268 2004-02-03  Paolo Carlini  <pcarlini@suse.de>
5269
5270         * include/bits/stl_iterator_base_funcs.h: Minor formatting
5271         and indentation tweaks.
5272         * include/bits/stl_iterator_base_types.h: Likewise.
5273         * include/bits/stl_list.h: Likewise.
5274         * include/bits/stl_map.h: Likewise.
5275         * include/bits/stl_tempbuf.h: Likewise.
5276
5277 2004-02-02  Jerry Quinn  <jlquinn@optonline.net>
5278
5279         * include/bits/gslice.h, include/bits/gslice_array.h,
5280         include/bits/indirect_array.h, include/bits/mask_array.h,
5281         include/bits/slice_array.h, include/bits/stl_numeric.h,
5282         include/std/std_valarray.h:  Update copyright years.
5283
5284 2004-02-02  Jerry Quinn  <jlquinn@optonline.net>
5285
5286         * include/bits/gslice.h (gslice):  Document.
5287         * include/bits/gslice_array.h (gslice_array):  Document.
5288         * include/bits/indirect_array (indirect_array):  Document.
5289         * include/bits/mask_array (mask_array):  Document.
5290         * include/bits/slice_array.h (slice,slice_array):  Document.
5291         * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
5292         adjacent_difference):  Document
5293         * include/std/std_valarray.h (valarray):  Document.
5294
5295 2004-02-02  Benjamin Kosnik  <bkoz@redhat.com>
5296
5297         * docs/html/19_diagnostics/howto.html: Move verbose terminate
5298         documentation...
5299         * docs/html/18_support/howto.html: Here.
5300         * docs/html/documentation.html: Add reference here.
5301
5302 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
5303
5304         * config/locale/gnu/c++locale_internal.h: Remove prototypes
5305         of no longer used GLIBC thread locale functions.
5306
5307 2004-02-02  Eric Christopher  <echristo@redhat.com>
5308             Zack Weinberg  <zack@codesourcery.com>
5309
5310         * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
5311         -finput-charset.
5312         * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
5313         * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
5314         * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
5315         * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
5316         * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
5317         * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
5318         * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
5319         * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
5320         Ditto.
5321
5322 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
5323
5324         * include/bits/stl_function.h: Additional minor tweaks.
5325         * include/bits/stl_multiset.h: Likewise.
5326
5327         * include/bits/stl_queue.h: Minor tweaks.
5328
5329 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
5330
5331         PR libstdc++/13976 (continued)
5332         * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
5333         Make the second parameter unnamed, to void unused parameter
5334         warnings.
5335         * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
5336
5337 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
5338
5339         PR libstdc++/13976
5340         * include/ext/malloc_allocator.h (malloc_allocator::allocate):
5341         Make the second parameter unnamed, to void unused parameter
5342         warnings.
5343         * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
5344         * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
5345
5346 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
5347
5348         * include/bits/stl_algo.h: Additional minor tweaks.
5349         * include/bits/stl_map.h: Likewise.
5350         * include/bits/stl_multimap.h: Likewise.
5351         * include/bits/stl_multiset.h: Likewise.
5352         * include/bits/stl_set.h: Likewise.
5353         * include/bits/stl_tree.h: Likewise.
5354
5355 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
5356
5357         * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
5358         Remove, unused.
5359
5360 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
5361
5362         * include/bits/stl_function.h: Additional minor tweaks.
5363
5364 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
5365
5366         * include/bits/deque.tcc: Wrap overlong lines, constify
5367         a few variables, reformat according to the coding standards.
5368         * include/bits/list.tcc: Likewise.
5369         * include/bits/stl_deque.h: Likewise.
5370         * include/bits/stl_function.h: Likewise.
5371         * include/bits/stl_iterator.h: Likewise.
5372         * include/bits/stl_iterator_base_funcs.h: Likewise.
5373         * include/bits/stl_iterator_base_types.h: Likewise.
5374         * include/bits/stl_list.h: Likewise.
5375         * include/bits/stl_map.h: Likewise.
5376         * include/bits/stl_multimap.h: Likewise.
5377         * include/bits/stl_multiset.h: Likewise.
5378         * include/bits/stl_relops.h: Likewise.
5379         * include/bits/stl_set.h: Likewise.
5380
5381 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
5382
5383         * include/bits/stl_bvector.h: Wrap overlong lines, constify
5384         a few variables, reformat according to the coding standards.
5385         * include/bits/stl_tree.h: Likewise.
5386
5387 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
5388
5389         * include/bits/stl_algo.h: Minor additional reformat, add
5390         copyright year.
5391         * include/bits/stl_algobase.h: Add copyright year.
5392
5393 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
5394
5395         * include/bits/stl_algo.h: Wrap overlong lines, constify
5396         a few variables, reformat according to the coding standards.
5397         * include/bits/stl_algobase.h: Likewise.
5398         * include/bits/stl_heap.h: Likewise.
5399
5400 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
5401
5402         * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
5403
5404         * include/bits/basic_string.h: Fix two comments.
5405
5406 2004-01-31  Per Bothner  <per@bothner.com>
5407
5408         * include/ext/mt_allocator.h
5409         (__mt_alloc::_S_thread_freelist_mutex): Guard with
5410         __GTHREAD_MUTEX_INIT.
5411
5412 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
5413
5414         * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
5415
5416 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
5417
5418         * testsuite/21_strings/basic_string/cons/char/6.cc: New.
5419         * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
5420         * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
5421
5422 2004-01-30  Felix Yen  <fwy@alumni.brown.edu>
5423
5424         * testsuite/performance/20_util/allocator_thread.cc (do_loop):
5425         Don't use clear, but instead assign. Use insert.
5426
5427 2004-01-30  Benjamin Kosnik  <bkoz@redhat.com>
5428
5429         * src/demangle.cc: Add instantiations.
5430         * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
5431         * src/Makefile.in: Regenerate.
5432
5433 2004-01-30  David Edelsohn  <edelsohn@gnu.org>
5434
5435         * src/allocator.cc: Protect _S_get_thread_id() and
5436         _S_thread_key_destr() with #ifdef __GTHREADS.
5437
5438 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
5439
5440         Reshuffle performance testsuite.
5441         * testsuite/performance/allocator.cc, allocator_map_thread.cc,
5442         allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
5443         cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
5444         fstream_seek_write.cc, ifstream_extract_float.cc,
5445         ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
5446         list_create_fill_sort.cc, map_create_fill.cc,
5447         narrow_widen_char.cc, narrow_widen_wchar_t.cc,
5448         ofstream_insert_float.cc, ofstream_insert_int.cc,
5449         string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
5450         wchar_t_out.cc: Split into...
5451         * testsuite/performance/20_util/allocator.cc: New.
5452         * testsuite/performance/20_util/allocator_map_thread.cc: New.
5453         * testsuite/performance/20_util/allocator_thread.cc: New.
5454         * testsuite/performance/21_strings/string_append: New.
5455         * testsuite/performance/22_locale/is_wchar_t.cc: New.
5456         * testsuite/performance/22_locale/narrow_widen_char.cc: New.
5457         * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
5458         * testsuite/performance/22_locale/wchar_t_in.cc: New.
5459         * testsuite/performance/22_locale/wchar_t_length.cc: New.
5460         * testsuite/performance/22_locale/wchar_t_out.cc: New.
5461         * testsuite/performance/23_containers/container_benchmark.cc: New.
5462         * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
5463         * testsuite/performance/23_containers/map_create_fill.cc: New.
5464         * testsuite/performance/26_numerics/complex_norm.cc: New.
5465         * testsuite/performance/27_io/cout_insert_int.cc: New.
5466         * testsuite/performance/27_io/filebuf_copy.cc: New.
5467         * testsuite/performance/27_io/filebuf_sputc.cc: New.
5468         * testsuite/performance/27_io/fstream_seek_write.cc: New.
5469         * testsuite/performance/27_io/ifstream_extract_float.cc: New.
5470         * testsuite/performance/27_io/ifstream_extract_int.cc: New.
5471         * testsuite/performance/27_io/ifstream_getline.cc: New.
5472         * testsuite/performance/27_io/ofstream_insert_float.cc: New.
5473         * testsuite/performance/27_io/ofstream_insert_int.cc: New.
5474
5475 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
5476
5477         * include/bits/basic_string.tcc (_Rep::_S_create):
5478         Never allocate a string bigger than max_size(); always keep
5479         __capacity and __size in sync to avoid memory leaks at
5480         deallocation time.
5481
5482 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
5483
5484         * include/bits/basic_string.tcc (_S_construct(_InIterator,
5485         _InIterator, const _Alloc&, input_iterator_tag)): Simplify
5486         the double loop, streamline.
5487
5488         * include/bits/basic_string.tcc: Very minor tweaks.
5489
5490 2004-01-30  Loren J. Rittle  <ljrittle@acm.org>
5491
5492         * scripts/check_performance: Only compile with $THREAD_FLAG
5493         when test is marked to require it.  Allow multiple
5494         compilations/executions of marked tests.
5495         * testsuite/testsuite_performance.h (report_performance):
5496         Report dynamic thread support status.
5497         (report_header): Likewise.
5498         * testsuite/performance/allocator.cc: Stabilize iteration
5499         count.  Support more allocators.  Mark each allocator test to
5500         run and report independently.
5501         * testsuite/performance/allocator_map_thread.cc: Likewise.
5502         * testsuite/performance/allocator_thread.cc: Likewise.
5503
5504 2004-01-29  Stephen M. Webb  <stephen.webb@bregmasoft.com>
5505
5506         * config/local/generic/c_locale.h: Change ::malloc() to new char[].
5507         * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
5508         * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
5509         std::get_temporary_buffer() instead of duplicating its code.
5510         Update to C++STYLE conventions.
5511         * include/std/std_memory.h (get_temporary_buffer): Use ::operator
5512         new() instead of std::malloc().
5513         (return_temporary_buffer): Use ::operator delete() instead of
5514         std::free().
5515
5516 2004-01-29  Benjamin Kosnik  <bkoz@redhat.com>
5517
5518         * include/bits/allocator.h: Temporary switch to new_allocator as
5519         the default to unjam bootstraps.
5520
5521 2004-01-28  Benjamin Kosnik  <bkoz@redhat.com>
5522
5523         * include/Makefile.am (bits_headers): Remove allocator_traits.h.
5524         * include/Makefile.in: Regenerate.
5525         * include/bits/allocator_traits.h: Remove.
5526         * include/bits/allocator.h: Remove allocator_traits.h include, and
5527         relevant comments.
5528         (allocator): Empty base class, inherit from the underlying allocator.
5529         * src/allocator-inst.cc: Move __pool_alloc instantiation to...
5530         * src/allocator.cc: ...here. New. For the underlying allocators.
5531         Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
5532         * config/linker-map.gnu: Remove __pool_alloc bits.
5533         * src/Makefile.am (sources): Add allocator.cc.
5534         * src/Makefile.in: Regenerate.
5535         * testsuite/20_util/allocator/1.cc: Split second test into...
5536         * testsuite/20_util/allocator/8230.cc: ...this.
5537         * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
5538         typedef to use std::allocatore. Format.
5539         * include/ext/pool_allocator.h: Remove allocator_traits.h include,
5540         _Alloc_traits.
5541         * include/ext/mt_allocator.h (__gnu_cxx): Qualify
5542         __throw_bad_alloc calls. Don't include <memory>.
5543         * include/ext/malloc_allocator.h: Remove <memory> include.
5544         * include/ext/new_allocator.h (new_allocator): Same.
5545         * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
5546         declaration. Switch __alloc to _Alloc.
5547         * include/ext/hashtable.h: Remove __alloc.
5548         * include/backward/alloc.h: Only inject allocator, not
5549         implementation details.
5550
5551         * include/ext/mt_allocator.h: Replace free with delete.
5552
5553 2004-01-28  Benjamin Kosnik  <bkoz@redhat.com>
5554
5555         * src/globals_io.cc: Change to __gnu_internal namespace.
5556         * src/globals_locale.cc: Same.
5557         * src/locale_init.cc: Same.
5558         * src/ios_init.cc: Same.
5559
5560 2004-01-28  Stefan Olsson  <stefan@snon.net>
5561
5562         * include/ext/mt_allocator.h: Replaced all malloc() calls with
5563         operator new(). Added support for the env variable
5564         GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
5565         one in allocate() as well). Fix typos.
5566
5567 2004-01-28  Paolo Carlini  <pcarlini@suse.de>
5568
5569         * include/bits/basic_string.h (_S_create(size_t,
5570         const _Alloc&): Change signature to take two size_type
5571         arguments.
5572         * include/bits/basic_string.tcc (_S_construct(_InIterator,
5573         _InIterator, const _Alloc&, input_iterator_tag)): Update
5574         call, tweak a bit.
5575         (_S_construct(_InIterator, _InIterator, const _Alloc&,
5576         forward_iterator_tag)): Likewise.
5577         (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
5578         (_M_mutate(size_type, size_type, size_type)): Don't
5579         implement the exponential growth policy, demand it to
5580         _S_create, update call and simplify.
5581         (_M_clone(const _Alloc&, size_type)): Likewise.
5582         (_S_create(size_type, size_type, const _Alloc&)): Implement
5583         the growth policy, simplify otherwise.
5584
5585         * include/bits/basic_string.h (_Rep::operator[]): Tweak
5586         signature to take a size_type, consistently with the other
5587         members.
5588
5589 2004-01-27  Benjamin Kosnik  <bkoz@redhat.com>
5590
5591         * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
5592         delete declarations, add include and test variable.
5593
5594 2003-01-27  Jerry Quinn  <jlquinn@optonline.net>
5595
5596         * include/bits/codecvt.h, include/bits/locale_facets.h,
5597         include/bits/postypes.h, include/bits/stl_bvector.h,
5598         include/bits/stl_multiset.h, include/bits/stl_set.h,
5599         include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
5600         include/std/std_complex.h:  Document.
5601
5602 2004-01-27  Jerry Quinn  <jlquinn@optonline.net>
5603
5604         PR libstdc++/11584
5605         * include/bits/ios_base.h (ios_base::_M_grow_words):  Add
5606         iword/pword selector.
5607         (ios_base::iword, ios_base::pword):  Use it.
5608         * src/ios.cc (ios_base::_M_grow_words):  Clear _M_word_zero
5609         iword or pword member on alloc failure.
5610         * testsuite/27_io/ios_base/storage/11584.cc:  New test.
5611
5612 2004-01-27  Ulrich Weigand  <uweigand@de.ibm.com>
5613             PJ Darcy  <darcypj@us.ibm.com>
5614
5615         * configure.host: Add support for *-tpf.
5616         * crossconfig.m4: Likewise.
5617         * configure: Regenerate.
5618         * config/os/tpf: New directory.
5619         * config/os/tpf/os_defines.h: New file.
5620         * config/os/tpf/ctype_base.h: Likewise.
5621         * config/os/tpf/ctype_inline.h: Likewise.
5622         * config/os/tpf/ctype_noninline.h: Likewise.
5623
5624 2004-01-27  Paolo Carlini  <pcarlini@suse.de>
5625
5626         PR libstdc++/13884
5627         * include/bits/sstream.tcc: Guard use of extern template.
5628
5629 2004-01-27  Paolo Carlini  <pcarlini@suse.de>
5630
5631         * include/bits/basic_string.tcc
5632         (basic_string(const basic_string&, size_type, size_type),
5633         basic_string(const basic_string&, size_type, size_type,
5634         const _Alloc&)): Avoid unnecessarily constructing iterators.
5635
5636 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
5637
5638         * config/locale/generic/c_locale.cc: Fix throw messages
5639         to use the __N marker.
5640         * config/locale/gnu/c_locale.cc: Likewise.
5641         * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
5642         Likewise.
5643         * docs/html/17_intro/C++STYLE: Likewise.
5644         * include/bits/basic_ios.tcc: Likewise.
5645         * include/bits/fstream.tcc: Likewise.
5646         * include/bits/vector.tcc: Likewise.
5647         * include/ext/ropeimpl.h: Likewise.
5648         * include/std/std_bitset.h: Likewise.
5649         * src/ios.cc: Likewise.
5650         * src/locale.cc: Likewise.
5651         * src/localename.cc: Likewise.
5652
5653 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
5654
5655         * include/bits/basic_string.h (_M_replace_aux): Use the
5656         __N marker in throw message.
5657         * include/bits/basic_string.tcc (assign(const _CharT*,
5658         size_type), insert(size_type, const _CharT*, size_type),
5659         replace(size_type, size_type, const _CharT*, size_type),
5660         reserve, _Rep::_S_create, resize, _M_replace_dispatch):
5661         Likewise.
5662
5663         * include/bits/basic_string.h, include/bits/basic_string.tcc:
5664         Fold overlong lines, minor formatting changes.
5665
5666 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
5667
5668         * include/bits/basic_string.h (replace(iterator, iterator,
5669         const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
5670         (replace(iterator, iterator, const _CharT*)): Ditto.
5671         (replace(iterator, iterator, const _CharT*, size_type)):
5672         Add missing _GLIBCXX_DEBUG_PEDASSERT.
5673
5674 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
5675
5676         * include/bits/basic_string.tcc (replace(size_type,
5677         size_type, const _CharT*, size_type)): Implement optimized
5678         in-place algorithm for non-overlapping ranges.
5679         * testsuite/21_strings/basic_string/replace/char/6.cc: New.
5680         * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
5681
5682         * include/bits/basic_string.tcc (insert(size_type,
5683         const _CharT*, size_type)): Tweak slightly.
5684
5685 2004-01-26  Andreas Schwab  <schwab@suse.de>
5686
5687         * config/locale/gnu/monetary_members.cc: Restore locale before
5688         rethrowing exception.
5689
5690 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
5691
5692         * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
5693         Define inline here.
5694         * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
5695         Move inline.
5696
5697         * include/bits/basic_string.tcc: Very minor tweaks.
5698
5699 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
5700
5701         * testsuite/performance/string_append.cc: Increase number
5702         of iterations.
5703
5704 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
5705
5706         * include/bits/basic_string.h (erase(size_type, size_type),
5707         erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
5708         instead, thus avoiding redundant check for length_error.
5709
5710         * include/bits/basic_string.h: Tweak some comments.
5711
5712 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
5713
5714         * include/bits/basic_string.tcc (operator+(const _CharT*,
5715         const basic_string&)): No need to go through the append
5716         taking two iterators.
5717
5718 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
5719
5720         * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
5721         Revert last change to use std::min: machine language is worse.
5722         (find_last_of(const _CharT*, size_type, size_type)): Ditto.
5723         (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
5724         (find_last_not_of(_CharT, size_type)): Ditto.
5725
5726         * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
5727         size_type)): Discard the value returned by _M_check.
5728         (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
5729         (append(const basic_string&, size_type, size_type)): Ditto.
5730         (copy(_CharT*, size_type, size_type)): Ditto.
5731         (compare(size_type, size_type, const basic_string&)): Ditto.
5732         (compare(size_type, size_type, const basic_string&,
5733         size_type, size_type)): Ditto.
5734         (compare(size_type, size_type, const _CharT*)): Ditto.
5735         (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
5736
5737 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
5738
5739         * include/bits/basic_string.h (insert(size_type,
5740         const basic_string&, size_type, size_type)): Define inline here.
5741         * include/bits/basic_string.tcc (insert(size_type,
5742         const basic_string&, size_type, size_type)): Move inline.
5743
5744 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
5745
5746         * include/bits/basic_string.h (assign(const basic_string&,
5747         size_type, size_type)): Define inline here.
5748         (replace(size_type, size_type, const basic_string&,
5749         size_type, size_type)): Ditto.
5750         (_M_replace_dispatch(iterator, iterator, _InputIterator,
5751         _InputIterator, __false_type)): Only declare.
5752         (_M_replace(iterator, iterator, _InputIterator,
5753         _InputIterator)): Remove.
5754         * include/bits/basic_string.tcc (assign(const basic_string&,
5755         size_type, size_type)): Move inline.
5756         (replace(size_type, size_type, const basic_string&,
5757         size_type, size_type)): Ditto.
5758         (_M_replace_dispatch(iterator, iterator, _InputIterator,
5759         _InputIterator, __false_type)): Define, now does also what
5760         _M_replace did before.
5761         * src/string-inst.cc (_M_replace): Don't instantiate.
5762
5763         * include/bits/basic_string.tcc (find(const _CharT*,
5764         size_type, size_type)): Tidy.
5765         (rfind(_CharT, size_type)): Ditto.
5766         (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
5767         (find_first_not_of(_CharT, size_type)): Ditto.
5768         (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
5769         (find_last_not_of(_CharT, size_type)): Ditto.
5770
5771 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
5772
5773         PR libstdc++/13838
5774         * include/debug/bitset (operator|=): Fix typo.
5775         * testsuite/23_containers/bitset/operations/13838.cc: New.
5776
5777 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
5778
5779         * include/bits/basic_string.tcc (insert(size_type,
5780         const _CharT*, size_type __n)): Fix length_error check.
5781         (replace(size_type, size_type, const _CharT*, size_type):
5782         Ditto; call _M_replace_safe.
5783         (_M_replace_aux(size_type, size_type, size_type, _CharT):
5784         Fix length_error check.
5785         (_M_replace(iterator, iterator, _InputIterator,
5786         _InputIterator)): Ditto, tweak.
5787         (_M_replace_safe(size_type, size_type, const _CharT*,
5788         size_type)): Remove length_error check.
5789
5790         * include/bits/basic_string.tcc (append(const basic_string&),
5791         append(const basic_string&, size_type, size_type)): Tweak
5792         comment.
5793
5794         * include/bits/basic_string.tcc (copy(_CharT*, size_type,
5795         size_type)): If __n == 0 don't call traits::copy.
5796
5797 2004-01-23  Stefan Olsson  <stefan@snon.net>
5798
5799         * include/ext/mt_allocator.h: Reduce lock contention.
5800
5801 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
5802
5803         PR libstdc++/13831
5804         * include/bits/fstream.tcc (underflow): Remove unused
5805         variable.
5806         * include/bits/streambuf_iterator.h (equal): Ditto.
5807         * include/bits/locale_facets.h (_M_convert_from_char):
5808         Ditto.
5809
5810 2004-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5811
5812         PR c/13814
5813         * config/linker-map.gnu (nan): Delete.
5814         * libmath/mathconf.h (NAN, nan): Delete.
5815         * linkage.m4 (nan): Don't check for it.
5816         * libmath/nan.c: Delete file.
5817
5818         * config.h.in, configure: Regenerate.
5819
5820 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
5821
5822         * include/bits/basic_string.h (push_back(_CharT)):
5823         Call _M_replace_aux.
5824         (insert(size_type, const basic_string&)): Trivial tweak.
5825         (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
5826         (insert(iterator, _CharT)): Ditto.
5827         (erase(size_type, size_type)): Ditto.
5828         (erase(iterator)): Ditto.
5829         (erase(iterator, iterator)): Ditto.
5830         (replace(size_type, size_type, size_type, _CharT)): Ditto.
5831
5832 2004-01-23  Loren J. Rittle  <ljrittle@acm.org>
5833
5834         libstdc++/13823
5835         * testsuite/performance/allocator_map_thread.cc: New test.
5836
5837 2004-01-22  Paolo Carlini  <pcarlini@suse.de>
5838
5839         * include/bits/locale_facets.tcc
5840         (money_put::do_put(..., long double)): Use the basic_string
5841         constructor for char arrays, not that for C-strings, to pass
5842         __digits to do_put(..., const string_type&): __ws isn't
5843         null-terminated.
5844
5845 2004-01-22  Paolo Carlini  <pcarlini@suse.de>
5846
5847         * include/bits/basic_string.h (_M_replace_safe): Change
5848         signatures to take size_types and const _CharT*.
5849         (_M_replace_aux): Likewise, takes size_types instead of
5850         iterators.
5851         (append(size_type, _CharT)): Update call.
5852         (assign(size_type, _CharT)): Ditto.
5853         (replace(iterator, iterator, size_type, _CharT)): Ditto.
5854         (_M_replace_dispatch(iterator, iterator, _Integer,
5855         _Integer, __true_type)): Ditto.
5856         * include/bits/basic_string.tcc (assign(const _CharT*,
5857         size_type)): Ditto.
5858         (insert(size_type, const _CharT*, size_type)): Ditto.
5859         (replace(size_type, size_type, const _CharT*,
5860         size_type)): Ditto.
5861         (_M_replace(iterator, iterator, _InputIterator,
5862         _InputIterator)): Ditto.
5863         (append(const basic_string&)): Ditto.
5864         (append(const basic_string&, size_type, size_type): Ditto.
5865         (append(const _CharT*, size_type): Ditto.
5866         (_M_replace_safe, _M_replace_safe): Change definitions
5867         accordingly, simplify.
5868         * string-inst.cc (_M_replace_safe): Don't instantiate.
5869
5870 2004-01-21  Paolo Carlini  <pcarlini@suse.de>
5871
5872         * include/bits/basic_string.tcc (append(const basic_string&)):
5873         Revert previous change.
5874         (append(const basic_string&, size_type, size_type)): Revert
5875         previous change, use _M_check and _M_limit.
5876
5877 2004-01-21  Paolo Carlini  <pcarlini@suse.de>
5878
5879         * include/bits/basic_string.h (_M_check): Change to return
5880         a checked __pos and take an additional const char* argument.
5881         (_M_fold): Rename to _M_limit, change to return a size_type,
5882         corresponding to the __off limited to the actual length.
5883         (insert(size_type, size_type, _CharT)): Update call, call
5884         replace.
5885         (insert(iterator, _CharT)): Call replace(iterator, iterator,
5886         size_type, _CharT) instead.
5887         (erase(size_type, size_type)): Update calls.
5888         (replace(size_type, size_type, size_type, _CharT)): Ditto.
5889         (substr(size_type, size_type)): Use _M_check.
5890         * include/bits/basic_string.tcc (basic_string(const basic_string&,
5891         size_type, size_type)): Update calls.
5892         (basic_string(const basic_string&, size_type, size_type,
5893         const _Alloc&)): Ditto.
5894         (assign(const basic_string&, size_type, size_type)): Use the
5895         new _M_check and _M_limit.
5896         (insert(size_type, const basic_string&, size_type, size_type):
5897         Ditto.
5898         (insert(size_type, const _CharT*, size_type)): Ditto.
5899         (replace(size_type, size_type, const _CharT*, size_type): Ditto.
5900         (replace(size_type, size_type, const basic_string&,
5901         size_type, size_type)): Ditto.
5902         (append(const basic_string&)): Ditto.
5903         (append(const basic_string&, size_type, size_type)): Ditto.
5904         (copy(_CharT*, size_type, size_type)): Ditto.
5905         (compare(size_type, size_type, const basic_string&)): Ditto.
5906         (compare(size_type, size_type, const basic_string&,size_type,
5907         size_type)): Ditto.
5908         (compare(size_type, size_type, const _CharT*)): Ditto.
5909         (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
5910
5911 2004-01-19  Stefan Olsson  <stefan@snon.net>
5912
5913         * include/ext/mt_allocator.h: If a thread, when it dies, still has
5914         memory on it's freelist this memory is not returned to global
5915         list. Simplification of deallocate so that memory is always
5916         returned to the calling thread id's freelist instead of to
5917         global. Fix typos. Add volatile where appropriate.
5918
5919 2004-01-19  Loren J. Rittle  <ljrittle@acm.org>
5920
5921         * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
5922         * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test.  Like -2 but
5923         use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
5924
5925 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
5926
5927         * src/debug.cc: Make sure all the names are prefixed with
5928         double (or single) underscore.
5929
5930 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
5931
5932         * src/debug.cc: Trivial formatting change.
5933
5934 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
5935
5936         * include/bits/basic_string.tcc (_S_construct(size_type,
5937         _CharT, const _Alloc&)): Remove redundant try/catch.
5938         (_M_mutate(size_type, size_type, size_type)): Ditto.
5939         (_M_clone(const _Alloc&, size_type)): Ditto.
5940
5941 2004-01-18  Paolo Carlini  <pcarlini@suse.de>
5942
5943         * include/bits/basic_string.h (c_str()): Simplify, due to
5944         21.3.4 the internal representation is always kept null-terminated.
5945         * include/bits/basic_string.tcc (_M_clone): Null-terminate.
5946         * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
5947         * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
5948         Ditto.
5949
5950 2004-01-18  Paolo Carlini  <pcarlini@suse.de>
5951
5952         * include/bits/basic_string.h (append(size_type, _CharT)):
5953         Moved inline, just call _M_replace_aux, no source iterators at
5954         risk of being clobbered.
5955         (assign(size_type, _CharT)): Call directly _M_replace_aux.
5956         (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
5957         input_iterator_tag)): Remove fifth unused argument.
5958         (_M_replace_dispatch(iterator, iterator, _InputIterator,
5959         _InputIterator, __false_type)): Update call.
5960         * include/bits/basic_string.tcc (replace(size_type, size_type,
5961         const _CharT*, size_type)): Update call.
5962         (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
5963         throw string literal.
5964         (_M_replace_safe(iterator, iterator, _ForwardIterator,
5965         _ForwardIterator)): Likewise.
5966         (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
5967         input_iterator_tag)): Remove fifth unused argument.
5968         (append(size_type __n, _CharT __c)): Move inline.
5969         * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
5970         const C*, const C*, input_iterator_tag)): Remove fifth unused
5971         argument.
5972
5973 2004-01-16  Benjamin Kosnik  <bkoz@redhat.com>
5974
5975         * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
5976         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
5977
5978 2004-01-16  Danny Smith  <dannysmith@users.sourceforge.net>
5979
5980         * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
5981         mkfifo for mingw32.
5982
5983 2004-01-15  Stefan Olsson  <stefan@snon.net>
5984
5985         * include/ext/mt_allocator.h: Reuse thread id's as soon as
5986         possible by changing the behaviour of thread_freelist to do
5987         push_front when threads die instead of push_back.
5988
5989 2004-01-14  Paolo Carlini  <pcarlini@suse.de>
5990
5991         * include/bits/locale_facets.h (struct __numpunct_cache):
5992         Add member _M_grouping_size, caching the length of _M_grouping.
5993         (__numpunct_cache<>::_M_cache): Assign the latter.
5994         (__verify_grouping): Move declaration...
5995         * include/bits/locale_facets.tcc (__verify_grouping):
5996         ... here, change signature to take a const char* and a size_t
5997         for the grouping; not a template anymore.
5998         (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
5999         Likewise change signature and tweak consistently.
6000         (num_get::_M_extract_float, num_get::_M_extract_int,
6001         num_put::_M_insert_int, num_put::_M_insert_float,
6002         money_get::do_get(string_type&), money_get::do_put(string_type)):
6003         Update callers.
6004         * config/locale/generic/numeric_members.cc
6005         (numpunct<>::_M_initialize_numpunct): Assign the new member.
6006         * config/locale/gnu/numeric_members.cc
6007         (numpunct<>::_M_initialize_numpunct): Likewise.
6008         * src/locale-inst.cc (__add_grouping): Tweak signature.
6009         (__verify_grouping): Don't instantiate, not a template anymore.
6010
6011         * include/bits/locale_facets.h: Rename _M_truename_len ->
6012         _M_truename_size, _M_falsename_len -> _M_falsename_size.
6013         * include/bits/locale_facets.tcc: Likewise.
6014         * config/locale/generic/numeric_members.cc: Likewise.
6015         * config/locale/gnu/numeric_members.cc: Likewise.
6016
6017 2004-01-14  Stefan Olsson  <stefan@snon.net>
6018
6019         * include/ext/mt_allocator.h: Fixups.
6020         * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
6021         * testsuite/performance/allocator_thread.cc: Same.
6022
6023 2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>
6024
6025         * testsuite/performance/ifstream_extract_float.cc: Add higher
6026         precision tests.
6027         * testsuite/performance/ofstream_insert_float.cc: Same.
6028
6029 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
6030
6031         * src/locale-misc-inst.cc (__convert_from_v(long),
6032         __convert_from_v(unsigned long), __convert_from_v(long long),
6033         __convert_from_v(unsigned long long)): Remove, unused.
6034
6035 2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>
6036
6037         * testsuite/performance/ifstream_extract_float.cc: New.
6038         * testsuite/performance/ofstream_insert_float.cc: Float generation
6039         matches above.
6040
6041         * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
6042         * 20_util/auto_ptr/1.cc: ...this.
6043         * 20_util/auto_ptr/2.cc: Same.
6044         * 20_util/auto_ptr/3.cc: Same.
6045         * 20_util/auto_ptr/3946.cc: Same.
6046         * 20_util/auto_ptr/4.cc: Same.
6047         * 20_util/auto_ptr/5.cc: Same.
6048         * 20_util/auto_ptr/6.cc: Same.
6049         * 20_util/auto_ptr/7.cc: Same.
6050         * 20_util/auto_ptr/assign_neg.cc
6051         * 20_util/pairs.cc: Break into...
6052         * 20_util/pair/1.cc: ...this.
6053         * 20_util/pair/2.cc: Same.
6054         * 20_util/pair/3.cc: Same.
6055         * 20_util/pair/4.cc: Same.
6056
6057 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
6058
6059         * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
6060         Set correctly just basefield, the only group that matters.
6061
6062 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
6063
6064         * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
6065         (_Rope_rep_base): Inherit directly from the rope allocator;
6066         use rebinding instead of _Alloc_traits; pick up data member
6067         from _Rope_rep_alloc_base.
6068         (_Rope_alloc_base): Eliminate.
6069         (_Rope_base): Inherit directly from the rope allocator; use
6070         rebinding instead of _Alloc_traits; pick up data member from
6071         _Rope_alloc_base.
6072         (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
6073         rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
6074
6075 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
6076
6077         PR libstdc++/13650
6078         * include/bits/basic_string.tcc (compare(size_type, size_type,
6079         const _CharT*, size_type)): Implement correctly the resolution
6080         of DR 5: basically, s is a char array, -not- a C string.
6081         * include/bits/basic_string.h: Tweak some comments.
6082         * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
6083         * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
6084
6085 2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
6086
6087         * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
6088         Solaris.
6089
6090 2004-01-12  Paolo Carlini  <pcarlini@suse.de>
6091
6092         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
6093         Use try_mkfifo.
6094         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
6095         Likewise.
6096
6097 2004-01-12  Paolo Carlini  <pcarlini@suse.de>
6098
6099         * include/bits/locale_facets.h (struct __numpunct_cache):
6100         Add members _M_truename_len and _M_falsename_len, caching
6101         the lengths of _M_truename and _M_falsename.
6102         (__numpunct_cache<>::_M_cache): Assign the latter.
6103         * include/bits/locale_facets.tcc (num_get::do_get(bool&),
6104         num_put::do_put(bool)): Use the new members, thus avoiding
6105         computing string lengths again and again.
6106         * config/locale/generic/numeric_members.cc
6107         (numpunct<>::_M_initialize_numpunct): Assign the new members.
6108         * config/locale/gnu/numeric_members.cc
6109         (numpunct<>::_M_initialize_numpunct): Likewise.
6110
6111 2004-01-12  Mark Mitchell  <mark@codesourcery.com>
6112
6113         * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
6114         * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
6115         it.
6116         * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
6117         and remove Cygwin XFAIL.
6118         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
6119         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
6120         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
6121         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
6122         Likewise.
6123         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
6124         * testsuite/27_io/objects/char/7.cc: Likewise.
6125         * testsuite/27_io/objects/char/9661-1.cc: Likewise.
6126         * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
6127         * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
6128
6129 2004-01-11  Gabriel Dos Reis  <gdr@integrable-solutions.net>
6130
6131         * include/std/std_complex.h (std::complex<>::real): Return a
6132         reference. Add non-const overload.
6133         (std::complex<>::real): Likewise.
6134         (std::real): Likewise.
6135         (std::imag): Likewise.
6136         (std::operator+): Tidy.
6137         (std::operator-): Likewise.
6138         (std::operator*): Likewise.
6139         (std::operator/): Likewise.
6140         (std::operator>>): Likewise.
6141
6142 2004-01-11  Paolo Carlini  <pcarlini@suse.de>
6143
6144         PR libstdc++/13582
6145         * include/bits/fstream.tcc (imbue): Exploit the external
6146         buffer to imbue 'on the fly' a new locale and convert its
6147         remainder with the new codecvt facet.
6148         (underflow): Tweak slightly to deal with this special case.
6149         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
6150         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
6151         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
6152         * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
6153         * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
6154
6155 2004-01-10  Paolo Carlini  <pcarlini@suse.de>
6156
6157         * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
6158         Import Revision 28.
6159
6160 2004-01-10  Paolo Carlini  <pcarlini@suse.de>
6161
6162         PR libstdc++/13630
6163         * include/bits/locale_classes.h (class locale): Fix category
6164         typedef.
6165         * testsuite/22_locale/locale/13630.cc: Add.
6166
6167 2004-01-10  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
6168
6169         * include/bits/locale_facets.h: Make a name really dependent. This
6170         will be needed when Core Issue 224 is implemented.
6171
6172 2004-01-09  Paolo Carlini  <pcarlini@suse.de>
6173
6174         * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
6175         * testsuite/performance/allocator_thread.cc: Likewise.
6176
6177 2004-01-07  Benjamin Kosnik  <bkoz@redhat.com>
6178
6179         * crossconfig.m4: Add LFS, io bits to linux cross config.
6180         * acconfig.h: Remove obsolete bits, reorder.
6181         * config.h.in: Regenerate.
6182         * aclocal.m4: Same.
6183         * configure: Same.
6184
6185 2004-01-07  Gawain Bolton  <gp.bolton@computer.org>
6186
6187         * include/bits/stl_list.h:
6188         * include/bits/list.tc:
6189         * src/list.cc:
6190         Performance enhancements for destructor, push_front(),
6191         push_back(), pop_front(), pop_back(), sort()
6192         Eliminated static_casts where possible.
6193         Moved code out of header files into new src/list.cc
6194         implementation file for library where possible.
6195         Remove inheritance from iterator class and create separate
6196         classes for non-constant and constant iterators.
6197         * include/bits/stl_tree.h (_Rb_tree class):
6198         * src/tree.cc:
6199         Only erase contents in destructor.
6200         Eliminate unnecessary initialization in assignment operator.
6201         Optimize for the nominal case by not checking whether
6202         container is empty in clear().
6203         Re-order test in _M_insert() to improve performance.
6204         Move initialization of new node's left & right pointers to
6205         src/tree.cc to where new node's colour is initialized
6206         and to reduce the amount of inline code.
6207         Use  _M_leftmost() and _M_end() to improve readability where
6208         appropriate.
6209         Create separate classes for non-constant and constant
6210         iterators to clarify code, avoid extra template parameters and
6211         casting away constness.
6212
6213 2004-01-07  Benjamin Kosnik  <bkoz@redhat.com>
6214
6215         * src/Makefile.am (sources): Add list.cc, tree.cc.
6216         * src/stl_tree.cc: Move to...
6217         * src/tree.cc: ...here.
6218         * src/list.cc: Add.
6219         * config/linker-map.gnu: Tweaks.
6220         * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
6221         * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
6222
6223         * bits/stl_vector.h: Column wrap comments.
6224
6225 2004-01-07  Loren J. Rittle  <ljrittle@acm.org>
6226
6227         (re-open) PR libstdc++/12658
6228         * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
6229         (locale::global): Likewise.
6230
6231 2004-01-07  Paolo Carlini  <pcarlini@suse.de>
6232
6233         * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
6234         Remove redundant #include.
6235         * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
6236         * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
6237         re-enable normal testing.
6238         * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
6239         #include.
6240         * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
6241         * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
6242         Likewise.
6243         * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
6244         Likewise.
6245         * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
6246         Likewise.
6247         * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
6248         Likewise.
6249         * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
6250         Likewise.
6251         * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
6252         Likewise.
6253         * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
6254         Likewise.
6255         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
6256         More properly, #include <locale>.
6257         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
6258         Remove redundant #include.
6259         * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
6260         * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
6261         redundant DejaGnu directive.
6262         * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
6263         redundant #include.
6264
6265 2004-01-06  Benjamin Kosnik  <bkoz@redhat.com>
6266             Stefan Olsson  <stefan@snon.net>
6267
6268         * scripts/check_performance: Use -pthread.
6269         * testsuite/performance/allocator.cc: Tweaks, add list.
6270         * testsuite/performance/allocator_thread.cc: New.
6271
6272 2004-01-06  Jerry Quinn  <jlquinn@optonline.net>
6273
6274         * include/bits/locale_facets.h: Document public classes and
6275         functions.
6276         * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
6277         Add comment.
6278
6279 2004-01-06  Paolo Carlini  <pcarlini@suse.de>
6280
6281         * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
6282         Remove redundant #includes.
6283         * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
6284         Likewise.
6285         * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
6286         Likewise.
6287         * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
6288         * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
6289         * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
6290         * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
6291         * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
6292         * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
6293         * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
6294         * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
6295         * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
6296         * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
6297         * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
6298         * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
6299         * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
6300         * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
6301         * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
6302         Likewise.
6303         * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
6304         Likewise.
6305         * testsuite/27_io/basic_istream/readsome/char/8258.cc:
6306         Likewise.
6307         * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
6308         Likewise.
6309         * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
6310         Likewise.
6311         * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
6312         * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
6313         * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
6314
6315 2004-01-04  Paolo Carlini  <pcarlini@suse.de>
6316
6317         * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
6318         Remove redundant #includes.
6319         * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
6320         Likewise.
6321         * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
6322         Likewise.
6323         * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
6324         Likewise.
6325         * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
6326         Likewise.
6327         * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
6328         Likewise.
6329         * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
6330         Likewise.
6331         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
6332         Likewise.
6333         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
6334         Likewise.
6335         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
6336         Likewise.
6337         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
6338         Likewise.
6339         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
6340         Likewise.
6341         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
6342         Likewise.
6343
6344 2004-01-04  Mark Mitchell  <mark@codesourcery.com>
6345
6346         PR c++/12226
6347         * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
6348         constructor.
6349         * testsuite/27_io/basic_fstream/4.cc: Likewise.
6350         * testsuite/27_io/basic_ifstream/4.cc: Likewise.
6351         * testsuite/27_io/basic_ios/4.cc: Likewise.
6352         * testsuite/27_io/basic_iostream/4.cc: Likewise.
6353         * testsuite/27_io/basic_istream/4.cc: Likewise.
6354         * testsuite/27_io/basic_istingstream/4.cc: Likewise.
6355         * testsuite/27_io/basic_ofstream/4.cc: Likewise.
6356         * testsuite/27_io/basic_ostream/4.cc: Likewise.
6357         * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
6358         * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
6359         * testsuite/27_io/basic_stringstream/4.cc: Likewise.
6360
6361 2004-01-04  Paolo Carlini  <pcarlini@suse.de>
6362
6363         * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
6364         Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
6365         always use double underscored names.
6366         * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
6367         Likewise.
6368         * include/bits/locale_facets.h (struct __numpunct_cache):
6369         Dimension _M_atoms_out and _M_atoms_in one position smaller.
6370         (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out
6371         and _M_atoms_in.