OSDN Git Service

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