OSDN Git Service

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