OSDN Git Service

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