* sh.h (ALLOCATE_INITIAL_VALUE): Use return_address_pointer_rtx.
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob703fef9b3694c6ec5501668236e5c64a12061d74
1 2004-06-10  Aaron W. LaFramboise  <aaronraolete36@aaronwl.com>
3         * include/bits/istream.tcc (istream::ignore): Fix for -Wuninitialized.
5 2004-06-10  Jan van Dijk  <jan@etpmod.phys.tue.nl>
7         * include/std/std_complex.h (sin(const complex<_Tp>& __z)): Make
8         this function return a value.
10 2004-06-09  Paolo Carlini  <pcarlini@suse.de>
12         PR libstdc++/15775
13         * include/bits/stl_deque.h: Consistently with stl_set.h, define
14         pointer as allocator's pointer, likewise for reference,
15         const_pointer, and const_reference.
16         * include/bits/stl_list.h: Likewise.
17         * include/bits/stl_map.h: Likewise.
18         * include/bits/stl_multimap.h: Likewise.
19         * include/bits/stl_vector.h: Likewise.
21 2004-06-09  Benjamin Kosnik  <bkoz@redhat.com>
23         * crossconfig.m4: Remove signbit, signbitf, signbitl.   
24         * linkage.m4: Comment LIBMATHOBJS, tweak others.  AC_DEFINES for
25         builtin math functions instead of AC_DEFINE_UNQUOTED.
26         * configure: Regenerate.
27         
28 2004-06-08  Benjamin Kosnik  <bkoz@redhat.com>
30         * docs/doxygen/filter.sed: Rename _GLIBCXX_STD to std.
31         * docs/doxygen/mainpage.html: Remove links.
33 2004-06-08  Jason Merrill  <jason@redhat.com>
35         * config/linker-map.gnu: Use wildcards for
36         __basic_file::{xsgetn,xsputn,seekoff,xsputn_2}.
38 2004-06-08  Paolo Carlini  <pcarlini@suse.de>
40         * include/ext/pool_allocator.h: Convert to a global free-list,
41         as per the original SGI/HP design: move the implementation
42         details to struct __pool_base, from which __pool_alloc derives.
43         * src/allocator.cc: Instantiate __pool_base.
45 2004-06-07  Dhruv Matani  <dhruvbird@gmx.net>
46             Paolo Carlini  <pcarlini@suse.de>
48         * testsuite/testsuite_performance.h
49         (resource_counter::allocated_memory): Make it return the right
50         number of bytes requested by the allocators/application. This is
51         the sbrk+mmaped memory.
53 2004-06-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
55         * include/std/std_complex.h (log): Tidy.
57 2004-05-31  Benjamin Kosnik  <bkoz@redhat.com>
59         * config/linker-map.gnu (GLIBCXX_3.4.1): Add.
60         * testsuite/testsuite_abi.cc: Same.
61         * configure.ac (libtool_VERSION): Bump to 6:1:0.
62         * configure: Regenerate.
63         * aclocal.m4: Regenerate.
64         
65 2004-05-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
67         * include/std/std_complex.h (complex<_Tp>): Properly indent
68         to follow C++STYLE. 
69         (complex<>::__rep): New.
70         (__complex_abs): New.  Dispatch to built-ins.
71         (abs): Use them.
72         (__complex_arg): New. Dispatch to built-ins.
73         (arg): Use it.
74         (__complex_cos): New. Dispatch to built-ins.
75         (cos): Use it.
76         (__complex_cosh): New. Dispatch to built-ins.
77         (cosh): Use it.
78         (__complex_exp): New. Dispatch to built-ins.
79         (exp): Use it.
80         (__complex_log): New. Dispatch to built-ins.
81         (log): Use it.
82         (__complex_sin): New. Dispatch to built-ins.
83         (sin): Use it.
84         (__complex_sinh): New. Dispatch to built-ins.
85         (sinh): Use it.
86         (__complex_sqrt): New. Dispatch to built-ins.
87         (sqrt): Use it.
88         (__complex_tan): New. Dispatch to built-ins.
89         (tan): Use it.
90         (__complex_tanh): New. Dispatch to built-ins.
91         (tanh): Use it.
92         (__complex_pow): New. Dispatch to built-ins.
93         (pow): Use it.
95 2004-05-29  Richard B. Kreckel  <Richard.Kreckel@Framatome-ANP.com>
96             Benjamin Kosnik  <bkoz@redhat.com>
97         
98         PR libstdc++/14600
99         * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): New.
100         * include/ext/stdio_filebuf.h (stdio_filebuf::file): New.
101         * config/io/basic_file_stdio.cc (__basic_file::file): New.
102         * config/io/basic_file_stdio.h: Define.
104 2004-05-27  Benjamin Kosnik  <bkoz@redhat.com>
106         PR libstdc++/15675
107         * docs/html/documentation.html: Update doxygen links for 3.4.0.
109 2004-05-27  Jan Beulich  <jbeulich@novell.com>
111         * scripts/create_testsuite_files: Tweak.
113 2004-05-25  Benjamin Kosnik  <bkoz@redhat.com>
115         PR libstdc++/15489
116         * scripts/create_testsuite_files: Revert xtype change, add non-GNU
117         bits to do the same thing.
119 2004-05-24  Paolo Carlini  <pcarlini@suse.de>
121         * include/bits/istream.tcc (ignore): Correctly deal with
122         n == numeric_limits<streamsize>::max().
123         * testsuite/27_io/basic_istream/ignore/char/2.cc: New.
125         * include/bits/istream.tcc (basic_istream<>::getline): Prefer
126         '_M_gcount + 1 < __n' to '--__n; _M_gcount < __n', just in case
127         __n == numeric_limits<>::min().
129         * include/bits/istream.tcc: Minor tweaks.
131         * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
132         Tighten.
133         * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
134         Likewise.
135         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
136         Likewise.
137         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
138         Likewise.
139         * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
141 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
143         PR libstdc++/12854
144         Fixups for -Weffc++.    
145         * include/bits/basic_string.h (basic_string::operator=): Return
146         pointer to this instead of result of assign. Although redundant,
147         this doesn't impact resultant codegen.
148         
149         * include/bits/locale_facets.h (__numpunct_cache): Declare
150         assignment opxserator and copy constructor private.
151         (__timepunct_cache): Same.
152         (__moneypunct_cache): Same.
153         (collate): Use member initialization list for _M_c_locale_collate.
154         * config/locale/gnu/messages_members.h: Same.
155         * config/locale/gnu/time_members.h (__timepunct): Same. 
156         * src/codecvt.cc: Use member initialization list to initialize
157         _M_c_locale_codecvt.    
158         * src/ctype.cc: Same, with _M_c_locale_ctype and _M_narrow_ok.
159         * config/os/gnu-linux/ctype_noninline.h: Same.
160         * src/locale.cc (_Impl): Same.
161         * src/locale_init.cc: Same.
162         * src/localename.cc: Same.      
164         * include/bits/basic_ios.h (basic_ios): Complete member
165         initialization list.
166         * include/bits/istream.tcc (basic_istream::sentry): Same.
167         * include/bits/ostream.tcc (basic_ostream::sentry): Same.
168         * include/bits/fstream.tcc (basic_filebuf): Add _M_lock and
169         _M_pback to member initialization list.
170         * include/std/std_streambuf.h: Same.
171         * include/std/std_sstream.h: Same, for _M_mode.
172         * src/ios.cc (ios_base): Same.
173         
174         * include/ext/rope: Make derived classes match exception
176          specifications. Add copy constructors and assignment operators.
178         * include/debug/safe_base.h (_Safe_sequence_base): Declare copy
179         constructor and assignment operator protected.
180         (_Safe_iterator_base): Same.
181         * include/debug/formatter.h (_Error_formatter): Define copy
182         constructor and assignment operator.
184         * include/backward/strstream: Declare assignment operator and copy
185         constructor private.
187 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
189         * testsuite/testsuite_hooks.h (func_callback): Declare copy
190         constructor and assignment operator private.    
191         * testsuite/23_containers/deque/cons/clear_allocator.cc: Match
192         exception specifications of base class.
193         * testsuite/23_containers/list/cons/clear_allocator.cc: Same.
194         * testsuite/23_containers/vector/cons/clear_allocator.cc: Same.
195         * testsuite/23_containers/vector/bool/clear_allocator.cc: New.
196                 
197 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
199         * libsupc++/cxxabi.h: Remove duplicated and useless public and
200         private keywords in class declarations. Format. Use
201         stddef.h. Expose declarations to "C" compilation.
202         * libsupc++/tinfo.cc (__upcast_result): Add copy constructor and
203         assignment operator.
204         (__dyncast_result): Same.
205         * libsupc++/vec.cc (uncatch_exception): Same, use member
206         initialization list.
207                  
208 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
210         * testsuite/abi_check.cc: Add unistd.h.
212 2004-05-22  Paolo Carlini  <pcarlini@suse.de>
214         PR libstdc++/15565
215         * include/bits/locale_facets.tcc (__int_to_char(unsigned long),
216         __int_to_char(unsigned long long)): Showpos is not relevant
217         for unsigned types.
218         * testsuite/22_locale/num_put/put/char/15565.cc: New.
219         * testsuite/22_locale/num_put/put/wchar_t/15565.cc: New.
221         * testsuite/22_locale/num_put/put/wchar_t/1.cc: Use L for the fill
222         char.
223         * testsuite/22_locale/num_put/put/wchar_t/2.cc: Likewise.
224         * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
225         * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
226         * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
227         * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
228         * testsuite/22_locale/num_put/put/wchar_t/8.cc: Likewise.
230 2004-05-21  Matthias Klose  <doko@debian.org>
232         * docs/doxygen/run_doxygen:  Bump required version.
234 2004-05-21  Benjamin Kosnik  <bkoz@redhat.com>
236         * docs/html/abi.html (libgcc_s): Additions suggested by Matthias Klose.
237         * docs/doxygen/Intro.3: Subtractions suggested by Phil Edwards.
239 2004-05-21  Paolo Carlini  <pcarlini@suse.de>
241         * include/bits/istream.tcc (ignore): Remove redundant line.
242         (readsome): Tidy, closely following 27.6.1.3, p30.
244 2004-05-20  Paolo Carlini  <pcarlini@suse.de>
246         * include/bits/istream.tcc (operator>>(basic_istream<>&,
247         basic_string<>&)): Use a temporary buffer, thus avoiding
248         reallocation for common case.
249         * testsuite/21_strings/basic_string/inserters_extractors/char/11.cc:
250         New.
251         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
252         Likewise.
254         * include/bits/istream.tcc: Const-ification of a few variables.
256         * include/bits/ostream.tcc: Trivial formatting fixes and
257         const-ification of some variables.
259 2004-05-20  Benjamin Kosnik  <bkoz@redhat.com>
261         PR libstdc++/15123
262         PR libstdc++/13928
263         * docs/doxygen/Intro.3: Remove Allocators.3.
264         Add new extension headers, extension namespace list.
265         * docs/doxygen/run_doxygen (problematic): Remove Allocators.3
266         Rename GLIBCXXSTD names to std::. Rename __gnu_debug to
267         __gnu_debug::. Remove __policy_ renames.
268         * docs/doxygen/guide.html: Add dot note.
269         * docs/doxygen/stdheader.cc: Edit, add files.
270         * docs/doxygen/user.cfg.in: Regenerate with Doxygen 1.3.7.
271         
272 2004-05-18  Jonathan Wakely  <redi@gcc.gnu.org>
274         * include/ext/stdio_filebuf.h: Update comments to reflect PR 11691.
276 2004-05-18  Jan Beulich  <jbeulich@novell.com>
278         PR libstdc++/15489
279         * scripts/create_testsuite_files: Also find source files through
280           symbolic links.
282 2004-05-18  Jan Beulich  <jbeulich@novell.com>
284         PR libstdc++/15488
285         * testsuite/lib/libstdc++.exp: Make test files writable.
287 2004-05-18  Paolo Carlini  <pcarlini@suse.de>
289         * include/ext/mt_allocator.h:(__mt_alloc::allocate): Minor
290         tweaks.
292 2004-05-18  Dhruv Matani  <dhruvbird@gmx.net>
294         * include/ext/mt_allocator.h:(__mt_alloc::allocate): Re-write
295         allocation loop which removes blocks from the global free list
296         from O(N) to O(1) when the required blocks are <= the number
297         available.
299 2004-05-18  Jonathan Wakely  <redi@gcc.gnu.org>
301         * include/ext/enc_filebuf.h: Move concept-check macro to class scope.
303 2004-05-17  Benjamin Kosnik  <bkoz@redhat.com>
305         * testsuite/testsuite_hooks.h (__gnu_test::conversion): New class.
306         * testsuite/23_containers/deque/14340.cc: New.
307         * testsuite/23_containers/list/14340.cc: New.
308         * testsuite/23_containers/map/14340.cc: New.
309         * testsuite/23_containers/multimap/14340.cc: New.
310         * testsuite/23_containers/multiset/14340.cc: New.
311         * testsuite/23_containers/set/14340.cc: New.
312         * testsuite/23_containers/vector/14340.cc: New.
314 2004-05-17  Douglas Gregor   <gregod@cs.rpi.edu>
316         PR libstdc++/14340 
317         * include/debug/safe_iterator.h (_Safe_iterator converting 
318         constructor): Only allow declaration to instantiate when the 
319         incoming _Safe_iterator has exactly the right iterator type.
321 2004-05-17  Jonathan Wakely  <redi@gcc.gnu.org>
323         * include/bits/boost_concept_check.h: Fix old attribute syntax.
324         * testsuite/23_containers/map/modifiers/swap.cc: Define operator<
325         to pass concept-checks.
326         * testsuite/23_containers/multimap/modifiers/swap.cc: Same.
327         * testsuite/23_containers/set/modifiers/swap.cc: Same.
328         * testsuite/23_containers/multiset/modifiers/swap.cc: Same.
330 2004-05-16  Paolo Carlini  <pcarlini@suse.de>
332         * include/std/std_bitset.h: Minor formatting fixes.
334 2004-05-16  Paolo Carlini  <pcarlini@suse.de>
336         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
337         Consistently update __bin._M_free[0].
338         (__mt_alloc<>::allocate): When __bin._M_first[0] != NULL use
339         __bin._M_free[0] to simplify the while loop (i.e., the number
340         of iterations becomes known at the outset).
342 2004-05-15  Paolo Carlini  <pcarlini@suse.de>
344         * include/std/std_bitset.h: Trivial formatting fixes.
346 2004-05-14  Paolo Carlini  <pcarlini@suse.de>
347             Ivan Godard  <igodard@pacbell.net>
349         PR libstdc++/15361
350         * include/std/std_bitset.h (_Base_bitset<_Nw>::_M_do_find_next): Fix.
351         * testsuite/23_containers/bitset/ext/15361.cc: New.
353 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
355         PR libstdc++/15046
356         * crossconfig.m4: Add C99 math bits for linux crosses.
357         * configure: Regenerate.
358         
359 2004-05-13  Simon Marshall <simon.marshall@misys.com>
360             Benjamin Kosnik  <bkoz@redhat.com>
362         PR libstdc++/15090
363         * include/bits/locale_facets.h: Fix for -fno-for-scope.
364         * include/debug/safe_sequence.h: Same.
365         * include/debug/safe_iterator.tcc: Same.
366         * src/debug.cc: Same.
367         * src/locale.cc: Same.
368         * src/locale_init.cc: Same.
369         * src/localename.cc: Same.
370         * config/locale/gnu/ctype_members.cc: Same.
371         * config/locale/gnu/numeric_members.cc: Same.
372         * testsuite/testsuite_abi.cc: Same.
373         * testsuite/testsuite_hooks.cc: Same.
374         
375 2004-05-13  Jonathan Wakely  <redi@gcc.gnu.org>
376         
377         * docs/html/abi.html: Document effect of -fabi-version on value
378         of __GXX_ABI_VERSION, and that it's defined in c-cppbuiltin.c.
379         Fix markup.
381 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
383         PR libstdc++/15074      
384         * docs/html/faq/index.html: Update docs for libsupc++ usage.
386 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
388         PR libstdc++/15412
389         * include/bits/stl_threads.h (_GLIBCXX_mutex): Move to namespace
390         __gnu_internal.
391         (_GLIBCXX_mutex_address): Same.
392         (_GLIBCXX_once): Same.  
393         (_GLIBCXX_mutex_init): Same.
394         (_GLIBCXX_mutex_address_init): Same.
395         
396 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
397         
398         * docs/html/abi.html: New.
399         * docs/html/abi.txt: Remove.
400         * docs/html/documentation.html: Add link.
401         * testsuite/Makefile.am: Add files.
402         * testsuite/Makefile.in: Regenerated.
403         * testsuite/abi_check.cc: Move and modify code into...
404         * testsuite/testsuite_abi.cc: Add.
405         * testsuite/testsuite_abi.h: Add.
407         * docs/html/17_intro/TODO: Update.
408         * include/bits/stl_pair.h: Format.
409         
410 2004-05-06  Matthias Klose  <doko@debian.org>
412         * include/backward/iterator.h:  Add GPL copyright info,
413         with exception clause.
414         * include/bits/boost_concept_check.h: Likewise.
415         * include
416         * libsupc++/tinfo.h: Likewise.
417         * po/string_literals.cc: Likewise.
418         
419 2004-05-03  Andreas Tobler  <a.tobler@schweiz.ch>
421         * acinclude.m4: Replace -W with more speaking -Wextra.
422         * configure: Rebuilt.
424 2004-05-03  Paolo Carlini  <pcarlini@suse.de>
426         Optimize locale::_M_impl->_M_names for the most common cases:
427         !_M_names[0] means unnamed; !_M_names[1] means all the categories
428         the same name (_M_names[0] && _M_names[1] means that the full set
429         of _M_names must be processed, the general case).
430         * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name):
431         Tweak, saving work when !_M_names[1].
432         (locale::locale(const locale&, _Facet*): Simplify: now just setting
433         _M_names[0] = 0 means unnamed.
434         * src/locale.cc (locale::operator==): Deal first with the common,
435         easy cases, otherwise fall back to locale::name().
436         (locale::name()): Tweak, if !_M_names[0] just return "*".
437         (locale::_Impl::_Impl(const _Impl&, size_t): Tweak, early stop
438         copying __imp._M_names if !__imp._M_names[0] or !__imp._M_names[1].
439         * src/locale_init.cc (locale::_Impl::_Impl(size_t)): Tweak.
440         * src/localename.cc (locale::_Impl::_Impl(const char*, size_t):
441         Simplify when !std::strchr, just updating _M_names[0]; clean up.
442         (locale::_Impl::_M_replace_categories): When !_M_names[1] prepare
443         for the general case (full set of names), then do the usual work;
444         clean up.
446         * src/locale.cc (locale::name()): Reserve space in __ret.
447         * src/locale_init.cc (locale::global(const locale&)): Save
448         the name in a temporary.
449         * src/localename.cc (locale::locale(const char*)): Reserve space
450         in __str.
452 2004-04-29  Paolo Carlini  <pcarlini@suse.de>
454         * src/locale.cc (locale::operator==): Always avoid constructing
455         locale::name(), directly compare pairs of _M_names.
457 2004-04-26  Paolo Carlini  <pcarlini@suse.de>
459         * include/bits/istream.tcc: Fix comment.
461 2004-04-26  Paolo Carlini  <pcarlini@suse.de>
463         * include/bits/stl_vector.h: Trivial formatting fixes.
464         * include/bits/vector.tcc: Likewise.
466 2004-04-25  Paolo Carlini  <pcarlini@suse.de>
468         PR libstdc++/15002 (continued again)
469         * include/bits/istream.tcc (getline(basic_istream<>&,
470         basic_string<>&, _CharT)): Use a temporary buffer, thus
471         avoiding reallocation for common case.
473         * include/bits/basic_string.tcc (_S_construct(_InIterator,
474         _InIterator, const _Alloc&, input_iterator_tag)): Tweak size
475         of temporary buffer to a power of two.
477         * testsuite/27_io/basic_istream/getline/char/4.cc: Add comment.
479 2004-04-25  Paolo Carlini  <pcarlini@suse.de>
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.
487 2004-04-24  Paolo Carlini  <pcarlini@suse.de>
488             Petur Runolfsson  <peturr02@ru.is>
490         PR libstdc++/15002 (continued)
491         * include/bits/istream.tcc (basic_istream<>::getline(char_type*,
492         streamsize, char_type)): Use traits::find/copy in a loop to speed
493         up greatly the function in the common case (I/O buffer size >> 1).
495 2004-04-24  Paolo Carlini  <pcarlini@suse.de>
497         * testsuite/27_io/basic_istream/getline/char/4.cc: New. 
499         * include/bits/istream.tcc (getline(basic_istream<>&,
500         basic_string<>&, _CharT)): Change to use sgetc()/snextc() instead
501         of sbumpc(), consistently with the other functions, thus also
502         dealing correctly with the case of exceeded string::max_size().
504 2004-04-24  Matthias Klose  <doko@debian.org>
506         Jonathan Wakely  <cow@compsoc.man.ac.uk>
507         * docs/html/configopts.html: Fix reference to allocator config option.
509 2004-04-23  Andrew Pinski  <pinskia@physics.uc.edu>
511         * linkage.m4 (GLIBCXX_CHECK_MATH_SUPPORT): Check for libmx also.
512         * configure: Regenerate.
514 2004-04-23  Daniel Jacobowitz  <drow@mvista.com>
516         PR libstdc++/15047, libstdc++/11610
517         * testsuite/lib/libstdc++.exp (v3-copy-files): Use remote_download.
518         (libstdc++_init): Don't pass outdir to v3-copy-files.
520 2004-04-21  Paolo Carlini  <pcarlini@suse.de>
522         * include/bits/deque.tcc: Trivial formatting fixes.
523         * include/bits/stl_deque.h: Likewise.
524         * include/bits/stl_list.h: Likewise.
525         * include/bits/stl_tree.h: Likewise.
527 2004-04-21  Paolo Carlini  <pcarlini@suse.de>
528             Andrew Pinski  <pinskia@physics.uc.edu>
530         * include/bits/basic_string.tcc (_M_mutate): Don't compute
531         __src unnecessarily.
533 2004-04-19  Benjamin Kosnik  <bkoz@redhat.com>
535         * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc: 
536         Clarify assertion, set test variable to false before assert.
537         * testsuite/27_io/basic_istringstream/str/char/1.cc: Same.
538         * testsuite/27_io/basic_stringstream/str/char/1.cc: Same.
539         * testsuite/27_io/ios_base/storage/2.cc: Same.
540         
541         * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Fix
542         function returns.
543         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Same.
544         * testsuite/27_io/fpos/14320-3.cc: Same.
545         
546         * testsuite/27_io/basic_filebuf/2.cc: Instantiate in namespace std.
547         * testsuite/27_io/fpos/1.cc: Same.
548         * testsuite/27_io/basic_stringstream/2.cc: Same.
549         * testsuite/27_io/basic_stringbuf/4.cc: Same.
550         * testsuite/27_io/basic_stringbuf/1.cc: Same.
551         * testsuite/27_io/basic_stringbuf/2.cc: Same.
552         * testsuite/27_io/basic_streambuf/2.cc: Same.
553         * testsuite/27_io/basic_ostringstream/2.cc: Same.
554         * testsuite/27_io/basic_ostream/2.cc: Same.
555         * testsuite/27_io/basic_ofstream/2.cc: Same.
556         * testsuite/27_io/basic_istringstream/2.cc: Same.
557         * testsuite/27_io/basic_istream/2.cc: Same.
558         * testsuite/27_io/basic_iostream/2.cc: Same.
559         * testsuite/27_io/basic_ios/2.cc: Same.
560         * testsuite/27_io/basic_ifstream/2.cc: Same.
561         * testsuite/27_io/basic_fstream/2.cc: Same.
562         * testsuite/ext/stdio_filebuf/char/1.cc: Same, in namespace __gnu_cxx.
564         * testsuite/21_strings/basic_string/capacity/1.cc: Don't compare
565         unsigned against zero.
566         * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Same.
567         * testsuite/21_strings/basic_string/capacity/char/1.cc: Same.
569         * testsuite/18_support/new_delete_placement.cc: Initialize
570         variables before first use.
571         * testsuite/21_strings/char_traits/requirements/wchar_t/1.cc: Same.
572         * testsuite/21_strings/char_traits/requirements/char/1.cc: Same.
573         * testsuite/21_strings/char_traits/requirements/short/1.cc: Same.
574         * testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc: 
575         Same.
576         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_badbit_throw.cc: Same.
577         * testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc: 
578         Same.
579         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_failbit_throw.cc: Same.
580         * testsuite/27_io/types/2.cc: Same.
582         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Fix temporary
583         file name.      
584         * testsuite/27_io/fpos/14775.cc: Same.
585         
586 2004-04-19  Paolo Carlini  <pcarlini@suse.de>
588         PR libstdc++/15002 (partial)
589         * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
590         Special case __n2 == 1, not calling traits_type::assign/copy. 
592 2004-04-17  Benjamin Kosnik  <bkoz@redhat.com>
594         * include/bits/stl_bvector.h: Use _M_impl._M_start.
595         
596 2004-04-16  Benjamin Kosnik  <bkoz@redhat.com>
597         
598         * include/bits/c++config (_GLIBCXX_STD): New.
599         * src/list.cc: Use it.
600         * include/std/std_bitset.h: Same.
601         * include/bits/vector.tcc: Same.
602         * include/bits/stl_set.h: Same.
603         * include/bits/stl_multiset.h: Same.
604         * include/bits/stl_multimap.h: Same.
605         * include/bits/stl_map.h: Same.
606         * include/bits/stl_list.h: Same.
607         * include/bits/stl_vector.h: Same.
608         * include/bits/stl_bvector.h: Same.
609         * include/bits/stl_deque.h: Same.
610         * include/bits/deque.tcc: Same.
611         * include/bits/list.tcc: Same.
612         * include/debug/vector: Same.
613         * include/debug/set.h: Same.
614         * include/debug/multiset.h: Same.
615         * include/debug/multimap.h: Same.
616         * include/debug/map.h: Same.
617         * include/debug/list: Same.
618         * include/debug/deque: Same.
619         * include/debug/bitset: Same.   
620         * include/debug/formatter.h (__gnu_debug): Remove using directive.
621         Add using declaration for std::type_info.
622         * include/debug/safe_iterator.h: Add using declaration for
623         std::iterator_traits and std::pair.
624         * src/debug_list.cc: New.
625         * src/Makefile.am: Add debug_list.cc.
626         * src/Makefile.in: Regenerate.
627         * config/linker-map.gnu: Add _List_node_base exports for std and
628         __gnu_norm.
630         * include/bits/stl_bvector.h (_Bvector_base): Use _Bvector_impl
631         idiom that other containers use.
632         * testsuite/23_containers/vector/bool/clear_allocator.cc: New.
633                         
634 2004-04-16  Paolo Carlini  <pcarlini@suse.de>
636         PR libstdc++/14975
637         * include/bits/fstream.tcc (basic_filebuf::imbue): Zero _M_codecvt
638         in case of error.
639         * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: New.
640         * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: New.
642 2004-04-16  Paolo Carlini  <pcarlini@suse.de>
644         * acconfig.h: Remove _GLIBCXX_USE_LONG_DOUBLE entry, not
645         used anymore.
646         * config.h.in: Regenerate.
648 2004-04-16  Paolo Carlini  <pcarlini@suse.de>
650         * config/locale/generic/monetary_members.cc
651         (moneypunct<wchar_t>::_M_initialize_moneypunct): Avoid calling
652         btowc unnecessarily, just cast to wchar_t (the concerned chars
653         all belong to the basic character set).
654         * config/locale/generic/numeric_members.cc
655         (numpunct<wchar_t>::_M_initialize_numpunct): Likewise.
656         * config/locale/gnu/monetary_members.cc
657         (moneypunct<wchar_t>::_M_initialize_moneypunct): Likewise.
658         * config/locale/gnu/numeric_members.cc
659         (numpunct<wchar_t>::_M_initialize_numpunct): Likewise.
661 2004-04-15  Paolo Carlini  <pcarlini@suse.de>
663         * src/locale.cc (locale::operator==): When _M_impl == __rhs._M_impl
664         avoid constructing unnecessarily this->name().
666 2004-04-14  Zack Weinberg  <zack@codesourcery.com>
668         * testsuite/Makefile.am: Add definition of AM_CXXFLAGS.
669         Change definition of CXX to use $(shell) instead of backticks.
670         * testsuite/Makefile.in: Regenerate.
672 2004-04-12  Dhruv Matani  <dhruvbird@gmx.net>
674         * testsuite/performance/20_util/allocator/list_sort_search.cc:
675         Minor formatting fixes.
676         * testsuite/performance/20_util/allocator/map_mt_find.cc:
677         Likewise.
679 2004-04-12  Paolo Carlini <pcarlini@suse.de>
681         * config/locale/gnu/numeric_members.cc
682         (numpunct<wchar_t>::_M_initialize_numpunct): No need to wrap
683         in __uselocale, since btowc is called for chars belonging to
684         the basic character set.
686 2004-04-09  Paolo Carlini  <pcarlini@suse.de>
688         * testsuite/22_locale/messages/members/char/1.cc: Remove junk.
689         * testsuite/22_locale/messages/members/char/2.cc: Ditto.
690         * testsuite/22_locale/messages/members/char/3.cc: Ditto.
691         * testsuite/22_locale/num_get/get/char/1.cc: Ditto.
692         * testsuite/22_locale/num_get/get/char/2.cc: Ditto.
693         * testsuite/22_locale/num_get/get/char/3.cc: Ditto.
694         * testsuite/22_locale/num_get/get/wchar_t/1.cc: Ditto.
695         * testsuite/22_locale/num_get/get/wchar_t/2.cc: Ditto.
696         * testsuite/22_locale/num_get/get/wchar_t/3.cc: Ditto.
697         * testsuite/22_locale/num_put/put/char/1.cc: Ditto.
698         * testsuite/22_locale/num_put/put/char/2.cc: Ditto.
699         * testsuite/22_locale/num_put/put/char/3.cc: Ditto.
700         * testsuite/22_locale/num_put/put/wchar_t/1.cc: Ditto.
701         * testsuite/22_locale/num_put/put/wchar_t/2.cc: Ditto.
702         * testsuite/22_locale/num_put/put/wchar_t/3.cc: Ditto.
703         * testsuite/22_locale/numpunct/members/char/1.cc: Ditto.
704         * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Ditto.
706 2004-04-07  Paolo Carlini  <pcarlini@suse.de>
708         * config/locale/generic/time_members.cc
709         (__timepunct<char>::_M_initialize_timepunct,
710         __timepunct<wchar_t>::_M_initialize_timepunct): the correct
711         _M_amonth07 in the "C" locale is "Jul" and L"Jul", respectively.
712         * config/locale/gnu/time_members.cc
713         (__timepunct<char>::_M_initialize_timepunct,
714         __timepunct<wchar_t>::_M_initialize_timepunct): Ditto.
715         * testsuite/22_locale/time_get/get_monthname/char/4.cc: New.
716         * testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc: New.
718         * testsuite/22_locale/time_get/date_order/char/1.cc: Remove junk.
719         * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Ditto.
720         * testsuite/22_locale/time_get/get_date/char/1.cc: Ditto.
721         * testsuite/22_locale/time_get/get_date/char/2.cc: Ditto.
722         * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Ditto.
723         * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Ditto.
724         * testsuite/22_locale/time_get/get_monthname/char/1.cc: Ditto.
725         * testsuite/22_locale/time_get/get_monthname/char/2.cc: Ditto.
726         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Ditto.
727         * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Ditto.
728         * testsuite/22_locale/time_get/get_time/char/1.cc: Ditto.
729         * testsuite/22_locale/time_get/get_time/char/2.cc: Ditto.
730         * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Ditto.
731         * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Ditto.
732         * testsuite/22_locale/time_get/get_weekday/char/1.cc: Ditto.
733         * testsuite/22_locale/time_get/get_weekday/char/2.cc: Ditto.
734         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Ditto.
735         * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Ditto.
736         * testsuite/22_locale/time_get/get_year/char/1.cc: Ditto.
737         * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Ditto.
738         * testsuite/22_locale/time_put/put/char/1.cc: Ditto.
739         * testsuite/22_locale/time_put/put/char/2.cc: Ditto.
740         * testsuite/22_locale/time_put/put/char/3.cc: Ditto.
741         * testsuite/22_locale/time_put/put/char/4.cc: Ditto.
742         * testsuite/22_locale/time_put/put/char/5.cc: Ditto.
743         * testsuite/22_locale/time_put/put/char/6.cc: Ditto.
744         * testsuite/22_locale/time_put/put/char/7.cc: Ditto.
745         * testsuite/22_locale/time_put/put/char/8.cc: Ditto.
746         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Ditto.
747         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Ditto.
748         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Ditto.
749         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Ditto.
750         * testsuite/22_locale/time_put/put/wchar_t/5.cc: Ditto.
751         * testsuite/22_locale/time_put/put/wchar_t/6.cc: Ditto.
752         * testsuite/22_locale/time_put/put/wchar_t/7.cc: Ditto.
753         * testsuite/22_locale/time_put/put/wchar_t/8.cc: Ditto.
755         * testsuite/22_locale/time_put/put/char/9780-1.cc: Fix typos.
757 2004-04-07  Paolo Carlini  <pcarlini@suse.de>
759         * config/locale/gnu/monetary_members.cc
760         (moneypunct<wchar_t>::_M_initialize_moneypunct): Prefer
761         _NL_MONETARY_DECIMAL_POINT_WC, _NL_MONETARY_THOUSANDS_SEP_WC,
762         and __MON_GROUPING to _NL_NUMERIC_DECIMAL_POINT_WC,
763         _NL_NUMERIC_THOUSANDS_SEP_WC, and GROUPING.
764         * config/locale/gnu/numeric_members.cc
765         (numpunct<char>::_M_initialize_numpunct): Prefer DECIMAL_POINT
766         and THOUSANDS_SEP to the deprecated RADIXCHAR and THOUSEP.
768 2004-04-06  Benjamin Kosnik  <bkoz@redhat.com>
770         Fixups for EDG front end.
771         * include/ext/rope: Instead of non-existent function
772         _Data_allocate, use allocator's allocate. Use this.
773         (namespace _Rope_constants): Move _S_max_rope_depth, and _Tag
774         enumerations from _Rope_RopeRep here.
775         * include/ext/ropeimpl.h: Same.
776         * src/ext-inst.cc (_S_min_len): Fix up definition.
778         * config/locale/gnu/ctype_members.cc: Qualify base class members
779         with this.
780         * config/locale/generic/ctype_members.cc: Same.
781         * config/locale/gnu/messages_members.h: Same.
782         * config/locale/generic/messages_members.h: Same.
783         * src/ctype.cc: Same.
784         * include/bits/codecvt.h: Same.
786         * include/bits/boost_concept_check.h: Declare.
787         (__error_type_must_be_an_unsigned_integer_type): Remove this.
788         (__error_type_must_be_an_integer_type): Remove this.
789         (__error_type_must_be_a_signed_integer_type): Remove this.
791         * config/io/basic_file_stdio.cc (__basic_file::sys_open): Remove cast.
793         * libsupc++/eh_alloc.cc (__cxa_free_exception): Add exception
794         specification to definition.
795         (__cxa_allocate_exception): Same.
796         * libsupc++/eh_catch.cc (__cxa_begin_catch): Same.
797         * libsupc++/eh_globals.cc (__cxa_get_globals_fast): Same.
798         (__cxa_get_globals): Same.
800         * libsupc++/del_op.cc: Add comment about freestanding.
802 2004-04-05  Paolo Carlini  <pcarlini@suse.de>
804         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
805         The critical section is actually very small, only two assignments.
807 2004-04-04  Paolo Carlini  <pcarlini@suse.de>
808             Petur Runolfsson  <peturr02@ru.is>
810         * testsuite/performance/27_io/filebuf_sputn_unbuf.cc: New,
811         adapted from libstdc++/11378.
813 2004-04-03  Paolo Carlini  <pcarlini@suse.de>
815         * include/ext/mt_allocator.h (__mt_alloc<>::allocate): Factor out
816         some duplicated code.
817         (__mt_alloc<>::_Bin_record): Spare the space of _M_free and _M_used
818         in the single threaded case.
819         * testsuite/performance/20_util/allocator/list_sort_search.cc:
820         Reorder and renumber the tests consistently with the other testfiles.
821         * testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
822         * testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
823         * testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
825 2004-04-02  Paolo Carlini  <pcarlini@suse.de>
827         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
828         Rearrange arithmetic to avoid computing two divisions at
829         each deallocation.
831 2004-04-01  Paolo Carlini  <pcarlini@suse.de>
833         * include/ext/mt_allocator.h (__mt_alloc<>::_S_initialize):
834         Streamline the second half, wrapping it in a single
835         '#ifdef __GTHREADS if (__gthread_active_p())' and avoiding
836         conditionals inside loops.
838 2004-04-01  Paolo Carlini  <pcarlini@suse.de>
840         PR libstdc++/14775
841         * acconfig.h: Rename _GLIBCXX_MEM_LIMITS to _GLIBCXX_RES_LIMITS.
842         * acinclude.m4 (GLIBCXX_CHECK_SETRLIMIT): Call
843         GLIBCXX_CHECK_SETRLIMIT_ancilliary for FSIZE too, adjust define
844         to _GLIBCXX_RES_LIMITS.
845         (GLIBCXX_CHECK_SETRLIMIT_ancilliary): Rename HAVE_MEMLIMIT_* to
846         HAVE_LIMIT_*.
847         * testsuite/testsuite_hooks.h: Declare set_file_limit.
848         * testsuite/testsuite_hooks.cc: Define it, using getrlimit
849         and setrlimit(RLIMIT_FSIZE).
850         * testsuite/27_io/fpos/14775.cc: New.
851         * config.h.in: Regenerate.
852         * configure: Likewise.
854 2004-03-31  Paolo Carlini  <pcarlini@suse.de>
856         * config/locale/generic/c_locale.cc (__convert_to_v(long double&)):
857         In v3 uses of sscanf, the special floating-point numbers INF,
858         INFINITY, etc., cannot occur in input, therefore, if the latter
859         is too large, ERANGE is always stored in errno, no need of finitel.
861 2004-03-30  Benjamin Kosnik  <bkoz@redhat.com>
863         PR libstdc++/14783
864         * include/bits/stl_tree.h: Adjust initialization list order.
866 2004-03-29  Loren J. Rittle  <ljrittle@acm.org>
868         * testsuite/thread/pthread7-rope.cc: Update comment to reflect test.
870 2004-03-29  Paolo Carlini  <pcarlini@suse.de>
872         * testsuite/thread/pthread7-rope.cc: Fix, unpredictably, depending
873         on allocator behavior, the memory pointed by data2 may well be not
874         trashed.
876 2004-03-28  Chavdar Botev  <cbotev@yahoo.com>
878         PR libstdc++/14245
879         * include/bits/basic_string.tcc
880         (basic_string::basic_string(const basic_string&)): Pass to
881         _Rep::_M_grab the actual allocator of the string being constructed
882         not the default constructed one.
884 2004-03-27  Benjamin Kosnik  <bkoz@redhat.com>
886         libstdc++ PR/13598
887         * config/locale/ieee_1003.1-2001/codecvt_specializations.h
888         (__enc_traits::_M_destroy): New.
889         (__enc_traits::~__enc_traits): Use it.
890         (__enc_traits::operator=): Use _M_destroy, _M_init.
891         (__enc_traits::__enc_traits): Same.
893 2004-03-27  Petur Runolfsson  <peturr02@ru.is>
895         * testsuite/ext/enc_filebuf/char/13598.cc: New.
897 2004-03-27  Paolo Carlini  <pcarlini@suse.de>
899         * include/ext/mt_allocator.h: Uglify consistently names of
900         variables, members and classes; tidy.
902 2004-03-27  Dhruv Matani  <dhruvbird@gmx.net>
904         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
905         Deallocation loop rewrote.
907 2004-03-26  Paolo Carlini  <pcarlini@suse.de>
909         * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
910         __mt_alloc<>::deallocate): Protect two instances of
911         block->thread_id with __GTHREADS.
913 2004-03-25  Gawain Bolton  <gp.bolton@computer.org>
915         * include/bits/stl_tree.h (_Rb_tree_impl): Add _Node_allocator
916         default argument in constructors.
917         (_Rb_tree::_M_empty_initialize): Remove.
919 2004-03-25  Benjamin Kosnik  <bkoz@redhat.com>
921         * testsuite/23_containers/map/operators/1_neg.cc: Adjust line numbers.
922         * testsuite/23_containers/set/operators/1_neg.cc: Same.
924 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
926         * include/bits/cpp_type_traits.h: Changed __is_pod
927         completely. Now, it does not use any of the previous type_traits
928         to detect the pod types, and it also detects function pointers as
929         POD types.
931         * include/bits/stl_tree.h: Introduced a new class _Rb_tree_impl,
932         which encapsulates the internal implementation of an rb_tree. Made
933         the allocator a base class of this class instead of the rb_tree,
934         which was not conforming. This _Rb_tree_impl class is also
935         specialized on whether the _Compare parameter is a POD type or
936         not. If so, then it maintains the comparison function as a data
937         member, otherwise it makes the _Compare parameter a base class of
938         itself. Also, _M_key_compare is now a function instead of a data
939         member, so that the above trick can work properly. Delegated the
940         initialization of the other data members to this newly created
941         class. Also, now other member functions of rb_tree must refer to
942         _M_key_compare as _M_impl._M_key_compare(). The other data members
943         (*) can be referenced to as _M_impl.(*), where
944         (*) includes _M_header, and _M_node_count.
946 2004-03-25  Paolo Carlini  <pcarlini@suse.de>
948         * include/ext/mt_allocator.h (__mt_alloc<>::tune):
949         Add _M_min_bin, the size in bytes of the smallest bin.
950         (__mt_alloc<>::tune()): Tweak accordingly.
951         (__mt_alloc<>::tune(size_t, ...)): Likewise.
952         (__mt_alloc<>::block_record): Change to a union: members next
953         and thread_id are never used at the same time.
954         (__mt_alloc<>::allocate): Update consistently.
955         (__mt_alloc<>::deallocate): Likewise.
956         (__mt_alloc<>::_S_initialize): Update setups of _S_binmap and
957         _S_bin_size for the configurable _M_min_size.
959 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
961         * include/bits/stl_list.h: Created a _List_impl class and made it
962         derive from the allocator, instead of the list deriving from the
963         allocator class, which was not conformant. Changed all references
964         from this->_M_node to this->_M_impl._M_node * bits/list.tcc: Same
965         as above (changed all references to the concerned variables).
967 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
969         * include/bits/stl_deque.h: Created a _Deque_impl class and made
970         it derive from the allocator, instead of the deque deriving from
971         the allocator class, which was not conformant. Changed all
972         references to the _M_start, _M_finish, _M_map, and _M_map_size to
973         _M_impl.*.
974         (_Deque_base<_Tp,_Alloc>::~_Deque_base()): Added this->
975         qualification in 2 places where it was missing.
976         (_Deque_base<_Tp,_Alloc>::_M_initialize_map(size_t)): Same as
977         above.
978         * include/bits/deque.tcc: Same as above (changed all references to
979         the concerned variables).
981 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
983         * include/bits/stl_vector.h: Created a _Vector_impl class and made
984         it derive from the allocator, instead of the _Vector_base class,
985         deriving from the allocator which was not conformant. Changed all
986         references to the _M_start, _M_finish, and _M_end_of_storage to
987         _M_impl.*.
988         * include/bits/vector.tcc: Same as above (changed all references
989         to the concerned variables).
991 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
993         * testsuite/23_containers/deque/cons/clear_allocator.cc: New.
994         * testsuite/23_containers/list/cons/clear_allocator.cc: New.
995         * testsuite/23_containers/vector/cons/clear_allocator.cc: New.
997 2004-03-24  Dhruv Matani  <dhruvbird@gmx.net>
999         * include/ext/malloc_allocator.h: Fixed the construct function to
1000         call global placement new instead of assignment. Added a check
1001         after the return from malloc to check whether returned pointer is
1002         NULL, and if so, throw std::bad_alloc().
1003         * include/ext/debug_allocator.h: Added a check in the deallocate
1004         function to check whether the user has passed a NULL pointer or
1005         not.
1007 2004-03-24  Benjamin Kosnik  <bkoz@redhat.com>
1009         * docs/html/20_util/allocator.html: Add bitmap_allocator links.
1011 2004-03-24  Andreas Schwab  <schwab@suse.de>
1013         * testsuite/lib/prune.exp (prune_g++_output): Ignore errata
1014         warning from IA64 assembler.
1016 2004-03-24  Dhruv Matani  <dhruvbird@gmx.net>
1018         * include/ext/bitmap_allocator.h: (_Bit_scan_forward) -> Made this
1019         function call __builtin_ctz instead of the while loop.
1020         (allocate) -> If condition has __builtin_expect.
1021         (deallocate) -> Ditto.
1022         Renamed a few left-over variables and typedefs according to the
1023         C++STYLE mentioned in the documentation.
1024         Protected calls to __gthread* by __gthread_active_p(), whose value
1025         is cached in the local variable __threads_active.
1027 2004-03-24  Felix Yen  <fwy@alumni.brown.edu>
1029         * testsuite/performance/20_util/allocator/producer_consumer.cc:
1030         Use linear algorithm for producer.
1032 2004-03-24  Paolo Carlini  <pcarlini@suse.de>
1034         * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
1035         __mt_alloc<>::deallocate): Avoid redundant conditionals.
1037 2004-03-23  Benjamin Kosnik  <bkoz@redhat.com>
1039         * include/bits/locale_facets.h: Tweaks for 80 column.
1040         (__numpunct_cache::_M_cache): Move to locale_facets.tcc.
1041         (__moneypunct_cache::_M_cache): Same.
1042         (num_get): Don't inherit from __num_base.
1043         (num_put): Same.
1044         (money_get): Don't inherit from money_base.
1045         (money_put): Same.
1046         (__timepunct::_M_am_pm_format): New.
1047         (time_get::_M_extract_num): Return iterator, use ios_base as argument.
1048         (time_get::_M_extract_name): Same.
1049         (time_get::_M_extract_via_format): Same.
1050         * include/bits/locale_facets.tcc: Tweaks for 80 column.
1051         Use _M_getloc instead of getloc.
1052         * testsuite/22_locale/money_put/put/char/9780-3.cc: New.
1053         * testsuite/22_locale/num_put/put/char/9780-2.cc: New.
1054         * testsuite/22_locale/time_put/put/char/9780-1.cc: New.
1056 2004-03-22  Paolo Carlini  <pcarlini@suse.de>
1058         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add pool_allocator.
1059         * configure: Regenerate.
1060         * config/allocator/pool_allocator_base.h: New.
1061         * include/ext/pool_allocator.h: Convert to a standard-conforming
1062         allocator.
1063         * src/allocator.cc: Tweak instantiations.
1064         * testsuite/performance/20_util/allocator/insert.cc: Add __pool_alloc.
1065         * testsuite/performance/20_util/allocator/insert_insert.cc: Ditto.
1066         * testsuite/performance/20_util/allocator/list_sort_search.cc: Ditto.
1067         * testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
1068         * testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
1069         * testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
1071 2004-03-22  Hans-Peter Nilsson  <hp@axis.com>
1073         * config/cpu/cris/atomicity.h (__atomic_add): Remove "static
1074         inline" and attribute-unused.  Qualify parameter __mem with
1075         "volatile".
1076         (__exchange_and_add): Ditto.  Add back memory clobber to asm.
1078 2004-03-20  Paolo Carlini  <pcarlini@suse.de>
1080         * testsuite/27_io/basic_istream/extractors_arithmetic/char/2.cc:
1081         Remove junk.
1082         * testsuite/27_io/basic_istream/extractors_arithmetic/char/3.cc:
1083         Likewise.
1084         * testsuite/27_io/basic_istream/extractors_arithmetic/char/6.cc:
1085         Likewise.
1086         * testsuite/27_io/basic_istream/extractors_arithmetic/char/7.cc:
1087         Likewise.
1088         * testsuite/27_io/basic_istream/extractors_arithmetic/char/8.cc:
1089         Likewise.
1090         * testsuite/27_io/basic_istream/extractors_arithmetic/char/9.cc:
1091         Likewise.
1092         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1093         Likewise.
1094         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
1095         Likewise.
1096         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1097         Likewise.
1098         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
1099         Likewise.
1101 2004-03-20  Paolo Carlini  <pcarlini@suse.de>
1103         * include/std/std_valarray.h: Document DR389 [Ready].
1104         * docs/html/ext/howto.html: Add an entry for DR389.
1106 2004-03-19  Michael Eager  <eager@mvista.com>
1108         * config/cpu/mips/atomicity.h:  Prevent reg loads between LL and
1109         SC instructions.
1111 2004-03-19  Paolo Carlini  <pcarlini@suse.de>
1113         * testsuite/22_locale/num_get/get/char/11.cc: Remove redundant
1114         static_cast-s.
1115         * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
1116         * testsuite/22_locale/num_get/get/char/13.cc: Likewise.
1117         * testsuite/22_locale/num_get/get/char/14.cc: Likewise.
1118         * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
1119         * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
1120         * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
1121         * testsuite/22_locale/num_get/get/wchar_t/13.cc: Likewise.
1122         * testsuite/22_locale/num_get/get/wchar_t/14.cc: Likewise.
1123         * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
1125 2004-03-19  Paolo Carlini  <pcarlini@suse.de>
1126             Petur Runolfsson  <peturr02@ru.is>
1128         PR libstdc++/12077
1129         * include/ext/stdio_sync_filebuf.h (showmanyc): Remove, there's
1130         no way to find out the conversion used by the underlying FILE*.
1131         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: New.
1132         * testsuite/27_io/objects/char/9.cc: Tweak.
1134 2004-03-19  Paolo Carlini  <pcarlini@suse.de>
1136         PR libstdc++/14648
1137         * include/ext/ropeimpl.h (rope<>::_S_apply_to_pieces): Fix
1138         memory allocation/deallocation calls.
1139         * testsuite/ext/14648.cc: New.
1141 2004-03-19  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
1143         PR libstdc++/14647
1144         * include/backward/bvector.h (bit_vector): Allocator is in std
1145         namespace.
1147 2004-03-19  Phil Edwards  <phil@codesourcery.com>
1149         * acinclude.m4 (GLIBCXX_CHECK_WCHAR_T_SUPPORT):  Set LIBICONV,
1150         not libiconv.  SUBST this variable as well.
1151         * testsuite/Makefile.am (site.exp):  New target, based on that
1152         created by automake.  Also set libiconv.
1154         * configure, Makefile.in, include/Makefile.in, libmath/Makefile.in,
1155         libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
1156         testsuite/Makefile.in:  Regenerate.
1158 2004-03-16  Benjamin Kosnik  <bkoz@redhat.com>
1160         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Default setting is
1161         new_allocator for all hosts.
1162         * configure: Regenerate.
1164 2004-03-16  Paolo Carlini  <pcarlini@suse.de>
1166         * testsuite/22_locale/num_put/put/char/4.cc: Fix for 64-bit pointers.
1167         * testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
1169 2004-03-15  Paolo Carlini  <pcarlini@suse.de>
1171         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1172         Adjust the logic underlying the parsing of symbol to deal
1173         correctly with an optional sign component (i.e., when either
1174         negative_sign or positive_sign is empty)
1175         * testsuite/22_locale/money_get/get/char/19.cc: New.
1176         * testsuite/22_locale/money_get/get/wchar_t/19.cc: New.
1178 2004-03-15  Paolo Carlini  <pcarlini@suse.de>
1180         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1181         Do not accept an incomplete currency symbol.
1182         * testsuite/22_locale/money_get/get/char/18.cc: New.
1183         * testsuite/22_locale/money_get/get/wchar_t/18.cc: New.
1185 2004-03-13  Benjamin Kosnik  <bkoz@redhat.com>
1187         * config/allocator: New.
1188         * config/allocator/bitmap_allocator_base.h: New.
1189         * config/allocator/malloc_allocator_base.h: New.
1190         * config/allocator/mt_allocator_base.h: New.
1191         * config/allocator/new_allocator_base.h: New.
1192         * include/bits/allocator.h: Include c++allocator.h.
1193         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): New.
1194         * aclocal.m4: Regenerate.
1195         * configure.ac: Use GLIBCXX_ENABLE_ALLOCATOR.
1196         * configure: Regenerate.
1197         * include/Makefile.am (host_headers_extra): Add c++allocator.h.
1198         * include/Makefile.in: Regenerate.
1199         * docs/html/configopts.html: Add enable-libstdcxx-allocator.
1201 2004-03-12  Benjamin Kosnik  <bkoz@redhat.com>
1203         * include/bits/allocator.h: Revert.
1205 2004-03-12  Paolo Carlini  <pcarlini@suse.de>
1207         * docs/html/ext/howto.html: Add entry for DR 253 [Ready].
1208         * include/bits/gslice_array.h: Add comment about DR 253.
1209         * include/bits/indirect_array.h: Likewise.
1210         * include/bits/mask_array.h: Likewise.
1211         * include/bits/slice_array.h: Likewise.
1213 2004-03-12  Benjamin Kosnik  <bkoz@redhat.com>
1215         * testsuite/20_util/allocator/14176.cc: New.
1216         * include/ext/mt_allocator.h: Formatting fixes.
1218 2004-03-11  Dhruv Matani  <dhruvbird@HotPOP.com>
1220         * include/Makefile.am (ext_headers): Add
1221         ${ext_srcdir}/bitmap_allocator.h .
1222         * include/Makefile.in: Regenerate.
1223         * docs/html/ext/ballocator_doc.txt: New file.
1224         * include/ext/bitmap_allocator.h: New file.
1225         * testsuite/performance/20_util/allocator/list_sort_search.cc: Add
1226         test.
1227         * testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
1228         * testsuite/performance/20_util/allocator/producer_consumer.cc: Add
1229         test for the bitmap_allocator<>.
1230         * testsuite/performance/20_util/allocator/insert.cc: Likewise.
1231         * testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
1232         * testsuite/performance/20_util/allocator/map_thread.cc: Likewise.
1234 2004-03-11  Paolo Carlini  <pcarlini@suse.de>
1236         * include/std/std_complex.h (pow(const complex&, const _Tp&),
1237         pow(const _Tp&, const complex&), pow(const complex&,
1238         const complex&)): Fully qualify with std:: a few calls.
1239         * testsuite/26_numerics/complex/13450.cc: Minor tweak.
1241 2004-03-11  Steven Bosscher  <stevenb@suse.de>
1243         PR libstdc++/11706
1244         * include/c_std/cmath.tcc (__cmath_power): Define inline.
1246 2004-03-10  Kelley Cook  <kcook@gcc.gnu.org>
1248         * configure.ac: Bump AC_PREREQ to 2.59.
1250 2004-03-10  Paolo Carlini  <pcarlini@suse.de>
1252         * testsuite/26_numerics/valarray_subset_assignment.cc: Fix typos.
1254 2004-03-10  Paul Kienzle  <pkienzle@nist.gov>
1255             Paolo Carlini  <pcarlini@suse.de>
1257         PR libstdc++/13450
1258         * include/std/std_complex.h (pow(const complex&, const _Tp&),
1259         pow(const _Tp&, const complex&)): Use cmath pow only when safe.
1260         * testsuite/26_numerics/complex/13450.cc: New.
1262         * testsuite/26_numerics/cmath/overloads.C: Rename to overloads.cc.
1263         * testsuite/26_numerics/complex/pow.C: Rename to pow.cc and fix.
1265 2004-03-10  Jerry Quinn  <jlquinn@optonline.net>
1267         PR libstdc++/3247
1268         * include/bits/gslice_array.h (gslice_array()): Make public.
1269         (operator=(gslice_array)): Make public.  Implement.
1270         * include/bits/indirect_array.h (indirect_array()): Make public.
1271         * include/bits/mask_array.h (mask_array()): Make public.
1272         (operator=(mask_array)): Make public.  Implement.
1273         * include/bits/valarray_array.tcc (__valarray_copy):
1274         Comment.  Add versions for gslice_array and mask_array.
1275         * testsuite/26_numerics/valarray_subset_assignment.cc:  New test.
1277 2004-03-09  Benjamin Kosnik  <bkoz@redhat.com>
1279         * testsuite/23_containers/deque/modifiers/swap.cc: Add in bits for
1280         non-weak systems.
1281         * testsuite/23_containers/vector/modifiers/swap.cc: Same.
1282         * testsuite/23_containers/set/modifiers/swap.cc: Same.
1283         * testsuite/23_containers/multiset/modifiers/swap.cc: Same.
1284         * testsuite/23_containers/multimap/modifiers/swap.cc: Same.
1285         * testsuite/23_containers/map/modifiers/swap.cc: Same.
1286         * testsuite/23_containers/list/modifiers/swap.cc: Same.
1288         * testsuite/22_locale/locale/cons/12658_thread.cc: Catch exceptions.
1290 2004-03-08  Benjamin Kosnik  <bkoz@redhat.com>
1292         PR c++/13658
1293         * testsuite/23_containers/deque/modifiers/swap.cc: New.
1294         * testsuite/23_containers/list/modifiers/swap.cc: New.
1295         * testsuite/23_containers/map/modifiers/swap.cc: New.
1296         * testsuite/23_containers/multimap/modifiers/swap.cc: New.
1297         * testsuite/23_containers/multiset/modifiers/swap.cc: New.
1298         * testsuite/23_containers/set/modifiers/swap.cc: New.
1299         * testsuite/23_containers/vector/modifiers/swap.cc: New.
1301 2004-03-08  Petur Runolfsson  <peturr02@ru.is>
1303         PR libstdc++/12658
1304         * testsuite/22_locale/locale/cons/12658_thread.cc: New.
1306 2004-03-08  Paolo Carlini  <pcarlini@suse.de>
1308         * docs/html/ext/howto.html: Add entry for DR 103 [WP].
1309         * include/bits/stl_multiset.h: Add comment about DR 103.
1310         * include/bits/stl_set.h: Likewise.
1312 2004-03-08  Paolo Carlini  <pcarlini@suse.de>
1314         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1315         The value _space_ indicates that at least one space is required
1316         at that position.
1317         * testsuite/22_locale/money_get/get/char/17.cc: New.
1318         * testsuite/22_locale/money_get/get/wchar_t/17.cc: New.
1320         * testsuite/22_locale/money_get/get/char/7.cc: Minor tweaks.
1321         * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
1323         * include/bits/locale_facets.tcc (money_get<>::do_get(long_double&)):
1324         Remove redundant conditional on __str.size().
1326 2004-03-08  Benjamin Kosnik  <bkoz@redhat.com>
1328         * include/bits/allocator.h: Switch defaults to mt_alloc.
1330 2004-03-06  Benjamin Kosnik  <bkoz@redhat.com>
1332         * include/ext/mt_allocator.h (_S_initialize): If
1333         !__GTHREAD_MUTEX_INIT, then initialize _S_thread_freelist_mutex.
1335 2004-03-06  Benjamin Kosnik  <bkoz@redhat.com>
1337         PR libstdc++/12658
1338         * src/locale_init.cc (locale::locale): Lock critical regions with
1339         external mutexes.
1340         (locale::global): Same.
1341         * include/bits/concurrence.h (__glibcxx_mutex_define_initialized):
1342         Add in once bits for cases without __GTHREAD_MUTEX_INIT.
1343         (__glibcxx_mutex_lock): Same.
1345         * config/cpu/generic/atomicity.h: Remove
1346         _GLIBCXX_NEED_GENERIC_MUTEX, use concurrence.h.
1347         * src/misc-inst.cc: Move all locking bits out of this file.
1349         * config/os/hpux/os_defines.h: Remove _GLIBCXX_INST_ATOMICITY_LOCK.
1350         * src/misc-inst.cc: Same.
1351         * config/cpu/hppa/atomicity.h: Same.
1353         * config/linker-map.gnu: Remove types in the signature of atomic
1354         exports, as they may vary.
1356 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
1358         * include/bits/locale_facets.tcc: Tweak the comment preceding
1359         has_facet: doesn't throw.
1361 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
1363         * testsuite/22_locale/money_get/get/char/1.cc: Clean up.
1364         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
1365         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
1366         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
1367         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
1368         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
1369         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
1370         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
1372 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
1374         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
1375         num_get<>::_M_extract_int, num_get<>::do_get(bool&),
1376         __pad<>::_S_pad): Prefer plain operator== to traits::eq().
1377         * testsuite/testsuite_character.h (struct __gnu_test::character):
1378         Provide operator==.
1379         * testsuite/testsuite_hooks.h (struct __gnu_test::pod_char):
1380         Likewise.
1382 2004-03-05  Paolo Carlini  <pcarlini@suse.de>
1384         * testsuite/27_io/fpos/14320-2.cc: Remove xfail.
1386 2004-03-04  Benjamin Kosnik  <bkoz@redhat.com>
1388         * testsuite/23_containers/multiset/insert/1.cc: Test result string.
1390         * testsuite/23_containers/bitset/invalidation/1.cc: Main always
1391         returns 0.
1392         * testsuite/23_containers/deque/invalidation/4.cc: Same.
1393         * testsuite/23_containers/list/invalidation/1.cc: Same.
1394         * testsuite/23_containers/list/invalidation/2.cc: Same.
1395         * testsuite/23_containers/list/invalidation/3.cc: Same.
1396         * testsuite/23_containers/list/invalidation/4.cc: Same.
1397         * testsuite/23_containers/map/invalidation/2.cc: Same.
1398         * testsuite/23_containers/multimap/invalidation/1.cc: Same.
1399         * testsuite/23_containers/multimap/invalidation/2.cc: Same.
1400         * testsuite/23_containers/multiset/invalidation/1.cc: Same.
1401         * testsuite/23_containers/multiset/invalidation/2.cc: Same.
1402         * testsuite/23_containers/set/invalidation/1.cc: Same.
1403         * testsuite/23_containers/set/invalidation/2.cc: Same.
1404         * testsuite/23_containers/vector/invalidation/1.cc: Same.
1405         * testsuite/23_containers/vector/invalidation/2.cc: Same.
1406         * testsuite/23_containers/vector/invalidation/3.cc: Same.
1407         * testsuite/23_containers/vector/invalidation/4.cc: Same.
1409 2004-03-04  Paolo Carlini  <pcarlini@suse.de>
1411         * scripts/testsuite_flags.in: Add "-D_GLIBCXX_ASSERT" to
1412         CXXFLAGS_save.
1413         * testsuite/lib/libstdc++.exp: Don't add it conditionally to
1414         DEFAULT_CXXFLAGS.
1415         * testsuite/18_support/numeric_limits.cc: Remove "-D_GLIBCXX_ASSERT"
1416         from the dg-options.
1417         * testsuite/23_containers/vector/invalidation/1.cc: Likewise.
1418         * testsuite/23_containers/vector/invalidation/2.cc: Likewise.
1419         * testsuite/23_containers/vector/invalidation/3.cc: Likewise.
1420         * testsuite/23_containers/vector/invalidation/4.cc: Likewise.
1421         * testsuite/23_containers/vector/resize/1.cc: Likewise.
1422         * testsuite/26_numerics/complex_value.cc: Likewise.
1423         * testsuite/27_io/ios_base/storage/1.cc: Likewise.
1424         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
1425         * testsuite/27_io/ios_base/storage/3.cc: Likewise.
1426         * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
1427         * testsuite/27_io/objects/char/5.cc: Likewise.
1428         * testsuite/27_io/objects/wchar_t/5.cc: Likewise.
1429         * testsuite/backward/11460.cc: Likewise.
1430         * testsuite/thread/pthread7-rope.cc: Likewise.
1432         * testsuite/21_strings/basic_string/compare/char/1.cc: Add
1433         missing test variable.
1434         * testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Add
1435         missing test variable.
1437 2004-03-04  Benjamin Kosnik  <bkoz@redhat.com>
1439         * testsuite/20_util/allocator/1.cc: Provide explicit
1440         instantiations for non-weak systems.
1441         * testsuite/20_util/binders.cc: Same.
1442         * testsuite/20_util/allocator/8230.cc: Same.
1443         * testsuite/20_util/allocator/10378.cc: Same.
1444         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
1445         * testsuite/22_locale/ctype/is/char/2.cc: Same.
1446         * testsuite/thread/pthread7-rope.cc: Same.
1447         * testsuite/thread/pthread6.cc: Same.
1448         * testsuite/thread/pthread5.cc: Same.
1449         * testsuite/thread/pthread4.cc: Same.
1450         * testsuite/thread/pthread1.cc: Same.
1451         * testsuite/ext/rope.cc: Same.
1452         * testsuite/ext/hash_set.cc: Same.
1453         * testsuite/ext/hash_map.cc: Same.
1454         * testsuite/ext/concept_checks.cc: Same.
1455         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Same.
1456         * testsuite/25_algorithms/unique/2.cc: Same.
1457         * testsuite/25_algorithms/unique/1.cc: Same.
1458         * testsuite/25_algorithms/rotate.cc: Same.
1459         * testsuite/25_algorithms/min_max.cc: Same.
1460         * testsuite/25_algorithms/equal.cc: Same.
1461         * testsuite/24_iterators/rel_ops.cc: Same.
1462         * testsuite/24_iterators/iterator.cc: Same.
1463         * testsuite/24_iterators/insert_iterator.cc: Same.
1464         * testsuite/24_iterators/front_insert_iterator.cc: Same.
1465         * testsuite/24_iterators/back_insert_iterator.cc: Same.
1466         * testsuite/23_containers/vector/resize/1.cc: Same.
1467         * testsuite/23_containers/vector/modifiers/2.cc: Same.
1468         * testsuite/23_containers/vector/modifiers/1.cc: Same.
1469         * testsuite/23_containers/vector/invalidation/4.cc: Same.
1470         * testsuite/23_containers/vector/invalidation/3.cc: Same.
1471         * testsuite/23_containers/vector/invalidation/2.cc: Same.
1472         * testsuite/23_containers/vector/invalidation/1.cc: Same.
1473         * testsuite/23_containers/vector/element_access/1.cc: Same.
1474         * testsuite/23_containers/vector/cons/6513.cc: Same.
1475         * testsuite/23_containers/vector/cons/3.cc: Same.
1476         * testsuite/23_containers/vector/cons/2.cc: Same.
1477         * testsuite/23_containers/vector/cons/1.cc: Same.
1478         * testsuite/23_containers/vector/capacity/8230.cc: Same.
1479         * testsuite/23_containers/vector/capacity/1.cc: Same.
1480         * testsuite/23_containers/vector/bool/6886.cc: Same.
1481         * testsuite/23_containers/stack/members/7158.cc: Same.
1482         * testsuite/23_containers/set/invalidation/2.cc: Same.
1483         * testsuite/23_containers/set/invalidation/1.cc: Same.
1484         * testsuite/23_containers/queue/members/7157.cc: Same.
1485         * testsuite/23_containers/priority_queue/members/7161.cc: Same.
1486         * testsuite/23_containers/multiset/invalidation/2.cc: Same.
1487         * testsuite/23_containers/multiset/invalidation/2.cc: Same.
1488         * testsuite/23_containers/multiset/insert/1.cc: Same.
1489         * testsuite/23_containers/multimap/invalidation/2.cc: Same.
1490         * testsuite/23_containers/multimap/invalidation/2.cc: Same.
1491         * testsuite/23_containers/map/operators/1.cc: Same.
1492         * testsuite/23_containers/map/invalidation/2.cc: Same.
1493         * testsuite/23_containers/map/invalidation/1.cc: Same.
1494         * testsuite/23_containers/map/insert/1.cc: Same.
1495         * testsuite/23_containers/list/operators/4.cc: Same.
1496         * testsuite/23_containers/list/operators/3.cc: Same.
1497         * testsuite/23_containers/list/operators/2.cc: Same.
1498         * testsuite/23_containers/list/operators/1.cc: Same.
1499         * testsuite/23_containers/list/modifiers/3.cc: Same.
1500         * testsuite/23_containers/list/modifiers/2.cc: Same.
1501         * testsuite/23_containers/list/modifiers/1.cc: Same.
1502         * testsuite/23_containers/list/invalidation/4.cc: Same.
1503         * testsuite/23_containers/list/invalidation/3.cc: Same.
1504         * testsuite/23_containers/list/invalidation/2.cc: Same.
1505         * testsuite/23_containers/list/invalidation/1.cc: Same.
1506         * testsuite/23_containers/list/cons/9.cc: Same.
1507         * testsuite/23_containers/list/cons/8.cc: Same.
1508         * testsuite/23_containers/list/cons/7.cc: Same.
1509         * testsuite/23_containers/list/cons/6.cc: Same.
1510         * testsuite/23_containers/list/cons/5.cc: Same.
1511         * testsuite/23_containers/list/cons/4.cc: Same.
1512         * testsuite/23_containers/list/cons/3.cc: Same.
1513         * testsuite/23_containers/list/cons/2.cc: Same.
1514         * testsuite/23_containers/list/cons/1.cc: Same.
1515         * testsuite/23_containers/list/capacity/1.cc: Same.
1516         * testsuite/23_containers/deque/operators/1.cc: Same.
1517         * testsuite/23_containers/deque/invalidation/4.cc: Same.
1518         * testsuite/23_containers/deque/invalidation/3.cc: Same.
1519         * testsuite/23_containers/deque/invalidation/2.cc: Same.
1520         * testsuite/23_containers/deque/invalidation/1.cc: Same.
1521         * testsuite/23_containers/deque/cons/2.cc: Same.
1522         * testsuite/23_containers/deque/cons/1.cc: Same.
1524         * src/allocator.cc: Add char, wchar_t instantiations
1525         to match extern template declarations in memory.h.
1527 2004-03-03  Paolo Carlini  <pcarlini@suse.de>
1529         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
1530         Fix warning regression.
1532 2004-03-03  Paolo Carlini  <pcarlini@suse.de>
1534         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
1535         Deal properly with empty __digits and negative frac_digits,
1536         clean-up a bit.
1538 2004-03-03  Jonathan Wakely  <redi@gcc.gnu.org>
1540         * docs/html/documentation.html: Regenerate.
1542 2004-03-02  Paolo Carlini  <pcarlini@suse.de>
1544         PR libstdc++/14320
1545         * include/bits/postypes.h (class streamoff): Remove, now
1546         streamoff is just typedef a 64 bit signed integer type.
1547         (class fpos): Tweak consistently.
1548         * testsuite/27_io/fpos/14320-1.cc: New.
1549         * testsuite/27_io/fpos/14320-2.cc: New.
1550         * testsuite/27_io/fpos/14320-3.cc: New.
1551         * testsuite/27_io/fpos/14320-4.cc: New.
1552         * testsuite/27_io/fpos/14320-5.cc: New.
1553         * testsuite/27_io/fpos/mbstate_t/4_neg.cc: xfail for now.
1555 2004-03-02  Paolo Carlini  <pcarlini@suse.de>
1557         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1558         Reorganize a bit the main parsing loop, thus early detecting
1559         an empty value component.
1560         * testsuite/22_locale/money_get/get/char/16.cc: New.
1561         * testsuite/22_locale/money_get/get/wchar_t/16.cc: New.
1563 2004-03-02  Benjamin Kosnik  <bkoz@redhat.com>
1565         Support automake 1.8.2
1566         * configure.ac (AM_INIT_AUTOMAKE): Add -Wno-override.
1567         * po/Makefile.am (EXTRA_DIST): New.
1568         * po/Makefile.in: Regenerate.
1569         * Makefile.in: Same.
1570         * include/Makefile.in: Same.
1571         * libmath/Makefile.in: Same.
1572         * libsupc++/Makefile.in: Same.
1573         * src/Makefile.in: Same.
1574         * testsuite/Makefile.in: Same.
1576         * include/Makefile.am (${host_builddir}/gthr-posix.h): Use
1577         __GXX_WEAK__ instead of SUPPORTS_WEAK.
1578         (${host_builddir}/gthr-default.h): Same.
1579         (${host_builddir}/gthr.h): Same.
1580         * acinclude.m4 (GLIBCXX_ENABLE_THREAD): Remove
1581         _GLIBCXX_SUPPORTS_WEAK, as this behavior can be modified via
1582         -fno-weak.
1583         * aclocal.m4: Regenerate.
1584         * acconfig.h: Remove _GLIBCXX_SUPPORTS_WEAK.
1585         * config.h.in: Regenerate.
1586         * configure: Same.
1588 2004-03-01  Benjamin Kosnik  <bkoz@redhat.com>
1590         Support autoconf 2.59
1591         * acinclude.m4: Quote correctly.
1592         * aclocal.m4: Regenerate.
1593         * linkage.m4: Same.
1595 2004-03-01  Benjamin Kosnik  <bkoz@redhat.com>
1597         * docs/html/test.html: Add multilib RUNTESTFLAGS example.
1599         * docs/html/18_support/howto.html: Add bit about writing to
1600         stderr, mostly by Zack.
1602 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
1604         * include/bits/locale_facets.tcc (money_get<>::_M_extract,
1605         money_get<>::do_get(string_type&)): ... and two more.
1607 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
1609         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1610         Fix thinkos in the switch from string_type& to string& as last
1611         argument.
1613 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
1615         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
1616         Also when parsing exponent sign, first look for thousands_sep
1617         and decimal_point; tweak a bit.
1618         * testsuite/22_locale/num_get/get/char/15.cc: New.
1619         * testsuite/22_locale/num_get/get/wchar_t/15.cc: New.
1621         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
1622         num_get<>::_M_extract_int): Reorder some conditionals.
1624 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
1626         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1627         Consistently with numpunct, enforce the requirements in
1628         22.2.6.3, p3 for the thousands separators; tweak a bit.
1629         * testsuite/22_locale/money_get/get/char/15.cc: New.
1630         * testsuite/22_locale/money_get/get/wchar_t/15.cc: New.
1632 2004-03-01  David Billinghurst <David.Billinghurst@riotinto.com>
1634         * testsuite/lib/libstdc++.exp (v3-list-tests): Use
1635         testsuite_files from correct multilib blddir when running
1636         testsuite.
1638 2004-02-29  Phil Edwards  <phil@codesourcery.com>
1640         * testsuite/Makefile.am (check-abi, check-abi-verbose):  Copy
1641         the summary file to the logfile.
1642         * testsuite/Makefile.in:  Regenerate.
1644 2004-02-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1646         * config/cpu/hppa/atomicity.h (__atomic_add): Make first argument
1647         volatile.
1648         * config/os/hpux/os_defines.h (_GLIBCXX_INST_ATOMICITY_LOCK): Use
1649         __GXX_WEAK__ instead of _GLIBCXX_SUPPORTS_WEAK.
1651 2004-02-28  Paolo Carlini  <pcarlini@suse.de>
1653         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
1654         According to 22.2.3.1, p2, 'units' may be followed by 'e' with
1655         no 'decimal-point' in the middle: in this case too we must fix
1656         up __found_grouping; slightly tweak.
1657         * testsuite/22_locale/num_get/get/char/14.cc: New.
1658         * testsuite/22_locale/num_get/get/wchar_t/14.cc: New.
1660 2004-02-27  Eric Christopher  <echristo@redhat.com>
1661             Phil Edwards  <phil@codesourcery.com>
1663         * testsuite/22_locale/collate/compare/wchar_t/2.cc,
1664         testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc,
1665         testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc,
1666         testsuite/22_locale/collate/hash/wchar_t/2.cc,
1667         testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc,
1668         testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc,
1669         testsuite/22_locale/collate/transform/wchar_t/2.cc,
1670         testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc,
1671         testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
1672         Use dg-require-iconv.
1673         * testsuite/lib/libstdc++.exp:  Load target-supports.exp.
1675 2004-02-27  Phil Edwards  <phil@codesourcery.com>
1676             Eric Christopher  <echristo@redhat.com>
1678         * testsuite/config/default.exp:  Update with comments.
1679         (${tool}_target_compile):  New wrapper routine.
1680         * testsuite/lib/dg-options.exp:  New file, with dg-require-iconv.
1681         * testsuite/lib/libstdc++.exp:  Update with comments and cosmetic
1682         fixes.
1683         (load_gcc_lib, v3track):  New routines.
1684         (v3-init):  Rename to libstdc++_init.
1685         * testsuite/libstdc++-dg/normal.exp:  No longer call v3-init.
1686         Move DEFAULT_CXXFLAGS handling into libstdc++_init.
1688 2004-02-27  Benjamin Kosnik  <bkoz@redhat.com>
1690         * config/cpu/hppa/atomicity.h: Include c++config.h to get defines.
1692         * src/misc-inst.cc (_S_atomicity_lock): Move to __gnu_cxx.
1694         * config/os/irix/irix5.2/atomicity.h: Merge..
1695         * config/os/irix/irix6.5/atomicity.h: Merge..
1696         * config/os/irix/atomicity.h: ...into this.
1697         * config/os/irix/atomic_word.h: New.
1698         * configure.host: Set atomic_word_dir for irix.
1700         * hppa/atomicity.h: Change __Atomicity_lock to _Atomicity_lock.
1701         * i386/atomicity.h: Same.
1702         * m68k/atomicity.h: Same.
1703         * sparc/atomicity.h: Same.
1705 2004-02-27  David Edelsohn  <edelsohn@gnu.org>
1707         * config/os/aix/atomicity.h: Use __gnu_cxx namespace. Remove
1708         static, and inline keywords.
1710 2004-02-27  Paolo Carlini  <pcarlini@suse.de>
1712         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
1713         num_get<>::_M_extract_int, money_get<>::_M_extract): If appropriate,
1714         call reserve on the __tmp_gruping string.
1715         (num_get<>::_M_extract_float): Don't append unnecessarily a
1716         char() to the returned string.
1717         * include/bits/locale_facets.tcc: Trivial reformattings.
1719 2004-02-27  Paolo Carlini  <pcarlini@suse.de>
1721         * include/bits/locale_facets.h (money_get<>::_M_extract):
1722         Change signature: now takes a plain string&.
1723         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1724         Update consistently the definition; use the moneypunct cache
1725         to parse the value; use swap to change __units.
1726         (money_get<>::do_get(long double&)): Update call of _M_extract,
1727         avoid ctype::narrow, not correct wrt the standard.
1728         (money_get<>::do_get(string_type&)): Likewise, update call
1729         of _M_extract, use ctype::widen.
1730         * src/locale-inst.cc: Tweak instantiations of _M_extract.
1732 2004-02-26  Ian Lance Taylor  <ian@wasabisystems.com>
1734         * testsuite/demangle/abi_examples/01.cc: Expect error -2.
1735         * testsuite/demangle/abi_examples/02.cc: Likewise.
1736         * testsuite/demangle/regression/cw-11.cc: Likewise.
1737         * testsuite/demangle/regression/cw-16.cc: Change two expected
1738         results to match libiberty demangler output.
1740 2004-02-26  Benjamin Kosnik  <bkoz@redhat.com>
1742         PR libstdc++/10246
1743         * libsupc++/Makefile.am: Use libiberty demangler.
1744         (c_sources): Add cp-demangle.c.
1745         * libsupc++/Makefile.in: Regenerate.
1746         * src/Makefile.am (sources): Remove demangle.cc.
1747         * src/Makefile.in: Regenerate.
1748         * include/Makefile.am (bits_headers): Move demangle.h.
1749         (ext_headers): ...here.
1750         * include/Makefile.in: Regenerate.
1751         * include/bits/demangle.h: Move...
1752         * include/ext/demangle.h: ...here.
1753         * src/demangle.cc: Remove.
1755 2004-02-26  Benjamin Kosnik  <bkoz@redhat.com>
1757         * include/bits/demangle.h: Add type template parameter to all
1758         templates with just an Allocator template parameter.
1760 2004-02-25  Benjamin Kosnik  <bkoz@redhat.com>
1762         * include/bits/atomicity.h: New, forward declarations for __atomic_add
1763         and __exchange_and_add.
1764         * config/cpu/generic/atomic_word.h: New, typdef for atomic word.
1765         * config/cpu/cris/atomic_word.h: Same.
1766         * config/cpu/sparc/atomic_word.h: Same.
1767         * include/bits/ios_base.h (_Callback_list::_M_remove_reference):
1768         Qualifiy with __gnu_cxx.
1769         (_Callback_list::_M_add_reference): Same.
1770         * include/bits/locale_classes.h (locale::facet::_M_add_reference): Add.
1771         (locale::facet::_M_remove_reference): Same.
1772         (locale::_Impl::_M_add_reference): Add.
1773         (locale::_Impl::_M_remove_reference): Same.
1774         * include/bits/basic_string.h (basic_string::_Rep::_M_refcopy): Same.
1775         (basic_string::_Rep::_M_dispose): Same.
1776         * src/ios.cc (ios_base::xalloc): Same.
1777         * src/ios_init.cc (ios_base::Init::Init): Same.
1778         (ios_base::Init::~Init): Same.
1779         * src/locale.cc (locale::id::_M_id): Same.
1780         * config/cpu/i486/atomicity.h: Use __gnu_cxx namespace. Remove
1781         static, and inline keywords.
1782         * config/cpu/alpha/atomicity.h: Same.
1783         * config/cpu/cris/atomicity.h: Same.
1784         * config/cpu/generic/atomicity.h: Same.
1785         * config/cpu/hppa/atomicity.h: Same.
1786         * config/cpu/i386/atomicity.h: Same.
1787         * config/cpu/ia64/atomicity.h: Same.
1788         * config/cpu/m68k/atomicity.h: Same.
1789         * config/cpu/mips/atomicity.h: Same.
1790         * config/cpu/powerpc/atomicity.h: Same.
1791         * config/cpu/s390/atomicity.h: Same.
1792         * config/cpu/sparc/atomicity.h: Same.
1794         * src/Makefile.am (host_sources): Add atomicity.cc.
1795         (atomicity.cc): New rule.
1796         * src/Makefile.in: Regenerate.
1797         * include/Makefile.am (host_headers): Remove host atomicity.h.
1798         (host_headers): Add atomic_word.h.
1799         (bits_headers): Add bits atomicity.h.
1800         Change ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
1801         * include/Makefile.in: Regenerate.
1802         * configure.host (atomic_word_dir): Add.
1803         * configure.ac: Substitute ATOMIC_WORD_SRCDIR. Change
1804         ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
1805         * configure: Regenerate.
1806         * config/linker-map.gnu: Export __exchange_and_add, and __atomic_add.
1808         * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
1809         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
1811 2004-02-25  Jonathan Wakely  <redi@gcc.gnu.org>
1813         * docs/html/20_util/howto.html, docs/html/20_util/allocator.html,
1814         docs/html/ext/howto.html, docs/html/ext/mt_allocator.html:
1815         Fix markup, more <link> tags.
1817 2004-02-25  Carlo Wood  <carlo@alinoe.com>
1819         * bits/demangle.h
1820         namespace __gnu_cxx::demangler
1821         (session<Allocator>::qualifier_list_Allocator): Add
1822         (session<Allocator>::M_qualifier_list_alloc): Add
1823         (session<Allocator>::decode_type_with_postfix):
1824         Use M_qualifier_list_alloc instead of calling operator new/delete.
1826 2004-02-24  Paolo Carlini  <pcarlini@suse.de>
1828         PR libstdc++/14252
1829         * include/bits/postypes.h (class streamoff): Add operator++(),
1830         operator++(int), operator--() and operator--(int).
1831         * testsuite/27_io/fpos/14252.cc: New.
1833 2004-02-24  Richard Sandiford  <rsandifo@redhat.com>
1835         * include/bits/locale_facets.tcc (num_get::_M_extract_int): Fix bounds
1836         error in handling of hex constants.
1838 2004-02-24  Paolo Carlini  <pcarlini@suse.de>
1840         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
1841         Prefer basic_string::append to operator+= and a temporary.
1843 2004-02-23  Benjamin Kosnik  <bkoz@redhat.com>
1845         * libsupc++/vterminate.cc (__gnu_cxx::__verbose_terminate_handler):
1846         Only use fputs, not write.
1848 2004-02-23  Benjamin Kosnik  <bkoz@redhat.com>
1850         * include/ext/malloc_allocator.h: Add operators ==, !=.
1851         * include/ext/new_allocator.h: Add operators ==, !=.
1852         * include/ext/mt_allocator.h (__mt_alloc::tune): New.
1853         (__mt_alloc::_S_get_options): New.
1854         (__mt_alloc::_S_set_options): New.
1855         (__mt_alloc::_S_thread_key_destr): To _S_destroy_thread_key.
1856         (__mt_alloc::_S_no_of_bins): To _S_bin_size.
1857         Move functions out of line, simplify, format.
1858         * src/allocator.cc: Simplify explicit instantiations.
1859         * include/bits/allocator.h: Tweak.
1861 2004-02-22  Paolo Carlini  <pcarlini@suse.de>
1863         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
1864         Restructure formatting of value component, first dealing with
1865         the non-decimal digits; use reserve.
1867 2004-02-22  Paolo Carlini  <pcarlini@suse.de>
1869         * include/bits/locale_facets.h (class money_get): Inherit
1870         from money_base too; tweak declaration of _M_extract, now
1871         parameterized on _Intl too.
1872         * include/bits/locale_facets.tcc (money_get<>::_M_extract):
1873         Update definition to use the cache; call reserve on __res to
1874         avoid multiple reallocations; fix parsing of sign component
1875         according to 22.2.6.1.2, p3.
1876         (money_get<>::do_get(long double&),
1877         money_get<>::do_get(string_type&)): Update calls of _M_extract.
1878         * src/locale-inst.cc:  Add instantiations of
1879         money_get::_M_extract<false> and money_get::_M_extract<true>.
1880         * testsuite/22_locale/money_get/get/char/14.cc: New.
1881         * testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto.
1883 2004-02-21  Mark Mitchell  <mark@codesourcery.com>
1885         * libsupc++/vterminate.cc
1886         (__gnu_cxx::__verbose_terminate_handler): Guard against recursive
1887         calls to terminate.
1888         * src/demangle.cc (__cxa_demangle): Wrap in try-catch block.
1890         * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
1891         not set RLIMIT_AS on HP-UX.
1893 2004-02-21  Mark Mitchell  <mark@codesourcery.com>
1895         * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
1896         not set RLIMIT_AS on HP-UX.
1898 2004-02-21  Paolo Carlini  <pcarlini@suse.de>
1900         * include/bits/locale_facets.h (class money_base): Add { _S_minus,
1901         _S_zero, _S_end } enum, _S_atoms.
1902         (struct __moneypunct_cache<>): Parameterize on _Intl too; add
1903         _M_grouping_size, _M_curr_symbol_size, _M_positive_sign_size,
1904         _M_negative_sign_size, _M_atoms; tweak constructor consistently.
1905         (__moneypunct_cache<>::~__moneypunct_cache): Update.
1906         (__moneypunct_cache<>::_M_cache): Fill the cache.
1907         (class moneypunct): Tweak __cache_type typedef.
1908         (class money_put): Inherit from money_base too; tweak declaration
1909         of _M_insert, now parameterized on _Intl.
1910         * include/bits/locale_facets.tcc
1911         (struct __use_cache<__moneypunct_cache<_CharT, _Intl> >): New.
1912         (money_put<>::_M_insert): Update definition to use the cache;
1913         call reserve on __res to avoid multiple reallocations.
1914         (money_put<>::do_put(long double),
1915         money_put<>::do_put(const string_type&): Update calls of _M_insert.
1916         * config/locale/generic/monetary_members.cc
1917         (moneypunct<char, true>::_M_initialize_moneypunct,
1918         moneypunct<char, false>::_M_initialize_moneypunct,
1919         moneypunct<wchar_t, true>::_M_initialize_moneypunct,
1920         moneypunct<wchar_t, false>::_M_initialize_moneypunct): Update.
1921         * config/locale/gnu/monetary_members.cc: Likewise.
1922         * config/locale/gnu/monetary_members.cc
1923         (moneypunct<wchar_t, true>::~moneypunct(),
1924         moneypunct<wchar_t, false>::~moneypunct()): Likewise.
1925         * src/globals_locale.cc: Tweak fake_money_cache_c.
1926         * src/locale-inst.cc: Add instantiations for
1927         money_put::_M_insert<false> and money_put::_M_insert<true> and
1928         __moneypunct_cache<C, false>, __moneypunct_cache<C, true>.
1929         * src/locale_facets.cc: Define money_base::_S_atoms.
1930         * src/locale_init.cc: Update placement new of
1931         __moneypunct_cache<char, false>, __moneypunct_cache<char, true>,
1932         __moneypunct_cache<wchar_t, false>, __moneypunct_cache<wchar_T, true>.
1934         * config/locale/generic/numeric_members.cc: Clean up.
1935         * config/locale/gnu/numeric_members.cc: Likewise.
1936         * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
1937         * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
1938         * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
1939         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
1940         * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
1941         * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
1943 2004-02-20  Mark Mitchell  <mark@codesourcery.com>
1945         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Open
1946         FIFO for writing with ios_base::in|ios_base::out.
1947         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
1948         * testsuite/27_io/objects/char/7.cc: Likewise.
1949         * testsuite/27_io/objects/char/9661-1.cc: Open FIFO for writing
1950         with "r+".
1952 2004-02-19  David Edelsohn  <edelsohn@gnu.org>
1954         * 22_locale/collate/compare/wchar_t/2.cc: Change input-charset
1955         from iso-8859-1 to ISO8859-1.
1956         * 22_locale/collate/compare/wchar_t/wrapped_env.cc: Same.
1957         * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: Same.
1958         * 22_locale/collate/hash/wchar_t/2.cc: Same.
1959         * 22_locale/collate/hash/wchar_t/wrapped_env.cc: Same.
1960         * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: Same.
1961         * 22_locale/collate/transform/wchar_t/2.cc: Same.
1962         * 22_locale/collate/transform/wchar_t/wrapped_env.cc: Same.
1963         * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: Same.
1965 2004-02-18  Paolo Carlini  <pcarlini@suse.de>
1967         * include/bits/locale_facets.h (money_get<>::_M_extract):
1968         New, helper for do_get.
1969         (money_put<>::_M_insert): Likewise, for do_put.
1970         * include/bits/locale_facets.tcc (money_get<>::_M_extract,
1971         money_put<>::_M_insert): Define.
1972         (money_get<>::do_get(long double&), money_get<>::do_get(
1973         string_type&), money_put::do_put(long double),
1974         money_put::do_put(const string_type&)): Use the helpers.
1976 2004-02-18  Paolo Carlini  <pcarlini@suse.de>
1978         * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
1979         Rewrite, avoiding recursion.
1980         (__gnu_internal::xwrite): Minor tweaks.
1982 2004-02-17  Stefan Olsson  <stefan@xapa.se>
1984         * include/ext/mt_allocator.h: Removed the last
1985         pointer. Deallocated blocks are now added to the front of
1986         freelists as proposed by Felix Yen.  This gives roughly 10%
1987         performance boost and saves some memory.
1988         * docs/html/ext/mt_allocator.html: Change due to that deallocated
1989         blocks now are added to the front of freelists. The reason to this
1990         approach is also explained.
1992 2004-02-17  Paolo Carlini  <pcarlini@suse.de>
1994         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
1995         num_get<>::_M_extract_int, money_get<>::do_get): Simplify
1996         grouping fidelity conditional.
1998 2004-02-16  Paolo Carlini  <pcarlini@suse.de>
2000         * testsuite/27_io/basic_filebuf/overflow/char/13858.cc:
2001         Qualify exception with std::.
2002         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto.
2003         * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
2004         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
2005         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
2006         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
2008 2004-02-16  Paolo Carlini  <pcarlini@suse.de>
2010         * testsuite/ext/enc_filebuf/char/13189.cc: Don't check
2011         for now that the catch block is not reached.
2012         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.
2014 2004-02-16  Paolo Carlini  <pcarlini@suse.de>
2016         * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
2017         Fix parsing of the remaining sign characters.
2018         * 22_locale/money_get/get/char/2.cc: Tweak: now, correctly,
2019         the input is scanned 'til eof.
2020         * 22_locale/money_get/get/char/4.cc: Likewise.
2021         * 22_locale/money_get/get/wchar_t/2.cc: Likewise.
2022         * 22_locale/money_get/get/wchar_t/4.cc: Likewise.
2023         * 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format,
2024         not do_pos_format: the former is the only one that matters during
2025         input.
2026         * 22_locale/money_get/get/wchar_t/8.cc: Likewise.
2028         * 22_locale/money_get/get/char/6.cc: Minor tweak.
2029         * 22_locale/money_get/get/wchar_t/6.cc: Likewise.
2031 2004-02-15  David Asher  <david.asher@cavium.com>
2033         PR libstdc++/11352
2034         * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't
2035         access __olds beyond __oldlen.
2037 2004-02-14  Paolo Carlini  <pcarlini@suse.de>
2039         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make
2040         sure the exception is actually thrown.
2041         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
2042         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
2043         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
2045 2004-02-14  Paolo Carlini  <pcarlini@suse.de>
2047         PR libstdc++/13858
2048         * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
2049         In case of conversion errors, throw ios_failure; simplify.
2050         * testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
2051         * testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
2052         * testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
2053         previously we didn't throw in case of conversion errors, instead
2054         just returned eof().
2055         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
2056         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
2057         * testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.
2059         * include/bits/fstream.tcc (basic_filebuf<>::overflow):
2060         Trivial simplification of a conditional.
2062 2004-02-12  Paolo Carlini  <pcarlini@suse.de>
2064         PR libstdc++/13731 (final part: writev)
2065         * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
2066         New, a wrapper around writev() handling partial writes.
2067         (__basic_file<char>::xwrite): Move to __gnu_internal and make
2068         static.
2069         (__basic_file<char>::xsputn): Update call.
2070         (__basic_file<char>::xsputn_2): Likewise.
2071         * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
2072         Don't declare, now static.
2074 2004-02-11  Stefan Olsson  <stefan@xapa.se>
2076         * docs/html/ext/mt_allocator.html: New.
2078 2004-02-11  Benjamin Kosnik  <bkoz@redhat.com>
2080         * docs/html/20_util/allocator.html: New file, consolidate
2081         allocator information here. Revamp.
2082         * docs/html/documentation.html: Change links.
2083         * docs/html/20_util/howto.html: Same.
2084         * docs/html/ext/howto.html: Same.
2086 2004-02-11  Paolo Carlini  <pcarlini@suse.de>
2088         PR libstdc++/13731 (first part: write)
2089         * config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
2090         New, declare.
2091         * config/io/basic_file_stdio.cc (__basic_file<char>::xwrite):
2092         Define it: a wrapper around write() handling partial write.
2093         (__basic_file<char>::xsputn): Use it.
2094         (__basic_file<char>::xsputn_2): Likewise.
2096 2004-02-11  Paolo Carlini  <pcarlini@suse.de>
2097             Petur Runolfsson  <peturr02@ru.is>
2099         PR libstdc++/14078
2100         * include/std/std_istream.h (operator>>(__istream_type& (*)
2101         (__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
2102         operator>>(ios_base& (*)(ios_base&))): Declare inline.
2103         * include/std/std_ostream.h (operator<<(__ostream_type& (*)
2104         (__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
2105         operator<<(ios_base& (*) (ios_base&))): Likewise.
2106         * testsuite/performance/27_io/fmtflags_manipulators.cc: New.
2108 2004-02-10  Loren J. Rittle  <ljrittle@acm.org>
2110         PR libstdc++/14098
2111         * config/linker-map.gnu: Add typeinfo and typeinfo name for
2112         __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.
2114         PR libstdc++/14097
2115         * config/linker-map.gnu: Add typeinfo and typeinfo name for
2116         __gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.
2118 2004-02-09  Loren J. Rittle  <ljrittle@acm.org>
2120         * include/ext/pool_allocator.h: Include c++config.h.
2122 2004-02-09  Stefan Olsson  <stefan@xapa.se>
2124         * include/ext/mt_allocator.h: thread_id is unused in non threaded
2125         applications and now has a ifdef to remove it completely on
2126         compilers without thread support. Include stdlib.h due to a
2127         compiler warning on getenv().
2129 2004-02-09  Paul Brook  <paul@codesourcery.com>
2131         * libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
2133 2004-02-09  Paolo Carlini  <pcarlini@suse.de>
2135         PR libstdc++/14071
2136         * src/locale_init.cc (locale::global(const locale&)): Use
2137         locale::name() in order to decide whether calling setlocale.
2138         * testsuite/22_locale/locale/global_locale_objects/14071.cc: New.
2140         * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
2141         Avoid computing &= unnecessarily.
2143 2004-02-09  James E Wilson  <wilson@specifixinc.com>
2145         PR libstdc++/5625
2146         * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
2147         __builtin_extend_pointer.
2149 2004-02-09  Paolo Carlini  <pcarlini@suse.de>
2151         PR libstdc++/14072
2152         * include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
2153         Don't leave dangling pointers.
2154         * testsuite/27_io/basic_ios/imbue/14072.cc: New.
2155         * testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
2156         facet is needed in the final test.
2158 2004-02-09  Bernardo Innocenti  <bernie@develer.com>
2160         * crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
2161         * configure: Regenerate.
2163 2004-02-08  Richard Henderson  <rth@redhat.com>
2165         PR libstdc++/14026
2166         * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
2167         uncaughtExceptions during nested catch rethrow.
2168         * testsuite/18_support/14026.cc: New.
2170 2004-02-08  Paolo Carlini  <pcarlini@suse.de>
2172         * include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
2173         When working in place remember to set the state to sharable
2174         (otherwise, _M_mutate does it).
2176 2004-02-08  Bernardo Innocenti  <bernie@develer.com>
2178         * include/bits/allocator.h, include/bits/basic_ios.h,
2179         include/bits/basic_ios.tcc, include/bits/basic_string.h,
2180         include/bits/basic_string.tcc, include/bits/boost_concept_check.h,
2181         include/bits/char_traits.h, include/bits/codecvt.h,
2182         include/bits/concurrence.h, include/bits/cpp_type_traits.h,
2183         include/bits/demangle.h, include/bits/deque.tcc,
2184         include/bits/fstream.tcc, include/bits/functexcept.h,
2185         include/bits/gslice.h, include/bits/gslice_array.h,
2186         include/bits/indirect_array.h, include/bits/ios_base.h,
2187         include/bits/istream.tcc, include/bits/list.tcc,
2188         include/bits/locale_classes.h, include/bits/locale_facets.h,
2189         include/bits/locale_facets.tcc, include/bits/localefwd.h,
2190         include/bits/mask_array.h, include/bits/ostream.tcc,
2191         include/bits/postypes.h, include/bits/slice_array.h,
2192         include/bits/sstream.tcc, include/bits/stl_algo.h,
2193         include/bits/stl_algobase.h, include/bits/stl_bvector.h,
2194         include/bits/stl_construct.h, include/bits/stl_deque.h,
2195         include/bits/stl_function.h, include/bits/stl_heap.h,
2196         include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
2197         include/bits/stl_list.h, include/bits/stl_map.h,
2198         include/bits/stl_multimap.h, include/bits/stl_multiset.h,
2199         include/bits/stl_numeric.h, include/bits/stl_pair.h,
2200         include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
2201         include/bits/stl_relops.h, include/bits/stl_set.h,
2202         include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
2203         include/bits/stl_threads.h, include/bits/stl_tree.h,
2204         include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
2205         include/bits/stream_iterator.h, include/bits/streambuf.tcc,
2206         include/bits/streambuf_iterator.h,include/bits/stringfwd.h,
2207         include/bits/type_traits.h, include/bits/valarray_after.h,
2208         include/bits/valarray_array.h, include/bits/valarray_array.tcc,
2209         include/bits/valarray_before.h, include/bits/vector.tcc: Remove
2210         trailing whitespace.
2212 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
2214         * include/bits/basic_string.h: Fix comment.
2216 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
2218         * include/bits/stl_construct.h: Wrap overlong lines, reformat
2219         according to the coding standards.
2220         * include/bits/stl_pair.h: Likewise.
2221         * include/bits/stl_raw_storage_iter.h: Likewise.
2222         * include/bits/stl_stack.h: Likewise.
2223         * include/bits/stl_uninitialized.h: Likewise.
2224         * include/bits/stream_iterator.h: Likewise.
2225         * include/bits/streambuf_iterator.h: Likewise.
2226         * include/bits/type_traits.h: Likewise.
2228 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
2230         * testsuite/27_io/basic_filebuf/open/char/9507.cc:
2231         Adjust timings.
2233 2004-02-05  Loren J. Rittle  <ljrittle@acm.org>
2235         * scripts/check_performance: Support PCH.
2237         * scripts/check_performance (CXX): Add -DNOTHREAD.
2238         * testsuite/performance/20_util/allocator/insert.cc: Integrate
2239         threaded tests from insert_insert.cc.  Tweak iterations,
2240         remove special cases.
2241         * testsuite/performance/20_util/allocator/insert_insert.cc:
2242         Make all tests single-threaded. Tweak iterations.
2243         * testsuite/performance/20_util/allocator/map_thread.cc:
2244         Tweak iterations.
2245         * testsuite/performance/20_util/allocator/producer_consumer.cc:
2246         Likewise.
2248 2004-02-05  Geoffrey Keating  <geoffk@apple.com>
2250         PR 12179
2251         * .cvsignore: New.
2252         * acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
2253         'gcc-lib'.  Add comment about poorly-named variables.
2254         * aclocal.m4: Regenerate.
2255         * configure: Regenerate.
2257 2004-02-05  Paolo Carlini  <pcarlini@suse.de>
2259         * include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
2260         Thousands-sep are always optional; thousands-sep are not allowed
2261         after the decimal_point.
2262         * testsuite/22_locale/money_get/get/char/12.cc: New.
2263         * testsuite/22_locale/money_get/get/char/13.cc: New.
2264         * testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
2265         * testsuite/22_locale/money_get/get/wchar_t/13.cc: New.
2267         * testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
2268         * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
2269         * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
2270         * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
2271         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
2272         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
2273         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
2274         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
2276         * testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
2277         the standard.
2278         * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.
2280 2004-02-05  Richard Sandiford  <rsandifo@redhat.com>
2282         * config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
2283         Define.
2284         * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
2285         it to decide whether FIONREAD should take an off_t or int argument.
2287 2004-02-05  Paolo Carlini  <pcarlini@suse.de>
2289         * include/bits/stl_function.h: Minor formatting changes.
2291 2004-02-04  Zack Weinberg  <zack@codesourcery.com>
2293         Revert previous change to config/abi/*/baseline_symbols.txt.
2295 2004-02-04  Benjamin Kosnik  <bkoz@redhat.com>
2296             Zack Weinberg  <zack@codesourcery.com>
2298         * config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
2299         New function.
2300         (__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
2301         (__basic_file<char>::_M_open_mode): Delete.
2302         * config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.
2304         * testsuite/27_io/basic_filebuf/close/char/9964.cc
2305         * testsuite/27_io/basic_filebuf/open/char/9507.cc:
2306         Correct flags to filebuf::open calls.
2308         * config/abi/alpha-freebsd5/baseline_symbols.txt
2309         * config/abi/alpha-linux-gnu/baseline_symbols.txt
2310         * config/abi/hppa-linux-gnu/baseline_symbols.txt
2311         * config/abi/i386-freebsd4/baseline_symbols.txt
2312         * config/abi/i386-freebsd5/baseline_symbols.txt
2313         * config/abi/i486-linux-gnu/baseline_symbols.txt
2314         * config/abi/ia64-linux-gnu/baseline_symbols.txt
2315         * config/abi/mips-linux-gnu/baseline_symbols.txt
2316         * config/abi/sparc-freebsd5/baseline_symbols.txt
2317         * config/abi/sparc-linux-gnu/baseline_symbols.txt
2318         * config/abi/x86_64-linux-gnu/baseline_symbols.txt:
2319         Remove entry for __basic_file<char>::_M_open_mode.
2321 2004-02-04  Loren J. Rittle  <ljrittle@acm.org>
2323         * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
2325 2004-02-04  Felix Yen  <fwy@alumni.brown.edu>
2327         * testsuite/performance/20_util/producer_consumer.cc: New.
2328         * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
2330 2004-02-04  Benjamin Kosnik  <bkoz@redhat.com>
2332         * testsuite/performance/20_util/allocator.cc: Move to..
2333         * testsuite/performance/20_util/allocator/insert.cc: ...here.
2334         * testsuite/performance/20_util/allocator_thread.cc: Move to...
2335         * testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
2336         * testsuite/performance/20_util/allocator_map_thread.cc: Move to...
2337         * testsuite/performance/20_util/allocator/map_thread.cc: ...here.
2339 2004-02-04  Jonathan Wakely  <redi@gcc.gnu.org>
2341         * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
2342         * docs/html/faq/index.txt: Regenerate.
2344 2004-02-04  Dhruv Matani  <dhruvbird@gmx.net>
2346         * include/ext/debug_allocator.h: _M_extra now stands for the
2347         number of extra objects instead of the number of extra bytes.
2348         (debug_allocator::allocate): Adjust.
2349         (debug_allocator::deallocate): Adjust.
2351         * include/ext/pool_allocator.h: Fix typo.
2353 2004-02-03  Felix Yen  <fwy@alumni.brown.edu>
2354             Benjamin Kosnik  <bkoz@redhat.com>
2356         * testsuite/performance/20_util/allocator.cc: Add map,
2357         deque, set tests.
2358         * testsuite/performance/20_util/allocator_thread.cc: Same.
2360 2004-02-03  Paolo Carlini  <pcarlini@suse.de>
2362         * include/bits/basic_string.h (insert(iterator)): Remove,
2363         non-standard and already scheduled for removal.
2365 2004-02-03  Paolo Carlini  <pcarlini@suse.de>
2367         * include/bits/stl_iterator_base_funcs.h: Minor formatting
2368         and indentation tweaks.
2369         * include/bits/stl_iterator_base_types.h: Likewise.
2370         * include/bits/stl_list.h: Likewise.
2371         * include/bits/stl_map.h: Likewise.
2372         * include/bits/stl_tempbuf.h: Likewise.
2374 2004-02-02  Jerry Quinn  <jlquinn@optonline.net>
2376         * include/bits/gslice.h, include/bits/gslice_array.h,
2377         include/bits/indirect_array.h, include/bits/mask_array.h,
2378         include/bits/slice_array.h, include/bits/stl_numeric.h,
2379         include/std/std_valarray.h:  Update copyright years.
2381 2004-02-02  Jerry Quinn  <jlquinn@optonline.net>
2383         * include/bits/gslice.h (gslice):  Document.
2384         * include/bits/gslice_array.h (gslice_array):  Document.
2385         * include/bits/indirect_array (indirect_array):  Document.
2386         * include/bits/mask_array (mask_array):  Document.
2387         * include/bits/slice_array.h (slice,slice_array):  Document.
2388         * include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
2389         adjacent_difference):  Document
2390         * include/std/std_valarray.h (valarray):  Document.
2392 2004-02-02  Benjamin Kosnik  <bkoz@redhat.com>
2394         * docs/html/19_diagnostics/howto.html: Move verbose terminate
2395         documentation...
2396         * docs/html/18_support/howto.html: Here.
2397         * docs/html/documentation.html: Add reference here.
2399 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
2401         * config/locale/gnu/c++locale_internal.h: Remove prototypes
2402         of no longer used GLIBC thread locale functions.
2404 2004-02-02  Eric Christopher  <echristo@redhat.com>
2405             Zack Weinberg  <zack@codesourcery.com>
2407         * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
2408         -finput-charset.
2409         * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
2410         * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
2411         * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
2412         * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
2413         * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
2414         * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
2415         * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
2416         * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
2417         Ditto.
2419 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
2421         * include/bits/stl_function.h: Additional minor tweaks.
2422         * include/bits/stl_multiset.h: Likewise.
2424         * include/bits/stl_queue.h: Minor tweaks.
2426 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
2428         PR libstdc++/13976 (continued)
2429         * include/ext/malloc_allocator.h (malloc_allocator::deallocate):
2430         Make the second parameter unnamed, to void unused parameter
2431         warnings.
2432         * include/ext/new_allocator.h (new_allocator::deallocate): Ditto.
2434 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
2436         PR libstdc++/13976
2437         * include/ext/malloc_allocator.h (malloc_allocator::allocate):
2438         Make the second parameter unnamed, to void unused parameter
2439         warnings.
2440         * include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
2441         * include/ext/new_allocator.h (new_allocator::allocate): Ditto.
2443 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
2445         * include/bits/stl_algo.h: Additional minor tweaks.
2446         * include/bits/stl_map.h: Likewise.
2447         * include/bits/stl_multimap.h: Likewise.
2448         * include/bits/stl_multiset.h: Likewise.
2449         * include/bits/stl_set.h: Likewise.
2450         * include/bits/stl_tree.h: Likewise.
2452 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
2454         * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
2455         Remove, unused.
2457 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
2459         * include/bits/stl_function.h: Additional minor tweaks.
2461 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
2463         * include/bits/deque.tcc: Wrap overlong lines, constify
2464         a few variables, reformat according to the coding standards.
2465         * include/bits/list.tcc: Likewise.
2466         * include/bits/stl_deque.h: Likewise.
2467         * include/bits/stl_function.h: Likewise.
2468         * include/bits/stl_iterator.h: Likewise.
2469         * include/bits/stl_iterator_base_funcs.h: Likewise.
2470         * include/bits/stl_iterator_base_types.h: Likewise.
2471         * include/bits/stl_list.h: Likewise.
2472         * include/bits/stl_map.h: Likewise.
2473         * include/bits/stl_multimap.h: Likewise.
2474         * include/bits/stl_multiset.h: Likewise.
2475         * include/bits/stl_relops.h: Likewise.
2476         * include/bits/stl_set.h: Likewise.
2478 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
2480         * include/bits/stl_bvector.h: Wrap overlong lines, constify
2481         a few variables, reformat according to the coding standards.
2482         * include/bits/stl_tree.h: Likewise.
2484 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
2486         * include/bits/stl_algo.h: Minor additional reformat, add
2487         copyright year.
2488         * include/bits/stl_algobase.h: Add copyright year.
2490 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
2492         * include/bits/stl_algo.h: Wrap overlong lines, constify
2493         a few variables, reformat according to the coding standards.
2494         * include/bits/stl_algobase.h: Likewise.
2495         * include/bits/stl_heap.h: Likewise.
2497 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
2499         * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
2501         * include/bits/basic_string.h: Fix two comments.
2503 2004-01-31  Per Bothner  <per@bothner.com>
2505         * include/ext/mt_allocator.h
2506         (__mt_alloc::_S_thread_freelist_mutex): Guard with
2507         __GTHREAD_MUTEX_INIT.
2509 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
2511         * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
2513 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
2515         * testsuite/21_strings/basic_string/cons/char/6.cc: New.
2516         * testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
2517         * testsuite/performance/21_strings/string_cons_input_iterator.cc: New.
2519 2004-01-30  Felix Yen  <fwy@alumni.brown.edu>
2521         * testsuite/performance/20_util/allocator_thread.cc (do_loop):
2522         Don't use clear, but instead assign. Use insert.
2524 2004-01-30  Benjamin Kosnik  <bkoz@redhat.com>
2526         * src/demangle.cc: Add instantiations.
2527         * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
2528         * src/Makefile.in: Regenerate.
2530 2004-01-30  David Edelsohn  <edelsohn@gnu.org>
2532         * src/allocator.cc: Protect _S_get_thread_id() and
2533         _S_thread_key_destr() with #ifdef __GTHREADS.
2535 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
2537         Reshuffle performance testsuite.
2538         * testsuite/performance/allocator.cc, allocator_map_thread.cc,
2539         allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
2540         cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
2541         fstream_seek_write.cc, ifstream_extract_float.cc,
2542         ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
2543         list_create_fill_sort.cc, map_create_fill.cc,
2544         narrow_widen_char.cc, narrow_widen_wchar_t.cc,
2545         ofstream_insert_float.cc, ofstream_insert_int.cc,
2546         string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
2547         wchar_t_out.cc: Split into...
2548         * testsuite/performance/20_util/allocator.cc: New.
2549         * testsuite/performance/20_util/allocator_map_thread.cc: New.
2550         * testsuite/performance/20_util/allocator_thread.cc: New.
2551         * testsuite/performance/21_strings/string_append: New.
2552         * testsuite/performance/22_locale/is_wchar_t.cc: New.
2553         * testsuite/performance/22_locale/narrow_widen_char.cc: New.
2554         * testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
2555         * testsuite/performance/22_locale/wchar_t_in.cc: New.
2556         * testsuite/performance/22_locale/wchar_t_length.cc: New.
2557         * testsuite/performance/22_locale/wchar_t_out.cc: New.
2558         * testsuite/performance/23_containers/container_benchmark.cc: New.
2559         * testsuite/performance/23_containers/list_create_fill_sort.cc: New.
2560         * testsuite/performance/23_containers/map_create_fill.cc: New.
2561         * testsuite/performance/26_numerics/complex_norm.cc: New.
2562         * testsuite/performance/27_io/cout_insert_int.cc: New.
2563         * testsuite/performance/27_io/filebuf_copy.cc: New.
2564         * testsuite/performance/27_io/filebuf_sputc.cc: New.
2565         * testsuite/performance/27_io/fstream_seek_write.cc: New.
2566         * testsuite/performance/27_io/ifstream_extract_float.cc: New.
2567         * testsuite/performance/27_io/ifstream_extract_int.cc: New.
2568         * testsuite/performance/27_io/ifstream_getline.cc: New.
2569         * testsuite/performance/27_io/ofstream_insert_float.cc: New.
2570         * testsuite/performance/27_io/ofstream_insert_int.cc: New.
2572 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
2574         * include/bits/basic_string.tcc (_Rep::_S_create):
2575         Never allocate a string bigger than max_size(); always keep
2576         __capacity and __size in sync to avoid memory leaks at
2577         deallocation time.
2579 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
2581         * include/bits/basic_string.tcc (_S_construct(_InIterator,
2582         _InIterator, const _Alloc&, input_iterator_tag)): Simplify
2583         the double loop, streamline.
2585         * include/bits/basic_string.tcc: Very minor tweaks.
2587 2004-01-30  Loren J. Rittle  <ljrittle@acm.org>
2589         * scripts/check_performance: Only compile with $THREAD_FLAG
2590         when test is marked to require it.  Allow multiple
2591         compilations/executions of marked tests.
2592         * testsuite/testsuite_performance.h (report_performance):
2593         Report dynamic thread support status.
2594         (report_header): Likewise.
2595         * testsuite/performance/allocator.cc: Stabilize iteration
2596         count.  Support more allocators.  Mark each allocator test to
2597         run and report independently.
2598         * testsuite/performance/allocator_map_thread.cc: Likewise.
2599         * testsuite/performance/allocator_thread.cc: Likewise.
2601 2004-01-29  Stephen M. Webb  <stephen.webb@bregmasoft.com>
2603         * config/local/generic/c_locale.h: Change ::malloc() to new char[].
2604         * config/local/gnu/c_locale.h: Change ::malloc() to new char[].
2605         * include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
2606         std::get_temporary_buffer() instead of duplicating its code.
2607         Update to C++STYLE conventions.
2608         * include/std/std_memory.h (get_temporary_buffer): Use ::operator
2609         new() instead of std::malloc().
2610         (return_temporary_buffer): Use ::operator delete() instead of
2611         std::free().
2613 2004-01-29  Benjamin Kosnik  <bkoz@redhat.com>
2615         * include/bits/allocator.h: Temporary switch to new_allocator as
2616         the default to unjam bootstraps.
2618 2004-01-28  Benjamin Kosnik  <bkoz@redhat.com>
2620         * include/Makefile.am (bits_headers): Remove allocator_traits.h.
2621         * include/Makefile.in: Regenerate.
2622         * include/bits/allocator_traits.h: Remove.
2623         * include/bits/allocator.h: Remove allocator_traits.h include, and
2624         relevant comments.
2625         (allocator): Empty base class, inherit from the underlying allocator.
2626         * src/allocator-inst.cc: Move __pool_alloc instantiation to...
2627         * src/allocator.cc: ...here. New. For the underlying allocators.
2628         Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
2629         * config/linker-map.gnu: Remove __pool_alloc bits.
2630         * src/Makefile.am (sources): Add allocator.cc.
2631         * src/Makefile.in: Regenerate.
2632         * testsuite/20_util/allocator/1.cc: Split second test into...
2633         * testsuite/20_util/allocator/8230.cc: ...this.
2634         * include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
2635         typedef to use std::allocatore. Format.
2636         * include/ext/pool_allocator.h: Remove allocator_traits.h include,
2637         _Alloc_traits.
2638         * include/ext/mt_allocator.h (__gnu_cxx): Qualify
2639         __throw_bad_alloc calls. Don't include <memory>.
2640         * include/ext/malloc_allocator.h: Remove <memory> include.
2641         * include/ext/new_allocator.h (new_allocator): Same.
2642         * include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
2643         declaration. Switch __alloc to _Alloc.
2644         * include/ext/hashtable.h: Remove __alloc.
2645         * include/backward/alloc.h: Only inject allocator, not
2646         implementation details.
2648         * include/ext/mt_allocator.h: Replace free with delete.
2650 2004-01-28  Benjamin Kosnik  <bkoz@redhat.com>
2652         * src/globals_io.cc: Change to __gnu_internal namespace.
2653         * src/globals_locale.cc: Same.
2654         * src/locale_init.cc: Same.
2655         * src/ios_init.cc: Same.
2657 2004-01-28  Stefan Olsson  <stefan@snon.net>
2659         * include/ext/mt_allocator.h: Replaced all malloc() calls with
2660         operator new(). Added support for the env variable
2661         GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
2662         one in allocate() as well). Fix typos.
2664 2004-01-28  Paolo Carlini  <pcarlini@suse.de>
2666         * include/bits/basic_string.h (_S_create(size_t,
2667         const _Alloc&): Change signature to take two size_type
2668         arguments.
2669         * include/bits/basic_string.tcc (_S_construct(_InIterator,
2670         _InIterator, const _Alloc&, input_iterator_tag)): Update
2671         call, tweak a bit.
2672         (_S_construct(_InIterator, _InIterator, const _Alloc&,
2673         forward_iterator_tag)): Likewise.
2674         (_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
2675         (_M_mutate(size_type, size_type, size_type)): Don't
2676         implement the exponential growth policy, demand it to
2677         _S_create, update call and simplify.
2678         (_M_clone(const _Alloc&, size_type)): Likewise.
2679         (_S_create(size_type, size_type, const _Alloc&)): Implement
2680         the growth policy, simplify otherwise.
2682         * include/bits/basic_string.h (_Rep::operator[]): Tweak
2683         signature to take a size_type, consistently with the other
2684         members.
2686 2004-01-27  Benjamin Kosnik  <bkoz@redhat.com>
2688         * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
2689         delete declarations, add include and test variable.
2691 2003-01-27  Jerry Quinn  <jlquinn@optonline.net>
2693         * include/bits/codecvt.h, include/bits/locale_facets.h,
2694         include/bits/postypes.h, include/bits/stl_bvector.h,
2695         include/bits/stl_multiset.h, include/bits/stl_set.h,
2696         include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
2697         include/std/std_complex.h:  Document.
2699 2004-01-27  Jerry Quinn  <jlquinn@optonline.net>
2701         PR libstdc++/11584
2702         * include/bits/ios_base.h (ios_base::_M_grow_words):  Add
2703         iword/pword selector.
2704         (ios_base::iword, ios_base::pword):  Use it.
2705         * src/ios.cc (ios_base::_M_grow_words):  Clear _M_word_zero
2706         iword or pword member on alloc failure.
2707         * testsuite/27_io/ios_base/storage/11584.cc:  New test.
2709 2004-01-27  Ulrich Weigand  <uweigand@de.ibm.com>
2710             PJ Darcy  <darcypj@us.ibm.com>
2712         * configure.host: Add support for *-tpf.
2713         * crossconfig.m4: Likewise.
2714         * configure: Regenerate.
2715         * config/os/tpf: New directory.
2716         * config/os/tpf/os_defines.h: New file.
2717         * config/os/tpf/ctype_base.h: Likewise.
2718         * config/os/tpf/ctype_inline.h: Likewise.
2719         * config/os/tpf/ctype_noninline.h: Likewise.
2721 2004-01-27  Paolo Carlini  <pcarlini@suse.de>
2723         PR libstdc++/13884
2724         * include/bits/sstream.tcc: Guard use of extern template.
2726 2004-01-27  Paolo Carlini  <pcarlini@suse.de>
2728         * include/bits/basic_string.tcc
2729         (basic_string(const basic_string&, size_type, size_type),
2730         basic_string(const basic_string&, size_type, size_type,
2731         const _Alloc&)): Avoid unnecessarily constructing iterators.
2733 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
2735         * config/locale/generic/c_locale.cc: Fix throw messages
2736         to use the __N marker.
2737         * config/locale/gnu/c_locale.cc: Likewise.
2738         * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
2739         Likewise.
2740         * docs/html/17_intro/C++STYLE: Likewise.
2741         * include/bits/basic_ios.tcc: Likewise.
2742         * include/bits/fstream.tcc: Likewise.
2743         * include/bits/vector.tcc: Likewise.
2744         * include/ext/ropeimpl.h: Likewise.
2745         * include/std/std_bitset.h: Likewise.
2746         * src/ios.cc: Likewise.
2747         * src/locale.cc: Likewise.
2748         * src/localename.cc: Likewise.
2750 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
2752         * include/bits/basic_string.h (_M_replace_aux): Use the
2753         __N marker in throw message.
2754         * include/bits/basic_string.tcc (assign(const _CharT*,
2755         size_type), insert(size_type, const _CharT*, size_type),
2756         replace(size_type, size_type, const _CharT*, size_type),
2757         reserve, _Rep::_S_create, resize, _M_replace_dispatch):
2758         Likewise.
2760         * include/bits/basic_string.h, include/bits/basic_string.tcc:
2761         Fold overlong lines, minor formatting changes.
2763 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
2765         * include/bits/basic_string.h (replace(iterator, iterator,
2766         const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
2767         (replace(iterator, iterator, const _CharT*)): Ditto.
2768         (replace(iterator, iterator, const _CharT*, size_type)):
2769         Add missing _GLIBCXX_DEBUG_PEDASSERT.
2771 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
2773         * include/bits/basic_string.tcc (replace(size_type,
2774         size_type, const _CharT*, size_type)): Implement optimized
2775         in-place algorithm for non-overlapping ranges.
2776         * testsuite/21_strings/basic_string/replace/char/6.cc: New.
2777         * testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.
2779         * include/bits/basic_string.tcc (insert(size_type,
2780         const _CharT*, size_type)): Tweak slightly.
2782 2004-01-26  Andreas Schwab  <schwab@suse.de>
2784         * config/locale/gnu/monetary_members.cc: Restore locale before
2785         rethrowing exception.
2787 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
2789         * include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
2790         Define inline here.
2791         * include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
2792         Move inline.
2794         * include/bits/basic_string.tcc: Very minor tweaks.
2796 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
2798         * testsuite/performance/string_append.cc: Increase number
2799         of iterations.
2801 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
2803         * include/bits/basic_string.h (erase(size_type, size_type),
2804         erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
2805         instead, thus avoiding redundant check for length_error.
2807         * include/bits/basic_string.h: Tweak some comments.
2809 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
2811         * include/bits/basic_string.tcc (operator+(const _CharT*,
2812         const basic_string&)): No need to go through the append
2813         taking two iterators.
2815 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
2817         * include/bits/basic_string.tcc (rfind(_CharT, size_type)):
2818         Revert last change to use std::min: machine language is worse.
2819         (find_last_of(const _CharT*, size_type, size_type)): Ditto.
2820         (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
2821         (find_last_not_of(_CharT, size_type)): Ditto.
2823         * include/bits/basic_string.tcc (insert(size_type, const _CharT*,
2824         size_type)): Discard the value returned by _M_check.
2825         (replace(size_type, size_type, const _CharT*, size_type)): Ditto.
2826         (append(const basic_string&, size_type, size_type)): Ditto.
2827         (copy(_CharT*, size_type, size_type)): Ditto.
2828         (compare(size_type, size_type, const basic_string&)): Ditto.
2829         (compare(size_type, size_type, const basic_string&,
2830         size_type, size_type)): Ditto.
2831         (compare(size_type, size_type, const _CharT*)): Ditto.
2832         (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
2834 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
2836         * include/bits/basic_string.h (insert(size_type,
2837         const basic_string&, size_type, size_type)): Define inline here.
2838         * include/bits/basic_string.tcc (insert(size_type,
2839         const basic_string&, size_type, size_type)): Move inline.
2841 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
2843         * include/bits/basic_string.h (assign(const basic_string&,
2844         size_type, size_type)): Define inline here.
2845         (replace(size_type, size_type, const basic_string&,
2846         size_type, size_type)): Ditto.
2847         (_M_replace_dispatch(iterator, iterator, _InputIterator,
2848         _InputIterator, __false_type)): Only declare.
2849         (_M_replace(iterator, iterator, _InputIterator,
2850         _InputIterator)): Remove.
2851         * include/bits/basic_string.tcc (assign(const basic_string&,
2852         size_type, size_type)): Move inline.
2853         (replace(size_type, size_type, const basic_string&,
2854         size_type, size_type)): Ditto.
2855         (_M_replace_dispatch(iterator, iterator, _InputIterator,
2856         _InputIterator, __false_type)): Define, now does also what
2857         _M_replace did before.
2858         * src/string-inst.cc (_M_replace): Don't instantiate.
2860         * include/bits/basic_string.tcc (find(const _CharT*,
2861         size_type, size_type)): Tidy.
2862         (rfind(_CharT, size_type)): Ditto.
2863         (find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
2864         (find_first_not_of(_CharT, size_type)): Ditto.
2865         (find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
2866         (find_last_not_of(_CharT, size_type)): Ditto.
2868 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
2870         PR libstdc++/13838
2871         * include/debug/bitset (operator|=): Fix typo.
2872         * testsuite/23_containers/bitset/operations/13838.cc: New.
2874 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
2876         * include/bits/basic_string.tcc (insert(size_type,
2877         const _CharT*, size_type __n)): Fix length_error check.
2878         (replace(size_type, size_type, const _CharT*, size_type):
2879         Ditto; call _M_replace_safe.
2880         (_M_replace_aux(size_type, size_type, size_type, _CharT):
2881         Fix length_error check.
2882         (_M_replace(iterator, iterator, _InputIterator,
2883         _InputIterator)): Ditto, tweak.
2884         (_M_replace_safe(size_type, size_type, const _CharT*,
2885         size_type)): Remove length_error check.
2887         * include/bits/basic_string.tcc (append(const basic_string&),
2888         append(const basic_string&, size_type, size_type)): Tweak
2889         comment.
2891         * include/bits/basic_string.tcc (copy(_CharT*, size_type,
2892         size_type)): If __n == 0 don't call traits::copy.
2894 2004-01-23  Stefan Olsson  <stefan@snon.net>
2896         * include/ext/mt_allocator.h: Reduce lock contention.
2898 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
2900         PR libstdc++/13831
2901         * include/bits/fstream.tcc (underflow): Remove unused
2902         variable.
2903         * include/bits/streambuf_iterator.h (equal): Ditto.
2904         * include/bits/locale_facets.h (_M_convert_from_char):
2905         Ditto.
2907 2004-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2909         PR c/13814
2910         * config/linker-map.gnu (nan): Delete.
2911         * libmath/mathconf.h (NAN, nan): Delete.
2912         * linkage.m4 (nan): Don't check for it.
2913         * libmath/nan.c: Delete file.
2915         * config.h.in, configure: Regenerate.
2917 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
2919         * include/bits/basic_string.h (push_back(_CharT)):
2920         Call _M_replace_aux.
2921         (insert(size_type, const basic_string&)): Trivial tweak.
2922         (insert(size_type, size_type, _CharT)): Call _M_replace_aux.
2923         (insert(iterator, _CharT)): Ditto.
2924         (erase(size_type, size_type)): Ditto.
2925         (erase(iterator)): Ditto.
2926         (erase(iterator, iterator)): Ditto.
2927         (replace(size_type, size_type, size_type, _CharT)): Ditto.
2929 2004-01-23  Loren J. Rittle  <ljrittle@acm.org>
2931         libstdc++/13823
2932         * testsuite/performance/allocator_map_thread.cc: New test.
2934 2004-01-22  Paolo Carlini  <pcarlini@suse.de>
2936         * include/bits/locale_facets.tcc
2937         (money_put::do_put(..., long double)): Use the basic_string
2938         constructor for char arrays, not that for C-strings, to pass
2939         __digits to do_put(..., const string_type&): __ws isn't
2940         null-terminated.
2942 2004-01-22  Paolo Carlini  <pcarlini@suse.de>
2944         * include/bits/basic_string.h (_M_replace_safe): Change
2945         signatures to take size_types and const _CharT*.
2946         (_M_replace_aux): Likewise, takes size_types instead of
2947         iterators.
2948         (append(size_type, _CharT)): Update call.
2949         (assign(size_type, _CharT)): Ditto.
2950         (replace(iterator, iterator, size_type, _CharT)): Ditto.
2951         (_M_replace_dispatch(iterator, iterator, _Integer,
2952         _Integer, __true_type)): Ditto.
2953         * include/bits/basic_string.tcc (assign(const _CharT*,
2954         size_type)): Ditto.
2955         (insert(size_type, const _CharT*, size_type)): Ditto.
2956         (replace(size_type, size_type, const _CharT*,
2957         size_type)): Ditto.
2958         (_M_replace(iterator, iterator, _InputIterator,
2959         _InputIterator)): Ditto.
2960         (append(const basic_string&)): Ditto.
2961         (append(const basic_string&, size_type, size_type): Ditto.
2962         (append(const _CharT*, size_type): Ditto.
2963         (_M_replace_safe, _M_replace_safe): Change definitions
2964         accordingly, simplify.
2965         * string-inst.cc (_M_replace_safe): Don't instantiate.
2967 2004-01-21  Paolo Carlini  <pcarlini@suse.de>
2969         * include/bits/basic_string.tcc (append(const basic_string&)):
2970         Revert previous change.
2971         (append(const basic_string&, size_type, size_type)): Revert
2972         previous change, use _M_check and _M_limit.
2974 2004-01-21  Paolo Carlini  <pcarlini@suse.de>
2976         * include/bits/basic_string.h (_M_check): Change to return
2977         a checked __pos and take an additional const char* argument.
2978         (_M_fold): Rename to _M_limit, change to return a size_type,
2979         corresponding to the __off limited to the actual length.
2980         (insert(size_type, size_type, _CharT)): Update call, call
2981         replace.
2982         (insert(iterator, _CharT)): Call replace(iterator, iterator,
2983         size_type, _CharT) instead.
2984         (erase(size_type, size_type)): Update calls.
2985         (replace(size_type, size_type, size_type, _CharT)): Ditto.
2986         (substr(size_type, size_type)): Use _M_check.
2987         * include/bits/basic_string.tcc (basic_string(const basic_string&,
2988         size_type, size_type)): Update calls.
2989         (basic_string(const basic_string&, size_type, size_type,
2990         const _Alloc&)): Ditto.
2991         (assign(const basic_string&, size_type, size_type)): Use the
2992         new _M_check and _M_limit.
2993         (insert(size_type, const basic_string&, size_type, size_type):
2994         Ditto.
2995         (insert(size_type, const _CharT*, size_type)): Ditto.
2996         (replace(size_type, size_type, const _CharT*, size_type): Ditto.
2997         (replace(size_type, size_type, const basic_string&,
2998         size_type, size_type)): Ditto.
2999         (append(const basic_string&)): Ditto.
3000         (append(const basic_string&, size_type, size_type)): Ditto.
3001         (copy(_CharT*, size_type, size_type)): Ditto.
3002         (compare(size_type, size_type, const basic_string&)): Ditto.
3003         (compare(size_type, size_type, const basic_string&,size_type,
3004         size_type)): Ditto.
3005         (compare(size_type, size_type, const _CharT*)): Ditto.
3006         (compare(size_type, size_type, const _CharT*, size_type)): Ditto.
3008 2004-01-19  Stefan Olsson  <stefan@snon.net>
3010         * include/ext/mt_allocator.h: If a thread, when it dies, still has
3011         memory on it's freelist this memory is not returned to global
3012         list. Simplification of deallocate so that memory is always
3013         returned to the calling thread id's freelist instead of to
3014         global. Fix typos. Add volatile where appropriate.
3016 2004-01-19  Loren J. Rittle  <ljrittle@acm.org>
3018         * testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
3019         * testsuite/ext/stdio_filebuf/char/10063-3.cc: New test.  Like -2 but
3020         use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
3022 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
3024         * src/debug.cc: Make sure all the names are prefixed with
3025         double (or single) underscore.
3027 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
3029         * src/debug.cc: Trivial formatting change.
3031 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
3033         * include/bits/basic_string.tcc (_S_construct(size_type,
3034         _CharT, const _Alloc&)): Remove redundant try/catch.
3035         (_M_mutate(size_type, size_type, size_type)): Ditto.
3036         (_M_clone(const _Alloc&, size_type)): Ditto.
3038 2004-01-18  Paolo Carlini  <pcarlini@suse.de>
3040         * include/bits/basic_string.h (c_str()): Simplify, due to
3041         21.3.4 the internal representation is always kept null-terminated.
3042         * include/bits/basic_string.tcc (_M_clone): Null-terminate.
3043         * testsuite/21_strings/basic_string/element_access/char/4.cc: New.
3044         * testsuite/21_strings/basic_string/element_access/wchar_t/4.cc:
3045         Ditto.
3047 2004-01-18  Paolo Carlini  <pcarlini@suse.de>
3049         * include/bits/basic_string.h (append(size_type, _CharT)):
3050         Moved inline, just call _M_replace_aux, no source iterators at
3051         risk of being clobbered.
3052         (assign(size_type, _CharT)): Call directly _M_replace_aux.
3053         (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
3054         input_iterator_tag)): Remove fifth unused argument.
3055         (_M_replace_dispatch(iterator, iterator, _InputIterator,
3056         _InputIterator, __false_type)): Update call.
3057         * include/bits/basic_string.tcc (replace(size_type, size_type,
3058         const _CharT*, size_type)): Update call.
3059         (_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
3060         throw string literal.
3061         (_M_replace_safe(iterator, iterator, _ForwardIterator,
3062         _ForwardIterator)): Likewise.
3063         (_M_replace(iterator, iterator, _InputIterator, _InputIterator,
3064         input_iterator_tag)): Remove fifth unused argument.
3065         (append(size_type __n, _CharT __c)): Move inline.
3066         * src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
3067         const C*, const C*, input_iterator_tag)): Remove fifth unused
3068         argument.
3070 2004-01-16  Benjamin Kosnik  <bkoz@redhat.com>
3072         * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
3073         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
3075 2004-01-16  Danny Smith  <dannysmith@users.sourceforge.net>
3077         * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
3078         mkfifo for mingw32.
3080 2004-01-15  Stefan Olsson  <stefan@snon.net>
3082         * include/ext/mt_allocator.h: Reuse thread id's as soon as
3083         possible by changing the behaviour of thread_freelist to do
3084         push_front when threads die instead of push_back.
3086 2004-01-14  Paolo Carlini  <pcarlini@suse.de>
3088         * include/bits/locale_facets.h (struct __numpunct_cache):
3089         Add member _M_grouping_size, caching the length of _M_grouping.
3090         (__numpunct_cache<>::_M_cache): Assign the latter.
3091         (__verify_grouping): Move declaration...
3092         * include/bits/locale_facets.tcc (__verify_grouping):
3093         ... here, change signature to take a const char* and a size_t
3094         for the grouping; not a template anymore.
3095         (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
3096         Likewise change signature and tweak consistently.
3097         (num_get::_M_extract_float, num_get::_M_extract_int,
3098         num_put::_M_insert_int, num_put::_M_insert_float,
3099         money_get::do_get(string_type&), money_get::do_put(string_type)):
3100         Update callers.
3101         * config/locale/generic/numeric_members.cc
3102         (numpunct<>::_M_initialize_numpunct): Assign the new member.
3103         * config/locale/gnu/numeric_members.cc
3104         (numpunct<>::_M_initialize_numpunct): Likewise.
3105         * src/locale-inst.cc (__add_grouping): Tweak signature.
3106         (__verify_grouping): Don't instantiate, not a template anymore.
3108         * include/bits/locale_facets.h: Rename _M_truename_len ->
3109         _M_truename_size, _M_falsename_len -> _M_falsename_size.
3110         * include/bits/locale_facets.tcc: Likewise.
3111         * config/locale/generic/numeric_members.cc: Likewise.
3112         * config/locale/gnu/numeric_members.cc: Likewise.
3114 2004-01-14  Stefan Olsson  <stefan@snon.net>
3116         * include/ext/mt_allocator.h: Fixups.
3117         * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
3118         * testsuite/performance/allocator_thread.cc: Same.
3120 2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>
3122         * testsuite/performance/ifstream_extract_float.cc: Add higher
3123         precision tests.
3124         * testsuite/performance/ofstream_insert_float.cc: Same.
3126 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
3128         * src/locale-misc-inst.cc (__convert_from_v(long),
3129         __convert_from_v(unsigned long), __convert_from_v(long long),
3130         __convert_from_v(unsigned long long)): Remove, unused.
3132 2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>
3134         * testsuite/performance/ifstream_extract_float.cc: New.
3135         * testsuite/performance/ofstream_insert_float.cc: Float generation
3136         matches above.
3138         * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
3139         * 20_util/auto_ptr/1.cc: ...this.
3140         * 20_util/auto_ptr/2.cc: Same.
3141         * 20_util/auto_ptr/3.cc: Same.
3142         * 20_util/auto_ptr/3946.cc: Same.
3143         * 20_util/auto_ptr/4.cc: Same.
3144         * 20_util/auto_ptr/5.cc: Same.
3145         * 20_util/auto_ptr/6.cc: Same.
3146         * 20_util/auto_ptr/7.cc: Same.
3147         * 20_util/auto_ptr/assign_neg.cc
3148         * 20_util/pairs.cc: Break into...
3149         * 20_util/pair/1.cc: ...this.
3150         * 20_util/pair/2.cc: Same.
3151         * 20_util/pair/3.cc: Same.
3152         * 20_util/pair/4.cc: Same.
3154 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
3156         * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
3157         Set correctly just basefield, the only group that matters.
3159 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
3161         * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
3162         (_Rope_rep_base): Inherit directly from the rope allocator;
3163         use rebinding instead of _Alloc_traits; pick up data member
3164         from _Rope_rep_alloc_base.
3165         (_Rope_alloc_base): Eliminate.
3166         (_Rope_base): Inherit directly from the rope allocator; use
3167         rebinding instead of _Alloc_traits; pick up data member from
3168         _Rope_alloc_base.
3169         (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
3170         rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
3172 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
3174         PR libstdc++/13650
3175         * include/bits/basic_string.tcc (compare(size_type, size_type,
3176         const _CharT*, size_type)): Implement correctly the resolution
3177         of DR 5: basically, s is a char array, -not- a C string.
3178         * include/bits/basic_string.h: Tweak some comments.
3179         * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
3180         * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
3182 2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
3184         * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
3185         Solaris.
3187 2004-01-12  Paolo Carlini  <pcarlini@suse.de>
3189         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
3190         Use try_mkfifo.
3191         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
3192         Likewise.
3194 2004-01-12  Paolo Carlini  <pcarlini@suse.de>
3196         * include/bits/locale_facets.h (struct __numpunct_cache):
3197         Add members _M_truename_len and _M_falsename_len, caching
3198         the lengths of _M_truename and _M_falsename.
3199         (__numpunct_cache<>::_M_cache): Assign the latter.
3200         * include/bits/locale_facets.tcc (num_get::do_get(bool&),
3201         num_put::do_put(bool)): Use the new members, thus avoiding
3202         computing string lengths again and again.
3203         * config/locale/generic/numeric_members.cc
3204         (numpunct<>::_M_initialize_numpunct): Assign the new members.
3205         * config/locale/gnu/numeric_members.cc
3206         (numpunct<>::_M_initialize_numpunct): Likewise.
3208 2004-01-12  Mark Mitchell  <mark@codesourcery.com>
3210         * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
3211         * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
3212         it.
3213         * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
3214         and remove Cygwin XFAIL.
3215         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
3216         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
3217         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
3218         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
3219         Likewise.
3220         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
3221         * testsuite/27_io/objects/char/7.cc: Likewise.
3222         * testsuite/27_io/objects/char/9661-1.cc: Likewise.
3223         * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
3224         * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
3226 2004-01-11  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3228         * include/std/std_complex.h (std::complex<>::real): Return a
3229         reference. Add non-const overload.
3230         (std::complex<>::real): Likewise.
3231         (std::real): Likewise.
3232         (std::imag): Likewise.
3233         (std::operator+): Tidy.
3234         (std::operator-): Likewise.
3235         (std::operator*): Likewise.
3236         (std::operator/): Likewise.
3237         (std::operator>>): Likewise.
3239 2004-01-11  Paolo Carlini  <pcarlini@suse.de>
3241         PR libstdc++/13582
3242         * include/bits/fstream.tcc (imbue): Exploit the external
3243         buffer to imbue 'on the fly' a new locale and convert its
3244         remainder with the new codecvt facet.
3245         (underflow): Tweak slightly to deal with this special case.
3246         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
3247         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
3248         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
3249         * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
3250         * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
3252 2004-01-10  Paolo Carlini  <pcarlini@suse.de>
3254         * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
3255         Import Revision 28.
3257 2004-01-10  Paolo Carlini  <pcarlini@suse.de>
3259         PR libstdc++/13630
3260         * include/bits/locale_classes.h (class locale): Fix category
3261         typedef.
3262         * testsuite/22_locale/locale/13630.cc: Add.
3264 2004-01-10  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
3266         * include/bits/locale_facets.h: Make a name really dependent. This
3267         will be needed when Core Issue 224 is implemented.
3269 2004-01-09  Paolo Carlini  <pcarlini@suse.de>
3271         * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
3272         * testsuite/performance/allocator_thread.cc: Likewise.
3274 2004-01-07  Benjamin Kosnik  <bkoz@redhat.com>
3276         * crossconfig.m4: Add LFS, io bits to linux cross config.
3277         * acconfig.h: Remove obsolete bits, reorder.
3278         * config.h.in: Regenerate.
3279         * aclocal.m4: Same.
3280         * configure: Same.
3282 2004-01-07  Gawain Bolton  <gp.bolton@computer.org>
3284         * include/bits/stl_list.h:
3285         * include/bits/list.tc:
3286         * src/list.cc:
3287         Performance enhancements for destructor, push_front(),
3288         push_back(), pop_front(), pop_back(), sort()
3289         Eliminated static_casts where possible.
3290         Moved code out of header files into new src/list.cc
3291         implementation file for library where possible.
3292         Remove inheritance from iterator class and create separate
3293         classes for non-constant and constant iterators.
3294         * include/bits/stl_tree.h (_Rb_tree class):
3295         * src/tree.cc:
3296         Only erase contents in destructor.
3297         Eliminate unnecessary initialization in assignment operator.
3298         Optimize for the nominal case by not checking whether
3299         container is empty in clear().
3300         Re-order test in _M_insert() to improve performance.
3301         Move initialization of new node's left & right pointers to
3302         src/tree.cc to where new node's colour is initialized
3303         and to reduce the amount of inline code.
3304         Use  _M_leftmost() and _M_end() to improve readability where
3305         appropriate.
3306         Create separate classes for non-constant and constant
3307         iterators to clarify code, avoid extra template parameters and
3308         casting away constness.
3310 2004-01-07  Benjamin Kosnik  <bkoz@redhat.com>
3312         * src/Makefile.am (sources): Add list.cc, tree.cc.
3313         * src/stl_tree.cc: Move to...
3314         * src/tree.cc: ...here.
3315         * src/list.cc: Add.
3316         * config/linker-map.gnu: Tweaks.
3317         * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
3318         * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
3320         * bits/stl_vector.h: Column wrap comments.
3322 2004-01-07  Loren J. Rittle  <ljrittle@acm.org>
3324         (re-open) PR libstdc++/12658
3325         * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
3326         (locale::global): Likewise.
3328 2004-01-07  Paolo Carlini  <pcarlini@suse.de>
3330         * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
3331         Remove redundant #include.
3332         * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
3333         * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
3334         re-enable normal testing.
3335         * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
3336         #include.
3337         * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
3338         * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
3339         Likewise.
3340         * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
3341         Likewise.
3342         * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
3343         Likewise.
3344         * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
3345         Likewise.
3346         * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
3347         Likewise.
3348         * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
3349         Likewise.
3350         * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
3351         Likewise.
3352         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
3353         More properly, #include <locale>.
3354         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
3355         Remove redundant #include.
3356         * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
3357         * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
3358         redundant DejaGnu directive.
3359         * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
3360         redundant #include.
3362 2004-01-06  Benjamin Kosnik  <bkoz@redhat.com>
3363             Stefan Olsson  <stefan@snon.net>
3365         * scripts/check_performance: Use -pthread.
3366         * testsuite/performance/allocator.cc: Tweaks, add list.
3367         * testsuite/performance/allocator_thread.cc: New.
3369 2004-01-06  Jerry Quinn  <jlquinn@optonline.net>
3371         * include/bits/locale_facets.h: Document public classes and
3372         functions.
3373         * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
3374         Add comment.
3376 2004-01-06  Paolo Carlini  <pcarlini@suse.de>
3378         * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
3379         Remove redundant #includes.
3380         * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
3381         Likewise.
3382         * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
3383         Likewise.
3384         * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
3385         * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
3386         * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
3387         * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
3388         * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
3389         * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
3390         * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
3391         * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
3392         * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
3393         * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
3394         * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
3395         * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
3396         * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
3397         * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
3398         * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
3399         Likewise.
3400         * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
3401         Likewise.
3402         * testsuite/27_io/basic_istream/readsome/char/8258.cc:
3403         Likewise.
3404         * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
3405         Likewise.
3406         * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
3407         Likewise.
3408         * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
3409         * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
3410         * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
3412 2004-01-04  Paolo Carlini  <pcarlini@suse.de>
3414         * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
3415         Remove redundant #includes.
3416         * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
3417         Likewise.
3418         * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
3419         Likewise.
3420         * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
3421         Likewise.
3422         * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
3423         Likewise.
3424         * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
3425         Likewise.
3426         * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
3427         Likewise.
3428         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
3429         Likewise.
3430         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
3431         Likewise.
3432         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
3433         Likewise.
3434         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
3435         Likewise.
3436         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
3437         Likewise.
3438         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
3439         Likewise.
3441 2004-01-04  Mark Mitchell  <mark@codesourcery.com>
3443         PR c++/12226
3444         * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
3445         constructor.
3446         * testsuite/27_io/basic_fstream/4.cc: Likewise.
3447         * testsuite/27_io/basic_ifstream/4.cc: Likewise.
3448         * testsuite/27_io/basic_ios/4.cc: Likewise.
3449         * testsuite/27_io/basic_iostream/4.cc: Likewise.
3450         * testsuite/27_io/basic_istream/4.cc: Likewise.
3451         * testsuite/27_io/basic_istingstream/4.cc: Likewise.
3452         * testsuite/27_io/basic_ofstream/4.cc: Likewise.
3453         * testsuite/27_io/basic_ostream/4.cc: Likewise.
3454         * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
3455         * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
3456         * testsuite/27_io/basic_stringstream/4.cc: Likewise.
3458 2004-01-04  Paolo Carlini  <pcarlini@suse.de>
3460         * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
3461         Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
3462         always use double underscored names.
3463         * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
3464         Likewise.
3465         * include/bits/locale_facets.h (struct __numpunct_cache):
3466         Dimension _M_atoms_out and _M_atoms_in one position smaller.
3467         (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out
3468         and _M_atoms_in.