OSDN Git Service

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