OSDN Git Service

2004-10-10 Benjamin Kosnik <bkoz@redhat.com>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
1 2004-10-10  Benjamin Kosnik  <bkoz@redhat.com>
2
3         * include/bits/functexcept.h: Add guards.
4
5         * acinclude.m4 (GLIBCXX_ENABLE_THREADS): Tweak test.
6         * configure: Regenerate.
7         
8 2004-10-10  Paolo Carlini  <pcarlini@suse.de>
9
10         * config/locale/gnu/monetary_members.cc (_S_construct_pattern):
11         Give __ret a default value, thus avoiding spurious warnings.
12
13         * testsuite/performance/27_io/filebuf_sgetn_unbuf.cc: Open either
14         words or linux.words, otherwise exit.
15         * testsuite/performance/27_io/ifstream_getline.cc: Slighlty tweak.
16
17 2004-10-09  Paolo Carlini  <pcarlini@suse.de>
18
19         * include/std/std_memory.h (__get_temporary_buffer): Don't use
20         INT_MAX, prefer numeric_limits<ptrdiff_t>::max(), ok on 64-bit
21         platforms too.
22         * testsuite/20_util/memory/auto_ptr/assign_neg.cc: Adjust dg-error
23         line numbers.
24
25 2004-10-08  Benjamin Kosnik  <bkoz@redhat.com>
26
27         * acconfig.h: Add _GLIBCXX_USE___CXA_ATEXIT.
28         * acinclude.m4 (GLIBCXX_ENABLE_CXA_ATEXIT): New.
29         * configure.ac: Call GLIBCXX_ENABLE_CXA_EXIT.
30         * configure: Regenerate.
31         * src/mt_allocator.cc (__pool::~__pool): Make conditional on
32         _GLIBCXX_USE___CXA_ATEXIT macro.
33         * docs/html/ext/mt_allocator.html: Add note about deallocation.
34         * testsuite/ext/mt_allocator/deallocate_local-2.cc: Guard checks
35         with _GLIBCXX_USE___CXA_ATEXIT.
36         * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Same.
37         * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Same.
38         * testsuite/ext/mt_allocator/deallocate_global-4.cc: Same.
39         * testsuite/ext/mt_allocator/deallocate_global-2.cc: Same.
40         * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Same.
41         * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Same.
42         * testsuite/ext/mt_allocator/deallocate_local-4.cc: Same.
43         
44 2004-10-07  Phil Edwards  <phil@codesourcery.com>
45
46         * testsuite/lib/libstdc++.exp:  Update list of undefined functions.
47
48 2004-10-07  Paolo Carlini  <pcarlini@suse.de>
49
50         * include/bits/list.tcc (operator=): Avoid iterator postincrement.
51         * include/bits/stl_tree.h (erase(iterator, iterator)): Likewise.
52
53 2004-10-07  Benjamin Kosnik  <bkoz@redhat.com>
54
55         * include/tr1: New.
56         * include/tr1/array: New.
57         * include/Makefile.am (tr1_headers): New.
58         (stamp-tr1): New.
59         (install-headers): New.
60         (allstamped): Add stamp-tr1.
61
62         * include/ext/array_allocator.h: New.
63         * include/Makefile.am: Add.
64         * include/Makefile.in: Regenerate.
65         * testsuite/ext/array_allocator/1.cc: New.
66         * testsuite/ext/array_allocator/2.cc: New.
67
68 2004-10-07  Richard Earnshaw  <rearnsha@arm.com>
69
70         * testsuite/lib/libstdc++.exp (libstdc++_exit): New proc.
71
72 2004-10-07  Roger Sayle  <roger@eyesopen.com>
73
74         PR libstdc++/17850
75         * configure.ac: Newlib does not provide strtold.
76         * configure: Regenerate.
77
78 2004-10-06  Benjamin Kosnik  <bkoz@redhat.com>
79
80         * acinclude.m4 (GLIBCXX_ENABLE_THREADS): Set enable_thread.
81         (GLIBCXX_CONFIGURE_TESTSUITE): Use it.
82         * configure: Regenerated.
83         * testsuite/Makefile.am (CLEANFILES): Add TEST for
84         check-performance executables.
85         (stamp_thread): New.
86         (all-local): Use it.
87         * testsuite/Makefile.in: Regenerate.
88         * scripts/create_testsuite_files: Filter thread tests.
89
90         * testsuite/thread/pthread1.cc: Remove macro conditionals: this
91         file will only be run by thread enabled configurations.
92         * testsuite/thread/pthread7-rope.cc: Same, add rope_type typedef.
93         * testsuite/thread/pthread6.cc: Same.
94         * testsuite/thread/pthread5.cc: Same.
95         * testsuite/thread/pthread4.cc: Same.
96         * testsuite/thread/pthread3.cc: Same.
97         * testsuite/thread/pthread2.cc: Same.
98
99         * testsuite/ext/mt_allocator/instantiate.cc: Add in __GTHREADS guard.
100         * testsuite/ext/mt_allocator/deallocate_global-1.cc: Move to...
101         * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: ...here.
102         * testsuite/ext/mt_allocator/deallocate_global-3.cc: Move to...
103         * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: ...here. 
104         * testsuite/ext/mt_allocator/deallocate_local-1.cc: Move to...
105         * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: ...here.
106         * testsuite/ext/mt_allocator/deallocate_local-3.cc: Move to...
107         * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: ...here.
108
109 2004-10-06  Benjamin Kosnik  <bkoz@redhat.com>
110             Paolo Carlini  <pcarlini@suse.de>
111
112         PR libstdc++/17780
113         * src/mt_allocator.cc (__pool<true>::_M_reserve_block): Revert
114         to old locking order.
115
116 2004-10-06  Paolo Carlini  <pcarlini@suse.de>
117
118         * include/std/std_sstream.h (_M_sync): When the caller is
119         setbuf, don't trust _M_string.capacity() to be the size of
120         the buffer area, use _M_string.size() in this case.
121         * testsuite/27_io/basic_stringbuf/setbuf/char/4.cc: New.
122         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc: Likewise.
123
124         * include/bits/sstream.tcc (overflow): Avoid calling string::assign
125         unnecessarily when the current _M_string is empty.
126
127 2004-10-06  Paolo Carlini  <pcarlini@suse.de>
128
129         * include/bits/stl_algo.h (__reverse(bidirectional_iterator_tag)):
130         Avoid iterator postincrement.
131         (__rotate): Likewise.
132
133         * include/bits/stl_algo.h: Minor formatting tweaks.
134
135 2004-10-06  Christopher Jefferson <caj@cs.york.ac.uk>
136
137         * include/bits/stl_algo.h (__reverse(random_access_iterator_tag)):
138         Avoid iterator postincrement; fix swapping middle element with
139         itself on odd-length inputs.
140
141 2004-10-05  Benjamin Kosnik  <bkoz@redhat.com>
142
143         PR libstdc++/17780
144         * include/ext/mt_allocator.h (__pool_base::_Tune): Add default
145         options as compile-time constant enums.
146         (__pool_base::_Tune::is_default): New.
147         (__pool_base::_Block_address): New.
148         (__pool_base): Rearrange data members.
149         (__pool::_M_reserve_memory): To _M_reserve_block.
150         (__pool::_M_reclaim_memory): To _M_reclaim_block.       
151         (__pool::_Bin_record): Add _Block_address data member.
152         (__pool<false>): Add _M_thread_freelist_initial.
153         (__pool::~__pool): Declare.     
154         (__common_pool_policy): Move static data member to...
155         (__common_pool_policy::_S_get_pool): ...here, make static local.
156         (__per_type_pool_policy): Move static data member to...
157         (__per_type_pool_policy::_S_get_pool): ...here, make static local.
158         (__mt_alloc::__mt_alloc): Call __policy_type::_S_get_pool.
159         Remove static member definitions. Use define for __default_policy.
160         * src/mt_allocator.cc: Same.
161         * config/linker-map.gnu: Don't export _S_get_pool. Renames.
162         * testsuite/ext/new_allocator: New.
163         * testsuite/ext/new_allocator/instantiate.cc: New.
164         * testsuite/ext/new_allocator/check_new.cc: New.
165         * testsuite/ext/new_allocator/deallocate_global.cc: New.
166         * testsuite/ext/new_allocator/deallocate_local.cc: New.
167         * testsuite/ext/mt_allocator/instantiate.cc: Instantiate all
168         template arguments.
169         * testsuite/ext/mt_allocator/deallocate_global-1.cc: New.
170         * testsuite/ext/mt_allocator/deallocate_global-2.cc: New.
171         * testsuite/ext/mt_allocator/deallocate_global-3.cc: New.
172         * testsuite/ext/mt_allocator/deallocate_global-4.cc: New.
173         * testsuite/ext/mt_allocator/deallocate_local-1.cc: New.
174         * testsuite/ext/mt_allocator/deallocate_local-2.cc: New.
175         * testsuite/ext/mt_allocator/deallocate_local-3.cc: New.
176         * testsuite/ext/mt_allocator/deallocate_local-4.cc: New.
177         * testsuite/ext/mt_allocator/deallocate.cc: New.
178         * testsuite/ext/malloc_allocator/deallocate.cc: New.    
179         * testsuite/ext/malloc_allocator/deallocate_global.cc: New.
180         * testsuite/ext/malloc_allocator/deallocate_local.cc: New.
181         
182 2004-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
183
184         * configure.host (abi_baseline_pair): Define for s390-*-linux* and
185         s390x-*-linux*.
186         * config/abi/s390-linux-gnu/baseline_symbols.txt: Add missing symbols.
187         * config/abi/s390x-linux-gnu/baseline_symbols.txt: New file.
188
189 2004-10-05  Christopher Jefferson  <caj@cs.york.ac.uk>
190
191         * include/bits/stl_algobase.h (iter_swap): delegate to swap via
192         __iter_swap when iterator's value_types are equal.
193         (struct __iter_swap): New.
194
195 2004-10-04  Benjamin Kosnik  <bkoz@redhat.com>
196
197         * configure.ac (libtool_VERSION): To 6:3:0.
198         * configure: Regnerate.
199         * testsuite/testsuite_abi.cc (check_version): Add 3.4.3.
200
201 2004-10-04  Roger Sayle  <roger@eyesopen.com>
202             Eric Botcazou  <ebotcazou@libertysurf.fr>
203
204         PR libstdc++/17505
205         * config/linker-map.gnu: Synchronize the current list of stub
206         functions from libmath.
207
208 2004-10-03  Roger Sayle  <roger@eyesopen.com>
209
210         * config/locale/generic/c_locale.cc (__convert_to_v): Use
211         _GLIBCXX_HAVE_STRTOF instead _GLIBCXX_USE_C99 to check for strtof.
212         Likewise, use _GLIBCXX_HAVE_STRTOLD instead of _GLIBCXX_USE_C99
213         to check for presence of strtold.
214
215 2004-10-03  Paolo Carlini  <pcarlini@suse.de>
216
217         * include/bits/stl_list.h: Trivial formatting fixes.
218         * include/bits/stl_tree.h: Likewise.
219
220 2004-10-03  Paolo Carlini  <pcarlini@suse.de>
221
222         * include/bits/sstream.tcc (seekpos): In case of success, just
223         return __sp.
224
225 2004-10-01  Paolo Carlini  <pcarlini@suse.de>
226
227         * include/bits/sstream.tcc (pbackfail): Implement correctly
228         27.7.1.3/2, bullet 2: if mode & ios_base::out is false do not
229         write in the buffer.
230         * testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc: New.
231         * testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc: Likewise.
232         * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc: Likewise.
233         * testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc: Likewise.
234         * testsuite/27_io/basic_istream/putback/char/1.cc: Tweak consistently.
235
236 2004-10-01  Paolo Carlini  <pcarlini@suse.de>
237
238         * include/bits/sstream.tcc (seekpos): Minor rearrangement of two
239         conditionals consistently with seekoff.
240         * include/std/std_sstream.h (setbuf): Avoid a string temporary.
241         (_M_sync): Simplify a bit, clean-up comment.
242
243 2004-09-30  Paolo Carlini  <pcarlini@suse.de>
244
245         PR libstdc++/10975 (DR 453)
246         * include/bits/sstream.tcc (seekoff): Don't fail if __beg == 0
247         and __off == 0.
248         * docs/html/ext/howto.html: Add an entry for DR 453.
249         * testsuite/27_io/basic_stringbuf/seekoff/char/10975.cc: New.
250         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/10975.cc: Likewise.
251         * testsuite/27_io/basic_istream/tellg/char/1.cc: Tweak consistently.
252         * testsuite/27_io/basic_ostream/tellp/char/1.cc: Likewise.
253         * testsuite/27_io/basic_ostream/tellp/char/2.cc: Likewise.
254         * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc: Fix and
255         move to...
256         * testsuite/27_io/basic_istream/seekp/char/2346-fstream.cc: ... here.
257         * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc: Fix and
258         move to...
259         * testsuite/27_io/basic_istream/seekp/char/2346-sstream.cc: ... here.
260
261 2004-09-29  Paolo Carlini  <pcarlini@suse.de>
262
263         * include/std/std_sstream.h (basic_stringbuf(ios_base::openmode)):
264         Don't use _M_stringbuf_init, keep the pointers null, per 27.7.1.1.
265         (str()): Slightly tweak, protect from pptr() == 0.
266         (_M_update_egptr()): Likewise.
267         * include/bits/sstream.tcc (ssekoff, seekpos): In order to check
268         for an empty buffer use __beg instead of _M_string.capacity().
269         * testsuite/27_io/basic_stringbuf/cons/char/1.cc: New.
270         * testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc: Likewise.
271
272         * testsuite/27_io/basic_filebuf/cons/char/1.cc: New.
273         * testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc: Likewise.
274         * testsuite/27_io/basic_streambuf/cons/char/1.cc: Update.
275         * testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: Likewise.
276
277 2004-09-29  Paolo Carlini  <pcarlini@suse.de>
278             Benjamin Kosnik  <bkoz@redhat.com>
279         
280         * testsuite/testsuite_io.h (class constraint_buf): New, extended
281         and templatized version of constraint_filebuf; add typedefs for
282         streambuf/stringbuf/filebuf and wchar_t counterparts.
283
284 2004-09-28  Paolo Carlini  <pcarlini@suse.de>
285
286         PR libstdc++/16612
287         * include/bits/basic_string.h (_M_dispose, _M_refcopy,
288         basic_string()): When _GLIBCXX_FULLY_DYNAMIC_STRING is defined,
289         don't deal with _S_empty_rep.
290         * include/bits/basic_string.tcc (_S_construct, _M_destroy,
291         _M_leak_hard, _M_mutate): Likewise.
292         * acinclude.m4 (GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING): New.
293         * acconfig.h: Add corresponding undef.  
294         * configure.ac: Use GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING.
295         * docs/html/configopts.html: Document --enable-fully-dynamic-string.
296         * configure: Regenerate.
297         * config.h.in: Likewise.
298
299 2004-09-28  Benjamin Kosnik  <bkoz@redhat.com>
300             Paolo Carlini  <pcarlini@suse.de>
301
302         * testsuite/21_strings/basic_string/operations/char/1.cc: New.
303         * testsuite/21_strings/basic_string/operations/wchar_t/1.cc: New.
304         * testsuite/21_strings/basic_string/element_access/char/empty.cc: New.
305         * testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc: 
306         New.
307
308 2004-09-28  Paolo Carlini  <pcarlini@suse.de>
309
310         * README: Remove obsolete entry about include/c_shadow.
311
312 2004-09-24  H.J. Lu  <hongjiu.lu@intel.com>
313
314         PR libstdc++/17469
315         * testsuite/lib/libstdc++.exp: Don't use global ld_library_path.
316
317 2004-09-24  Paolo Carlini  <pcarlini@suse.de>
318
319         * src/localename.cc (locale::locale(const char*)): Minor tweaks:
320         rename a variable, move an assignment.
321         (locale::_Impl::_Impl(const char*, size_t)): Likewise, minor tweak.
322
323 2004-09-24  Paul Brook  <paul@codesourcery.com>
324
325         * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: XFAIL more arm
326         simulator targets.
327         * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Ditto.
328         * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Ditto.
329         * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Ditto.
330         * testsuite/27_io/basic_istream/readsome/char/6746-2.cc: Ditto.
331         * testsuite/ext/stdio_filebuf/char/10063-2.cc: Ditto.
332         * testsuite/ext/stdio_filebuf/char/10063-3.cc: Ditto.
333
334 2004-09-23  Zack Weinberg  <zack@codesourcery.com>
335
336         * testsuite/20_util/memory/auto_ptr/assign_neg.cc
337         * testsuite/23_containers/map/operators/1_neg.cc
338         * testsuite/23_containers/set/operators/1_neg.cc:
339         Update locations and/or regexps of dg-error markers.
340
341 2004-09-23  P.J. Darcy  <darcypj@us.ibm.com>
342
343         * include/Makefile.am (thread_host_headers): Add gthr-tpf.h.
344         Add rule to build ${host_builddir}/gthr-tpf.h.
345         * include/Makefile.in: Regenerate.
346
347 2004-09-23  Paolo Carlini  <pcarlini@suse.de>
348             Magnus Fromreide  <magfr@lysator.liu.se>
349
350         * include/bits/boost_concept_check.h (struct _SequenceConcept):
351         Remove wrong requirement, i.e., not present in Table 67.
352
353 2004-09-21  Paolo Carlini  <pcarlini@suse.de>
354
355         PR libstdc++/12882 (cont)
356         * acinclude.m4 (GLIBCXX_CHECK_LFS): Check for fstat64 too.
357         * configure: Regenerate.
358         * config/io/basic_file_stdio.cc (__basic_file<>::showmanyc): When
359         _GLIBCXX_USE_LFS use fstat64 and lseek64, thus providing a non
360         trivial showmanyc for large files too.
361
362 2004-09-17  Jonathan Wakely  <redi@gcc.gnu.org>
363
364         * include/bits/stl_algo.h (remove): Remove too restrictive
365         concept-check.
366
367 2004-09-17  Paolo Carlini  <pcarlini@suse.de>
368
369         * include/bits/fstream.tcc (xsgetn): Slightly tweak conditional,
370         as per Nathan's original suggestion.
371
372 2004-09-17  Paolo Carlini  <pcarlini@suse.de>
373
374         * testsuite/ext/mt_allocator/tune-1.cc: Use VERIFY, clean
375         up a bit.
376         * testsuite/ext/mt_allocator/tune-2.cc: Likewise.
377         * testsuite/ext/mt_allocator/tune-3.cc: Likewise.
378         * testsuite/ext/mt_allocator/tune-4.cc: Likewise.
379
380 2004-09-17  Paolo Carlini  <pcarlini@suse.de>
381             Andrea Arcangeli  <andrea@suse.de>
382
383         * config/io/basic_file_stdio.cc (__basic_file<>::close)): Don't
384         call unnecessarily sync, that is fflush: the library, since 3.4.0
385         does not use buffered fread/fwrite.
386         * include/bits/fstream.tcc (basic_filebuf<>::overflow): Likewise.
387
388 2004-09-15  Mark Mitchell  <mark@codesourcery.com>
389
390         * config/cpu/arm/cxxabi_tweaks.h (__cxa_cdtor_return_type):
391         Define.
392         * config/cpu/generic/cxxabi_tweaks.h (__cxa_cdtor_return_type):
393         Define.
394         * libsupc++/cxxabi.h (__cxa_cdtor_return_type): New type.
395         (__cxa_vec_new): Use it.
396         (__cxa_vec_new2): Likewise.
397         (__cxa_vec_new3): Likewise.
398         (__cxa_vec_cdtor): Likewise.
399         (__cxa_vec_cctor): Likeiwse.
400         (__cxa_vec_dtor): Likewise.
401         (__cxa_vec_cleanup): Likewise.
402         (__cxa_vec_delete2): Likewise.
403         (__cxa_vec_delete3): Likewise.
404         * libsupc++/vec.cc (__cxa_vec_new): Likewise.
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         (__aeabi_vec_ctor_nocookie_nodtor): New function.
414         (__aeabi_vec_ctor_cookie_nodtor): Likewise.
415         (__aeabi_vec_cctor_nocookie_nodtor): Likewise.
416         (__aeabi_vec_new_cookie_noctor): Likewise.
417         (__aeabi_vec_new_nocookie): Likewise.
418         (__aeabi_vec_new_cookie_nodtor): Likewise.
419         (__aeabi_vec_new_cookie): Likewise.
420         (__aeabi_vec_dtor): Likewise.
421         (__aeabi_vec_dtor_cookie): Likewise.
422         (__aeabi_vec_delete): Likewise.
423         (__aeabi_vec_delete3): Likewise.
424         (__aeabi_vec_delete3_nodtor): Likewise.
425         (__aeabi_atexit): Likewise.
426
427 2004-09-14  Nathan Myers  <ncm@cantrip.org>
428
429         * include/bits/fstream.tcc (xsgetn): Slightly tweak the recent fix
430         for 11722: copy can replace move; the common case is __avail == 0.
431
432 2004-09-14  Paolo Carlini  <pcarlini@suse.de>
433
434         * include/bits/cpp_type_traits.h: Rename __is_trivially_copyable
435         to __is_scalar, more clear and consistent with "tr1" naming.
436         * include/bits/stl_algobase.h: Update consistently throughout.
437
438 2004-09-13  Paolo Carlini  <pcarlini@suse.de>
439
440         PR libstdc++/11722
441         * include/std/std_fstream.h (xsgetn): Declare only.
442         * include/bits/fstream.tcc (xsgetn): Define, optimize for the
443         always_noconv() case: when __n > __buflen, copy the available
444         buffer and issue a direct read.
445         * testsuite/performance/27_io/filebuf_sgetn_unbuf.cc: New.
446
447         * include/bits/fstream.tcc (xsputn): Minor tweak, reorder a
448         conditional.
449
450 2004-09-13  Hans-Peter Nilsson  <hp@bitrange.com>
451
452         * testsuite/lib/libstdc++.exp: Use gcc wrapper.exp and call
453         libstdc++_maybe_build_wrapper instead of using local code.
454
455 2004-09-08  Benjamin Kosnik  <bkoz@redhat.com>
456
457         * config/linker-map.gnu (GLIBCXX_3.4.3): New, adjust symbol exports.
458
459 2004-09-03  Jan Beulich  <jbeulich@novell.com>
460
461         * crossconfig.m4: Add NetWare as a target.
462         * configure: Regenerate.
463
464 2004-09-02  Mark Mitchell  <mark@codesourcery.com>
465
466         * libsupc++/typeinfo: Honor __GXX_MERGED_TYPEINFO_NAMES if already
467         defined.
468
469 2004-09-02  Benjamin Kosnik  <bkoz@redhat.com>
470             Simon Richter  <Simon.Richter@hogyros.de>
471
472         PR libstdc++/16715
473         * include/bits/istream.tcc: Add extern template for iostream
474         char and wchar_t instantiations.
475
476 2004-09-02  Benjamin Kosnik  <bkoz@redhat.com>
477             Leland Wang  <llwang@infor.org>
478
479         PR libstdc++/17259
480         * include/ext/ropeimpl.h (rope::_S_compare): Use
481         _Rope_constants::_S_leaf.
482
483 2004-09-02  Benjamin Kosnik  <bkoz@redhat.com>
484
485         PR libstdc++/16848
486         * include/Makefile.am (ext_headers): Remove demangle.h.
487         * include/Makefile.in: Regenerate.
488         * include/ext/demangle.h: Remove.
489
490 2004-09-01  Benjamin Kosnik  <bkoz@redhat.com>
491
492         PR libstdc++/16614
493         * include/ext/mt_allocator.h (__mt_base): Not type dependent,
494         split into..
495         (__pool): New, specialize.
496         (__common_pool): New, static bits here.
497         (__per_type_pool): New, and here.
498         (__mt_alloc_base): New.
499         (__mt_alloc): Add template parameter, inherit from it.
500         * src/allocator.cc: Split this...
501         * src/allocator-inst.cc: And this...
502         * src/pool_allocator.cc: ...into this.
503         * src/mt_allocator.cc: ... and this. Add definitions for
504         __mt_base.
505         * src/Makefile.am (sources): Split allocator.cc to
506         pool_allocator.cc and mt_allocator.cc.
507         * src/Makefile.in: Regenerate.
508         * config/linker-map.gnu: Add symbols.
509         * docs/html/ext/mt_allocator.html: Document new design.
510         * testsuite/ext/mt_allocator/tune-1.cc: New.
511         * testsuite/ext/mt_allocator/tune-2.cc: New.
512         * testsuite/ext/mt_allocator/tune-3.cc: New.
513         * testsuite/ext/mt_allocator/tune-4.cc: New.
514
515         * testsuite/testsuite_allocator.h (__gnu_test::check_new): New.
516         * testsuite/ext/allocators.cc: Use check_new, split into...
517         * testsuite/ext/mt_allocator/check_new.cc: this.
518         * testsuite/ext/pool_allocator/check_new.cc: this.
519         * testsuite/ext/malloc_allocator/check_new.cc: this.
520         * testsuite/ext/debug_allocator/check_new.cc: this.
521         * testsuite/ext/mt_allocator/instantiate.cc: this.
522         * testsuite/ext/pool_allocator/instantiate.cc: this.
523         * testsuite/ext/malloc_allocator/instantiate.cc: this.
524         * testsuite/ext/debug_allocator/instantiate.cc: this.
525
526 2004-08-30  Phil Edwards  <phil@codesourcery.com>
527
528         * docs/html/install.html:  Update locales list (from Paolo).
529         Remove other redundant information and point to the GCC install
530         documentation.
531
532 2004-08-30  Benjamin Kosnik  <bkoz@redhat.com>
533
534         * include/ext/pool_allocator.h: Rename __pool_base to
535         __pool_alloc_base.
536         * src/allocator.cc: Same.
537         * config/linker-map.gnu: Same.
538
539 2004-08-30  Paolo Carlini  <pcarlini@suse.de>
540             Kenneth C. Schalk  <ken@xorian.net>
541
542         PR libstdc++/17215
543         * config/io/basic_file_stdio.cc (__basic_file<char>::close()):
544         Check the return value of fclose/sync, loop on EINTR.
545         (__basic_file<char>::sys_open): Likewise, for sync.
546
547 2004-08-29  Paolo Carlini  <pcarlini@suse.de>
548
549         * include/bits/locale_facets.tcc (time_get<>::_M_extract_via_format,
550         case 'S'): Allow for at least one leap-second (as per C99, 7.23.1
551         and 7.23.3.5), two if !_GLIBCXX_USE_C99.
552         * testsuite/22_locale/time_get/get_time/char/4.cc: New.
553         * testsuite/22_locale/time_get/get_time/wchar_t/4.cc: Likewise.
554
555 2004-08-27  Jason Merrill  <jason@redhat.com>
556
557         PR c++/13684
558         * libsupc++/guard.cc (static_mutex): Internal class implementing a
559         recursive mutex which controls initialization of local statics.
560         (__gnu_cxx::recursive_init): New exception class.
561         (__cxa_guard_acquire): Deal with locking and recursion detection.
562         (acquire_1, __cxa_guard_abort, __cxa_guard_release): Likewise.
563
564 2004-08-27  Matthias Klose  <doko@debian.org>
565
566         * configure.host: For mips*-*-linux* update cpu_include_dir
567         after atomicity_dir is set.
568
569 2004-08-27  Matthias Klose  <doko@debian.org>
570
571         * config/abi/arm-linux-gnu/baseline_symbols.txt: New.
572         * config/abi/mips-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
573         * configure.host: Set abi_baseline_pair for arm*-*-linux* and
574         mips*-*-linux*.
575
576 2004-08-27  Paolo Carlini  <pcarlini@suse.de>
577
578         * testsuite/27_io/manipulators/adjustfield/wchar_t/1.cc: New.
579         * testsuite/27_io/manipulators/adjustfield/wchar_t/2.cc: Likewise.
580         * testsuite/27_io/manipulators/basefield/wchar_t/1.cc: Likewise.
581         * testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise.
582         * testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise.
583
584         * testsuite/27_io/manipulators/adjustfield/char/1.cc: Minor
585         formatting fixes.
586         * testsuite/27_io/manipulators/adjustfield/char/2.cc: Likewise.
587         * testsuite/27_io/manipulators/basefield/char/1.cc: Likewise.
588         * testsuite/27_io/manipulators/standard/char/1.cc: Likewise.
589         * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
590
591 2004-08-25  Paolo Carlini  <pcarlini@suse.de>
592
593         PR libstdc++/17038 (partial)
594         * include/bits/locale_facets.tcc (time_put<>::do_put): Increase
595         __maxlen to 128.
596         * include/bits/locale_facets.h (class __timepunct): Add FIXME
597         comment about _M_put.
598         * config/locale/generic/time_members.cc (_M_put): Always null
599         terminate __s.
600         * config/locale/gnu/time_members.cc (_M_put): Likewise.
601         * testsuite/22_locale/time_put/put/char/17038.cc: New.
602         * testsuite/22_locale/time_put/put/wchar_t/17038.cc: New.
603
604 2004-08-24  Paolo Carlini  <pcarlini@suse.de>
605
606         * testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc: New.
607         * testsuite/27_io/basic_istringstream/str/wchar_t/1.cc: Likewise.
608         * testsuite/27_io/basic_ostringstream/cons/wchar_t/3.cc: Likewise.
609         * testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc: Likewise.
610         * testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc: Likewise.
611         * testsuite/27_io/basic_ostringstream/str/wchar_t/2.cc: Likewise.
612
613         * testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc: Trim excess
614         newlines.
615         * testsuite/27_io/basic_istringstream/str/char/1.cc: Likewise.
616
617 2004-08-22  Matthias Klose  <doko@debian.org>
618
619         * config/abi/m68k-linux-gnu/baseline_symbols.txt: New.
620         * config/abi/sparc-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
621
622 2004-08-23  Paolo Carlini  <pcarlini@suse.de>
623
624         * configure.ac: Specify version 1.9.1 in AM_INIT_AUTOMAKE.
625         * aclocal.m4: Regenerate with automake-1.9.1.
626         * configure: Regenerate.
627         * Makefile.in: Likewise.
628         * include/Makefile.in: Likewise.
629         * libmath/Makefile.in: Likewise.
630         * libsupc++/Makefile.in: Likewise.
631         * po/Makefile.in: Likewise.
632         * src/Makefile.in: Likewise.
633         * testsuite/Makefile.in: Likewise.
634
635 2004-08-22  Paolo Carlini  <pcarlini@suse.de>
636
637         * include/bits/locale_facets.tcc (num_put<>::do_put(bool)): Cast
638         to a signed type, long according to the resolution of DR 359.
639         * testsuite/22_locale/num_put/put/char/9.cc: New.
640         * testsuite/22_locale/num_put/put/wchar_t/9.cc: New.
641
642         * include/bits/locale_facets.tcc (num_put<>::do_put(const void*)):
643         Simplify a bit: no need to clear showpos.
644
645 2004-08-21  Paolo Carlini  <pcarlini@suse.de>
646
647         * include/bits/char_traits.h (struct _Char_traits_match): Remove,
648         unused.
649
650 2004-08-21  Paolo Carlini  <pcarlini@suse.de>
651
652         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Use proper
653         wchar_t type for the fill argument; minor formatting tweaks.
654         * testsuite/22_locale/money_put/put/wchar_t/12971.cc: Likewise.
655         * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
656         * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
657         * testsuite/22_locale/money_put/put/wchar_t/4.cc: Likewise.
658         * testsuite/22_locale/money_put/put/wchar_t/5.cc: Likewise.
659         * testsuite/22_locale/money_put/put/wchar_t/6.cc: Likewise.
660
661 2004-08-21  Paolo Carlini  <pcarlini@suse.de>
662
663         * include/bits/basic_ios.tcc (basic_ios<>::copyfmt): Don't deal
664         with _M_word != _M_local_word two times, redundantly.
665
666 2004-08-20  Jason Merrill  <jason@redhat.com>
667
668         * include/Makefile.am (${host_builddir}/gthr.h): Don't add
669         _GLIBCXX_ to #pragma lines.
670         * include/Makefile.in: Update.
671
672 2004-08-20  Paolo Carlini  <pcarlini@suse.de>
673
674         PR libstdc++/7219 (continued)
675         * include/bits/ios_base.h (class ios_base): Expose Annex D.6
676         typedefs by default.
677         * testsuite/27_io/types/1.cc: Remove #if _GLIBCXX_DEPRECATED.
678         * testsuite/27_io/ios_base/cons/assign_neg.cc: Tweak dg-error
679         line number.
680         * testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
681
682 2004-08-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
683
684         * cpu/hppa/atomicity.h (__exchange_and_add, __atomic_add): Add memory
685         barrier to locking asm.
686
687 2004-08-20  Paolo Carlini  <pcarlini@suse.de>
688
689         * include/c_std/cmath.tcc (__cmath_power): Revert previous commit:
690         actually the warning is a front-end bug (c++/17120).
691
692 2004-08-20  Matthias Klose  <doko@debian.org>
693
694         * config/abi/s390-linux-gnu/baseline_symbols.txt: New.
695
696 2004-08-20  Paolo Carlini  <pcarlini@suse.de>
697
698         * include/c_std/cmath.tcc (__cmath_power): Suppress assignment
699         used as truth value warning.
700
701 2004-08-20  Paolo Carlini  <pcarlini@suse.de>
702
703         * config/abi/x86_64-linux-gnu/32/baseline_symbols.txt: Add 32 bit
704         baseline.
705
706 2004-08-20  Paolo Carlini  <pcarlini@suse.de>
707
708         * config/abi/x86_64-linux-gnu/baseline_symbols.txt: Fix it.
709
710 2004-08-19  Benjamin Kosnik  <bkoz@redhat.com>
711
712         * testsuite/22_locale/time_put/put/char/3.cc (test03): Don't check
713         timezone.
714         * testsuite/22_locale/time_put/put/wchar_t/3.cc (test03): Same.
715
716 2004-08-19  Paolo Carlini  <pcarlini@suse.de>
717
718         * testsuite/performance/20_util/allocator/insert.cc: For std::map
719         instantiate the allocator for a correct pair type.
720         * testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
721         * testsuite/performance/20_util/allocator/map_thread.cc: Likewise.
722         * testsuite/performance/20_util/allocator/producer_consumer.cc:
723         Likewise.
724
725         * testsuite/performance/20_util/allocator/list_sort_search.cc: Very
726         minor formatting fixes.
727         * testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
728
729 2004-08-19  Paolo Carlini  <pcarlini@suse.de>
730
731         * testsuite/22_locale/time_put/put/char/1.cc: Add VERIFY on the
732         results.
733         * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
734         * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
735         * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
736         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
737         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
738         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
739         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
740
741 2004-08-19  Paolo Carlini  <pcarlini@suse.de>
742
743         * config/abi/x86_64-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
744
745 2004-08-18  Matthias Klose  <doko@debian.org>
746
747         * config/abi/hppa-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
748         * config/abi/i386-linux-gnu/baseline_symbols.txt: New.
749         * config/abi/powerpc-linux-gnu/baseline_symbols.txt: New.
750
751 2004-08-17  Paolo Carlini  <pcarlini@suse.de>
752
753         * config/abi/alpha-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
754
755 2004-08-17  Paolo Carlini  <pcarlini@suse.de>
756
757         * config/abi/ia64-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
758
759 2004-08-17  Benjamin Kosnik  <bkoz@redhat.com>
760
761         * config/abi/i486-linux-gnu/baseline_symbols.txt: Update to 3.4.0.
762
763 2004-08-16  Paolo Carlini  <pcarlini@suse.de>
764
765         * include/bits/indirect_array.h: Trivial formatting fixes.
766         * include/bits/valarray_after.h: Likewise.
767         * include/bits/valarray_array.h: Likewise.
768         * src/valarray-inst.cc: Likewise.
769
770 2004-08-15  Paolo Carlini  <pcarlini@suse.de>
771
772         * testsuite/27_io/basic_stringstream/rdbuf/char/2832.cc: Remove junk.
773         * testsuite/27_io/basic_stringstream/str/char/1.cc: Likewise.
774         * testsuite/27_io/basic_stringstream/str/char/3.cc: Likewise.
775
776         * testsuite/27_io/basic_stringstream/rdbuf/wchar_t/2832.cc: New.
777         * testsuite/27_io/basic_stringstream/str/wchar_t/1.cc: Likewise.
778         * testsuite/27_io/basic_stringstream/str/wchar_t/2.cc: Likewise.
779         * testsuite/27_io/basic_stringstream/str/wchar_t/3.cc: Likewise.
780         * testsuite/27_io/basic_stringstream/str/wchar_t/4.cc: Likewise.
781
782 2004-08-15  Paolo Carlini  <pcarlini@suse.de>
783
784         * include/bits/deque.tcc: Trivial formatting fixes.
785
786 2004-08-15  Paolo Carlini  <pcarlini@suse.de>
787
788         * include/bits/deque.tcc: Trivial formatting fixes.
789
790         * include/bits/locale_facets.tcc (num_get<>::do_get(&bool)):
791         Remove unneded typedef.
792
793         * include/bits/locale_facets.tcc: Very minor tweaks.
794
795         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Use proper
796         type for the fill argument.
797         * testsuite/22_locale/time_put/put/wchar_t/10.cc: Likewise.
798         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
799         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
800         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
801         * testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
802         * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
803         * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
804         * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
805
806 2004-08-13  Paolo Carlini  <pcarlini@suse.de>
807
808         * src/debug.cc (_Error_formatter::_M_print_string): Fix thinko,
809         memmove is not needed, memcpy suffices.
810
811 2004-08-13  Paolo Carlini  <pcarlini@suse.de>
812
813         * include/std/std_fstream.h (class basic_ifstream,
814         class basic_ofstream, class basic_fstream): Add const overloads
815         of is_open, as per DR 365 [WP].
816         * docs/html/ext/howto.html: Add an entry for DR 365.
817
818 2004-08-12  Paolo Carlini  <pcarlini@suse.de>
819
820         * configure.ac: Specify version 1.8.5 in AM_INIT_AUTOMAKE.
821
822 2004-08-12  Paolo Carlini  <pcarlini@suse.de>
823
824         PR libstdc++/16956
825         * include/bits/sstream.tcc (basic_stringbuf<>::seekoff): Add __off
826         to the returned value, reorganize a bit.
827         * testsuite/27_io/basic_stringbuf/seekoff/char/16956.cc: New.
828         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/16956.cc: New.
829
830         * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Remove junk.
831         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.
832         * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Likewise.
833         * testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc: Likewise.
834
835 2004-08-12  Paul Brook  <paul@codesourcery.com>
836
837         * config/cpu/arm/cxxabi_tweaks.h: Define __cxa_vec_ctor_return and
838         _GLIBCXX_CXA_VEC_CTOR_RETURN.
839         * config/cpu/generic/cxxabi_tweaks.h: Ditto.
840         * libsupc++/cxxabi.h (__cxa_vec_ctor, __cxa_vec_cctor): Use
841         __cxa_vec_ctor_return.
842         * libsupc++/vec.cc (__cxa_vec_ctor, __cxa_vec_cctor): Ditto.
843         Use _GLIBCXX_CXA_VEC_CTOR_RETURN.
844
845 2004-08-12  Kelley Cook  <kcook@gcc.gnu.org>
846
847         * Makefile.in, aclocal.m4, configure, include/Makefile.in,
848         libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
849         src/Makefile.in, testsuite/Makefile.in: Regenerate
850
851 2004-08-12  Jan Beulich  <jbeulich@novell.com>
852
853         * config/locale/generic/ctype_members.cc
854         (ctype<wchar_t>::_M_convert_to_wmask): Default case must not use 0 as
855         initializer for return value, as that is invalid for enumerated types.
856         * config/locale/gnu/ctype_members.cc
857         (ctype<wchar_t>::_M_convert_to_wmask): Likewise.
858
859 2004-08-11  Paolo Carlini  <pcarlini@suse.de>
860
861         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Fix typo.
862
863 2004-08-11  Paolo Carlini  <pcarlini@suse.de>
864
865         * testsuite/27_io/basic_stringbuf/imbue/char/1.cc: Declare test
866         variable.
867         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc: Ditto.
868         * testsuite/27_io/basic_stringbuf/in_avail/char/1.cc: Remove junk.
869         * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Ditto.
870         * testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc: Ditto.
871         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Ditto.
872         * testsuite/27_io/basic_stringbuf/setbuf/char/1.cc: Ditto.
873         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc: Ditto.
874         * testsuite/27_io/basic_stringbuf/sgetc/char/1.cc: Ditto.
875         * testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Ditto.
876         * testsuite/27_io/basic_stringbuf/sgetn/char/1.cc: Ditto.
877         * testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Ditto.
878         * testsuite/27_io/basic_stringbuf/snextc/char/1.cc: Ditto.
879         * testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Ditto.
880         * testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Ditto.
881         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc: Ditto.
882         * testsuite/27_io/basic_stringbuf/sputc/char/1.cc: Ditto.
883         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc: Ditto.
884         * testsuite/27_io/basic_stringbuf/sputn/char/1.cc: Ditto.
885         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc: Ditto.
886         * testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Ditto.
887         * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Ditto.
888
889 2004-08-11  Paolo Carlini  <pcarlini@suse.de>
890             Petur Runolfsson  <peturr02@ru.is>
891
892         PR libstdc++/16959
893         * src/ios_init.cc (ios_base::sync_with_stdio): Make sure the
894         standard streams are constructed.
895         * testsuite/27_io/ios_base/sync_with_stdio/16959.cc: New.
896
897 2004-08-09  Paolo Carlini  <pcarlini@suse.de>
898
899         * include/bits/stl_bvector.h: Trivial formatting fixes.
900
901 2004-08-09  Paolo Carlini  <pcarlini@suse.de>
902
903         * src/ios.cc (ios_base::_M_grow_words): Uglify the names.
904
905 2004-08-07  Jonathan Wakely  <redi@gcc.gnu.org>
906             Paolo Carlini  <pcarlini@suse.de>
907
908         * src/debug.cc (_Error_formatter::_M_print_string): In order
909         to print individual words from __string, _M_format_word can't
910         be called since may be just sprintf, thus ignoring completely
911         __n: instead, use memmove and append '\0' by hand.
912
913 2004-08-07  Paolo Carlini  <pcarlini@suse.de>
914
915         * config/locale/generic/c_locale.h (__convert_from_v): Don't
916         use a default for __prec, assume __prec >= 0 and simplify.
917         * config/locale/gnu/c_locale.h (__convert_from_v): Likewise.
918         * include/bits/locale_facets.tcc (money_put<>::do_put(long double)):
919         Pass format "%.*Lf" + precision == 0, equivalent to "%.0Lf".
920
921 2004-08-04  Phil Edwards  <phil@codesourcery.com>
922
923         * docs/html/configopts.html:  Emphasize that options change.
924         * docs/html/17_intro/configury.html:  Update links.
925
926 2004-08-03  Paolo Carlini  <pcarlini@suse.de>
927
928         * include/bits/list.tcc: Trivial formatting fixes.
929
930 2004-08-03  Mark Mitchell  <mark@codesourcery.com>
931
932         * libsupc++/new_op.cc: Update comments.
933         * libsupc++/del_op.cc: Likewise.
934
935 2004-08-02  Mark Mitchell  <mark@codesourcery.com>
936
937         * libsupc++/cxxabi.h: Make all declarations have default
938         visibility.
939         * libsupc++/exception: Likewise.
940         * libsupc++/new: Likewise.
941         * libsupc++/typeinfo: Likewise.
942         * libsupc++/unwind-cxx.h: Likewise.
943         * libsupc++/eh_alloc.cc (__cxa_allocate_exception): Put it into
944         the __cxxabiv1 namespace.
945         (__cxa_free_exception): Likewise.
946         * libsupc++/eh_aux_runtime.cc (__cxa_bad_cast): Likewise.
947         (__cxa_bad_typeid): Likewise.
948         * libsupc++/eh_catch.cc (__cxa_begin_catch): Likewise.
949         (__cxa_end_catch): Likewise.
950         * libsupc++/eh_globals.cc (__cxa_get_globals_fast): Likewise.
951         (__cxa_get_globals): Likewise.
952         * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
953         (__cxa_rethrow): Likewise.
954         * libsupc++/pure.cc (__cxa_pure_virtual): Likewise.
955         * libsupc++/eh_type.cc: Include <cxxabi.h>.
956
957         * Makefile.am (hosted_source): Add libmath and testsuite.
958         (SUBDIRS): Remove them.
959         * acinclude.m4: (GLIBCXX_ENABLED_HOSTED): Default to freestanding
960         on arm*-*-symbianelf*.
961         * crossconfig.m4: Add arm*-*-symbianelf* support.
962         * include/c_std/std/std_cstdlib.h (stdlib.h): Do not include it
963         when freestanding.  Do not bring names into std:: namespace with
964         "using" when freestanding.  Declare required functions and macros
965         when freestanding.
966         * libsupc++/Makefile.am (c_sources): Do not include cp-demangle.c
967         when freestanding.
968         * libsupc++/del_op.cc: Declare "free" only when freestanding.
969         * libsupc++/eh_alloc.cc (cstring): Include it only when hosted.
970         (malloc): Declare when freestanding.
971         (free): Likewise.
972         (memset): Likewise.
973         (__cxa_allocate_exception): Call malloc, not std::malloc.  Likewise
974         for memset.
975         (__cxa_free_exception): Likewise for free.
976         * libsupc++/new_op.cc: Declare "malloc" when freestanding.
977         * libsupc++/pure.cc (writestr): Define to nothing when
978         freestanding.
979         * libsupc++/vterminate.cc: Do not define anything when
980         freestanding.
981         * Makefile.in: Regenerated.
982         * aclocal.m4: Likewise.
983         * configure: Likewise.
984         * include/Makefile.in: Likewise.
985         * libmath/Makefile.in: Likewise.
986         * libsupc++/Makefile.in: Likewise.
987         * po/Makefile.in: Likewise.
988         * src/Makefile.in: Likewise.
989         * testsuite/Makefile.in: Likewise.
990
991 2004-08-01  Matt Austern  <austern@apple.com>
992
993         PR libstdc++/16844
994         * include/bits/stl_list.h (_M_create_node): Remove unused
995         zero-argument version.
996         * include/ext/slist (_M_create_node): Pass two arguments to
997         allocator's construct() member function.
998         * testsuite/23_containers/deque/explicit_instantiation.cc: New.
999         * testsuite/23_containers/list/explicit_instantiation.cc: New.
1000         * testsuite/23_containers/vector/explicit_instantiation.cc: New.
1001         * testsuite/23_containers/map/explicit_instantiation.cc: New.
1002         * testsuite/23_containers/set/explicit_instantiation.cc: New.
1003         * testsuite/23_containers/multimap/explicit_instantiation.cc: New.
1004         * testsuite/23_containers/multiset/explicit_instantiation.cc: New.
1005         * testsuite/ext/hash_set_explicit_instantiation.cc: New.
1006         * testsuite/ext/slist_explicit_instantiation.cc: New.
1007
1008 2004-07-30  Paolo Carlini  <pcarlini@suse.de>
1009
1010         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
1011         num_get<>::_M_extract_int): In the main parsing loop delay the
1012         life of __q to the actual use point.
1013
1014 2004-07-29  Paolo Carlini  <pcarlini@suse.de>
1015
1016         PR libstdc++/14220
1017         * include/bits/locale_facets.tcc (num_put<>::_M_insert_float):
1018         Don't clip the precision passed down to __convert_from_v:
1019         22.2.2.2.2 nowhere says so.
1020         * testsuite/22_locale/num_put/put/char/14220.cc: New.
1021         * testsuite/22_locale/num_put/put/wchar_t/14220.c: Likewise.
1022
1023 2004-07-29  Paolo Carlini  <pcarlini@suse.de>
1024
1025         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 31.
1026
1027 2004-07-29  Paolo Carlini  <pcarlini@suse.de>
1028             Petur Runolfsson  <peturr02@ru.is>
1029
1030         PR libstdc++/12658 (continued)
1031         * src/locale_init.cc (locale::locale, locale::global): Use
1032         a single locale_mutex instead of two separate mutexes.
1033
1034 2004-07-29  Paolo Carlini  <pcarlini@suse.de>
1035
1036         PR libstdc++/16813
1037         * include/debug/map.h (insert(_InputIterator, _InputIterator)):
1038         Fix typo.
1039         * testsuite/23_containers/map/insert/16813.cc: New.
1040
1041 2004-07-29  Phil Edwards  <phil@codesourcery.com>
1042
1043         * docs/html/faq/index.html:  Update version references.  Make
1044         clear that code from SGI has diverged greatly.  Remove references
1045         to library snapshots and what's-new sections.
1046         * docs/html/faq/index.txt:  Regenerate.
1047
1048 2004-07-28  Matt Austern  <austern@apple.com>
1049
1050         * include/bits/stl_construct.h (_Destroy): New three-argument
1051         overload that takes an allocator argument.  Another inline
1052         three-argument overload that takes std::allocator and dispatches
1053         to the two-argument version.
1054         * include/bits/stl_uninitialized.h (__uninitialized_fill_n_aux):
1055         Change return type to void to match uninitialized_fill_n.
1056         (__uninitialized_copy_a_): New function.  Like uninitialized_copy
1057         except that it takes an allocator and uses it for construct and
1058         destroy.  If the allocator is std::allocator, dispatches to
1059         uninitialized_copy.
1060         (__uninitialized_fill_a): Likewise.
1061         (__uninitialized_fill_n_a): Likewise.
1062         (__uninitialized_copy_copy): Give it an allocator argument.
1063         (__uninitialized_fill_copy): Likewise.
1064         (__uninitialized_copy_fill): Likewise.
1065         * include/bits/deque.tcc: Use new forms defined in stl_construct.h
1066         and stl_uninitialized.h.  Replace use of single-argument _Construct
1067         and _Destroy with use of allocator's construct and destroy methods.
1068         * include/bits/list.tcc: Likewise.
1069         * include/bits/stl_deque.h: Likewise.
1070         * include/bits/stl_list.h: Likewise.
1071         * include/bits/stl_tree.h: Likewise.
1072         * include/bits/stl_vector.h: Likewise.
1073         * include/bits/vector.tcc: Likewise.
1074         * include/ext/hashtable.h: Use rebind so that allocator_type
1075         has correct type for a container's allocator.  Replace use of
1076         single-argument _Construct and _Destroy with use of allocator's
1077         construct and destroy methods.
1078         * include/ext/memory (__uninitialized_copy_n_a): New function.
1079         Like uninitialized_copy_n except that it takes an extra parameter,
1080         an allocator, and uses it for construct and destroy operations.
1081         * include/ext/rope: Use new forms defined in stl_construct.h,
1082         stl_uninitialized.h, and ext/memory.  Replace use of single-argument
1083         _Construct and _Destroy with allocator construct and destroy methods.
1084         * include/ext/ropeimpl.h: Likewise.
1085         * include/ext/slist.h: Likewise.
1086         * testsuite/testsuite_allocator.h (check_construct_destroy): New.
1087         * testsuite/testsuite_allocator.cc (check_construct_destroy): New.
1088         * testsuite/23_containers/deque/check_construct_destroy.cc: New.
1089         * testsuite/23_containers/list/check_construct_destroy.cc: New.
1090         * testsuite/23_containers/set/check_construct_destroy.cc: New.
1091         * testsuite/23_containers/vector/check_construct_destroy.cc: New.
1092         * testsuite/ext/hash_check_construct_destroy.cc: New.
1093         * testsuite/ext/slist_check_construct_destroy.cc: New.
1094
1095 2004-07-28  Alexandre Oliva  <aoliva@redhat.com>
1096
1097         2003-10-01  Eric Christopher  <echristo@redhat.com>
1098         * config/cpu/sh/atomicity.h (__exchange_and_add): Remove 'm'
1099         constraint.
1100         2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
1101         * config/cpu/sh/atomicity.h: New.  Use movli and movco on SH4a.
1102
1103 2004-07-23  Benjamin Kosnik  <bkoz@redhat.com>
1104
1105         PR libstdc++/16678
1106         * include/bits/locale_facets.tcc: Fix for -Werror.
1107
1108 2004-07-23  Jonathan Wakely  <redi@gcc.gnu.org>
1109
1110         * docs/html/debug.html: Say debug mode only available since 3.4.0.
1111
1112 2004-07-21  Benjamin Kosnik  <bkoz@redhat.com>
1113
1114         * docs/doxygen/mainpage.html: Clarify links.
1115         * docs/doxygen/stdheader.cc: Add files.
1116         * docs/doxygen/style.css: Remove bolds, add h2, h3 styles.
1117         * docs/doxygen/user.cfg.in: New options, wrap.
1118
1119 2004-07-20  Danny Smith  <dannysmith@users.sourceforge.net>
1120
1121         * include/c_std/std_cwchar.h (wcsstr): Correct signature.
1122
1123 2004-07-19  Benjamin Kosnik  <bkoz@redhat.com>
1124
1125         PR libstdc++/15488
1126         * testsuite/lib/libstdc++.exp (v3-copy-files): Revert.
1127
1128 2004-07-17  Richard Sandiford  <rsandifo@redhat.com>
1129
1130         PR bootstrap/16469
1131         * scripts/create_testsuite_files: Pass -print to find.
1132
1133 2004-07-15  Paolo Carlini  <pcarlini@suse.de>
1134
1135         * docs/html/ext/lwg-active.html, lwg-defects.html: Import Revision 30.
1136         * docs/html/ext/howto.html: Tweak entries for DRs 167/253/389/402.
1137
1138 2004-07-15  Jakub Jelinek  <jakub@redhat.com>
1139
1140         PR libstdc++/14697
1141         * acinclude.m4 (glibcxx_shared_libgcc): Correct
1142         glibcxx_shared_libgcc test for multilibs.
1143         * configure: Rebuilt.
1144
1145 2004-07-14  Paolo Carlini  <pcarlini@suse.de>
1146
1147         PR libstdc++/16505
1148         * include/bits/stl_uninitialized.h (uninitialized_fill_n): Fix
1149         the signature to return void, as per 20.4.4.3.
1150         * include/bits/stl_vector.h (vector::vector(size_type,
1151         const value_type&, const allocator_type&), vector::vector(size_type),
1152         vector::_M_initialize_dispatch): Adjust callers.
1153         * include/bits/vector.tcc (vector<>::_M_fill_assign,
1154         vector<>::_M_fill_insert): Likewise.
1155         * testsuite/20_util/memory/16505.cc: New.
1156
1157 2004-07-14  Paolo Carlini  <pcarlini@suse.de>
1158
1159         * testsuite/22_locale/locale/cons/12658_thread-1.cc,
1160         12658_thread-2.cc: Use __gnu_test::try_named_locale.
1161
1162 2004-07-13  Benjamin Kosnik  <bkoz@redhat.com>
1163
1164         * docs/html/ext/mt_allocator.html: Add docs for _Tune.
1165         * include/ext/mt_allocator.h (__mt_alloc::_S_get_options): Make public.
1166         (__mt_alloc::_S_set_options): Same.
1167         Add to comments.
1168
1169 2004-07-13  Benjamin Kosnik  <bkoz@redhat.com>
1170
1171         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add allocator defaults
1172         for linux.
1173         * configure: Regenerated.
1174
1175 2004-07-13  Paolo Carlini  <pcarlini@suse.de>
1176
1177         * testsuite/22_locale/locale/cons/12658_thread.cc: Move/rename
1178         to 12658_thread-1.cc and xfail.
1179         * testsuite/22_locale/locale/cons/12658_thread-2.c: New, much
1180         simpler version of 12658_thread-1.cc, still failing on 3_3 and
1181         not failing on 3_4/mainline - both on single processor and
1182         multiprocessor machines.
1183
1184 2004-07-12  Benjamin Kosnik  <bkoz@redhat.com>
1185
1186         * docs/html/abi.html: Remove non-public qualification.
1187
1188         * include/bits/concurrence.h: Tweak comments.
1189
1190 2004-07-11  Paolo Carlini  <pcarlini@suse.de>
1191
1192         Add wchar_t counterparts of the basic_streambbuf<char> tests.
1193         * testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc: New.
1194         * testsuite/27_io/basic_streambuf/imbue/wchar_t/1.cc, 9322.cc:
1195         Likewise.
1196         * testsuite/27_io/basic_streambuf/in_avail/wchar_t/9701-3.cc: Likewise.
1197         * testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc, 2.cc,
1198         3599.cc: Likewise.
1199         * testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc: Likewise.
1200         * testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise.
1201         * testsuite/27_io/basic_streambuf/sputbackc/wchar_t/9538.cc: Likewise.
1202         * testsuite/27_io/basic_streambuf/sputc/wchar_t/1057.cc: Likewise.
1203         * testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc, 1057.cc:
1204         Likewise.
1205         * testsuite/27_io/basic_streambuf/sync/wchar_t/1057.cc: Likewise.
1206
1207         * testsuite/27_io/basic_streambuf/imbue/char/1.cc, 9322.cc: Minor
1208         tweaks.
1209         * testsuite/27_io/basic_streambuf/overflow/char/2.cc, 3599.cc:
1210         Likewise.
1211         * testsuite/27_io/basic_streambuf/sputn/char/1057.cc: Likewise.
1212         * testsuite/27_io/basic_streambuf/sync/char/1057.cc: Likewise.
1213
1214 2004-07-11  Phil Edwards  <phil@codesourcery.com>
1215
1216         * acinclude.m4:  Cosmetic shell syntax fixes.
1217         * configure.ac:  Bring comment inline with reality.
1218         * configure.host:  Both of the above.  Move 'arm' case to right
1219         place in host_cpu switch.
1220         * aclocal.m4, configure:  Regenerate.
1221
1222 2004-07-09  Paolo Carlini  <pcarlini@suse.de>
1223
1224         Add wchar_t counterparts of the basic_stringbuf<char> tests.
1225         * testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc, 9322.cc: New.
1226         * testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc: Likewise.
1227         * testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc, 2.cc,
1228         3599.cc, 9988.cc: Likewise.
1229         * testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc, 9825.cc:
1230         Likewise.
1231         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc, 2.cc:
1232         Likewise.
1233         * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc, 2.cc, 3.cc:
1234         Likewise.
1235         * testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc, 2.cc, 3.cc:
1236         Likewise.
1237         * testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Likewise.
1238         * testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Likewise.
1239         * testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Likewise.
1240         * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc, 9425.cc:
1241         Likewise.
1242         * testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc, 1057.cc,
1243         9404-1.cc: Likewise.
1244         * testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc, 1057.cc,
1245         9404-2.cc: Likewise.
1246         * testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc, 2.cc, 3.cc,
1247         3955.cc: Likewise.
1248         * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Likewise.
1249         * testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc: Likewise.
1250
1251 2004-07-08  Paolo Carlini  <pcarlini@suse.de>
1252
1253         * include/bits/gslice.h: Trivial formatting fixes.
1254         * include/bits/gslice_array.h: Likewise.
1255         * include/bits/indirect_array.h: Likewise.
1256         * include/bits/mask_array.h: Likewise.
1257         * include/bits/slice_array.h: Likewise.
1258         * include/bits/valarray_after.h: Likewise.
1259         * include/bits/valarray_array.h: Likewise.
1260         * include/bits/valarray_before.h: Likewise.
1261         * include/std/std_valarray.h: Likewise.
1262
1263 2004-07-08  Benjamin Kosnik  <bkoz@redhat.com>
1264
1265         PR c++/16169
1266         * include/bits/basic_string.h (basic_string::operator=): Revert.
1267
1268 2004-07-07  Benjamin Kosnik  <bkoz@redhat.com>
1269
1270         * configure.ac (libtool_VERSION): To 6:2:0.
1271         * configure: Regenerated.
1272
1273         * testsuite/testsuite_abi.cc (check_version): Add 3.4.2.
1274
1275 2004-07-07  Aaron W. LaFramboise  <aaronraolete36@aaronwl.com>
1276
1277         PR libstdc++/16411
1278         * config/linker-map.gnu: Add stdio_sync_filebuf::file exports.
1279
1280 2004-07-07  Benjamin Kosnik  <bkoz@redhat.com>
1281
1282         * docs/html/abi.html: Updates for 3.4.1 release. Add summary of
1283         -Weffc++ issues.
1284
1285 2004-07-07  Paolo Carlini  <pcarlini@suse.de>
1286
1287         PR libstdc++/16401
1288         * include/bits/sstream.tcc (overflow): When reallocating _M_string
1289         use an exponential grow policy.
1290         * testsuite/27_io/basic_stringbuf/overflow/char/1.cc: New.
1291         * testsuite/performance/27_io/stringbuf_overflow.cc: New.
1292
1293 2004-07-06  Anssi Hannula  <anssi.hannula@mbnet.fi>
1294
1295         PR libstdc++/15928
1296         * crossconfig.m4: Add in bits for djgpp.
1297         * configure: Regenerate.
1298
1299 2004-07-05  Jonathan Wakely  <redi@gcc.gnu.org>
1300
1301         * testsuite/23_containers/{set,multiset}/14340.cc: Fix typos in
1302         instantiation of set and multiset (functor param given as int).
1303
1304 2004-07-04  Paolo Carlini  <pcarlini@suse.de>
1305
1306         * include/bits/basic_string.h: Trivial formatting fixes and/or
1307         const-ification of some variables.
1308         * include/bits/deque.tcc: Likewise.
1309         * include/bits/stl_algobase.h: Likewise.
1310         * include/bits/stl_bvector.h: Likewise.
1311         * include/bits/stl_construct.h: Likewise.
1312         * include/bits/stl_deque.h: Likewise.
1313         * include/bits/stl_pair.h: Likewise.
1314         * include/bits/stl_vector.h: Likewise.
1315         * include/bits/vector.tcc: Likewise.
1316
1317 2004-07-04  Paolo Carlini  <pcarlini@suse.de>
1318
1319         * testsuite/25_algorithms/copy/1.cc: Add instantiations for
1320         systems with no COMDAT or weak support.
1321         * testsuite/25_algorithms/copy/2.cc: Likewise.
1322         * testsuite/25_algorithms/copy/3.cc: Likewise.
1323         * testsuite/25_algorithms/copy/4.cc: Likewise.
1324
1325 2004-07-03  Paul Brook  <paul@codesourcery.com>
1326
1327         * configure.ac: Set ABI_TWEAKS_SRCDIR.
1328         * configure.host: Set abi_tweaks_dir.  Check for atomicity.h when
1329         setting atomicity_dir.  Override type_cpu for arm based targets.
1330         * include/Makefile.am (host_headers): Add cxxabi_tweaks.h.
1331         * libsupc++/cxxabi.h: Include bits/cxxabi.h. Don't declare __guard.
1332         * libsupc++/guard.cc: Use definitions from cxxabi_tweaks.h.
1333         * libsupc++/vec.cc: Ditto.
1334         * config/cpu/arm/cxxabi_tweaks.h: New file.
1335         * config/cpu/generic/cxxabi_tweaks.h: New file.
1336         * */Makefile.in: Regenerate.
1337         * configure: Regenerate.
1338
1339 2004-07-02  Paolo Carlini  <pcarlini@suse.de>
1340
1341         * include/bits/type_traits.h (_Is_normal_iterator): Move...
1342         * include/bits/cpp_type_traits.h: ... here, renamed to
1343         __is_normal_iterator and consistent with the other traits.
1344         * include/bits/stl_algobase.h (__copy_ni1, __copy_ni2): Convert
1345         to the struct __copy_normal and three specializations.
1346         (__copy_backward_output_normal_iterator,
1347         __copy_backward_input_normal_iterator): Likewise, convert to
1348         the struct __copy_backward_normal and three specializations.
1349         (copy, copy_backward): Use the latter.
1350         (__copy_aux, __copy_backward_aux): Very minor tweaks.
1351
1352 2004-07-01  Paolo Carlini  <pcarlini@suse.de>
1353
1354         * include/bits/stl_algobase.h (__copy_trivial): Remove.
1355         (__copy_aux2): Rewrite as __copy_aux to use __is_pointer,
1356         __is_trivially_copyable, __are_same and __copy::copy.
1357         (__copy): Rewrite as a class template and two specializations.
1358         (__copy_ni2): Simplify, just call __copy_aux.
1359
1360         * include/bits/stl_algobase.h (__copy_backward_aux): Add __are_same
1361         check.
1362         * testsuite/25_algorithms/copy/1.cc, 2.cc, 3.cc, 4.cc: Test also
1363         for destination value type != source value type.
1364
1365 2004-07-01  Benjamin Kosnik  <bkoz@redhat.com>
1366             Per Bothner  <per@bothner.com>
1367             Mohan Embar  <gnustuff@thisiscool.com>
1368
1369         PR libstdc++/16248
1370         * include/bits/concurrence.h (__glibcxx_mutex_type): New.
1371         (__glibcxx_mutex): Encapsulate mutex init function into type for
1372         threaded configurations without __GTHREAD_MUTEX_INIT.
1373         (lock::lock): Make device member a reference.
1374         (lock::~lock): Same.
1375         * include/ext/pool_allocator.h (__pool_base::_M_get_mutex): Change
1376         to mutex_type.
1377         * src/allocator.cc: Same.
1378
1379 2004-06-30  Brad Spencer  <spencer@infointeractive.com>
1380
1381         * include/ext/mt_allocator.h: Handle allocations at static
1382         initialization that happen before _S_options is (automatically)
1383         constructed; set _S_init even if _M_force_new is true.
1384
1385 2004-06-30  Benjamin Kosnik  <bkoz@redhat.com>
1386
1387         * config/linker-map.gnu: Revert new exports.
1388
1389 2004-06-30  Benjamin Kosnik  <bkoz@redhat.com>
1390             Stuart Anderson  <anderson@netsweng.com>
1391
1392         * config/linker-map.gnu: Add destructor exports for abstract base
1393         classes to conform to LSB.
1394
1395 2004-06-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1396             Paolo Carlini  <pcarlini@suse.de>
1397
1398         * include/bits/cpp_type_traits.h: Add __is_pointer and
1399         __is_trivially_copyable.
1400         * include/bits/stl_algobase.h (fill, fill_n): Slightly
1401         tweak to use the latter.
1402         (__copy_backward_dispatch): Remove.
1403         (__copy_backward_aux): Rewrite to use __is_pointer and
1404         __is_trivially_copyable and __copy_backward::copy_b.
1405         (__copy_backward): Rewrite as a class template and two
1406         specializations.
1407
1408 2004-06-30  Paolo Carlini  <pcarlini@suse.de>
1409
1410         * testsuite/25_algorithms/copy.cc: Move to...
1411         * testsuite/25_algorithms/copy/1.cc: ... here, extend.
1412         * testsuite/25_algorithms/copy/2.cc: New.
1413         * testsuite/25_algorithms/copy/3.cc: New.
1414         * testsuite/25_algorithms/copy/4.cc: New.
1415
1416 2004-06-29  Paul Brook  <paul@codesourcery.com>
1417
1418         * libsupc++/vec.cc (__cxa_vec_new2, __cxa_vec_new3): Store the
1419         element size in the cookie.
1420
1421 2004-06-28  Paolo Carlini  <pcarlini@suse.de>
1422
1423         * include/bits/cpp_type_traits.h: Move the additions to
1424         namespace __gnu_internal outside of namespace std; trivial
1425         formatting fixes.
1426
1427 2004-06-28  Benjamin Kosnik  <bkoz@redhat.com>
1428
1429         * include/debug/safe_base.h (__gnu_debug::_Safe_sequence_base):
1430         Revert -Weffc++ changes that defined copy ctory and or assignment
1431         operator.
1432         * libsupc++/tinfo.cc (__upcast_result): Same.
1433
1434 2004-06-28  Paolo Carlini  <pcarlini@suse.de>
1435
1436         * src/localename.cc (locale::_Impl::_Impl): Slightly improve
1437         the algorithm used to name the categories.
1438
1439 2004-06-28  Paolo Bonzini  <bonzini@gnu.org>
1440
1441         * include/Makefile.am: Give a .gch extension to
1442         the PCH files, not only to the directory.
1443         * include/Makefile.in: Regenerate.
1444
1445 2004-06-28  Paolo Carlini  <pcarlini@suse.de>
1446
1447         * config/locale/gnu/monetary_members.cc
1448         (moneypunct<wchar_t>::_M_initialize_moneypunct): Clean up
1449         assignments of _M_decimal_point and _M_thousands_sep.
1450
1451 2004-06-27  Paolo Carlini  <pcarlini@suse.de>
1452
1453         * docs/html/17_intro/contribute.html: Update some links.
1454         * docs/html/17_intro/porting-howto.html: Likewise.
1455         * docs/html/17_intro/porting-howto.xml: Likewise.
1456         * docs/html/18_support/howto.html: Likewise.
1457         * docs/html/21_strings/howto.html: Likewise.
1458         * docs/html/27_io/howto.html: Likewise.
1459         * docs/html/configopts.html: Likewise.
1460         * docs/html/ext/howto.html: Likewise.
1461         * docs/html/faq/index.html: Likewise.
1462         * docs/html/install.html: Don't mention 2.x compilers.
1463
1464 2004-06-27  Paolo Carlini  <pcarlini@suse.de>
1465
1466         * include/ext/rope: Trivial formatting fixes.
1467         * include/ext/ropeimpl.h: Likewise.
1468
1469 2004-06-26  Paolo Carlini  <pcarlini@suse.de>
1470
1471         PR libstdc++/16210
1472         * acinclude.m4 (GLIBCXX_ENABLE_LONG_LONG): Do not check for the
1473         availability of strto(u)ll, not used anymore in the iostreams.
1474         * configure: Regenerate.
1475
1476 2004-06-25  Benjamin Kosnik  <bkoz@redhat.com>
1477
1478         PR libstdc++/16182
1479         * linkage.m4 (GLIBCXX_CHECK_BUILTIN_MATH_DEC): Revert to
1480         AC_DEFINE_UNQUOTED.
1481         * configure: Regenerate.
1482
1483 2004-06-25  Paul Brook  <paul@codesourcery.com>
1484
1485         * libsupc++/cxxabi.h: Define __ARM_EABI__
1486         (__guard): Use it.
1487         * libsupc++/guard.h (__cxa_guard_acquire, __cxa_guard_release): Ditto.
1488
1489 2004-06-25  Paul Brook  <paul@codesourcery.com>
1490
1491         * include/bits/concurrence.h: Still create mutex object when
1492         single-threaded.
1493
1494 2004-06-25  Paolo Carlini  <pcarlini@suse.de>
1495
1496         * include/bits/stl_algobase.h (fill, fill_n): Revert last
1497         change: actually we need to copy construct an object of type
1498         _Tp, not of type iterator_traits<>::value_type, therefore the
1499         code is ok.
1500
1501 2004-06-25  Paolo Carlini  <pcarlini@suse.de>
1502
1503         * include/bits/stl_algobase.h (fill, fill_n): Tighten the
1504         dispatch: use iterator_traits<>::value_type, not _Tp.
1505
1506 2004-06-25  Paolo Carlini  <pcarlini@suse.de>
1507
1508         * testsuite/25_algorithms/fill/1.cc: Tweak instantiations.
1509         * testsuite/25_algorithms/fill/2.cc: Likewise.
1510
1511 2004-06-25  Dan Nicolaescu  <dann@ics.uci.edu>
1512             Paolo Carlini  <pcarlini@suse.de>
1513
1514         * include/bits/stl_algobase.h (__fill, __fill_n): New helpers
1515         for fill and fill_n, respectively: when copying is cheap, use a
1516         temporary to avoid a memory read in each iteration.
1517
1518 2004-06-25  Paolo Carlini  <pcarlini@suse.de>
1519
1520         * testsuite/25_algorithms/fill/1.cc: New.
1521         * testsuite/25_algorithms/fill/2.cc: Likewise.
1522
1523 2004-06-25  Benjamin Kosnik  <bkoz@redhat.com>
1524
1525         * include/debug/formatter.h (__gnu_debug::_Error_formatter):
1526         Remove copy constructor and assignment operator.
1527
1528 2004-06-24  Benjamin Kosnik  <bkoz@redhat.com>
1529
1530         * include/bits/concurrence.h (__gnu_cxx::lock): New.
1531         * include/ext/pool_allocator.h (__pool_base::_Lock::_S_lock): Remove.
1532         (__pool_base::_M_get_mutex): New.
1533         * include/bits/allocator.h: Tweak.
1534         * src/allocator.cc (__pool_base::_M_get_free_list): Correct offset.
1535         * config/linker-map.gnu: Remove __pool_base::_Lock::_S_lock.
1536         * include/bits/stl_threads.h: Remove.
1537         * include/Makefile.am: Also here.
1538         * include/Makefile.in: Regenerate.
1539
1540         * src/locale_init.cc: Use __gnu_cxx::lock.
1541
1542         * src/allocator.cc: Move all instantiations...
1543         * src/allocator-inst.cc: ...here.
1544
1545 2004-06-23  Andrew Pinski  <apinski@apple.com>
1546
1547         * linkage.m4: Remove check for libmx.
1548         * configure: Regenerate.
1549
1550 2004-06-23  Paolo Carlini  <pcarlini@suse.de>
1551
1552         PR libstdc++/16154
1553         * include/bits/boost_concept_check.h (struct _TrivialIteratorConcept):
1554         Don't require the _DefaultConstructibleConcept.
1555         (struct _ForwardIteratorConcept): Require it here.
1556
1557 2004-06-22  Alexandre Oliva  <aoliva@redhat.com>
1558
1559         * include/bits/istream.tcc (getline): Make sure arguments passed
1560         to min/max have the same type.
1561         * include/bits/locale_facets.tcc (__verify_grouping): Likewise.
1562         * include/bits/stl_deque.h (_Deque_base::_Deque_base): Likewise.
1563
1564 2004-06-22  Benjamin Kosnik  <bkoz@redhat.com>
1565
1566         * docs/html/abi.html: Update links.
1567
1568 2004-06-22  Paolo Carlini  <pcarlini@suse.de>
1569
1570         * testsuite/26_numerics/complex_inserters_extractors.cc,
1571         complex_value.cc, buggy_complex.cc: Move to...
1572         * testsuite/26_numerics/complex/: ... here.
1573         * testsuite/26_numerics/c99_classification_macros_c++.cc,
1574         c99_classification_macros_c.cc, c_math.cc, c_math_dynamic.cc,
1575         fabs_inline.cc: Move to...
1576         * testsuite/26_numerics/cmath/: ... here.
1577         * testsuite/26_numerics/binary_closure.cc, slice.cc,
1578         slice_array_assignment.cc, valarray.cc, valarray_const_bracket.cc,
1579         valarray_name_lookup.cc, valarray_operators.cc,
1580         valarray_subset_assignment.cc: Move to...
1581         * testsuite/26_numerics/valarray/: ... here (new dir).
1582         * testsuite/26_numerics/sum_diff.cc: Move to...
1583         * testsuite/26_numerics/numeric/: ... here (new dir).
1584
1585 2004-06-22  Paolo Carlini  <pcarlini@suse.de>
1586
1587         * include/std/std_istream.h (ignore(streamsize __n = 1,
1588         int_type __delim = traits_type::eof())): Split into...
1589         (ignore(), ignore(streamsize __n), ignore(streamsize __n,
1590         int_type __delim)): The first two can be much more simpler
1591         and efficient than the fully general case; also, the last
1592         two can take advantage of the same mechanism already used
1593         for getline.
1594         * include/bits/istream.tcc (ignore(streamsize __n = 1,
1595         int_type __delim = traits_type::eof()): Remove.
1596         (ignore(), ignore(streamsize __n), ignore(streamsize __n,
1597         int_type __delim)): New.
1598
1599 2004-06-21  Loren J. Rittle  <ljrittle@acm.org>
1600
1601         * config/linker-map.gnu: Use wildcards for
1602         __basic_file::sys_open(FILE*, _Ios_Openmode).
1603
1604 2004-06-20  Paolo Carlini  <pcarlini@suse.de>
1605
1606         * testsuite/27_io/basic_istream/ignore/char/3.cc: New.
1607
1608 2004-06-18  Paolo Carlini  <pcarlini@suse.de>
1609
1610         * include/ext/mt_allocator (__mt_alloc<>::_Tune): Add _M_align,
1611         the alignment requested.
1612         (__mt_alloc<>::_Tune::_Tune): Tweak consistently.
1613         (__mt_alloc<>::allocate): Use it instead of sizeof(_Block_record).
1614         (__mt_alloc<>::deallocate): Likewise.
1615
1616 2004-06-18  Paolo Carlini  <pcarlini@suse.de>
1617
1618         PR libstdc++/16020
1619         * include/debug/safe_base.h
1620         (_Safe_sequence_base::_Safe_sequence_base(const _Safe_sequence_base&),
1621         _Safe_sequence_base::operator=): Provide definitions.
1622         * testsuite/23_containers/bitset/cons/16020.cc: New.
1623
1624 2004-06-18  Benjamin Kosnik  <bkoz@redhat.com>
1625
1626         * include/ext/pool_allocator.h: Qualify __throw_bad_alloc.
1627         (__pool_base): Remove unused template parameter.  Add
1628         protected. Move lock data into __pool_base::_Lock. Remove static
1629         on member functions.
1630         (__pool_base::_M_get_free_list): New.
1631         (__pool_alloc): Move _S_force new here.
1632         * src/allocator.cc: Move out of line __pool_base definitions here.
1633         * config/linker-map.gnu: Export bits from __pool_base.
1634
1635 2004-06-18  Paolo Carlini  <pcarlini@suse.de>
1636
1637         * config/locale/gnu/numeric_members.cc
1638         (numpunct<wchar_t>::_M_initialize_numpunct): Clean up
1639         assignments of _M_decimal_point and _M_thousands_sep.
1640         * config/locale/gnu/time_members.cc
1641         (__timepunct<wchar_t>::_M_initialize_timepunct): Clean up
1642         and reformat assignments of date and time fields.
1643
1644 2004-06-16  Paolo Carlini  <pcarlini@suse.de>
1645
1646         * include/ext/rope (rope(_CharT, const allocator_type&)): Fix
1647         to use _Data_allocate.
1648         * include/ext/ropeimpl.h (rope<>::_S_leaf_concat_char_iter): Likewise.
1649         (rope<>::_S_substring): Likewise.
1650         (rope<>::rope(size_t, _CharT, const allocator_type&)): Likewise.
1651         (rope<>::c_str()): Likewise.
1652         (rope<>::replace_with_c_str()): Likewise.
1653
1654         * include/ext/ropeimpl.h (_Rope_iterator_base<>::_S_setbuf):
1655         Correctly qualify _S_leaf, _S_function, etc., with _Rope_constants::,
1656         not _RopeRep.
1657         (_Rope_iterator_base<>::_S_setcache): Likewise.
1658         (_Rope_iterator_base<>::_S_setcache_for_incr): Likewise.
1659         (rope<>::_S_substring): Likewise.
1660         (rope<>::_S_dump): Likewise.
1661         (rope<>::_S_fetch_ptr): Likewise.
1662         (rope<>::_S_compare): Likewise.
1663         (rope<>::replace_with_c_str()): Likewise.
1664
1665         * testsuite/ext/rope.cc: Rename to testsuite/ext/rope/1.cc.
1666         * testsuite/ext/rope/2.cc: New.
1667
1668 2004-06-16  Paolo Carlini  <pcarlini@suse.de>
1669             Matt Austern  <austern@apple.com>
1670
1671         * testsuite/ext/rope/3.cc: New.
1672
1673 2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
1674
1675         * acinclude.m4: Remove useless multilib configury.
1676         * Makefile.am: Remove useless multilib rules.
1677         * aclocal.m4: Regenerate.
1678         * Makefile.in: Regenerate.
1679         * configure: Regenerate.
1680
1681 2004-06-15  Paolo Carlini  <pcarlini@suse.de>
1682
1683         * include/ext/hashtable.h: Trivial formatting fixes.
1684         * include/ext/rb_tree: Likewise.
1685
1686 2004-06-14  Paolo Carlini  <pcarlini@suse.de>
1687
1688         * include/ext/hash_map: Trivial formatting fixes.
1689         * include/ext/hash_set: Likewise.
1690         * include/ext/memory: Likewise.
1691         * include/ext/numeric: Likewise.
1692
1693 2004-06-14  Benjamin Kosnik  <bkoz@redhat.com>
1694
1695         * Makefile.in: Regenerate with automake 1.8.5.
1696         * aclocal.m4: Same.
1697         * include/Makefile.in: Same.
1698         * libmath/Makefile.in: Same.
1699         * libsupc++/Makefile.in: Same.
1700         * po/Makefile.in: Same.
1701         * src/Makefile.in: Same.
1702         * testsuite/Makefile.in: Same.
1703
1704 2004-06-14  Paolo Carlini  <pcarlini@suse.de>
1705
1706         * include/ext/slist: Trivial formatting fixes.
1707
1708 2004-06-14  Paolo Carlini  <pcarlini@suse.de>
1709
1710         * include/bits/locale_facets.tcc (time_get<>::_M_extract_name):
1711         Don't use the 'magic number' 10 in the computation of __minlen;
1712         never access __name past __minlen; in the loop over __i3, don't
1713         decrease __nmatches and increase __i3 at once, only either of
1714         the two; tidy.
1715
1716 2004-06-13  Paolo Carlini  <pcarlini@suse.de>
1717
1718         * include/bits/locale_facets.tcc (time_get<>::do_get_time,
1719         time_get<>::do_get_date): Use only once _M_extract_via_format,
1720         instead of going through "%X"/"%x" and calling it two times
1721         (+ using widen).
1722
1723 2004-06-12  Paolo Carlini  <pcarlini@suse.de>
1724
1725         * include/ext/algorithm: Trivial formatting fixes.
1726         * include/ext/functional: Likewise.
1727         * include/ext/hash_fun.h: Likewise.
1728         * include/ext/iterator: Likewise.
1729
1730 2004-06-12  Paolo Carlini  <pcarlini@suse.de>
1731
1732         * include/bits/basic_string.tcc (find(const _CharT*, size_type,
1733         size_type)): Reimplement using std::search.
1734         * src/string-inst.cc: Instantiate std::search for char/wchar_t.
1735
1736 2004-06-12  Dhruv Matani  <dhruvbird@gmx.net>
1737
1738         * testsuite/performance/21_strings/string_find.cc: New.
1739
1740 2004-06-10  Aaron W. LaFramboise  <aaronraolete36@aaronwl.com>
1741
1742         * include/bits/istream.tcc (istream::ignore): Fix for -Wuninitialized.
1743
1744 2004-06-10  Jan van Dijk  <jan@etpmod.phys.tue.nl>
1745
1746         * include/std/std_complex.h (sin(const complex<_Tp>& __z)): Make
1747         this function return a value.
1748
1749 2004-06-09  Paolo Carlini  <pcarlini@suse.de>
1750
1751         PR libstdc++/15775
1752         * include/bits/stl_deque.h: Consistently with stl_set.h, define
1753         pointer as allocator's pointer, likewise for reference,
1754         const_pointer, and const_reference.
1755         * include/bits/stl_list.h: Likewise.
1756         * include/bits/stl_map.h: Likewise.
1757         * include/bits/stl_multimap.h: Likewise.
1758         * include/bits/stl_vector.h: Likewise.
1759
1760 2004-06-09  Benjamin Kosnik  <bkoz@redhat.com>
1761
1762         * crossconfig.m4: Remove signbit, signbitf, signbitl.
1763         * linkage.m4: Comment LIBMATHOBJS, tweak others.  AC_DEFINES for
1764         builtin math functions instead of AC_DEFINE_UNQUOTED.
1765         * configure: Regenerate.
1766
1767 2004-06-08  Benjamin Kosnik  <bkoz@redhat.com>
1768
1769         * docs/doxygen/filter.sed: Rename _GLIBCXX_STD to std.
1770         * docs/doxygen/mainpage.html: Remove links.
1771
1772 2004-06-08  Jason Merrill  <jason@redhat.com>
1773
1774         * config/linker-map.gnu: Use wildcards for
1775         __basic_file::{xsgetn,xsputn,seekoff,xsputn_2}.
1776
1777 2004-06-08  Paolo Carlini  <pcarlini@suse.de>
1778
1779         * include/ext/pool_allocator.h: Convert to a global free-list,
1780         as per the original SGI/HP design: move the implementation
1781         details to struct __pool_base, from which __pool_alloc derives.
1782         * src/allocator.cc: Instantiate __pool_base.
1783
1784 2004-06-07  Dhruv Matani  <dhruvbird@gmx.net>
1785             Paolo Carlini  <pcarlini@suse.de>
1786
1787         * testsuite/testsuite_performance.h
1788         (resource_counter::allocated_memory): Make it return the right
1789         number of bytes requested by the allocators/application. This is
1790         the sbrk+mmaped memory.
1791
1792 2004-06-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1793
1794         * include/std/std_complex.h (log): Tidy.
1795
1796 2004-05-31  Benjamin Kosnik  <bkoz@redhat.com>
1797
1798         * config/linker-map.gnu (GLIBCXX_3.4.1): Add.
1799         * testsuite/testsuite_abi.cc: Same.
1800         * configure.ac (libtool_VERSION): Bump to 6:1:0.
1801         * configure: Regenerate.
1802         * aclocal.m4: Regenerate.
1803
1804 2004-05-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1805
1806         * include/std/std_complex.h (complex<_Tp>): Properly indent
1807         to follow C++STYLE.
1808         (complex<>::__rep): New.
1809         (__complex_abs): New.  Dispatch to built-ins.
1810         (abs): Use them.
1811         (__complex_arg): New. Dispatch to built-ins.
1812         (arg): Use it.
1813         (__complex_cos): New. Dispatch to built-ins.
1814         (cos): Use it.
1815         (__complex_cosh): New. Dispatch to built-ins.
1816         (cosh): Use it.
1817         (__complex_exp): New. Dispatch to built-ins.
1818         (exp): Use it.
1819         (__complex_log): New. Dispatch to built-ins.
1820         (log): Use it.
1821         (__complex_sin): New. Dispatch to built-ins.
1822         (sin): Use it.
1823         (__complex_sinh): New. Dispatch to built-ins.
1824         (sinh): Use it.
1825         (__complex_sqrt): New. Dispatch to built-ins.
1826         (sqrt): Use it.
1827         (__complex_tan): New. Dispatch to built-ins.
1828         (tan): Use it.
1829         (__complex_tanh): New. Dispatch to built-ins.
1830         (tanh): Use it.
1831         (__complex_pow): New. Dispatch to built-ins.
1832         (pow): Use it.
1833
1834 2004-05-29  Richard B. Kreckel  <Richard.Kreckel@Framatome-ANP.com>
1835             Benjamin Kosnik  <bkoz@redhat.com>
1836
1837         PR libstdc++/14600
1838         * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): New.
1839         * include/ext/stdio_filebuf.h (stdio_filebuf::file): New.
1840         * config/io/basic_file_stdio.cc (__basic_file::file): New.
1841         * config/io/basic_file_stdio.h: Define.
1842
1843 2004-05-27  Benjamin Kosnik  <bkoz@redhat.com>
1844
1845         PR libstdc++/15675
1846         * docs/html/documentation.html: Update doxygen links for 3.4.0.
1847
1848 2004-05-27  Jan Beulich  <jbeulich@novell.com>
1849
1850         * scripts/create_testsuite_files: Tweak.
1851
1852 2004-05-25  Benjamin Kosnik  <bkoz@redhat.com>
1853
1854         PR libstdc++/15489
1855         * scripts/create_testsuite_files: Revert xtype change, add non-GNU
1856         bits to do the same thing.
1857
1858 2004-05-24  Paolo Carlini  <pcarlini@suse.de>
1859
1860         * include/bits/istream.tcc (ignore): Correctly deal with
1861         n == numeric_limits<streamsize>::max().
1862         * testsuite/27_io/basic_istream/ignore/char/2.cc: New.
1863
1864         * include/bits/istream.tcc (basic_istream<>::getline): Prefer
1865         '_M_gcount + 1 < __n' to '--__n; _M_gcount < __n', just in case
1866         __n == numeric_limits<>::min().
1867
1868         * include/bits/istream.tcc: Minor tweaks.
1869
1870         * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
1871         Tighten.
1872         * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
1873         Likewise.
1874         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
1875         Likewise.
1876         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
1877         Likewise.
1878         * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
1879
1880 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
1881
1882         PR libstdc++/12854
1883         Fixups for -Weffc++.
1884         * include/bits/basic_string.h (basic_string::operator=): Return
1885         pointer to this instead of result of assign. Although redundant,
1886         this doesn't impact resultant codegen.
1887
1888         * include/bits/locale_facets.h (__numpunct_cache): Declare
1889         assignment opxserator and copy constructor private.
1890         (__timepunct_cache): Same.
1891         (__moneypunct_cache): Same.
1892         (collate): Use member initialization list for _M_c_locale_collate.
1893         * config/locale/gnu/messages_members.h: Same.
1894         * config/locale/gnu/time_members.h (__timepunct): Same.
1895         * src/codecvt.cc: Use member initialization list to initialize
1896         _M_c_locale_codecvt.
1897         * src/ctype.cc: Same, with _M_c_locale_ctype and _M_narrow_ok.
1898         * config/os/gnu-linux/ctype_noninline.h: Same.
1899         * src/locale.cc (_Impl): Same.
1900         * src/locale_init.cc: Same.
1901         * src/localename.cc: Same.
1902
1903         * include/bits/basic_ios.h (basic_ios): Complete member
1904         initialization list.
1905         * include/bits/istream.tcc (basic_istream::sentry): Same.
1906         * include/bits/ostream.tcc (basic_ostream::sentry): Same.
1907         * include/bits/fstream.tcc (basic_filebuf): Add _M_lock and
1908         _M_pback to member initialization list.
1909         * include/std/std_streambuf.h: Same.
1910         * include/std/std_sstream.h: Same, for _M_mode.
1911         * src/ios.cc (ios_base): Same.
1912
1913         * include/ext/rope: Make derived classes match exception
1914
1915          specifications. Add copy constructors and assignment operators.
1916
1917         * include/debug/safe_base.h (_Safe_sequence_base): Declare copy
1918         constructor and assignment operator protected.
1919         (_Safe_iterator_base): Same.
1920         * include/debug/formatter.h (_Error_formatter): Define copy
1921         constructor and assignment operator.
1922
1923         * include/backward/strstream: Declare assignment operator and copy
1924         constructor private.
1925
1926 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
1927
1928         * testsuite/testsuite_hooks.h (func_callback): Declare copy
1929         constructor and assignment operator private.
1930         * testsuite/23_containers/deque/cons/clear_allocator.cc: Match
1931         exception specifications of base class.
1932         * testsuite/23_containers/list/cons/clear_allocator.cc: Same.
1933         * testsuite/23_containers/vector/cons/clear_allocator.cc: Same.
1934         * testsuite/23_containers/vector/bool/clear_allocator.cc: New.
1935
1936 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
1937
1938         * libsupc++/cxxabi.h: Remove duplicated and useless public and
1939         private keywords in class declarations. Format. Use
1940         stddef.h. Expose declarations to "C" compilation.
1941         * libsupc++/tinfo.cc (__upcast_result): Add copy constructor and
1942         assignment operator.
1943         (__dyncast_result): Same.
1944         * libsupc++/vec.cc (uncatch_exception): Same, use member
1945         initialization list.
1946
1947 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
1948
1949         * testsuite/abi_check.cc: Add unistd.h.
1950
1951 2004-05-22  Paolo Carlini  <pcarlini@suse.de>
1952
1953         PR libstdc++/15565
1954         * include/bits/locale_facets.tcc (__int_to_char(unsigned long),
1955         __int_to_char(unsigned long long)): Showpos is not relevant
1956         for unsigned types.
1957         * testsuite/22_locale/num_put/put/char/15565.cc: New.
1958         * testsuite/22_locale/num_put/put/wchar_t/15565.cc: New.
1959
1960         * testsuite/22_locale/num_put/put/wchar_t/1.cc: Use L for the fill
1961         char.
1962         * testsuite/22_locale/num_put/put/wchar_t/2.cc: Likewise.
1963         * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
1964         * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
1965         * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
1966         * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
1967         * testsuite/22_locale/num_put/put/wchar_t/8.cc: Likewise.
1968
1969 2004-05-21  Matthias Klose  <doko@debian.org>
1970
1971         * docs/doxygen/run_doxygen:  Bump required version.
1972
1973 2004-05-21  Benjamin Kosnik  <bkoz@redhat.com>
1974
1975         * docs/html/abi.html (libgcc_s): Additions suggested by Matthias Klose.
1976         * docs/doxygen/Intro.3: Subtractions suggested by Phil Edwards.
1977
1978 2004-05-21  Paolo Carlini  <pcarlini@suse.de>
1979
1980         * include/bits/istream.tcc (ignore): Remove redundant line.
1981         (readsome): Tidy, closely following 27.6.1.3, p30.
1982
1983 2004-05-20  Paolo Carlini  <pcarlini@suse.de>
1984
1985         * include/bits/istream.tcc (operator>>(basic_istream<>&,
1986         basic_string<>&)): Use a temporary buffer, thus avoiding
1987         reallocation for common case.
1988         * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
1989         New.
1990         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
1991         Likewise.
1992
1993         * include/bits/istream.tcc: Const-ification of a few variables.
1994
1995         * include/bits/ostream.tcc: Trivial formatting fixes and
1996         const-ification of some variables.
1997
1998 2004-05-20  Benjamin Kosnik  <bkoz@redhat.com>
1999
2000         PR libstdc++/15123
2001         PR libstdc++/13928
2002         * docs/doxygen/Intro.3: Remove Allocators.3.
2003         Add new extension headers, extension namespace list.
2004         * docs/doxygen/run_doxygen (problematic): Remove Allocators.3
2005         Rename GLIBCXXSTD names to std::. Rename __gnu_debug to
2006         __gnu_debug::. Remove __policy_ renames.
2007         * docs/doxygen/guide.html: Add dot note.
2008         * docs/doxygen/stdheader.cc: Edit, add files.
2009         * docs/doxygen/user.cfg.in: Regenerate with Doxygen 1.3.7.
2010
2011 2004-05-18  Jonathan Wakely  <redi@gcc.gnu.org>
2012
2013         * include/ext/stdio_filebuf.h: Update comments to reflect PR 11691.
2014
2015 2004-05-18  Jan Beulich  <jbeulich@novell.com>
2016
2017         PR libstdc++/15489
2018         * scripts/create_testsuite_files: Also find source files through
2019         symbolic links.
2020
2021 2004-05-18  Jan Beulich  <jbeulich@novell.com>
2022
2023         PR libstdc++/15488
2024         * testsuite/lib/libstdc++.exp: Make test files writable.
2025
2026 2004-05-18  Paolo Carlini  <pcarlini@suse.de>
2027
2028         * include/ext/mt_allocator.h:(__mt_alloc::allocate): Minor
2029         tweaks.
2030
2031 2004-05-18  Dhruv Matani  <dhruvbird@gmx.net>
2032
2033         * include/ext/mt_allocator.h:(__mt_alloc::allocate): Re-write
2034         allocation loop which removes blocks from the global free list
2035         from O(N) to O(1) when the required blocks are <= the number
2036         available.
2037
2038 2004-05-18  Jonathan Wakely  <redi@gcc.gnu.org>
2039
2040         * include/ext/enc_filebuf.h: Move concept-check macro to class scope.
2041
2042 2004-05-17  Benjamin Kosnik  <bkoz@redhat.com>
2043
2044         * testsuite/testsuite_hooks.h (__gnu_test::conversion): New class.
2045         * testsuite/23_containers/deque/14340.cc: New.
2046         * testsuite/23_containers/list/14340.cc: New.
2047         * testsuite/23_containers/map/14340.cc: New.
2048         * testsuite/23_containers/multimap/14340.cc: New.
2049         * testsuite/23_containers/multiset/14340.cc: New.
2050         * testsuite/23_containers/set/14340.cc: New.
2051         * testsuite/23_containers/vector/14340.cc: New.
2052
2053 2004-05-17  Douglas Gregor   <gregod@cs.rpi.edu>
2054
2055         PR libstdc++/14340
2056         * include/debug/safe_iterator.h (_Safe_iterator converting
2057         constructor): Only allow declaration to instantiate when the
2058         incoming _Safe_iterator has exactly the right iterator type.
2059
2060 2004-05-17  Jonathan Wakely  <redi@gcc.gnu.org>
2061
2062         * include/bits/boost_concept_check.h: Fix old attribute syntax.
2063         * testsuite/23_containers/map/modifiers/swap.cc: Define operator<
2064         to pass concept-checks.
2065         * testsuite/23_containers/multimap/modifiers/swap.cc: Same.
2066         * testsuite/23_containers/set/modifiers/swap.cc: Same.
2067         * testsuite/23_containers/multiset/modifiers/swap.cc: Same.
2068
2069 2004-05-16  Paolo Carlini  <pcarlini@suse.de>
2070
2071         * include/std/std_bitset.h: Minor formatting fixes.
2072
2073 2004-05-16  Paolo Carlini  <pcarlini@suse.de>
2074
2075         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
2076         Consistently update __bin._M_free[0].
2077         (__mt_alloc<>::allocate): When __bin._M_first[0] != NULL use
2078         __bin._M_free[0] to simplify the while loop (i.e., the number
2079         of iterations becomes known at the outset).
2080
2081 2004-05-15  Paolo Carlini  <pcarlini@suse.de>
2082
2083         * include/std/std_bitset.h: Trivial formatting fixes.
2084
2085 2004-05-14  Paolo Carlini  <pcarlini@suse.de>
2086             Ivan Godard  <igodard@pacbell.net>
2087
2088         PR libstdc++/15361
2089         * include/std/std_bitset.h (_Base_bitset<_Nw>::_M_do_find_next): Fix.
2090         * testsuite/23_containers/bitset/ext/15361.cc: New.
2091
2092 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
2093
2094         PR libstdc++/15046
2095         * crossconfig.m4: Add C99 math bits for linux crosses.
2096         * configure: Regenerate.
2097
2098 2004-05-13  Simon Marshall <simon.marshall@misys.com>
2099             Benjamin Kosnik  <bkoz@redhat.com>
2100
2101         PR libstdc++/15090
2102         * include/bits/locale_facets.h: Fix for -fno-for-scope.
2103         * include/debug/safe_sequence.h: Same.
2104         * include/debug/safe_iterator.tcc: Same.
2105         * src/debug.cc: Same.
2106         * src/locale.cc: Same.
2107         * src/locale_init.cc: Same.
2108         * src/localename.cc: Same.
2109         * config/locale/gnu/ctype_members.cc: Same.
2110         * config/locale/gnu/numeric_members.cc: Same.
2111         * testsuite/testsuite_abi.cc: Same.
2112         * testsuite/testsuite_hooks.cc: Same.
2113
2114 2004-05-13  Jonathan Wakely  <redi@gcc.gnu.org>
2115
2116         * docs/html/abi.html: Document effect of -fabi-version on value
2117         of __GXX_ABI_VERSION, and that it's defined in c-cppbuiltin.c.
2118         Fix markup.
2119
2120 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
2121
2122         PR libstdc++/15074
2123         * docs/html/faq/index.html: Update docs for libsupc++ usage.
2124
2125 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
2126
2127         PR libstdc++/15412
2128         * include/bits/stl_threads.h (_GLIBCXX_mutex): Move to namespace
2129         __gnu_internal.
2130         (_GLIBCXX_mutex_address): Same.
2131         (_GLIBCXX_once): Same.
2132         (_GLIBCXX_mutex_init): Same.
2133         (_GLIBCXX_mutex_address_init): Same.
2134
2135 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
2136
2137         * docs/html/abi.html: New.
2138         * docs/html/abi.txt: Remove.
2139         * docs/html/documentation.html: Add link.
2140         * testsuite/Makefile.am: Add files.
2141         * testsuite/Makefile.in: Regenerated.
2142         * testsuite/abi_check.cc: Move and modify code into...
2143         * testsuite/testsuite_abi.cc: Add.
2144         * testsuite/testsuite_abi.h: Add.
2145
2146         * docs/html/17_intro/TODO: Update.
2147         * include/bits/stl_pair.h: Format.
2148
2149 2004-05-06  Matthias Klose  <doko@debian.org>
2150
2151         * include/backward/iterator.h:  Add GPL copyright info,
2152         with exception clause.
2153         * include/bits/boost_concept_check.h: Likewise.
2154         * include
2155         * libsupc++/tinfo.h: Likewise.
2156         * po/string_literals.cc: Likewise.
2157
2158 2004-05-03  Andreas Tobler  <a.tobler@schweiz.ch>
2159
2160         * acinclude.m4: Replace -W with more speaking -Wextra.
2161         * configure: Rebuilt.
2162
2163 2004-05-03  Paolo Carlini  <pcarlini@suse.de>
2164
2165         Optimize locale::_M_impl->_M_names for the most common cases:
2166         !_M_names[0] means unnamed; !_M_names[1] means all the categories
2167         the same name (_M_names[0] && _M_names[1] means that the full set
2168         of _M_names must be processed, the general case).
2169         * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name):
2170         Tweak, saving work when !_M_names[1].
2171         (locale::locale(const locale&, _Facet*): Simplify: now just setting
2172         _M_names[0] = 0 means unnamed.
2173         * src/locale.cc (locale::operator==): Deal first with the common,
2174         easy cases, otherwise fall back to locale::name().
2175         (locale::name()): Tweak, if !_M_names[0] just return "*".
2176         (locale::_Impl::_Impl(const _Impl&, size_t): Tweak, early stop
2177         copying __imp._M_names if !__imp._M_names[0] or !__imp._M_names[1].
2178         * src/locale_init.cc (locale::_Impl::_Impl(size_t)): Tweak.
2179         * src/localename.cc (locale::_Impl::_Impl(const char*, size_t):
2180         Simplify when !std::strchr, just updating _M_names[0]; clean up.
2181         (locale::_Impl::_M_replace_categories): When !_M_names[1] prepare
2182         for the general case (full set of names), then do the usual work;
2183         clean up.
2184
2185         * src/locale.cc (locale::name()): Reserve space in __ret.
2186         * src/locale_init.cc (locale::global(const locale&)): Save
2187         the name in a temporary.
2188         * src/localename.cc (locale::locale(const char*)): Reserve space
2189         in __str.
2190
2191 2004-04-29  Paolo Carlini  <pcarlini@suse.de>
2192
2193         * src/locale.cc (locale::operator==): Always avoid constructing
2194         locale::name(), directly compare pairs of _M_names.
2195
2196 2004-04-26  Paolo Carlini  <pcarlini@suse.de>
2197
2198         * include/bits/istream.tcc: Fix comment.
2199
2200 2004-04-26  Paolo Carlini  <pcarlini@suse.de>
2201
2202         * include/bits/stl_vector.h: Trivial formatting fixes.
2203         * include/bits/vector.tcc: Likewise.
2204
2205 2004-04-25  Paolo Carlini  <pcarlini@suse.de>
2206
2207         PR libstdc++/15002 (continued again)
2208         * include/bits/istream.tcc (getline(basic_istream<>&,
2209         basic_string<>&, _CharT)): Use a temporary buffer, thus
2210         avoiding reallocation for common case.
2211
2212         * include/bits/basic_string.tcc (_S_construct(_InIterator,
2213         _InIterator, const _Alloc&, input_iterator_tag)): Tweak size
2214         of temporary buffer to a power of two.
2215
2216         * testsuite/27_io/basic_istream/getline/char/4.cc: Add comment.
2217
2218 2004-04-25  Paolo Carlini  <pcarlini@suse.de>
2219
2220         * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
2221         New.
2222         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
2223         Likewise.
2224         * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
2225
2226 2004-04-24  Paolo Carlini  <pcarlini@suse.de>
2227             Petur Runolfsson  <peturr02@ru.is>
2228
2229         PR libstdc++/15002 (continued)
2230         * include/bits/istream.tcc (basic_istream<>::getline(char_type*,
2231         streamsize, char_type)): Use traits::find/copy in a loop to speed
2232         up greatly the function in the common case (I/O buffer size >> 1).
2233
2234 2004-04-24  Paolo Carlini  <pcarlini@suse.de>
2235
2236         * testsuite/27_io/basic_istream/getline/char/4.cc: New.
2237
2238         * include/bits/istream.tcc (getline(basic_istream<>&,
2239         basic_string<>&, _CharT)): Change to use sgetc()/snextc() instead
2240         of sbumpc(), consistently with the other functions, thus also
2241         dealing correctly with the case of exceeded string::max_size().
2242
2243 2004-04-24  Matthias Klose  <doko@debian.org>
2244
2245         Jonathan Wakely  <cow@compsoc.man.ac.uk>
2246         * docs/html/configopts.html: Fix reference to allocator config option.
2247
2248 2004-04-23  Andrew Pinski  <pinskia@physics.uc.edu>
2249
2250         * linkage.m4 (GLIBCXX_CHECK_MATH_SUPPORT): Check for libmx also.
2251         * configure: Regenerate.
2252
2253 2004-04-23  Daniel Jacobowitz  <drow@mvista.com>
2254
2255         PR libstdc++/15047, libstdc++/11610
2256         * testsuite/lib/libstdc++.exp (v3-copy-files): Use remote_download.
2257         (libstdc++_init): Don't pass outdir to v3-copy-files.
2258
2259 2004-04-21  Paolo Carlini  <pcarlini@suse.de>
2260
2261         * include/bits/deque.tcc: Trivial formatting fixes.
2262         * include/bits/stl_deque.h: Likewise.
2263         * include/bits/stl_list.h: Likewise.
2264         * include/bits/stl_tree.h: Likewise.
2265
2266 2004-04-21  Paolo Carlini  <pcarlini@suse.de>
2267             Andrew Pinski  <pinskia@physics.uc.edu>
2268
2269         * include/bits/basic_string.tcc (_M_mutate): Don't compute
2270         __src unnecessarily.
2271
2272 2004-04-19  Benjamin Kosnik  <bkoz@redhat.com>
2273
2274         * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
2275         Clarify assertion, set test variable to false before assert.
2276         * testsuite/27_io/basic_istringstream/str/char/1.cc: Same.
2277         * testsuite/27_io/basic_stringstream/str/char/1.cc: Same.
2278         * testsuite/27_io/ios_base/storage/2.cc: Same.
2279
2280         * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Fix
2281         function returns.
2282         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Same.
2283         * testsuite/27_io/fpos/14320-3.cc: Same.
2284
2285         * testsuite/27_io/basic_filebuf/2.cc: Instantiate in namespace std.
2286         * testsuite/27_io/fpos/1.cc: Same.
2287         * testsuite/27_io/basic_stringstream/2.cc: Same.
2288         * testsuite/27_io/basic_stringbuf/4.cc: Same.
2289         * testsuite/27_io/basic_stringbuf/1.cc: Same.
2290         * testsuite/27_io/basic_stringbuf/2.cc: Same.
2291         * testsuite/27_io/basic_streambuf/2.cc: Same.
2292         * testsuite/27_io/basic_ostringstream/2.cc: Same.
2293         * testsuite/27_io/basic_ostream/2.cc: Same.
2294         * testsuite/27_io/basic_ofstream/2.cc: Same.
2295         * testsuite/27_io/basic_istringstream/2.cc: Same.
2296         * testsuite/27_io/basic_istream/2.cc: Same.
2297         * testsuite/27_io/basic_iostream/2.cc: Same.
2298         * testsuite/27_io/basic_ios/2.cc: Same.
2299         * testsuite/27_io/basic_ifstream/2.cc: Same.
2300         * testsuite/27_io/basic_fstream/2.cc: Same.
2301         * testsuite/ext/stdio_filebuf/char/1.cc: Same, in namespace __gnu_cxx.
2302
2303         * testsuite/21_strings/basic_string/capacity/1.cc: Don't compare
2304         unsigned against zero.
2305         * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Same.
2306         * testsuite/21_strings/basic_string/capacity/char/1.cc: Same.
2307
2308         * testsuite/18_support/new_delete_placement.cc: Initialize
2309         variables before first use.
2310         * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Same.
2311         * testsuite/21_strings/char_traits/requirements/char/1.cc: Same.
2312         * testsuite/21_strings/char_traits/requirements/short/1.cc: Same.
2313         * testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc:
2314         Same.
2315         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_badbit_throw.cc: Same.
2316         * testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc:
2317         Same.
2318         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_failbit_throw.cc: Same.
2319         * testsuite/27_io/types/2.cc: Same.
2320
2321         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Fix temporary
2322         file name.
2323         * testsuite/27_io/fpos/14775.cc: Same.
2324
2325 2004-04-19  Paolo Carlini  <pcarlini@suse.de>
2326
2327         PR libstdc++/15002 (partial)
2328         * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
2329         Special case __n2 == 1, not calling traits_type::assign/copy.
2330
2331 2004-04-17  Benjamin Kosnik  <bkoz@redhat.com>
2332
2333         * include/bits/stl_bvector.h: Use _M_impl._M_start.
2334
2335 2004-04-16  Benjamin Kosnik  <bkoz@redhat.com>
2336
2337         * include/bits/c++config (_GLIBCXX_STD): New.
2338         * src/list.cc: Use it.
2339         * include/std/std_bitset.h: Same.
2340         * include/bits/vector.tcc: Same.
2341         * include/bits/stl_set.h: Same.
2342         * include/bits/stl_multiset.h: Same.
2343         * include/bits/stl_multimap.h: Same.
2344         * include/bits/stl_map.h: Same.
2345         * include/bits/stl_list.h: Same.
2346         * include/bits/stl_vector.h: Same.
2347         * include/bits/stl_bvector.h: Same.
2348         * include/bits/stl_deque.h: Same.
2349         * include/bits/deque.tcc: Same.
2350         * include/bits/list.tcc: Same.
2351         * include/debug/vector: Same.
2352         * include/debug/set.h: Same.
2353         * include/debug/multiset.h: Same.
2354         * include/debug/multimap.h: Same.
2355         * include/debug/map.h: Same.
2356         * include/debug/list: Same.
2357         * include/debug/deque: Same.
2358         * include/debug/bitset: Same.
2359         * include/debug/formatter.h (__gnu_debug): Remove using directive.
2360         Add using declaration for std::type_info.
2361         * include/debug/safe_iterator.h: Add using declaration for
2362         std::iterator_traits and std::pair.
2363         * src/debug_list.cc: New.
2364         * src/Makefile.am: Add debug_list.cc.
2365         * src/Makefile.in: Regenerate.
2366         * config/linker-map.gnu: Add _List_node_base exports for std and
2367         __gnu_norm.
2368
2369         * include/bits/stl_bvector.h (_Bvector_base): Use _Bvector_impl
2370         idiom that other containers use.
2371         * testsuite/23_containers/vector/bool/clear_allocator.cc: New.
2372
2373 2004-04-16  Paolo Carlini  <pcarlini@suse.de>
2374
2375         PR libstdc++/14975
2376         * include/bits/fstream.tcc (basic_filebuf::imbue): Zero _M_codecvt
2377         in case of error.
2378         * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: New.
2379         * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: New.
2380
2381 2004-04-16  Paolo Carlini  <pcarlini@suse.de>
2382
2383         * acconfig.h: Remove _GLIBCXX_USE_LONG_DOUBLE entry, not
2384         used anymore.
2385         * config.h.in: Regenerate.
2386
2387 2004-04-16  Paolo Carlini  <pcarlini@suse.de>
2388
2389         * config/locale/generic/monetary_members.cc
2390         (moneypunct<wchar_t>::_M_initialize_moneypunct): Avoid calling
2391         btowc unnecessarily, just cast to wchar_t (the concerned chars
2392         all belong to the basic character set).
2393         * config/locale/generic/numeric_members.cc
2394         (numpunct<wchar_t>::_M_initialize_numpunct): Likewise.
2395         * config/locale/gnu/monetary_members.cc
2396         (moneypunct<wchar_t>::_M_initialize_moneypunct): Likewise.
2397         * config/locale/gnu/numeric_members.cc
2398         (numpunct<wchar_t>::_M_initialize_numpunct): Likewise.
2399
2400 2004-04-15  Paolo Carlini  <pcarlini@suse.de>
2401
2402         * src/locale.cc (locale::operator==): When _M_impl == __rhs._M_impl
2403         avoid constructing unnecessarily this->name().
2404
2405 2004-04-14  Zack Weinberg  <zack@codesourcery.com>
2406
2407         * testsuite/Makefile.am: Add definition of AM_CXXFLAGS.
2408         Change definition of CXX to use $(shell) instead of backticks.
2409         * testsuite/Makefile.in: Regenerate.
2410
2411 2004-04-12  Dhruv Matani  <dhruvbird@gmx.net>
2412
2413         * testsuite/performance/20_util/allocator/list_sort_search.cc:
2414         Minor formatting fixes.
2415         * testsuite/performance/20_util/allocator/map_mt_find.cc:
2416         Likewise.
2417
2418 2004-04-12  Paolo Carlini <pcarlini@suse.de>
2419
2420         * config/locale/gnu/numeric_members.cc
2421         (numpunct<wchar_t>::_M_initialize_numpunct): No need to wrap
2422         in __uselocale, since btowc is called for chars belonging to
2423         the basic character set.
2424
2425 2004-04-09  Paolo Carlini  <pcarlini@suse.de>
2426
2427         * testsuite/22_locale/messages/members/char/1.cc: Remove junk.
2428         * testsuite/22_locale/messages/members/char/2.cc: Ditto.
2429         * testsuite/22_locale/messages/members/char/3.cc: Ditto.
2430         * testsuite/22_locale/num_get/get/char/1.cc: Ditto.
2431         * testsuite/22_locale/num_get/get/char/2.cc: Ditto.
2432         * testsuite/22_locale/num_get/get/char/3.cc: Ditto.
2433         * testsuite/22_locale/num_get/get/wchar_t/1.cc: Ditto.
2434         * testsuite/22_locale/num_get/get/wchar_t/2.cc: Ditto.
2435         * testsuite/22_locale/num_get/get/wchar_t/3.cc: Ditto.
2436         * testsuite/22_locale/num_put/put/char/1.cc: Ditto.
2437         * testsuite/22_locale/num_put/put/char/2.cc: Ditto.
2438         * testsuite/22_locale/num_put/put/char/3.cc: Ditto.
2439         * testsuite/22_locale/num_put/put/wchar_t/1.cc: Ditto.
2440         * testsuite/22_locale/num_put/put/wchar_t/2.cc: Ditto.
2441         * testsuite/22_locale/num_put/put/wchar_t/3.cc: Ditto.
2442         * testsuite/22_locale/numpunct/members/char/1.cc: Ditto.
2443         * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Ditto.
2444
2445 2004-04-07  Paolo Carlini  <pcarlini@suse.de>
2446
2447         * config/locale/generic/time_members.cc
2448         (__timepunct<char>::_M_initialize_timepunct,
2449         __timepunct<wchar_t>::_M_initialize_timepunct): the correct
2450         _M_amonth07 in the "C" locale is "Jul" and L"Jul", respectively.
2451         * config/locale/gnu/time_members.cc
2452         (__timepunct<char>::_M_initialize_timepunct,
2453         __timepunct<wchar_t>::_M_initialize_timepunct): Ditto.
2454         * testsuite/22_locale/time_get/get_monthname/char/4.cc: New.
2455         * testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc: New.
2456
2457         * testsuite/22_locale/time_get/date_order/char/1.cc: Remove junk.
2458         * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Ditto.
2459         * testsuite/22_locale/time_get/get_date/char/1.cc: Ditto.
2460         * testsuite/22_locale/time_get/get_date/char/2.cc: Ditto.
2461         * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Ditto.
2462         * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Ditto.
2463         * testsuite/22_locale/time_get/get_monthname/char/1.cc: Ditto.
2464         * testsuite/22_locale/time_get/get_monthname/char/2.cc: Ditto.
2465         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Ditto.
2466         * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Ditto.
2467         * testsuite/22_locale/time_get/get_time/char/1.cc: Ditto.
2468         * testsuite/22_locale/time_get/get_time/char/2.cc: Ditto.
2469         * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Ditto.
2470         * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Ditto.
2471         * testsuite/22_locale/time_get/get_weekday/char/1.cc: Ditto.
2472         * testsuite/22_locale/time_get/get_weekday/char/2.cc: Ditto.
2473         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Ditto.
2474         * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Ditto.
2475         * testsuite/22_locale/time_get/get_year/char/1.cc: Ditto.
2476         * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Ditto.
2477         * testsuite/22_locale/time_put/put/char/1.cc: Ditto.
2478         * testsuite/22_locale/time_put/put/char/2.cc: Ditto.
2479         * testsuite/22_locale/time_put/put/char/3.cc: Ditto.
2480         * testsuite/22_locale/time_put/put/char/4.cc: Ditto.
2481         * testsuite/22_locale/time_put/put/char/5.cc: Ditto.
2482         * testsuite/22_locale/time_put/put/char/6.cc: Ditto.
2483         * testsuite/22_locale/time_put/put/char/7.cc: Ditto.
2484         * testsuite/22_locale/time_put/put/char/8.cc: Ditto.
2485         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Ditto.
2486         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Ditto.
2487         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Ditto.
2488         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Ditto.
2489         * testsuite/22_locale/time_put/put/wchar_t/5.cc: Ditto.
2490         * testsuite/22_locale/time_put/put/wchar_t/6.cc: Ditto.
2491         * testsuite/22_locale/time_put/put/wchar_t/7.cc: Ditto.
2492         * testsuite/22_locale/time_put/put/wchar_t/8.cc: Ditto.
2493
2494         * testsuite/22_locale/time_put/put/char/9780-1.cc: Fix typos.
2495
2496 2004-04-07  Paolo Carlini  <pcarlini@suse.de>
2497
2498         * config/locale/gnu/monetary_members.cc
2499         (moneypunct<wchar_t>::_M_initialize_moneypunct): Prefer
2500         _NL_MONETARY_DECIMAL_POINT_WC, _NL_MONETARY_THOUSANDS_SEP_WC,
2501         and __MON_GROUPING to _NL_NUMERIC_DECIMAL_POINT_WC,
2502         _NL_NUMERIC_THOUSANDS_SEP_WC, and GROUPING.
2503         * config/locale/gnu/numeric_members.cc
2504         (numpunct<char>::_M_initialize_numpunct): Prefer DECIMAL_POINT
2505         and THOUSANDS_SEP to the deprecated RADIXCHAR and THOUSEP.
2506
2507 2004-04-06  Benjamin Kosnik  <bkoz@redhat.com>
2508
2509         Fixups for EDG front end.
2510         * include/ext/rope: Instead of non-existent function
2511         _Data_allocate, use allocator's allocate. Use this.
2512         (namespace _Rope_constants): Move _S_max_rope_depth, and _Tag
2513         enumerations from _Rope_RopeRep here.
2514         * include/ext/ropeimpl.h: Same.
2515         * src/ext-inst.cc (_S_min_len): Fix up definition.
2516
2517         * config/locale/gnu/ctype_members.cc: Qualify base class members
2518         with this.
2519         * config/locale/generic/ctype_members.cc: Same.
2520         * config/locale/gnu/messages_members.h: Same.
2521         * config/locale/generic/messages_members.h: Same.
2522         * src/ctype.cc: Same.
2523         * include/bits/codecvt.h: Same.
2524
2525         * include/bits/boost_concept_check.h: Declare.
2526         (__error_type_must_be_an_unsigned_integer_type): Remove this.
2527         (__error_type_must_be_an_integer_type): Remove this.
2528         (__error_type_must_be_a_signed_integer_type): Remove this.
2529
2530         * config/io/basic_file_stdio.cc (__basic_file::sys_open): Remove cast.
2531
2532         * libsupc++/eh_alloc.cc (__cxa_free_exception): Add exception
2533         specification to definition.
2534         (__cxa_allocate_exception): Same.
2535         * libsupc++/eh_catch.cc (__cxa_begin_catch): Same.
2536         * libsupc++/eh_globals.cc (__cxa_get_globals_fast): Same.
2537         (__cxa_get_globals): Same.
2538
2539         * libsupc++/del_op.cc: Add comment about freestanding.
2540
2541 2004-04-05  Paolo Carlini  <pcarlini@suse.de>
2542
2543         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
2544         The critical section is actually very small, only two assignments.
2545
2546 2004-04-04  Paolo Carlini  <pcarlini@suse.de>
2547             Petur Runolfsson  <peturr02@ru.is>
2548
2549         * testsuite/performance/27_io/filebuf_sputn_unbuf.cc: New,
2550         adapted from libstdc++/11378.
2551
2552 2004-04-03  Paolo Carlini  <pcarlini@suse.de>
2553
2554         * include/ext/mt_allocator.h (__mt_alloc<>::allocate): Factor out
2555         some duplicated code.
2556         (__mt_alloc<>::_Bin_record): Spare the space of _M_free and _M_used
2557         in the single threaded case.
2558         * testsuite/performance/20_util/allocator/list_sort_search.cc:
2559         Reorder and renumber the tests consistently with the other testfiles.
2560         * testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
2561         * testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
2562         * testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
2563
2564 2004-04-02  Paolo Carlini  <pcarlini@suse.de>
2565
2566         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
2567         Rearrange arithmetic to avoid computing two divisions at
2568         each deallocation.
2569
2570 2004-04-01  Paolo Carlini  <pcarlini@suse.de>
2571
2572         * include/ext/mt_allocator.h (__mt_alloc<>::_S_initialize):
2573         Streamline the second half, wrapping it in a single
2574         '#ifdef __GTHREADS if (__gthread_active_p())' and avoiding
2575         conditionals inside loops.
2576
2577 2004-04-01  Paolo Carlini  <pcarlini@suse.de>
2578
2579         PR libstdc++/14775
2580         * acconfig.h: Rename _GLIBCXX_MEM_LIMITS to _GLIBCXX_RES_LIMITS.
2581         * acinclude.m4 (GLIBCXX_CHECK_SETRLIMIT): Call
2582         GLIBCXX_CHECK_SETRLIMIT_ancilliary for FSIZE too, adjust define
2583         to _GLIBCXX_RES_LIMITS.
2584         (GLIBCXX_CHECK_SETRLIMIT_ancilliary): Rename HAVE_MEMLIMIT_* to
2585         HAVE_LIMIT_*.
2586         * testsuite/testsuite_hooks.h: Declare set_file_limit.
2587         * testsuite/testsuite_hooks.cc: Define it, using getrlimit
2588         and setrlimit(RLIMIT_FSIZE).
2589         * testsuite/27_io/fpos/14775.cc: New.
2590         * config.h.in: Regenerate.
2591         * configure: Likewise.
2592
2593 2004-03-31  Paolo Carlini  <pcarlini@suse.de>
2594
2595         * config/locale/generic/c_locale.cc (__convert_to_v(long double&)):
2596         In v3 uses of sscanf, the special floating-point numbers INF,
2597         INFINITY, etc., cannot occur in input, therefore, if the latter
2598         is too large, ERANGE is always stored in errno, no need of finitel.
2599
2600 2004-03-30  Benjamin Kosnik  <bkoz@redhat.com>
2601
2602         PR libstdc++/14783
2603         * include/bits/stl_tree.h: Adjust initialization list order.
2604
2605 2004-03-29  Loren J. Rittle  <ljrittle@acm.org>
2606
2607         * testsuite/thread/pthread7-rope.cc: Update comment to reflect test.
2608
2609 2004-03-29  Paolo Carlini  <pcarlini@suse.de>
2610
2611         * testsuite/thread/pthread7-rope.cc: Fix, unpredictably, depending
2612         on allocator behavior, the memory pointed by data2 may well be not
2613         trashed.
2614
2615 2004-03-28  Chavdar Botev  <cbotev@yahoo.com>
2616
2617         PR libstdc++/14245
2618         * include/bits/basic_string.tcc
2619         (basic_string::basic_string(const basic_string&)): Pass to
2620         _Rep::_M_grab the actual allocator of the string being constructed
2621         not the default constructed one.
2622
2623 2004-03-27  Benjamin Kosnik  <bkoz@redhat.com>
2624
2625         libstdc++ PR/13598
2626         * config/locale/ieee_1003.1-2001/codecvt_specializations.h
2627         (__enc_traits::_M_destroy): New.
2628         (__enc_traits::~__enc_traits): Use it.
2629         (__enc_traits::operator=): Use _M_destroy, _M_init.
2630         (__enc_traits::__enc_traits): Same.
2631
2632 2004-03-27  Petur Runolfsson  <peturr02@ru.is>
2633
2634         * testsuite/ext/enc_filebuf/char/13598.cc: New.
2635
2636 2004-03-27  Paolo Carlini  <pcarlini@suse.de>
2637
2638         * include/ext/mt_allocator.h: Uglify consistently names of
2639         variables, members and classes; tidy.
2640
2641 2004-03-27  Dhruv Matani  <dhruvbird@gmx.net>
2642
2643         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
2644         Deallocation loop rewrote.
2645
2646 2004-03-26  Paolo Carlini  <pcarlini@suse.de>
2647
2648         * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
2649         __mt_alloc<>::deallocate): Protect two instances of
2650         block->thread_id with __GTHREADS.
2651
2652 2004-03-25  Gawain Bolton  <gp.bolton@computer.org>
2653
2654         * include/bits/stl_tree.h (_Rb_tree_impl): Add _Node_allocator
2655         default argument in constructors.
2656         (_Rb_tree::_M_empty_initialize): Remove.
2657
2658 2004-03-25  Benjamin Kosnik  <bkoz@redhat.com>
2659
2660         * testsuite/23_containers/map/operators/1_neg.cc: Adjust line numbers.
2661         * testsuite/23_containers/set/operators/1_neg.cc: Same.
2662
2663 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
2664
2665         * include/bits/cpp_type_traits.h: Changed __is_pod
2666         completely. Now, it does not use any of the previous type_traits
2667         to detect the pod types, and it also detects function pointers as
2668         POD types.
2669
2670         * include/bits/stl_tree.h: Introduced a new class _Rb_tree_impl,
2671         which encapsulates the internal implementation of an rb_tree. Made
2672         the allocator a base class of this class instead of the rb_tree,
2673         which was not conforming. This _Rb_tree_impl class is also
2674         specialized on whether the _Compare parameter is a POD type or
2675         not. If so, then it maintains the comparison function as a data
2676         member, otherwise it makes the _Compare parameter a base class of
2677         itself. Also, _M_key_compare is now a function instead of a data
2678         member, so that the above trick can work properly. Delegated the
2679         initialization of the other data members to this newly created
2680         class. Also, now other member functions of rb_tree must refer to
2681         _M_key_compare as _M_impl._M_key_compare(). The other data members
2682         (*) can be referenced to as _M_impl.(*), where
2683         (*) includes _M_header, and _M_node_count.
2684
2685 2004-03-25  Paolo Carlini  <pcarlini@suse.de>
2686
2687         * include/ext/mt_allocator.h (__mt_alloc<>::tune):
2688         Add _M_min_bin, the size in bytes of the smallest bin.
2689         (__mt_alloc<>::tune()): Tweak accordingly.
2690         (__mt_alloc<>::tune(size_t, ...)): Likewise.
2691         (__mt_alloc<>::block_record): Change to a union: members next
2692         and thread_id are never used at the same time.
2693         (__mt_alloc<>::allocate): Update consistently.
2694         (__mt_alloc<>::deallocate): Likewise.
2695         (__mt_alloc<>::_S_initialize): Update setups of _S_binmap and
2696         _S_bin_size for the configurable _M_min_size.
2697
2698 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
2699
2700         * include/bits/stl_list.h: Created a _List_impl class and made it
2701         derive from the allocator, instead of the list deriving from the
2702         allocator class, which was not conformant. Changed all references
2703         from this->_M_node to this->_M_impl._M_node * bits/list.tcc: Same
2704         as above (changed all references to the concerned variables).
2705
2706 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
2707
2708         * include/bits/stl_deque.h: Created a _Deque_impl class and made
2709         it derive from the allocator, instead of the deque deriving from
2710         the allocator class, which was not conformant. Changed all
2711         references to the _M_start, _M_finish, _M_map, and _M_map_size to
2712         _M_impl.*.
2713         (_Deque_base<_Tp,_Alloc>::~_Deque_base()): Added this->
2714         qualification in 2 places where it was missing.
2715         (_Deque_base<_Tp,_Alloc>::_M_initialize_map(size_t)): Same as
2716         above.
2717         * include/bits/deque.tcc: Same as above (changed all references to
2718         the concerned variables).
2719
2720 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
2721
2722         * include/bits/stl_vector.h: Created a _Vector_impl class and made
2723         it derive from the allocator, instead of the _Vector_base class,
2724         deriving from the allocator which was not conformant. Changed all
2725         references to the _M_start, _M_finish, and _M_end_of_storage to
2726         _M_impl.*.
2727         * include/bits/vector.tcc: Same as above (changed all references
2728         to the concerned variables).
2729
2730 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
2731
2732         * testsuite/23_containers/deque/cons/clear_allocator.cc: New.
2733         * testsuite/23_containers/list/cons/clear_allocator.cc: New.
2734         * testsuite/23_containers/vector/cons/clear_allocator.cc: New.
2735
2736 2004-03-24  Dhruv Matani  <dhruvbird@gmx.net>
2737
2738         * include/ext/malloc_allocator.h: Fixed the construct function to
2739         call global placement new instead of assignment. Added a check
2740         after the return from malloc to check whether returned pointer is
2741         NULL, and if so, throw std::bad_alloc().
2742         * include/ext/debug_allocator.h: Added a check in the deallocate
2743         function to check whether the user has passed a NULL pointer or
2744         not.
2745
2746 2004-03-24  Benjamin Kosnik  <bkoz@redhat.com>
2747
2748         * docs/html/20_util/allocator.html: Add bitmap_allocator links.
2749
2750 2004-03-24  Andreas Schwab  <schwab@suse.de>
2751
2752         * testsuite/lib/prune.exp (prune_g++_output): Ignore errata
2753         warning from IA64 assembler.
2754
2755 2004-03-24  Dhruv Matani  <dhruvbird@gmx.net>
2756
2757         * include/ext/bitmap_allocator.h: (_Bit_scan_forward) -> Made this
2758         function call __builtin_ctz instead of the while loop.
2759         (allocate) -> If condition has __builtin_expect.
2760         (deallocate) -> Ditto.
2761         Renamed a few left-over variables and typedefs according to the
2762         C++STYLE mentioned in the documentation.
2763         Protected calls to __gthread* by __gthread_active_p(), whose value
2764         is cached in the local variable __threads_active.
2765
2766 2004-03-24  Felix Yen  <fwy@alumni.brown.edu>
2767
2768         * testsuite/performance/20_util/allocator/producer_consumer.cc:
2769         Use linear algorithm for producer.
2770
2771 2004-03-24  Paolo Carlini  <pcarlini@suse.de>
2772
2773         * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
2774         __mt_alloc<>::deallocate): Avoid redundant conditionals.
2775
2776 2004-03-23  Benjamin Kosnik  <bkoz@redhat.com>
2777
2778         * include/bits/locale_facets.h: Tweaks for 80 column.
2779         (__numpunct_cache::_M_cache): Move to locale_facets.tcc.
2780         (__moneypunct_cache::_M_cache): Same.
2781         (num_get): Don't inherit from __num_base.
2782         (num_put): Same.
2783         (money_get): Don't inherit from money_base.
2784         (money_put): Same.
2785         (__timepunct::_M_am_pm_format): New.
2786         (time_get::_M_extract_num): Return iterator, use ios_base as argument.
2787         (time_get::_M_extract_name): Same.
2788         (time_get::_M_extract_via_format): Same.
2789         * include/bits/locale_facets.tcc: Tweaks for 80 column.
2790         Use _M_getloc instead of getloc.
2791         * testsuite/22_locale/money_put/put/char/9780-3.cc: New.
2792         * testsuite/22_locale/num_put/put/char/9780-2.cc: New.
2793         * testsuite/22_locale/time_put/put/char/9780-1.cc: New.
2794
2795 2004-03-22  Paolo Carlini  <pcarlini@suse.de>
2796
2797         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add pool_allocator.
2798         * configure: Regenerate.
2799         * config/allocator/pool_allocator_base.h: New.
2800         * include/ext/pool_allocator.h: Convert to a standard-conforming
2801         allocator.
2802         * src/allocator.cc: Tweak instantiations.
2803         * testsuite/performance/20_util/allocator/insert.cc: Add __pool_alloc.
2804         * testsuite/performance/20_util/allocator/insert_insert.cc: Ditto.
2805         * testsuite/performance/20_util/allocator/list_sort_search.cc: Ditto.
2806         * testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
2807         * testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
2808         * testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
2809
2810 2004-03-22  Hans-Peter Nilsson  <hp@axis.com>
2811
2812         * config/cpu/cris/atomicity.h (__atomic_add): Remove "static
2813         inline" and attribute-unused.  Qualify parameter __mem with
2814         "volatile".
2815         (__exchange_and_add): Ditto.  Add back memory clobber to asm.
2816
2817 2004-03-20  Paolo Carlini  <pcarlini@suse.de>
2818
2819         * testsuite/27_io/basic_istream/extractors_arithmetic/char/2.cc:
2820         Remove junk.
2821         * testsuite/27_io/basic_istream/extractors_arithmetic/char/3.cc:
2822         Likewise.
2823         * testsuite/27_io/basic_istream/extractors_arithmetic/char/6.cc:
2824         Likewise.
2825         * testsuite/27_io/basic_istream/extractors_arithmetic/char/7.cc:
2826         Likewise.
2827         * testsuite/27_io/basic_istream/extractors_arithmetic/char/8.cc:
2828         Likewise.
2829         * testsuite/27_io/basic_istream/extractors_arithmetic/char/9.cc:
2830         Likewise.
2831         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
2832         Likewise.
2833         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
2834         Likewise.
2835         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
2836         Likewise.
2837         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
2838         Likewise.
2839
2840 2004-03-20  Paolo Carlini  <pcarlini@suse.de>
2841
2842         * include/std/std_valarray.h: Document DR389 [Ready].
2843         * docs/html/ext/howto.html: Add an entry for DR389.
2844
2845 2004-03-19  Michael Eager  <eager@mvista.com>
2846
2847         * config/cpu/mips/atomicity.h:  Prevent reg loads between LL and
2848         SC instructions.
2849
2850 2004-03-19  Paolo Carlini  <pcarlini@suse.de>
2851
2852         * testsuite/22_locale/num_get/get/char/11.cc: Remove redundant
2853         static_cast-s.
2854         * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
2855         * testsuite/22_locale/num_get/get/char/13.cc: Likewise.
2856         * testsuite/22_locale/num_get/get/char/14.cc: Likewise.
2857         * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
2858         * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
2859         * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
2860         * testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise.
2861         * testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise.
2862         * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
2863
2864 2004-03-19  Paolo Carlini  <pcarlini@suse.de>
2865             Petur Runolfsson  <peturr02@ru.is>
2866
2867         PR libstdc++/12077
2868         * include/ext/stdio_sync_filebuf.h (showmanyc): Remove, there's
2869         no way to find out the conversion used by the underlying FILE*.
2870         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: New.
2871         * testsuite/27_io/objects/char/9.cc: Tweak.
2872
2873 2004-03-19  Paolo Carlini  <pcarlini@suse.de>
2874
2875         PR libstdc++/14648
2876         * include/ext/ropeimpl.h (rope<>::_S_apply_to_pieces): Fix
2877         memory allocation/deallocation calls.
2878         * testsuite/ext/14648.cc: New.
2879
2880 2004-03-19  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
2881
2882         PR libstdc++/14647
2883         * include/backward/bvector.h (bit_vector): Allocator is in std
2884         namespace.
2885
2886 2004-03-19  Phil Edwards  <phil@codesourcery.com>
2887
2888         * acinclude.m4 (GLIBCXX_CHECK_WCHAR_T_SUPPORT):  Set LIBICONV,
2889         not libiconv.  SUBST this variable as well.
2890         * testsuite/Makefile.am (site.exp):  New target, based on that
2891         created by automake.  Also set libiconv.
2892
2893         * configure, Makefile.in, include/Makefile.in, libmath/Makefile.in,
2894         libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
2895         testsuite/Makefile.in:  Regenerate.
2896
2897 2004-03-16  Benjamin Kosnik  <bkoz@redhat.com>
2898
2899         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Default setting is
2900         new_allocator for all hosts.
2901         * configure: Regenerate.
2902
2903 2004-03-16  Paolo Carlini  <pcarlini@suse.de>
2904
2905         * testsuite/22_locale/num_put/put/char/4.cc: Fix for 64-bit pointers.
2906         * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
2907
2908 2004-03-15  Paolo Carlini  <pcarlini@suse.de>
2909
2910         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
2911         Adjust the logic underlying the parsing of symbol to deal
2912         correctly with an optional sign component (i.e., when either
2913         negative_sign or positive_sign is empty)
2914         * testsuite/22_locale/money_get/get/char/19.cc: New.
2915         * testsuite/22_locale/money_get/get/wchar_t/19.cc: New.
2916
2917 2004-03-15  Paolo Carlini  <pcarlini@suse.de>
2918
2919         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
2920         Do not accept an incomplete currency symbol.
2921         * testsuite/22_locale/money_get/get/char/18.cc: New.
2922         * testsuite/22_locale/money_get/get/wchar_t/18.cc: New.
2923
2924 2004-03-13  Benjamin Kosnik  <bkoz@redhat.com>
2925
2926         * config/allocator: New.
2927         * config/allocator/bitmap_allocator_base.h: New.
2928         * config/allocator/malloc_allocator_base.h: New.
2929         * config/allocator/mt_allocator_base.h: New.
2930         * config/allocator/new_allocator_base.h: New.
2931         * include/bits/allocator.h: Include c++allocator.h.
2932         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): New.
2933         * aclocal.m4: Regenerate.
2934         * configure.ac: Use GLIBCXX_ENABLE_ALLOCATOR.
2935         * configure: Regenerate.
2936         * include/Makefile.am (host_headers_extra): Add c++allocator.h.
2937         * include/Makefile.in: Regenerate.
2938         * docs/html/configopts.html: Add enable-libstdcxx-allocator.
2939
2940 2004-03-12  Benjamin Kosnik  <bkoz@redhat.com>
2941
2942         * include/bits/allocator.h: Revert.
2943
2944 2004-03-12  Paolo Carlini  <pcarlini@suse.de>
2945
2946         * docs/html/ext/howto.html: Add entry for DR 253 [Ready].
2947         * include/bits/gslice_array.h: Add comment about DR 253.
2948         * include/bits/indirect_array.h: Likewise.
2949         * include/bits/mask_array.h: Likewise.
2950         * include/bits/slice_array.h: Likewise.
2951
2952 2004-03-12  Benjamin Kosnik  <bkoz@redhat.com>
2953
2954         * testsuite/20_util/allocator/14176.cc: New.
2955         * include/ext/mt_allocator.h: Formatting fixes.
2956
2957 2004-03-11  Dhruv Matani  <dhruvbird@HotPOP.com>
2958
2959         * include/Makefile.am (ext_headers): Add
2960         ${ext_srcdir}/bitmap_allocator.h .
2961         * include/Makefile.in: Regenerate.
2962         * docs/html/ext/ballocator_doc.txt: New file.
2963         * include/ext/bitmap_allocator.h: New file.
2964         * testsuite/performance/20_util/allocator/list_sort_search.cc: Add
2965         test.
2966         * testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
2967         * testsuite/performance/20_util/allocator/producer_consumer.cc: Add
2968         test for the bitmap_allocator<>.
2969         * testsuite/performance/20_util/allocator/insert.cc: Likewise.
2970         * testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
2971         * testsuite/performance/20_util/allocator/map_thread.cc: Likewise.
2972
2973 2004-03-11  Paolo Carlini  <pcarlini@suse.de>
2974
2975         * include/std/std_complex.h (pow(const complex&, const _Tp&),
2976         pow(const _Tp&, const complex&), pow(const complex&,
2977         const complex&)): Fully qualify with std:: a few calls.
2978         * testsuite/26_numerics/complex/13450.cc: Minor tweak.
2979
2980 2004-03-11  Steven Bosscher  <stevenb@suse.de>
2981
2982         PR libstdc++/11706
2983         * include/c_std/cmath.tcc (__cmath_power): Define inline.
2984
2985 2004-03-10  Kelley Cook  <kcook@gcc.gnu.org>
2986
2987         * configure.ac: Bump AC_PREREQ to 2.59.
2988
2989 2004-03-10  Paolo Carlini  <pcarlini@suse.de>
2990
2991         * testsuite/26_numerics/valarray_subset_assignment.cc: Fix typos.
2992
2993 2004-03-10  Paul Kienzle  <pkienzle@nist.gov>
2994             Paolo Carlini  <pcarlini@suse.de>
2995
2996         PR libstdc++/13450
2997         * include/std/std_complex.h (pow(const complex&, const _Tp&),
2998         pow(const _Tp&, const complex&)): Use cmath pow only when safe.
2999         * testsuite/26_numerics/complex/13450.cc: New.
3000
3001         * testsuite/26_numerics/cmath/overloads.C: Rename to overloads.cc.
3002         * testsuite/26_numerics/complex/pow.C: Rename to pow.cc and fix.
3003
3004 2004-03-10  Jerry Quinn  <jlquinn@optonline.net>
3005
3006         PR libstdc++/3247
3007         * include/bits/gslice_array.h (gslice_array()): Make public.
3008         (operator=(gslice_array)): Make public.  Implement.
3009         * include/bits/indirect_array.h (indirect_array()): Make public.
3010         * include/bits/mask_array.h (mask_array()): Make public.
3011         (operator=(mask_array)): Make public.  Implement.
3012         * include/bits/valarray_array.tcc (__valarray_copy):
3013         Comment.  Add versions for gslice_array and mask_array.
3014         * testsuite/26_numerics/valarray_subset_assignment.cc:  New test.
3015
3016 2004-03-09  Benjamin Kosnik  <bkoz@redhat.com>
3017
3018         * testsuite/23_containers/deque/modifiers/swap.cc: Add in bits for
3019         non-weak systems.
3020         * testsuite/23_containers/vector/modifiers/swap.cc: Same.
3021         * testsuite/23_containers/set/modifiers/swap.cc: Same.
3022         * testsuite/23_containers/multiset/modifiers/swap.cc: Same.
3023         * testsuite/23_containers/multimap/modifiers/swap.cc: Same.
3024         * testsuite/23_containers/map/modifiers/swap.cc: Same.
3025         * testsuite/23_containers/list/modifiers/swap.cc: Same.
3026
3027         * testsuite/22_locale/locale/cons/12658_thread.cc: Catch exceptions.
3028
3029 2004-03-08  Benjamin Kosnik  <bkoz@redhat.com>
3030
3031         PR c++/13658
3032         * testsuite/23_containers/deque/modifiers/swap.cc: New.
3033         * testsuite/23_containers/list/modifiers/swap.cc: New.
3034         * testsuite/23_containers/map/modifiers/swap.cc: New.
3035         * testsuite/23_containers/multimap/modifiers/swap.cc: New.
3036         * testsuite/23_containers/multiset/modifiers/swap.cc: New.
3037         * testsuite/23_containers/set/modifiers/swap.cc: New.
3038         * testsuite/23_containers/vector/modifiers/swap.cc: New.
3039
3040 2004-03-08  Petur Runolfsson  <peturr02@ru.is>
3041
3042         PR libstdc++/12658
3043         * testsuite/22_locale/locale/cons/12658_thread.cc: New.
3044
3045 2004-03-08  Paolo Carlini  <pcarlini@suse.de>
3046
3047         * docs/html/ext/howto.html: Add entry for DR 103 [WP].
3048         * include/bits/stl_multiset.h: Add comment about DR 103.
3049         * include/bits/stl_set.h: Likewise.
3050
3051 2004-03-08  Paolo Carlini  <pcarlini@suse.de>
3052
3053         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
3054         The value _space_ indicates that at least one space is required
3055         at that position.
3056         * testsuite/22_locale/money_get/get/char/17.cc: New.
3057         * testsuite/22_locale/money_get/get/wchar_t/17.cc: New.
3058
3059         * testsuite/22_locale/money_get/get/char/7.cc: Minor tweaks.
3060         * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
3061
3062         * include/bits/locale_facets.tcc (money_get<>::do_get(long_double&)):
3063         Remove redundant conditional on __str.size().
3064
3065 2004-03-08  Benjamin Kosnik  <bkoz@redhat.com>
3066
3067         * include/bits/allocator.h: Switch defaults to mt_alloc.
3068
3069 2004-03-06  Benjamin Kosnik  <bkoz@redhat.com>
3070
3071         * include/ext/mt_allocator.h (_S_initialize): If
3072         !__GTHREAD_MUTEX_INIT, then initialize _S_thread_freelist_mutex.
3073
3074 2004-03-06  Benjamin Kosnik  <bkoz@redhat.com>
3075
3076         PR libstdc++/12658
3077         * src/locale_init.cc (locale::locale): Lock critical regions with
3078         external mutexes.
3079         (locale::global): Same.
3080         * include/bits/concurrence.h (__glibcxx_mutex_define_initialized):
3081         Add in once bits for cases without __GTHREAD_MUTEX_INIT.
3082         (__glibcxx_mutex_lock): Same.
3083
3084         * config/cpu/generic/atomicity.h: Remove
3085         _GLIBCXX_NEED_GENERIC_MUTEX, use concurrence.h.
3086         * src/misc-inst.cc: Move all locking bits out of this file.
3087
3088         * config/os/hpux/os_defines.h: Remove _GLIBCXX_INST_ATOMICITY_LOCK.
3089         * src/misc-inst.cc: Same.
3090         * config/cpu/hppa/atomicity.h: Same.
3091
3092         * config/linker-map.gnu: Remove types in the signature of atomic
3093         exports, as they may vary.
3094
3095 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
3096
3097         * include/bits/locale_facets.tcc: Tweak the comment preceding
3098         has_facet: doesn't throw.
3099
3100 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
3101
3102         * testsuite/22_locale/money_get/get/char/1.cc: Clean up.
3103         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
3104         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
3105         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
3106         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
3107         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
3108         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
3109         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
3110
3111 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
3112
3113         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
3114         num_get<>::_M_extract_int, num_get<>::do_get(bool&),
3115         __pad<>::_S_pad): Prefer plain operator== to traits::eq().
3116         * testsuite/testsuite_character.h (struct __gnu_test::character):
3117         Provide operator==.
3118         * testsuite/testsuite_hooks.h (struct __gnu_test::pod_char):
3119         Likewise.
3120
3121 2004-03-05  Paolo Carlini  <pcarlini@suse.de>
3122
3123         * testsuite/27_io/fpos/14320-2.cc: Remove xfail.
3124
3125 2004-03-04  Benjamin Kosnik  <bkoz@redhat.com>
3126
3127         * testsuite/23_containers/multiset/insert/1.cc: Test result string.
3128
3129         * testsuite/23_containers/bitset/invalidation/1.cc: Main always
3130         returns 0.
3131         * testsuite/23_containers/deque/invalidation/4.cc: Same.
3132         * testsuite/23_containers/list/invalidation/1.cc: Same.
3133         * testsuite/23_containers/list/invalidation/2.cc: Same.
3134         * testsuite/23_containers/list/invalidation/3.cc: Same.
3135         * testsuite/23_containers/list/invalidation/4.cc: Same.
3136         * testsuite/23_containers/map/invalidation/2.cc: Same.
3137         * testsuite/23_containers/multimap/invalidation/1.cc: Same.
3138         * testsuite/23_containers/multimap/invalidation/2.cc: Same.
3139         * testsuite/23_containers/multiset/invalidation/1.cc: Same.
3140         * testsuite/23_containers/multiset/invalidation/2.cc: Same.
3141         * testsuite/23_containers/set/invalidation/1.cc: Same.
3142         * testsuite/23_containers/set/invalidation/2.cc: Same.
3143         * testsuite/23_containers/vector/invalidation/1.cc: Same.
3144         * testsuite/23_containers/vector/invalidation/2.cc: Same.
3145         * testsuite/23_containers/vector/invalidation/3.cc: Same.
3146         * testsuite/23_containers/vector/invalidation/4.cc: Same.
3147
3148 2004-03-04  Paolo Carlini  <pcarlini@suse.de>
3149
3150         * scripts/testsuite_flags.in: Add "-D_GLIBCXX_ASSERT" to
3151         CXXFLAGS_save.
3152         * testsuite/lib/libstdc++.exp: Don't add it conditionally to
3153         DEFAULT_CXXFLAGS.
3154         * testsuite/18_support/numeric_limits.cc: Remove "-D_GLIBCXX_ASSERT"
3155         from the dg-options.
3156         * testsuite/23_containers/vector/invalidation/1.cc: Likewise.
3157         * testsuite/23_containers/vector/invalidation/2.cc: Likewise.
3158         * testsuite/23_containers/vector/invalidation/3.cc: Likewise.
3159         * testsuite/23_containers/vector/invalidation/4.cc: Likewise.
3160         * testsuite/23_containers/vector/resize/1.cc: Likewise.
3161         * testsuite/26_numerics/complex_value.cc: Likewise.
3162         * testsuite/27_io/ios_base/storage/1.cc: Likewise.
3163         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
3164         * testsuite/27_io/ios_base/storage/3.cc: Likewise.
3165         * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
3166         * testsuite/27_io/objects/char/5.cc: Likewise.
3167         * testsuite/27_io/objects/wchar_t/5.cc: Likewise.
3168         * testsuite/backward/11460.cc: Likewise.
3169         * testsuite/thread/pthread7-rope.cc: Likewise.
3170
3171         * testsuite/21_strings/basic_string/compare/char/1.cc: Add
3172         missing test variable.
3173         * testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Add
3174         missing test variable.
3175
3176 2004-03-04  Benjamin Kosnik  <bkoz@redhat.com>
3177
3178         * testsuite/20_util/allocator/1.cc: Provide explicit
3179         instantiations for non-weak systems.
3180         * testsuite/20_util/binders.cc: Same.
3181         * testsuite/20_util/allocator/8230.cc: Same.
3182         * testsuite/20_util/allocator/10378.cc: Same.
3183         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
3184         * testsuite/22_locale/ctype/is/char/2.cc: Same.
3185         * testsuite/thread/pthread7-rope.cc: Same.
3186         * testsuite/thread/pthread6.cc: Same.
3187         * testsuite/thread/pthread5.cc: Same.
3188         * testsuite/thread/pthread4.cc: Same.
3189         * testsuite/thread/pthread1.cc: Same.
3190         * testsuite/ext/rope.cc: Same.
3191         * testsuite/ext/hash_set.cc: Same.
3192         * testsuite/ext/hash_map.cc: Same.
3193         * testsuite/ext/concept_checks.cc: Same.
3194         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Same.
3195         * testsuite/25_algorithms/unique/2.cc: Same.
3196         * testsuite/25_algorithms/unique/1.cc: Same.
3197         * testsuite/25_algorithms/rotate.cc: Same.
3198         * testsuite/25_algorithms/min_max.cc: Same.
3199         * testsuite/25_algorithms/equal.cc: Same.
3200         * testsuite/24_iterators/rel_ops.cc: Same.
3201         * testsuite/24_iterators/iterator.cc: Same.
3202         * testsuite/24_iterators/insert_iterator.cc: Same.
3203         * testsuite/24_iterators/front_insert_iterator.cc: Same.
3204         * testsuite/24_iterators/back_insert_iterator.cc: Same.
3205         * testsuite/23_containers/vector/resize/1.cc: Same.
3206         * testsuite/23_containers/vector/modifiers/2.cc: Same.
3207         * testsuite/23_containers/vector/modifiers/1.cc: Same.
3208         * testsuite/23_containers/vector/invalidation/4.cc: Same.
3209         * testsuite/23_containers/vector/invalidation/3.cc: Same.
3210         * testsuite/23_containers/vector/invalidation/2.cc: Same.
3211         * testsuite/23_containers/vector/invalidation/1.cc: Same.
3212         * testsuite/23_containers/vector/element_access/1.cc: Same.
3213         * testsuite/23_containers/vector/cons/6513.cc: Same.
3214         * testsuite/23_containers/vector/cons/3.cc: Same.
3215         * testsuite/23_containers/vector/cons/2.cc: Same.
3216         * testsuite/23_containers/vector/cons/1.cc: Same.
3217         * testsuite/23_containers/vector/capacity/8230.cc: Same.
3218         * testsuite/23_containers/vector/capacity/1.cc: Same.
3219         * testsuite/23_containers/vector/bool/6886.cc: Same.
3220         * testsuite/23_containers/stack/members/7158.cc: Same.
3221         * testsuite/23_containers/set/invalidation/2.cc: Same.
3222         * testsuite/23_containers/set/invalidation/1.cc: Same.
3223         * testsuite/23_containers/queue/members/7157.cc: Same.
3224         * testsuite/23_containers/priority_queue/members/7161.cc: Same.
3225         * testsuite/23_containers/multiset/invalidation/2.cc: Same.
3226         * testsuite/23_containers/multiset/invalidation/2.cc: Same.
3227         * testsuite/23_containers/multiset/insert/1.cc: Same.
3228         * testsuite/23_containers/multimap/invalidation/2.cc: Same.
3229         * testsuite/23_containers/multimap/invalidation/2.cc: Same.
3230         * testsuite/23_containers/map/operators/1.cc: Same.
3231         * testsuite/23_containers/map/invalidation/2.cc: Same.
3232         * testsuite/23_containers/map/invalidation/1.cc: Same.
3233         * testsuite/23_containers/map/insert/1.cc: Same.
3234         * testsuite/23_containers/list/operators/4.cc: Same.
3235         * testsuite/23_containers/list/operators/3.cc: Same.
3236         * testsuite/23_containers/list/operators/2.cc: Same.
3237         * testsuite/23_containers/list/operators/1.cc: Same.
3238         * testsuite/23_containers/list/modifiers/3.cc: Same.
3239         * testsuite/23_containers/list/modifiers/2.cc: Same.
3240         * testsuite/23_containers/list/modifiers/1.cc: Same.
3241         * testsuite/23_containers/list/invalidation/4.cc: Same.
3242         * testsuite/23_containers/list/invalidation/3.cc: Same.
3243         * testsuite/23_containers/list/invalidation/2.cc: Same.
3244         * testsuite/23_containers/list/invalidation/1.cc: Same.
3245         * testsuite/23_containers/list/cons/9.cc: Same.
3246         * testsuite/23_containers/list/cons/8.cc: Same.
3247         * testsuite/23_containers/list/cons/7.cc: Same.
3248         * testsuite/23_containers/list/cons/6.cc: Same.
3249         * testsuite/23_containers/list/cons/5.cc: Same.
3250         * testsuite/23_containers/list/cons/4.cc: Same.
3251         * testsuite/23_containers/list/cons/3.cc: Same.
3252         * testsuite/23_containers/list/cons/2.cc: Same.
3253         * testsuite/23_containers/list/cons/1.cc: Same.
3254         * testsuite/23_containers/list/capacity/1.cc: Same.
3255         * testsuite/23_containers/deque/operators/1.cc: Same.
3256         * testsuite/23_containers/deque/invalidation/4.cc: Same.
3257         * testsuite/23_containers/deque/invalidation/3.cc: Same.
3258         * testsuite/23_containers/deque/invalidation/2.cc: Same.
3259         * testsuite/23_containers/deque/invalidation/1.cc: Same.
3260         * testsuite/23_containers/deque/cons/2.cc: Same.
3261         * testsuite/23_containers/deque/cons/1.cc: Same.
3262
3263         * src/allocator.cc: Add char, wchar_t instantiations
3264         to match extern template declarations in memory.h.
3265
3266 2004-03-03  Paolo Carlini  <pcarlini@suse.de>
3267
3268         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
3269         Fix warning regression.
3270
3271 2004-03-03  Paolo Carlini  <pcarlini@suse.de>
3272
3273         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
3274         Deal properly with empty __digits and negative frac_digits,
3275         clean-up a bit.
3276
3277 2004-03-03  Jonathan Wakely  <redi@gcc.gnu.org>
3278
3279         * docs/html/documentation.html: Regenerate.
3280
3281 2004-03-02  Paolo Carlini  <pcarlini@suse.de>
3282
3283         PR libstdc++/14320
3284         * include/bits/postypes.h (class streamoff): Remove, now
3285         streamoff is just typedef a 64 bit signed integer type.
3286         (class fpos): Tweak consistently.
3287         * testsuite/27_io/fpos/14320-1.cc: New.
3288         * testsuite/27_io/fpos/14320-2.cc: New.
3289         * testsuite/27_io/fpos/14320-3.cc: New.
3290         * testsuite/27_io/fpos/14320-4.cc: New.
3291         * testsuite/27_io/fpos/14320-5.cc: New.
3292         * testsuite/27_io/fpos/mbstate_t/4_neg.cc: xfail for now.
3293
3294 2004-03-02  Paolo Carlini  <pcarlini@suse.de>
3295
3296         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
3297         Reorganize a bit the main parsing loop, thus early detecting
3298         an empty value component.
3299         * testsuite/22_locale/money_get/get/char/16.cc: New.
3300         * testsuite/22_locale/money_get/get/wchar_t/16.cc: New.
3301
3302 2004-03-02  Benjamin Kosnik  <bkoz@redhat.com>
3303
3304         Support automake 1.8.2
3305         * configure.ac (AM_INIT_AUTOMAKE): Add -Wno-override.
3306         * po/Makefile.am (EXTRA_DIST): New.
3307         * po/Makefile.in: Regenerate.
3308         * Makefile.in: Same.
3309         * include/Makefile.in: Same.
3310         * libmath/Makefile.in: Same.
3311         * libsupc++/Makefile.in: Same.
3312         * src/Makefile.in: Same.
3313         * testsuite/Makefile.in: Same.
3314
3315         * include/Makefile.am (${host_builddir}/gthr-posix.h): Use
3316         __GXX_WEAK__ instead of SUPPORTS_WEAK.
3317         (${host_builddir}/gthr-default.h): Same.
3318         (${host_builddir}/gthr.h): Same.
3319         * acinclude.m4 (GLIBCXX_ENABLE_THREAD): Remove
3320         _GLIBCXX_SUPPORTS_WEAK, as this behavior can be modified via
3321         -fno-weak.
3322         * aclocal.m4: Regenerate.
3323         * acconfig.h: Remove _GLIBCXX_SUPPORTS_WEAK.
3324         * config.h.in: Regenerate.
3325         * configure: Same.
3326
3327 2004-03-01  Benjamin Kosnik  <bkoz@redhat.com>
3328
3329         Support autoconf 2.59
3330         * acinclude.m4: Quote correctly.
3331         * aclocal.m4: Regenerate.
3332         * linkage.m4: Same.
3333
3334 2004-03-01  Benjamin Kosnik  <bkoz@redhat.com>
3335
3336         * docs/html/test.html: Add multilib RUNTESTFLAGS example.
3337
3338         * docs/html/18_support/howto.html: Add bit about writing to
3339         stderr, mostly by Zack.
3340
3341 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
3342
3343         * include/bits/locale_facets.tcc (money_get<>::_M_extract,
3344         money_get<>::do_get(string_type&)): ... and two more.
3345
3346 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
3347
3348         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
3349         Fix thinkos in the switch from string_type& to string& as last
3350         argument.
3351
3352 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
3353
3354         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
3355         Also when parsing exponent sign, first look for thousands_sep
3356         and decimal_point; tweak a bit.
3357         * testsuite/22_locale/num_get/get/char/15.cc: New.
3358         * testsuite/22_locale/num_get/get/wchar_t/15.cc: New.
3359
3360         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
3361         num_get<>::_M_extract_int): Reorder some conditionals.
3362
3363 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
3364
3365         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
3366         Consistently with numpunct, enforce the requirements in
3367         22.2.6.3, p3 for the thousands separators; tweak a bit.
3368         * testsuite/22_locale/money_get/get/char/15.cc: New.
3369         * testsuite/22_locale/money_get/get/wchar_t/15.cc: New.
3370
3371 2004-03-01  David Billinghurst <David.Billinghurst@riotinto.com>
3372
3373         * testsuite/lib/libstdc++.exp (v3-list-tests): Use
3374         testsuite_files from correct multilib blddir when running
3375         testsuite.
3376
3377 2004-02-29  Phil Edwards  <phil@codesourcery.com>
3378
3379         * testsuite/Makefile.am (check-abi, check-abi-verbose):  Copy
3380         the summary file to the logfile.
3381         * testsuite/Makefile.in:  Regenerate.
3382
3383 2004-02-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3384
3385         * config/cpu/hppa/atomicity.h (__atomic_add): Make first argument
3386         volatile.
3387         * config/os/hpux/os_defines.h (_GLIBCXX_INST_ATOMICITY_LOCK): Use
3388         __GXX_WEAK__ instead of _GLIBCXX_SUPPORTS_WEAK.
3389
3390 2004-02-28  Paolo Carlini  <pcarlini@suse.de>
3391
3392         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
3393         According to 22.2.3.1, p2, 'units' may be followed by 'e' with
3394         no 'decimal-point' in the middle: in this case too we must fix
3395         up __found_grouping; slightly tweak.
3396         * testsuite/22_locale/num_get/get/char/14.cc: New.
3397         * testsuite/22_locale/num_get/get/wchar_t/14.cc: New.
3398
3399 2004-02-27  Eric Christopher  <echristo@redhat.com>
3400             Phil Edwards  <phil@codesourcery.com>
3401
3402         * testsuite/22_locale/collate/compare/wchar_t/2.cc,
3403         testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc,
3404         testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc,
3405         testsuite/22_locale/collate/hash/wchar_t/2.cc,
3406         testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc,
3407         testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc,
3408         testsuite/22_locale/collate/transform/wchar_t/2.cc,
3409         testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc,
3410         testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
3411         Use dg-require-iconv.
3412         * testsuite/lib/libstdc++.exp:  Load target-supports.exp.
3413
3414 2004-02-27  Phil Edwards  <phil@codesourcery.com>
3415             Eric Christopher  <echristo@redhat.com>
3416
3417         * testsuite/config/default.exp:  Update with comments.
3418         (${tool}_target_compile):  New wrapper routine.
3419         * testsuite/lib/dg-options.exp:  New file, with dg-require-iconv.
3420         * testsuite/lib/libstdc++.exp:  Update with comments and cosmetic
3421         fixes.
3422         (load_gcc_lib, v3track):  New routines.
3423         (v3-init):  Rename to libstdc++_init.
3424         * testsuite/libstdc++-dg/normal.exp:  No longer call v3-init.
3425         Move DEFAULT_CXXFLAGS handling into libstdc++_init.
3426
3427 2004-02-27  Benjamin Kosnik  <bkoz@redhat.com>
3428
3429         * config/cpu/hppa/atomicity.h: Include c++config.h to get defines.
3430
3431         * src/misc-inst.cc (_S_atomicity_lock): Move to __gnu_cxx.
3432
3433         * config/os/irix/irix5.2/atomicity.h: Merge..
3434         * config/os/irix/irix6.5/atomicity.h: Merge..
3435         * config/os/irix/atomicity.h: ...into this.
3436         * config/os/irix/atomic_word.h: New.
3437         * configure.host: Set atomic_word_dir for irix.
3438
3439         * hppa/atomicity.h: Change __Atomicity_lock to _Atomicity_lock.
3440         * i386/atomicity.h: Same.
3441         * m68k/atomicity.h: Same.
3442         * sparc/atomicity.h: Same.
3443
3444 2004-02-27  David Edelsohn  <edelsohn@gnu.org>
3445
3446         * config/os/aix/atomicity.h: Use __gnu_cxx namespace. Remove
3447         static, and inline keywords.
3448
3449 2004-02-27  Paolo Carlini  <pcarlini@suse.de>
3450
3451         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
3452         num_get<>::_M_extract_int, money_get<>::_M_extract): If appropriate,
3453         call reserve on the __tmp_gruping string.
3454         (num_get<>::_M_extract_float): Don't append unnecessarily a
3455         char() to the returned string.
3456         * include/bits/locale_facets.tcc: Trivial reformattings.
3457
3458 2004-02-27  Paolo Carlini  <pcarlini@suse.de>
3459
3460         * include/bits/locale_facets.h (money_get<>::_M_extract):
3461         Change signature: now takes a plain string&.
3462         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
3463         Update consistently the definition; use the moneypunct cache
3464         to parse the value; use swap to change __units.
3465         (money_get<>::do_get(long double&)): Update call of _M_extract,
3466         avoid ctype::narrow, not correct wrt the standard.
3467         (money_get<>::do_get(string_type&)): Likewise, update call
3468         of _M_extract, use ctype::widen.
3469         * src/locale-inst.cc: Tweak instantiations of _M_extract.
3470
3471 2004-02-26  Ian Lance Taylor  <ian@wasabisystems.com>
3472
3473         * testsuite/demangle/abi_examples/01.cc: Expect error -2.
3474         * testsuite/demangle/abi_examples/02.cc: Likewise.
3475         * testsuite/demangle/regression/cw-11.cc: Likewise.
3476         * testsuite/demangle/regression/cw-16.cc: Change two expected
3477         results to match libiberty demangler output.
3478
3479 2004-02-26  Benjamin Kosnik  <bkoz@redhat.com>
3480
3481         PR libstdc++/10246
3482         * libsupc++/Makefile.am: Use libiberty demangler.
3483         (c_sources): Add cp-demangle.c.
3484         * libsupc++/Makefile.in: Regenerate.
3485         * src/Makefile.am (sources): Remove demangle.cc.
3486         * src/Makefile.in: Regenerate.
3487         * include/Makefile.am (bits_headers): Move demangle.h.
3488         (ext_headers): ...here.
3489         * include/Makefile.in: Regenerate.
3490         * include/bits/demangle.h: Move...
3491         * include/ext/demangle.h: ...here.
3492         * src/demangle.cc: Remove.
3493
3494 2004-02-26  Benjamin Kosnik  <bkoz@redhat.com>
3495
3496         * include/bits/demangle.h: Add type template parameter to all
3497         templates with just an Allocator template parameter.
3498
3499 2004-02-25  Benjamin Kosnik  <bkoz@redhat.com>
3500
3501         * include/bits/atomicity.h: New, forward declarations for __atomic_add
3502         and __exchange_and_add.
3503         * config/cpu/generic/atomic_word.h: New, typdef for atomic word.
3504         * config/cpu/cris/atomic_word.h: Same.
3505         * config/cpu/sparc/atomic_word.h: Same.
3506         * include/bits/ios_base.h (_Callback_list::_M_remove_reference):
3507         Qualifiy with __gnu_cxx.
3508         (_Callback_list::_M_add_reference): Same.
3509         * include/bits/locale_classes.h (locale::facet::_M_add_reference): Add.
3510         (locale::facet::_M_remove_reference): Same.
3511         (locale::_Impl::_M_add_reference): Add.
3512         (locale::_Impl::_M_remove_reference): Same.
3513         * include/bits/basic_string.h (basic_string::_Rep::_M_refcopy): Same.
3514         (basic_string::_Rep::_M_dispose): Same.
3515         * src/ios.cc (ios_base::xalloc): Same.
3516         * src/ios_init.cc (ios_base::Init::Init): Same.
3517         (ios_base::Init::~Init): Same.
3518         * src/locale.cc (locale::id::_M_id): Same.
3519         * config/cpu/i486/atomicity.h: Use __gnu_cxx namespace. Remove
3520         static, and inline keywords.
3521         * config/cpu/alpha/atomicity.h: Same.
3522         * config/cpu/cris/atomicity.h: Same.
3523         * config/cpu/generic/atomicity.h: Same.
3524         * config/cpu/hppa/atomicity.h: Same.
3525         * config/cpu/i386/atomicity.h: Same.
3526         * config/cpu/ia64/atomicity.h: Same.
3527         * config/cpu/m68k/atomicity.h: Same.
3528         * config/cpu/mips/atomicity.h: Same.
3529         * config/cpu/powerpc/atomicity.h: Same.
3530         * config/cpu/s390/atomicity.h: Same.
3531         * config/cpu/sparc/atomicity.h: Same.
3532
3533         * src/Makefile.am (host_sources): Add atomicity.cc.
3534         (atomicity.cc): New rule.
3535         * src/Makefile.in: Regenerate.
3536         * include/Makefile.am (host_headers): Remove host atomicity.h.
3537         (host_headers): Add atomic_word.h.
3538         (bits_headers): Add bits atomicity.h.
3539         Change ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
3540         * include/Makefile.in: Regenerate.
3541         * configure.host (atomic_word_dir): Add.
3542         * configure.ac: Substitute ATOMIC_WORD_SRCDIR. Change
3543         ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
3544         * configure: Regenerate.
3545         * config/linker-map.gnu: Export __exchange_and_add, and __atomic_add.
3546
3547         * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
3548         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
3549
3550 2004-02-25  Jonathan Wakely  <redi@gcc.gnu.org>
3551
3552         * docs/html/20_util/howto.html, docs/html/20_util/allocator.html,
3553         docs/html/ext/howto.html, docs/html/ext/mt_allocator.html:
3554         Fix markup, more <link> tags.
3555
3556 2004-02-25  Carlo Wood  <carlo@alinoe.com>
3557
3558         * bits/demangle.h
3559         namespace __gnu_cxx::demangler
3560         (session<Allocator>::qualifier_list_Allocator): Add
3561         (session<Allocator>::M_qualifier_list_alloc): Add
3562         (session<Allocator>::decode_type_with_postfix):
3563         Use M_qualifier_list_alloc instead of calling operator new/delete.
3564
3565 2004-02-24  Paolo Carlini  <pcarlini@suse.de>
3566
3567         PR libstdc++/14252
3568         * include/bits/postypes.h (class streamoff): Add operator++(),
3569         operator++(int), operator--() and operator--(int).
3570         * testsuite/27_io/fpos/14252.cc: New.
3571
3572 2004-02-24  Richard Sandiford  <rsandifo@redhat.com>
3573
3574         * include/bits/locale_facets.tcc (num_get::_M_extract_int): Fix bounds
3575         error in handling of hex constants.
3576
3577 2004-02-24  Paolo Carlini  <pcarlini@suse.de>
3578
3579         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
3580         Prefer basic_string::append to operator+= and a temporary.
3581
3582 2004-02-23  Benjamin Kosnik  <bkoz@redhat.com>
3583
3584         * libsupc++/vterminate.cc (__gnu_cxx::__verbose_terminate_handler):
3585         Only use fputs, not write.
3586
3587 2004-02-23  Benjamin Kosnik  <bkoz@redhat.com>
3588
3589         * include/ext/malloc_allocator.h: Add operators ==, !=.
3590         * include/ext/new_allocator.h: Add operators ==, !=.
3591         * include/ext/mt_allocator.h (__mt_alloc::tune): New.
3592         (__mt_alloc::_S_get_options): New.
3593         (__mt_alloc::_S_set_options): New.
3594         (__mt_alloc::_S_thread_key_destr): To _S_destroy_thread_key.
3595         (__mt_alloc::_S_no_of_bins): To _S_bin_size.
3596         Move functions out of line, simplify, format.
3597         * src/allocator.cc: Simplify explicit instantiations.
3598         * include/bits/allocator.h: Tweak.
3599
3600 2004-02-22  Paolo Carlini  <pcarlini@suse.de>
3601
3602         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
3603         Restructure formatting of value component, first dealing with
3604         the non-decimal digits; use reserve.
3605
3606 2004-02-22  Paolo Carlini  <pcarlini@suse.de>
3607
3608         * include/bits/locale_facets.h (class money_get): Inherit
3609         from money_base too; tweak declaration of _M_extract, now
3610         parameterized on _Intl too.
3611         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
3612         Update definition to use the cache; call reserve on __res to
3613         avoid multiple reallocations; fix parsing of sign component
3614         according to 22.2.6.1.2, p3.
3615         (money_get<>::do_get(long double&),
3616         money_get<>::do_get(string_type&)): Update calls of _M_extract.
3617         * src/locale-inst.cc:  Add instantiations of
3618         money_get::_M_extract<false> and money_get::_M_extract<true>.
3619         * testsuite/22_locale/money_get/get/char/14.cc: New.
3620         * testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto.
3621
3622 2004-02-21  Mark Mitchell  <mark@codesourcery.com>
3623
3624         * libsupc++/vterminate.cc
3625         (__gnu_cxx::__verbose_terminate_handler): Guard against recursive
3626         calls to terminate.
3627         * src/demangle.cc (__cxa_demangle): Wrap in try-catch block.
3628
3629         * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
3630         not set RLIMIT_AS on HP-UX.
3631
3632 2004-02-21  Mark Mitchell  <mark@codesourcery.com>
3633
3634         * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
3635         not set RLIMIT_AS on HP-UX.
3636
3637 2004-02-21  Paolo Carlini  <pcarlini@suse.de>
3638
3639         * include/bits/locale_facets.h (class money_base): Add { _S_minus,
3640         _S_zero, _S_end } enum, _S_atoms.
3641         (struct __moneypunct_cache<>): Parameterize on _Intl too; add
3642         _M_grouping_size, _M_curr_symbol_size, _M_positive_sign_size,
3643         _M_negative_sign_size, _M_atoms; tweak constructor consistently.
3644         (__moneypunct_cache<>::~__moneypunct_cache): Update.
3645         (__moneypunct_cache<>::_M_cache): Fill the cache.
3646         (class moneypunct): Tweak __cache_type typedef.
3647         (class money_put): Inherit from money_base too; tweak declaration
3648         of _M_insert, now parameterized on _Intl.
3649         * include/bits/locale_facets.tcc
3650         (struct __use_cache<__moneypunct_cache<_CharT, _Intl> >): New.
3651         (money_put<>::_M_insert): Update definition to use the cache;
3652         call reserve on __res to avoid multiple reallocations.
3653         (money_put<>::do_put(long double),
3654         money_put<>::do_put(const string_type&): Update calls of _M_insert.
3655         * config/locale/generic/monetary_members.cc
3656         (moneypunct<char, true>::_M_initialize_moneypunct,
3657         moneypunct<char, false>::_M_initialize_moneypunct,
3658         moneypunct<wchar_t, true>::_M_initialize_moneypunct,
3659         moneypunct<wchar_t, false>::_M_initialize_moneypunct): Update.
3660         * config/locale/gnu/monetary_members.cc: Likewise.
3661         * config/locale/gnu/monetary_members.cc
3662         (moneypunct<wchar_t, true>::~moneypunct(),
3663         moneypunct<wchar_t, false>::~moneypunct()): Likewise.
3664         * src/globals_locale.cc: Tweak fake_money_cache_c.
3665         * src/locale-inst.cc: Add instantiations for
3666         money_put::_M_insert<false> and money_put::_M_insert<true> and
3667         __moneypunct_cache<C, false>, __moneypunct_cache<C, true>.
3668         * src/locale_facets.cc: Define money_base::_S_atoms.
3669         * src/locale_init.cc: Update placement new of
3670         __moneypunct_cache<char, false>, __moneypunct_cache<char, true>,
3671         __moneypunct_cache<wchar_t, false>, __moneypunct_cache<wchar_T, true>.
3672
3673         * config/locale/generic/numeric_members.cc: Clean up.
3674         * config/locale/gnu/numeric_members.cc: Likewise.
3675         * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
3676         * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
3677         * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
3678         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
3679         * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
3680         * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
3681
3682 2004-02-20  Mark Mitchell  <mark@codesourcery.com>
3683
3684         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Open
3685         FIFO for writing with ios_base::in|ios_base::out.
3686         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
3687         * testsuite/27_io/objects/char/7.cc: Likewise.
3688         * testsuite/27_io/objects/char/9661-1.cc: Open FIFO for writing
3689         with "r+".
3690
3691 2004-02-19  David Edelsohn  <edelsohn@gnu.org>
3692
3693         * 22_locale/collate/compare/wchar_t/2.cc: Change input-charset
3694         from iso-8859-1 to ISO8859-1.
3695         * 22_locale/collate/compare/wchar_t/wrapped_env.cc: Same.
3696         * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: Same.
3697         * 22_locale/collate/hash/wchar_t/2.cc: Same.
3698         * 22_locale/collate/hash/wchar_t/wrapped_env.cc: Same.
3699         * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: Same.
3700         * 22_locale/collate/transform/wchar_t/2.cc: Same.
3701         * 22_locale/collate/transform/wchar_t/wrapped_env.cc: Same.
3702         * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: Same.
3703
3704 2004-02-18  Paolo Carlini  <pcarlini@suse.de>
3705
3706         * include/bits/locale_facets.h (money_get<>::_M_extract):
3707         New, helper for do_get.
3708         (money_put<>::_M_insert): Likewise, for do_put.
3709         * include/bits/locale_facets.tcc (money_get<>::_M_extract,
3710         money_put<>::_M_insert): Define.
3711         (money_get<>::do_get(long double&), money_get<>::do_get(
3712         string_type&), money_put::do_put(long double),
3713         money_put::do_put(const string_type&)): Use the helpers.
3714
3715 2004-02-18  Paolo Carlini  <pcarlini@suse.de>
3716
3717         * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
3718         Rewrite, avoiding recursion.
3719         (__gnu_internal::xwrite): Minor tweaks.
3720
3721 2004-02-17  Stefan Olsson  <stefan@xapa.se>
3722
3723         * include/ext/mt_allocator.h: Removed the last
3724         pointer. Deallocated blocks are now added to the front of
3725         freelists as proposed by Felix Yen.  This gives roughly 10%
3726         performance boost and saves some memory.
3727         * docs/html/ext/mt_allocator.html: Change due to that deallocated
3728         blocks now are added to the front of freelists. The reason to this
3729         approach is also explained.
3730
3731 2004-02-17  Paolo Carlini  <pcarlini@suse.de>
3732
3733         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
3734         num_get<>::_M_extract_int, money_get<>::do_get): Simplify
3735         grouping fidelity conditional.
3736
3737 2004-02-16  Paolo Carlini  <pcarlini@suse.de>
3738
3739         * testsuite/27_io/basic_filebuf/overflow/char/13858.cc:
3740         Qualify exception with std::.
3741         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto.
3742         * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
3743         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
3744         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
3745         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
3746
3747 2004-02-16  Paolo Carlini  <pcarlini@suse.de>
3748
3749         * testsuite/ext/enc_filebuf/char/13189.cc: Don't check
3750         for now that the catch block is not reached.
3751         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
3752
3753 2004-02-16  Paolo Carlini  <pcarlini@suse.de>
3754
3755         * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
3756         Fix parsing of the remaining sign characters.
3757         * 22_locale/money_get/get/char/2.cc: Tweak: now, correctly,
3758         the input is scanned 'til eof.
3759         * 22_locale/money_get/get/char/4.cc: Likewise.
3760         * 22_locale/money_get/get/wchar_t/2.cc: Likewise.
3761         * 22_locale/money_get/get/wchar_t/4.cc: Likewise.
3762         * 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format,
3763         not do_pos_format: the former is the only one that matters during
3764         input.
3765         * 22_locale/money_get/get/wchar_t/8.cc: Likewise.
3766
3767         * 22_locale/money_get/get/char/6.cc: Minor tweak.
3768         * 22_locale/money_get/get/wchar_t/6.cc: Likewise.
3769
3770 2004-02-15  David Asher  <david.asher@cavium.com>
3771
3772         PR libstdc++/11352
3773         * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't
3774         access __olds beyond __oldlen.
3775
3776 2004-02-14  Paolo Carlini  <pcarlini@suse.de>
3777
3778         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make
3779         sure the exception is actually thrown.
3780         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
3781         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
3782         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
3783
3784 2004-02-14  Paolo Carlini  <pcarlini@suse.de>
3785
3786         PR libstdc++/13858
3787         * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
3788         In case of conversion errors, throw ios_failure; simplify.
3789         * testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
3790         * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
3791         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
3792         previously we didn't throw in case of conversion errors, instead
3793         just returned eof().
3794         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
3795         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
3796         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
3797
3798         * include/bits/fstream.tcc (basic_filebuf<>::overflow):
3799         Trivial simplification of a conditional.
3800
3801 2004-02-12  Paolo Carlini  <pcarlini@suse.de>
3802
3803         PR libstdc++/13731 (final part: writev)
3804         * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
3805         New, a wrapper around writev() handling partial writes.
3806         (__basic_file<char>::xwrite): Move to __gnu_internal and make
3807         static.
3808         (__basic_file<char>::xsputn): Update call.
3809         (__basic_file<char>::xsputn_2): Likewise.
3810         * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
3811         Don't declare, now static.
3812
3813 2004-02-11  Stefan Olsson  <stefan@xapa.se>
3814
3815         * docs/html/ext/mt_allocator.html: New.
3816
3817 2004-02-11  Benjamin Kosnik  <bkoz@redhat.com>
3818
3819         * docs/html/20_util/allocator.html: New file, consolidate
3820         allocator information here. Revamp.
3821         * docs/html/documentation.html: Change links.
3822         * docs/html/20_util/howto.html: Same.
3823         * docs/html/ext/howto.html: Same.
3824
3825 2004-02-11  Paolo Carlini  <pcarlini@suse.de>
3826
3827         PR libstdc++/13731 (first part: write)
3828         * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
3829         New, declare.
3830         * config/io/basic_file_stdio.cc (__basic_file<char>::xwrite):
3831         Define it: a wrapper around write() handling partial write.
3832         (__basic_file<char>::xsputn): Use it.
3833         (__basic_file<char>::xsputn_2): Likewise.
3834
3835 2004-02-11  Paolo Carlini  <pcarlini@suse.de>
3836             Petur Runolfsson  <peturr02@ru.is>
3837
3838         PR libstdc++/14078
3839         * include/std/std_istream.h (operator>>(__istream_type& (*)
3840         (__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
3841         operator>>(ios_base& (*)(ios_base&))): Declare inline.
3842         * include/std/std_ostream.h (operator<<(__ostream_type& (*)
3843         (__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
3844         operator<<(ios_base& (*) (ios_base&))): Likewise.
3845         * testsuite/performance/27_io/fmtflags_manipulators.cc: New.
3846
3847 2004-02-10  Loren J. Rittle  <ljrittle@acm.org>
3848
3849         PR libstdc++/14098
3850         * config/linker-map.gnu: Add typeinfo and typeinfo name for
3851         __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.
3852
3853         PR libstdc++/14097
3854         * config/linker-map.gnu: Add typeinfo and typeinfo name for
3855         __gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.
3856
3857 2004-02-09  Loren J. Rittle  <ljrittle@acm.org>
3858
3859         * include/ext/pool_allocator.h: Include c++config.h.
3860
3861 2004-02-09  Stefan Olsson  <stefan@xapa.se>
3862
3863         * include/ext/mt_allocator.h: thread_id is unused in non threaded
3864         applications and now has a ifdef to remove it completely on
3865         compilers without thread support. Include stdlib.h due to a
3866         compiler warning on getenv().
3867
3868 2004-02-09  Paul Brook  <paul@codesourcery.com>
3869
3870         * libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
3871
3872 2004-02-09  Paolo Carlini  <pcarlini@suse.de>
3873
3874         PR libstdc++/14071
3875         * src/locale_init.cc (locale::global(const locale&)): Use
3876         locale::name() in order to decide whether calling setlocale.
3877         * testsuite/22_locale/locale/global_locale_objects/14071.cc: New.
3878
3879         * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
3880         Avoid computing &= unnecessarily.
3881
3882 2004-02-09  James E Wilson  <wilson@specifixinc.com>
3883
3884         PR libstdc++/5625
3885         * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
3886         __builtin_extend_pointer.
3887
3888 2004-02-09  Paolo Carlini  <pcarlini@suse.de>
3889
3890         PR libstdc++/14072
3891         * include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
3892         Don't leave dangling pointers.
3893         * testsuite/27_io/basic_ios/imbue/14072.cc: New.
3894         * testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
3895         facet is needed in the final test.
3896
3897 2004-02-09  Bernardo Innocenti  <bernie@develer.com>
3898
3899         * crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
3900         * configure: Regenerate.
3901
3902 2004-02-08  Richard Henderson  <rth@redhat.com>
3903
3904         PR libstdc++/14026
3905         * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
3906         uncaughtExceptions during nested catch rethrow.
3907         * testsuite/18_support/14026.cc: New.
3908
3909 2004-02-08  Paolo Carlini  <pcarlini@suse.de>
3910
3911         * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
3912         When working in place remember to set the state to sharable
3913         (otherwise, _M_mutate does it).
3914
3915 2004-02-08  Bernardo Innocenti  <bernie@develer.com>
3916
3917         * include/bits/allocator.h, include/bits/basic_ios.h,
3918         include/bits/basic_ios.tcc, include/bits/basic_string.h,
3919         include/bits/basic_string.tcc, include/bits/boost_concept_check.h,
3920         include/bits/char_traits.h, include/bits/codecvt.h,
3921         include/bits/concurrence.h, include/bits/cpp_type_traits.h,
3922         include/bits/demangle.h, include/bits/deque.tcc,
3923         include/bits/fstream.tcc, include/bits/functexcept.h,
3924         include/bits/gslice.h, include/bits/gslice_array.h,
3925         include/bits/indirect_array.h, include/bits/ios_base.h,
3926         include/bits/istream.tcc, include/bits/list.tcc,
3927         include/bits/locale_classes.h, include/bits/locale_facets.h,
3928         include/bits/locale_facets.tcc, include/bits/localefwd.h,
3929         include/bits/mask_array.h, include/bits/ostream.tcc,
3930         include/bits/postypes.h, include/bits/slice_array.h,
3931         include/bits/sstream.tcc, include/bits/stl_algo.h,
3932         include/bits/stl_algobase.h, include/bits/stl_bvector.h,
3933         include/bits/stl_construct.h, include/bits/stl_deque.h,
3934         include/bits/stl_function.h, include/bits/stl_heap.h,
3935         include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
3936         include/bits/stl_list.h, include/bits/stl_map.h,
3937         include/bits/stl_multimap.h, include/bits/stl_multiset.h,
3938         include/bits/stl_numeric.h, include/bits/stl_pair.h,
3939         include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
3940         include/bits/stl_relops.h, include/bits/stl_set.h,
3941         include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
3942         include/bits/stl_threads.h, include/bits/stl_tree.h,
3943         include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
3944         include/bits/stream_iterator.h, include/bits/streambuf.tcc,
3945         include/bits/streambuf_iterator.h,include/bits/stringfwd.h,
3946         include/bits/type_traits.h, include/bits/valarray_after.h,
3947         include/bits/valarray_array.h, include/bits/valarray_array.tcc,
3948         include/bits/valarray_before.h, include/bits/vector.tcc: Remove
3949         trailing whitespace.
3950
3951 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
3952
3953         * include/bits/basic_string.h: Fix comment.
3954
3955 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
3956
3957         * include/bits/stl_construct.h: Wrap overlong lines, reformat
3958         according to the coding standards.
3959         * include/bits/stl_pair.h: Likewise.
3960         * include/bits/stl_raw_storage_iter.h: Likewise.
3961         * include/bits/stl_stack.h: Likewise.
3962         * include/bits/stl_uninitialized.h: Likewise.
3963         * include/bits/stream_iterator.h: Likewise.
3964         * include/bits/streambuf_iterator.h: Likewise.
3965         * include/bits/type_traits.h: Likewise.
3966
3967 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
3968
3969         * testsuite/27_io/basic_filebuf/open/char/9507.cc:
3970         Adjust timings.
3971
3972 2004-02-05  Loren J. Rittle  <ljrittle@acm.org>
3973
3974         * scripts/check_performance: Support PCH.
3975
3976         * scripts/check_performance (CXX): Add -DNOTHREAD.
3977         * testsuite/performance/20_util/allocator/insert.cc: Integrate
3978         threaded tests from insert_insert.cc.  Tweak iterations,
3979         remove special cases.
3980         * testsuite/performance/20_util/allocator/insert_insert.cc:
3981         Make all tests single-threaded. Tweak iterations.
3982         * testsuite/performance/20_util/allocator/map_thread.cc:
3983         Tweak iterations.
3984         * testsuite/performance/20_util/allocator/producer_consumer.cc:
3985         Likewise.
3986
3987 2004-02-05  Geoffrey Keating  <geoffk@apple.com>
3988
3989         PR 12179
3990         * .cvsignore: New.
3991         * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
3992         'gcc-lib'.  Add comment about poorly-named variables.
3993         * aclocal.m4: Regenerate.
3994         * configure: Regenerate.
3995
3996 2004-02-05  Paolo Carlini  <pcarlini@suse.de>
3997
3998         * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
3999         Thousands-sep are always optional; thousands-sep are not allowed
4000         after the decimal_point.
4001         * testsuite/22_locale/money_get/get/char/12.cc: New.
4002         * testsuite/22_locale/money_get/get/char/13.cc: New.
4003         * testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
4004         * testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
4005
4006         * testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
4007         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
4008         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
4009         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
4010         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
4011         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
4012         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
4013         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
4014
4015         * testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
4016         the standard.
4017         * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
4018
4019 2004-02-05  Richard Sandiford  <rsandifo@redhat.com>
4020
4021         * config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
4022         Define.
4023         * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
4024         it to decide whether FIONREAD should take an off_t or int argument.
4025
4026 2004-02-05  Paolo Carlini  <pcarlini@suse.de>
4027
4028         * include/bits/stl_function.h: Minor formatting changes.
4029
4030 2004-02-04  Zack Weinberg  <zack@codesourcery.com>
4031
4032         Revert previous change to config/abi/*/baseline_symbols.txt.
4033
4034 2004-02-04  Benjamin Kosnik  <bkoz@redhat.com>
4035             Zack Weinberg  <zack@codesourcery.com>
4036
4037         * config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
4038         New function.
4039         (__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
4040         (__basic_file<char>::_M_open_mode): Delete.
4041         * config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
4042
4043         * testsuite/27_io/basic_filebuf/close/char/9964.cc
4044         * testsuite/27_io/basic_filebuf/open/char/9507.cc:
4045         Correct flags to filebuf::open calls.
4046
4047         * config/abi/alpha-freebsd5/baseline_symbols.txt
4048         * config/abi/alpha-linux-gnu/baseline_symbols.txt
4049         * config/abi/hppa-linux-gnu/baseline_symbols.txt
4050         * config/abi/i386-freebsd4/baseline_symbols.txt
4051         * config/abi/i386-freebsd5/baseline_symbols.txt
4052         * config/abi/i486-linux-gnu/baseline_symbols.txt
4053         * config/abi/ia64-linux-gnu/baseline_symbols.txt
4054         * config/abi/mips-linux-gnu/baseline_symbols.txt
4055         * config/abi/sparc-freebsd5/baseline_symbols.txt
4056         * config/abi/sparc-linux-gnu/baseline_symbols.txt
4057         * config/abi/x86_64-linux-gnu/baseline_symbols.txt:
4058         Remove entry for __basic_file<char>::_M_open_mode.
4059
4060 2004-02-04  Loren J. Rittle  <ljrittle@acm.org>
4061
4062         * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
4063
4064 2004-02-04  Felix Yen  <fwy@alumni.brown.edu>
4065
4066         * testsuite/performance/20_util/producer_consumer.cc: New.
4067         * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
4068
4069 2004-02-04  Benjamin Kosnik  <bkoz@redhat.com>
4070
4071         * testsuite/performance/20_util/allocator.cc: Move to..
4072         * testsuite/performance/20_util/allocator/insert.cc: ...here.
4073         * testsuite/performance/20_util/allocator_thread.cc: Move to...
4074         * testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
4075         * testsuite/performance/20_util/allocator_map_thread.cc: Move to...
4076         * testsuite/performance/20_util/allocator/map_thread.cc: ...here.
4077
4078 2004-02-04  Jonathan Wakely  <redi@gcc.gnu.org>
4079
4080         * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
4081         * docs/html/faq/index.txt: Regenerate.
4082
4083 2004-02-04  Dhruv Matani  <dhruvbird@gmx.net>
4084
4085         * include/ext/debug_allocator.h: _M_extra now stands for the
4086         number of extra objects instead of the number of extra bytes.
4087         (debug_allocator::allocate): Adjust.
4088         (debug_allocator::deallocate): Adjust.
4089
4090         * include/ext/pool_allocator.h: Fix typo.
4091
4092 2004-02-03  Felix Yen  <fwy@alumni.brown.edu>
4093             Benjamin Kosnik  <bkoz@redhat.com>
4094
4095         * testsuite/performance/20_util/allocator.cc: Add map,
4096         deque, set tests.
4097         * testsuite/performance/20_util/allocator_thread.cc: Same.
4098
4099 2004-02-03  Paolo Carlini  <pcarlini@suse.de>
4100
4101         * include/bits/basic_string.h (insert(iterator)): Remove,
4102         non-standard and already scheduled for removal.
4103
4104 2004-02-03  Paolo Carlini  <pcarlini@suse.de>
4105
4106         * include/bits/stl_iterator_base_funcs.h: Minor formatting
4107         and indentation tweaks.
4108         * include/bits/stl_iterator_base_types.h: Likewise.
4109         * include/bits/stl_list.h: Likewise.
4110         * include/bits/stl_map.h: Likewise.
4111         * include/bits/stl_tempbuf.h: Likewise.
4112
4113 2004-02-02  Jerry Quinn  <jlquinn@optonline.net>
4114
4115         * include/bits/gslice.h, include/bits/gslice_array.h,
4116         include/bits/indirect_array.h, include/bits/mask_array.h,
4117         include/bits/slice_array.h, include/bits/stl_numeric.h,
4118         include/std/std_valarray.h:  Update copyright years.
4119
4120 2004-02-02  Jerry Quinn  <jlquinn@optonline.net>
4121
4122         * include/bits/gslice.h (gslice):  Document.
4123         * include/bits/gslice_array.h (gslice_array):  Document.
4124         * include/bits/indirect_array (indirect_array):  Document.
4125         * include/bits/mask_array (mask_array):  Document.
4126         * include/bits/slice_array.h (slice,slice_array):  Document.
4127         * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
4128         adjacent_difference):  Document
4129         * include/std/std_valarray.h (valarray):  Document.
4130
4131 2004-02-02  Benjamin Kosnik  <bkoz@redhat.com>
4132
4133         * docs/html/19_diagnostics/howto.html: Move verbose terminate
4134         documentation...
4135         * docs/html/18_support/howto.html: Here.
4136         * docs/html/documentation.html: Add reference here.
4137
4138 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
4139
4140         * config/locale/gnu/c++locale_internal.h: Remove prototypes
4141         of no longer used GLIBC thread locale functions.
4142
4143 2004-02-02  Eric Christopher  <echristo@redhat.com>
4144             Zack Weinberg  <zack@codesourcery.com>
4145
4146         * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
4147         -finput-charset.
4148         * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
4149         * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
4150         * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
4151         * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
4152         * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
4153         * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
4154         * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
4155         * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
4156         Ditto.
4157
4158 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
4159
4160         * include/bits/stl_function.h: Additional minor tweaks.
4161         * include/bits/stl_multiset.h: Likewise.
4162
4163         * include/bits/stl_queue.h: Minor tweaks.
4164
4165 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
4166
4167         PR libstdc++/13976 (continued)
4168         * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
4169         Make the second parameter unnamed, to void unused parameter
4170         warnings.
4171         * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
4172
4173 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
4174
4175         PR libstdc++/13976
4176         * include/ext/malloc_allocator.h (malloc_allocator::allocate):
4177         Make the second parameter unnamed, to void unused parameter
4178         warnings.
4179         * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
4180         * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
4181
4182 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
4183
4184         * include/bits/stl_algo.h: Additional minor tweaks.
4185         * include/bits/stl_map.h: Likewise.
4186         * include/bits/stl_multimap.h: Likewise.
4187         * include/bits/stl_multiset.h: Likewise.
4188         * include/bits/stl_set.h: Likewise.
4189         * include/bits/stl_tree.h: Likewise.
4190
4191 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
4192
4193         * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
4194         Remove, unused.
4195
4196 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
4197
4198         * include/bits/stl_function.h: Additional minor tweaks.
4199
4200 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
4201
4202         * include/bits/deque.tcc: Wrap overlong lines, constify
4203         a few variables, reformat according to the coding standards.
4204         * include/bits/list.tcc: Likewise.
4205         * include/bits/stl_deque.h: Likewise.
4206         * include/bits/stl_function.h: Likewise.
4207         * include/bits/stl_iterator.h: Likewise.
4208         * include/bits/stl_iterator_base_funcs.h: Likewise.
4209         * include/bits/stl_iterator_base_types.h: Likewise.
4210         * include/bits/stl_list.h: Likewise.
4211         * include/bits/stl_map.h: Likewise.
4212         * include/bits/stl_multimap.h: Likewise.
4213         * include/bits/stl_multiset.h: Likewise.
4214         * include/bits/stl_relops.h: Likewise.
4215         * include/bits/stl_set.h: Likewise.
4216
4217 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
4218
4219         * include/bits/stl_bvector.h: Wrap overlong lines, constify
4220         a few variables, reformat according to the coding standards.
4221         * include/bits/stl_tree.h: Likewise.
4222
4223 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
4224
4225         * include/bits/stl_algo.h: Minor additional reformat, add
4226         copyright year.
4227         * include/bits/stl_algobase.h: Add copyright year.
4228
4229 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
4230
4231         * include/bits/stl_algo.h: Wrap overlong lines, constify
4232         a few variables, reformat according to the coding standards.
4233         * include/bits/stl_algobase.h: Likewise.
4234         * include/bits/stl_heap.h: Likewise.
4235
4236 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
4237
4238         * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
4239
4240         * include/bits/basic_string.h: Fix two comments.
4241
4242 2004-01-31  Per Bothner  <per@bothner.com>
4243
4244         * include/ext/mt_allocator.h
4245         (__mt_alloc::_S_thread_freelist_mutex): Guard with
4246         __GTHREAD_MUTEX_INIT.
4247
4248 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
4249
4250         * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
4251
4252 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
4253
4254         * testsuite/21_strings/basic_string/cons/char/6.cc: New.
4255         * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
4256         * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
4257
4258 2004-01-30  Felix Yen  <fwy@alumni.brown.edu>
4259
4260         * testsuite/performance/20_util/allocator_thread.cc (do_loop):
4261         Don't use clear, but instead assign. Use insert.
4262
4263 2004-01-30  Benjamin Kosnik  <bkoz@redhat.com>
4264
4265         * src/demangle.cc: Add instantiations.
4266         * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
4267         * src/Makefile.in: Regenerate.
4268
4269 2004-01-30  David Edelsohn  <edelsohn@gnu.org>
4270
4271         * src/allocator.cc: Protect _S_get_thread_id() and
4272         _S_thread_key_destr() with #ifdef __GTHREADS.
4273
4274 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
4275
4276         Reshuffle performance testsuite.
4277         * testsuite/performance/allocator.cc, allocator_map_thread.cc,
4278         allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
4279         cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
4280         fstream_seek_write.cc, ifstream_extract_float.cc,
4281         ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
4282         list_create_fill_sort.cc, map_create_fill.cc,
4283         narrow_widen_char.cc, narrow_widen_wchar_t.cc,
4284         ofstream_insert_float.cc, ofstream_insert_int.cc,
4285         string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
4286         wchar_t_out.cc: Split into...
4287         * testsuite/performance/20_util/allocator.cc: New.
4288         * testsuite/performance/20_util/allocator_map_thread.cc: New.
4289         * testsuite/performance/20_util/allocator_thread.cc: New.
4290         * testsuite/performance/21_strings/string_append: New.
4291         * testsuite/performance/22_locale/is_wchar_t.cc: New.
4292         * testsuite/performance/22_locale/narrow_widen_char.cc: New.
4293         * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
4294         * testsuite/performance/22_locale/wchar_t_in.cc: New.
4295         * testsuite/performance/22_locale/wchar_t_length.cc: New.
4296         * testsuite/performance/22_locale/wchar_t_out.cc: New.
4297         * testsuite/performance/23_containers/container_benchmark.cc: New.
4298         * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
4299         * testsuite/performance/23_containers/map_create_fill.cc: New.
4300         * testsuite/performance/26_numerics/complex_norm.cc: New.
4301         * testsuite/performance/27_io/cout_insert_int.cc: New.
4302         * testsuite/performance/27_io/filebuf_copy.cc: New.
4303         * testsuite/performance/27_io/filebuf_sputc.cc: New.
4304         * testsuite/performance/27_io/fstream_seek_write.cc: New.
4305         * testsuite/performance/27_io/ifstream_extract_float.cc: New.
4306         * testsuite/performance/27_io/ifstream_extract_int.cc: New.
4307         * testsuite/performance/27_io/ifstream_getline.cc: New.
4308         * testsuite/performance/27_io/ofstream_insert_float.cc: New.
4309         * testsuite/performance/27_io/ofstream_insert_int.cc: New.
4310
4311 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
4312
4313         * include/bits/basic_string.tcc (_Rep::_S_create):
4314         Never allocate a string bigger than max_size(); always keep
4315         __capacity and __size in sync to avoid memory leaks at
4316         deallocation time.
4317
4318 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
4319
4320         * include/bits/basic_string.tcc (_S_construct(_InIterator,
4321         _InIterator, const _Alloc&, input_iterator_tag)): Simplify
4322         the double loop, streamline.
4323
4324         * include/bits/basic_string.tcc: Very minor tweaks.
4325
4326 2004-01-30  Loren J. Rittle  <ljrittle@acm.org>
4327
4328         * scripts/check_performance: Only compile with $THREAD_FLAG
4329         when test is marked to require it.  Allow multiple
4330         compilations/executions of marked tests.
4331         * testsuite/testsuite_performance.h (report_performance):
4332         Report dynamic thread support status.
4333         (report_header): Likewise.
4334         * testsuite/performance/allocator.cc: Stabilize iteration
4335         count.  Support more allocators.  Mark each allocator test to
4336         run and report independently.
4337         * testsuite/performance/allocator_map_thread.cc: Likewise.
4338         * testsuite/performance/allocator_thread.cc: Likewise.
4339
4340 2004-01-29  Stephen M. Webb  <stephen.webb@bregmasoft.com>
4341
4342         * config/local/generic/c_locale.h: Change ::malloc() to new char[].
4343         * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
4344         * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
4345         std::get_temporary_buffer() instead of duplicating its code.
4346         Update to C++STYLE conventions.
4347         * include/std/std_memory.h (get_temporary_buffer): Use ::operator
4348         new() instead of std::malloc().
4349         (return_temporary_buffer): Use ::operator delete() instead of
4350         std::free().
4351
4352 2004-01-29  Benjamin Kosnik  <bkoz@redhat.com>
4353
4354         * include/bits/allocator.h: Temporary switch to new_allocator as
4355         the default to unjam bootstraps.
4356
4357 2004-01-28  Benjamin Kosnik  <bkoz@redhat.com>
4358
4359         * include/Makefile.am (bits_headers): Remove allocator_traits.h.
4360         * include/Makefile.in: Regenerate.
4361         * include/bits/allocator_traits.h: Remove.
4362         * include/bits/allocator.h: Remove allocator_traits.h include, and
4363         relevant comments.
4364         (allocator): Empty base class, inherit from the underlying allocator.
4365         * src/allocator-inst.cc: Move __pool_alloc instantiation to...
4366         * src/allocator.cc: ...here. New. For the underlying allocators.
4367         Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
4368         * config/linker-map.gnu: Remove __pool_alloc bits.
4369         * src/Makefile.am (sources): Add allocator.cc.
4370         * src/Makefile.in: Regenerate.
4371         * testsuite/20_util/allocator/1.cc: Split second test into...
4372         * testsuite/20_util/allocator/8230.cc: ...this.
4373         * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
4374         typedef to use std::allocatore. Format.
4375         * include/ext/pool_allocator.h: Remove allocator_traits.h include,
4376         _Alloc_traits.
4377         * include/ext/mt_allocator.h (__gnu_cxx): Qualify
4378         __throw_bad_alloc calls. Don't include <memory>.
4379         * include/ext/malloc_allocator.h: Remove <memory> include.
4380         * include/ext/new_allocator.h (new_allocator): Same.
4381         * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
4382         declaration. Switch __alloc to _Alloc.
4383         * include/ext/hashtable.h: Remove __alloc.
4384         * include/backward/alloc.h: Only inject allocator, not
4385         implementation details.
4386
4387         * include/ext/mt_allocator.h: Replace free with delete.
4388
4389 2004-01-28  Benjamin Kosnik  <bkoz@redhat.com>
4390
4391         * src/globals_io.cc: Change to __gnu_internal namespace.
4392         * src/globals_locale.cc: Same.
4393         * src/locale_init.cc: Same.
4394         * src/ios_init.cc: Same.
4395
4396 2004-01-28  Stefan Olsson  <stefan@snon.net>
4397
4398         * include/ext/mt_allocator.h: Replaced all malloc() calls with
4399         operator new(). Added support for the env variable
4400         GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
4401         one in allocate() as well). Fix typos.
4402
4403 2004-01-28  Paolo Carlini  <pcarlini@suse.de>
4404
4405         * include/bits/basic_string.h (_S_create(size_t,
4406         const _Alloc&): Change signature to take two size_type
4407         arguments.
4408         * include/bits/basic_string.tcc (_S_construct(_InIterator,
4409         _InIterator, const _Alloc&, input_iterator_tag)): Update
4410         call, tweak a bit.
4411         (_S_construct(_InIterator, _InIterator, const _Alloc&,
4412         forward_iterator_tag)): Likewise.
4413         (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
4414         (_M_mutate(size_type, size_type, size_type)): Don't
4415         implement the exponential growth policy, demand it to
4416         _S_create, update call and simplify.
4417         (_M_clone(const _Alloc&, size_type)): Likewise.
4418         (_S_create(size_type, size_type, const _Alloc&)): Implement
4419         the growth policy, simplify otherwise.
4420
4421         * include/bits/basic_string.h (_Rep::operator[]): Tweak
4422         signature to take a size_type, consistently with the other
4423         members.
4424
4425 2004-01-27  Benjamin Kosnik  <bkoz@redhat.com>
4426
4427         * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
4428         delete declarations, add include and test variable.
4429
4430 2003-01-27  Jerry Quinn  <jlquinn@optonline.net>
4431
4432         * include/bits/codecvt.h, include/bits/locale_facets.h,
4433         include/bits/postypes.h, include/bits/stl_bvector.h,
4434         include/bits/stl_multiset.h, include/bits/stl_set.h,
4435         include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
4436         include/std/std_complex.h:  Document.
4437
4438 2004-01-27  Jerry Quinn  <jlquinn@optonline.net>
4439
4440         PR libstdc++/11584
4441         * include/bits/ios_base.h (ios_base::_M_grow_words):  Add
4442         iword/pword selector.
4443         (ios_base::iword, ios_base::pword):  Use it.
4444         * src/ios.cc (ios_base::_M_grow_words):  Clear _M_word_zero
4445         iword or pword member on alloc failure.
4446         * testsuite/27_io/ios_base/storage/11584.cc:  New test.
4447
4448 2004-01-27  Ulrich Weigand  <uweigand@de.ibm.com>
4449             PJ Darcy  <darcypj@us.ibm.com>
4450
4451         * configure.host: Add support for *-tpf.
4452         * crossconfig.m4: Likewise.
4453         * configure: Regenerate.
4454         * config/os/tpf: New directory.
4455         * config/os/tpf/os_defines.h: New file.
4456         * config/os/tpf/ctype_base.h: Likewise.
4457         * config/os/tpf/ctype_inline.h: Likewise.
4458         * config/os/tpf/ctype_noninline.h: Likewise.
4459
4460 2004-01-27  Paolo Carlini  <pcarlini@suse.de>
4461
4462         PR libstdc++/13884
4463         * include/bits/sstream.tcc: Guard use of extern template.
4464
4465 2004-01-27  Paolo Carlini  <pcarlini@suse.de>
4466
4467         * include/bits/basic_string.tcc
4468         (basic_string(const basic_string&, size_type, size_type),
4469         basic_string(const basic_string&, size_type, size_type,
4470         const _Alloc&)): Avoid unnecessarily constructing iterators.
4471
4472 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
4473
4474         * config/locale/generic/c_locale.cc: Fix throw messages
4475         to use the __N marker.
4476         * config/locale/gnu/c_locale.cc: Likewise.
4477         * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
4478         Likewise.
4479         * docs/html/17_intro/C++STYLE: Likewise.
4480         * include/bits/basic_ios.tcc: Likewise.
4481         * include/bits/fstream.tcc: Likewise.
4482         * include/bits/vector.tcc: Likewise.
4483         * include/ext/ropeimpl.h: Likewise.
4484         * include/std/std_bitset.h: Likewise.
4485         * src/ios.cc: Likewise.
4486         * src/locale.cc: Likewise.
4487         * src/localename.cc: Likewise.
4488
4489 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
4490
4491         * include/bits/basic_string.h (_M_replace_aux): Use the
4492         __N marker in throw message.
4493         * include/bits/basic_string.tcc (assign(const _CharT*,
4494         size_type), insert(size_type, const _CharT*, size_type),
4495         replace(size_type, size_type, const _CharT*, size_type),
4496         reserve, _Rep::_S_create, resize, _M_replace_dispatch):
4497         Likewise.
4498
4499         * include/bits/basic_string.h, include/bits/basic_string.tcc:
4500         Fold overlong lines, minor formatting changes.
4501
4502 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
4503
4504         * include/bits/basic_string.h (replace(iterator, iterator,
4505         const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
4506         (replace(iterator, iterator, const _CharT*)): Ditto.
4507         (replace(iterator, iterator, const _CharT*, size_type)):
4508         Add missing _GLIBCXX_DEBUG_PEDASSERT.
4509
4510 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
4511
4512         * include/bits/basic_string.tcc (replace(size_type,
4513         size_type, const _CharT*, size_type)): Implement optimized
4514         in-place algorithm for non-overlapping ranges.
4515         * testsuite/21_strings/basic_string/replace/char/6.cc: New.
4516         * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
4517
4518         * include/bits/basic_string.tcc (insert(size_type,
4519         const _CharT*, size_type)): Tweak slightly.
4520
4521 2004-01-26  Andreas Schwab  <schwab@suse.de>
4522
4523         * config/locale/gnu/monetary_members.cc: Restore locale before
4524         rethrowing exception.
4525
4526 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
4527
4528         * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
4529         Define inline here.
4530         * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
4531         Move inline.
4532
4533         * include/bits/basic_string.tcc: Very minor tweaks.
4534
4535 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
4536
4537         * testsuite/performance/string_append.cc: Increase number
4538         of iterations.
4539
4540 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
4541
4542         * include/bits/basic_string.h (erase(size_type, size_type),
4543         erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
4544         instead, thus avoiding redundant check for length_error.
4545
4546         * include/bits/basic_string.h: Tweak some comments.
4547
4548 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
4549
4550         * include/bits/basic_string.tcc (operator+(const _CharT*,
4551         const basic_string&)): No need to go through the append
4552         taking two iterators.
4553
4554 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
4555
4556         * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
4557         Revert last change to use std::min: machine language is worse.
4558         (find_last_of(const _CharT*, size_type, size_type)): Ditto.
4559         (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
4560         (find_last_not_of(_CharT, size_type)): Ditto.
4561
4562         * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
4563         size_type)): Discard the value returned by _M_check.
4564         (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
4565         (append(const basic_string&, size_type, size_type)): Ditto.
4566         (copy(_CharT*, size_type, size_type)): Ditto.
4567         (compare(size_type, size_type, const basic_string&)): Ditto.
4568         (compare(size_type, size_type, const basic_string&,
4569         size_type, size_type)): Ditto.
4570         (compare(size_type, size_type, const _CharT*)): Ditto.
4571         (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
4572
4573 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
4574
4575         * include/bits/basic_string.h (insert(size_type,
4576         const basic_string&, size_type, size_type)): Define inline here.
4577         * include/bits/basic_string.tcc (insert(size_type,
4578         const basic_string&, size_type, size_type)): Move inline.
4579
4580 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
4581
4582         * include/bits/basic_string.h (assign(const basic_string&,
4583         size_type, size_type)): Define inline here.
4584         (replace(size_type, size_type, const basic_string&,
4585         size_type, size_type)): Ditto.
4586         (_M_replace_dispatch(iterator, iterator, _InputIterator,
4587         _InputIterator, __false_type)): Only declare.
4588         (_M_replace(iterator, iterator, _InputIterator,
4589         _InputIterator)): Remove.
4590         * include/bits/basic_string.tcc (assign(const basic_string&,
4591         size_type, size_type)): Move inline.
4592         (replace(size_type, size_type, const basic_string&,
4593         size_type, size_type)): Ditto.
4594         (_M_replace_dispatch(iterator, iterator, _InputIterator,
4595         _InputIterator, __false_type)): Define, now does also what
4596         _M_replace did before.
4597         * src/string-inst.cc (_M_replace): Don't instantiate.
4598
4599         * include/bits/basic_string.tcc (find(const _CharT*,
4600         size_type, size_type)): Tidy.
4601         (rfind(_CharT, size_type)): Ditto.
4602         (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
4603         (find_first_not_of(_CharT, size_type)): Ditto.
4604         (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
4605         (find_last_not_of(_CharT, size_type)): Ditto.
4606
4607 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
4608
4609         PR libstdc++/13838
4610         * include/debug/bitset (operator|=): Fix typo.
4611         * testsuite/23_containers/bitset/operations/13838.cc: New.
4612
4613 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
4614
4615         * include/bits/basic_string.tcc (insert(size_type,
4616         const _CharT*, size_type __n)): Fix length_error check.
4617         (replace(size_type, size_type, const _CharT*, size_type):
4618         Ditto; call _M_replace_safe.
4619         (_M_replace_aux(size_type, size_type, size_type, _CharT):
4620         Fix length_error check.
4621         (_M_replace(iterator, iterator, _InputIterator,
4622         _InputIterator)): Ditto, tweak.
4623         (_M_replace_safe(size_type, size_type, const _CharT*,
4624         size_type)): Remove length_error check.
4625
4626         * include/bits/basic_string.tcc (append(const basic_string&),
4627         append(const basic_string&, size_type, size_type)): Tweak
4628         comment.
4629
4630         * include/bits/basic_string.tcc (copy(_CharT*, size_type,
4631         size_type)): If __n == 0 don't call traits::copy.
4632
4633 2004-01-23  Stefan Olsson  <stefan@snon.net>
4634
4635         * include/ext/mt_allocator.h: Reduce lock contention.
4636
4637 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
4638
4639         PR libstdc++/13831
4640         * include/bits/fstream.tcc (underflow): Remove unused
4641         variable.
4642         * include/bits/streambuf_iterator.h (equal): Ditto.
4643         * include/bits/locale_facets.h (_M_convert_from_char):
4644         Ditto.
4645
4646 2004-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4647
4648         PR c/13814
4649         * config/linker-map.gnu (nan): Delete.
4650         * libmath/mathconf.h (NAN, nan): Delete.
4651         * linkage.m4 (nan): Don't check for it.
4652         * libmath/nan.c: Delete file.
4653
4654         * config.h.in, configure: Regenerate.
4655
4656 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
4657
4658         * include/bits/basic_string.h (push_back(_CharT)):
4659         Call _M_replace_aux.
4660         (insert(size_type, const basic_string&)): Trivial tweak.
4661         (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
4662         (insert(iterator, _CharT)): Ditto.
4663         (erase(size_type, size_type)): Ditto.
4664         (erase(iterator)): Ditto.
4665         (erase(iterator, iterator)): Ditto.
4666         (replace(size_type, size_type, size_type, _CharT)): Ditto.
4667
4668 2004-01-23  Loren J. Rittle  <ljrittle@acm.org>
4669
4670         libstdc++/13823
4671         * testsuite/performance/allocator_map_thread.cc: New test.
4672
4673 2004-01-22  Paolo Carlini  <pcarlini@suse.de>
4674
4675         * include/bits/locale_facets.tcc
4676         (money_put::do_put(..., long double)): Use the basic_string
4677         constructor for char arrays, not that for C-strings, to pass
4678         __digits to do_put(..., const string_type&): __ws isn't
4679         null-terminated.
4680
4681 2004-01-22  Paolo Carlini  <pcarlini@suse.de>
4682
4683         * include/bits/basic_string.h (_M_replace_safe): Change
4684         signatures to take size_types and const _CharT*.
4685         (_M_replace_aux): Likewise, takes size_types instead of
4686         iterators.
4687         (append(size_type, _CharT)): Update call.
4688         (assign(size_type, _CharT)): Ditto.
4689         (replace(iterator, iterator, size_type, _CharT)): Ditto.
4690         (_M_replace_dispatch(iterator, iterator, _Integer,
4691         _Integer, __true_type)): Ditto.
4692         * include/bits/basic_string.tcc (assign(const _CharT*,
4693         size_type)): Ditto.
4694         (insert(size_type, const _CharT*, size_type)): Ditto.
4695         (replace(size_type, size_type, const _CharT*,
4696         size_type)): Ditto.
4697         (_M_replace(iterator, iterator, _InputIterator,
4698         _InputIterator)): Ditto.
4699         (append(const basic_string&)): Ditto.
4700         (append(const basic_string&, size_type, size_type): Ditto.
4701         (append(const _CharT*, size_type): Ditto.
4702         (_M_replace_safe, _M_replace_safe): Change definitions
4703         accordingly, simplify.
4704         * string-inst.cc (_M_replace_safe): Don't instantiate.
4705
4706 2004-01-21  Paolo Carlini  <pcarlini@suse.de>
4707
4708         * include/bits/basic_string.tcc (append(const basic_string&)):
4709         Revert previous change.
4710         (append(const basic_string&, size_type, size_type)): Revert
4711         previous change, use _M_check and _M_limit.
4712
4713 2004-01-21  Paolo Carlini  <pcarlini@suse.de>
4714
4715         * include/bits/basic_string.h (_M_check): Change to return
4716         a checked __pos and take an additional const char* argument.
4717         (_M_fold): Rename to _M_limit, change to return a size_type,
4718         corresponding to the __off limited to the actual length.
4719         (insert(size_type, size_type, _CharT)): Update call, call
4720         replace.
4721         (insert(iterator, _CharT)): Call replace(iterator, iterator,
4722         size_type, _CharT) instead.
4723         (erase(size_type, size_type)): Update calls.
4724         (replace(size_type, size_type, size_type, _CharT)): Ditto.
4725         (substr(size_type, size_type)): Use _M_check.
4726         * include/bits/basic_string.tcc (basic_string(const basic_string&,
4727         size_type, size_type)): Update calls.
4728         (basic_string(const basic_string&, size_type, size_type,
4729         const _Alloc&)): Ditto.
4730         (assign(const basic_string&, size_type, size_type)): Use the
4731         new _M_check and _M_limit.
4732         (insert(size_type, const basic_string&, size_type, size_type):
4733         Ditto.
4734         (insert(size_type, const _CharT*, size_type)): Ditto.
4735         (replace(size_type, size_type, const _CharT*, size_type): Ditto.
4736         (replace(size_type, size_type, const basic_string&,
4737         size_type, size_type)): Ditto.
4738         (append(const basic_string&)): Ditto.
4739         (append(const basic_string&, size_type, size_type)): Ditto.
4740         (copy(_CharT*, size_type, size_type)): Ditto.
4741         (compare(size_type, size_type, const basic_string&)): Ditto.
4742         (compare(size_type, size_type, const basic_string&,size_type,
4743         size_type)): Ditto.
4744         (compare(size_type, size_type, const _CharT*)): Ditto.
4745         (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
4746
4747 2004-01-19  Stefan Olsson  <stefan@snon.net>
4748
4749         * include/ext/mt_allocator.h: If a thread, when it dies, still has
4750         memory on it's freelist this memory is not returned to global
4751         list. Simplification of deallocate so that memory is always
4752         returned to the calling thread id's freelist instead of to
4753         global. Fix typos. Add volatile where appropriate.
4754
4755 2004-01-19  Loren J. Rittle  <ljrittle@acm.org>
4756
4757         * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
4758         * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test.  Like -2 but
4759         use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
4760
4761 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
4762
4763         * src/debug.cc: Make sure all the names are prefixed with
4764         double (or single) underscore.
4765
4766 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
4767
4768         * src/debug.cc: Trivial formatting change.
4769
4770 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
4771
4772         * include/bits/basic_string.tcc (_S_construct(size_type,
4773         _CharT, const _Alloc&)): Remove redundant try/catch.
4774         (_M_mutate(size_type, size_type, size_type)): Ditto.
4775         (_M_clone(const _Alloc&, size_type)): Ditto.
4776
4777 2004-01-18  Paolo Carlini  <pcarlini@suse.de>
4778
4779         * include/bits/basic_string.h (c_str()): Simplify, due to
4780         21.3.4 the internal representation is always kept null-terminated.
4781         * include/bits/basic_string.tcc (_M_clone): Null-terminate.
4782         * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
4783         * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
4784         Ditto.
4785
4786 2004-01-18  Paolo Carlini  <pcarlini@suse.de>
4787
4788         * include/bits/basic_string.h (append(size_type, _CharT)):
4789         Moved inline, just call _M_replace_aux, no source iterators at
4790         risk of being clobbered.
4791         (assign(size_type, _CharT)): Call directly _M_replace_aux.
4792         (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
4793         input_iterator_tag)): Remove fifth unused argument.
4794         (_M_replace_dispatch(iterator, iterator, _InputIterator,
4795         _InputIterator, __false_type)): Update call.
4796         * include/bits/basic_string.tcc (replace(size_type, size_type,
4797         const _CharT*, size_type)): Update call.
4798         (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
4799         throw string literal.
4800         (_M_replace_safe(iterator, iterator, _ForwardIterator,
4801         _ForwardIterator)): Likewise.
4802         (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
4803         input_iterator_tag)): Remove fifth unused argument.
4804         (append(size_type __n, _CharT __c)): Move inline.
4805         * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
4806         const C*, const C*, input_iterator_tag)): Remove fifth unused
4807         argument.
4808
4809 2004-01-16  Benjamin Kosnik  <bkoz@redhat.com>
4810
4811         * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
4812         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
4813
4814 2004-01-16  Danny Smith  <dannysmith@users.sourceforge.net>
4815
4816         * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
4817         mkfifo for mingw32.
4818
4819 2004-01-15  Stefan Olsson  <stefan@snon.net>
4820
4821         * include/ext/mt_allocator.h: Reuse thread id's as soon as
4822         possible by changing the behaviour of thread_freelist to do
4823         push_front when threads die instead of push_back.
4824
4825 2004-01-14  Paolo Carlini  <pcarlini@suse.de>
4826
4827         * include/bits/locale_facets.h (struct __numpunct_cache):
4828         Add member _M_grouping_size, caching the length of _M_grouping.
4829         (__numpunct_cache<>::_M_cache): Assign the latter.
4830         (__verify_grouping): Move declaration...
4831         * include/bits/locale_facets.tcc (__verify_grouping):
4832         ... here, change signature to take a const char* and a size_t
4833         for the grouping; not a template anymore.
4834         (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
4835         Likewise change signature and tweak consistently.
4836         (num_get::_M_extract_float, num_get::_M_extract_int,
4837         num_put::_M_insert_int, num_put::_M_insert_float,
4838         money_get::do_get(string_type&), money_get::do_put(string_type)):
4839         Update callers.
4840         * config/locale/generic/numeric_members.cc
4841         (numpunct<>::_M_initialize_numpunct): Assign the new member.
4842         * config/locale/gnu/numeric_members.cc
4843         (numpunct<>::_M_initialize_numpunct): Likewise.
4844         * src/locale-inst.cc (__add_grouping): Tweak signature.
4845         (__verify_grouping): Don't instantiate, not a template anymore.
4846
4847         * include/bits/locale_facets.h: Rename _M_truename_len ->
4848         _M_truename_size, _M_falsename_len -> _M_falsename_size.
4849         * include/bits/locale_facets.tcc: Likewise.
4850         * config/locale/generic/numeric_members.cc: Likewise.
4851         * config/locale/gnu/numeric_members.cc: Likewise.
4852
4853 2004-01-14  Stefan Olsson  <stefan@snon.net>
4854
4855         * include/ext/mt_allocator.h: Fixups.
4856         * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
4857         * testsuite/performance/allocator_thread.cc: Same.
4858
4859 2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>
4860
4861         * testsuite/performance/ifstream_extract_float.cc: Add higher
4862         precision tests.
4863         * testsuite/performance/ofstream_insert_float.cc: Same.
4864
4865 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
4866
4867         * src/locale-misc-inst.cc (__convert_from_v(long),
4868         __convert_from_v(unsigned long), __convert_from_v(long long),
4869         __convert_from_v(unsigned long long)): Remove, unused.
4870
4871 2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>
4872
4873         * testsuite/performance/ifstream_extract_float.cc: New.
4874         * testsuite/performance/ofstream_insert_float.cc: Float generation
4875         matches above.
4876
4877         * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
4878         * 20_util/auto_ptr/1.cc: ...this.
4879         * 20_util/auto_ptr/2.cc: Same.
4880         * 20_util/auto_ptr/3.cc: Same.
4881         * 20_util/auto_ptr/3946.cc: Same.
4882         * 20_util/auto_ptr/4.cc: Same.
4883         * 20_util/auto_ptr/5.cc: Same.
4884         * 20_util/auto_ptr/6.cc: Same.
4885         * 20_util/auto_ptr/7.cc: Same.
4886         * 20_util/auto_ptr/assign_neg.cc
4887         * 20_util/pairs.cc: Break into...
4888         * 20_util/pair/1.cc: ...this.
4889         * 20_util/pair/2.cc: Same.
4890         * 20_util/pair/3.cc: Same.
4891         * 20_util/pair/4.cc: Same.
4892
4893 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
4894
4895         * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
4896         Set correctly just basefield, the only group that matters.
4897
4898 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
4899
4900         * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
4901         (_Rope_rep_base): Inherit directly from the rope allocator;
4902         use rebinding instead of _Alloc_traits; pick up data member
4903         from _Rope_rep_alloc_base.
4904         (_Rope_alloc_base): Eliminate.
4905         (_Rope_base): Inherit directly from the rope allocator; use
4906         rebinding instead of _Alloc_traits; pick up data member from
4907         _Rope_alloc_base.
4908         (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
4909         rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
4910
4911 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
4912
4913         PR libstdc++/13650
4914         * include/bits/basic_string.tcc (compare(size_type, size_type,
4915         const _CharT*, size_type)): Implement correctly the resolution
4916         of DR 5: basically, s is a char array, -not- a C string.
4917         * include/bits/basic_string.h: Tweak some comments.
4918         * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
4919         * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
4920
4921 2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
4922
4923         * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
4924         Solaris.
4925
4926 2004-01-12  Paolo Carlini  <pcarlini@suse.de>
4927
4928         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
4929         Use try_mkfifo.
4930         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
4931         Likewise.
4932
4933 2004-01-12  Paolo Carlini  <pcarlini@suse.de>
4934
4935         * include/bits/locale_facets.h (struct __numpunct_cache):
4936         Add members _M_truename_len and _M_falsename_len, caching
4937         the lengths of _M_truename and _M_falsename.
4938         (__numpunct_cache<>::_M_cache): Assign the latter.
4939         * include/bits/locale_facets.tcc (num_get::do_get(bool&),
4940         num_put::do_put(bool)): Use the new members, thus avoiding
4941         computing string lengths again and again.
4942         * config/locale/generic/numeric_members.cc
4943         (numpunct<>::_M_initialize_numpunct): Assign the new members.
4944         * config/locale/gnu/numeric_members.cc
4945         (numpunct<>::_M_initialize_numpunct): Likewise.
4946
4947 2004-01-12  Mark Mitchell  <mark@codesourcery.com>
4948
4949         * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
4950         * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
4951         it.
4952         * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
4953         and remove Cygwin XFAIL.
4954         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
4955         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
4956         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
4957         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
4958         Likewise.
4959         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
4960         * testsuite/27_io/objects/char/7.cc: Likewise.
4961         * testsuite/27_io/objects/char/9661-1.cc: Likewise.
4962         * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
4963         * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
4964
4965 2004-01-11  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4966
4967         * include/std/std_complex.h (std::complex<>::real): Return a
4968         reference. Add non-const overload.
4969         (std::complex<>::real): Likewise.
4970         (std::real): Likewise.
4971         (std::imag): Likewise.
4972         (std::operator+): Tidy.
4973         (std::operator-): Likewise.
4974         (std::operator*): Likewise.
4975         (std::operator/): Likewise.
4976         (std::operator>>): Likewise.
4977
4978 2004-01-11  Paolo Carlini  <pcarlini@suse.de>
4979
4980         PR libstdc++/13582
4981         * include/bits/fstream.tcc (imbue): Exploit the external
4982         buffer to imbue 'on the fly' a new locale and convert its
4983         remainder with the new codecvt facet.
4984         (underflow): Tweak slightly to deal with this special case.
4985         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
4986         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
4987         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
4988         * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
4989         * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
4990
4991 2004-01-10  Paolo Carlini  <pcarlini@suse.de>
4992
4993         * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
4994         Import Revision 28.
4995
4996 2004-01-10  Paolo Carlini  <pcarlini@suse.de>
4997
4998         PR libstdc++/13630
4999         * include/bits/locale_classes.h (class locale): Fix category
5000         typedef.
5001         * testsuite/22_locale/locale/13630.cc: Add.
5002
5003 2004-01-10  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
5004
5005         * include/bits/locale_facets.h: Make a name really dependent. This
5006         will be needed when Core Issue 224 is implemented.
5007
5008 2004-01-09  Paolo Carlini  <pcarlini@suse.de>
5009
5010         * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
5011         * testsuite/performance/allocator_thread.cc: Likewise.
5012
5013 2004-01-07  Benjamin Kosnik  <bkoz@redhat.com>
5014
5015         * crossconfig.m4: Add LFS, io bits to linux cross config.
5016         * acconfig.h: Remove obsolete bits, reorder.
5017         * config.h.in: Regenerate.
5018         * aclocal.m4: Same.
5019         * configure: Same.
5020
5021 2004-01-07  Gawain Bolton  <gp.bolton@computer.org>
5022
5023         * include/bits/stl_list.h:
5024         * include/bits/list.tc:
5025         * src/list.cc:
5026         Performance enhancements for destructor, push_front(),
5027         push_back(), pop_front(), pop_back(), sort()
5028         Eliminated static_casts where possible.
5029         Moved code out of header files into new src/list.cc
5030         implementation file for library where possible.
5031         Remove inheritance from iterator class and create separate
5032         classes for non-constant and constant iterators.
5033         * include/bits/stl_tree.h (_Rb_tree class):
5034         * src/tree.cc:
5035         Only erase contents in destructor.
5036         Eliminate unnecessary initialization in assignment operator.
5037         Optimize for the nominal case by not checking whether
5038         container is empty in clear().
5039         Re-order test in _M_insert() to improve performance.
5040         Move initialization of new node's left & right pointers to
5041         src/tree.cc to where new node's colour is initialized
5042         and to reduce the amount of inline code.
5043         Use  _M_leftmost() and _M_end() to improve readability where
5044         appropriate.
5045         Create separate classes for non-constant and constant
5046         iterators to clarify code, avoid extra template parameters and
5047         casting away constness.
5048
5049 2004-01-07  Benjamin Kosnik  <bkoz@redhat.com>
5050
5051         * src/Makefile.am (sources): Add list.cc, tree.cc.
5052         * src/stl_tree.cc: Move to...
5053         * src/tree.cc: ...here.
5054         * src/list.cc: Add.
5055         * config/linker-map.gnu: Tweaks.
5056         * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
5057         * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
5058
5059         * bits/stl_vector.h: Column wrap comments.
5060
5061 2004-01-07  Loren J. Rittle  <ljrittle@acm.org>
5062
5063         (re-open) PR libstdc++/12658
5064         * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
5065         (locale::global): Likewise.
5066
5067 2004-01-07  Paolo Carlini  <pcarlini@suse.de>
5068
5069         * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
5070         Remove redundant #include.
5071         * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
5072         * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
5073         re-enable normal testing.
5074         * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
5075         #include.
5076         * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
5077         * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
5078         Likewise.
5079         * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
5080         Likewise.
5081         * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
5082         Likewise.
5083         * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
5084         Likewise.
5085         * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
5086         Likewise.
5087         * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
5088         Likewise.
5089         * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
5090         Likewise.
5091         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
5092         More properly, #include <locale>.
5093         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
5094         Remove redundant #include.
5095         * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
5096         * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
5097         redundant DejaGnu directive.
5098         * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
5099         redundant #include.
5100
5101 2004-01-06  Benjamin Kosnik  <bkoz@redhat.com>
5102             Stefan Olsson  <stefan@snon.net>
5103
5104         * scripts/check_performance: Use -pthread.
5105         * testsuite/performance/allocator.cc: Tweaks, add list.
5106         * testsuite/performance/allocator_thread.cc: New.
5107
5108 2004-01-06  Jerry Quinn  <jlquinn@optonline.net>
5109
5110         * include/bits/locale_facets.h: Document public classes and
5111         functions.
5112         * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
5113         Add comment.
5114
5115 2004-01-06  Paolo Carlini  <pcarlini@suse.de>
5116
5117         * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
5118         Remove redundant #includes.
5119         * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
5120         Likewise.
5121         * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
5122         Likewise.
5123         * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
5124         * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
5125         * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
5126         * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
5127         * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
5128         * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
5129         * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
5130         * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
5131         * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
5132         * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
5133         * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
5134         * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
5135         * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
5136         * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
5137         * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
5138         Likewise.
5139         * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
5140         Likewise.
5141         * testsuite/27_io/basic_istream/readsome/char/8258.cc:
5142         Likewise.
5143         * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
5144         Likewise.
5145         * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
5146         Likewise.
5147         * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
5148         * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
5149         * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
5150
5151 2004-01-04  Paolo Carlini  <pcarlini@suse.de>
5152
5153         * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
5154         Remove redundant #includes.
5155         * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
5156         Likewise.
5157         * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
5158         Likewise.
5159         * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
5160         Likewise.
5161         * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
5162         Likewise.
5163         * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
5164         Likewise.
5165         * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
5166         Likewise.
5167         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
5168         Likewise.
5169         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
5170         Likewise.
5171         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
5172         Likewise.
5173         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
5174         Likewise.
5175         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
5176         Likewise.
5177         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
5178         Likewise.
5179
5180 2004-01-04  Mark Mitchell  <mark@codesourcery.com>
5181
5182         PR c++/12226
5183         * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
5184         constructor.
5185         * testsuite/27_io/basic_fstream/4.cc: Likewise.
5186         * testsuite/27_io/basic_ifstream/4.cc: Likewise.
5187         * testsuite/27_io/basic_ios/4.cc: Likewise.
5188         * testsuite/27_io/basic_iostream/4.cc: Likewise.
5189         * testsuite/27_io/basic_istream/4.cc: Likewise.
5190         * testsuite/27_io/basic_istingstream/4.cc: Likewise.
5191         * testsuite/27_io/basic_ofstream/4.cc: Likewise.
5192         * testsuite/27_io/basic_ostream/4.cc: Likewise.
5193         * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
5194         * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
5195         * testsuite/27_io/basic_stringstream/4.cc: Likewise.
5196
5197 2004-01-04  Paolo Carlini  <pcarlini@suse.de>
5198
5199         * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
5200         Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
5201         always use double underscored names.
5202         * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
5203         Likewise.
5204         * include/bits/locale_facets.h (struct __numpunct_cache):
5205         Dimension _M_atoms_out and _M_atoms_in one position smaller.
5206         (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out
5207         and _M_atoms_in.