Merge from vendor branch OPENSSL:
[dragonfly.git] / contrib / gcc-3.4 / libstdc++-v3 / ChangeLog
1 2004-06-18  Paolo Carlini  <pcarlini@suse.de>
2
3         PR libstdc++/16020
4         * include/debug/safe_base.h
5         (_Safe_sequence_base::_Safe_sequence_base(const _Safe_sequence_base&),
6         _Safe_sequence_base::operator=): Provide definitions.
7         * testsuite/23_containers/bitset/cons/16020.cc: New.
8
9 2004-06-18  Paolo Carlini  <pcarlini@suse.de>
10
11         * include/ext/rope (rope(_CharT, const allocator_type&)): Fix
12         to use _Data_allocate.
13         * include/ext/ropeimpl.h (rope<>::_S_leaf_concat_char_iter): Likewise.
14         (rope<>::_S_substring): Likewise.
15         (rope<>::rope(size_t, _CharT, const allocator_type&)): Likewise.
16         (rope<>::c_str()): Likewise.
17         (rope<>::replace_with_c_str()): Likewise.
18
19         * include/ext/ropeimpl.h (_Rope_iterator_base<>::_S_setbuf):
20         Correctly qualify _S_leaf, _S_function, etc., with _Rope_constants::,
21         not _RopeRep.
22         (_Rope_iterator_base<>::_S_setcache): Likewise.
23         (_Rope_iterator_base<>::_S_setcache_for_incr): Likewise.
24         (rope<>::_S_substring): Likewise.
25         (rope<>::_S_dump): Likewise.
26         (rope<>::_S_fetch_ptr): Likewise.
27         (rope<>::_S_compare): Likewise.
28         (rope<>::replace_with_c_str()): Likewise.               
29
30         * testsuite/ext/rope.cc: Rename to testsuite/ext/rope/1.cc.
31         * testsuite/ext/rope/2.cc: New.
32
33 2004-06-18  Paolo Carlini  <pcarlini@suse.de>
34             Matt Austern  <austern@apple.com>
35
36         * testsuite/ext/rope/3.cc: New.
37
38 2004-06-17  Paolo Carlini  <pcarlini@suse.de>
39
40         * include/bits/locale_facets.tcc (time_get<>::_M_extract_name):
41         Don't use the 'magic number' 10 in the computation of __minlen;
42         never access __name past __minlen; in the loop over __i3, don't
43         decrease __nmatches and increase __i3 at once, only either of
44         the two; tidy.
45
46 2004-06-17  Paolo Carlini  <pcarlini@suse.de>
47
48         * include/ext/pool_allocator.h: Convert to a global free-list,
49         as per the original SGI/HP design: move the implementation
50         details to struct __pool_base, from which __pool_alloc derives.
51         * src/allocator.cc: Instantiate __pool_base.
52
53 2004-06-11  Paolo Carlini  <pcarlini@suse.de>
54
55         PR libstdc++/15775
56         * include/bits/stl_deque.h: Consistently with stl_set.h, define
57         pointer as allocator's pointer, likewise for reference,
58         const_pointer, and const_reference.
59         * include/bits/stl_list.h: Likewise.
60         * include/bits/stl_map.h: Likewise.
61         * include/bits/stl_multimap.h: Likewise.
62         * include/bits/stl_vector.h: Likewise.
63
64 2004-06-11  Dhruv Matani  <dhruvbird@gmx.net>
65             Paolo Carlini  <pcarlini@suse.de>
66
67         * testsuite/testsuite_performance.h
68         (resource_counter::allocated_memory): Make it return the right
69         number of bytes requested by the allocators/application. This is
70         the sbrk+mmaped memory.
71
72 2004-06-10  Benjamin Kosnik  <bkoz@redhat.com>
73
74         * crossconfig.m4: Remove signbit, signbitf, signbitl.   
75         * linkage.m4: Comment LIBMATHOBJS, tweak others.  AC_DEFINES for
76         builtin math functions instead of AC_DEFINE_UNQUOTED.
77         * configure: Regenerate.
78
79 2004-06-10  Benjamin Kosnik  <bkoz@redhat.com>
80
81         * docs/doxygen/filter.sed: Rename _GLIBCXX_STD to std.
82         * docs/doxygen/mainpage.html: Remove links.
83
84 2004-06-08  Jason Merrill  <jason@redhat.com>
85
86         * config/linker-map.gnu: Use wildcards for
87         __basic_file::{xsgetn,xsputn,seekoff,xsputn_2}.
88
89 2004-05-31  Benjamin Kosnik  <bkoz@redhat.com>
90
91         * config/linker-map.gnu (GLIBCXX_3.4.1): Add.
92         * testsuite/testsuite_abi.cc: Same.
93         * configure.ac (libtool_VERSION): Bump to 6:1:0.
94         * configure: Regenerate.
95         * aclocal.m4: Regenerate.
96
97 2004-05-31  Richard B. Kreckel  <Richard.Kreckel@Framatome-ANP.com>
98             Benjamin Kosnik  <bkoz@redhat.com>
99         
100         PR libstdc++/14600
101         * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): New.
102         * include/ext/stdio_filebuf.h (stdio_filebuf::file): New.
103         * config/io/basic_file_stdio.cc (__basic_file::file): New.
104         * config/io/basic_file_stdio.h: Define.
105
106 2004-05-30  Benjamin Kosnik  <bkoz@redhat.com>
107
108         PR libstdc++/15675
109         * docs/html/documentation.html: Update doxygen links for 3.4.0.
110
111 2004-05-30  Jan Beulich  <jbeulich@novell.com>
112
113         * scripts/create_testsuite_files: Tweak.
114
115 2004-05-30  Paolo Carlini  <pcarlini@suse.de>
116
117         * include/ext/mt_allocator.h:(__mt_alloc::allocate): Minor
118         tweaks.
119
120 2004-05-30  Dhruv Matani  <dhruvbird@gmx.net>
121
122         * include/ext/mt_allocator.h:(__mt_alloc::allocate): Re-write
123         allocation loop which removes blocks from the global free list
124         from O(N) to O(1) when the required blocks are <= the number
125         available.
126
127 2004-05-30  Paolo Carlini  <pcarlini@suse.de>
128
129         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
130         Consistently update __bin._M_free[0].
131         (__mt_alloc<>::allocate): When __bin._M_first[0] != NULL use
132         __bin._M_free[0] to simplify the while loop (i.e., the number
133         of iterations becomes known at the outset).
134
135 2004-05-30  Paolo Carlini  <pcarlini@suse.de>
136
137         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
138         The critical section is actually very small, only two assignments.
139
140 2004-05-30  Paolo Carlini  <pcarlini@suse.de>
141
142         * include/ext/mt_allocator.h (__mt_alloc<>::allocate): Factor out
143         some duplicated code.
144         (__mt_alloc<>::_Bin_record): Spare the space of _M_free and _M_used
145         in the single threaded case.
146
147 2004-05-30  Paolo Carlini  <pcarlini@suse.de>
148
149         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
150         Rearrange arithmetic to avoid computing two divisions at
151         each deallocation.
152
153 2004-05-30  Paolo Carlini  <pcarlini@suse.de>
154
155         * include/ext/mt_allocator.h (__mt_alloc<>::_S_initialize):
156         Streamline the second half, wrapping it in a single
157         '#ifdef __GTHREADS if (__gthread_active_p())' and avoiding
158         conditionals inside loops.
159
160 2004-05-30  Paolo Carlini  <pcarlini@suse.de>
161
162         * include/ext/mt_allocator.h: Uglify consistently names of
163         variables, members and classes; tidy.
164
165 2004-05-30  Dhruv Matani  <dhruvbird@gmx.net>
166
167         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
168         Deallocation loop rewrote.
169
170 2004-05-30  Paolo Carlini  <pcarlini@suse.de>
171
172         * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
173         __mt_alloc<>::deallocate): Protect two instances of
174         block->thread_id with __GTHREADS.
175
176 2004-05-30  Paolo Carlini  <pcarlini@suse.de>
177
178         * include/ext/mt_allocator.h (__mt_alloc<>::tune):
179         Add _M_min_bin, the size in bytes of the smallest bin.
180         (__mt_alloc<>::tune()): Tweak accordingly.
181         (__mt_alloc<>::tune(size_t, ...)): Likewise.
182         (__mt_alloc<>::block_record): Change to a union: members next
183         and thread_id are never used at the same time.
184         (__mt_alloc<>::allocate): Update consistently.
185         (__mt_alloc<>::deallocate): Likewise.
186         (__mt_alloc<>::_S_initialize): Update setups of _S_binmap and
187         _S_bin_size for the configurable _M_min_size.
188
189 2004-05-30  Paolo Carlini  <pcarlini@suse.de>
190
191         * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
192         __mt_alloc<>::deallocate): Avoid redundant conditionals.
193
194 2004-05-27  Paolo Carlini  <pcarlini@suse.de>
195
196         PR libstdc++/15565
197         * include/bits/locale_facets.tcc (__int_to_char(unsigned long),
198         __int_to_char(unsigned long long)): Showpos is not relevant
199         for unsigned types.
200         * testsuite/22_locale/num_put/put/char/15565.cc: New.
201         * testsuite/22_locale/num_put/put/wchar_t/15565.cc: New.
202
203         * testsuite/22_locale/num_put/put/wchar_t/1.cc: Use L for the fill
204         char.
205         * testsuite/22_locale/num_put/put/wchar_t/2.cc: Likewise.
206         * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
207         * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
208         * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
209         * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
210         * testsuite/22_locale/num_put/put/wchar_t/8.cc: Likewise.
211
212 2004-05-25  Paolo Carlini  <pcarlini@suse.de>
213
214         * include/bits/istream.tcc (ignore): Correctly deal with
215         n == numeric_limits<streamsize>::max().
216         * testsuite/27_io/basic_istream/ignore/char/2.cc: New.
217
218         * include/bits/istream.tcc (basic_istream<>::getline): Prefer
219         '_M_gcount + 1 < __n' to '--__n; _M_gcount < __n', just in case
220         __n == numeric_limits<>::min().
221
222         * include/bits/istream.tcc: Minor tweaks.
223
224         * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
225         Tighten.
226         * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
227         Likewise.
228         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
229         Likewise.
230         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
231         Likewise.
232         * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
233
234 2004-05-25  Paolo Carlini  <pcarlini@suse.de>
235
236         * include/bits/istream.tcc (ignore): Remove redundant line.
237         (readsome): Tidy, closely following 27.6.1.3, p30.
238
239 2004-05-25  Paolo Carlini  <pcarlini@suse.de>
240
241         * include/bits/istream.tcc (operator>>(basic_istream<>&,
242         basic_string<>&)): Use a temporary buffer, thus avoiding
243         reallocation for common case.
244         * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
245         New.
246         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
247         Likewise.
248
249         * include/bits/istream.tcc: Const-ification of a few variables.
250
251         * include/bits/ostream.tcc: Trivial formatting fixes and
252         const-ification of some variables.
253
254 2004-05-25  Benjamin Kosnik  <bkoz@redhat.com>
255
256         PR libstdc++/15489
257         * scripts/create_testsuite_files: Revert xtype change, add
258         non-GNU bits to do the same thing.
259
260 2004-05-24  Benjamin Kosnik  <bkoz@redhat.com>
261
262         PR libstdc++/12854
263         Fixups for -Weffc++.    
264         * include/bits/basic_string.h (basic_string::operator=): Return
265         pointer to this instead of result of assign. Although redundant,
266         this doesn't impact resultant codegen.
267         
268         * include/bits/locale_facets.h (__numpunct_cache): Declare
269         assignment opxserator and copy constructor private.
270         (__timepunct_cache): Same.
271         (__moneypunct_cache): Same.
272         (collate): Use member initialization list for _M_c_locale_collate.
273         * config/locale/gnu/messages_members.h: Same.
274         * config/locale/gnu/time_members.h (__timepunct): Same. 
275         * src/codecvt.cc: Use member initialization list to initialize
276         _M_c_locale_codecvt.    
277         * src/ctype.cc: Same, with _M_c_locale_ctype and _M_narrow_ok.
278         * config/os/gnu-linux/ctype_noninline.h: Same.
279         * src/locale.cc (_Impl): Same.
280         * src/locale_init.cc: Same.
281         * src/localename.cc: Same.      
282
283         * include/bits/basic_ios.h (basic_ios): Complete member
284         initialization list.
285         * include/bits/istream.tcc (basic_istream::sentry): Same.
286         * include/bits/ostream.tcc (basic_ostream::sentry): Same.
287         * include/bits/fstream.tcc (basic_filebuf): Add _M_lock and
288         _M_pback to member initialization list.
289         * include/std/std_streambuf.h: Same.
290         * include/std/std_sstream.h: Same, for _M_mode.
291         * src/ios.cc (ios_base): Same.
292         
293         * include/ext/rope: Make derived classes match exception
294
295          specifications. Add copy constructors and assignment operators.
296
297         * include/debug/safe_base.h (_Safe_sequence_base): Declare copy
298         constructor and assignment operator protected.
299         (_Safe_iterator_base): Same.
300         * include/debug/formatter.h (_Error_formatter): Define copy
301         constructor and assignment operator.
302
303         * include/backward/strstream: Declare assignment operator and copy
304         constructor private.
305
306 2004-05-24  Benjamin Kosnik  <bkoz@redhat.com>
307
308         * testsuite/testsuite_hooks.h (func_callback): Declare copy
309         constructor and assignment operator private.    
310         * testsuite/23_containers/deque/cons/clear_allocator.cc: Match
311         exception specifications of base class.
312         * testsuite/23_containers/list/cons/clear_allocator.cc: Same.
313         * testsuite/23_containers/vector/cons/clear_allocator.cc: Same.
314         * testsuite/23_containers/vector/bool/clear_allocator.cc: New.
315                 
316 2004-05-24  Benjamin Kosnik  <bkoz@redhat.com>
317
318         * libsupc++/cxxabi.h: Remove duplicated and useless public and
319         private keywords in class declarations. Format. Use
320         stddef.h. Expose declarations to "C" compilation.
321         * libsupc++/tinfo.cc (__upcast_result): Add copy constructor and
322         assignment operator.
323         (__dyncast_result): Same.
324         * libsupc++/vec.cc (uncatch_exception): Same, use member
325         initialization list.
326         
327 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
328
329         * testsuite/abi_check.cc: Add unistd.h.
330
331 2004-05-21  Matthias Klose  <doko@debian.org>
332  
333         * docs/doxygen/run_doxygen:  Bump required version.
334
335 2004-05-21  Benjamin Kosnik  <bkoz@redhat.com>
336
337         * docs/html/abi.html (libgcc_s): Additions suggested by Matthias Klose.
338         * docs/doxygen/Intro.3: Subtractions suggested by Phil Edwards.
339
340 2004-05-21  Benjamin Kosnik  <bkoz@redhat.com>
341
342         PR libstdc++/15123
343         PR libstdc++/13928
344         * docs/doxygen/Intro.3: Remove Allocators.3.
345         Add new extension headers, extension namespace list.
346         * docs/doxygen/run_doxygen (problematic): Remove Allocators.3
347         Rename GLIBCXXSTD names to std::. Rename __gnu_debug to
348         __gnu_debug::. Remove __policy_ renames.
349         * docs/doxygen/guide.html: Add dot note.
350         * docs/doxygen/stdheader.cc: Edit, add files.
351         * docs/doxygen/user.cfg.in: Regenerate with Doxygen 1.3.7.
352
353 2004-05-19  Jan Beulich  <jbeulich@novell.com>
354  
355         PR libstdc++/15489
356         * scripts/create_testsuite_files: Also find source files through
357           symbolic links.
358
359 2004-05-19  Jan Beulich  <jbeulich@novell.com>
360
361         PR libstdc++/15488
362         * testsuite/lib/libstdc++.exp: Make test files writable.
363
364 2004-05-18  Jonathan Wakely  <redi@gcc.gnu.org>
365
366         * include/ext/stdio_filebuf.h: Update comments to reflect PR 11691.
367
368 2004-05-18  Benjamin Kosnik  <bkoz@redhat.com>
369
370         * testsuite/testsuite_hooks.h (__gnu_test::conversion): New class.
371         * testsuite/23_containers/deque/14340.cc: New.
372         * testsuite/23_containers/list/14340.cc: New.
373         * testsuite/23_containers/map/14340.cc: New.
374         * testsuite/23_containers/multimap/14340.cc: New.
375         * testsuite/23_containers/multiset/14340.cc: New.
376         * testsuite/23_containers/set/14340.cc: New.
377         * testsuite/23_containers/vector/14340.cc: New.
378
379 2004-05-18  Douglas Gregor   <gregod@cs.rpi.edu>
380
381         PR libstdc++/14340 
382         * include/debug/safe_iterator.h (_Safe_iterator converting 
383         constructor): Only allow declaration to instantiate when the 
384         incoming _Safe_iterator has exactly the right iterator type.
385
386 2004-05-18  Jonathan Wakely  <redi@gcc.gnu.org>
387
388         * include/ext/enc_filebuf.h: Move concept-check macro to class scope.
389
390 2004-05-17  Jonathan Wakely  <redi@gcc.gnu.org>
391
392         * include/bits/boost_concept_check.h: Fix old attribute syntax.
393         * testsuite/23_containers/map/modifiers/swap.cc: Define operator<
394         to pass concept-checks.
395         * testsuite/23_containers/multimap/modifiers/swap.cc: Same.
396         * testsuite/23_containers/set/modifiers/swap.cc: Same.
397         * testsuite/23_containers/multiset/modifiers/swap.cc: Same.
398
399 2004-05-15  Benjamin Kosnik  <bkoz@redhat.com>
400
401         PR libstdc++/15046
402         * crossconfig.m4: Add C99 math bits for linux crosses.
403         * configure: Regenerate.
404
405 2004-05-15  Simon Marshall <simon.marshall@misys.com>
406             Benjamin Kosnik  <bkoz@redhat.com>
407  
408         PR libstdc++/15090
409         * include/bits/locale_facets.h: Fix for -fno-for-scope.
410         * include/debug/safe_sequence.h: Same.
411         * include/debug/safe_iterator.tcc: Same.
412         * src/debug.cc: Same.
413         * src/locale.cc: Same.
414         * src/locale_init.cc: Same.
415         * src/localename.cc: Same.
416         * config/locale/gnu/ctype_members.cc: Same.
417         * config/locale/gnu/numeric_members.cc: Same.
418         * testsuite/testsuite_abi.cc: Same.
419         * testsuite/testsuite_hooks.cc: Same.
420
421 2004-05-15  Jonathan Wakely  <redi@gcc.gnu.org>
422         
423         * docs/html/abi.html: Document effect of -fabi-version on value
424         of __GXX_ABI_VERSION, and that it's defined in c-cppbuiltin.c.
425         Fix markup.
426
427 2004-05-15  Benjamin Kosnik  <bkoz@redhat.com>
428         
429         * docs/html/abi.html: New.
430         * docs/html/abi.txt: Remove.
431         * docs/html/documentation.html: Add link.
432         * testsuite/Makefile.am: Add files.
433         * testsuite/Makefile.in: Regenerated.
434         * testsuite/abi_check.cc: Move and modify code into...
435         * testsuite/testsuite_abi.cc: Add.
436         * testsuite/testsuite_abi.h: Add.
437
438         * docs/html/17_intro/TODO: Update.
439         * include/bits/stl_pair.h: Format.
440
441 2004-05-14  Paolo Carlini  <pcarlini@suse.de>
442             Ivan Godard  <igodard@pacbell.net>
443
444         PR libstdc++/15361
445         * include/std/std_bitset.h (_Base_bitset<_Nw>::_M_do_find_next): Fix.
446         * testsuite/23_containers/bitset/ext/15361.cc: New.
447
448 2004-05-14  Paolo Carlini  <pcarlini@suse.de>
449
450         PR libstdc++/14775
451         * acconfig.h: Rename _GLIBCXX_MEM_LIMITS to _GLIBCXX_RES_LIMITS.
452         * acinclude.m4 (GLIBCXX_CHECK_SETRLIMIT): Call
453         GLIBCXX_CHECK_SETRLIMIT_ancilliary for FSIZE too, adjust define
454         to _GLIBCXX_RES_LIMITS.
455         (GLIBCXX_CHECK_SETRLIMIT_ancilliary): Rename HAVE_MEMLIMIT_* to
456         HAVE_LIMIT_*.
457         * testsuite/testsuite_hooks.h: Declare set_file_limit.
458         * testsuite/testsuite_hooks.cc: Define it, using getrlimit
459         and setrlimit(RLIMIT_FSIZE).
460         * testsuite/27_io/fpos/14775.cc: New.
461         * config.h.in: Regenerate.
462         * configure: Likewise.
463
464 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
465
466         PR libstdc++/15074      
467         * docs/html/faq/index.html: Update docs for libsupc++ usage.
468
469 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
470
471         PR libstdc++/15412
472         * include/bits/stl_threads.h (_GLIBCXX_mutex): Move to namespace
473         __gnu_internal.
474         (_GLIBCXX_mutex_address): Same.
475         (_GLIBCXX_once): Same.
476         (_GLIBCXX_mutex_init): Same.
477         (_GLIBCXX_mutex_address_init): Same.
478         
479 2004-05-09  Paolo Carlini  <pcarlini@suse.de>
480
481         * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
482         New.
483         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
484         Likewise.
485         * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
486
487 2004-05-09  Paolo Carlini  <pcarlini@suse.de>
488
489         PR libstdc++/15002 (continued again)
490         * include/bits/istream.tcc (getline(basic_istream<>&,
491         basic_string<>&, _CharT)): Use a temporary buffer, thus
492         avoiding reallocation for common case.
493
494         * include/bits/basic_string.tcc (_S_construct(_InIterator,
495         _InIterator, const _Alloc&, input_iterator_tag)): Tweak size
496         of temporary buffer to a power of two.
497
498         * testsuite/27_io/basic_istream/getline/char/4.cc: Add comment.
499
500 2004-05-09  Paolo Carlini  <pcarlini@suse.de>
501             Petur Runolfsson  <peturr02@ru.is>
502
503         PR libstdc++/15002 (continued)
504         * include/bits/istream.tcc (basic_istream<>::getline(char_type*,
505         streamsize, char_type)): Use traits::find/copy in a loop to speed
506         up greatly the function in the common case (I/O buffer size >> 1).
507
508 2004-05-09  Paolo Carlini  <pcarlini@suse.de>
509
510         * testsuite/27_io/basic_istream/getline/char/4.cc: New. 
511
512         * include/bits/istream.tcc (getline(basic_istream<>&,
513         basic_string<>&, _CharT)): Change to use sgetc()/snextc() instead
514         of sbumpc(), consistently with the other functions, thus also
515         dealing correctly with the case of exceeded string::max_size().
516
517 2004-05-06  Matthias Klose  <doko@debian.org>
518
519         * include/backward/iterator.h:  Add GPL copyright info,
520         with exception clause.
521         * include/bits/boost_concept_check.h: Likewise.
522         * include
523         * libsupc++/tinfo.h: Likewise.
524         * po/string_literals.cc: Likewise.
525
526 2004-05-02  Paolo Carlini  <pcarlini@suse.de>
527
528         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add pool_allocator.
529         * aclocal.m4: Regenerate.
530         * configure: Regenerate.
531         * config/allocator/pool_allocator_base.h: New.
532         * include/ext/pool_allocator.h: Convert to a standard-conforming
533         allocator.
534         * src/allocator.cc: Tweak instantiations.
535         * testsuite/performance/20_util/allocator/insert.cc: Add __pool_alloc.
536         * testsuite/performance/20_util/allocator/insert_insert.cc: Ditto.
537         * testsuite/performance/20_util/allocator/list_sort_search.cc: Ditto.
538         * testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
539         * testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
540         * testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
541
542 2004-04-30  Paolo Carlini  <pcarlini@suse.de>
543
544         PR libstdc++/14220
545         * include/bits/locale_facets.tcc (num_put<>::_M_insert_float):
546         Don't clip the precision passed down to __convert_from_v:
547         22.2.2.2.2 nowhere says so.
548         * testsuite/22_locale/num_put/put/char/14220.cc: New.
549         * testsuite/22_locale/num_put/put/wchar_t/14220.c: Likewise.
550
551 2004-04-29  Benjamin Kosnik  <bkoz@redhat.com>
552
553         * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc: 
554         Clarify assertion, set test variable to false before assert.
555         * testsuite/27_io/basic_istringstream/str/char/1.cc: Same.
556         * testsuite/27_io/basic_stringstream/str/char/1.cc: Same.
557         * testsuite/27_io/ios_base/storage/2.cc: Same.
558         
559         * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Fix
560         function returns.
561         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Same.
562         * testsuite/27_io/fpos/14320-3.cc: Same.
563         
564         * testsuite/27_io/basic_filebuf/2.cc: Instantiate in namespace std.
565         * testsuite/27_io/fpos/1.cc: Same.
566         * testsuite/27_io/basic_stringstream/2.cc: Same.
567         * testsuite/27_io/basic_stringbuf/4.cc: Same.
568         * testsuite/27_io/basic_stringbuf/1.cc: Same.
569         * testsuite/27_io/basic_stringbuf/2.cc: Same.
570         * testsuite/27_io/basic_streambuf/2.cc: Same.
571         * testsuite/27_io/basic_ostringstream/2.cc: Same.
572         * testsuite/27_io/basic_ostream/2.cc: Same.
573         * testsuite/27_io/basic_ofstream/2.cc: Same.
574         * testsuite/27_io/basic_istringstream/2.cc: Same.
575         * testsuite/27_io/basic_istream/2.cc: Same.
576         * testsuite/27_io/basic_iostream/2.cc: Same.
577         * testsuite/27_io/basic_ios/2.cc: Same.
578         * testsuite/27_io/basic_ifstream/2.cc: Same.
579         * testsuite/27_io/basic_fstream/2.cc: Same.
580         * testsuite/ext/stdio_filebuf/char/1.cc: Same, in namespace __gnu_cxx.
581
582         * testsuite/21_strings/basic_string/capacity/1.cc: Don't compare
583         unsigned against zero.
584         * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Same.
585         * testsuite/21_strings/basic_string/capacity/char/1.cc: Same.
586
587         * testsuite/18_support/new_delete_placement.cc: Initialize
588         variables before first use.
589         * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Same.
590         * testsuite/21_strings/char_traits/requirements/char/1.cc: Same.
591         * testsuite/21_strings/char_traits/requirements/short/1.cc: Same.
592         * testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc: 
593         Same.
594         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_badbit_throw.cc: Same.
595         * testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc: 
596         Same.
597         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_failbit_throw.cc: Same.
598         * testsuite/27_io/types/2.cc: Same.
599
600         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Fix temporary
601         file name.      
602
603 2004-04-29  Benjamin Kosnik  <bkoz@redhat.com>
604
605         Fixups for EDG front end.
606         * include/ext/rope: Instead of non-existent function
607         _Data_allocate, use allocator's allocate. Use this.
608         (namespace _Rope_constants): Move _S_max_rope_depth, and _Tag
609         enumerations from _Rope_RopeRep here.
610         * include/ext/ropeimpl.h: Same.
611         * src/ext-inst.cc (_S_min_len): Fix up definition.
612         
613         * config/locale/gnu/ctype_members.cc: Qualify base class members
614         with this.
615         * config/locale/generic/ctype_members.cc: Same.
616         * config/locale/gnu/messages_members.h: Same.
617         * config/locale/generic/messages_members.h: Same.
618         * src/ctype.cc: Same.
619         * include/bits/codecvt.h: Same.
620         
621         * include/bits/boost_concept_check.h: Declare.
622         (__error_type_must_be_an_unsigned_integer_type): Remove this.
623         (__error_type_must_be_an_integer_type): Remove this.
624         (__error_type_must_be_a_signed_integer_type): Remove this.      
625
626         * config/io/basic_file_stdio.cc (__basic_file::sys_open): Remove cast.
627
628         * libsupc++/eh_alloc.cc (__cxa_free_exception): Add exception
629         specification to definition.
630         (__cxa_allocate_exception): Same.
631         * libsupc++/eh_catch.cc (__cxa_begin_catch): Same.
632         * libsupc++/eh_globals.cc (__cxa_get_globals_fast): Same.
633         (__cxa_get_globals): Same.      
634         
635         * libsupc++/del_op.cc: Add comment about freestanding.
636
637 2004-04-29  Dhruv Matani  <dhruvbird@gmx.net>
638
639         * include/ext/malloc_allocator.h: Fixed the construct function to
640         call global placement new instead of assignment. Added a check
641         after the return from malloc to check whether returned pointer is
642         NULL, and if so, throw std::bad_alloc().        
643         * include/ext/debug_allocator.h: Added a check in the deallocate
644         function to check whether the user has passed a NULL pointer or
645         not.
646
647 2004-04-29  Benjamin Kosnik  <bkoz@redhat.com>
648
649         * docs/html/20_util/allocator.html: Add bitmap_allocator links.
650
651 2004-04-29  Dhruv Matani  <dhruvbird@gmx.net>
652         
653         * include/ext/bitmap_allocator.h: (_Bit_scan_forward) -> Made this
654         function call __builtin_ctz instead of the while loop.
655         (allocate) -> If condition has __builtin_expect.
656         (deallocate) -> Ditto.
657         Renamed a few left-over variables and typedefs according to the
658         C++STYLE mentioned in the documentation.
659         Protected calls to __gthread* by __gthread_active_p(), whose value
660         is cached in the local variable __threads_active.
661
662 2004-04-29  Felix Yen  <fwy@alumni.brown.edu>
663
664         * testsuite/performance/20_util/allocator/producer_consumer.cc:
665         Use linear algorithm for producer.
666
667 2004-04-29  Paolo Carlini  <pcarlini@suse.de>
668
669         PR libstdc++/14975
670         * include/bits/fstream.tcc (basic_filebuf::imbue): Zero _M_codecvt
671         in case of error.
672         * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: New.
673         * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: New.
674
675 2004-04-26  Paolo Carlini  <pcarlini@suse.de>
676
677         * include/bits/istream.tcc: Fix comment.
678
679 2004-04-26  Paolo Carlini  <pcarlini@suse.de>
680
681         * src/locale.cc (locale::operator==): When _M_impl == __rhs._M_impl
682         avoid constructing unnecessarily this->name().
683
684 2004-04-24  Loren J. Rittle  <ljrittle@acm.org>
685
686         * testsuite/thread/pthread7-rope.cc: Update comment to reflect test.
687
688 2004-04-24  Paolo Carlini  <pcarlini@suse.de>
689
690         * testsuite/thread/pthread7-rope.cc: Fix, unpredictably, depending
691         on allocator behavior, the memory pointed by data2 may well be not
692         trashed.
693
694 2004-04-24  Paolo Carlini  <pcarlini@suse.de>
695
696         * config/locale/generic/time_members.cc
697         (__timepunct<char>::_M_initialize_timepunct,
698         __timepunct<wchar_t>::_M_initialize_timepunct): The correct
699         _M_amonth07 in the "C" locale is "Jul" and L"Jul", respectively.
700         * config/locale/gnu/time_members.cc
701         (__timepunct<char>::_M_initialize_timepunct,
702         __timepunct<wchar_t>::_M_initialize_timepunct): Ditto.
703         * testsuite/22_locale/time_get/get_monthname/char/4.cc: New.
704         * testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc: New.
705
706 2004-04-24  Paolo Carlini  <pcarlini@suse.de>
707             Petur Runolfsson  <peturr02@ru.is>
708
709         * testsuite/performance/27_io/filebuf_sputn_unbuf.cc: New,
710         adapted from libstdc++/11378.
711
712 2004-04-24  Paolo Carlini  <pcarlini@suse.de>
713             Andrew Pinski  <pinskia@physics.uc.edu>
714
715         * include/bits/basic_string.tcc (_M_mutate): Don't compute
716         __src unnecessarily.
717
718 2004-04-24  Paolo Carlini  <pcarlini@suse.de>
719
720         PR libstdc++/15002 (partial)
721         * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
722         Special case __n2 == 1, not calling traits_type::assign/copy.
723
724 2004-04-24  Matthias Klose  <doko@debian.org>
725
726         Jonathan Wakely  <cow@compsoc.man.ac.uk>
727         * docs/html/configopts.html: Fix reference to allocator config option.
728
729 2004-04-23  Daniel Jacobowitz  <drow@mvista.com>
730
731         PR libstdc++/15047, libstdc++/11610
732         * testsuite/lib/libstdc++.exp (v3-copy-files): Use remote_download.
733         (libstdc++_init): Don't pass outdir to v3-copy-files.
734
735 2004-04-23  Paolo Carlini  <pcarlini@suse.de>
736
737         * config/locale/gnu/monetary_members.cc
738         (moneypunct<wchar_t>::_M_initialize_moneypunct): Prefer
739         _NL_MONETARY_DECIMAL_POINT_WC, _NL_MONETARY_THOUSANDS_SEP_WC,
740         and __MON_GROUPING to _NL_NUMERIC_DECIMAL_POINT_WC,
741         _NL_NUMERIC_THOUSANDS_SEP_WC, and GROUPING.
742         * config/locale/gnu/numeric_members.cc
743         (numpunct<char>::_M_initialize_numpunct): Prefer DECIMAL_POINT
744         and THOUSANDS_SEP to the deprecated RADIXCHAR and THOUSEP.
745
746 2004-04-21  Chavdar Botev  <cbotev@yahoo.com>
747
748         PR libstdc++/14245
749         * include/bits/basic_string.tcc
750         (basic_string::basic_string(const basic_string&)): Pass to
751         _Rep::_M_grab the actual allocator of the string being constructed
752         not the default constructed one.
753
754 2004-04-21  Paolo Carlini  <pcarlini@suse.de>
755             Petur Runolfsson  <peturr02@ru.is>
756
757         PR libstdc++/12077
758         * include/ext/stdio_sync_filebuf.h (showmanyc): Remove, there's
759         no way to find out the conversion used by the underlying FILE*.
760         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: New.
761         * testsuite/27_io/objects/char/9.cc: Tweak.
762
763 2004-04-18  Release Manager
764
765         * GCC 3.4.0 released.
766
767 2004-04-17  Benjamin Kosnik  <bkoz@redhat.com>
768  
769         * include/bits/stl_bvector.h: Use _M_impl._M_start.
770  
771 2004-04-16  Benjamin Kosnik  <bkoz@redhat.com>
772         
773         * include/bits/c++config (_GLIBCXX_STD): New.
774         * src/list.cc: Use it.
775         * include/std/std_bitset.h: Same.
776         * include/bits/vector.tcc: Same.
777         * include/bits/stl_set.h: Same.
778         * include/bits/stl_multiset.h: Same.
779         * include/bits/stl_multimap.h: Same.
780         * include/bits/stl_map.h: Same.
781         * include/bits/stl_list.h: Same.
782         * include/bits/stl_vector.h: Same.
783         * include/bits/stl_bvector.h: Same.
784         * include/bits/stl_deque.h: Same.
785         * include/bits/deque.tcc: Same.
786         * include/bits/list.tcc: Same.
787         * include/debug/vector: Same.
788         * include/debug/set.h: Same.
789         * include/debug/multiset.h: Same.
790         * include/debug/multimap.h: Same.
791         * include/debug/map.h: Same.
792         * include/debug/list: Same.
793         * include/debug/deque: Same.
794         * include/debug/bitset: Same.   
795         * include/debug/formatter.h (__gnu_debug): Remove using directive.
796         Add using declaration for std::type_info.
797         * include/debug/safe_iterator.h: Add using declaration for
798         std::iterator_traits and std::pair.
799         * src/debug_list.cc: New.
800         * src/Makefile.am: Add debug_list.cc.
801         * src/Makefile.in: Regenerate.
802         * config/linker-map.gnu: Add _List_node_base exports for std and
803         __gnu_norm.
804
805         * include/bits/stl_bvector.h (_Bvector_base): Use _Bvector_impl
806         idiom that other containers use.
807         * testsuite/23_containers/vector/bool/clear_allocator.cc: New.
808         
809 2004-04-14  Zack Weinberg  <zack@codesourcery.com>
810
811         * testsuite/Makefile.am: Add definition of AM_CXXFLAGS.
812         Change definition of CXX to use $(shell) instead of backticks.
813         * testsuite/Makefile.in: Regenerate.
814
815 2004-04-09  Andreas Schwab  <schwab@suse.de>
816
817         * testsuite/lib/prune.exp (prune_g++_output): Ignore errata
818         warning from IA64 assembler.
819
820 2004-03-30  Benjamin Kosnik  <bkoz@redhat.com>
821
822         PR libstdc++/14783
823         * include/bits/stl_tree.h: Adjust initialization list order.
824
825 2004-03-26  Benjamin Kosnik  <bkoz@redhat.com>
826
827         libstdc++ PR/13598
828         * config/locale/ieee_1003.1-2001/codecvt_specializations.h
829         (__enc_traits::_M_destroy): New.
830         (__enc_traits::~__enc_traits): Use it.
831         (__enc_traits::operator=): Use _M_destroy, _M_init.
832         (__enc_traits::__enc_traits): Same.
833
834 2004-03-26  Petur Runolfsson  <peturr02@ru.is>
835
836         * testsuite/ext/enc_filebuf/char/13598.cc: New.
837
838 2004-03-25  Gawain Bolton  <gp.bolton@computer.org>
839
840         * include/bits/stl_tree.h (_Rb_tree_impl): Add _Node_allocator
841         default argument in constructors.
842         (_Rb_tree::_M_empty_initialize): Remove.
843
844 2004-03-25  Benjamin Kosnik  <bkoz@redhat.com>
845
846         * testsuite/23_containers/map/operators/1_neg.cc: Adjust line numbers.
847         * testsuite/23_containers/set/operators/1_neg.cc: Same.
848
849 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
850
851         * include/bits/cpp_type_traits.h: Changed __is_pod
852         completely. Now, it does not use any of the previous type_traits
853         to detect the pod types, and it also detects function pointers as
854         POD types.
855
856         * include/bits/stl_tree.h: Introduced a new class _Rb_tree_impl,
857         which encapsulates the internal implementation of an rb_tree. Made
858         the allocator a base class of this class instead of the rb_tree,
859         which was not conforming. This _Rb_tree_impl class is also
860         specialized on whether the _Compare parameter is a POD type or
861         not. If so, then it maintains the comparison function as a data
862         member, otherwise it makes the _Compare parameter a base class of
863         itself. Also, _M_key_compare is now a function instead of a data
864         member, so that the above trick can work properly. Delegated the
865         initialization of the other data members to this newly created
866         class. Also, now other member functions of rb_tree must refer to
867         _M_key_compare as _M_impl._M_key_compare(). The other data members
868         (*) can be referenced to as _M_impl.(*), where
869         (*) includes _M_header, and _M_node_count.
870
871 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
872
873         * include/bits/stl_list.h: Created a _List_impl class and made it
874         derive from the allocator, instead of the list deriving from the
875         allocator class, which was not conformant. Changed all references
876         from this->_M_node to this->_M_impl._M_node * bits/list.tcc: Same
877         as above (changed all references to the concerned variables).
878
879 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
880
881         * include/bits/stl_deque.h: Created a _Deque_impl class and made
882         it derive from the allocator, instead of the deque deriving from
883         the allocator class, which was not conformant. Changed all
884         references to the _M_start, _M_finish, _M_map, and _M_map_size to
885         _M_impl.*.
886         (_Deque_base<_Tp,_Alloc>::~_Deque_base()): Added this->
887         qualification in 2 places where it was missing.
888         (_Deque_base<_Tp,_Alloc>::_M_initialize_map(size_t)): Same as
889         above.
890         * include/bits/deque.tcc: Same as above (changed all references to
891         the concerned variables).
892
893 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
894
895         * include/bits/stl_vector.h: Created a _Vector_impl class and made
896         it derive from the allocator, instead of the _Vector_base class,
897         deriving from the allocator which was not conformant. Changed all
898         references to the _M_start, _M_finish, and _M_end_of_storage to
899         _M_impl.*.
900         * include/bits/vector.tcc: Same as above (changed all references
901         to the concerned variables).
902
903 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
904
905         * testsuite/23_containers/deque/cons/clear_allocator.cc: New.
906         * testsuite/23_containers/list/cons/clear_allocator.cc: New.
907         * testsuite/23_containers/vector/cons/clear_allocator.cc: New.
908
909 2004-03-23  Benjamin Kosnik  <bkoz@redhat.com>
910
911         * include/bits/locale_facets.h: Tweaks for 80 column.
912         (__numpunct_cache::_M_cache): Move to locale_facets.tcc.
913         (__moneypunct_cache::_M_cache): Same.
914         (num_get): Don't inherit from __num_base.
915         (num_put): Same.
916         (money_get): Don't inherit from money_base.
917         (money_put): Same.
918         (__timepunct::_M_am_pm_format): New.
919         (time_get::_M_extract_num): Return iterator, use ios_base as argument.
920         (time_get::_M_extract_name): Same.
921         (time_get::_M_extract_via_format): Same.
922         * include/bits/locale_facets.tcc: Tweaks for 80 column.
923         Use _M_getloc instead of getloc.
924         * testsuite/22_locale/money_put/put/char/9780-3.cc: New.
925         * testsuite/22_locale/num_put/put/char/9780-2.cc: New.
926         * testsuite/22_locale/time_put/put/char/9780-1.cc: New.
927
928 2004-03-22  Hans-Peter Nilsson  <hp@axis.com>
929
930         PR target/14676
931         * config/cpu/cris/atomicity.h (__atomic_add): Remove "static
932         inline" and attribute-unused.  Qualify parameter __mem with
933         "volatile".
934         (__exchange_and_add): Ditto.  Add back memory clobber to asm.
935
936 2004-03-19  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
937
938         PR libstdc++/14647
939         * include/backward/bvector.h (bit_vector): Allocator is in std
940         namespace.
941
942 2004-03-20  Paolo Carlini  <pcarlini@suse.de>
943
944         * include/std/std_valarray.h: Document DR389 [Ready].
945         * docs/html/ext/howto.html: Add an entry for DR389.
946
947 2004-03-19  Paolo Carlini  <pcarlini@suse.de>
948
949         PR libstdc++/14648
950         * include/ext/ropeimpl.h (rope<>::_S_apply_to_pieces): Fix
951         memory allocation/deallocation calls.
952         * testsuite/ext/14648.cc: New.
953
954 2004-03-17  Benjamin Kosnik  <bkoz@redhat.com>
955
956         Revert.
957         * configure.ac (AC_PREREQ): Use 2.57.
958         (AM_INIT_AUTOMAKE): Remove -Wno-override.
959
960 2004-03-17  David Billinghurst <David.Billinghurst@riotinto.com>
961
962         PR bootstrap/14207
963         Revert patch of 2004-02-17, as it breaks mips-sgi-irix6.5 -o32
964         (Almost certainly a target issue)
965         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
966         num_get<>::_M_extract_int, money_get<>::do_get): Simplify
967         grouping fidelity conditional.
968
969 2004-03-17  Benjamin Kosnik  <bkoz@redhat.com>
970
971         Revert dg-require-iconv changes.
972         * testsuite/22_locale/collate/compare/wchar_t/2.cc: Revert.
973         * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Same.
974         * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Same.
975         * testsuite/22_locale/collate/hash/wchar_t/2.cc: Same.
976         * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Same.
977         * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Same.
978         * testsuite/22_locale/collate/transform/wchar_t/2.cc: Same.
979         * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Same.
980         * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
981
982 2004-03-16  Benjamin Kosnik  <bkoz@redhat.com>
983
984         * Merge from mainline.
985
986 2004-03-16  Benjamin Kosnik  <bkoz@redhat.com>
987
988         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Default setting is
989         new_allocator for all hosts.
990         * configure: Regenerate.
991
992 2004-03-16  Paolo Carlini  <pcarlini@suse.de>
993
994         * testsuite/22_locale/num_put/put/char/4.cc: Fix for 64-bit pointers.
995         * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
996
997 2004-03-15  Paolo Carlini  <pcarlini@suse.de>
998
999         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1000         Adjust the logic underlying the parsing of symbol to deal
1001         correctly with an optional sign component (i.e., when either
1002         negative_sign or positive_sign is empty)
1003         * testsuite/22_locale/money_get/get/char/19.cc: New.
1004         * testsuite/22_locale/money_get/get/wchar_t/19.cc: New.
1005
1006 2004-03-15  Paolo Carlini  <pcarlini@suse.de>
1007
1008         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1009         Do not accept an incomplete currency symbol.
1010         * testsuite/22_locale/money_get/get/char/18.cc: New.
1011         * testsuite/22_locale/money_get/get/wchar_t/18.cc: New.
1012
1013 2004-03-13  Benjamin Kosnik  <bkoz@redhat.com>
1014
1015         * config/allocator: New.
1016         * config/allocator/bitmap_allocator_base.h: New.
1017         * config/allocator/malloc_allocator_base.h: New.
1018         * config/allocator/mt_allocator_base.h: New.
1019         * config/allocator/new_allocator_base.h: New.
1020         * include/bits/allocator.h: Include c++allocator.h.
1021         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): New.
1022         * aclocal.m4: Regenerate.
1023         * configure.ac: Use GLIBCXX_ENABLE_ALLOCATOR.
1024         * configure: Regenerate.
1025         * include/Makefile.am (host_headers_extra): Add c++allocator.h.
1026         * include/Makefile.in: Regenerate.
1027         * docs/html/configopts.html: Add enable-libstdcxx-allocator.
1028
1029 2004-03-12  Benjamin Kosnik  <bkoz@redhat.com>
1030
1031         * include/bits/allocator.h: Revert.
1032
1033 2004-03-12  Paolo Carlini  <pcarlini@suse.de>
1034
1035         * docs/html/ext/howto.html: Add entry for DR 253 [Ready].
1036         * include/bits/gslice_array.h: Add comment about DR 253.
1037         * include/bits/indirect_array.h: Likewise.
1038         * include/bits/mask_array.h: Likewise.
1039         * include/bits/slice_array.h: Likewise.
1040
1041 2004-03-12  Benjamin Kosnik  <bkoz@redhat.com>
1042
1043         * testsuite/20_util/allocator/14176.cc: New.
1044         * include/ext/mt_allocator.h: Formatting fixes.
1045
1046 2004-03-11  Dhruv Matani  <dhruvbird@HotPOP.com>
1047
1048         * include/Makefile.am (ext_headers): Add
1049         ${ext_srcdir}/bitmap_allocator.h .
1050         * include/Makefile.in: Regenerate.
1051         * docs/html/ext/ballocator_doc.txt: New file.
1052         * include/ext/bitmap_allocator.h: New file.
1053         * testsuite/performance/20_util/allocator/list_sort_search.cc: Add
1054         test.
1055         * testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
1056         * testsuite/performance/20_util/allocator/producer_consumer.cc: Add
1057         test for the bitmap_allocator<>.
1058         * testsuite/performance/20_util/allocator/insert.cc: Likewise.
1059         * testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
1060         * testsuite/performance/20_util/allocator/map_thread.cc: Likewise.
1061
1062 2004-03-11  Paolo Carlini  <pcarlini@suse.de>
1063
1064         * include/std/std_complex.h (pow(const complex&, const _Tp&),
1065         pow(const _Tp&, const complex&), pow(const complex&,
1066         const complex&)): Fully qualify with std:: a few calls.
1067         * testsuite/26_numerics/complex/13450.cc: Minor tweak.
1068
1069 2004-03-11  Steven Bosscher  <stevenb@suse.de>
1070
1071         PR libstdc++/11706
1072         * include/c_std/cmath.tcc (__cmath_power): Define inline.
1073
1074 2004-03-10  Kelley Cook  <kcook@gcc.gnu.org>
1075
1076         * configure.ac: Bump AC_PREREQ to 2.59.
1077
1078 2004-03-10  Paolo Carlini  <pcarlini@suse.de>
1079
1080         * testsuite/26_numerics/valarray_subset_assignment.cc: Fix typos.
1081
1082 2004-03-10  Paul Kienzle  <pkienzle@nist.gov>
1083             Paolo Carlini  <pcarlini@suse.de>
1084
1085         PR libstdc++/13450
1086         * include/std/std_complex.h (pow(const complex&, const _Tp&),
1087         pow(const _Tp&, const complex&)): Use cmath pow only when safe.
1088         * testsuite/26_numerics/complex/13450.cc: New.
1089
1090         * testsuite/26_numerics/cmath/overloads.C: Rename to overloads.cc.
1091         * testsuite/26_numerics/complex/pow.C: Rename to pow.cc and fix.
1092
1093 2004-03-10  Jerry Quinn  <jlquinn@optonline.net>
1094
1095         PR libstdc++/3247
1096         * include/bits/gslice_array.h (gslice_array()): Make public.
1097         (operator=(gslice_array)): Make public.  Implement.
1098         * include/bits/indirect_array.h (indirect_array()): Make public.
1099         * include/bits/mask_array.h (mask_array()): Make public.
1100         (operator=(mask_array)): Make public.  Implement.
1101         * include/bits/valarray_array.tcc (__valarray_copy):
1102         Comment.  Add versions for gslice_array and mask_array.
1103         * testsuite/26_numerics/valarray_subset_assignment.cc:  New test.
1104
1105 2004-03-09  Benjamin Kosnik  <bkoz@redhat.com>
1106
1107         * testsuite/23_containers/deque/modifiers/swap.cc: Add in bits for
1108         non-weak systems.
1109         * testsuite/23_containers/vector/modifiers/swap.cc: Same.
1110         * testsuite/23_containers/set/modifiers/swap.cc: Same.
1111         * testsuite/23_containers/multiset/modifiers/swap.cc: Same.
1112         * testsuite/23_containers/multimap/modifiers/swap.cc: Same.
1113         * testsuite/23_containers/map/modifiers/swap.cc: Same.
1114         * testsuite/23_containers/list/modifiers/swap.cc: Same.
1115
1116         * testsuite/22_locale/locale/cons/12658_thread.cc: Catch exceptions.
1117
1118 2004-03-08  Benjamin Kosnik  <bkoz@redhat.com>
1119
1120         PR c++/13658
1121         * testsuite/23_containers/deque/modifiers/swap.cc: New.
1122         * testsuite/23_containers/list/modifiers/swap.cc: New.
1123         * testsuite/23_containers/map/modifiers/swap.cc: New.
1124         * testsuite/23_containers/multimap/modifiers/swap.cc: New.
1125         * testsuite/23_containers/multiset/modifiers/swap.cc: New.
1126         * testsuite/23_containers/set/modifiers/swap.cc: New.
1127         * testsuite/23_containers/vector/modifiers/swap.cc: New.
1128
1129 2004-03-08  Petur Runolfsson  <peturr02@ru.is>
1130
1131         PR libstdc++/12658
1132         * testsuite/22_locale/locale/cons/12658_thread.cc: New.
1133
1134 2004-03-08  Paolo Carlini  <pcarlini@suse.de>
1135
1136         * docs/html/ext/howto.html: Add entry for DR 103 [WP].
1137         * include/bits/stl_multiset.h: Add comment about DR 103.
1138         * include/bits/stl_set.h: Likewise.
1139
1140 2004-03-08  Paolo Carlini  <pcarlini@suse.de>
1141
1142         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1143         The value _space_ indicates that at least one space is required
1144         at that position.
1145         * testsuite/22_locale/money_get/get/char/17.cc: New.
1146         * testsuite/22_locale/money_get/get/wchar_t/17.cc: New.
1147
1148         * testsuite/22_locale/money_get/get/char/7.cc: Minor tweaks.
1149         * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
1150
1151         * include/bits/locale_facets.tcc (money_get<>::do_get(long_double&)):
1152         Remove redundant conditional on __str.size().
1153
1154 2004-03-08  Benjamin Kosnik  <bkoz@redhat.com>
1155
1156         * include/bits/allocator.h: Switch defaults to mt_alloc.
1157
1158 2004-03-06  Benjamin Kosnik  <bkoz@redhat.com>
1159
1160         * include/ext/mt_allocator.h (_S_initialize): If
1161         !__GTHREAD_MUTEX_INIT, then initialize _S_thread_freelist_mutex.
1162
1163 2004-03-06  Benjamin Kosnik  <bkoz@redhat.com>
1164
1165         PR libstdc++/12658
1166         * src/locale_init.cc (locale::locale): Lock critical regions with
1167         external mutexes.
1168         (locale::global): Same.
1169         * include/bits/concurrence.h (__glibcxx_mutex_define_initialized):
1170         Add in once bits for cases without __GTHREAD_MUTEX_INIT.
1171         (__glibcxx_mutex_lock): Same.
1172
1173         * config/cpu/generic/atomicity.h: Remove
1174         _GLIBCXX_NEED_GENERIC_MUTEX, use concurrence.h.
1175         * src/misc-inst.cc: Move all locking bits out of this file.
1176
1177         * config/os/hpux/os_defines.h: Remove _GLIBCXX_INST_ATOMICITY_LOCK.
1178         * src/misc-inst.cc: Same.
1179         * config/cpu/hppa/atomicity.h: Same.
1180
1181         * config/linker-map.gnu: Remove types in the signature of atomic
1182         exports, as they may vary.
1183
1184 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
1185
1186         * include/bits/locale_facets.tcc: Tweak the comment preceding
1187         has_facet: doesn't throw.
1188
1189 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
1190
1191         * testsuite/22_locale/money_get/get/char/1.cc: Clean up.
1192         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
1193         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
1194         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
1195         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
1196         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
1197         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
1198         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
1199
1200 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
1201
1202         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
1203         num_get<>::_M_extract_int, num_get<>::do_get(bool&),
1204         __pad<>::_S_pad): Prefer plain operator== to traits::eq().
1205         * testsuite/testsuite_character.h (struct __gnu_test::character):
1206         Provide operator==.
1207         * testsuite/testsuite_hooks.h (struct __gnu_test::pod_char):
1208         Likewise.
1209
1210 2004-03-05  Paolo Carlini  <pcarlini@suse.de>
1211
1212         * testsuite/27_io/fpos/14320-2.cc: Remove xfail.
1213
1214 2004-03-04  Benjamin Kosnik  <bkoz@redhat.com>
1215
1216         * testsuite/23_containers/multiset/insert/1.cc: Test result string.
1217
1218         * testsuite/23_containers/bitset/invalidation/1.cc: Main always
1219         returns 0.
1220         * testsuite/23_containers/deque/invalidation/4.cc: Same.
1221         * testsuite/23_containers/list/invalidation/1.cc: Same.
1222         * testsuite/23_containers/list/invalidation/2.cc: Same.
1223         * testsuite/23_containers/list/invalidation/3.cc: Same.
1224         * testsuite/23_containers/list/invalidation/4.cc: Same.
1225         * testsuite/23_containers/map/invalidation/2.cc: Same.
1226         * testsuite/23_containers/multimap/invalidation/1.cc: Same.
1227         * testsuite/23_containers/multimap/invalidation/2.cc: Same.
1228         * testsuite/23_containers/multiset/invalidation/1.cc: Same.
1229         * testsuite/23_containers/multiset/invalidation/2.cc: Same.
1230         * testsuite/23_containers/set/invalidation/1.cc: Same.
1231         * testsuite/23_containers/set/invalidation/2.cc: Same.
1232         * testsuite/23_containers/vector/invalidation/1.cc: Same.
1233         * testsuite/23_containers/vector/invalidation/2.cc: Same.
1234         * testsuite/23_containers/vector/invalidation/3.cc: Same.
1235         * testsuite/23_containers/vector/invalidation/4.cc: Same.
1236
1237 2004-03-04  Paolo Carlini  <pcarlini@suse.de>
1238
1239         * scripts/testsuite_flags.in: Add "-D_GLIBCXX_ASSERT" to
1240         CXXFLAGS_save.
1241         * testsuite/lib/libstdc++.exp: Don't add it conditionally to
1242         DEFAULT_CXXFLAGS.
1243         * testsuite/18_support/numeric_limits.cc: Remove "-D_GLIBCXX_ASSERT"
1244         from the dg-options.
1245         * testsuite/23_containers/vector/invalidation/1.cc: Likewise.
1246         * testsuite/23_containers/vector/invalidation/2.cc: Likewise.
1247         * testsuite/23_containers/vector/invalidation/3.cc: Likewise.
1248         * testsuite/23_containers/vector/invalidation/4.cc: Likewise.
1249         * testsuite/23_containers/vector/resize/1.cc: Likewise.
1250         * testsuite/26_numerics/complex_value.cc: Likewise.
1251         * testsuite/27_io/ios_base/storage/1.cc: Likewise.
1252         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
1253         * testsuite/27_io/ios_base/storage/3.cc: Likewise.
1254         * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
1255         * testsuite/27_io/objects/char/5.cc: Likewise.
1256         * testsuite/27_io/objects/wchar_t/5.cc: Likewise.
1257         * testsuite/backward/11460.cc: Likewise.
1258         * testsuite/thread/pthread7-rope.cc: Likewise.
1259
1260         * testsuite/21_strings/basic_string/compare/char/1.cc: Add
1261         missing test variable.
1262         * testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Add
1263         missing test variable.
1264
1265 2004-03-04  Benjamin Kosnik  <bkoz@redhat.com>
1266
1267         * testsuite/20_util/allocator/1.cc: Provide explicit
1268         instantiations for non-weak systems.
1269         * testsuite/20_util/binders.cc: Same.
1270         * testsuite/20_util/allocator/8230.cc: Same.
1271         * testsuite/20_util/allocator/10378.cc: Same.
1272         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
1273         * testsuite/22_locale/ctype/is/char/2.cc: Same.
1274         * testsuite/thread/pthread7-rope.cc: Same.
1275         * testsuite/thread/pthread6.cc: Same.
1276         * testsuite/thread/pthread5.cc: Same.
1277         * testsuite/thread/pthread4.cc: Same.
1278         * testsuite/thread/pthread1.cc: Same.
1279         * testsuite/ext/rope.cc: Same.
1280         * testsuite/ext/hash_set.cc: Same.
1281         * testsuite/ext/hash_map.cc: Same.
1282         * testsuite/ext/concept_checks.cc: Same.
1283         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Same.
1284         * testsuite/25_algorithms/unique/2.cc: Same.
1285         * testsuite/25_algorithms/unique/1.cc: Same.
1286         * testsuite/25_algorithms/rotate.cc: Same.
1287         * testsuite/25_algorithms/min_max.cc: Same.
1288         * testsuite/25_algorithms/equal.cc: Same.
1289         * testsuite/24_iterators/rel_ops.cc: Same.
1290         * testsuite/24_iterators/iterator.cc: Same.
1291         * testsuite/24_iterators/insert_iterator.cc: Same.
1292         * testsuite/24_iterators/front_insert_iterator.cc: Same.
1293         * testsuite/24_iterators/back_insert_iterator.cc: Same.
1294         * testsuite/23_containers/vector/resize/1.cc: Same.
1295         * testsuite/23_containers/vector/modifiers/2.cc: Same.
1296         * testsuite/23_containers/vector/modifiers/1.cc: Same.
1297         * testsuite/23_containers/vector/invalidation/4.cc: Same.
1298         * testsuite/23_containers/vector/invalidation/3.cc: Same.
1299         * testsuite/23_containers/vector/invalidation/2.cc: Same.
1300         * testsuite/23_containers/vector/invalidation/1.cc: Same.
1301         * testsuite/23_containers/vector/element_access/1.cc: Same.
1302         * testsuite/23_containers/vector/cons/6513.cc: Same.
1303         * testsuite/23_containers/vector/cons/3.cc: Same.
1304         * testsuite/23_containers/vector/cons/2.cc: Same.
1305         * testsuite/23_containers/vector/cons/1.cc: Same.
1306         * testsuite/23_containers/vector/capacity/8230.cc: Same.
1307         * testsuite/23_containers/vector/capacity/1.cc: Same.
1308         * testsuite/23_containers/vector/bool/6886.cc: Same.
1309         * testsuite/23_containers/stack/members/7158.cc: Same.
1310         * testsuite/23_containers/set/invalidation/2.cc: Same.
1311         * testsuite/23_containers/set/invalidation/1.cc: Same.
1312         * testsuite/23_containers/queue/members/7157.cc: Same.
1313         * testsuite/23_containers/priority_queue/members/7161.cc: Same.
1314         * testsuite/23_containers/multiset/invalidation/2.cc: Same.
1315         * testsuite/23_containers/multiset/invalidation/2.cc: Same.
1316         * testsuite/23_containers/multiset/insert/1.cc: Same.
1317         * testsuite/23_containers/multimap/invalidation/2.cc: Same.
1318         * testsuite/23_containers/multimap/invalidation/2.cc: Same.
1319         * testsuite/23_containers/map/operators/1.cc: Same.
1320         * testsuite/23_containers/map/invalidation/2.cc: Same.
1321         * testsuite/23_containers/map/invalidation/1.cc: Same.
1322         * testsuite/23_containers/map/insert/1.cc: Same.
1323         * testsuite/23_containers/list/operators/4.cc: Same.
1324         * testsuite/23_containers/list/operators/3.cc: Same.
1325         * testsuite/23_containers/list/operators/2.cc: Same.
1326         * testsuite/23_containers/list/operators/1.cc: Same.
1327         * testsuite/23_containers/list/modifiers/3.cc: Same.
1328         * testsuite/23_containers/list/modifiers/2.cc: Same.
1329         * testsuite/23_containers/list/modifiers/1.cc: Same.
1330         * testsuite/23_containers/list/invalidation/4.cc: Same.
1331         * testsuite/23_containers/list/invalidation/3.cc: Same.
1332         * testsuite/23_containers/list/invalidation/2.cc: Same.
1333         * testsuite/23_containers/list/invalidation/1.cc: Same.
1334         * testsuite/23_containers/list/cons/9.cc: Same.
1335         * testsuite/23_containers/list/cons/8.cc: Same.
1336         * testsuite/23_containers/list/cons/7.cc: Same.
1337         * testsuite/23_containers/list/cons/6.cc: Same.
1338         * testsuite/23_containers/list/cons/5.cc: Same.
1339         * testsuite/23_containers/list/cons/4.cc: Same.
1340         * testsuite/23_containers/list/cons/3.cc: Same.
1341         * testsuite/23_containers/list/cons/2.cc: Same.
1342         * testsuite/23_containers/list/cons/1.cc: Same.
1343         * testsuite/23_containers/list/capacity/1.cc: Same.
1344         * testsuite/23_containers/deque/operators/1.cc: Same.
1345         * testsuite/23_containers/deque/invalidation/4.cc: Same.
1346         * testsuite/23_containers/deque/invalidation/3.cc: Same.
1347         * testsuite/23_containers/deque/invalidation/2.cc: Same.
1348         * testsuite/23_containers/deque/invalidation/1.cc: Same.
1349         * testsuite/23_containers/deque/cons/2.cc: Same.
1350         * testsuite/23_containers/deque/cons/1.cc: Same.
1351
1352         * src/allocator.cc: Add char, wchar_t instantiations
1353         to match extern template declarations in memory.h.
1354
1355 2004-03-03  Paolo Carlini  <pcarlini@suse.de>
1356
1357         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
1358         Fix warning regression.
1359
1360 2004-03-03  Paolo Carlini  <pcarlini@suse.de>
1361
1362         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
1363         Deal properly with empty __digits and negative frac_digits,
1364         clean-up a bit.
1365
1366 2004-03-03  Jonathan Wakely  <redi@gcc.gnu.org>
1367
1368         * docs/html/documentation.html: Regenerate.
1369
1370 2004-03-02  Paolo Carlini  <pcarlini@suse.de>
1371
1372         PR libstdc++/14320
1373         * include/bits/postypes.h (class streamoff): Remove, now
1374         streamoff is just typedef a 64 bit signed integer type.
1375         (class fpos): Tweak consistently.
1376         * testsuite/27_io/fpos/14320-1.cc: New.
1377         * testsuite/27_io/fpos/14320-2.cc: New.
1378         * testsuite/27_io/fpos/14320-3.cc: New.
1379         * testsuite/27_io/fpos/14320-4.cc: New.
1380         * testsuite/27_io/fpos/14320-5.cc: New.
1381         * testsuite/27_io/fpos/mbstate_t/4_neg.cc: xfail for now.
1382
1383 2004-03-02  Paolo Carlini  <pcarlini@suse.de>
1384
1385         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1386         Reorganize a bit the main parsing loop, thus early detecting
1387         an empty value component.
1388         * testsuite/22_locale/money_get/get/char/16.cc: New.
1389         * testsuite/22_locale/money_get/get/wchar_t/16.cc: New.
1390
1391 2004-03-02  Benjamin Kosnik  <bkoz@redhat.com>
1392
1393         Support automake 1.8.2
1394         * configure.ac (AM_INIT_AUTOMAKE): Add -Wno-override.
1395         * po/Makefile.am (EXTRA_DIST): New.
1396         * po/Makefile.in: Regenerate.
1397         * Makefile.in: Same.
1398         * include/Makefile.in: Same.
1399         * libmath/Makefile.in: Same.
1400         * libsupc++/Makefile.in: Same.
1401         * src/Makefile.in: Same.
1402         * testsuite/Makefile.in: Same.
1403
1404         * include/Makefile.am (${host_builddir}/gthr-posix.h): Use
1405         __GXX_WEAK__ instead of SUPPORTS_WEAK.
1406         (${host_builddir}/gthr-default.h): Same.
1407         (${host_builddir}/gthr.h): Same.
1408         * acinclude.m4 (GLIBCXX_ENABLE_THREAD): Remove
1409         _GLIBCXX_SUPPORTS_WEAK, as this behavior can be modified via
1410         -fno-weak.
1411         * aclocal.m4: Regenerate.
1412         * acconfig.h: Remove _GLIBCXX_SUPPORTS_WEAK.
1413         * config.h.in: Regenerate.
1414         * configure: Same.
1415
1416 2004-03-01  Benjamin Kosnik  <bkoz@redhat.com>
1417
1418         Support autoconf 2.59
1419         * acinclude.m4: Quote correctly.
1420         * aclocal.m4: Regenerate.
1421         * linkage.m4: Same.
1422
1423 2004-03-01  Benjamin Kosnik  <bkoz@redhat.com>
1424
1425         * docs/html/test.html: Add multilib RUNTESTFLAGS example.
1426
1427         * docs/html/18_support/howto.html: Add bit about writing to
1428         stderr, mostly by Zack.
1429
1430 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
1431
1432         * include/bits/locale_facets.tcc (money_get<>::_M_extract,
1433         money_get<>::do_get(string_type&)): ... and two more.
1434
1435 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
1436
1437         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1438         Fix thinkos in the switch from string_type& to string& as last
1439         argument.
1440
1441 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
1442
1443         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
1444         Also when parsing exponent sign, first look for thousands_sep
1445         and decimal_point; tweak a bit.
1446         * testsuite/22_locale/num_get/get/char/15.cc: New.
1447         * testsuite/22_locale/num_get/get/wchar_t/15.cc: New.
1448
1449         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
1450         num_get<>::_M_extract_int): Reorder some conditionals.
1451
1452 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
1453
1454         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1455         Consistently with numpunct, enforce the requirements in
1456         22.2.6.3, p3 for the thousands separators; tweak a bit.
1457         * testsuite/22_locale/money_get/get/char/15.cc: New.
1458         * testsuite/22_locale/money_get/get/wchar_t/15.cc: New.
1459
1460 2004-03-01  David Billinghurst <David.Billinghurst@riotinto.com>
1461
1462         * testsuite/lib/libstdc++.exp (v3-list-tests): Use
1463         testsuite_files from correct multilib blddir when running
1464         testsuite.
1465
1466 2004-02-29  Phil Edwards  <phil@codesourcery.com>
1467
1468         * testsuite/Makefile.am (check-abi, check-abi-verbose):  Copy
1469         the summary file to the logfile.
1470         * testsuite/Makefile.in:  Regenerate.
1471
1472 2004-02-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1473
1474         * config/cpu/hppa/atomicity.h (__atomic_add): Make first argument
1475         volatile.
1476         * config/os/hpux/os_defines.h (_GLIBCXX_INST_ATOMICITY_LOCK): Use
1477         __GXX_WEAK__ instead of _GLIBCXX_SUPPORTS_WEAK.
1478
1479 2004-02-28  Paolo Carlini  <pcarlini@suse.de>
1480
1481         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
1482         According to 22.2.3.1, p2, 'units' may be followed by 'e' with
1483         no 'decimal-point' in the middle: in this case too we must fix
1484         up __found_grouping; slightly tweak.
1485         * testsuite/22_locale/num_get/get/char/14.cc: New.
1486         * testsuite/22_locale/num_get/get/wchar_t/14.cc: New.
1487
1488 2004-02-27  Eric Christopher  <echristo@redhat.com>
1489             Phil Edwards  <phil@codesourcery.com>
1490
1491         * testsuite/22_locale/collate/compare/wchar_t/2.cc,
1492         testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc,
1493         testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc,
1494         testsuite/22_locale/collate/hash/wchar_t/2.cc,
1495         testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc,
1496         testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc,
1497         testsuite/22_locale/collate/transform/wchar_t/2.cc,
1498         testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc,
1499         testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
1500         Use dg-require-iconv.
1501         * testsuite/lib/libstdc++.exp:  Load target-supports.exp.
1502
1503 2004-02-27  Phil Edwards  <phil@codesourcery.com>
1504             Eric Christopher  <echristo@redhat.com>
1505
1506         * testsuite/config/default.exp:  Update with comments.
1507         (${tool}_target_compile):  New wrapper routine.
1508         * testsuite/lib/dg-options.exp:  New file, with dg-require-iconv.
1509         * testsuite/lib/libstdc++.exp:  Update with comments and cosmetic
1510         fixes.
1511         (load_gcc_lib, v3track):  New routines.
1512         (v3-init):  Rename to libstdc++_init.
1513         * testsuite/libstdc++-dg/normal.exp:  No longer call v3-init.
1514         Move DEFAULT_CXXFLAGS handling into libstdc++_init.
1515
1516 2004-02-27  Benjamin Kosnik  <bkoz@redhat.com>
1517
1518         * config/cpu/hppa/atomicity.h: Include c++config.h to get defines.
1519
1520         * src/misc-inst.cc (_S_atomicity_lock): Move to __gnu_cxx.
1521
1522         * config/os/irix/irix5.2/atomicity.h: Merge..
1523         * config/os/irix/irix6.5/atomicity.h: Merge..
1524         * config/os/irix/atomicity.h: ...into this.
1525         * config/os/irix/atomic_word.h: New.
1526         * configure.host: Set atomic_word_dir for irix.
1527
1528         * hppa/atomicity.h: Change __Atomicity_lock to _Atomicity_lock.
1529         * i386/atomicity.h: Same.
1530         * m68k/atomicity.h: Same.
1531         * sparc/atomicity.h: Same.
1532
1533 2004-02-27  David Edelsohn  <edelsohn@gnu.org>
1534
1535         * config/os/aix/atomicity.h: Use __gnu_cxx namespace. Remove
1536         static, and inline keywords.
1537
1538 2004-02-27  Paolo Carlini  <pcarlini@suse.de>
1539
1540         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
1541         num_get<>::_M_extract_int, money_get<>::_M_extract): If appropriate,
1542         call reserve on the __tmp_gruping string.
1543         (num_get<>::_M_extract_float): Don't append unnecessarily a
1544         char() to the returned string.
1545         * include/bits/locale_facets.tcc: Trivial reformattings.
1546
1547 2004-02-27  Paolo Carlini  <pcarlini@suse.de>
1548
1549         * include/bits/locale_facets.h (money_get<>::_M_extract):
1550         Change signature: now takes a plain string&.
1551         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1552         Update consistently the definition; use the moneypunct cache
1553         to parse the value; use swap to change __units.
1554         (money_get<>::do_get(long double&)): Update call of _M_extract,
1555         avoid ctype::narrow, not correct wrt the standard.
1556         (money_get<>::do_get(string_type&)): Likewise, update call
1557         of _M_extract, use ctype::widen.
1558         * src/locale-inst.cc: Tweak instantiations of _M_extract.
1559
1560 2004-02-26  Ian Lance Taylor  <ian@wasabisystems.com>
1561
1562         * testsuite/demangle/abi_examples/01.cc: Expect error -2.
1563         * testsuite/demangle/abi_examples/02.cc: Likewise.
1564         * testsuite/demangle/regression/cw-11.cc: Likewise.
1565         * testsuite/demangle/regression/cw-16.cc: Change two expected
1566         results to match libiberty demangler output.
1567
1568 2004-02-26  Benjamin Kosnik  <bkoz@redhat.com>
1569
1570         PR libstdc++/10246
1571         * libsupc++/Makefile.am: Use libiberty demangler.
1572         (c_sources): Add cp-demangle.c.
1573         * libsupc++/Makefile.in: Regenerate.
1574         * src/Makefile.am (sources): Remove demangle.cc.
1575         * src/Makefile.in: Regenerate.
1576         * include/Makefile.am (bits_headers): Move demangle.h.
1577         (ext_headers): ...here.
1578         * include/Makefile.in: Regenerate.
1579         * include/bits/demangle.h: Move...
1580         * include/ext/demangle.h: ...here.
1581         * src/demangle.cc: Remove.
1582
1583 2004-02-26  Benjamin Kosnik  <bkoz@redhat.com>
1584
1585         * include/bits/demangle.h: Add type template parameter to all
1586         templates with just an Allocator template parameter.
1587
1588 2004-02-25  Benjamin Kosnik  <bkoz@redhat.com>
1589
1590         * include/bits/atomicity.h: New, forward declarations for __atomic_add
1591         and __exchange_and_add.
1592         * config/cpu/generic/atomic_word.h: New, typdef for atomic word.
1593         * config/cpu/cris/atomic_word.h: Same.
1594         * config/cpu/sparc/atomic_word.h: Same.
1595         * include/bits/ios_base.h (_Callback_list::_M_remove_reference):
1596         Qualifiy with __gnu_cxx.
1597         (_Callback_list::_M_add_reference): Same.
1598         * include/bits/locale_classes.h (locale::facet::_M_add_reference): Add.
1599         (locale::facet::_M_remove_reference): Same.
1600         (locale::_Impl::_M_add_reference): Add.
1601         (locale::_Impl::_M_remove_reference): Same.
1602         * include/bits/basic_string.h (basic_string::_Rep::_M_refcopy): Same.
1603         (basic_string::_Rep::_M_dispose): Same.
1604         * src/ios.cc (ios_base::xalloc): Same.
1605         * src/ios_init.cc (ios_base::Init::Init): Same.
1606         (ios_base::Init::~Init): Same.
1607         * src/locale.cc (locale::id::_M_id): Same.
1608         * config/cpu/i486/atomicity.h: Use __gnu_cxx namespace. Remove
1609         static, and inline keywords.
1610         * config/cpu/alpha/atomicity.h: Same.
1611         * config/cpu/cris/atomicity.h: Same.
1612         * config/cpu/generic/atomicity.h: Same.
1613         * config/cpu/hppa/atomicity.h: Same.
1614         * config/cpu/i386/atomicity.h: Same.
1615         * config/cpu/ia64/atomicity.h: Same.
1616         * config/cpu/m68k/atomicity.h: Same.
1617         * config/cpu/mips/atomicity.h: Same.
1618         * config/cpu/powerpc/atomicity.h: Same.
1619         * config/cpu/s390/atomicity.h: Same.
1620         * config/cpu/sparc/atomicity.h: Same.
1621
1622         * src/Makefile.am (host_sources): Add atomicity.cc.
1623         (atomicity.cc): New rule.
1624         * src/Makefile.in: Regenerate.
1625         * include/Makefile.am (host_headers): Remove host atomicity.h.
1626         (host_headers): Add atomic_word.h.
1627         (bits_headers): Add bits atomicity.h.
1628         Change ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
1629         * include/Makefile.in: Regenerate.
1630         * configure.host (atomic_word_dir): Add.
1631         * configure.ac: Substitute ATOMIC_WORD_SRCDIR. Change
1632         ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
1633         * configure: Regenerate.
1634         * config/linker-map.gnu: Export __exchange_and_add, and __atomic_add.
1635
1636         * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
1637         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
1638
1639 2004-02-25  Jonathan Wakely  <redi@gcc.gnu.org>
1640
1641         * docs/html/20_util/howto.html, docs/html/20_util/allocator.html,
1642         docs/html/ext/howto.html, docs/html/ext/mt_allocator.html:
1643         Fix markup, more <link> tags.
1644
1645 2004-02-25  Carlo Wood  <carlo@alinoe.com>
1646
1647         * bits/demangle.h
1648         namespace __gnu_cxx::demangler
1649         (session<Allocator>::qualifier_list_Allocator): Add
1650         (session<Allocator>::M_qualifier_list_alloc): Add
1651         (session<Allocator>::decode_type_with_postfix):
1652         Use M_qualifier_list_alloc instead of calling operator new/delete.
1653
1654 2004-02-24  Paolo Carlini  <pcarlini@suse.de>
1655
1656         PR libstdc++/14252
1657         * include/bits/postypes.h (class streamoff): Add operator++(),
1658         operator++(int), operator--() and operator--(int).
1659         * testsuite/27_io/fpos/14252.cc: New.
1660
1661 2004-02-24  Richard Sandiford  <rsandifo@redhat.com>
1662
1663         * include/bits/locale_facets.tcc (num_get::_M_extract_int): Fix bounds
1664         error in handling of hex constants.
1665
1666 2004-02-24  Paolo Carlini  <pcarlini@suse.de>
1667
1668         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
1669         Prefer basic_string::append to operator+= and a temporary.
1670
1671 2004-02-23  Benjamin Kosnik  <bkoz@redhat.com>
1672
1673         * libsupc++/vterminate.cc (__gnu_cxx::__verbose_terminate_handler):
1674         Only use fputs, not write.
1675
1676 2004-02-23  Benjamin Kosnik  <bkoz@redhat.com>
1677
1678         * include/ext/malloc_allocator.h: Add operators ==, !=.
1679         * include/ext/new_allocator.h: Add operators ==, !=.
1680         * include/ext/mt_allocator.h (__mt_alloc::tune): New.
1681         (__mt_alloc::_S_get_options): New.
1682         (__mt_alloc::_S_set_options): New.
1683         (__mt_alloc::_S_thread_key_destr): To _S_destroy_thread_key.
1684         (__mt_alloc::_S_no_of_bins): To _S_bin_size.
1685         Move functions out of line, simplify, format.
1686         * src/allocator.cc: Simplify explicit instantiations.
1687         * include/bits/allocator.h: Tweak.
1688
1689 2004-02-22  Paolo Carlini  <pcarlini@suse.de>
1690
1691         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
1692         Restructure formatting of value component, first dealing with
1693         the non-decimal digits; use reserve.
1694
1695 2004-02-22  Paolo Carlini  <pcarlini@suse.de>
1696
1697         * include/bits/locale_facets.h (class money_get): Inherit
1698         from money_base too; tweak declaration of _M_extract, now
1699         parameterized on _Intl too.
1700         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1701         Update definition to use the cache; call reserve on __res to
1702         avoid multiple reallocations; fix parsing of sign component
1703         according to 22.2.6.1.2, p3.
1704         (money_get<>::do_get(long double&),
1705         money_get<>::do_get(string_type&)): Update calls of _M_extract.
1706         * src/locale-inst.cc:  Add instantiations of
1707         money_get::_M_extract<false> and money_get::_M_extract<true>.
1708         * testsuite/22_locale/money_get/get/char/14.cc: New.
1709         * testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto.
1710
1711 2004-02-21  Mark Mitchell  <mark@codesourcery.com>
1712
1713         * libsupc++/vterminate.cc
1714         (__gnu_cxx::__verbose_terminate_handler): Guard against recursive
1715         calls to terminate.
1716         * src/demangle.cc (__cxa_demangle): Wrap in try-catch block.
1717
1718         * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
1719         not set RLIMIT_AS on HP-UX.
1720
1721 2004-02-21  Mark Mitchell  <mark@codesourcery.com>
1722
1723         * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
1724         not set RLIMIT_AS on HP-UX.
1725
1726 2004-02-21  Paolo Carlini  <pcarlini@suse.de>
1727
1728         * include/bits/locale_facets.h (class money_base): Add { _S_minus,
1729         _S_zero, _S_end } enum, _S_atoms.
1730         (struct __moneypunct_cache<>): Parameterize on _Intl too; add
1731         _M_grouping_size, _M_curr_symbol_size, _M_positive_sign_size,
1732         _M_negative_sign_size, _M_atoms; tweak constructor consistently.
1733         (__moneypunct_cache<>::~__moneypunct_cache): Update.
1734         (__moneypunct_cache<>::_M_cache): Fill the cache.
1735         (class moneypunct): Tweak __cache_type typedef.
1736         (class money_put): Inherit from money_base too; tweak declaration
1737         of _M_insert, now parameterized on _Intl.
1738         * include/bits/locale_facets.tcc
1739         (struct __use_cache<__moneypunct_cache<_CharT, _Intl> >): New.
1740         (money_put<>::_M_insert): Update definition to use the cache;
1741         call reserve on __res to avoid multiple reallocations.
1742         (money_put<>::do_put(long double),
1743         money_put<>::do_put(const string_type&): Update calls of _M_insert.
1744         * config/locale/generic/monetary_members.cc
1745         (moneypunct<char, true>::_M_initialize_moneypunct,
1746         moneypunct<char, false>::_M_initialize_moneypunct,
1747         moneypunct<wchar_t, true>::_M_initialize_moneypunct,
1748         moneypunct<wchar_t, false>::_M_initialize_moneypunct): Update.
1749         * config/locale/gnu/monetary_members.cc: Likewise.
1750         * config/locale/gnu/monetary_members.cc
1751         (moneypunct<wchar_t, true>::~moneypunct(),
1752         moneypunct<wchar_t, false>::~moneypunct()): Likewise.
1753         * src/globals_locale.cc: Tweak fake_money_cache_c.
1754         * src/locale-inst.cc: Add instantiations for
1755         money_put::_M_insert<false> and money_put::_M_insert<true> and
1756         __moneypunct_cache<C, false>, __moneypunct_cache<C, true>.
1757         * src/locale_facets.cc: Define money_base::_S_atoms.
1758         * src/locale_init.cc: Update placement new of
1759         __moneypunct_cache<char, false>, __moneypunct_cache<char, true>,
1760         __moneypunct_cache<wchar_t, false>, __moneypunct_cache<wchar_T, true>.
1761
1762         * config/locale/generic/numeric_members.cc: Clean up.
1763         * config/locale/gnu/numeric_members.cc: Likewise.
1764         * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
1765         * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
1766         * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
1767         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
1768         * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
1769         * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
1770
1771 2004-02-20  Mark Mitchell  <mark@codesourcery.com>
1772
1773         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Open
1774         FIFO for writing with ios_base::in|ios_base::out.
1775         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
1776         * testsuite/27_io/objects/char/7.cc: Likewise.
1777         * testsuite/27_io/objects/char/9661-1.cc: Open FIFO for writing
1778         with "r+".
1779
1780 2004-02-19  David Edelsohn  <edelsohn@gnu.org>
1781
1782         * 22_locale/collate/compare/wchar_t/2.cc: Change input-charset
1783         from iso-8859-1 to ISO8859-1.
1784         * 22_locale/collate/compare/wchar_t/wrapped_env.cc: Same.
1785         * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: Same.
1786         * 22_locale/collate/hash/wchar_t/2.cc: Same.
1787         * 22_locale/collate/hash/wchar_t/wrapped_env.cc: Same.
1788         * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: Same.
1789         * 22_locale/collate/transform/wchar_t/2.cc: Same.
1790         * 22_locale/collate/transform/wchar_t/wrapped_env.cc: Same.
1791         * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: Same.
1792
1793 2004-02-18  Paolo Carlini  <pcarlini@suse.de>
1794
1795         * include/bits/locale_facets.h (money_get<>::_M_extract):
1796         New, helper for do_get.
1797         (money_put<>::_M_insert): Likewise, for do_put.
1798         * include/bits/locale_facets.tcc (money_get<>::_M_extract,
1799         money_put<>::_M_insert): Define.
1800         (money_get<>::do_get(long double&), money_get<>::do_get(
1801         string_type&), money_put::do_put(long double),
1802         money_put::do_put(const string_type&)): Use the helpers.
1803
1804 2004-02-18  Paolo Carlini  <pcarlini@suse.de>
1805
1806         * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
1807         Rewrite, avoiding recursion.
1808         (__gnu_internal::xwrite): Minor tweaks.
1809
1810 2004-02-17  Stefan Olsson  <stefan@xapa.se>
1811
1812         * include/ext/mt_allocator.h: Removed the last
1813         pointer. Deallocated blocks are now added to the front of
1814         freelists as proposed by Felix Yen.  This gives roughly 10%
1815         performance boost and saves some memory.
1816         * docs/html/ext/mt_allocator.html: Change due to that deallocated
1817         blocks now are added to the front of freelists. The reason to this
1818         approach is also explained.
1819
1820 2004-02-17  Paolo Carlini  <pcarlini@suse.de>
1821
1822         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
1823         num_get<>::_M_extract_int, money_get<>::do_get): Simplify
1824         grouping fidelity conditional.
1825
1826 2004-02-16  Paolo Carlini  <pcarlini@suse.de>
1827
1828         * testsuite/27_io/basic_filebuf/overflow/char/13858.cc:
1829         Qualify exception with std::.
1830         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto.
1831         * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
1832         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
1833         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
1834         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
1835
1836 2004-02-16  Paolo Carlini  <pcarlini@suse.de>
1837
1838         * testsuite/ext/enc_filebuf/char/13189.cc: Don't check
1839         for now that the catch block is not reached.
1840         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
1841
1842 2004-02-16  Paolo Carlini  <pcarlini@suse.de>
1843
1844         * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
1845         Fix parsing of the remaining sign characters.
1846         * 22_locale/money_get/get/char/2.cc: Tweak: now, correctly,
1847         the input is scanned 'til eof.
1848         * 22_locale/money_get/get/char/4.cc: Likewise.
1849         * 22_locale/money_get/get/wchar_t/2.cc: Likewise.
1850         * 22_locale/money_get/get/wchar_t/4.cc: Likewise.
1851         * 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format,
1852         not do_pos_format: the former is the only one that matters during
1853         input.
1854         * 22_locale/money_get/get/wchar_t/8.cc: Likewise.
1855
1856         * 22_locale/money_get/get/char/6.cc: Minor tweak.
1857         * 22_locale/money_get/get/wchar_t/6.cc: Likewise.
1858
1859 2004-02-15  David Asher  <david.asher@cavium.com>
1860
1861         PR libstdc++/11352
1862         * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't
1863         access __olds beyond __oldlen.
1864
1865 2004-02-14  Paolo Carlini  <pcarlini@suse.de>
1866
1867         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make
1868         sure the exception is actually thrown.
1869         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
1870         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
1871         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
1872
1873 2004-02-14  Paolo Carlini  <pcarlini@suse.de>
1874
1875         PR libstdc++/13858
1876         * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
1877         In case of conversion errors, throw ios_failure; simplify.
1878         * testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
1879         * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
1880         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
1881         previously we didn't throw in case of conversion errors, instead
1882         just returned eof().
1883         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
1884         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
1885         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
1886
1887         * include/bits/fstream.tcc (basic_filebuf<>::overflow):
1888         Trivial simplification of a conditional.
1889
1890 2004-02-12  Paolo Carlini  <pcarlini@suse.de>
1891
1892         PR libstdc++/13731 (final part: writev)
1893         * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
1894         New, a wrapper around writev() handling partial writes.
1895         (__basic_file<char>::xwrite): Move to __gnu_internal and make
1896         static.
1897         (__basic_file<char>::xsputn): Update call.
1898         (__basic_file<char>::xsputn_2): Likewise.
1899         * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
1900         Don't declare, now static.
1901
1902 2004-02-11  Stefan Olsson  <stefan@xapa.se>
1903
1904         * docs/html/ext/mt_allocator.html: New.
1905
1906 2004-02-11  Benjamin Kosnik  <bkoz@redhat.com>
1907
1908         * docs/html/20_util/allocator.html: New file, consolidate
1909         allocator information here. Revamp.
1910         * docs/html/documentation.html: Change links.
1911         * docs/html/20_util/howto.html: Same.
1912         * docs/html/ext/howto.html: Same.
1913
1914 2004-02-11  Paolo Carlini  <pcarlini@suse.de>
1915
1916         PR libstdc++/13731 (first part: write)
1917         * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
1918         New, declare.
1919         * config/io/basic_file_stdio.cc (__basic_file<char>::xwrite):
1920         Define it: a wrapper around write() handling partial write.
1921         (__basic_file<char>::xsputn): Use it.
1922         (__basic_file<char>::xsputn_2): Likewise.
1923
1924 2004-02-11  Paolo Carlini  <pcarlini@suse.de>
1925             Petur Runolfsson  <peturr02@ru.is>
1926
1927         PR libstdc++/14078
1928         * include/std/std_istream.h (operator>>(__istream_type& (*)
1929         (__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
1930         operator>>(ios_base& (*)(ios_base&))): Declare inline.
1931         * include/std/std_ostream.h (operator<<(__ostream_type& (*)
1932         (__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
1933         operator<<(ios_base& (*) (ios_base&))): Likewise.
1934         * testsuite/performance/27_io/fmtflags_manipulators.cc: New.
1935
1936 2004-02-10  Loren J. Rittle  <ljrittle@acm.org>
1937
1938         PR libstdc++/14098
1939         * config/linker-map.gnu: Add typeinfo and typeinfo name for
1940         __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.
1941
1942         PR libstdc++/14097
1943         * config/linker-map.gnu: Add typeinfo and typeinfo name for
1944         __gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.
1945
1946 2004-02-09  Loren J. Rittle  <ljrittle@acm.org>
1947
1948         * include/ext/pool_allocator.h: Include c++config.h.
1949
1950 2004-02-09  Stefan Olsson  <stefan@xapa.se>
1951
1952         * include/ext/mt_allocator.h: thread_id is unused in non threaded
1953         applications and now has a ifdef to remove it completely on
1954         compilers without thread support. Include stdlib.h due to a
1955         compiler warning on getenv().
1956
1957 2004-02-09  Paul Brook  <paul@codesourcery.com>
1958
1959         * libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
1960
1961 2004-02-09  Paolo Carlini  <pcarlini@suse.de>
1962
1963         PR libstdc++/14071
1964         * src/locale_init.cc (locale::global(const locale&)): Use
1965         locale::name() in order to decide whether calling setlocale.
1966         * testsuite/22_locale/locale/global_locale_objects/14071.cc: New.
1967
1968         * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
1969         Avoid computing &= unnecessarily.
1970
1971 2004-02-09  James E Wilson  <wilson@specifixinc.com>
1972
1973         PR libstdc++/5625
1974         * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
1975         __builtin_extend_pointer.
1976
1977 2004-02-09  Paolo Carlini  <pcarlini@suse.de>
1978
1979         PR libstdc++/14072
1980         * include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
1981         Don't leave dangling pointers.
1982         * testsuite/27_io/basic_ios/imbue/14072.cc: New.
1983         * testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
1984         facet is needed in the final test.
1985
1986 2004-02-09  Bernardo Innocenti  <bernie@develer.com>
1987
1988         * crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
1989         * configure: Regenerate.
1990
1991 2004-02-08  Richard Henderson  <rth@redhat.com>
1992
1993         PR libstdc++/14026
1994         * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
1995         uncaughtExceptions during nested catch rethrow.
1996         * testsuite/18_support/14026.cc: New.
1997
1998 2004-02-08  Paolo Carlini  <pcarlini@suse.de>
1999
2000         * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
2001         When working in place remember to set the state to sharable
2002         (otherwise, _M_mutate does it).
2003
2004 2004-02-08  Bernardo Innocenti  <bernie@develer.com>
2005
2006         * include/bits/allocator.h, include/bits/basic_ios.h,
2007         include/bits/basic_ios.tcc, include/bits/basic_string.h,
2008         include/bits/basic_string.tcc, include/bits/boost_concept_check.h,
2009         include/bits/char_traits.h, include/bits/codecvt.h,
2010         include/bits/concurrence.h, include/bits/cpp_type_traits.h,
2011         include/bits/demangle.h, include/bits/deque.tcc,
2012         include/bits/fstream.tcc, include/bits/functexcept.h,
2013         include/bits/gslice.h, include/bits/gslice_array.h,
2014         include/bits/indirect_array.h, include/bits/ios_base.h,
2015         include/bits/istream.tcc, include/bits/list.tcc,
2016         include/bits/locale_classes.h, include/bits/locale_facets.h,
2017         include/bits/locale_facets.tcc, include/bits/localefwd.h,
2018         include/bits/mask_array.h, include/bits/ostream.tcc,
2019         include/bits/postypes.h, include/bits/slice_array.h,
2020         include/bits/sstream.tcc, include/bits/stl_algo.h,
2021         include/bits/stl_algobase.h, include/bits/stl_bvector.h,
2022         include/bits/stl_construct.h, include/bits/stl_deque.h,
2023         include/bits/stl_function.h, include/bits/stl_heap.h,
2024         include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
2025         include/bits/stl_list.h, include/bits/stl_map.h,
2026         include/bits/stl_multimap.h, include/bits/stl_multiset.h,
2027         include/bits/stl_numeric.h, include/bits/stl_pair.h,
2028         include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
2029         include/bits/stl_relops.h, include/bits/stl_set.h,
2030         include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
2031         include/bits/stl_threads.h, include/bits/stl_tree.h,
2032         include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
2033         include/bits/stream_iterator.h, include/bits/streambuf.tcc,
2034         include/bits/streambuf_iterator.h,include/bits/stringfwd.h,
2035         include/bits/type_traits.h, include/bits/valarray_after.h,
2036         include/bits/valarray_array.h, include/bits/valarray_array.tcc,
2037         include/bits/valarray_before.h, include/bits/vector.tcc: Remove
2038         trailing whitespace.
2039
2040 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
2041
2042         * include/bits/basic_string.h: Fix comment.
2043
2044 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
2045
2046         * include/bits/stl_construct.h: Wrap overlong lines, reformat
2047         according to the coding standards.
2048         * include/bits/stl_pair.h: Likewise.
2049         * include/bits/stl_raw_storage_iter.h: Likewise.
2050         * include/bits/stl_stack.h: Likewise.
2051         * include/bits/stl_uninitialized.h: Likewise.
2052         * include/bits/stream_iterator.h: Likewise.
2053         * include/bits/streambuf_iterator.h: Likewise.
2054         * include/bits/type_traits.h: Likewise.
2055
2056 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
2057
2058         * testsuite/27_io/basic_filebuf/open/char/9507.cc:
2059         Adjust timings.
2060
2061 2004-02-05  Loren J. Rittle  <ljrittle@acm.org>
2062
2063         * scripts/check_performance: Support PCH.
2064
2065         * scripts/check_performance (CXX): Add -DNOTHREAD.
2066         * testsuite/performance/20_util/allocator/insert.cc: Integrate
2067         threaded tests from insert_insert.cc.  Tweak iterations,
2068         remove special cases.
2069         * testsuite/performance/20_util/allocator/insert_insert.cc:
2070         Make all tests single-threaded. Tweak iterations.
2071         * testsuite/performance/20_util/allocator/map_thread.cc:
2072         Tweak iterations.
2073         * testsuite/performance/20_util/allocator/producer_consumer.cc:
2074         Likewise.
2075
2076 2004-02-05  Geoffrey Keating  <geoffk@apple.com>
2077
2078         PR 12179
2079         * .cvsignore: New.
2080         * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
2081         'gcc-lib'.  Add comment about poorly-named variables.
2082         * aclocal.m4: Regenerate.
2083         * configure: Regenerate.
2084
2085 2004-02-05  Paolo Carlini  <pcarlini@suse.de>
2086
2087         * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
2088         Thousands-sep are always optional; thousands-sep are not allowed
2089         after the decimal_point.
2090         * testsuite/22_locale/money_get/get/char/12.cc: New.
2091         * testsuite/22_locale/money_get/get/char/13.cc: New.
2092         * testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
2093         * testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
2094
2095         * testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
2096         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
2097         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
2098         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
2099         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
2100         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
2101         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
2102         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
2103
2104         * testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
2105         the standard.
2106         * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
2107
2108 2004-02-05  Richard Sandiford  <rsandifo@redhat.com>
2109
2110         * config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
2111         Define.
2112         * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
2113         it to decide whether FIONREAD should take an off_t or int argument.
2114
2115 2004-02-05  Paolo Carlini  <pcarlini@suse.de>
2116
2117         * include/bits/stl_function.h: Minor formatting changes.
2118
2119 2004-02-04  Zack Weinberg  <zack@codesourcery.com>
2120
2121         Revert previous change to config/abi/*/baseline_symbols.txt.
2122
2123 2004-02-04  Benjamin Kosnik  <bkoz@redhat.com>
2124             Zack Weinberg  <zack@codesourcery.com>
2125
2126         * config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
2127         New function.
2128         (__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
2129         (__basic_file<char>::_M_open_mode): Delete.
2130         * config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
2131
2132         * testsuite/27_io/basic_filebuf/close/char/9964.cc
2133         * testsuite/27_io/basic_filebuf/open/char/9507.cc:
2134         Correct flags to filebuf::open calls.
2135
2136         * config/abi/alpha-freebsd5/baseline_symbols.txt
2137         * config/abi/alpha-linux-gnu/baseline_symbols.txt
2138         * config/abi/hppa-linux-gnu/baseline_symbols.txt
2139         * config/abi/i386-freebsd4/baseline_symbols.txt
2140         * config/abi/i386-freebsd5/baseline_symbols.txt
2141         * config/abi/i486-linux-gnu/baseline_symbols.txt
2142         * config/abi/ia64-linux-gnu/baseline_symbols.txt
2143         * config/abi/mips-linux-gnu/baseline_symbols.txt
2144         * config/abi/sparc-freebsd5/baseline_symbols.txt
2145         * config/abi/sparc-linux-gnu/baseline_symbols.txt
2146         * config/abi/x86_64-linux-gnu/baseline_symbols.txt:
2147         Remove entry for __basic_file<char>::_M_open_mode.
2148
2149 2004-02-04  Loren J. Rittle  <ljrittle@acm.org>
2150
2151         * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
2152
2153 2004-02-04  Felix Yen  <fwy@alumni.brown.edu>
2154
2155         * testsuite/performance/20_util/producer_consumer.cc: New.
2156         * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
2157
2158 2004-02-04  Benjamin Kosnik  <bkoz@redhat.com>
2159
2160         * testsuite/performance/20_util/allocator.cc: Move to..
2161         * testsuite/performance/20_util/allocator/insert.cc: ...here.
2162         * testsuite/performance/20_util/allocator_thread.cc: Move to...
2163         * testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
2164         * testsuite/performance/20_util/allocator_map_thread.cc: Move to...
2165         * testsuite/performance/20_util/allocator/map_thread.cc: ...here.
2166
2167 2004-02-04  Jonathan Wakely  <redi@gcc.gnu.org>
2168
2169         * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
2170         * docs/html/faq/index.txt: Regenerate.
2171
2172 2004-02-04  Dhruv Matani  <dhruvbird@gmx.net>
2173
2174         * include/ext/debug_allocator.h: _M_extra now stands for the
2175         number of extra objects instead of the number of extra bytes.
2176         (debug_allocator::allocate): Adjust.
2177         (debug_allocator::deallocate): Adjust.
2178
2179         * include/ext/pool_allocator.h: Fix typo.
2180
2181 2004-02-03  Felix Yen  <fwy@alumni.brown.edu>
2182             Benjamin Kosnik  <bkoz@redhat.com>
2183
2184         * testsuite/performance/20_util/allocator.cc: Add map,
2185         deque, set tests.
2186         * testsuite/performance/20_util/allocator_thread.cc: Same.
2187
2188 2004-02-03  Paolo Carlini  <pcarlini@suse.de>
2189
2190         * include/bits/basic_string.h (insert(iterator)): Remove,
2191         non-standard and already scheduled for removal.
2192
2193 2004-02-03  Paolo Carlini  <pcarlini@suse.de>
2194
2195         * include/bits/stl_iterator_base_funcs.h: Minor formatting
2196         and indentation tweaks.
2197         * include/bits/stl_iterator_base_types.h: Likewise.
2198         * include/bits/stl_list.h: Likewise.
2199         * include/bits/stl_map.h: Likewise.
2200         * include/bits/stl_tempbuf.h: Likewise.
2201
2202 2004-02-02  Jerry Quinn  <jlquinn@optonline.net>
2203
2204         * include/bits/gslice.h, include/bits/gslice_array.h,
2205         include/bits/indirect_array.h, include/bits/mask_array.h,
2206         include/bits/slice_array.h, include/bits/stl_numeric.h,
2207         include/std/std_valarray.h:  Update copyright years.
2208
2209 2004-02-02  Jerry Quinn  <jlquinn@optonline.net>
2210
2211         * include/bits/gslice.h (gslice):  Document.
2212         * include/bits/gslice_array.h (gslice_array):  Document.
2213         * include/bits/indirect_array (indirect_array):  Document.
2214         * include/bits/mask_array (mask_array):  Document.
2215         * include/bits/slice_array.h (slice,slice_array):  Document.
2216         * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
2217         adjacent_difference):  Document
2218         * include/std/std_valarray.h (valarray):  Document.
2219
2220 2004-02-02  Benjamin Kosnik  <bkoz@redhat.com>
2221
2222         * docs/html/19_diagnostics/howto.html: Move verbose terminate
2223         documentation...
2224         * docs/html/18_support/howto.html: Here.
2225         * docs/html/documentation.html: Add reference here.
2226
2227 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
2228
2229         * config/locale/gnu/c++locale_internal.h: Remove prototypes
2230         of no longer used GLIBC thread locale functions.
2231
2232 2004-02-02  Eric Christopher  <echristo@redhat.com>
2233             Zack Weinberg  <zack@codesourcery.com>
2234
2235         * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
2236         -finput-charset.
2237         * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
2238         * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
2239         * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
2240         * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
2241         * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
2242         * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
2243         * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
2244         * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
2245         Ditto.
2246
2247 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
2248
2249         * include/bits/stl_function.h: Additional minor tweaks.
2250         * include/bits/stl_multiset.h: Likewise.
2251
2252         * include/bits/stl_queue.h: Minor tweaks.
2253
2254 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
2255
2256         PR libstdc++/13976 (continued)
2257         * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
2258         Make the second parameter unnamed, to void unused parameter
2259         warnings.
2260         * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
2261
2262 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
2263
2264         PR libstdc++/13976
2265         * include/ext/malloc_allocator.h (malloc_allocator::allocate):
2266         Make the second parameter unnamed, to void unused parameter
2267         warnings.
2268         * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
2269         * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
2270
2271 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
2272
2273         * include/bits/stl_algo.h: Additional minor tweaks.
2274         * include/bits/stl_map.h: Likewise.
2275         * include/bits/stl_multimap.h: Likewise.
2276         * include/bits/stl_multiset.h: Likewise.
2277         * include/bits/stl_set.h: Likewise.
2278         * include/bits/stl_tree.h: Likewise.
2279
2280 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
2281
2282         * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
2283         Remove, unused.
2284
2285 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
2286
2287         * include/bits/stl_function.h: Additional minor tweaks.
2288
2289 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
2290
2291         * include/bits/deque.tcc: Wrap overlong lines, constify
2292         a few variables, reformat according to the coding standards.
2293         * include/bits/list.tcc: Likewise.
2294         * include/bits/stl_deque.h: Likewise.
2295         * include/bits/stl_function.h: Likewise.
2296         * include/bits/stl_iterator.h: Likewise.
2297         * include/bits/stl_iterator_base_funcs.h: Likewise.
2298         * include/bits/stl_iterator_base_types.h: Likewise.
2299         * include/bits/stl_list.h: Likewise.
2300         * include/bits/stl_map.h: Likewise.
2301         * include/bits/stl_multimap.h: Likewise.
2302         * include/bits/stl_multiset.h: Likewise.
2303         * include/bits/stl_relops.h: Likewise.
2304         * include/bits/stl_set.h: Likewise.
2305
2306 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
2307
2308         * include/bits/stl_bvector.h: Wrap overlong lines, constify
2309         a few variables, reformat according to the coding standards.
2310         * include/bits/stl_tree.h: Likewise.
2311
2312 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
2313
2314         * include/bits/stl_algo.h: Minor additional reformat, add
2315         copyright year.
2316         * include/bits/stl_algobase.h: Add copyright year.
2317
2318 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
2319
2320         * include/bits/stl_algo.h: Wrap overlong lines, constify
2321         a few variables, reformat according to the coding standards.
2322         * include/bits/stl_algobase.h: Likewise.
2323         * include/bits/stl_heap.h: Likewise.
2324
2325 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
2326
2327         * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
2328
2329         * include/bits/basic_string.h: Fix two comments.
2330
2331 2004-01-31  Per Bothner  <per@bothner.com>
2332
2333         * include/ext/mt_allocator.h
2334         (__mt_alloc::_S_thread_freelist_mutex): Guard with
2335         __GTHREAD_MUTEX_INIT.
2336
2337 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
2338
2339         * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
2340
2341 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
2342
2343         * testsuite/21_strings/basic_string/cons/char/6.cc: New.
2344         * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
2345         * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
2346
2347 2004-01-30  Felix Yen  <fwy@alumni.brown.edu>
2348
2349         * testsuite/performance/20_util/allocator_thread.cc (do_loop):
2350         Don't use clear, but instead assign. Use insert.
2351
2352 2004-01-30  Benjamin Kosnik  <bkoz@redhat.com>
2353
2354         * src/demangle.cc: Add instantiations.
2355         * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
2356         * src/Makefile.in: Regenerate.
2357
2358 2004-01-30  David Edelsohn  <edelsohn@gnu.org>
2359
2360         * src/allocator.cc: Protect _S_get_thread_id() and
2361         _S_thread_key_destr() with #ifdef __GTHREADS.
2362
2363 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
2364
2365         Reshuffle performance testsuite.
2366         * testsuite/performance/allocator.cc, allocator_map_thread.cc,
2367         allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
2368         cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
2369         fstream_seek_write.cc, ifstream_extract_float.cc,
2370         ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
2371         list_create_fill_sort.cc, map_create_fill.cc,
2372         narrow_widen_char.cc, narrow_widen_wchar_t.cc,
2373         ofstream_insert_float.cc, ofstream_insert_int.cc,
2374         string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
2375         wchar_t_out.cc: Split into...
2376         * testsuite/performance/20_util/allocator.cc: New.
2377         * testsuite/performance/20_util/allocator_map_thread.cc: New.
2378         * testsuite/performance/20_util/allocator_thread.cc: New.
2379         * testsuite/performance/21_strings/string_append: New.
2380         * testsuite/performance/22_locale/is_wchar_t.cc: New.
2381         * testsuite/performance/22_locale/narrow_widen_char.cc: New.
2382         * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
2383         * testsuite/performance/22_locale/wchar_t_in.cc: New.
2384         * testsuite/performance/22_locale/wchar_t_length.cc: New.
2385         * testsuite/performance/22_locale/wchar_t_out.cc: New.
2386         * testsuite/performance/23_containers/container_benchmark.cc: New.
2387         * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
2388         * testsuite/performance/23_containers/map_create_fill.cc: New.
2389         * testsuite/performance/26_numerics/complex_norm.cc: New.
2390         * testsuite/performance/27_io/cout_insert_int.cc: New.
2391         * testsuite/performance/27_io/filebuf_copy.cc: New.
2392         * testsuite/performance/27_io/filebuf_sputc.cc: New.
2393         * testsuite/performance/27_io/fstream_seek_write.cc: New.
2394         * testsuite/performance/27_io/ifstream_extract_float.cc: New.
2395         * testsuite/performance/27_io/ifstream_extract_int.cc: New.
2396         * testsuite/performance/27_io/ifstream_getline.cc: New.
2397         * testsuite/performance/27_io/ofstream_insert_float.cc: New.
2398         * testsuite/performance/27_io/ofstream_insert_int.cc: New.
2399
2400 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
2401
2402         * include/bits/basic_string.tcc (_Rep::_S_create):
2403         Never allocate a string bigger than max_size(); always keep
2404         __capacity and __size in sync to avoid memory leaks at
2405         deallocation time.
2406
2407 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
2408
2409         * include/bits/basic_string.tcc (_S_construct(_InIterator,
2410         _InIterator, const _Alloc&, input_iterator_tag)): Simplify
2411         the double loop, streamline.
2412
2413         * include/bits/basic_string.tcc: Very minor tweaks.
2414
2415 2004-01-30  Loren J. Rittle  <ljrittle@acm.org>
2416
2417         * scripts/check_performance: Only compile with $THREAD_FLAG
2418         when test is marked to require it.  Allow multiple
2419         compilations/executions of marked tests.
2420         * testsuite/testsuite_performance.h (report_performance):
2421         Report dynamic thread support status.
2422         (report_header): Likewise.
2423         * testsuite/performance/allocator.cc: Stabilize iteration
2424         count.  Support more allocators.  Mark each allocator test to
2425         run and report independently.
2426         * testsuite/performance/allocator_map_thread.cc: Likewise.
2427         * testsuite/performance/allocator_thread.cc: Likewise.
2428
2429 2004-01-29  Stephen M. Webb  <stephen.webb@bregmasoft.com>
2430
2431         * config/local/generic/c_locale.h: Change ::malloc() to new char[].
2432         * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
2433         * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
2434         std::get_temporary_buffer() instead of duplicating its code.
2435         Update to C++STYLE conventions.
2436         * include/std/std_memory.h (get_temporary_buffer): Use ::operator
2437         new() instead of std::malloc().
2438         (return_temporary_buffer): Use ::operator delete() instead of
2439         std::free().
2440
2441 2004-01-29  Benjamin Kosnik  <bkoz@redhat.com>
2442
2443         * include/bits/allocator.h: Temporary switch to new_allocator as
2444         the default to unjam bootstraps.
2445
2446 2004-01-28  Benjamin Kosnik  <bkoz@redhat.com>
2447
2448         * include/Makefile.am (bits_headers): Remove allocator_traits.h.
2449         * include/Makefile.in: Regenerate.
2450         * include/bits/allocator_traits.h: Remove.
2451         * include/bits/allocator.h: Remove allocator_traits.h include, and
2452         relevant comments.
2453         (allocator): Empty base class, inherit from the underlying allocator.
2454         * src/allocator-inst.cc: Move __pool_alloc instantiation to...
2455         * src/allocator.cc: ...here. New. For the underlying allocators.
2456         Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
2457         * config/linker-map.gnu: Remove __pool_alloc bits.
2458         * src/Makefile.am (sources): Add allocator.cc.
2459         * src/Makefile.in: Regenerate.
2460         * testsuite/20_util/allocator/1.cc: Split second test into...
2461         * testsuite/20_util/allocator/8230.cc: ...this.
2462         * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
2463         typedef to use std::allocatore. Format.
2464         * include/ext/pool_allocator.h: Remove allocator_traits.h include,
2465         _Alloc_traits.
2466         * include/ext/mt_allocator.h (__gnu_cxx): Qualify
2467         __throw_bad_alloc calls. Don't include <memory>.
2468         * include/ext/malloc_allocator.h: Remove <memory> include.
2469         * include/ext/new_allocator.h (new_allocator): Same.
2470         * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
2471         declaration. Switch __alloc to _Alloc.
2472         * include/ext/hashtable.h: Remove __alloc.
2473         * include/backward/alloc.h: Only inject allocator, not
2474         implementation details.
2475
2476         * include/ext/mt_allocator.h: Replace free with delete.
2477
2478 2004-01-28  Benjamin Kosnik  <bkoz@redhat.com>
2479
2480         * src/globals_io.cc: Change to __gnu_internal namespace.
2481         * src/globals_locale.cc: Same.
2482         * src/locale_init.cc: Same.
2483         * src/ios_init.cc: Same.
2484
2485 2004-01-28  Stefan Olsson  <stefan@snon.net>
2486
2487         * include/ext/mt_allocator.h: Replaced all malloc() calls with
2488         operator new(). Added support for the env variable
2489         GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
2490         one in allocate() as well). Fix typos.
2491
2492 2004-01-28  Paolo Carlini  <pcarlini@suse.de>
2493
2494         * include/bits/basic_string.h (_S_create(size_t,
2495         const _Alloc&): Change signature to take two size_type
2496         arguments.
2497         * include/bits/basic_string.tcc (_S_construct(_InIterator,
2498         _InIterator, const _Alloc&, input_iterator_tag)): Update
2499         call, tweak a bit.
2500         (_S_construct(_InIterator, _InIterator, const _Alloc&,
2501         forward_iterator_tag)): Likewise.
2502         (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
2503         (_M_mutate(size_type, size_type, size_type)): Don't
2504         implement the exponential growth policy, demand it to
2505         _S_create, update call and simplify.
2506         (_M_clone(const _Alloc&, size_type)): Likewise.
2507         (_S_create(size_type, size_type, const _Alloc&)): Implement
2508         the growth policy, simplify otherwise.
2509
2510         * include/bits/basic_string.h (_Rep::operator[]): Tweak
2511         signature to take a size_type, consistently with the other
2512         members.
2513
2514 2004-01-27  Benjamin Kosnik  <bkoz@redhat.com>
2515
2516         * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
2517         delete declarations, add include and test variable.
2518
2519 2003-01-27  Jerry Quinn  <jlquinn@optonline.net>
2520
2521         * include/bits/codecvt.h, include/bits/locale_facets.h,
2522         include/bits/postypes.h, include/bits/stl_bvector.h,
2523         include/bits/stl_multiset.h, include/bits/stl_set.h,
2524         include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
2525         include/std/std_complex.h:  Document.
2526
2527 2004-01-27  Jerry Quinn  <jlquinn@optonline.net>
2528
2529         PR libstdc++/11584
2530         * include/bits/ios_base.h (ios_base::_M_grow_words):  Add
2531         iword/pword selector.
2532         (ios_base::iword, ios_base::pword):  Use it.
2533         * src/ios.cc (ios_base::_M_grow_words):  Clear _M_word_zero
2534         iword or pword member on alloc failure.
2535         * testsuite/27_io/ios_base/storage/11584.cc:  New test.
2536
2537 2004-01-27  Ulrich Weigand  <uweigand@de.ibm.com>
2538             PJ Darcy  <darcypj@us.ibm.com>
2539
2540         * configure.host: Add support for *-tpf.
2541         * crossconfig.m4: Likewise.
2542         * configure: Regenerate.
2543         * config/os/tpf: New directory.
2544         * config/os/tpf/os_defines.h: New file.
2545         * config/os/tpf/ctype_base.h: Likewise.
2546         * config/os/tpf/ctype_inline.h: Likewise.
2547         * config/os/tpf/ctype_noninline.h: Likewise.
2548
2549 2004-01-27  Paolo Carlini  <pcarlini@suse.de>
2550
2551         PR libstdc++/13884
2552         * include/bits/sstream.tcc: Guard use of extern template.
2553
2554 2004-01-27  Paolo Carlini  <pcarlini@suse.de>
2555
2556         * include/bits/basic_string.tcc
2557         (basic_string(const basic_string&, size_type, size_type),
2558         basic_string(const basic_string&, size_type, size_type,
2559         const _Alloc&)): Avoid unnecessarily constructing iterators.
2560
2561 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
2562
2563         * config/locale/generic/c_locale.cc: Fix throw messages
2564         to use the __N marker.
2565         * config/locale/gnu/c_locale.cc: Likewise.
2566         * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
2567         Likewise.
2568         * docs/html/17_intro/C++STYLE: Likewise.
2569         * include/bits/basic_ios.tcc: Likewise.
2570         * include/bits/fstream.tcc: Likewise.
2571         * include/bits/vector.tcc: Likewise.
2572         * include/ext/ropeimpl.h: Likewise.
2573         * include/std/std_bitset.h: Likewise.
2574         * src/ios.cc: Likewise.
2575         * src/locale.cc: Likewise.
2576         * src/localename.cc: Likewise.
2577
2578 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
2579
2580         * include/bits/basic_string.h (_M_replace_aux): Use the
2581         __N marker in throw message.
2582         * include/bits/basic_string.tcc (assign(const _CharT*,
2583         size_type), insert(size_type, const _CharT*, size_type),
2584         replace(size_type, size_type, const _CharT*, size_type),
2585         reserve, _Rep::_S_create, resize, _M_replace_dispatch):
2586         Likewise.
2587
2588         * include/bits/basic_string.h, include/bits/basic_string.tcc:
2589         Fold overlong lines, minor formatting changes.
2590
2591 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
2592
2593         * include/bits/basic_string.h (replace(iterator, iterator,
2594         const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
2595         (replace(iterator, iterator, const _CharT*)): Ditto.
2596         (replace(iterator, iterator, const _CharT*, size_type)):
2597         Add missing _GLIBCXX_DEBUG_PEDASSERT.
2598
2599 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
2600
2601         * include/bits/basic_string.tcc (replace(size_type,
2602         size_type, const _CharT*, size_type)): Implement optimized
2603         in-place algorithm for non-overlapping ranges.
2604         * testsuite/21_strings/basic_string/replace/char/6.cc: New.
2605         * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
2606
2607         * include/bits/basic_string.tcc (insert(size_type,
2608         const _CharT*, size_type)): Tweak slightly.
2609
2610 2004-01-26  Andreas Schwab  <schwab@suse.de>
2611
2612         * config/locale/gnu/monetary_members.cc: Restore locale before
2613         rethrowing exception.
2614
2615 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
2616
2617         * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
2618         Define inline here.
2619         * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
2620         Move inline.
2621
2622         * include/bits/basic_string.tcc: Very minor tweaks.
2623
2624 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
2625
2626         * testsuite/performance/string_append.cc: Increase number
2627         of iterations.
2628
2629 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
2630
2631         * include/bits/basic_string.h (erase(size_type, size_type),
2632         erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
2633         instead, thus avoiding redundant check for length_error.
2634
2635         * include/bits/basic_string.h: Tweak some comments.
2636
2637 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
2638
2639         * include/bits/basic_string.tcc (operator+(const _CharT*,
2640         const basic_string&)): No need to go through the append
2641         taking two iterators.
2642
2643 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
2644
2645         * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
2646         Revert last change to use std::min: machine language is worse.
2647         (find_last_of(const _CharT*, size_type, size_type)): Ditto.
2648         (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
2649         (find_last_not_of(_CharT, size_type)): Ditto.
2650
2651         * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
2652         size_type)): Discard the value returned by _M_check.
2653         (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
2654         (append(const basic_string&, size_type, size_type)): Ditto.
2655         (copy(_CharT*, size_type, size_type)): Ditto.
2656         (compare(size_type, size_type, const basic_string&)): Ditto.
2657         (compare(size_type, size_type, const basic_string&,
2658         size_type, size_type)): Ditto.
2659         (compare(size_type, size_type, const _CharT*)): Ditto.
2660         (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
2661
2662 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
2663
2664         * include/bits/basic_string.h (insert(size_type,
2665         const basic_string&, size_type, size_type)): Define inline here.
2666         * include/bits/basic_string.tcc (insert(size_type,
2667         const basic_string&, size_type, size_type)): Move inline.
2668
2669 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
2670
2671         * include/bits/basic_string.h (assign(const basic_string&,
2672         size_type, size_type)): Define inline here.
2673         (replace(size_type, size_type, const basic_string&,
2674         size_type, size_type)): Ditto.
2675         (_M_replace_dispatch(iterator, iterator, _InputIterator,
2676         _InputIterator, __false_type)): Only declare.
2677         (_M_replace(iterator, iterator, _InputIterator,
2678         _InputIterator)): Remove.
2679         * include/bits/basic_string.tcc (assign(const basic_string&,
2680         size_type, size_type)): Move inline.
2681         (replace(size_type, size_type, const basic_string&,
2682         size_type, size_type)): Ditto.
2683         (_M_replace_dispatch(iterator, iterator, _InputIterator,
2684         _InputIterator, __false_type)): Define, now does also what
2685         _M_replace did before.
2686         * src/string-inst.cc (_M_replace): Don't instantiate.
2687
2688         * include/bits/basic_string.tcc (find(const _CharT*,
2689         size_type, size_type)): Tidy.
2690         (rfind(_CharT, size_type)): Ditto.
2691         (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
2692         (find_first_not_of(_CharT, size_type)): Ditto.
2693         (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
2694         (find_last_not_of(_CharT, size_type)): Ditto.
2695
2696 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
2697
2698         PR libstdc++/13838
2699         * include/debug/bitset (operator|=): Fix typo.
2700         * testsuite/23_containers/bitset/operations/13838.cc: New.
2701
2702 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
2703
2704         * include/bits/basic_string.tcc (insert(size_type,
2705         const _CharT*, size_type __n)): Fix length_error check.
2706         (replace(size_type, size_type, const _CharT*, size_type):
2707         Ditto; call _M_replace_safe.
2708         (_M_replace_aux(size_type, size_type, size_type, _CharT):
2709         Fix length_error check.
2710         (_M_replace(iterator, iterator, _InputIterator,
2711         _InputIterator)): Ditto, tweak.
2712         (_M_replace_safe(size_type, size_type, const _CharT*,
2713         size_type)): Remove length_error check.
2714
2715         * include/bits/basic_string.tcc (append(const basic_string&),
2716         append(const basic_string&, size_type, size_type)): Tweak
2717         comment.
2718
2719         * include/bits/basic_string.tcc (copy(_CharT*, size_type,
2720         size_type)): If __n == 0 don't call traits::copy.
2721
2722 2004-01-23  Stefan Olsson  <stefan@snon.net>
2723
2724         * include/ext/mt_allocator.h: Reduce lock contention.
2725
2726 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
2727
2728         PR libstdc++/13831
2729         * include/bits/fstream.tcc (underflow): Remove unused
2730         variable.
2731         * include/bits/streambuf_iterator.h (equal): Ditto.
2732         * include/bits/locale_facets.h (_M_convert_from_char):
2733         Ditto.
2734
2735 2004-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2736
2737         PR c/13814
2738         * config/linker-map.gnu (nan): Delete.
2739         * libmath/mathconf.h (NAN, nan): Delete.
2740         * linkage.m4 (nan): Don't check for it.
2741         * libmath/nan.c: Delete file.
2742
2743         * config.h.in, configure: Regenerate.
2744
2745 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
2746
2747         * include/bits/basic_string.h (push_back(_CharT)):
2748         Call _M_replace_aux.
2749         (insert(size_type, const basic_string&)): Trivial tweak.
2750         (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
2751         (insert(iterator, _CharT)): Ditto.
2752         (erase(size_type, size_type)): Ditto.
2753         (erase(iterator)): Ditto.
2754         (erase(iterator, iterator)): Ditto.
2755         (replace(size_type, size_type, size_type, _CharT)): Ditto.
2756
2757 2004-01-23  Loren J. Rittle  <ljrittle@acm.org>
2758
2759         libstdc++/13823
2760         * testsuite/performance/allocator_map_thread.cc: New test.
2761
2762 2004-01-22  Paolo Carlini  <pcarlini@suse.de>
2763
2764         * include/bits/locale_facets.tcc
2765         (money_put::do_put(..., long double)): Use the basic_string
2766         constructor for char arrays, not that for C-strings, to pass
2767         __digits to do_put(..., const string_type&): __ws isn't
2768         null-terminated.
2769
2770 2004-01-22  Paolo Carlini  <pcarlini@suse.de>
2771
2772         * include/bits/basic_string.h (_M_replace_safe): Change
2773         signatures to take size_types and const _CharT*.
2774         (_M_replace_aux): Likewise, takes size_types instead of
2775         iterators.
2776         (append(size_type, _CharT)): Update call.
2777         (assign(size_type, _CharT)): Ditto.
2778         (replace(iterator, iterator, size_type, _CharT)): Ditto.
2779         (_M_replace_dispatch(iterator, iterator, _Integer,
2780         _Integer, __true_type)): Ditto.
2781         * include/bits/basic_string.tcc (assign(const _CharT*,
2782         size_type)): Ditto.
2783         (insert(size_type, const _CharT*, size_type)): Ditto.
2784         (replace(size_type, size_type, const _CharT*,
2785         size_type)): Ditto.
2786         (_M_replace(iterator, iterator, _InputIterator,
2787         _InputIterator)): Ditto.
2788         (append(const basic_string&)): Ditto.
2789         (append(const basic_string&, size_type, size_type): Ditto.
2790         (append(const _CharT*, size_type): Ditto.
2791         (_M_replace_safe, _M_replace_safe): Change definitions
2792         accordingly, simplify.
2793         * string-inst.cc (_M_replace_safe): Don't instantiate.
2794
2795 2004-01-21  Paolo Carlini  <pcarlini@suse.de>
2796
2797         * include/bits/basic_string.tcc (append(const basic_string&)):
2798         Revert previous change.
2799         (append(const basic_string&, size_type, size_type)): Revert
2800         previous change, use _M_check and _M_limit.
2801
2802 2004-01-21  Paolo Carlini  <pcarlini@suse.de>
2803
2804         * include/bits/basic_string.h (_M_check): Change to return
2805         a checked __pos and take an additional const char* argument.
2806         (_M_fold): Rename to _M_limit, change to return a size_type,
2807         corresponding to the __off limited to the actual length.
2808         (insert(size_type, size_type, _CharT)): Update call, call
2809         replace.
2810         (insert(iterator, _CharT)): Call replace(iterator, iterator,
2811         size_type, _CharT) instead.
2812         (erase(size_type, size_type)): Update calls.
2813         (replace(size_type, size_type, size_type, _CharT)): Ditto.
2814         (substr(size_type, size_type)): Use _M_check.
2815         * include/bits/basic_string.tcc (basic_string(const basic_string&,
2816         size_type, size_type)): Update calls.
2817         (basic_string(const basic_string&, size_type, size_type,
2818         const _Alloc&)): Ditto.
2819         (assign(const basic_string&, size_type, size_type)): Use the
2820         new _M_check and _M_limit.
2821         (insert(size_type, const basic_string&, size_type, size_type):
2822         Ditto.
2823         (insert(size_type, const _CharT*, size_type)): Ditto.
2824         (replace(size_type, size_type, const _CharT*, size_type): Ditto.
2825         (replace(size_type, size_type, const basic_string&,
2826         size_type, size_type)): Ditto.
2827         (append(const basic_string&)): Ditto.
2828         (append(const basic_string&, size_type, size_type)): Ditto.
2829         (copy(_CharT*, size_type, size_type)): Ditto.
2830         (compare(size_type, size_type, const basic_string&)): Ditto.
2831         (compare(size_type, size_type, const basic_string&,size_type,
2832         size_type)): Ditto.
2833         (compare(size_type, size_type, const _CharT*)): Ditto.
2834         (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
2835
2836 2004-01-19  Stefan Olsson  <stefan@snon.net>
2837
2838         * include/ext/mt_allocator.h: If a thread, when it dies, still has
2839         memory on it's freelist this memory is not returned to global
2840         list. Simplification of deallocate so that memory is always
2841         returned to the calling thread id's freelist instead of to
2842         global. Fix typos. Add volatile where appropriate.
2843
2844 2004-01-19  Loren J. Rittle  <ljrittle@acm.org>
2845
2846         * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
2847         * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test.  Like -2 but
2848         use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
2849
2850 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
2851
2852         * src/debug.cc: Make sure all the names are prefixed with
2853         double (or single) underscore.
2854
2855 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
2856
2857         * src/debug.cc: Trivial formatting change.
2858
2859 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
2860
2861         * include/bits/basic_string.tcc (_S_construct(size_type,
2862         _CharT, const _Alloc&)): Remove redundant try/catch.
2863         (_M_mutate(size_type, size_type, size_type)): Ditto.
2864         (_M_clone(const _Alloc&, size_type)): Ditto.
2865
2866 2004-01-18  Paolo Carlini  <pcarlini@suse.de>
2867
2868         * include/bits/basic_string.h (c_str()): Simplify, due to
2869         21.3.4 the internal representation is always kept null-terminated.
2870         * include/bits/basic_string.tcc (_M_clone): Null-terminate.
2871         * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
2872         * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
2873         Ditto.
2874
2875 2004-01-18  Paolo Carlini  <pcarlini@suse.de>
2876
2877         * include/bits/basic_string.h (append(size_type, _CharT)):
2878         Moved inline, just call _M_replace_aux, no source iterators at
2879         risk of being clobbered.
2880         (assign(size_type, _CharT)): Call directly _M_replace_aux.
2881         (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
2882         input_iterator_tag)): Remove fifth unused argument.
2883         (_M_replace_dispatch(iterator, iterator, _InputIterator,
2884         _InputIterator, __false_type)): Update call.
2885         * include/bits/basic_string.tcc (replace(size_type, size_type,
2886         const _CharT*, size_type)): Update call.
2887         (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
2888         throw string literal.
2889         (_M_replace_safe(iterator, iterator, _ForwardIterator,
2890         _ForwardIterator)): Likewise.
2891         (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
2892         input_iterator_tag)): Remove fifth unused argument.
2893         (append(size_type __n, _CharT __c)): Move inline.
2894         * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
2895         const C*, const C*, input_iterator_tag)): Remove fifth unused
2896         argument.
2897
2898 2004-01-16  Benjamin Kosnik  <bkoz@redhat.com>
2899
2900         * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
2901         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
2902