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>