OSDN Git Service

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