OSDN Git Service

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