OSDN Git Service

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