OSDN Git Service

2004-11-19 Jonathan Wakely <redi@gcc.gnu.org>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
1 2004-11-19  Jonathan Wakely  <redi@gcc.gnu.org>
2
3         * Makefile.am (doxygen, doxygen-maint, doxygen-man): Remove extra '$'
4         from host_alias variable.
5         * Makefile.in: Regenerate.
6
7 2004-11-19  Chris Jefferson  <chris@bubblescope.net>
8
9         * include/bits/stl_list.h (list::back, list::back const):
10         Don't decrement temporary.
11
12 2004-11-19  Paolo Carlini  <pcarlini@suse.de>
13
14         * include/bits/stl_deque.h (deque::front, deque::front const,
15         deque::back, deque::back const): Slightly tweak for stylistic
16         consistency.
17
18 2004-11-18  Paolo Carlini  <pcarlini@suse.de>
19
20         * testsuite/26_numerics/numeric/sum_diff.cc: Use VERIFY.
21         * testsuite/ext/array_allocator/1.cc: Likewise.
22         * testsuite/ext/array_allocator/2.cc: Likewise.
23         * testsuite/ext/array_allocator/3.cc: Likewise.
24         * testsuite/ext/enc_filebuf/char/13598.cc: Likewise.
25
26 2004-11-18  Paolo Carlini  <pcarlini@suse.de>
27
28         * include/bits/locale_facets.tcc (num_get<>::do_get(void*&)):
29         If the failbit is set, don't set it again.
30         (money_get<>::_M_extract): Minor stylistic tweak: consistently
31         with the other functions, take care of eofbit at the end.
32
33 2004-11-18  Paolo Carlini  <pcarlini@suse.de>
34
35         DR 434. bitset::to_string() hard to use [Ready]
36         * include/std/std_bitset.h (to_string): Add three overloads, taking
37         fewer template arguments.
38         * docs/html/ext/howto.html: Add an entry for DR 434.
39         * testsuite/23_containers/bitset/to_string/1.cc: New.
40
41 2004-11-17  Paolo Carlini  <pcarlini@suse.de>
42
43         * include/bits/istream.tcc (getline(basic_istream<>&, basic_string<>&,
44         _CharT)): Remove temporary kludge for libstdc++/15002.
45         * include/std/std_streambuf.h (class basic_streambuf): Declare
46         getline(basic_istream<>&, basic_string<>&, _CharT) as friend.
47         * include/bits/basic_string.h (getline(basic_istream<>&,
48         basic_string<>&, _CharT)): Declare optimized specializations for
49         char and wchar_t, using protected members of basic_streambuf.
50         * src/istream.cc: Define the latter.
51
52 2004-11-16  Jonathan Wakely  <redi@gcc.gnu.org>
53
54         * docs/html/19_diagnostics/howto.html: Document change from
55         _GLIBCPP_CONCEPT_CHECKS to _GLIBCXX_CONCEPT_CHECKS in 3.4.
56
57 2004-11-16  Matthias Klose  <doko@debian.org>
58
59         * docs/doxygen/user.cfg.in: Set HAVE_DOT to NO.
60
61 2004-11-16  Matthias Klose  <doko@debian.org>
62
63         * Makefile.am (doxygen, doxygen-maint, doxygen-man): Use host_alias
64         instead of build_alias.
65         * docs/doxygen/run_doxygen: Likewise.
66         * docs/doxygen/user.cfg.in: Likewise.
67         * Makefile.in: Regenerate.
68
69 2004-11-15  Paolo Carlini  <pcarlini@suse.de>
70
71         * include/bits/streambuf.tcc (__copy_streambufs): Provide
72         a generic version of the function, not using the protected
73         members of basic_streambuf.
74         * include/std/std_streambuf.h (__copy_streambufs): Declare
75         optimized specializations for char and wchar_t.
76         * src/streambuf.cc: New file, define the latter.
77         * src/Makefile.am: Add.
78         * src/Makefile.in: Regenerate.
79
80 2004-11-15  Matthias Klose  <doko@debian.org>
81
82         * docs/doxygen/run_doxygen: Add --build_alias option,
83         substitute it in docs/doxygen/user.cfg.in.
84         * docs/doxygen/user.cfg.in: Use build_alias.
85         * Makefile.am: Pass --build_alias to run_doxygen
86         * Makefile.in: Regenerate.
87
88 2004-11-15  Benjamin Kosnik  <bkoz@redhat.com>
89
90         * testsuite/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.4.
91
92 2004-11-15  Paolo Carlini  <pcarlini@suse.de>
93
94         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 33.
95
96 2004-11-14  Paolo Carlini  <pcarlini@suse.de>
97
98         * include/bits/streambuf_iterator.h (istreambuf_iterator::_M_get):
99         Slightly tweak for clarity (also leads to measurably better code).
100
101 2004-11-12  Andrew Pinski  <pinskia@physics.uc.edu>
102
103         PR other/14264
104         * testsuite/lib/libstdc++.exp: Set LC_ALL and LANG to C.
105
106 2004-11-09  Paolo Carlini  <pcarlini@suse.de>
107
108         * include/bits/locale_facets.tcc (time_get<>::do_get_weekday,
109         time_get<>::do_get_monthname): Absolutely avoid dereferencing
110         end iterators.
111
112         * include/bits/locale_facets.tcc (time_get<>::_M_extract_name):
113         Minor tweak.    
114
115 2004-11-08  Benjamin Kosnik  <bkoz@redhat.com>
116             Doug Gregor  <dgregor@cs.indiana.edu>
117
118         PR libstdc++/17664
119         * src/debug.cc : Just use one mutex.
120
121 2004-11-08  Benjamin Kosnik  <bkoz@redhat.com>
122
123         * configure.ac (libtool_VERSION): To 6:4:0.
124         * configure: Regenerate.
125
126         * config/linker-map.gnu: Slide new symbols into GLIBCXX_3.4.4.
127
128         * docs/doxygen/user.cfg.in: Add more extension files.
129
130 2004-11-08  Paolo Carlini  <pcarlini@suse.de>
131
132         * include/bits/streambuf_iterator.h (class istreambuf_iterator):
133         Consistently use _M_c to cache the current char, i.e., not only
134         when operator++(int) is involved; change _M_c to mutable.
135         (_M_get()): Always save the return value of _M_sbuf->sgetc() into
136         _M_c.
137         * testsuite/22_locale/time_get/get_monthname/char/1.cc: Fix
138         (long standing) typo.
139         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Likewise.
140         * testsuite/22_locale/time_get/get_weekday/char/1.cc: Likewise.
141         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Likewise.
142
143 2004-11-08  Paolo Carlini  <pcarlini@suse.de>
144
145         * include/bits/istream.tcc (getline(char_type*, streamsize,
146         char_type), ignore(streamsize), ignore(streamsize, int_type)):
147         Restore a generic version of the functions, not using the
148         protected members of basic_streambuf.
149         * include/std/std_istream.h (getline(char_type*, streamsize,
150         char_type), ignore(streamsize), ignore(streamsize, int_type)):
151         Declare optimized specializations for char and wchar_t.
152         * src/istream.cc: New file, define the latter.
153         * src/Makefile.am: Add.
154         * src/Makefile.in: Regenerate.
155
156 2004-11-07  Paolo Carlini  <pcarlini@suse.de>
157
158         * testsuite/performance/27_io/ifstream_getline-2.cc: New.
159
160 2004-11-05  Benjamin Kosnik  <bkoz@redhat.com>
161
162         PR libstdc++/17218
163         PR libstdc++/17223
164         * docs/doxygen/filter: Remove.
165         * docs/doxygen/filter.sed: Remove.
166         * docs/doxygen/mainpage.html: Add link to functions.
167         * docs/doxygen/run_doxygen: Changes due to new source filtering.
168         * docs/doxygen/user.cfg.in: Update to doxygen 1.3.9.1, tweak.
169         * include/bits/allocator.h: Tweaks for doxygen.
170         * include/bits/char_traits.h: Same.
171         * include/bits/codecvt.h: Same.
172         * include/bits/concurrence.h: Same.
173         * include/bits/locale_facets.h: Same.
174         * include/ext/array_allocator.h: Same.
175         * include/ext/debug_allocator.h: Same.
176         * include/ext/malloc_allocator.h: Same.
177         * include/ext/mt_allocator.h: Same.
178         * include/ext/new_allocator.h: Same.
179         * include/ext/pool_allocator.h: Same.
180         * include/ext/stdio_sync_filebuf.h: Same.
181         * include/std/std_memory.h: Same.
182         * include/tr1/array: Same.
183         * include/tr1/tuple: Same.
184         * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Same.
185         * config/os/gnu-linux/ctype_base.h: Same.
186
187 2004-11-04  Paolo Carlini  <pcarlini@suse.de>
188
189         * include/bits/locale_facets.tcc (num_get<>::do_get(bool&)):
190         Evaluate __beg == __end the exact strict minimum number of times.
191
192 2004-11-03  Jonathan Wakely  <redi@gcc.gnu.org>
193
194         * include/bits/stl_numeric.h (partial_sum, adjacent_difference):
195         Avoid dereferencing two times __first in the prologue.
196  
197 2004-11-03  Paolo Carlini  <pcarlini@suse.de>
198
199         * include/bits/stl_numeric.h: Trivial formatting fixes.
200
201 2004-11-03  Benjamin Kosnik  <bkoz@redhat.com>
202
203         * include/bits/c++config: Spacing.
204         * libsupc++/del_op.cc: Include c++config.h.
205         * libsupc++/del_opnt.cc: Same.
206         * libsupc++/del_opv.cc: Same.
207         * libsupc++/del_opvnt.cc: Same.
208         * libsupc++/new_op.cc: Same.
209         * libsupc++/new_opnt.cc: Same.
210         * libsupc++/new_opv.cc: Same.
211         * libsupc++/new_opvnt.cc: Same.
212
213 2004-11-03  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
214
215         * config/os/bsd/darwin/os_defines.h
216         (_GLIBCXX_WEAK_DEFINITION): Define.
217         * include/bits/c++config (_GLIBCXX_WEAK_DEFINITION): Define.
218         * libsupc++/del_op.cc (operator delete(void *)): Use
219         _GLIBCXX_WEAK_DEFINITION.
220         * libsupc++/del_opnt.cc
221         (operator delete(void *, const std::nothrow_t&)): Same.
222         * libsupc++/del_opv.cc (operator delete[](void *)): Same.
223         * libsupc++/del_opvnt.cc
224         (operator delete[](void *, const std::nothrow_t&)): Same.
225         * libsupc++/new_op.cc (operator new(std::size_t)): Same.
226         * libsupc++/new_opnt.cc
227         (operator new(std::size_t, const std::nothrow_t&)): Same
228         * libsupc++/new_opv.cc (operator new[](std::size_t)): Same.
229         * libsupc++/new_opvnt.cc
230         (operator new[](std::size_t, const std::nothrow_t&)): Same.
231
232 2004-11-02  Paolo Carlini  <pcarlini@suse.de>
233
234         * include/bits/locale_facets.tcc (num_get<>::_M_extract_int):
235         Evaluate *__beg the exact strict minimum number of times; likewise
236         for __beg != __end; slightly simplify main parsing loop.
237
238 2004-11-02  Benjamin Kosnik  <bkoz@redhat.com>
239             Lothar Werzinger  <lothar@xcerla.com>
240         
241         PR libstdc++/17664
242         * src/debug.cc: Include concurrence, use mutexes.
243         (_Safe_iterator_base::_M_attach): Here. 
244         (_Safe_iterator_base::_M_detach): Here. 
245         
246 2004-11-02  Benjamin Kosnik  <bkoz@redhat.com>
247
248         PR libstdc++/17922
249         * include/bits/ios_base.h : Add enum values.
250         * testsuite/testsuite_hooks.h (bitmask_operators): Add function.
251         * testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc: New.
252         * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: New.
253         * testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc: New.
254         * testsuite/27_io/ios_base/types/iostate/case_label.cc: New.
255         * testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc: New.
256         * testsuite/27_io/ios_base/types/openmode/case_label.cc: New.
257         * testsuite/27_io/ios_base/types/seekdir/case_label.cc: New.
258
259         * config/io/c_io_stdio.h (__ios_flags): Mark deprecated.
260         * src/ios.cc: Same.
261
262         * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
263         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
264
265 2004-11-01  Momchil Velikov  <velco@fadata.bg>
266
267         PR libstdc++/18185
268         * libsupc++/eh_globals.cc (get_globals_dtor): Delete unhandled
269         exceptions.
270         * testsuite/thread/18185.cc: New.
271         
272 2004-11-01  Chris Jefferson  <chris@bubblescope.net>
273
274         PR libstdc++/18159
275         * include/tr1/tuple (get(pair)): Change occurrences of _I to _Int.
276         (get(const pair)): Likewise.
277
278 2004-11-01  Paolo Carlini  <pcarlini@suse.de>
279
280         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
281         Evaluate *__beg the exact strict minimum number of times; likewise
282         for __beg != __end; in the main parsing loop, call ++__beg in two
283         places only. The former is also a correctness issue, because,
284         according to the standard (22.2.2.1.2, Stage 2), 'in' shall be
285         dereferenced only one time for each increment.
286
287 2004-10-31  Benjamin Kosnik  <bkoz@redhat.com>
288
289         PR c++/16728
290         * testsuite/23_containers/set/modifiers/16728.cc: New.
291
292 2004-10-30  Paolo Carlini  <pcarlini@suse.de>
293
294         * include/ext/bitmap_allocator.h (allocate(size_type)): Minor tweak.
295
296         * testsuite/ext/bitmap_allocator/check_delete.cc: New.
297         * testsuite/ext/bitmap_allocator/check_new.cc: Likewise.
298
299 2004-10-29  Geoffrey Keating  <geoffk@apple.com>
300
301         * configure.host (darwin*): Set os_include_dir to a separate directory
302         for Darwin.
303         * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Add a new C locale kind,
304         'darwin'.
305         * config/locale/darwin/ctype_members.cc: New.
306         * config/os/bsd/darwin/ctype_base.h: New.
307         * config/os/bsd/darwin/ctype_inline.h: New.
308         * config/os/bsd/darwin/ctype_noninline.h: New.
309         * config/os/bsd/darwin/os_defines.h: New.
310
311         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Only xfail
312         on Linux.
313
314 2004-10-29  Chris Jefferson  <chris@bubblescope.net>
315
316         * include/bit/stl_algo.h (find_first_of(,,,,pred)):
317         Remove invalid EqualOpConcept.
318         * testsuite/25_algorithms/find_first_of/concept_check_1.cc: New.
319
320 2004-10-29  Benjamin Kosnik  <bkoz@redhat.com>
321
322         * testsuite/testsuite_allocator.h (check_delete): New.
323         (check_new): Simplify.
324         * testsuite/ext/array_allocator/check_delete.cc: New.
325         * testsuite/ext/array_allocator/check_new.cc: Simplify.
326         * testsuite/ext/debug_allocator/check_delete.cc: New.
327         * testsuite/ext/debug_allocator/check_new.cc: Simplify.
328         * testsuite/ext/malloc_allocator/check_delete.cc: New.
329         * testsuite/ext/malloc_allocator/check_new.cc: Simplify.
330         * testsuite/ext/mt_allocator/check_delete.cc: New.
331         * testsuite/ext/mt_allocator/check_new.cc: Simplify.
332         * testsuite/ext/new_allocator/check_delete.cc: New.
333         * testsuite/ext/new_allocator/check_new.cc: Simplify.
334         * testsuite/ext/pool_allocator/check_delete.cc: New.
335         * testsuite/ext/pool_allocator/check_new.cc: Simplify.
336
337 2004-10-28  Chris Jefferson  <chris@bubblescope.net>
338
339         PR libstdc++/18159
340         * include/tr1/tuple: Fix, change formatting.
341
342 2004-10-28  Benjamin Kosnik  <bkoz@redhat.com>
343
344         * include/ext/mt_allocator.h (__common_pool_policy): Add template
345         template parameter for pool class type.
346         (__per_type_pool_policy): Same.
347         (__mt_allocator): Don't inherit policy. Qualify policy_type calls.
348         * testsuite/ext/mt_allocator/check_deallocate_null.cc: Fix.
349         * testsuite/ext/mt_allocator/check_deallocate_null_thread.cc: Same.
350         * testsuite/ext/mt_allocator/deallocate_global-2.cc: Same.
351         * testsuite/ext/mt_allocator/deallocate_global-4.cc: Same.
352         * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Same.
353         * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Same.
354         * testsuite/ext/mt_allocator/deallocate_local-2.cc: Same.
355         * testsuite/ext/mt_allocator/deallocate_local-4.cc: Same.
356         * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Same.
357         * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Same.
358         * testsuite/ext/mt_allocator/instantiate.cc: Same.
359         * testsuite/ext/mt_allocator/tune-1.cc: Same.
360         * testsuite/ext/mt_allocator/tune-2.cc: Same.
361         * testsuite/ext/mt_allocator/tune-3.cc: Same.
362         * testsuite/ext/mt_allocator/tune-4.cc: Same.
363
364 2004-10-28  Paolo Carlini  <pcarlini@suse.de>
365
366         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
367         Cache *__beg in __c when parsing exponent sign too.
368         (num_get<>::do_get(..., bool&)): Cache *__beg.
369         (money_get<>::_M_extract)): Likewise, in money_base::value.
370
371 2004-10-27  Paolo Carlini  <pcarlini@suse.de>
372
373         * include/bits/basic_string.h (assign(const basic_string&)):
374         Move out of line...
375         * include/bits/basic_string.tcc: ... here.
376
377 2004-10-27  Paolo Carlini  <pcarlini@suse.de>
378
379         * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
380         Move out of line...
381         * include/bits/basic_string.tcc: ... here.
382
383 2004-10-26  Paolo Carlini  <pcarlini@suse.de>
384
385         * include/bits/basic_string.h (append(const basic_string&),
386         append(size_type, _CharT)): Move out of line...
387         * include/bits/basic_string.tcc: ... here.
388
389 2004-10-26  Paolo Carlini  <pcarlini@suse.de>
390
391         * include/bits/basic_string.h (erase(size_type, size_type),
392         erase(iterator), erase(iterator, iterator)): Call _M_mutate
393         instead of _M_replace_safe, equivalent when the fourth argument
394         is zero and simpler.
395
396 2004-10-26  Benjamin Kosnik  <bkoz@redhat.com>
397
398         * include/ext/array_allocator.h (array::allocate): Check for valid
399         array object, use its size member function directly.
400         * testsuite/ext/array_allocator/3.cc: New.
401         * docs/html/20_util/allocator.html: Add docs.
402         
403 2004-10-25  Geoffrey Keating  <geoffk@apple.com>
404
405         * configure.host (darwin*): Build libstdc++ single module
406         and flat namespace.
407         * libsupc++/new_op.cc (new): Make weak.
408         * libsupc++/new_opnt.cc (new): Make weak.
409         * libsupc++/new_opv.cc (new): Make weak.
410         * libsupc++/new_opvnt.cc (new): Make weak.
411         * libsupc++/delete_op.cc (delete): Make weak.
412         * libsupc++/delete_opnt.cc (delete): Make weak.
413         * libsupc++/delete_opv.cc (delete): Make weak.
414         * libsupc++/delete_opvnt.cc (delete): Make weak.
415
416 2004-10-25  Benjamin Kosnik  <bkoz@redhat.com>
417
418         * testsuite/Makefile.am (GLIBCXX_INCLUDES): Add.
419         (AUTOMAKE_OPTIONS): Add nostdinc.
420         * testsuite/Makefile.in: Regenerate.
421         * scripts/testsuite_flags.in (build-includes): Remove redundant
422         search for libsupc++.
423         * fragment.am: Clean.
424         
425 2004-10-25  Benjamin Kosnik  <bkoz@redhat.com>
426
427         * include/Makefile.am (tr1_headers): Add tuple.
428         * include/Makefile.in: Regenerate.
429
430 2004-10-25  Chris Jefferson  <chris@bubblescope.net>
431
432         * include/tr1/tuple: Implementation of tuple from library TR.
433         * testsuite/tr1/6_containers/tuple/tuple_element.cc: New.
434         * testsuite/tr1/6_containers/tuple/tuple_size.cc: New.
435         * testsuite/tr1/6_containers/tuple/comparison_operators/comparisons.cc:
436         New.
437         * testsuite/tr1/6_containers/tuple/cons/assignment.cc: New.
438         * testsuite/tr1/6_containers/tuple/cons/big_tuples.cc: New.
439         * testsuite/tr1/6_containers/tuple/cons/constructor.cc: New.
440         * testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc: 
441         New.
442         * testsuite/tr1/6_containers/tuple/creation_functions/tie.cc: New.
443         * testsuite/tr1/6_containers/tuple/element_access/get.cc: New.
444
445 2004-10-25  Paolo Carlini  <pcarlini@suse.de>
446         
447         * include/bits/basic_string.h (_Rep::_M_is_safe): Move to
448         basic_string as _M_disjunct, adjust to take only __s.
449         * include/bits/basic_string.tcc: Adjust consistently callers. 
450
451 2004-10-25  Paolo Carlini  <pcarlini@suse.de>
452
453         * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
454         Adjust bit missing from the previous commit.
455
456 2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
457
458         PR other/18138
459         * testsuite/lib/libstdc++.exp: Accept more than one multilib libgcc.
460
461 2004-10-25  Paolo Carlini  <pcarlini@suse.de>
462
463         * include/bits/basic_string.h (_Rep::_M_is_safe, _M_check_length,
464         _M_move, _M_copy, _M_assign): New, use througout.
465         (operator+=(_CharT)): Define in terms of push_back.
466         (append(const basic_string&)): Define here, inline, and simplify,
467         don't use the full _M_replace_safe.
468         (append(size_type, _CharT)): Likewise, don't use _M_replace_aux.
469         (push_back): Likewise.
470         (assign(const basic_string&)): Define here, inline.
471         * include/bits/basic_string.tcc (append(const _CharT* s, size_type):
472         Fix: when s points inside the _Rep, upon reallocation (reserve) we
473         were copying from deallocated memory.
474         (append(const basic_string&, size_type, size_type)): Simplify,
475         don't use _M_replace_safe.
476         (replace(size_type, size_type, const _CharT*, size_type)): Slightly
477         tweak.
478         (reserve): Likewise.
479         * testsuite/21_strings/basic_string/append/char/2.cc: New.
480         * testsuite/21_strings/basic_string/append/char/3.cc: Likewise.
481         * testsuite/21_strings/basic_string/append/wchar_t/2.cc: Likewise.
482         * testsuite/21_strings/basic_string/append/wchar_t/3.cc: Likewise.
483
484         * testsuite/21_strings/basic_string/assign/char/3.cc: Remove junk.
485         * testsuite/21_strings/basic_string/assign/wchar_t/3.cc: Likewise.
486
487 2004-10-23  Andrew Pinski  <pinskia@physics.uc.edu>
488
489         * testsuite/ext/mt_allocator/deallocate_global-2.c:
490         s/value_t/value_type/. s/traits_t/traits_type/.
491         s/policy_t/policy_type/. s/allocator_t/allocator_type/.
492         s/string_t/string_type/. s/list_t/list_type/.
493         * testsuite/ext/mt_allocator/deallocate_global-4.cc: Likewise.
494         * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Likewise.
495         * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Likewise.
496         * testsuite/ext/mt_allocator/deallocate_local-2.cc: Likewise.
497         * testsuite/ext/mt_allocator/deallocate_local-4.cc: Likewise.
498         * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Likewise.
499         * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Likewise.
500
501 2004-10-21  Benjamin Kosnik  <bkoz@redhat.com>
502
503         * include/tr1/array (array): Make safe for zero-sized arrays.
504         (array::end): Return one past the end.
505         (array::at): Use __throw_out_of_range, include functexcept.h.
506         (operator==): Implement.
507         (operator!=): Same.
508         (operator<): Same.
509         (operator>): Same.
510         (operator>=): Same.
511         (operator<=): Same.
512         * testsuite/tr1/6_containers/array/capacity/(empty.cc,
513         max_size.cc, size.cc): New.
514         * testsuite/tr1/6_containers/array/comparison_operators/(equal.cc,
515         greater.cc, greater_or_equal.cc, less.cc, less_or_equal.cc,
516         not_equal): New.
517         * testsuite/tr1/6_containers/array/cons/aggregate_initialization.cc: 
518         New.
519         * testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc: 
520         New.
521         * testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc: New.
522         * testsuite/tr1/6_containers/array/requirements/(contiguous.cc,
523         instantiate, typedefs, zero_size_arrays): New.
524
525 2004-10-21  Paolo Carlini  <pcarlini@suse.de>
526             Benjamin Kosnik  <bkoz@redhat.com>
527
528         * include/bits/basic_string.h (_M_set_length_and_sharable): New.
529         * include/bits/basic_string.tcc (_S_construct, assign(const _CharT*,
530         size_type), _M_mutate, _M_clone): Use it.
531         (_Rep::_S_create): Don't set/call _M_length/_M_set_sharable here.
532
533 2004-10-21  Paolo Carlini  <pcarlini@suse.de>
534             Dhruv Matani  <dhruvbird@gmx.net>
535             Nathan Myers  <ncm@cantrip.org>
536
537         * include/bits/vector.tcc (_M_insert_aux, _M_fill_insert,
538         _M_range_insert): Check at the outset that we are not trying
539         to exceed max_size, then deal properly with __len overflows.
540         * testsuite/23_containers/vector/modifiers/insert/1.cc: New.
541         
542         * testsuite/testsuite_allocator.h: Remove redundant include.
543
544 2004-10-20  Paolo Carlini  <pcarlini@suse.de>
545
546         * include/ext/bitmap_allocator.h (allocate): Throw std::bad_alloc
547         when n > max_size().
548         * include/ext/malloc_allocator.h (allocate): Likewise.
549         * include/ext/mt_allocator.h (allocate): Likewise.
550         * include/ext/new_allocator.h (allocate): Likewise.
551         * include/ext/array_allocator.h: Use __throw_bad_alloc().
552         * include/ext/pool_allocator.h: Use __builtin_expect.
553         * testsuite/ext/array_allocator/check_allocate_max_size.cc: New.
554         * testsuite/ext/bitmap_allocator/check_allocate_max_size.cc: Likewise.
555         * testsuite/ext/malloc_allocator/check_allocate_max_size.cc: Likewise.
556         * testsuite/ext/mt_allocator/check_allocate_max_size.cc: Likewise.
557         * testsuite/ext/new_allocator/check_allocate_max_size.cc: Likewise.
558         * testsuite/ext/pool_allocator/check_allocate_max_size.cc: Likewise.
559         * testsuite/testsuite_allocator.h (check_allocate_max_size): New test.
560
561 2004-10-19  Paolo Carlini  <pcarlini@suse.de>
562
563         * testsuite/performance/20_util/allocator/list_sort_search.cc:
564         Include <ext/new_allocator.h>.
565         * testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
566
567 2004-10-18  Paolo Carlini  <pcarlini@suse.de>
568
569         * include/bits/basic_string.tcc (_M_mutate): Do not reallocate
570         unnecessarily when _M_rep() == &_S_empty_rep() and __new_size
571         == capacity() (== 0): is ok to just leave everything unchanged.
572
573         * include/bits/basic_string.h: Minor formatting fixes.
574         * include/bits/basic_string.tcc: Likewise.
575
576 2004-10-17  Benjamin Kosnik  <bkoz@redhat.com>
577
578         * include/ext/mt_allocator.h (__pool::_M_get_align): New.
579         (__mt_alloc::allocate): Use it.
580         * src/mt_allocator.cc (__pool::_M_reclaim_block): Use it.
581         (__pool::_M_reserve_block): Simplify block allocation.
582         
583 2004-10-17  Dhruv Matani  <dhruvbird@gmx.net>
584             Paolo Carlini  <pcarlini@suse.de>
585                 
586         * include/ext/bitmap_allocator.h: Change unsigned int -> size_t: this
587         makes the code 64-bit correct and also fixes (together with using at
588         the beginning a bitmap 2 * size_t bytes wide) alignment issues: now
589         8 is guaranteed, easily tunable to 16 via _BALLOC_ALIGN_BYTES.
590         Fix pthread-rope7.cc fail by nulling out __mini_vector<> destructor.
591         * src/bitmap_allocator.cc: Change to size_t.
592         * config/linker-map.gnu: Adjust.
593
594 2004-10-16  Benjamin Kosnik  <bkoz@redhat.com>
595
596         * include/tr1/array: Don't use layout_type.
597
598 2004-10-16  Sashan Govender  <sashang@gmail.com>
599
600         * include/tr1/array (array::end const): Fix casting from iterator
601         to const_iterator.
602         
603 2004-10-15  Paolo Carlini  <pcarlini@suse.de>
604
605         * include/ext/bitmap_allocator.h: Qualify ::operator delete.
606         * src/bitmap_allocator.cc: Likewise.
607         * src/mt_allocator.cc: Use ::operator delete, not delete,
608         consistently with ::operator new.
609
610         * include/ext/bitmap_allocator.h (deallocate): Check for null
611         pointer.
612         * testsuite/ext/bitmap_allocator/check_deallocate_null.cc: New.
613         * testsuite/testsuite_allocator.h (check_deallocate_null): Add test.
614
615 2004-10-14  Benjamin Kosnik  <bkoz@redhat.com>
616
617         * include/ext/mt_allocator.h (__mt_alloc::deallocate): Check for
618         null pointer.
619         * include/ext/pool_allocator.h (debug_allocator::deallocate):
620         Check pointer value.
621         * include/ext/debug_allocator.h (debug_allocator::deallocate):
622         Throw exceptions, don't abort.
623         * include/ext/array_allocator.h
624         (array_allocator_base::deallocate): Remove unused parameters.
625         * testsuite/testsuite_allocator.h (check_deallocate_null): New.
626         * testsuite/ext/mt_allocator/check_deallocate_null.cc: New.
627         * testsuite/ext/mt_allocator/check_deallocate_null_thread.cc: New.
628         * testsuite/ext/array_allocator/check_deallocate_null.cc: New.
629         * testsuite/ext/debug_allocator/check_deallocate_null.cc: New.
630         * testsuite/ext/malloc_allocator/check_deallocate_null.cc: New.
631         * testsuite/ext/new_allocator/check_deallocate_null.cc: New.
632         * testsuite/ext/pool_allocator/check_deallocate_null.cc: New.
633
634         * testsuite/testsuite_allocator.h (check_new): Add instance argument.
635         * testsuite/ext/array_allocator/check_new.cc: New.
636         
637 2004-10-14  Paolo Carlini  <pcarlini@suse.de>
638
639         * include/ext/bitmap_allocator.h (bitmap_allocator::_Alloc_block):
640         Rename __unused to __M_unused.
641
642 2004-10-14  Benjamin Kosnik  <bkoz@redhat.com>
643
644         * testsuite/ext/headers.cc: Add includes, compile only.
645         * testsuite/ext/hash_map.cc: Move to...
646         * testsuite/ext/hash_map/1.cc: ...here.
647         * testsuite/ext/14648.cc: Move to...
648         * testsuite/ext/hash_map/14648.cc: ...here.
649         * testsuite/ext/hash_map/instantiate.cc: Add.
650         * testsuite/ext/hash_set.cc: Move to...
651         * testsuite/ext/hash_set/1.cc: ...here.
652         * testsuite/ext/hash_set_explicit_instantiation.cc: Move to...
653         * testsuite/ext/hash_set/instantiate.cc: ...here.
654         * testsuite/ext/hash_check_construct_destroy.cc: Move to...
655         * testsuite/ext/hash_set/check_construct_destroy.cc: ...here.
656         * testsuite/ext/slist_check_construct_destroy.cc: Move to...
657         * testsuite/ext/slist/check_construct_destroy.cc: ...here.
658         * testsuite/ext/slist_explicit_instantiation.cc: Move to...
659         * testsuite/ext/slist/instantiate.cc: ...here.
660         
661 2004-10-14  Benjamin Kosnik  <bkoz@redhat.com>
662
663         * include/ext/mt_allocator.h: Tweaks.
664         * src/mt_allocator.cc: Same.
665
666 2004-10-14  Dhruv Matani  <dhruvbird@gmx.net>
667
668         * ext/bitmap_allocator.h: Clean-up add/remove functions.
669         * src/bitmap_allocator.cc: New file. Contains the out-of-line
670         function definitions, static initialization of variables, and
671         explicit instantiations needed for the allocator.
672         * src/Makefile.am: Add.
673         * src/Makefile.in: Regenerate.
674         * config/linker.map.gnu: Add the necessary symbols.
675
676 2004-10-13  Paolo Carlini  <pcarlini@suse.de>
677
678         * include/bits/basic_string.tcc (_S_create): Use consistently
679         the exponential policy, simplify.
680         * testsuite/performance/21_strings/string_append_2.cc: New.
681
682         * include/ext/array_allocator.h (allocate): Fix bad_alloc check.
683         * testsuite/ext/array_allocator/2.cc: Fix wrt 64-bit archs (in
684         that case sizeof(_Rep) == 24).
685
686 2004-10-12  Paolo Carlini  <pcarlini@suse.de>
687
688         PR libstdc++/17948
689         * include/bits/stl_tree.h (erase(iterator, iterator)): Revert
690         wrong commit of 2004-10-07.
691         
692 2004-10-12  Scott Snyder  <snyder@fnal.gov>
693
694         PR libstdc++/17948
695         * testsuite/23_containers/set/modifiers/17948.cc: New.
696
697 2004-10-11  Benjamin Kosnik  <bkoz@redhat.com>
698
699         * include/bits/stl_deque.h: Correct for over-long lines.
700
701 2004-10-11  Benjamin Kosnik  <bkoz@redhat.com>
702
703         PR libstdc++/17937
704         * include/ext/mt_allocator.h (__pool::_M_destroy): New.
705         * src/mt_allocator.cc (__pool::~__pool): Change definitions to
706         _M_destroy.
707         * acconfig.h: Remove _GLIBCXX_USE___CXA_ATEXIT.
708         * acinclude.m4 (GLIBCXX_ENABLE_CXA_ATEXIT): Remove.
709         * configure.ac: Remove call to GLIBCXX_ENABLE_CXA_EXIT.
710         * configure: Regenerate.
711         * config/linker-map.gnu: Tweak exports.
712         * docs/html/ext/mt_allocator.html: Update docs.
713         * testsuite/ext/mt_allocator/deallocate_global-2.cc: Fix.
714         * testsuite/ext/mt_allocator/deallocate_global-4.cc: Fix.       
715         * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Fix.
716         * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Fix.
717         * testsuite/ext/mt_allocator/deallocate_local-2.cc: Fix.
718         * testsuite/ext/mt_allocator/deallocate_local-4.cc: Fix.
719         * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Fix.
720         * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Fix.
721
722 2004-10-11  Benjamin Kosnik  <bkoz@redhat.com>
723
724         PR libstdc++/16614 continued.
725         * include/ext/mt_allocator.h
726         (__per_type_pool_policy::_S_get_pool): Use saner defaults based on
727         specific type characteristics.
728         (__pool_base): Add constructor that takes a _Tune argument.
729         (__pool): Same.
730         * testsuite/ext/mt_allocator/tune-2.cc: Adjust default.
731         * testsuite/ext/mt_allocator/tune-4.cc: Same.
732         * testsuite/ext/mt_allocator/tune-3.cc: Same.
733
734 2004-10-11  Joachim Kuebart  <kuebart@mathematik.uni-ulm.de>
735             Paolo Carlini  <pcarlini@suse.de>
736
737         * src/pool_allocator.cc (__pool_alloc_base::_M_allocate_chunk):
738         Deal properly with exceptions thrown by ::operator new(size_t).
739         * testsuite/ext/pool_allocator/allocate_chunk.cc: New.
740
741         * include/ext/pool_allocator.h: Include <cstdlib>.
742
743 2004-10-10  Benjamin Kosnik  <bkoz@redhat.com>
744
745         * include/bits/functexcept.h: Add guards.
746
747         * acinclude.m4 (GLIBCXX_ENABLE_THREADS): Tweak test.
748         * configure: Regenerate.
749         
750 2004-10-10  Paolo Carlini  <pcarlini@suse.de>
751
752         * config/locale/gnu/monetary_members.cc (_S_construct_pattern):
753         Give __ret a default value, thus avoiding spurious warnings.
754
755         * testsuite/performance/27_io/filebuf_sgetn_unbuf.cc: Open either
756         words or linux.words, otherwise exit.
757         * testsuite/performance/27_io/ifstream_getline.cc: Slighlty tweak.
758
759 2004-10-09  Paolo Carlini  <pcarlini@suse.de>
760
761         * include/std/std_memory.h (__get_temporary_buffer): Don't use
762         INT_MAX, prefer numeric_limits<ptrdiff_t>::max(), ok on 64-bit
763         platforms too.
764         * testsuite/20_util/memory/auto_ptr/assign_neg.cc: Adjust dg-error
765         line numbers.
766
767 2004-10-08  Benjamin Kosnik  <bkoz@redhat.com>
768
769         * acconfig.h: Add _GLIBCXX_USE___CXA_ATEXIT.
770         * acinclude.m4 (GLIBCXX_ENABLE_CXA_ATEXIT): New.
771         * configure.ac: Call GLIBCXX_ENABLE_CXA_EXIT.
772         * configure: Regenerate.
773         * src/mt_allocator.cc (__pool::~__pool): Make conditional on
774         _GLIBCXX_USE___CXA_ATEXIT macro.
775         * docs/html/ext/mt_allocator.html: Add note about deallocation.
776         * testsuite/ext/mt_allocator/deallocate_local-2.cc: Guard checks
777         with _GLIBCXX_USE___CXA_ATEXIT.
778         * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Same.
779         * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Same.
780         * testsuite/ext/mt_allocator/deallocate_global-4.cc: Same.
781         * testsuite/ext/mt_allocator/deallocate_global-2.cc: Same.
782         * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Same.
783         * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Same.
784         * testsuite/ext/mt_allocator/deallocate_local-4.cc: Same.
785         
786 2004-10-07  Phil Edwards  <phil@codesourcery.com>
787
788         * testsuite/lib/libstdc++.exp:  Update list of undefined functions.
789
790 2004-10-07  Paolo Carlini  <pcarlini@suse.de>
791
792         * include/bits/list.tcc (operator=): Avoid iterator postincrement.
793         * include/bits/stl_tree.h (erase(iterator, iterator)): Likewise.
794
795 2004-10-07  Benjamin Kosnik  <bkoz@redhat.com>
796
797         * include/tr1: New.
798         * include/tr1/array: New.
799         * include/Makefile.am (tr1_headers): New.
800         (stamp-tr1): New.
801         (install-headers): New.
802         (allstamped): Add stamp-tr1.
803
804         * include/ext/array_allocator.h: New.
805         * include/Makefile.am: Add.
806         * include/Makefile.in: Regenerate.
807         * testsuite/ext/array_allocator/1.cc: New.
808         * testsuite/ext/array_allocator/2.cc: New.
809
810 2004-10-07  Richard Earnshaw  <rearnsha@arm.com>
811
812         * testsuite/lib/libstdc++.exp (libstdc++_exit): New proc.
813
814 2004-10-07  Roger Sayle  <roger@eyesopen.com>
815
816         PR libstdc++/17850
817         * configure.ac: Newlib does not provide strtold.
818         * configure: Regenerate.
819
820 2004-10-06  Benjamin Kosnik  <bkoz@redhat.com>
821
822         * acinclude.m4 (GLIBCXX_ENABLE_THREADS): Set enable_thread.
823         (GLIBCXX_CONFIGURE_TESTSUITE): Use it.
824         * configure: Regenerated.
825         * testsuite/Makefile.am (CLEANFILES): Add TEST for
826         check-performance executables.
827         (stamp_thread): New.
828         (all-local): Use it.
829         * testsuite/Makefile.in: Regenerate.
830         * scripts/create_testsuite_files: Filter thread tests.
831
832         * testsuite/thread/pthread1.cc: Remove macro conditionals: this
833         file will only be run by thread enabled configurations.
834         * testsuite/thread/pthread7-rope.cc: Same, add rope_type typedef.
835         * testsuite/thread/pthread6.cc: Same.
836         * testsuite/thread/pthread5.cc: Same.
837         * testsuite/thread/pthread4.cc: Same.
838         * testsuite/thread/pthread3.cc: Same.
839         * testsuite/thread/pthread2.cc: Same.
840
841         * testsuite/ext/mt_allocator/instantiate.cc: Add in __GTHREADS guard.
842         * testsuite/ext/mt_allocator/deallocate_global-1.cc: Move to...
843         * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: ...here.
844         * testsuite/ext/mt_allocator/deallocate_global-3.cc: Move to...
845         * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: ...here. 
846         * testsuite/ext/mt_allocator/deallocate_local-1.cc: Move to...
847         * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: ...here.
848         * testsuite/ext/mt_allocator/deallocate_local-3.cc: Move to...
849         * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: ...here.
850
851 2004-10-06  Benjamin Kosnik  <bkoz@redhat.com>
852             Paolo Carlini  <pcarlini@suse.de>
853
854         PR libstdc++/17780
855         * src/mt_allocator.cc (__pool<true>::_M_reserve_block): Revert
856         to old locking order.
857
858 2004-10-06  Paolo Carlini  <pcarlini@suse.de>
859
860         * include/std/std_sstream.h (_M_sync): When the caller is
861         setbuf, don't trust _M_string.capacity() to be the size of
862         the buffer area, use _M_string.size() in this case.
863         * testsuite/27_io/basic_stringbuf/setbuf/char/4.cc: New.
864         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc: Likewise.
865
866         * include/bits/sstream.tcc (overflow): Avoid calling string::assign
867         unnecessarily when the current _M_string is empty.
868
869 2004-10-06  Paolo Carlini  <pcarlini@suse.de>
870
871         * include/bits/stl_algo.h (__reverse(bidirectional_iterator_tag)):
872         Avoid iterator postincrement.
873         (__rotate): Likewise.
874
875         * include/bits/stl_algo.h: Minor formatting tweaks.
876
877 2004-10-06  Christopher Jefferson <caj@cs.york.ac.uk>
878
879         * include/bits/stl_algo.h (__reverse(random_access_iterator_tag)):
880         Avoid iterator postincrement; fix swapping middle element with
881         itself on odd-length inputs.
882
883 2004-10-05  Benjamin Kosnik  <bkoz@redhat.com>
884
885         PR libstdc++/17780
886         * include/ext/mt_allocator.h (__pool_base::_Tune): Add default
887         options as compile-time constant enums.
888         (__pool_base::_Tune::is_default): New.
889         (__pool_base::_Block_address): New.
890         (__pool_base): Rearrange data members.
891         (__pool::_M_reserve_memory): To _M_reserve_block.
892         (__pool::_M_reclaim_memory): To _M_reclaim_block.       
893         (__pool::_Bin_record): Add _Block_address data member.
894         (__pool<false>): Add _M_thread_freelist_initial.
895         (__pool::~__pool): Declare.     
896         (__common_pool_policy): Move static data member to...
897         (__common_pool_policy::_S_get_pool): ...here, make static local.
898         (__per_type_pool_policy): Move static data member to...
899         (__per_type_pool_policy::_S_get_pool): ...here, make static local.
900         (__mt_alloc::__mt_alloc): Call __policy_type::_S_get_pool.
901         Remove static member definitions. Use define for __default_policy.
902         * src/mt_allocator.cc: Same.
903         * config/linker-map.gnu: Don't export _S_get_pool. Renames.
904         * testsuite/ext/new_allocator: New.
905         * testsuite/ext/new_allocator/instantiate.cc: New.
906         * testsuite/ext/new_allocator/check_new.cc: New.
907         * testsuite/ext/new_allocator/deallocate_global.cc: New.
908         * testsuite/ext/new_allocator/deallocate_local.cc: New.
909         * testsuite/ext/mt_allocator/instantiate.cc: Instantiate all
910         template arguments.
911         * testsuite/ext/mt_allocator/deallocate_global-1.cc: New.
912         * testsuite/ext/mt_allocator/deallocate_global-2.cc: New.
913         * testsuite/ext/mt_allocator/deallocate_global-3.cc: New.
914         * testsuite/ext/mt_allocator/deallocate_global-4.cc: New.
915         * testsuite/ext/mt_allocator/deallocate_local-1.cc: New.
916         * testsuite/ext/mt_allocator/deallocate_local-2.cc: New.
917         * testsuite/ext/mt_allocator/deallocate_local-3.cc: New.
918         * testsuite/ext/mt_allocator/deallocate_local-4.cc: New.
919         * testsuite/ext/mt_allocator/deallocate.cc: New.
920         * testsuite/ext/malloc_allocator/deallocate.cc: New.    
921         * testsuite/ext/malloc_allocator/deallocate_global.cc: New.
922         * testsuite/ext/malloc_allocator/deallocate_local.cc: New.
923         
924 2004-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
925
926         * configure.host (abi_baseline_pair): Define for s390-*-linux* and
927         s390x-*-linux*.
928         * config/abi/s390-linux-gnu/baseline_symbols.txt: Add missing symbols.
929         * config/abi/s390x-linux-gnu/baseline_symbols.txt: New file.
930
931 2004-10-05  Christopher Jefferson  <caj@cs.york.ac.uk>
932
933         * include/bits/stl_algobase.h (iter_swap): delegate to swap via
934         __iter_swap when iterator's value_types are equal.
935         (struct __iter_swap): New.
936
937 2004-10-04  Benjamin Kosnik  <bkoz@redhat.com>
938
939         * configure.ac (libtool_VERSION): To 6:3:0.
940         * configure: Regnerate.
941         * testsuite/testsuite_abi.cc (check_version): Add 3.4.3.
942
943 2004-10-04  Roger Sayle  <roger@eyesopen.com>
944             Eric Botcazou  <ebotcazou@libertysurf.fr>
945
946         PR libstdc++/17505
947         * config/linker-map.gnu: Synchronize the current list of stub
948         functions from libmath.
949
950 2004-10-03  Roger Sayle  <roger@eyesopen.com>
951
952         * config/locale/generic/c_locale.cc (__convert_to_v): Use
953         _GLIBCXX_HAVE_STRTOF instead _GLIBCXX_USE_C99 to check for strtof.
954         Likewise, use _GLIBCXX_HAVE_STRTOLD instead of _GLIBCXX_USE_C99
955         to check for presence of strtold.
956
957 2004-10-03  Paolo Carlini  <pcarlini@suse.de>
958
959         * include/bits/stl_list.h: Trivial formatting fixes.
960         * include/bits/stl_tree.h: Likewise.
961
962 2004-10-03  Paolo Carlini  <pcarlini@suse.de>
963
964         * include/bits/sstream.tcc (seekpos): In case of success, just
965         return __sp.
966
967 2004-10-01  Paolo Carlini  <pcarlini@suse.de>
968
969         * include/bits/sstream.tcc (pbackfail): Implement correctly
970         27.7.1.3/2, bullet 2: if mode & ios_base::out is false do not
971         write in the buffer.
972         * testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc: New.
973         * testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc: Likewise.
974         * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc: Likewise.
975         * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc: Likewise.
976         * testsuite/27_io/basic_istream/putback/char/1.cc: Tweak consistently.
977
978 2004-10-01  Paolo Carlini  <pcarlini@suse.de>
979
980         * include/bits/sstream.tcc (seekpos): Minor rearrangement of two
981         conditionals consistently with seekoff.
982         * include/std/std_sstream.h (setbuf): Avoid a string temporary.
983         (_M_sync): Simplify a bit, clean-up comment.
984
985 2004-09-30  Paolo Carlini  <pcarlini@suse.de>
986
987         PR libstdc++/10975 (DR 453)
988         * include/bits/sstream.tcc (seekoff): Don't fail if __beg == 0
989         and __off == 0.
990         * docs/html/ext/howto.html: Add an entry for DR 453.
991         * testsuite/27_io/basic_stringbuf/seekoff/char/10975.cc: New.
992         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/10975.cc: Likewise.
993         * testsuite/27_io/basic_istream/tellg/char/1.cc: Tweak consistently.
994         * testsuite/27_io/basic_ostream/tellp/char/1.cc: Likewise.
995         * testsuite/27_io/basic_ostream/tellp/char/2.cc: Likewise.
996         * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc: Fix and
997         move to...
998         * testsuite/27_io/basic_istream/seekp/char/2346-fstream.cc: ... here.
999         * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc: Fix and
1000         move to...
1001         * testsuite/27_io/basic_istream/seekp/char/2346-sstream.cc: ... here.
1002
1003 2004-09-29  Paolo Carlini  <pcarlini@suse.de>
1004
1005         * include/std/std_sstream.h (basic_stringbuf(ios_base::openmode)):
1006         Don't use _M_stringbuf_init, keep the pointers null, per 27.7.1.1.
1007         (str()): Slightly tweak, protect from pptr() == 0.
1008         (_M_update_egptr()): Likewise.
1009         * include/bits/sstream.tcc (ssekoff, seekpos): In order to check
1010         for an empty buffer use __beg instead of _M_string.capacity().
1011         * testsuite/27_io/basic_stringbuf/cons/char/1.cc: New.
1012         * testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc: Likewise.
1013
1014         * testsuite/27_io/basic_filebuf/cons/char/1.cc: New.
1015         * testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc: Likewise.
1016         * testsuite/27_io/basic_streambuf/cons/char/1.cc: Update.
1017         * testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: Likewise.
1018
1019 2004-09-29  Paolo Carlini  <pcarlini@suse.de>
1020             Benjamin Kosnik  <bkoz@redhat.com>
1021         
1022         * testsuite/testsuite_io.h (class constraint_buf): New, extended
1023         and templatized version of constraint_filebuf; add typedefs for
1024         streambuf/stringbuf/filebuf and wchar_t counterparts.
1025
1026 2004-09-28  Paolo Carlini  <pcarlini@suse.de>
1027
1028         PR libstdc++/16612
1029         * include/bits/basic_string.h (_M_dispose, _M_refcopy,
1030         basic_string()): When _GLIBCXX_FULLY_DYNAMIC_STRING is defined,
1031         don't deal with _S_empty_rep.
1032         * include/bits/basic_string.tcc (_S_construct, _M_destroy,
1033         _M_leak_hard, _M_mutate): Likewise.
1034         * acinclude.m4 (GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING): New.
1035         * acconfig.h: Add corresponding undef.  
1036         * configure.ac: Use GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING.
1037         * docs/html/configopts.html: Document --enable-fully-dynamic-string.
1038         * configure: Regenerate.
1039         * config.h.in: Likewise.
1040
1041 2004-09-28  Benjamin Kosnik  <bkoz@redhat.com>
1042             Paolo Carlini  <pcarlini@suse.de>
1043
1044         * testsuite/21_strings/basic_string/operations/char/1.cc: New.
1045         * testsuite/21_strings/basic_string/operations/wchar_t/1.cc: New.
1046         * testsuite/21_strings/basic_string/element_access/char/empty.cc: New.
1047         * testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc: 
1048         New.
1049
1050 2004-09-28  Paolo Carlini  <pcarlini@suse.de>
1051
1052         * README: Remove obsolete entry about include/c_shadow.
1053
1054 2004-09-24  H.J. Lu  <hongjiu.lu@intel.com>
1055
1056         PR libstdc++/17469
1057         * testsuite/lib/libstdc++.exp: Don't use global ld_library_path.
1058
1059 2004-09-24  Paolo Carlini  <pcarlini@suse.de>
1060
1061         * src/localename.cc (locale::locale(const char*)): Minor tweaks:
1062         rename a variable, move an assignment.
1063         (locale::_Impl::_Impl(const char*, size_t)): Likewise, minor tweak.
1064
1065 2004-09-24  Paul Brook  <paul@codesourcery.com>
1066
1067         * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: XFAIL more arm
1068         simulator targets.
1069         * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Ditto.
1070         * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Ditto.
1071         * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Ditto.
1072         * testsuite/27_io/basic_istream/readsome/char/6746-2.cc: Ditto.
1073         * testsuite/ext/stdio_filebuf/char/10063-2.cc: Ditto.
1074         * testsuite/ext/stdio_filebuf/char/10063-3.cc: Ditto.
1075
1076 2004-09-23  Zack Weinberg  <zack@codesourcery.com>
1077
1078         * testsuite/20_util/memory/auto_ptr/assign_neg.cc
1079         * testsuite/23_containers/map/operators/1_neg.cc
1080         * testsuite/23_containers/set/operators/1_neg.cc:
1081         Update locations and/or regexps of dg-error markers.
1082
1083 2004-09-23  P.J. Darcy  <darcypj@us.ibm.com>
1084
1085         * include/Makefile.am (thread_host_headers): Add gthr-tpf.h.
1086         Add rule to build ${host_builddir}/gthr-tpf.h.
1087         * include/Makefile.in: Regenerate.
1088
1089 2004-09-23  Paolo Carlini  <pcarlini@suse.de>
1090             Magnus Fromreide  <magfr@lysator.liu.se>
1091
1092         * include/bits/boost_concept_check.h (struct _SequenceConcept):
1093         Remove wrong requirement, i.e., not present in Table 67.
1094
1095 2004-09-21  Paolo Carlini  <pcarlini@suse.de>
1096
1097         PR libstdc++/12882 (cont)
1098         * acinclude.m4 (GLIBCXX_CHECK_LFS): Check for fstat64 too.
1099         * configure: Regenerate.
1100         * config/io/basic_file_stdio.cc (__basic_file<>::showmanyc): When
1101         _GLIBCXX_USE_LFS use fstat64 and lseek64, thus providing a non
1102         trivial showmanyc for large files too.
1103
1104 2004-09-17  Jonathan Wakely  <redi@gcc.gnu.org>
1105
1106         * include/bits/stl_algo.h (remove): Remove too restrictive
1107         concept-check.
1108
1109 2004-09-17  Paolo Carlini  <pcarlini@suse.de>
1110
1111         * include/bits/fstream.tcc (xsgetn): Slightly tweak conditional,
1112         as per Nathan's original suggestion.
1113
1114 2004-09-17  Paolo Carlini  <pcarlini@suse.de>
1115
1116         * testsuite/ext/mt_allocator/tune-1.cc: Use VERIFY, clean
1117         up a bit.
1118         * testsuite/ext/mt_allocator/tune-2.cc: Likewise.
1119         * testsuite/ext/mt_allocator/tune-3.cc: Likewise.
1120         * testsuite/ext/mt_allocator/tune-4.cc: Likewise.
1121
1122 2004-09-17  Paolo Carlini  <pcarlini@suse.de>
1123             Andrea Arcangeli  <andrea@suse.de>
1124
1125         * config/io/basic_file_stdio.cc (__basic_file<>::close)): Don't
1126         call unnecessarily sync, that is fflush: the library, since 3.4.0
1127         does not use buffered fread/fwrite.
1128         * include/bits/fstream.tcc (basic_filebuf<>::overflow): Likewise.
1129
1130 2004-09-15  Mark Mitchell  <mark@codesourcery.com>
1131
1132         * config/cpu/arm/cxxabi_tweaks.h (__cxa_cdtor_return_type):
1133         Define.
1134         * config/cpu/generic/cxxabi_tweaks.h (__cxa_cdtor_return_type):
1135         Define.
1136         * libsupc++/cxxabi.h (__cxa_cdtor_return_type): New type.
1137         (__cxa_vec_new): Use it.
1138         (__cxa_vec_new2): Likewise.
1139         (__cxa_vec_new3): Likewise.
1140         (__cxa_vec_cdtor): Likewise.
1141         (__cxa_vec_cctor): Likeiwse.
1142         (__cxa_vec_dtor): Likewise.
1143         (__cxa_vec_cleanup): Likewise.
1144         (__cxa_vec_delete2): Likewise.
1145         (__cxa_vec_delete3): Likewise.
1146         * libsupc++/vec.cc (__cxa_vec_new): Likewise.
1147         (__cxa_vec_new2): Likewise.
1148         (__cxa_vec_new3): Likewise.
1149         (__cxa_vec_cdtor): Likewise.
1150         (__cxa_vec_cctor): Likeiwse.
1151         (__cxa_vec_dtor): Likewise.
1152         (__cxa_vec_cleanup): Likewise.
1153         (__cxa_vec_delete2): Likewise.
1154         (__cxa_vec_delete3): Likewise.
1155         (__aeabi_vec_ctor_nocookie_nodtor): New function.
1156         (__aeabi_vec_ctor_cookie_nodtor): Likewise.
1157         (__aeabi_vec_cctor_nocookie_nodtor): Likewise.
1158         (__aeabi_vec_new_cookie_noctor): Likewise.
1159         (__aeabi_vec_new_nocookie): Likewise.
1160         (__aeabi_vec_new_cookie_nodtor): Likewise.
1161         (__aeabi_vec_new_cookie): Likewise.
1162         (__aeabi_vec_dtor): Likewise.
1163         (__aeabi_vec_dtor_cookie): Likewise.
1164         (__aeabi_vec_delete): Likewise.
1165         (__aeabi_vec_delete3): Likewise.
1166         (__aeabi_vec_delete3_nodtor): Likewise.
1167         (__aeabi_atexit): Likewise.
1168
1169 2004-09-14  Nathan Myers  <ncm@cantrip.org>
1170
1171         * include/bits/fstream.tcc (xsgetn): Slightly tweak the recent fix
1172         for 11722: copy can replace move; the common case is __avail == 0.
1173
1174 2004-09-14  Paolo Carlini  <pcarlini@suse.de>
1175
1176         * include/bits/cpp_type_traits.h: Rename __is_trivially_copyable
1177         to __is_scalar, more clear and consistent with "tr1" naming.
1178         * include/bits/stl_algobase.h: Update consistently throughout.
1179
1180 2004-09-13  Paolo Carlini  <pcarlini@suse.de>
1181
1182         PR libstdc++/11722
1183         * include/std/std_fstream.h (xsgetn): Declare only.
1184         * include/bits/fstream.tcc (xsgetn): Define, optimize for the
1185         always_noconv() case: when __n > __buflen, copy the available
1186         buffer and issue a direct read.
1187         * testsuite/performance/27_io/filebuf_sgetn_unbuf.cc: New.
1188
1189         * include/bits/fstream.tcc (xsputn): Minor tweak, reorder a
1190         conditional.
1191
1192 2004-09-13  Hans-Peter Nilsson  <hp@bitrange.com>
1193
1194         * testsuite/lib/libstdc++.exp: Use gcc wrapper.exp and call
1195         libstdc++_maybe_build_wrapper instead of using local code.
1196
1197 2004-09-08  Benjamin Kosnik  <bkoz@redhat.com>
1198
1199         * config/linker-map.gnu (GLIBCXX_3.4.3): New, adjust symbol exports.
1200
1201 2004-09-03  Jan Beulich  <jbeulich@novell.com>
1202
1203         * crossconfig.m4: Add NetWare as a target.
1204         * configure: Regenerate.
1205
1206 2004-09-02  Mark Mitchell  <mark@codesourcery.com>
1207
1208         * libsupc++/typeinfo: Honor __GXX_MERGED_TYPEINFO_NAMES if already
1209         defined.
1210
1211 2004-09-02  Benjamin Kosnik  <bkoz@redhat.com>
1212             Simon Richter  <Simon.Richter@hogyros.de>
1213
1214         PR libstdc++/16715
1215         * include/bits/istream.tcc: Add extern template for iostream
1216         char and wchar_t instantiations.
1217
1218 2004-09-02  Benjamin Kosnik  <bkoz@redhat.com>
1219             Leland Wang  <llwang@infor.org>
1220
1221         PR libstdc++/17259
1222         * include/ext/ropeimpl.h (rope::_S_compare): Use
1223         _Rope_constants::_S_leaf.
1224
1225 2004-09-02  Benjamin Kosnik  <bkoz@redhat.com>
1226
1227         PR libstdc++/16848
1228         * include/Makefile.am (ext_headers): Remove demangle.h.
1229         * include/Makefile.in: Regenerate.
1230         * include/ext/demangle.h: Remove.
1231
1232 2004-09-01  Benjamin Kosnik  <bkoz@redhat.com>
1233
1234         PR libstdc++/16614
1235         * include/ext/mt_allocator.h (__mt_base): Not type dependent,
1236         split into..
1237         (__pool): New, specialize.
1238         (__common_pool): New, static bits here.
1239         (__per_type_pool): New, and here.
1240         (__mt_alloc_base): New.
1241         (__mt_alloc): Add template parameter, inherit from it.
1242         * src/allocator.cc: Split this...
1243         * src/allocator-inst.cc: And this...
1244         * src/pool_allocator.cc: ...into this.
1245         * src/mt_allocator.cc: ... and this. Add definitions for
1246         __mt_base.
1247         * src/Makefile.am (sources): Split allocator.cc to
1248         pool_allocator.cc and mt_allocator.cc.
1249         * src/Makefile.in: Regenerate.
1250         * config/linker-map.gnu: Add symbols.
1251         * docs/html/ext/mt_allocator.html: Document new design.
1252         * testsuite/ext/mt_allocator/tune-1.cc: New.
1253         * testsuite/ext/mt_allocator/tune-2.cc: New.
1254         * testsuite/ext/mt_allocator/tune-3.cc: New.
1255         * testsuite/ext/mt_allocator/tune-4.cc: New.
1256
1257         * testsuite/testsuite_allocator.h (__gnu_test::check_new): New.
1258         * testsuite/ext/allocators.cc: Use check_new, split into...
1259         * testsuite/ext/mt_allocator/check_new.cc: this.
1260         * testsuite/ext/pool_allocator/check_new.cc: this.
1261         * testsuite/ext/malloc_allocator/check_new.cc: this.
1262         * testsuite/ext/debug_allocator/check_new.cc: this.
1263         * testsuite/ext/mt_allocator/instantiate.cc: this.
1264         * testsuite/ext/pool_allocator/instantiate.cc: this.
1265         * testsuite/ext/malloc_allocator/instantiate.cc: this.
1266         * testsuite/ext/debug_allocator/instantiate.cc: this.
1267
1268 2004-08-30  Phil Edwards  <phil@codesourcery.com>
1269
1270         * docs/html/install.html:  Update locales list (from Paolo).
1271         Remove other redundant information and point to the GCC install
1272         documentation.
1273
1274 2004-08-30  Benjamin Kosnik  <bkoz@redhat.com>
1275
1276         * include/ext/pool_allocator.h: Rename __pool_base to
1277         __pool_alloc_base.
1278         * src/allocator.cc: Same.
1279         * config/linker-map.gnu: Same.
1280
1281 2004-08-30  Paolo Carlini  <pcarlini@suse.de>
1282             Kenneth C. Schalk  <ken@xorian.net>
1283
1284         PR libstdc++/17215
1285         * config/io/basic_file_stdio.cc (__basic_file<char>::close()):
1286         Check the return value of fclose/sync, loop on EINTR.
1287         (__basic_file<char>::sys_open): Likewise, for sync.
1288
1289 2004-08-29  Paolo Carlini  <pcarlini@suse.de>
1290
1291         * include/bits/locale_facets.tcc (time_get<>::_M_extract_via_format,
1292         case 'S'): Allow for at least one leap-second (as per C99, 7.23.1
1293         and 7.23.3.5), two if !_GLIBCXX_USE_C99.
1294         * testsuite/22_locale/time_get/get_time/char/4.cc: New.
1295         * testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
1296
1297 2004-08-27  Jason Merrill  <jason@redhat.com>
1298
1299         PR c++/13684
1300         * libsupc++/guard.cc (static_mutex): Internal class implementing a
1301         recursive mutex which controls initialization of local statics.
1302         (__gnu_cxx::recursive_init): New exception class.
1303         (__cxa_guard_acquire): Deal with locking and recursion detection.
1304         (acquire_1, __cxa_guard_abort, __cxa_guard_release): Likewise.
1305
1306 2004-08-27  Matthias Klose  <doko@debian.org>
1307
1308         * configure.host: For mips*-*-linux* update cpu_include_dir
1309         after atomicity_dir is set.
1310
1311 2004-08-27  Matthias Klose  <doko@debian.org>
1312
1313         * config/abi/arm-linux-gnu/baseline_symbols.txt: New.
1314         * config/abi/mips-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
1315         * configure.host: Set abi_baseline_pair for arm*-*-linux* and
1316         mips*-*-linux*.
1317
1318 2004-08-27  Paolo Carlini  <pcarlini@suse.de>
1319
1320         * testsuite/27_io/manipulators/adjustfield/wchar_t/1.cc: New.
1321         * testsuite/27_io/manipulators/adjustfield/wchar_t/2.cc: Likewise.
1322         * testsuite/27_io/manipulators/basefield/wchar_t/1.cc: Likewise.
1323         * testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise.
1324         * testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise.
1325
1326         * testsuite/27_io/manipulators/adjustfield/char/1.cc: Minor
1327         formatting fixes.
1328         * testsuite/27_io/manipulators/adjustfield/char/2.cc: Likewise.
1329         * testsuite/27_io/manipulators/basefield/char/1.cc: Likewise.
1330         * testsuite/27_io/manipulators/standard/char/1.cc: Likewise.
1331         * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
1332
1333 2004-08-25  Paolo Carlini  <pcarlini@suse.de>
1334
1335         PR libstdc++/17038 (partial)
1336         * include/bits/locale_facets.tcc (time_put<>::do_put): Increase
1337         __maxlen to 128.
1338         * include/bits/locale_facets.h (class __timepunct): Add FIXME
1339         comment about _M_put.
1340         * config/locale/generic/time_members.cc (_M_put): Always null
1341         terminate __s.
1342         * config/locale/gnu/time_members.cc (_M_put): Likewise.
1343         * testsuite/22_locale/time_put/put/char/17038.cc: New.
1344         * testsuite/22_locale/time_put/put/wchar_t/17038.cc: New.
1345
1346 2004-08-24  Paolo Carlini  <pcarlini@suse.de>
1347
1348         * testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc: New.
1349         * testsuite/27_io/basic_istringstream/str/wchar_t/1.cc: Likewise.
1350         * testsuite/27_io/basic_ostringstream/cons/wchar_t/3.cc: Likewise.
1351         * testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc: Likewise.
1352         * testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc: Likewise.
1353         * testsuite/27_io/basic_ostringstream/str/wchar_t/2.cc: Likewise.
1354
1355         * testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Trim excess
1356         newlines.
1357         * testsuite/27_io/basic_istringstream/str/char/1.cc: Likewise.
1358
1359 2004-08-22  Matthias Klose  <doko@debian.org>
1360
1361         * config/abi/m68k-linux-gnu/baseline_symbols.txt: New.
1362         * config/abi/sparc-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
1363
1364 2004-08-23  Paolo Carlini  <pcarlini@suse.de>
1365
1366         * configure.ac: Specify version 1.9.1 in AM_INIT_AUTOMAKE.
1367         * aclocal.m4: Regenerate with automake-1.9.1.
1368         * configure: Regenerate.
1369         * Makefile.in: Likewise.
1370         * include/Makefile.in: Likewise.
1371         * libmath/Makefile.in: Likewise.
1372         * libsupc++/Makefile.in: Likewise.
1373         * po/Makefile.in: Likewise.
1374         * src/Makefile.in: Likewise.
1375         * testsuite/Makefile.in: Likewise.
1376
1377 2004-08-22  Paolo Carlini  <pcarlini@suse.de>
1378
1379         * include/bits/locale_facets.tcc (num_put<>::do_put(bool)): Cast
1380         to a signed type, long according to the resolution of DR 359.
1381         * testsuite/22_locale/num_put/put/char/9.cc: New.
1382         * testsuite/22_locale/num_put/put/wchar_t/9.cc: New.
1383
1384         * include/bits/locale_facets.tcc (num_put<>::do_put(const void*)):
1385         Simplify a bit: no need to clear showpos.
1386
1387 2004-08-21  Paolo Carlini  <pcarlini@suse.de>
1388
1389         * include/bits/char_traits.h (struct _Char_traits_match): Remove,
1390         unused.
1391
1392 2004-08-21  Paolo Carlini  <pcarlini@suse.de>
1393
1394         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Use proper
1395         wchar_t type for the fill argument; minor formatting tweaks.
1396         * testsuite/22_locale/money_put/put/wchar_t/12971.cc: Likewise.
1397         * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
1398         * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
1399         * testsuite/22_locale/money_put/put/wchar_t/4.cc: Likewise.
1400         * testsuite/22_locale/money_put/put/wchar_t/5.cc: Likewise.
1401         * testsuite/22_locale/money_put/put/wchar_t/6.cc: Likewise.
1402
1403 2004-08-21  Paolo Carlini  <pcarlini@suse.de>
1404
1405         * include/bits/basic_ios.tcc (basic_ios<>::copyfmt): Don't deal
1406         with _M_word != _M_local_word two times, redundantly.
1407
1408 2004-08-20  Jason Merrill  <jason@redhat.com>
1409
1410         * include/Makefile.am (${host_builddir}/gthr.h): Don't add
1411         _GLIBCXX_ to #pragma lines.
1412         * include/Makefile.in: Update.
1413
1414 2004-08-20  Paolo Carlini  <pcarlini@suse.de>
1415
1416         PR libstdc++/7219 (continued)
1417         * include/bits/ios_base.h (class ios_base): Expose Annex D.6
1418         typedefs by default.
1419         * testsuite/27_io/types/1.cc: Remove #if _GLIBCXX_DEPRECATED.
1420         * testsuite/27_io/ios_base/cons/assign_neg.cc: Tweak dg-error
1421         line number.
1422         * testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
1423
1424 2004-08-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1425
1426         * cpu/hppa/atomicity.h (__exchange_and_add, __atomic_add): Add memory
1427         barrier to locking asm.
1428
1429 2004-08-20  Paolo Carlini  <pcarlini@suse.de>
1430
1431         * include/c_std/cmath.tcc (__cmath_power): Revert previous commit:
1432         actually the warning is a front-end bug (c++/17120).
1433
1434 2004-08-20  Matthias Klose  <doko@debian.org>
1435
1436         * config/abi/s390-linux-gnu/baseline_symbols.txt: New.
1437
1438 2004-08-20  Paolo Carlini  <pcarlini@suse.de>
1439
1440         * include/c_std/cmath.tcc (__cmath_power): Suppress assignment
1441         used as truth value warning.
1442
1443 2004-08-20  Paolo Carlini  <pcarlini@suse.de>
1444
1445         * config/abi/x86_64-linux-gnu/32/baseline_symbols.txt: Add 32 bit
1446         baseline.
1447
1448 2004-08-20  Paolo Carlini  <pcarlini@suse.de>
1449
1450         * config/abi/x86_64-linux-gnu/baseline_symbols.txt: Fix it.
1451
1452 2004-08-19  Benjamin Kosnik  <bkoz@redhat.com>
1453
1454         * testsuite/22_locale/time_put/put/char/3.cc (test03): Don't check
1455         timezone.
1456         * testsuite/22_locale/time_put/put/wchar_t/3.cc (test03): Same.
1457
1458 2004-08-19  Paolo Carlini  <pcarlini@suse.de>
1459
1460         * testsuite/performance/20_util/allocator/insert.cc: For std::map
1461         instantiate the allocator for a correct pair type.
1462         * testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
1463         * testsuite/performance/20_util/allocator/map_thread.cc: Likewise.
1464         * testsuite/performance/20_util/allocator/producer_consumer.cc:
1465         Likewise.
1466
1467         * testsuite/performance/20_util/allocator/list_sort_search.cc: Very
1468         minor formatting fixes.
1469         * testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
1470
1471 2004-08-19  Paolo Carlini  <pcarlini@suse.de>
1472
1473         * testsuite/22_locale/time_put/put/char/1.cc: Add VERIFY on the
1474         results.
1475         * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
1476         * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
1477         * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
1478         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
1479         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
1480         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
1481         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
1482
1483 2004-08-19  Paolo Carlini  <pcarlini@suse.de>
1484
1485         * config/abi/x86_64-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
1486
1487 2004-08-18  Matthias Klose  <doko@debian.org>
1488
1489         * config/abi/hppa-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
1490         * config/abi/i386-linux-gnu/baseline_symbols.txt: New.
1491         * config/abi/powerpc-linux-gnu/baseline_symbols.txt: New.
1492
1493 2004-08-17  Paolo Carlini  <pcarlini@suse.de>
1494
1495         * config/abi/alpha-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
1496
1497 2004-08-17  Paolo Carlini  <pcarlini@suse.de>
1498
1499         * config/abi/ia64-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
1500
1501 2004-08-17  Benjamin Kosnik  <bkoz@redhat.com>
1502
1503         * config/abi/i486-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
1504
1505 2004-08-16  Paolo Carlini  <pcarlini@suse.de>
1506
1507         * include/bits/indirect_array.h: Trivial formatting fixes.
1508         * include/bits/valarray_after.h: Likewise.
1509         * include/bits/valarray_array.h: Likewise.
1510         * src/valarray-inst.cc: Likewise.
1511
1512 2004-08-15  Paolo Carlini  <pcarlini@suse.de>
1513
1514         * testsuite/27_io/basic_stringstream/rdbuf/char/2832.cc: Remove junk.
1515         * testsuite/27_io/basic_stringstream/str/char/1.cc: Likewise.
1516         * testsuite/27_io/basic_stringstream/str/char/3.cc: Likewise.
1517
1518         * testsuite/27_io/basic_stringstream/rdbuf/wchar_t/2832.cc: New.
1519         * testsuite/27_io/basic_stringstream/str/wchar_t/1.cc: Likewise.
1520         * testsuite/27_io/basic_stringstream/str/wchar_t/2.cc: Likewise.
1521         * testsuite/27_io/basic_stringstream/str/wchar_t/3.cc: Likewise.
1522         * testsuite/27_io/basic_stringstream/str/wchar_t/4.cc: Likewise.
1523
1524 2004-08-15  Paolo Carlini  <pcarlini@suse.de>
1525
1526         * include/bits/deque.tcc: Trivial formatting fixes.
1527
1528 2004-08-15  Paolo Carlini  <pcarlini@suse.de>
1529
1530         * include/bits/deque.tcc: Trivial formatting fixes.
1531
1532         * include/bits/locale_facets.tcc (num_get<>::do_get(&bool)):
1533         Remove unneded typedef.
1534
1535         * include/bits/locale_facets.tcc: Very minor tweaks.
1536
1537         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Use proper
1538         type for the fill argument.
1539         * testsuite/22_locale/time_put/put/wchar_t/10.cc: Likewise.
1540         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
1541         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
1542         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
1543         * testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
1544         * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
1545         * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
1546         * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
1547
1548 2004-08-13  Paolo Carlini  <pcarlini@suse.de>
1549
1550         * src/debug.cc (_Error_formatter::_M_print_string): Fix thinko,
1551         memmove is not needed, memcpy suffices.
1552
1553 2004-08-13  Paolo Carlini  <pcarlini@suse.de>
1554
1555         * include/std/std_fstream.h (class basic_ifstream,
1556         class basic_ofstream, class basic_fstream): Add const overloads
1557         of is_open, as per DR 365 [WP].
1558         * docs/html/ext/howto.html: Add an entry for DR 365.
1559
1560 2004-08-12  Paolo Carlini  <pcarlini@suse.de>
1561
1562         * configure.ac: Specify version 1.8.5 in AM_INIT_AUTOMAKE.
1563
1564 2004-08-12  Paolo Carlini  <pcarlini@suse.de>
1565
1566         PR libstdc++/16956
1567         * include/bits/sstream.tcc (basic_stringbuf<>::seekoff): Add __off
1568         to the returned value, reorganize a bit.
1569         * testsuite/27_io/basic_stringbuf/seekoff/char/16956.cc: New.
1570         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/16956.cc: New.
1571
1572         * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Remove junk.
1573         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.
1574         * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Likewise.
1575         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc: Likewise.
1576
1577 2004-08-12  Paul Brook  <paul@codesourcery.com>
1578
1579         * config/cpu/arm/cxxabi_tweaks.h: Define __cxa_vec_ctor_return and
1580         _GLIBCXX_CXA_VEC_CTOR_RETURN.
1581         * config/cpu/generic/cxxabi_tweaks.h: Ditto.
1582         * libsupc++/cxxabi.h (__cxa_vec_ctor, __cxa_vec_cctor): Use
1583         __cxa_vec_ctor_return.
1584         * libsupc++/vec.cc (__cxa_vec_ctor, __cxa_vec_cctor): Ditto.
1585         Use _GLIBCXX_CXA_VEC_CTOR_RETURN.
1586
1587 2004-08-12  Kelley Cook  <kcook@gcc.gnu.org>
1588
1589         * Makefile.in, aclocal.m4, configure, include/Makefile.in,
1590         libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
1591         src/Makefile.in, testsuite/Makefile.in: Regenerate
1592
1593 2004-08-12  Jan Beulich  <jbeulich@novell.com>
1594
1595         * config/locale/generic/ctype_members.cc
1596         (ctype<wchar_t>::_M_convert_to_wmask): Default case must not use 0 as
1597         initializer for return value, as that is invalid for enumerated types.
1598         * config/locale/gnu/ctype_members.cc
1599         (ctype<wchar_t>::_M_convert_to_wmask): Likewise.
1600
1601 2004-08-11  Paolo Carlini  <pcarlini@suse.de>
1602
1603         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Fix typo.
1604
1605 2004-08-11  Paolo Carlini  <pcarlini@suse.de>
1606
1607         * testsuite/27_io/basic_stringbuf/imbue/char/1.cc: Declare test
1608         variable.
1609         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc: Ditto.
1610         * testsuite/27_io/basic_stringbuf/in_avail/char/1.cc: Remove junk.
1611         * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Ditto.
1612         * testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc: Ditto.
1613         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Ditto.
1614         * testsuite/27_io/basic_stringbuf/setbuf/char/1.cc: Ditto.
1615         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc: Ditto.
1616         * testsuite/27_io/basic_stringbuf/sgetc/char/1.cc: Ditto.
1617         * testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Ditto.
1618         * testsuite/27_io/basic_stringbuf/sgetn/char/1.cc: Ditto.
1619         * testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Ditto.
1620         * testsuite/27_io/basic_stringbuf/snextc/char/1.cc: Ditto.
1621         * testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Ditto.
1622         * testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Ditto.
1623         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc: Ditto.
1624         * testsuite/27_io/basic_stringbuf/sputc/char/1.cc: Ditto.
1625         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc: Ditto.
1626         * testsuite/27_io/basic_stringbuf/sputn/char/1.cc: Ditto.
1627         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc: Ditto.
1628         * testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Ditto.
1629         * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Ditto.
1630
1631 2004-08-11  Paolo Carlini  <pcarlini@suse.de>
1632             Petur Runolfsson  <peturr02@ru.is>
1633
1634         PR libstdc++/16959
1635         * src/ios_init.cc (ios_base::sync_with_stdio): Make sure the
1636         standard streams are constructed.
1637         * testsuite/27_io/ios_base/sync_with_stdio/16959.cc: New.
1638
1639 2004-08-09  Paolo Carlini  <pcarlini@suse.de>
1640
1641         * include/bits/stl_bvector.h: Trivial formatting fixes.
1642
1643 2004-08-09  Paolo Carlini  <pcarlini@suse.de>
1644
1645         * src/ios.cc (ios_base::_M_grow_words): Uglify the names.
1646
1647 2004-08-07  Jonathan Wakely  <redi@gcc.gnu.org>
1648             Paolo Carlini  <pcarlini@suse.de>
1649
1650         * src/debug.cc (_Error_formatter::_M_print_string): In order
1651         to print individual words from __string, _M_format_word can't
1652         be called since may be just sprintf, thus ignoring completely
1653         __n: instead, use memmove and append '\0' by hand.
1654
1655 2004-08-07  Paolo Carlini  <pcarlini@suse.de>
1656
1657         * config/locale/generic/c_locale.h (__convert_from_v): Don't
1658         use a default for __prec, assume __prec >= 0 and simplify.
1659         * config/locale/gnu/c_locale.h (__convert_from_v): Likewise.
1660         * include/bits/locale_facets.tcc (money_put<>::do_put(long double)):
1661         Pass format "%.*Lf" + precision == 0, equivalent to "%.0Lf".
1662
1663 2004-08-04  Phil Edwards  <phil@codesourcery.com>
1664
1665         * docs/html/configopts.html:  Emphasize that options change.
1666         * docs/html/17_intro/configury.html:  Update links.
1667
1668 2004-08-03  Paolo Carlini  <pcarlini@suse.de>
1669
1670         * include/bits/list.tcc: Trivial formatting fixes.
1671
1672 2004-08-03  Mark Mitchell  <mark@codesourcery.com>
1673
1674         * libsupc++/new_op.cc: Update comments.
1675         * libsupc++/del_op.cc: Likewise.
1676
1677 2004-08-02  Mark Mitchell  <mark@codesourcery.com>
1678
1679         * libsupc++/cxxabi.h: Make all declarations have default
1680         visibility.
1681         * libsupc++/exception: Likewise.
1682         * libsupc++/new: Likewise.
1683         * libsupc++/typeinfo: Likewise.
1684         * libsupc++/unwind-cxx.h: Likewise.
1685         * libsupc++/eh_alloc.cc (__cxa_allocate_exception): Put it into
1686         the __cxxabiv1 namespace.
1687         (__cxa_free_exception): Likewise.
1688         * libsupc++/eh_aux_runtime.cc (__cxa_bad_cast): Likewise.
1689         (__cxa_bad_typeid): Likewise.
1690         * libsupc++/eh_catch.cc (__cxa_begin_catch): Likewise.
1691         (__cxa_end_catch): Likewise.
1692         * libsupc++/eh_globals.cc (__cxa_get_globals_fast): Likewise.
1693         (__cxa_get_globals): Likewise.
1694         * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
1695         (__cxa_rethrow): Likewise.
1696         * libsupc++/pure.cc (__cxa_pure_virtual): Likewise.
1697         * libsupc++/eh_type.cc: Include <cxxabi.h>.
1698
1699         * Makefile.am (hosted_source): Add libmath and testsuite.
1700         (SUBDIRS): Remove them.
1701         * acinclude.m4: (GLIBCXX_ENABLED_HOSTED): Default to freestanding
1702         on arm*-*-symbianelf*.
1703         * crossconfig.m4: Add arm*-*-symbianelf* support.
1704         * include/c_std/std/std_cstdlib.h (stdlib.h): Do not include it
1705         when freestanding.  Do not bring names into std:: namespace with
1706         "using" when freestanding.  Declare required functions and macros
1707         when freestanding.
1708         * libsupc++/Makefile.am (c_sources): Do not include cp-demangle.c
1709         when freestanding.
1710         * libsupc++/del_op.cc: Declare "free" only when freestanding.
1711         * libsupc++/eh_alloc.cc (cstring): Include it only when hosted.
1712         (malloc): Declare when freestanding.
1713         (free): Likewise.
1714         (memset): Likewise.
1715         (__cxa_allocate_exception): Call malloc, not std::malloc.  Likewise
1716         for memset.
1717         (__cxa_free_exception): Likewise for free.
1718         * libsupc++/new_op.cc: Declare "malloc" when freestanding.
1719         * libsupc++/pure.cc (writestr): Define to nothing when
1720         freestanding.
1721         * libsupc++/vterminate.cc: Do not define anything when
1722         freestanding.
1723         * Makefile.in: Regenerated.
1724         * aclocal.m4: Likewise.
1725         * configure: Likewise.
1726         * include/Makefile.in: Likewise.
1727         * libmath/Makefile.in: Likewise.
1728         * libsupc++/Makefile.in: Likewise.
1729         * po/Makefile.in: Likewise.
1730         * src/Makefile.in: Likewise.
1731         * testsuite/Makefile.in: Likewise.
1732
1733 2004-08-01  Matt Austern  <austern@apple.com>
1734
1735         PR libstdc++/16844
1736         * include/bits/stl_list.h (_M_create_node): Remove unused
1737         zero-argument version.
1738         * include/ext/slist (_M_create_node): Pass two arguments to
1739         allocator's construct() member function.
1740         * testsuite/23_containers/deque/explicit_instantiation.cc: New.
1741         * testsuite/23_containers/list/explicit_instantiation.cc: New.
1742         * testsuite/23_containers/vector/explicit_instantiation.cc: New.
1743         * testsuite/23_containers/map/explicit_instantiation.cc: New.
1744         * testsuite/23_containers/set/explicit_instantiation.cc: New.
1745         * testsuite/23_containers/multimap/explicit_instantiation.cc: New.
1746         * testsuite/23_containers/multiset/explicit_instantiation.cc: New.
1747         * testsuite/ext/hash_set_explicit_instantiation.cc: New.
1748         * testsuite/ext/slist_explicit_instantiation.cc: New.
1749
1750 2004-07-30  Paolo Carlini  <pcarlini@suse.de>
1751
1752         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
1753         num_get<>::_M_extract_int): In the main parsing loop delay the
1754         life of __q to the actual use point.
1755
1756 2004-07-29  Paolo Carlini  <pcarlini@suse.de>
1757
1758         PR libstdc++/14220
1759         * include/bits/locale_facets.tcc (num_put<>::_M_insert_float):
1760         Don't clip the precision passed down to __convert_from_v:
1761         22.2.2.2.2 nowhere says so.
1762         * testsuite/22_locale/num_put/put/char/14220.cc: New.
1763         * testsuite/22_locale/num_put/put/wchar_t/14220.c: Likewise.
1764
1765 2004-07-29  Paolo Carlini  <pcarlini@suse.de>
1766
1767         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 31.
1768
1769 2004-07-29  Paolo Carlini  <pcarlini@suse.de>
1770             Petur Runolfsson  <peturr02@ru.is>
1771
1772         PR libstdc++/12658 (continued)
1773         * src/locale_init.cc (locale::locale, locale::global): Use
1774         a single locale_mutex instead of two separate mutexes.
1775
1776 2004-07-29  Paolo Carlini  <pcarlini@suse.de>
1777
1778         PR libstdc++/16813
1779         * include/debug/map.h (insert(_InputIterator, _InputIterator)):
1780         Fix typo.
1781         * testsuite/23_containers/map/insert/16813.cc: New.
1782
1783 2004-07-29  Phil Edwards  <phil@codesourcery.com>
1784
1785         * docs/html/faq/index.html:  Update version references.  Make
1786         clear that code from SGI has diverged greatly.  Remove references
1787         to library snapshots and what's-new sections.
1788         * docs/html/faq/index.txt:  Regenerate.
1789
1790 2004-07-28  Matt Austern  <austern@apple.com>
1791
1792         * include/bits/stl_construct.h (_Destroy): New three-argument
1793         overload that takes an allocator argument.  Another inline
1794         three-argument overload that takes std::allocator and dispatches
1795         to the two-argument version.
1796         * include/bits/stl_uninitialized.h (__uninitialized_fill_n_aux):
1797         Change return type to void to match uninitialized_fill_n.
1798         (__uninitialized_copy_a_): New function.  Like uninitialized_copy
1799         except that it takes an allocator and uses it for construct and
1800         destroy.  If the allocator is std::allocator, dispatches to
1801         uninitialized_copy.
1802         (__uninitialized_fill_a): Likewise.
1803         (__uninitialized_fill_n_a): Likewise.
1804         (__uninitialized_copy_copy): Give it an allocator argument.
1805         (__uninitialized_fill_copy): Likewise.
1806         (__uninitialized_copy_fill): Likewise.
1807         * include/bits/deque.tcc: Use new forms defined in stl_construct.h
1808         and stl_uninitialized.h.  Replace use of single-argument _Construct
1809         and _Destroy with use of allocator's construct and destroy methods.
1810         * include/bits/list.tcc: Likewise.
1811         * include/bits/stl_deque.h: Likewise.
1812         * include/bits/stl_list.h: Likewise.
1813         * include/bits/stl_tree.h: Likewise.
1814         * include/bits/stl_vector.h: Likewise.
1815         * include/bits/vector.tcc: Likewise.
1816         * include/ext/hashtable.h: Use rebind so that allocator_type
1817         has correct type for a container's allocator.  Replace use of
1818         single-argument _Construct and _Destroy with use of allocator's
1819         construct and destroy methods.
1820         * include/ext/memory (__uninitialized_copy_n_a): New function.
1821         Like uninitialized_copy_n except that it takes an extra parameter,
1822         an allocator, and uses it for construct and destroy operations.
1823         * include/ext/rope: Use new forms defined in stl_construct.h,
1824         stl_uninitialized.h, and ext/memory.  Replace use of single-argument
1825         _Construct and _Destroy with allocator construct and destroy methods.
1826         * include/ext/ropeimpl.h: Likewise.
1827         * include/ext/slist.h: Likewise.
1828         * testsuite/testsuite_allocator.h (check_construct_destroy): New.
1829         * testsuite/testsuite_allocator.cc (check_construct_destroy): New.
1830         * testsuite/23_containers/deque/check_construct_destroy.cc: New.
1831         * testsuite/23_containers/list/check_construct_destroy.cc: New.
1832         * testsuite/23_containers/set/check_construct_destroy.cc: New.
1833         * testsuite/23_containers/vector/check_construct_destroy.cc: New.
1834         * testsuite/ext/hash_check_construct_destroy.cc: New.
1835         * testsuite/ext/slist_check_construct_destroy.cc: New.
1836
1837 2004-07-28  Alexandre Oliva  <aoliva@redhat.com>
1838
1839         2003-10-01  Eric Christopher  <echristo@redhat.com>
1840         * config/cpu/sh/atomicity.h (__exchange_and_add): Remove 'm'
1841         constraint.
1842         2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
1843         * config/cpu/sh/atomicity.h: New.  Use movli and movco on SH4a.
1844
1845 2004-07-23  Benjamin Kosnik  <bkoz@redhat.com>
1846
1847         PR libstdc++/16678
1848         * include/bits/locale_facets.tcc: Fix for -Werror.
1849
1850 2004-07-23  Jonathan Wakely  <redi@gcc.gnu.org>
1851
1852         * docs/html/debug.html: Say debug mode only available since 3.4.0.
1853
1854 2004-07-21  Benjamin Kosnik  <bkoz@redhat.com>
1855
1856         * docs/doxygen/mainpage.html: Clarify links.
1857         * docs/doxygen/stdheader.cc: Add files.
1858         * docs/doxygen/style.css: Remove bolds, add h2, h3 styles.
1859         * docs/doxygen/user.cfg.in: New options, wrap.
1860
1861 2004-07-20  Danny Smith  <dannysmith@users.sourceforge.net>
1862
1863         * include/c_std/std_cwchar.h (wcsstr): Correct signature.
1864
1865 2004-07-19  Benjamin Kosnik  <bkoz@redhat.com>
1866
1867         PR libstdc++/15488
1868         * testsuite/lib/libstdc++.exp (v3-copy-files): Revert.
1869
1870 2004-07-17  Richard Sandiford  <rsandifo@redhat.com>
1871
1872         PR bootstrap/16469
1873         * scripts/create_testsuite_files: Pass -print to find.
1874
1875 2004-07-15  Paolo Carlini  <pcarlini@suse.de>
1876
1877         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 30.
1878         * docs/html/ext/howto.html: Tweak entries for DRs 167/253/389/402.
1879
1880 2004-07-15  Jakub Jelinek  <jakub@redhat.com>
1881
1882         PR libstdc++/14697
1883         * acinclude.m4 (glibcxx_shared_libgcc): Correct
1884         glibcxx_shared_libgcc test for multilibs.
1885         * configure: Rebuilt.
1886
1887 2004-07-14  Paolo Carlini  <pcarlini@suse.de>
1888
1889         PR libstdc++/16505
1890         * include/bits/stl_uninitialized.h (uninitialized_fill_n): Fix
1891         the signature to return void, as per 20.4.4.3.
1892         * include/bits/stl_vector.h (vector::vector(size_type,
1893         const value_type&, const allocator_type&), vector::vector(size_type),
1894         vector::_M_initialize_dispatch): Adjust callers.
1895         * include/bits/vector.tcc (vector<>::_M_fill_assign,
1896         vector<>::_M_fill_insert): Likewise.
1897         * testsuite/20_util/memory/16505.cc: New.
1898
1899 2004-07-14  Paolo Carlini  <pcarlini@suse.de>
1900
1901         * testsuite/22_locale/locale/cons/12658_thread-1.cc,
1902         12658_thread-2.cc: Use __gnu_test::try_named_locale.
1903
1904 2004-07-13  Benjamin Kosnik  <bkoz@redhat.com>
1905
1906         * docs/html/ext/mt_allocator.html: Add docs for _Tune.
1907         * include/ext/mt_allocator.h (__mt_alloc::_S_get_options): Make public.
1908         (__mt_alloc::_S_set_options): Same.
1909         Add to comments.
1910
1911 2004-07-13  Benjamin Kosnik  <bkoz@redhat.com>
1912
1913         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add allocator defaults
1914         for linux.
1915         * configure: Regenerated.
1916
1917 2004-07-13  Paolo Carlini  <pcarlini@suse.de>
1918
1919         * testsuite/22_locale/locale/cons/12658_thread.cc: Move/rename
1920         to 12658_thread-1.cc and xfail.
1921         * testsuite/22_locale/locale/cons/12658_thread-2.c: New, much
1922         simpler version of 12658_thread-1.cc, still failing on 3_3 and
1923         not failing on 3_4/mainline - both on single processor and
1924         multiprocessor machines.
1925
1926 2004-07-12  Benjamin Kosnik  <bkoz@redhat.com>
1927
1928         * docs/html/abi.html: Remove non-public qualification.
1929
1930         * include/bits/concurrence.h: Tweak comments.
1931
1932 2004-07-11  Paolo Carlini  <pcarlini@suse.de>
1933
1934         Add wchar_t counterparts of the basic_streambbuf<char> tests.
1935         * testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: New.
1936         * testsuite/27_io/basic_streambuf/imbue/wchar_t/1.cc, 9322.cc:
1937         Likewise.
1938         * testsuite/27_io/basic_streambuf/in_avail/wchar_t/9701-3.cc: Likewise.
1939         * testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc, 2.cc,
1940         3599.cc: Likewise.
1941         * testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc: Likewise.
1942         * testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise.
1943         * testsuite/27_io/basic_streambuf/sputbackc/wchar_t/9538.cc: Likewise.
1944         * testsuite/27_io/basic_streambuf/sputc/wchar_t/1057.cc: Likewise.
1945         * testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc, 1057.cc:
1946         Likewise.
1947         * testsuite/27_io/basic_streambuf/sync/wchar_t/1057.cc: Likewise.
1948
1949         * testsuite/27_io/basic_streambuf/imbue/char/1.cc, 9322.cc: Minor
1950         tweaks.
1951         * testsuite/27_io/basic_streambuf/overflow/char/2.cc, 3599.cc:
1952         Likewise.
1953         * testsuite/27_io/basic_streambuf/sputn/char/1057.cc: Likewise.
1954         * testsuite/27_io/basic_streambuf/sync/char/1057.cc: Likewise.
1955
1956 2004-07-11  Phil Edwards  <phil@codesourcery.com>
1957
1958         * acinclude.m4:  Cosmetic shell syntax fixes.
1959         * configure.ac:  Bring comment inline with reality.
1960         * configure.host:  Both of the above.  Move 'arm' case to right
1961         place in host_cpu switch.
1962         * aclocal.m4, configure:  Regenerate.
1963
1964 2004-07-09  Paolo Carlini  <pcarlini@suse.de>
1965
1966         Add wchar_t counterparts of the basic_stringbuf<char> tests.
1967         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc, 9322.cc: New.
1968         * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Likewise.
1969         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc, 2.cc,
1970         3599.cc, 9988.cc: Likewise.
1971         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc, 9825.cc:
1972         Likewise.
1973         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc, 2.cc:
1974         Likewise.
1975         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc, 2.cc, 3.cc:
1976         Likewise.
1977         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc, 2.cc, 3.cc:
1978         Likewise.
1979         * testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Likewise.
1980         * testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Likewise.
1981         * testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Likewise.
1982         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc, 9425.cc:
1983         Likewise.
1984         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc, 1057.cc,
1985         9404-1.cc: Likewise.
1986         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc, 1057.cc,
1987         9404-2.cc: Likewise.
1988         * testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc, 2.cc, 3.cc,
1989         3955.cc: Likewise.
1990         * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Likewise.
1991         * testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc: Likewise.
1992
1993 2004-07-08  Paolo Carlini  <pcarlini@suse.de>
1994
1995         * include/bits/gslice.h: Trivial formatting fixes.
1996         * include/bits/gslice_array.h: Likewise.
1997         * include/bits/indirect_array.h: Likewise.
1998         * include/bits/mask_array.h: Likewise.
1999         * include/bits/slice_array.h: Likewise.
2000         * include/bits/valarray_after.h: Likewise.
2001         * include/bits/valarray_array.h: Likewise.
2002         * include/bits/valarray_before.h: Likewise.
2003         * include/std/std_valarray.h: Likewise.
2004
2005 2004-07-08  Benjamin Kosnik  <bkoz@redhat.com>
2006
2007         PR c++/16169
2008         * include/bits/basic_string.h (basic_string::operator=): Revert.
2009
2010 2004-07-07  Benjamin Kosnik  <bkoz@redhat.com>
2011
2012         * configure.ac (libtool_VERSION): To 6:2:0.
2013         * configure: Regenerated.
2014
2015         * testsuite/testsuite_abi.cc (check_version): Add 3.4.2.
2016
2017 2004-07-07  Aaron W. LaFramboise  <aaronraolete36@aaronwl.com>
2018
2019         PR libstdc++/16411
2020         * config/linker-map.gnu: Add stdio_sync_filebuf::file exports.
2021
2022 2004-07-07  Benjamin Kosnik  <bkoz@redhat.com>
2023
2024         * docs/html/abi.html: Updates for 3.4.1 release. Add summary of
2025         -Weffc++ issues.
2026
2027 2004-07-07  Paolo Carlini  <pcarlini@suse.de>
2028
2029         PR libstdc++/16401
2030         * include/bits/sstream.tcc (overflow): When reallocating _M_string
2031         use an exponential grow policy.
2032         * testsuite/27_io/basic_stringbuf/overflow/char/1.cc: New.
2033         * testsuite/performance/27_io/stringbuf_overflow.cc: New.
2034
2035 2004-07-06  Anssi Hannula  <anssi.hannula@mbnet.fi>
2036
2037         PR libstdc++/15928
2038         * crossconfig.m4: Add in bits for djgpp.
2039         * configure: Regenerate.
2040
2041 2004-07-05  Jonathan Wakely  <redi@gcc.gnu.org>
2042
2043         * testsuite/23_containers/{set,multiset}/14340.cc: Fix typos in
2044         instantiation of set and multiset (functor param given as int).
2045
2046 2004-07-04  Paolo Carlini  <pcarlini@suse.de>
2047
2048         * include/bits/basic_string.h: Trivial formatting fixes and/or
2049         const-ification of some variables.
2050         * include/bits/deque.tcc: Likewise.
2051         * include/bits/stl_algobase.h: Likewise.
2052         * include/bits/stl_bvector.h: Likewise.
2053         * include/bits/stl_construct.h: Likewise.
2054         * include/bits/stl_deque.h: Likewise.
2055         * include/bits/stl_pair.h: Likewise.
2056         * include/bits/stl_vector.h: Likewise.
2057         * include/bits/vector.tcc: Likewise.
2058
2059 2004-07-04  Paolo Carlini  <pcarlini@suse.de>
2060
2061         * testsuite/25_algorithms/copy/1.cc: Add instantiations for
2062         systems with no COMDAT or weak support.
2063         * testsuite/25_algorithms/copy/2.cc: Likewise.
2064         * testsuite/25_algorithms/copy/3.cc: Likewise.
2065         * testsuite/25_algorithms/copy/4.cc: Likewise.
2066
2067 2004-07-03  Paul Brook  <paul@codesourcery.com>
2068
2069         * configure.ac: Set ABI_TWEAKS_SRCDIR.
2070         * configure.host: Set abi_tweaks_dir.  Check for atomicity.h when
2071         setting atomicity_dir.  Override type_cpu for arm based targets.
2072         * include/Makefile.am (host_headers): Add cxxabi_tweaks.h.
2073         * libsupc++/cxxabi.h: Include bits/cxxabi.h. Don't declare __guard.
2074         * libsupc++/guard.cc: Use definitions from cxxabi_tweaks.h.
2075         * libsupc++/vec.cc: Ditto.
2076         * config/cpu/arm/cxxabi_tweaks.h: New file.
2077         * config/cpu/generic/cxxabi_tweaks.h: New file.
2078         * */Makefile.in: Regenerate.
2079         * configure: Regenerate.
2080
2081 2004-07-02  Paolo Carlini  <pcarlini@suse.de>
2082
2083         * include/bits/type_traits.h (_Is_normal_iterator): Move...
2084         * include/bits/cpp_type_traits.h: ... here, renamed to
2085         __is_normal_iterator and consistent with the other traits.
2086         * include/bits/stl_algobase.h (__copy_ni1, __copy_ni2): Convert
2087         to the struct __copy_normal and three specializations.
2088         (__copy_backward_output_normal_iterator,
2089         __copy_backward_input_normal_iterator): Likewise, convert to
2090         the struct __copy_backward_normal and three specializations.
2091         (copy, copy_backward): Use the latter.
2092         (__copy_aux, __copy_backward_aux): Very minor tweaks.
2093
2094 2004-07-01  Paolo Carlini  <pcarlini@suse.de>
2095
2096         * include/bits/stl_algobase.h (__copy_trivial): Remove.
2097         (__copy_aux2): Rewrite as __copy_aux to use __is_pointer,
2098         __is_trivially_copyable, __are_same and __copy::copy.
2099         (__copy): Rewrite as a class template and two specializations.
2100         (__copy_ni2): Simplify, just call __copy_aux.
2101
2102         * include/bits/stl_algobase.h (__copy_backward_aux): Add __are_same
2103         check.
2104         * testsuite/25_algorithms/copy/1.cc, 2.cc, 3.cc, 4.cc: Test also
2105         for destination value type != source value type.
2106
2107 2004-07-01  Benjamin Kosnik  <bkoz@redhat.com>
2108             Per Bothner  <per@bothner.com>
2109             Mohan Embar  <gnustuff@thisiscool.com>
2110
2111         PR libstdc++/16248
2112         * include/bits/concurrence.h (__glibcxx_mutex_type): New.
2113         (__glibcxx_mutex): Encapsulate mutex init function into type for
2114         threaded configurations without __GTHREAD_MUTEX_INIT.
2115         (lock::lock): Make device member a reference.
2116         (lock::~lock): Same.
2117         * include/ext/pool_allocator.h (__pool_base::_M_get_mutex): Change
2118         to mutex_type.
2119         * src/allocator.cc: Same.
2120
2121 2004-06-30  Brad Spencer  <spencer@infointeractive.com>
2122
2123         * include/ext/mt_allocator.h: Handle allocations at static
2124         initialization that happen before _S_options is (automatically)
2125         constructed; set _S_init even if _M_force_new is true.
2126
2127 2004-06-30  Benjamin Kosnik  <bkoz@redhat.com>
2128
2129         * config/linker-map.gnu: Revert new exports.
2130
2131 2004-06-30  Benjamin Kosnik  <bkoz@redhat.com>
2132             Stuart Anderson  <anderson@netsweng.com>
2133
2134         * config/linker-map.gnu: Add destructor exports for abstract base
2135         classes to conform to LSB.
2136
2137 2004-06-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2138             Paolo Carlini  <pcarlini@suse.de>
2139
2140         * include/bits/cpp_type_traits.h: Add __is_pointer and
2141         __is_trivially_copyable.
2142         * include/bits/stl_algobase.h (fill, fill_n): Slightly
2143         tweak to use the latter.
2144         (__copy_backward_dispatch): Remove.
2145         (__copy_backward_aux): Rewrite to use __is_pointer and
2146         __is_trivially_copyable and __copy_backward::copy_b.
2147         (__copy_backward): Rewrite as a class template and two
2148         specializations.
2149
2150 2004-06-30  Paolo Carlini  <pcarlini@suse.de>
2151
2152         * testsuite/25_algorithms/copy.cc: Move to...
2153         * testsuite/25_algorithms/copy/1.cc: ... here, extend.
2154         * testsuite/25_algorithms/copy/2.cc: New.
2155         * testsuite/25_algorithms/copy/3.cc: New.
2156         * testsuite/25_algorithms/copy/4.cc: New.
2157
2158 2004-06-29  Paul Brook  <paul@codesourcery.com>
2159
2160         * libsupc++/vec.cc (__cxa_vec_new2, __cxa_vec_new3): Store the
2161         element size in the cookie.
2162
2163 2004-06-28  Paolo Carlini  <pcarlini@suse.de>
2164
2165         * include/bits/cpp_type_traits.h: Move the additions to
2166         namespace __gnu_internal outside of namespace std; trivial
2167         formatting fixes.
2168
2169 2004-06-28  Benjamin Kosnik  <bkoz@redhat.com>
2170
2171         * include/debug/safe_base.h (__gnu_debug::_Safe_sequence_base):
2172         Revert -Weffc++ changes that defined copy ctory and or assignment
2173         operator.
2174         * libsupc++/tinfo.cc (__upcast_result): Same.
2175
2176 2004-06-28  Paolo Carlini  <pcarlini@suse.de>
2177
2178         * src/localename.cc (locale::_Impl::_Impl): Slightly improve
2179         the algorithm used to name the categories.
2180
2181 2004-06-28  Paolo Bonzini  <bonzini@gnu.org>
2182
2183         * include/Makefile.am: Give a .gch extension to
2184         the PCH files, not only to the directory.
2185         * include/Makefile.in: Regenerate.
2186
2187 2004-06-28  Paolo Carlini  <pcarlini@suse.de>
2188
2189         * config/locale/gnu/monetary_members.cc
2190         (moneypunct<wchar_t>::_M_initialize_moneypunct): Clean up
2191         assignments of _M_decimal_point and _M_thousands_sep.
2192
2193 2004-06-27  Paolo Carlini  <pcarlini@suse.de>
2194
2195         * docs/html/17_intro/contribute.html: Update some links.
2196         * docs/html/17_intro/porting-howto.html: Likewise.
2197         * docs/html/17_intro/porting-howto.xml: Likewise.
2198         * docs/html/18_support/howto.html: Likewise.
2199         * docs/html/21_strings/howto.html: Likewise.
2200         * docs/html/27_io/howto.html: Likewise.
2201         * docs/html/configopts.html: Likewise.
2202         * docs/html/ext/howto.html: Likewise.
2203         * docs/html/faq/index.html: Likewise.
2204         * docs/html/install.html: Don't mention 2.x compilers.
2205
2206 2004-06-27  Paolo Carlini  <pcarlini@suse.de>
2207
2208         * include/ext/rope: Trivial formatting fixes.
2209         * include/ext/ropeimpl.h: Likewise.
2210
2211 2004-06-26  Paolo Carlini  <pcarlini@suse.de>
2212
2213         PR libstdc++/16210
2214         * acinclude.m4 (GLIBCXX_ENABLE_LONG_LONG): Do not check for the
2215         availability of strto(u)ll, not used anymore in the iostreams.
2216         * configure: Regenerate.
2217
2218 2004-06-25  Benjamin Kosnik  <bkoz@redhat.com>
2219
2220         PR libstdc++/16182
2221         * linkage.m4 (GLIBCXX_CHECK_BUILTIN_MATH_DEC): Revert to
2222         AC_DEFINE_UNQUOTED.
2223         * configure: Regenerate.
2224
2225 2004-06-25  Paul Brook  <paul@codesourcery.com>
2226
2227         * libsupc++/cxxabi.h: Define __ARM_EABI__
2228         (__guard): Use it.
2229         * libsupc++/guard.h (__cxa_guard_acquire, __cxa_guard_release): Ditto.
2230
2231 2004-06-25  Paul Brook  <paul@codesourcery.com>
2232
2233         * include/bits/concurrence.h: Still create mutex object when
2234         single-threaded.
2235
2236 2004-06-25  Paolo Carlini  <pcarlini@suse.de>
2237
2238         * include/bits/stl_algobase.h (fill, fill_n): Revert last
2239         change: actually we need to copy construct an object of type
2240         _Tp, not of type iterator_traits<>::value_type, therefore the
2241         code is ok.
2242
2243 2004-06-25  Paolo Carlini  <pcarlini@suse.de>
2244
2245         * include/bits/stl_algobase.h (fill, fill_n): Tighten the
2246         dispatch: use iterator_traits<>::value_type, not _Tp.
2247
2248 2004-06-25  Paolo Carlini  <pcarlini@suse.de>
2249
2250         * testsuite/25_algorithms/fill/1.cc: Tweak instantiations.
2251         * testsuite/25_algorithms/fill/2.cc: Likewise.
2252
2253 2004-06-25  Dan Nicolaescu  <dann@ics.uci.edu>
2254             Paolo Carlini  <pcarlini@suse.de>
2255
2256         * include/bits/stl_algobase.h (__fill, __fill_n): New helpers
2257         for fill and fill_n, respectively: when copying is cheap, use a
2258         temporary to avoid a memory read in each iteration.
2259
2260 2004-06-25  Paolo Carlini  <pcarlini@suse.de>
2261
2262         * testsuite/25_algorithms/fill/1.cc: New.
2263         * testsuite/25_algorithms/fill/2.cc: Likewise.
2264
2265 2004-06-25  Benjamin Kosnik  <bkoz@redhat.com>
2266
2267         * include/debug/formatter.h (__gnu_debug::_Error_formatter):
2268         Remove copy constructor and assignment operator.
2269
2270 2004-06-24  Benjamin Kosnik  <bkoz@redhat.com>
2271
2272         * include/bits/concurrence.h (__gnu_cxx::lock): New.
2273         * include/ext/pool_allocator.h (__pool_base::_Lock::_S_lock): Remove.
2274         (__pool_base::_M_get_mutex): New.
2275         * include/bits/allocator.h: Tweak.
2276         * src/allocator.cc (__pool_base::_M_get_free_list): Correct offset.
2277         * config/linker-map.gnu: Remove __pool_base::_Lock::_S_lock.
2278         * include/bits/stl_threads.h: Remove.
2279         * include/Makefile.am: Also here.
2280         * include/Makefile.in: Regenerate.
2281
2282         * src/locale_init.cc: Use __gnu_cxx::lock.
2283
2284         * src/allocator.cc: Move all instantiations...
2285         * src/allocator-inst.cc: ...here.
2286
2287 2004-06-23  Andrew Pinski  <apinski@apple.com>
2288
2289         * linkage.m4: Remove check for libmx.
2290         * configure: Regenerate.
2291
2292 2004-06-23  Paolo Carlini  <pcarlini@suse.de>
2293
2294         PR libstdc++/16154
2295         * include/bits/boost_concept_check.h (struct _TrivialIteratorConcept):
2296         Don't require the _DefaultConstructibleConcept.
2297         (struct _ForwardIteratorConcept): Require it here.
2298
2299 2004-06-22  Alexandre Oliva  <aoliva@redhat.com>
2300
2301         * include/bits/istream.tcc (getline): Make sure arguments passed
2302         to min/max have the same type.
2303         * include/bits/locale_facets.tcc (__verify_grouping): Likewise.
2304         * include/bits/stl_deque.h (_Deque_base::_Deque_base): Likewise.
2305
2306 2004-06-22  Benjamin Kosnik  <bkoz@redhat.com>
2307
2308         * docs/html/abi.html: Update links.
2309
2310 2004-06-22  Paolo Carlini  <pcarlini@suse.de>
2311
2312         * testsuite/26_numerics/complex_inserters_extractors.cc,
2313         complex_value.cc, buggy_complex.cc: Move to...
2314         * testsuite/26_numerics/complex/: ... here.
2315         * testsuite/26_numerics/c99_classification_macros_c++.cc,
2316         c99_classification_macros_c.cc, c_math.cc, c_math_dynamic.cc,
2317         fabs_inline.cc: Move to...
2318         * testsuite/26_numerics/cmath/: ... here.
2319         * testsuite/26_numerics/binary_closure.cc, slice.cc,
2320         slice_array_assignment.cc, valarray.cc, valarray_const_bracket.cc,
2321         valarray_name_lookup.cc, valarray_operators.cc,
2322         valarray_subset_assignment.cc: Move to...
2323         * testsuite/26_numerics/valarray/: ... here (new dir).
2324         * testsuite/26_numerics/sum_diff.cc: Move to...
2325         * testsuite/26_numerics/numeric/: ... here (new dir).
2326
2327 2004-06-22  Paolo Carlini  <pcarlini@suse.de>
2328
2329         * include/std/std_istream.h (ignore(streamsize __n = 1,
2330         int_type __delim = traits_type::eof())): Split into...
2331         (ignore(), ignore(streamsize __n), ignore(streamsize __n,
2332         int_type __delim)): The first two can be much more simpler
2333         and efficient than the fully general case; also, the last
2334         two can take advantage of the same mechanism already used
2335         for getline.
2336         * include/bits/istream.tcc (ignore(streamsize __n = 1,
2337         int_type __delim = traits_type::eof()): Remove.
2338         (ignore(), ignore(streamsize __n), ignore(streamsize __n,
2339         int_type __delim)): New.
2340
2341 2004-06-21  Loren J. Rittle  <ljrittle@acm.org>
2342
2343         * config/linker-map.gnu: Use wildcards for
2344         __basic_file::sys_open(FILE*, _Ios_Openmode).
2345
2346 2004-06-20  Paolo Carlini  <pcarlini@suse.de>
2347
2348         * testsuite/27_io/basic_istream/ignore/char/3.cc: New.
2349
2350 2004-06-18  Paolo Carlini  <pcarlini@suse.de>
2351
2352         * include/ext/mt_allocator (__mt_alloc<>::_Tune): Add _M_align,
2353         the alignment requested.
2354         (__mt_alloc<>::_Tune::_Tune): Tweak consistently.
2355         (__mt_alloc<>::allocate): Use it instead of sizeof(_Block_record).
2356         (__mt_alloc<>::deallocate): Likewise.
2357
2358 2004-06-18  Paolo Carlini  <pcarlini@suse.de>
2359
2360         PR libstdc++/16020
2361         * include/debug/safe_base.h
2362         (_Safe_sequence_base::_Safe_sequence_base(const _Safe_sequence_base&),
2363         _Safe_sequence_base::operator=): Provide definitions.
2364         * testsuite/23_containers/bitset/cons/16020.cc: New.
2365
2366 2004-06-18  Benjamin Kosnik  <bkoz@redhat.com>
2367
2368         * include/ext/pool_allocator.h: Qualify __throw_bad_alloc.
2369         (__pool_base): Remove unused template parameter.  Add
2370         protected. Move lock data into __pool_base::_Lock. Remove static
2371         on member functions.
2372         (__pool_base::_M_get_free_list): New.
2373         (__pool_alloc): Move _S_force new here.
2374         * src/allocator.cc: Move out of line __pool_base definitions here.
2375         * config/linker-map.gnu: Export bits from __pool_base.
2376
2377 2004-06-18  Paolo Carlini  <pcarlini@suse.de>
2378
2379         * config/locale/gnu/numeric_members.cc
2380         (numpunct<wchar_t>::_M_initialize_numpunct): Clean up
2381         assignments of _M_decimal_point and _M_thousands_sep.
2382         * config/locale/gnu/time_members.cc
2383         (__timepunct<wchar_t>::_M_initialize_timepunct): Clean up
2384         and reformat assignments of date and time fields.
2385
2386 2004-06-16  Paolo Carlini  <pcarlini@suse.de>
2387
2388         * include/ext/rope (rope(_CharT, const allocator_type&)): Fix
2389         to use _Data_allocate.
2390         * include/ext/ropeimpl.h (rope<>::_S_leaf_concat_char_iter): Likewise.
2391         (rope<>::_S_substring): Likewise.
2392         (rope<>::rope(size_t, _CharT, const allocator_type&)): Likewise.
2393         (rope<>::c_str()): Likewise.
2394         (rope<>::replace_with_c_str()): Likewise.
2395
2396         * include/ext/ropeimpl.h (_Rope_iterator_base<>::_S_setbuf):
2397         Correctly qualify _S_leaf, _S_function, etc., with _Rope_constants::,
2398         not _RopeRep.
2399         (_Rope_iterator_base<>::_S_setcache): Likewise.
2400         (_Rope_iterator_base<>::_S_setcache_for_incr): Likewise.
2401         (rope<>::_S_substring): Likewise.
2402         (rope<>::_S_dump): Likewise.
2403         (rope<>::_S_fetch_ptr): Likewise.
2404         (rope<>::_S_compare): Likewise.
2405         (rope<>::replace_with_c_str()): Likewise.
2406
2407         * testsuite/ext/rope.cc: Rename to testsuite/ext/rope/1.cc.
2408         * testsuite/ext/rope/2.cc: New.
2409
2410 2004-06-16  Paolo Carlini  <pcarlini@suse.de>
2411             Matt Austern  <austern@apple.com>
2412
2413         * testsuite/ext/rope/3.cc: New.
2414
2415 2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
2416
2417         * acinclude.m4: Remove useless multilib configury.
2418         * Makefile.am: Remove useless multilib rules.
2419         * aclocal.m4: Regenerate.
2420         * Makefile.in: Regenerate.
2421         * configure: Regenerate.
2422
2423 2004-06-15  Paolo Carlini  <pcarlini@suse.de>
2424
2425         * include/ext/hashtable.h: Trivial formatting fixes.
2426         * include/ext/rb_tree: Likewise.
2427
2428 2004-06-14  Paolo Carlini  <pcarlini@suse.de>
2429
2430         * include/ext/hash_map: Trivial formatting fixes.
2431         * include/ext/hash_set: Likewise.
2432         * include/ext/memory: Likewise.
2433         * include/ext/numeric: Likewise.
2434
2435 2004-06-14  Benjamin Kosnik  <bkoz@redhat.com>
2436
2437         * Makefile.in: Regenerate with automake 1.8.5.
2438         * aclocal.m4: Same.
2439         * include/Makefile.in: Same.
2440         * libmath/Makefile.in: Same.
2441         * libsupc++/Makefile.in: Same.
2442         * po/Makefile.in: Same.
2443         * src/Makefile.in: Same.
2444         * testsuite/Makefile.in: Same.
2445
2446 2004-06-14  Paolo Carlini  <pcarlini@suse.de>
2447
2448         * include/ext/slist: Trivial formatting fixes.
2449
2450 2004-06-14  Paolo Carlini  <pcarlini@suse.de>
2451
2452         * include/bits/locale_facets.tcc (time_get<>::_M_extract_name):
2453         Don't use the 'magic number' 10 in the computation of __minlen;
2454         never access __name past __minlen; in the loop over __i3, don't
2455         decrease __nmatches and increase __i3 at once, only either of
2456         the two; tidy.
2457
2458 2004-06-13  Paolo Carlini  <pcarlini@suse.de>
2459
2460         * include/bits/locale_facets.tcc (time_get<>::do_get_time,
2461         time_get<>::do_get_date): Use only once _M_extract_via_format,
2462         instead of going through "%X"/"%x" and calling it two times
2463         (+ using widen).
2464
2465 2004-06-12  Paolo Carlini  <pcarlini@suse.de>
2466
2467         * include/ext/algorithm: Trivial formatting fixes.
2468         * include/ext/functional: Likewise.
2469         * include/ext/hash_fun.h: Likewise.
2470         * include/ext/iterator: Likewise.
2471
2472 2004-06-12  Paolo Carlini  <pcarlini@suse.de>
2473
2474         * include/bits/basic_string.tcc (find(const _CharT*, size_type,
2475         size_type)): Reimplement using std::search.
2476         * src/string-inst.cc: Instantiate std::search for char/wchar_t.
2477
2478 2004-06-12  Dhruv Matani  <dhruvbird@gmx.net>
2479
2480         * testsuite/performance/21_strings/string_find.cc: New.
2481
2482 2004-06-10  Aaron W. LaFramboise  <aaronraolete36@aaronwl.com>
2483
2484         * include/bits/istream.tcc (istream::ignore): Fix for -Wuninitialized.
2485
2486 2004-06-10  Jan van Dijk  <jan@etpmod.phys.tue.nl>
2487
2488         * include/std/std_complex.h (sin(const complex<_Tp>& __z)): Make
2489         this function return a value.
2490
2491 2004-06-09  Paolo Carlini  <pcarlini@suse.de>
2492
2493         PR libstdc++/15775
2494         * include/bits/stl_deque.h: Consistently with stl_set.h, define
2495         pointer as allocator's pointer, likewise for reference,
2496         const_pointer, and const_reference.
2497         * include/bits/stl_list.h: Likewise.
2498         * include/bits/stl_map.h: Likewise.
2499         * include/bits/stl_multimap.h: Likewise.
2500         * include/bits/stl_vector.h: Likewise.
2501
2502 2004-06-09  Benjamin Kosnik  <bkoz@redhat.com>
2503
2504         * crossconfig.m4: Remove signbit, signbitf, signbitl.
2505         * linkage.m4: Comment LIBMATHOBJS, tweak others.  AC_DEFINES for
2506         builtin math functions instead of AC_DEFINE_UNQUOTED.
2507         * configure: Regenerate.
2508
2509 2004-06-08  Benjamin Kosnik  <bkoz@redhat.com>
2510
2511         * docs/doxygen/filter.sed: Rename _GLIBCXX_STD to std.
2512         * docs/doxygen/mainpage.html: Remove links.
2513
2514 2004-06-08  Jason Merrill  <jason@redhat.com>
2515
2516         * config/linker-map.gnu: Use wildcards for
2517         __basic_file::{xsgetn,xsputn,seekoff,xsputn_2}.
2518
2519 2004-06-08  Paolo Carlini  <pcarlini@suse.de>
2520
2521         * include/ext/pool_allocator.h: Convert to a global free-list,
2522         as per the original SGI/HP design: move the implementation
2523         details to struct __pool_base, from which __pool_alloc derives.
2524         * src/allocator.cc: Instantiate __pool_base.
2525
2526 2004-06-07  Dhruv Matani  <dhruvbird@gmx.net>
2527             Paolo Carlini  <pcarlini@suse.de>
2528
2529         * testsuite/testsuite_performance.h
2530         (resource_counter::allocated_memory): Make it return the right
2531         number of bytes requested by the allocators/application. This is
2532         the sbrk+mmaped memory.
2533
2534 2004-06-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2535
2536         * include/std/std_complex.h (log): Tidy.
2537
2538 2004-05-31  Benjamin Kosnik  <bkoz@redhat.com>
2539
2540         * config/linker-map.gnu (GLIBCXX_3.4.1): Add.
2541         * testsuite/testsuite_abi.cc: Same.
2542         * configure.ac (libtool_VERSION): Bump to 6:1:0.
2543         * configure: Regenerate.
2544         * aclocal.m4: Regenerate.
2545
2546 2004-05-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2547
2548         * include/std/std_complex.h (complex<_Tp>): Properly indent
2549         to follow C++STYLE.
2550         (complex<>::__rep): New.
2551         (__complex_abs): New.  Dispatch to built-ins.
2552         (abs): Use them.
2553         (__complex_arg): New. Dispatch to built-ins.
2554         (arg): Use it.
2555         (__complex_cos): New. Dispatch to built-ins.
2556         (cos): Use it.
2557         (__complex_cosh): New. Dispatch to built-ins.
2558         (cosh): Use it.
2559         (__complex_exp): New. Dispatch to built-ins.
2560         (exp): Use it.
2561         (__complex_log): New. Dispatch to built-ins.
2562         (log): Use it.
2563         (__complex_sin): New. Dispatch to built-ins.
2564         (sin): Use it.
2565         (__complex_sinh): New. Dispatch to built-ins.
2566         (sinh): Use it.
2567         (__complex_sqrt): New. Dispatch to built-ins.
2568         (sqrt): Use it.
2569         (__complex_tan): New. Dispatch to built-ins.
2570         (tan): Use it.
2571         (__complex_tanh): New. Dispatch to built-ins.
2572         (tanh): Use it.
2573         (__complex_pow): New. Dispatch to built-ins.
2574         (pow): Use it.
2575
2576 2004-05-29  Richard B. Kreckel  <Richard.Kreckel@Framatome-ANP.com>
2577             Benjamin Kosnik  <bkoz@redhat.com>
2578
2579         PR libstdc++/14600
2580         * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): New.
2581         * include/ext/stdio_filebuf.h (stdio_filebuf::file): New.
2582         * config/io/basic_file_stdio.cc (__basic_file::file): New.
2583         * config/io/basic_file_stdio.h: Define.
2584
2585 2004-05-27  Benjamin Kosnik  <bkoz@redhat.com>
2586
2587         PR libstdc++/15675
2588         * docs/html/documentation.html: Update doxygen links for 3.4.0.
2589
2590 2004-05-27  Jan Beulich  <jbeulich@novell.com>
2591
2592         * scripts/create_testsuite_files: Tweak.
2593
2594 2004-05-25  Benjamin Kosnik  <bkoz@redhat.com>
2595
2596         PR libstdc++/15489
2597         * scripts/create_testsuite_files: Revert xtype change, add non-GNU
2598         bits to do the same thing.
2599
2600 2004-05-24  Paolo Carlini  <pcarlini@suse.de>
2601
2602         * include/bits/istream.tcc (ignore): Correctly deal with
2603         n == numeric_limits<streamsize>::max().
2604         * testsuite/27_io/basic_istream/ignore/char/2.cc: New.
2605
2606         * include/bits/istream.tcc (basic_istream<>::getline): Prefer
2607         '_M_gcount + 1 < __n' to '--__n; _M_gcount < __n', just in case
2608         __n == numeric_limits<>::min().
2609
2610         * include/bits/istream.tcc: Minor tweaks.
2611
2612         * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
2613         Tighten.
2614         * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
2615         Likewise.
2616         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
2617         Likewise.
2618         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
2619         Likewise.
2620         * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
2621
2622 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
2623
2624         PR libstdc++/12854
2625         Fixups for -Weffc++.
2626         * include/bits/basic_string.h (basic_string::operator=): Return
2627         pointer to this instead of result of assign. Although redundant,
2628         this doesn't impact resultant codegen.
2629
2630         * include/bits/locale_facets.h (__numpunct_cache): Declare
2631         assignment opxserator and copy constructor private.
2632         (__timepunct_cache): Same.
2633         (__moneypunct_cache): Same.
2634         (collate): Use member initialization list for _M_c_locale_collate.
2635         * config/locale/gnu/messages_members.h: Same.
2636         * config/locale/gnu/time_members.h (__timepunct): Same.
2637         * src/codecvt.cc: Use member initialization list to initialize
2638         _M_c_locale_codecvt.
2639         * src/ctype.cc: Same, with _M_c_locale_ctype and _M_narrow_ok.
2640         * config/os/gnu-linux/ctype_noninline.h: Same.
2641         * src/locale.cc (_Impl): Same.
2642         * src/locale_init.cc: Same.
2643         * src/localename.cc: Same.
2644
2645         * include/bits/basic_ios.h (basic_ios): Complete member
2646         initialization list.
2647         * include/bits/istream.tcc (basic_istream::sentry): Same.
2648         * include/bits/ostream.tcc (basic_ostream::sentry): Same.
2649         * include/bits/fstream.tcc (basic_filebuf): Add _M_lock and
2650         _M_pback to member initialization list.
2651         * include/std/std_streambuf.h: Same.
2652         * include/std/std_sstream.h: Same, for _M_mode.
2653         * src/ios.cc (ios_base): Same.
2654
2655         * include/ext/rope: Make derived classes match exception
2656
2657          specifications. Add copy constructors and assignment operators.
2658
2659         * include/debug/safe_base.h (_Safe_sequence_base): Declare copy
2660         constructor and assignment operator protected.
2661         (_Safe_iterator_base): Same.
2662         * include/debug/formatter.h (_Error_formatter): Define copy
2663         constructor and assignment operator.
2664
2665         * include/backward/strstream: Declare assignment operator and copy
2666         constructor private.
2667
2668 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
2669
2670         * testsuite/testsuite_hooks.h (func_callback): Declare copy
2671         constructor and assignment operator private.
2672         * testsuite/23_containers/deque/cons/clear_allocator.cc: Match
2673         exception specifications of base class.
2674         * testsuite/23_containers/list/cons/clear_allocator.cc: Same.
2675         * testsuite/23_containers/vector/cons/clear_allocator.cc: Same.
2676         * testsuite/23_containers/vector/bool/clear_allocator.cc: New.
2677
2678 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
2679
2680         * libsupc++/cxxabi.h: Remove duplicated and useless public and
2681         private keywords in class declarations. Format. Use
2682         stddef.h. Expose declarations to "C" compilation.
2683         * libsupc++/tinfo.cc (__upcast_result): Add copy constructor and
2684         assignment operator.
2685         (__dyncast_result): Same.
2686         * libsupc++/vec.cc (uncatch_exception): Same, use member
2687         initialization list.
2688
2689 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
2690
2691         * testsuite/abi_check.cc: Add unistd.h.
2692
2693 2004-05-22  Paolo Carlini  <pcarlini@suse.de>
2694
2695         PR libstdc++/15565
2696         * include/bits/locale_facets.tcc (__int_to_char(unsigned long),
2697         __int_to_char(unsigned long long)): Showpos is not relevant
2698         for unsigned types.
2699         * testsuite/22_locale/num_put/put/char/15565.cc: New.
2700         * testsuite/22_locale/num_put/put/wchar_t/15565.cc: New.
2701
2702         * testsuite/22_locale/num_put/put/wchar_t/1.cc: Use L for the fill
2703         char.
2704         * testsuite/22_locale/num_put/put/wchar_t/2.cc: Likewise.
2705         * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
2706         * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
2707         * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
2708         * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
2709         * testsuite/22_locale/num_put/put/wchar_t/8.cc: Likewise.
2710
2711 2004-05-21  Matthias Klose  <doko@debian.org>
2712
2713         * docs/doxygen/run_doxygen:  Bump required version.
2714
2715 2004-05-21  Benjamin Kosnik  <bkoz@redhat.com>
2716
2717         * docs/html/abi.html (libgcc_s): Additions suggested by Matthias Klose.
2718         * docs/doxygen/Intro.3: Subtractions suggested by Phil Edwards.
2719
2720 2004-05-21  Paolo Carlini  <pcarlini@suse.de>
2721
2722         * include/bits/istream.tcc (ignore): Remove redundant line.
2723         (readsome): Tidy, closely following 27.6.1.3, p30.
2724
2725 2004-05-20  Paolo Carlini  <pcarlini@suse.de>
2726
2727         * include/bits/istream.tcc (operator>>(basic_istream<>&,
2728         basic_string<>&)): Use a temporary buffer, thus avoiding
2729         reallocation for common case.
2730         * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
2731         New.
2732         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
2733         Likewise.
2734
2735         * include/bits/istream.tcc: Const-ification of a few variables.
2736
2737         * include/bits/ostream.tcc: Trivial formatting fixes and
2738         const-ification of some variables.
2739
2740 2004-05-20  Benjamin Kosnik  <bkoz@redhat.com>
2741
2742         PR libstdc++/15123
2743         PR libstdc++/13928
2744         * docs/doxygen/Intro.3: Remove Allocators.3.
2745         Add new extension headers, extension namespace list.
2746         * docs/doxygen/run_doxygen (problematic): Remove Allocators.3
2747         Rename GLIBCXXSTD names to std::. Rename __gnu_debug to
2748         __gnu_debug::. Remove __policy_ renames.
2749         * docs/doxygen/guide.html: Add dot note.
2750         * docs/doxygen/stdheader.cc: Edit, add files.
2751         * docs/doxygen/user.cfg.in: Regenerate with Doxygen 1.3.7.
2752
2753 2004-05-18  Jonathan Wakely  <redi@gcc.gnu.org>
2754
2755         * include/ext/stdio_filebuf.h: Update comments to reflect PR 11691.
2756
2757 2004-05-18  Jan Beulich  <jbeulich@novell.com>
2758
2759         PR libstdc++/15489
2760         * scripts/create_testsuite_files: Also find source files through
2761         symbolic links.
2762
2763 2004-05-18  Jan Beulich  <jbeulich@novell.com>
2764
2765         PR libstdc++/15488
2766         * testsuite/lib/libstdc++.exp: Make test files writable.
2767
2768 2004-05-18  Paolo Carlini  <pcarlini@suse.de>
2769
2770         * include/ext/mt_allocator.h:(__mt_alloc::allocate): Minor
2771         tweaks.
2772
2773 2004-05-18  Dhruv Matani  <dhruvbird@gmx.net>
2774
2775         * include/ext/mt_allocator.h:(__mt_alloc::allocate): Re-write
2776         allocation loop which removes blocks from the global free list
2777         from O(N) to O(1) when the required blocks are <= the number
2778         available.
2779
2780 2004-05-18  Jonathan Wakely  <redi@gcc.gnu.org>
2781
2782         * include/ext/enc_filebuf.h: Move concept-check macro to class scope.
2783
2784 2004-05-17  Benjamin Kosnik  <bkoz@redhat.com>
2785
2786         * testsuite/testsuite_hooks.h (__gnu_test::conversion): New class.
2787         * testsuite/23_containers/deque/14340.cc: New.
2788         * testsuite/23_containers/list/14340.cc: New.
2789         * testsuite/23_containers/map/14340.cc: New.
2790         * testsuite/23_containers/multimap/14340.cc: New.
2791         * testsuite/23_containers/multiset/14340.cc: New.
2792         * testsuite/23_containers/set/14340.cc: New.
2793         * testsuite/23_containers/vector/14340.cc: New.
2794
2795 2004-05-17  Douglas Gregor   <gregod@cs.rpi.edu>
2796
2797         PR libstdc++/14340
2798         * include/debug/safe_iterator.h (_Safe_iterator converting
2799         constructor): Only allow declaration to instantiate when the
2800         incoming _Safe_iterator has exactly the right iterator type.
2801
2802 2004-05-17  Jonathan Wakely  <redi@gcc.gnu.org>
2803
2804         * include/bits/boost_concept_check.h: Fix old attribute syntax.
2805         * testsuite/23_containers/map/modifiers/swap.cc: Define operator<
2806         to pass concept-checks.
2807         * testsuite/23_containers/multimap/modifiers/swap.cc: Same.
2808         * testsuite/23_containers/set/modifiers/swap.cc: Same.
2809         * testsuite/23_containers/multiset/modifiers/swap.cc: Same.
2810
2811 2004-05-16  Paolo Carlini  <pcarlini@suse.de>
2812
2813         * include/std/std_bitset.h: Minor formatting fixes.
2814
2815 2004-05-16  Paolo Carlini  <pcarlini@suse.de>
2816
2817         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
2818         Consistently update __bin._M_free[0].
2819         (__mt_alloc<>::allocate): When __bin._M_first[0] != NULL use
2820         __bin._M_free[0] to simplify the while loop (i.e., the number
2821         of iterations becomes known at the outset).
2822
2823 2004-05-15  Paolo Carlini  <pcarlini@suse.de>
2824
2825         * include/std/std_bitset.h: Trivial formatting fixes.
2826
2827 2004-05-14  Paolo Carlini  <pcarlini@suse.de>
2828             Ivan Godard  <igodard@pacbell.net>
2829
2830         PR libstdc++/15361
2831         * include/std/std_bitset.h (_Base_bitset<_Nw>::_M_do_find_next): Fix.
2832         * testsuite/23_containers/bitset/ext/15361.cc: New.
2833
2834 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
2835
2836         PR libstdc++/15046
2837         * crossconfig.m4: Add C99 math bits for linux crosses.
2838         * configure: Regenerate.
2839
2840 2004-05-13  Simon Marshall <simon.marshall@misys.com>
2841             Benjamin Kosnik  <bkoz@redhat.com>
2842
2843         PR libstdc++/15090
2844         * include/bits/locale_facets.h: Fix for -fno-for-scope.
2845         * include/debug/safe_sequence.h: Same.
2846         * include/debug/safe_iterator.tcc: Same.
2847         * src/debug.cc: Same.
2848         * src/locale.cc: Same.
2849         * src/locale_init.cc: Same.
2850         * src/localename.cc: Same.
2851         * config/locale/gnu/ctype_members.cc: Same.
2852         * config/locale/gnu/numeric_members.cc: Same.
2853         * testsuite/testsuite_abi.cc: Same.
2854         * testsuite/testsuite_hooks.cc: Same.
2855
2856 2004-05-13  Jonathan Wakely  <redi@gcc.gnu.org>
2857
2858         * docs/html/abi.html: Document effect of -fabi-version on value
2859         of __GXX_ABI_VERSION, and that it's defined in c-cppbuiltin.c.
2860         Fix markup.
2861
2862 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
2863
2864         PR libstdc++/15074
2865         * docs/html/faq/index.html: Update docs for libsupc++ usage.
2866
2867 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
2868
2869         PR libstdc++/15412
2870         * include/bits/stl_threads.h (_GLIBCXX_mutex): Move to namespace
2871         __gnu_internal.
2872         (_GLIBCXX_mutex_address): Same.
2873         (_GLIBCXX_once): Same.
2874         (_GLIBCXX_mutex_init): Same.
2875         (_GLIBCXX_mutex_address_init): Same.
2876
2877 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
2878
2879         * docs/html/abi.html: New.
2880         * docs/html/abi.txt: Remove.
2881         * docs/html/documentation.html: Add link.
2882         * testsuite/Makefile.am: Add files.
2883         * testsuite/Makefile.in: Regenerated.
2884         * testsuite/abi_check.cc: Move and modify code into...
2885         * testsuite/testsuite_abi.cc: Add.
2886         * testsuite/testsuite_abi.h: Add.
2887
2888         * docs/html/17_intro/TODO: Update.
2889         * include/bits/stl_pair.h: Format.
2890
2891 2004-05-06  Matthias Klose  <doko@debian.org>
2892
2893         * include/backward/iterator.h:  Add GPL copyright info,
2894         with exception clause.
2895         * include/bits/boost_concept_check.h: Likewise.
2896         * include
2897         * libsupc++/tinfo.h: Likewise.
2898         * po/string_literals.cc: Likewise.
2899
2900 2004-05-03  Andreas Tobler  <a.tobler@schweiz.ch>
2901
2902         * acinclude.m4: Replace -W with more speaking -Wextra.
2903         * configure: Rebuilt.
2904
2905 2004-05-03  Paolo Carlini  <pcarlini@suse.de>
2906
2907         Optimize locale::_M_impl->_M_names for the most common cases:
2908         !_M_names[0] means unnamed; !_M_names[1] means all the categories
2909         the same name (_M_names[0] && _M_names[1] means that the full set
2910         of _M_names must be processed, the general case).
2911         * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name):
2912         Tweak, saving work when !_M_names[1].
2913         (locale::locale(const locale&, _Facet*): Simplify: now just setting
2914         _M_names[0] = 0 means unnamed.
2915         * src/locale.cc (locale::operator==): Deal first with the common,
2916         easy cases, otherwise fall back to locale::name().
2917         (locale::name()): Tweak, if !_M_names[0] just return "*".
2918         (locale::_Impl::_Impl(const _Impl&, size_t): Tweak, early stop
2919         copying __imp._M_names if !__imp._M_names[0] or !__imp._M_names[1].
2920         * src/locale_init.cc (locale::_Impl::_Impl(size_t)): Tweak.
2921         * src/localename.cc (locale::_Impl::_Impl(const char*, size_t):
2922         Simplify when !std::strchr, just updating _M_names[0]; clean up.
2923         (locale::_Impl::_M_replace_categories): When !_M_names[1] prepare
2924         for the general case (full set of names), then do the usual work;
2925         clean up.
2926
2927         * src/locale.cc (locale::name()): Reserve space in __ret.
2928         * src/locale_init.cc (locale::global(const locale&)): Save
2929         the name in a temporary.
2930         * src/localename.cc (locale::locale(const char*)): Reserve space
2931         in __str.
2932
2933 2004-04-29  Paolo Carlini  <pcarlini@suse.de>
2934
2935         * src/locale.cc (locale::operator==): Always avoid constructing
2936         locale::name(), directly compare pairs of _M_names.
2937
2938 2004-04-26  Paolo Carlini  <pcarlini@suse.de>
2939
2940         * include/bits/istream.tcc: Fix comment.
2941
2942 2004-04-26  Paolo Carlini  <pcarlini@suse.de>
2943
2944         * include/bits/stl_vector.h: Trivial formatting fixes.
2945         * include/bits/vector.tcc: Likewise.
2946
2947 2004-04-25  Paolo Carlini  <pcarlini@suse.de>
2948
2949         PR libstdc++/15002 (continued again)
2950         * include/bits/istream.tcc (getline(basic_istream<>&,
2951         basic_string<>&, _CharT)): Use a temporary buffer, thus
2952         avoiding reallocation for common case.
2953
2954         * include/bits/basic_string.tcc (_S_construct(_InIterator,
2955         _InIterator, const _Alloc&, input_iterator_tag)): Tweak size
2956         of temporary buffer to a power of two.
2957
2958         * testsuite/27_io/basic_istream/getline/char/4.cc: Add comment.
2959
2960 2004-04-25  Paolo Carlini  <pcarlini@suse.de>
2961
2962         * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
2963         New.
2964         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
2965         Likewise.
2966         * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
2967
2968 2004-04-24  Paolo Carlini  <pcarlini@suse.de>
2969             Petur Runolfsson  <peturr02@ru.is>
2970
2971         PR libstdc++/15002 (continued)
2972         * include/bits/istream.tcc (basic_istream<>::getline(char_type*,
2973         streamsize, char_type)): Use traits::find/copy in a loop to speed
2974         up greatly the function in the common case (I/O buffer size >> 1).
2975
2976 2004-04-24  Paolo Carlini  <pcarlini@suse.de>
2977
2978         * testsuite/27_io/basic_istream/getline/char/4.cc: New.
2979
2980         * include/bits/istream.tcc (getline(basic_istream<>&,
2981         basic_string<>&, _CharT)): Change to use sgetc()/snextc() instead
2982         of sbumpc(), consistently with the other functions, thus also
2983         dealing correctly with the case of exceeded string::max_size().
2984
2985 2004-04-24  Matthias Klose  <doko@debian.org>
2986
2987         Jonathan Wakely  <cow@compsoc.man.ac.uk>
2988         * docs/html/configopts.html: Fix reference to allocator config option.
2989
2990 2004-04-23  Andrew Pinski  <pinskia@physics.uc.edu>
2991
2992         * linkage.m4 (GLIBCXX_CHECK_MATH_SUPPORT): Check for libmx also.
2993         * configure: Regenerate.
2994
2995 2004-04-23  Daniel Jacobowitz  <drow@mvista.com>
2996
2997         PR libstdc++/15047, libstdc++/11610
2998         * testsuite/lib/libstdc++.exp (v3-copy-files): Use remote_download.
2999         (libstdc++_init): Don't pass outdir to v3-copy-files.
3000
3001 2004-04-21  Paolo Carlini  <pcarlini@suse.de>
3002
3003         * include/bits/deque.tcc: Trivial formatting fixes.
3004         * include/bits/stl_deque.h: Likewise.
3005         * include/bits/stl_list.h: Likewise.
3006         * include/bits/stl_tree.h: Likewise.
3007
3008 2004-04-21  Paolo Carlini  <pcarlini@suse.de>
3009             Andrew Pinski  <pinskia@physics.uc.edu>
3010
3011         * include/bits/basic_string.tcc (_M_mutate): Don't compute
3012         __src unnecessarily.
3013
3014 2004-04-19  Benjamin Kosnik  <bkoz@redhat.com>
3015
3016         * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
3017         Clarify assertion, set test variable to false before assert.
3018         * testsuite/27_io/basic_istringstream/str/char/1.cc: Same.
3019         * testsuite/27_io/basic_stringstream/str/char/1.cc: Same.
3020         * testsuite/27_io/ios_base/storage/2.cc: Same.
3021
3022         * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Fix
3023         function returns.
3024         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Same.
3025         * testsuite/27_io/fpos/14320-3.cc: Same.
3026
3027         * testsuite/27_io/basic_filebuf/2.cc: Instantiate in namespace std.
3028         * testsuite/27_io/fpos/1.cc: Same.
3029         * testsuite/27_io/basic_stringstream/2.cc: Same.
3030         * testsuite/27_io/basic_stringbuf/4.cc: Same.
3031         * testsuite/27_io/basic_stringbuf/1.cc: Same.
3032         * testsuite/27_io/basic_stringbuf/2.cc: Same.
3033         * testsuite/27_io/basic_streambuf/2.cc: Same.
3034         * testsuite/27_io/basic_ostringstream/2.cc: Same.
3035         * testsuite/27_io/basic_ostream/2.cc: Same.
3036         * testsuite/27_io/basic_ofstream/2.cc: Same.
3037         * testsuite/27_io/basic_istringstream/2.cc: Same.
3038         * testsuite/27_io/basic_istream/2.cc: Same.
3039         * testsuite/27_io/basic_iostream/2.cc: Same.
3040         * testsuite/27_io/basic_ios/2.cc: Same.
3041         * testsuite/27_io/basic_ifstream/2.cc: Same.
3042         * testsuite/27_io/basic_fstream/2.cc: Same.
3043         * testsuite/ext/stdio_filebuf/char/1.cc: Same, in namespace __gnu_cxx.
3044
3045         * testsuite/21_strings/basic_string/capacity/1.cc: Don't compare
3046         unsigned against zero.
3047         * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Same.
3048         * testsuite/21_strings/basic_string/capacity/char/1.cc: Same.
3049
3050         * testsuite/18_support/new_delete_placement.cc: Initialize
3051         variables before first use.
3052         * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Same.
3053         * testsuite/21_strings/char_traits/requirements/char/1.cc: Same.
3054         * testsuite/21_strings/char_traits/requirements/short/1.cc: Same.
3055         * testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc:
3056         Same.
3057         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_badbit_throw.cc: Same.
3058         * testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc:
3059         Same.
3060         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_failbit_throw.cc: Same.
3061         * testsuite/27_io/types/2.cc: Same.
3062
3063         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Fix temporary
3064         file name.
3065         * testsuite/27_io/fpos/14775.cc: Same.
3066
3067 2004-04-19  Paolo Carlini  <pcarlini@suse.de>
3068
3069         PR libstdc++/15002 (partial)
3070         * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
3071         Special case __n2 == 1, not calling traits_type::assign/copy.
3072
3073 2004-04-17  Benjamin Kosnik  <bkoz@redhat.com>
3074
3075         * include/bits/stl_bvector.h: Use _M_impl._M_start.
3076
3077 2004-04-16  Benjamin Kosnik  <bkoz@redhat.com>
3078
3079         * include/bits/c++config (_GLIBCXX_STD): New.
3080         * src/list.cc: Use it.
3081         * include/std/std_bitset.h: Same.
3082         * include/bits/vector.tcc: Same.
3083         * include/bits/stl_set.h: Same.
3084         * include/bits/stl_multiset.h: Same.
3085         * include/bits/stl_multimap.h: Same.
3086         * include/bits/stl_map.h: Same.
3087         * include/bits/stl_list.h: Same.
3088         * include/bits/stl_vector.h: Same.
3089         * include/bits/stl_bvector.h: Same.
3090         * include/bits/stl_deque.h: Same.
3091         * include/bits/deque.tcc: Same.
3092         * include/bits/list.tcc: Same.
3093         * include/debug/vector: Same.
3094         * include/debug/set.h: Same.
3095         * include/debug/multiset.h: Same.
3096         * include/debug/multimap.h: Same.
3097         * include/debug/map.h: Same.
3098         * include/debug/list: Same.
3099         * include/debug/deque: Same.
3100         * include/debug/bitset: Same.
3101         * include/debug/formatter.h (__gnu_debug): Remove using directive.
3102         Add using declaration for std::type_info.
3103         * include/debug/safe_iterator.h: Add using declaration for
3104         std::iterator_traits and std::pair.
3105         * src/debug_list.cc: New.
3106         * src/Makefile.am: Add debug_list.cc.
3107         * src/Makefile.in: Regenerate.
3108         * config/linker-map.gnu: Add _List_node_base exports for std and
3109         __gnu_norm.
3110
3111         * include/bits/stl_bvector.h (_Bvector_base): Use _Bvector_impl
3112         idiom that other containers use.
3113         * testsuite/23_containers/vector/bool/clear_allocator.cc: New.
3114
3115 2004-04-16  Paolo Carlini  <pcarlini@suse.de>
3116
3117         PR libstdc++/14975
3118         * include/bits/fstream.tcc (basic_filebuf::imbue): Zero _M_codecvt
3119         in case of error.
3120         * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: New.
3121         * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: New.
3122
3123 2004-04-16  Paolo Carlini  <pcarlini@suse.de>
3124
3125         * acconfig.h: Remove _GLIBCXX_USE_LONG_DOUBLE entry, not
3126         used anymore.
3127         * config.h.in: Regenerate.
3128
3129 2004-04-16  Paolo Carlini  <pcarlini@suse.de>
3130
3131         * config/locale/generic/monetary_members.cc
3132         (moneypunct<wchar_t>::_M_initialize_moneypunct): Avoid calling
3133         btowc unnecessarily, just cast to wchar_t (the concerned chars
3134         all belong to the basic character set).
3135         * config/locale/generic/numeric_members.cc
3136         (numpunct<wchar_t>::_M_initialize_numpunct): Likewise.
3137         * config/locale/gnu/monetary_members.cc
3138         (moneypunct<wchar_t>::_M_initialize_moneypunct): Likewise.
3139         * config/locale/gnu/numeric_members.cc
3140         (numpunct<wchar_t>::_M_initialize_numpunct): Likewise.
3141
3142 2004-04-15  Paolo Carlini  <pcarlini@suse.de>
3143
3144         * src/locale.cc (locale::operator==): When _M_impl == __rhs._M_impl
3145         avoid constructing unnecessarily this->name().
3146
3147 2004-04-14  Zack Weinberg  <zack@codesourcery.com>
3148
3149         * testsuite/Makefile.am: Add definition of AM_CXXFLAGS.
3150         Change definition of CXX to use $(shell) instead of backticks.
3151         * testsuite/Makefile.in: Regenerate.
3152
3153 2004-04-12  Dhruv Matani  <dhruvbird@gmx.net>
3154
3155         * testsuite/performance/20_util/allocator/list_sort_search.cc:
3156         Minor formatting fixes.
3157         * testsuite/performance/20_util/allocator/map_mt_find.cc:
3158         Likewise.
3159
3160 2004-04-12  Paolo Carlini <pcarlini@suse.de>
3161
3162         * config/locale/gnu/numeric_members.cc
3163         (numpunct<wchar_t>::_M_initialize_numpunct): No need to wrap
3164         in __uselocale, since btowc is called for chars belonging to
3165         the basic character set.
3166
3167 2004-04-09  Paolo Carlini  <pcarlini@suse.de>
3168
3169         * testsuite/22_locale/messages/members/char/1.cc: Remove junk.
3170         * testsuite/22_locale/messages/members/char/2.cc: Ditto.
3171         * testsuite/22_locale/messages/members/char/3.cc: Ditto.
3172         * testsuite/22_locale/num_get/get/char/1.cc: Ditto.
3173         * testsuite/22_locale/num_get/get/char/2.cc: Ditto.
3174         * testsuite/22_locale/num_get/get/char/3.cc: Ditto.
3175         * testsuite/22_locale/num_get/get/wchar_t/1.cc: Ditto.
3176         * testsuite/22_locale/num_get/get/wchar_t/2.cc: Ditto.
3177         * testsuite/22_locale/num_get/get/wchar_t/3.cc: Ditto.
3178         * testsuite/22_locale/num_put/put/char/1.cc: Ditto.
3179         * testsuite/22_locale/num_put/put/char/2.cc: Ditto.
3180         * testsuite/22_locale/num_put/put/char/3.cc: Ditto.
3181         * testsuite/22_locale/num_put/put/wchar_t/1.cc: Ditto.
3182         * testsuite/22_locale/num_put/put/wchar_t/2.cc: Ditto.
3183         * testsuite/22_locale/num_put/put/wchar_t/3.cc: Ditto.
3184         * testsuite/22_locale/numpunct/members/char/1.cc: Ditto.
3185         * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Ditto.
3186
3187 2004-04-07  Paolo Carlini  <pcarlini@suse.de>
3188
3189         * config/locale/generic/time_members.cc
3190         (__timepunct<char>::_M_initialize_timepunct,
3191         __timepunct<wchar_t>::_M_initialize_timepunct): the correct
3192         _M_amonth07 in the "C" locale is "Jul" and L"Jul", respectively.
3193         * config/locale/gnu/time_members.cc
3194         (__timepunct<char>::_M_initialize_timepunct,
3195         __timepunct<wchar_t>::_M_initialize_timepunct): Ditto.
3196         * testsuite/22_locale/time_get/get_monthname/char/4.cc: New.
3197         * testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc: New.
3198
3199         * testsuite/22_locale/time_get/date_order/char/1.cc: Remove junk.
3200         * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Ditto.
3201         * testsuite/22_locale/time_get/get_date/char/1.cc: Ditto.
3202         * testsuite/22_locale/time_get/get_date/char/2.cc: Ditto.
3203         * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Ditto.
3204         * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Ditto.
3205         * testsuite/22_locale/time_get/get_monthname/char/1.cc: Ditto.
3206         * testsuite/22_locale/time_get/get_monthname/char/2.cc: Ditto.
3207         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Ditto.
3208         * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Ditto.
3209         * testsuite/22_locale/time_get/get_time/char/1.cc: Ditto.
3210         * testsuite/22_locale/time_get/get_time/char/2.cc: Ditto.
3211         * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Ditto.
3212         * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Ditto.
3213         * testsuite/22_locale/time_get/get_weekday/char/1.cc: Ditto.
3214         * testsuite/22_locale/time_get/get_weekday/char/2.cc: Ditto.
3215         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Ditto.
3216         * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Ditto.
3217         * testsuite/22_locale/time_get/get_year/char/1.cc: Ditto.
3218         * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Ditto.
3219         * testsuite/22_locale/time_put/put/char/1.cc: Ditto.
3220         * testsuite/22_locale/time_put/put/char/2.cc: Ditto.
3221         * testsuite/22_locale/time_put/put/char/3.cc: Ditto.
3222         * testsuite/22_locale/time_put/put/char/4.cc: Ditto.
3223         * testsuite/22_locale/time_put/put/char/5.cc: Ditto.
3224         * testsuite/22_locale/time_put/put/char/6.cc: Ditto.
3225         * testsuite/22_locale/time_put/put/char/7.cc: Ditto.
3226         * testsuite/22_locale/time_put/put/char/8.cc: Ditto.
3227         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Ditto.
3228         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Ditto.
3229         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Ditto.
3230         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Ditto.
3231         * testsuite/22_locale/time_put/put/wchar_t/5.cc: Ditto.
3232         * testsuite/22_locale/time_put/put/wchar_t/6.cc: Ditto.
3233         * testsuite/22_locale/time_put/put/wchar_t/7.cc: Ditto.
3234         * testsuite/22_locale/time_put/put/wchar_t/8.cc: Ditto.
3235
3236         * testsuite/22_locale/time_put/put/char/9780-1.cc: Fix typos.
3237
3238 2004-04-07  Paolo Carlini  <pcarlini@suse.de>
3239
3240         * config/locale/gnu/monetary_members.cc
3241         (moneypunct<wchar_t>::_M_initialize_moneypunct): Prefer
3242         _NL_MONETARY_DECIMAL_POINT_WC, _NL_MONETARY_THOUSANDS_SEP_WC,
3243         and __MON_GROUPING to _NL_NUMERIC_DECIMAL_POINT_WC,
3244         _NL_NUMERIC_THOUSANDS_SEP_WC, and GROUPING.
3245         * config/locale/gnu/numeric_members.cc
3246         (numpunct<char>::_M_initialize_numpunct): Prefer DECIMAL_POINT
3247         and THOUSANDS_SEP to the deprecated RADIXCHAR and THOUSEP.
3248
3249 2004-04-06  Benjamin Kosnik  <bkoz@redhat.com>
3250
3251         Fixups for EDG front end.
3252         * include/ext/rope: Instead of non-existent function
3253         _Data_allocate, use allocator's allocate. Use this.
3254         (namespace _Rope_constants): Move _S_max_rope_depth, and _Tag
3255         enumerations from _Rope_RopeRep here.
3256         * include/ext/ropeimpl.h: Same.
3257         * src/ext-inst.cc (_S_min_len): Fix up definition.
3258
3259         * config/locale/gnu/ctype_members.cc: Qualify base class members
3260         with this.
3261         * config/locale/generic/ctype_members.cc: Same.
3262         * config/locale/gnu/messages_members.h: Same.
3263         * config/locale/generic/messages_members.h: Same.
3264         * src/ctype.cc: Same.
3265         * include/bits/codecvt.h: Same.
3266
3267         * include/bits/boost_concept_check.h: Declare.
3268         (__error_type_must_be_an_unsigned_integer_type): Remove this.
3269         (__error_type_must_be_an_integer_type): Remove this.
3270         (__error_type_must_be_a_signed_integer_type): Remove this.
3271
3272         * config/io/basic_file_stdio.cc (__basic_file::sys_open): Remove cast.
3273
3274         * libsupc++/eh_alloc.cc (__cxa_free_exception): Add exception
3275         specification to definition.
3276         (__cxa_allocate_exception): Same.
3277         * libsupc++/eh_catch.cc (__cxa_begin_catch): Same.
3278         * libsupc++/eh_globals.cc (__cxa_get_globals_fast): Same.
3279         (__cxa_get_globals): Same.
3280
3281         * libsupc++/del_op.cc: Add comment about freestanding.
3282
3283 2004-04-05  Paolo Carlini  <pcarlini@suse.de>
3284
3285         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
3286         The critical section is actually very small, only two assignments.
3287
3288 2004-04-04  Paolo Carlini  <pcarlini@suse.de>
3289             Petur Runolfsson  <peturr02@ru.is>
3290
3291         * testsuite/performance/27_io/filebuf_sputn_unbuf.cc: New,
3292         adapted from libstdc++/11378.
3293
3294 2004-04-03  Paolo Carlini  <pcarlini@suse.de>
3295
3296         * include/ext/mt_allocator.h (__mt_alloc<>::allocate): Factor out
3297         some duplicated code.
3298         (__mt_alloc<>::_Bin_record): Spare the space of _M_free and _M_used
3299         in the single threaded case.
3300         * testsuite/performance/20_util/allocator/list_sort_search.cc:
3301         Reorder and renumber the tests consistently with the other testfiles.
3302         * testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
3303         * testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
3304         * testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
3305
3306 2004-04-02  Paolo Carlini  <pcarlini@suse.de>
3307
3308         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
3309         Rearrange arithmetic to avoid computing two divisions at
3310         each deallocation.
3311
3312 2004-04-01  Paolo Carlini  <pcarlini@suse.de>
3313
3314         * include/ext/mt_allocator.h (__mt_alloc<>::_S_initialize):
3315         Streamline the second half, wrapping it in a single
3316         '#ifdef __GTHREADS if (__gthread_active_p())' and avoiding
3317         conditionals inside loops.
3318
3319 2004-04-01  Paolo Carlini  <pcarlini@suse.de>
3320
3321         PR libstdc++/14775
3322         * acconfig.h: Rename _GLIBCXX_MEM_LIMITS to _GLIBCXX_RES_LIMITS.
3323         * acinclude.m4 (GLIBCXX_CHECK_SETRLIMIT): Call
3324         GLIBCXX_CHECK_SETRLIMIT_ancilliary for FSIZE too, adjust define
3325         to _GLIBCXX_RES_LIMITS.
3326         (GLIBCXX_CHECK_SETRLIMIT_ancilliary): Rename HAVE_MEMLIMIT_* to
3327         HAVE_LIMIT_*.
3328         * testsuite/testsuite_hooks.h: Declare set_file_limit.
3329         * testsuite/testsuite_hooks.cc: Define it, using getrlimit
3330         and setrlimi