OSDN Git Service

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