OSDN Git Service

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