OSDN Git Service

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