OSDN Git Service

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