OSDN Git Service

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