OSDN Git Service

2004-06-10 Aaron W. LaFramboise <aaronraolete36@aaronwl.com>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
1 2004-06-10  Aaron W. LaFramboise  <aaronraolete36@aaronwl.com>
2
3         * include/bits/istream.tcc (istream::ignore): Fix for -Wuninitialized.
4
5 2004-06-10  Jan van Dijk  <jan@etpmod.phys.tue.nl>
6
7         * include/std/std_complex.h (sin(const complex<_Tp>& __z)): Make
8         this function return a value.
9
10 2004-06-09  Paolo Carlini  <pcarlini@suse.de>
11
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.
20
21 2004-06-09  Benjamin Kosnik  <bkoz@redhat.com>
22
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>
29
30         * docs/doxygen/filter.sed: Rename _GLIBCXX_STD to std.
31         * docs/doxygen/mainpage.html: Remove links.
32
33 2004-06-08  Jason Merrill  <jason@redhat.com>
34
35         * config/linker-map.gnu: Use wildcards for
36         __basic_file::{xsgetn,xsputn,seekoff,xsputn_2}.
37
38 2004-06-08  Paolo Carlini  <pcarlini@suse.de>
39
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.
44
45 2004-06-07  Dhruv Matani  <dhruvbird@gmx.net>
46             Paolo Carlini  <pcarlini@suse.de>
47
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.
52
53 2004-06-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
54
55         * include/std/std_complex.h (log): Tidy.
56
57 2004-05-31  Benjamin Kosnik  <bkoz@redhat.com>
58
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>
66
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.
94
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.
103
104 2004-05-27  Benjamin Kosnik  <bkoz@redhat.com>
105
106         PR libstdc++/15675
107         * docs/html/documentation.html: Update doxygen links for 3.4.0.
108
109 2004-05-27  Jan Beulich  <jbeulich@novell.com>
110
111         * scripts/create_testsuite_files: Tweak.
112
113 2004-05-25  Benjamin Kosnik  <bkoz@redhat.com>
114
115         PR libstdc++/15489
116         * scripts/create_testsuite_files: Revert xtype change, add non-GNU
117         bits to do the same thing.
118
119 2004-05-24  Paolo Carlini  <pcarlini@suse.de>
120
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.
124
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().
128
129         * include/bits/istream.tcc: Minor tweaks.
130
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.
140
141 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
142
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.      
163
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
175
176          specifications. Add copy constructors and assignment operators.
177
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.
183
184         * include/backward/strstream: Declare assignment operator and copy
185         constructor private.
186
187 2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>
188
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>
198
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>
209
210         * testsuite/abi_check.cc: Add unistd.h.
211
212 2004-05-22  Paolo Carlini  <pcarlini@suse.de>
213
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.
220
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.
229
230 2004-05-21  Matthias Klose  <doko@debian.org>
231  
232         * docs/doxygen/run_doxygen:  Bump required version.
233
234 2004-05-21  Benjamin Kosnik  <bkoz@redhat.com>
235
236         * docs/html/abi.html (libgcc_s): Additions suggested by Matthias Klose.
237         * docs/doxygen/Intro.3: Subtractions suggested by Phil Edwards.
238
239 2004-05-21  Paolo Carlini  <pcarlini@suse.de>
240
241         * include/bits/istream.tcc (ignore): Remove redundant line.
242         (readsome): Tidy, closely following 27.6.1.3, p30.
243
244 2004-05-20  Paolo Carlini  <pcarlini@suse.de>
245
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.
253
254         * include/bits/istream.tcc: Const-ification of a few variables.
255
256         * include/bits/ostream.tcc: Trivial formatting fixes and
257         const-ification of some variables.
258
259 2004-05-20  Benjamin Kosnik  <bkoz@redhat.com>
260
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>
273
274         * include/ext/stdio_filebuf.h: Update comments to reflect PR 11691.
275
276 2004-05-18  Jan Beulich  <jbeulich@novell.com>
277  
278         PR libstdc++/15489
279         * scripts/create_testsuite_files: Also find source files through
280           symbolic links.
281
282 2004-05-18  Jan Beulich  <jbeulich@novell.com>
283
284         PR libstdc++/15488
285         * testsuite/lib/libstdc++.exp: Make test files writable.
286
287 2004-05-18  Paolo Carlini  <pcarlini@suse.de>
288
289         * include/ext/mt_allocator.h:(__mt_alloc::allocate): Minor
290         tweaks.
291
292 2004-05-18  Dhruv Matani  <dhruvbird@gmx.net>
293
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.
298
299 2004-05-18  Jonathan Wakely  <redi@gcc.gnu.org>
300
301         * include/ext/enc_filebuf.h: Move concept-check macro to class scope.
302
303 2004-05-17  Benjamin Kosnik  <bkoz@redhat.com>
304
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.
313
314 2004-05-17  Douglas Gregor   <gregod@cs.rpi.edu>
315
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.
320
321 2004-05-17  Jonathan Wakely  <redi@gcc.gnu.org>
322
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.
329
330 2004-05-16  Paolo Carlini  <pcarlini@suse.de>
331
332         * include/std/std_bitset.h: Minor formatting fixes.
333
334 2004-05-16  Paolo Carlini  <pcarlini@suse.de>
335
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).
341
342 2004-05-15  Paolo Carlini  <pcarlini@suse.de>
343
344         * include/std/std_bitset.h: Trivial formatting fixes.
345
346 2004-05-14  Paolo Carlini  <pcarlini@suse.de>
347             Ivan Godard  <igodard@pacbell.net>
348
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.
352
353 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
354
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>
361
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.
380
381 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
382
383         PR libstdc++/15074      
384         * docs/html/faq/index.html: Update docs for libsupc++ usage.
385
386 2004-05-13  Benjamin Kosnik  <bkoz@redhat.com>
387
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.
406
407         * docs/html/17_intro/TODO: Update.
408         * include/bits/stl_pair.h: Format.
409         
410 2004-05-06  Matthias Klose  <doko@debian.org>
411
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>
420
421         * acinclude.m4: Replace -W with more speaking -Wextra.
422         * configure: Rebuilt.
423
424 2004-05-03  Paolo Carlini  <pcarlini@suse.de>
425
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.
445
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.
451
452 2004-04-29  Paolo Carlini  <pcarlini@suse.de>
453
454         * src/locale.cc (locale::operator==): Always avoid constructing
455         locale::name(), directly compare pairs of _M_names.
456
457 2004-04-26  Paolo Carlini  <pcarlini@suse.de>
458
459         * include/bits/istream.tcc: Fix comment.
460
461 2004-04-26  Paolo Carlini  <pcarlini@suse.de>
462
463         * include/bits/stl_vector.h: Trivial formatting fixes.
464         * include/bits/vector.tcc: Likewise.
465
466 2004-04-25  Paolo Carlini  <pcarlini@suse.de>
467
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.
472
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.
476
477         * testsuite/27_io/basic_istream/getline/char/4.cc: Add comment.
478
479 2004-04-25  Paolo Carlini  <pcarlini@suse.de>
480
481         * testsuite/21_strings/basic_string/inserters_extractors/char/10.cc:
482         New.
483         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
484         Likewise.
485         * testsuite/27_io/basic_istream/getline/char/5.cc: Likewise.
486
487 2004-04-24  Paolo Carlini  <pcarlini@suse.de>
488             Petur Runolfsson  <peturr02@ru.is>
489
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).
494
495 2004-04-24  Paolo Carlini  <pcarlini@suse.de>
496
497         * testsuite/27_io/basic_istream/getline/char/4.cc: New. 
498
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().
503
504 2004-04-24  Matthias Klose  <doko@debian.org>
505
506         Jonathan Wakely  <cow@compsoc.man.ac.uk>
507         * docs/html/configopts.html: Fix reference to allocator config option.
508
509 2004-04-23  Andrew Pinski  <pinskia@physics.uc.edu>
510
511         * linkage.m4 (GLIBCXX_CHECK_MATH_SUPPORT): Check for libmx also.
512         * configure: Regenerate.
513
514 2004-04-23  Daniel Jacobowitz  <drow@mvista.com>
515
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.
519
520 2004-04-21  Paolo Carlini  <pcarlini@suse.de>
521
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.
526
527 2004-04-21  Paolo Carlini  <pcarlini@suse.de>
528             Andrew Pinski  <pinskia@physics.uc.edu>
529
530         * include/bits/basic_string.tcc (_M_mutate): Don't compute
531         __src unnecessarily.
532
533 2004-04-19  Benjamin Kosnik  <bkoz@redhat.com>
534
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.
563
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.
568
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.
581
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>
587
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. 
591
592 2004-04-17  Benjamin Kosnik  <bkoz@redhat.com>
593
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.
629
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>
635
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.
641
642 2004-04-16  Paolo Carlini  <pcarlini@suse.de>
643
644         * acconfig.h: Remove _GLIBCXX_USE_LONG_DOUBLE entry, not
645         used anymore.
646         * config.h.in: Regenerate.
647
648 2004-04-16  Paolo Carlini  <pcarlini@suse.de>
649
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.
660
661 2004-04-15  Paolo Carlini  <pcarlini@suse.de>
662
663         * src/locale.cc (locale::operator==): When _M_impl == __rhs._M_impl
664         avoid constructing unnecessarily this->name().
665
666 2004-04-14  Zack Weinberg  <zack@codesourcery.com>
667
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.
671
672 2004-04-12  Dhruv Matani  <dhruvbird@gmx.net>
673
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.
678
679 2004-04-12  Paolo Carlini <pcarlini@suse.de>
680
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.
685
686 2004-04-09  Paolo Carlini  <pcarlini@suse.de>
687
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.
705
706 2004-04-07  Paolo Carlini  <pcarlini@suse.de>
707
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.
717
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.
754
755         * testsuite/22_locale/time_put/put/char/9780-1.cc: Fix typos.
756
757 2004-04-07  Paolo Carlini  <pcarlini@suse.de>
758
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.
767
768 2004-04-06  Benjamin Kosnik  <bkoz@redhat.com>
769
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.
777
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.
785
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.
790
791         * config/io/basic_file_stdio.cc (__basic_file::sys_open): Remove cast.
792
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.
799
800         * libsupc++/del_op.cc: Add comment about freestanding.
801
802 2004-04-05  Paolo Carlini  <pcarlini@suse.de>
803
804         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
805         The critical section is actually very small, only two assignments.
806
807 2004-04-04  Paolo Carlini  <pcarlini@suse.de>
808             Petur Runolfsson  <peturr02@ru.is>
809
810         * testsuite/performance/27_io/filebuf_sputn_unbuf.cc: New,
811         adapted from libstdc++/11378.
812
813 2004-04-03  Paolo Carlini  <pcarlini@suse.de>
814
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.
824
825 2004-04-02  Paolo Carlini  <pcarlini@suse.de>
826
827         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
828         Rearrange arithmetic to avoid computing two divisions at
829         each deallocation.
830
831 2004-04-01  Paolo Carlini  <pcarlini@suse.de>
832
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.
837
838 2004-04-01  Paolo Carlini  <pcarlini@suse.de>
839
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.
853
854 2004-03-31  Paolo Carlini  <pcarlini@suse.de>
855
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.
860
861 2004-03-30  Benjamin Kosnik  <bkoz@redhat.com>
862
863         PR libstdc++/14783
864         * include/bits/stl_tree.h: Adjust initialization list order.
865
866 2004-03-29  Loren J. Rittle  <ljrittle@acm.org>
867
868         * testsuite/thread/pthread7-rope.cc: Update comment to reflect test.
869
870 2004-03-29  Paolo Carlini  <pcarlini@suse.de>
871
872         * testsuite/thread/pthread7-rope.cc: Fix, unpredictably, depending
873         on allocator behavior, the memory pointed by data2 may well be not
874         trashed.
875
876 2004-03-28  Chavdar Botev  <cbotev@yahoo.com>
877
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.
883
884 2004-03-27  Benjamin Kosnik  <bkoz@redhat.com>
885
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.
892
893 2004-03-27  Petur Runolfsson  <peturr02@ru.is>
894
895         * testsuite/ext/enc_filebuf/char/13598.cc: New.
896
897 2004-03-27  Paolo Carlini  <pcarlini@suse.de>
898
899         * include/ext/mt_allocator.h: Uglify consistently names of
900         variables, members and classes; tidy.
901
902 2004-03-27  Dhruv Matani  <dhruvbird@gmx.net>
903
904         * include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
905         Deallocation loop rewrote.
906
907 2004-03-26  Paolo Carlini  <pcarlini@suse.de>
908
909         * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
910         __mt_alloc<>::deallocate): Protect two instances of
911         block->thread_id with __GTHREADS.
912
913 2004-03-25  Gawain Bolton  <gp.bolton@computer.org>
914
915         * include/bits/stl_tree.h (_Rb_tree_impl): Add _Node_allocator
916         default argument in constructors.
917         (_Rb_tree::_M_empty_initialize): Remove.
918
919 2004-03-25  Benjamin Kosnik  <bkoz@redhat.com>
920
921         * testsuite/23_containers/map/operators/1_neg.cc: Adjust line numbers.
922         * testsuite/23_containers/set/operators/1_neg.cc: Same.
923
924 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
925
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.
930
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.
945
946 2004-03-25  Paolo Carlini  <pcarlini@suse.de>
947
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.
958
959 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
960
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).
966
967 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
968
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).
980
981 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
982
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).
990
991 2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>
992
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.
996
997 2004-03-24  Dhruv Matani  <dhruvbird@gmx.net>
998
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.
1006
1007 2004-03-24  Benjamin Kosnik  <bkoz@redhat.com>
1008
1009         * docs/html/20_util/allocator.html: Add bitmap_allocator links.
1010
1011 2004-03-24  Andreas Schwab  <schwab@suse.de>
1012
1013         * testsuite/lib/prune.exp (prune_g++_output): Ignore errata
1014         warning from IA64 assembler.
1015
1016 2004-03-24  Dhruv Matani  <dhruvbird@gmx.net>
1017
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.
1026
1027 2004-03-24  Felix Yen  <fwy@alumni.brown.edu>
1028
1029         * testsuite/performance/20_util/allocator/producer_consumer.cc:
1030         Use linear algorithm for producer.
1031
1032 2004-03-24  Paolo Carlini  <pcarlini@suse.de>
1033
1034         * include/ext/mt_allocator.h (__mt_alloc<>::allocate,
1035         __mt_alloc<>::deallocate): Avoid redundant conditionals.
1036
1037 2004-03-23  Benjamin Kosnik  <bkoz@redhat.com>
1038
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.
1055
1056 2004-03-22  Paolo Carlini  <pcarlini@suse.de>
1057
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.
1070
1071 2004-03-22  Hans-Peter Nilsson  <hp@axis.com>
1072
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.
1077
1078 2004-03-20  Paolo Carlini  <pcarlini@suse.de>
1079
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.
1100
1101 2004-03-20  Paolo Carlini  <pcarlini@suse.de>
1102
1103         * include/std/std_valarray.h: Document DR389 [Ready].
1104         * docs/html/ext/howto.html: Add an entry for DR389.
1105
1106 2004-03-19  Michael Eager  <eager@mvista.com>
1107
1108         * config/cpu/mips/atomicity.h:  Prevent reg loads between LL and
1109         SC instructions.
1110
1111 2004-03-19  Paolo Carlini  <pcarlini@suse.de>
1112
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.
1124
1125 2004-03-19  Paolo Carlini  <pcarlini@suse.de>
1126             Petur Runolfsson  <peturr02@ru.is>
1127
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.
1133
1134 2004-03-19  Paolo Carlini  <pcarlini@suse.de>
1135
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.
1140
1141 2004-03-19  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
1142
1143         PR libstdc++/14647
1144         * include/backward/bvector.h (bit_vector): Allocator is in std
1145         namespace.
1146
1147 2004-03-19  Phil Edwards  <phil@codesourcery.com>
1148
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.
1153
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.
1157
1158 2004-03-16  Benjamin Kosnik  <bkoz@redhat.com>
1159
1160         * acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Default setting is
1161         new_allocator for all hosts.
1162         * configure: Regenerate.
1163
1164 2004-03-16  Paolo Carlini  <pcarlini@suse.de>
1165
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.
1168
1169 2004-03-15  Paolo Carlini  <pcarlini@suse.de>
1170
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.
1177
1178 2004-03-15  Paolo Carlini  <pcarlini@suse.de>
1179
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.
1184
1185 2004-03-13  Benjamin Kosnik  <bkoz@redhat.com>
1186
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.
1200
1201 2004-03-12  Benjamin Kosnik  <bkoz@redhat.com>
1202
1203         * include/bits/allocator.h: Revert.
1204
1205 2004-03-12  Paolo Carlini  <pcarlini@suse.de>
1206
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.
1212
1213 2004-03-12  Benjamin Kosnik  <bkoz@redhat.com>
1214
1215         * testsuite/20_util/allocator/14176.cc: New.
1216         * include/ext/mt_allocator.h: Formatting fixes.
1217
1218 2004-03-11  Dhruv Matani  <dhruvbird@HotPOP.com>
1219
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.
1233
1234 2004-03-11  Paolo Carlini  <pcarlini@suse.de>
1235
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.
1240
1241 2004-03-11  Steven Bosscher  <stevenb@suse.de>
1242
1243         PR libstdc++/11706
1244         * include/c_std/cmath.tcc (__cmath_power): Define inline.
1245
1246 2004-03-10  Kelley Cook  <kcook@gcc.gnu.org>
1247
1248         * configure.ac: Bump AC_PREREQ to 2.59.
1249
1250 2004-03-10  Paolo Carlini  <pcarlini@suse.de>
1251
1252         * testsuite/26_numerics/valarray_subset_assignment.cc: Fix typos.
1253
1254 2004-03-10  Paul Kienzle  <pkienzle@nist.gov>
1255             Paolo Carlini  <pcarlini@suse.de>
1256
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.
1261
1262         * testsuite/26_numerics/cmath/overloads.C: Rename to overloads.cc.
1263         * testsuite/26_numerics/complex/pow.C: Rename to pow.cc and fix.
1264
1265 2004-03-10  Jerry Quinn  <jlquinn@optonline.net>
1266
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.
1276
1277 2004-03-09  Benjamin Kosnik  <bkoz@redhat.com>
1278
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.
1287
1288         * testsuite/22_locale/locale/cons/12658_thread.cc: Catch exceptions.
1289
1290 2004-03-08  Benjamin Kosnik  <bkoz@redhat.com>
1291
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.
1300
1301 2004-03-08  Petur Runolfsson  <peturr02@ru.is>
1302
1303         PR libstdc++/12658
1304         * testsuite/22_locale/locale/cons/12658_thread.cc: New.
1305
1306 2004-03-08  Paolo Carlini  <pcarlini@suse.de>
1307
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.
1311
1312 2004-03-08  Paolo Carlini  <pcarlini@suse.de>
1313
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.
1319
1320         * testsuite/22_locale/money_get/get/char/7.cc: Minor tweaks.
1321         * testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.
1322
1323         * include/bits/locale_facets.tcc (money_get<>::do_get(long_double&)):
1324         Remove redundant conditional on __str.size().
1325
1326 2004-03-08  Benjamin Kosnik  <bkoz@redhat.com>
1327
1328         * include/bits/allocator.h: Switch defaults to mt_alloc.
1329
1330 2004-03-06  Benjamin Kosnik  <bkoz@redhat.com>
1331
1332         * include/ext/mt_allocator.h (_S_initialize): If
1333         !__GTHREAD_MUTEX_INIT, then initialize _S_thread_freelist_mutex.
1334
1335 2004-03-06  Benjamin Kosnik  <bkoz@redhat.com>
1336
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.
1344
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.
1348
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.
1352
1353         * config/linker-map.gnu: Remove types in the signature of atomic
1354         exports, as they may vary.
1355
1356 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
1357
1358         * include/bits/locale_facets.tcc: Tweak the comment preceding
1359         has_facet: doesn't throw.
1360
1361 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
1362
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.
1371
1372 2004-03-06  Paolo Carlini  <pcarlini@suse.de>
1373
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.
1381
1382 2004-03-05  Paolo Carlini  <pcarlini@suse.de>
1383
1384         * testsuite/27_io/fpos/14320-2.cc: Remove xfail.
1385
1386 2004-03-04  Benjamin Kosnik  <bkoz@redhat.com>
1387
1388         * testsuite/23_containers/multiset/insert/1.cc: Test result string.
1389
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.
1408
1409 2004-03-04  Paolo Carlini  <pcarlini@suse.de>
1410
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.
1431
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.
1436
1437 2004-03-04  Benjamin Kosnik  <bkoz@redhat.com>
1438
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.
1523
1524         * src/allocator.cc: Add char, wchar_t instantiations
1525         to match extern template declarations in memory.h.
1526
1527 2004-03-03  Paolo Carlini  <pcarlini@suse.de>
1528
1529         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
1530         Fix warning regression.
1531
1532 2004-03-03  Paolo Carlini  <pcarlini@suse.de>
1533
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.
1537
1538 2004-03-03  Jonathan Wakely  <redi@gcc.gnu.org>
1539
1540         * docs/html/documentation.html: Regenerate.
1541
1542 2004-03-02  Paolo Carlini  <pcarlini@suse.de>
1543
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.
1554
1555 2004-03-02  Paolo Carlini  <pcarlini@suse.de>
1556
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.
1562
1563 2004-03-02  Benjamin Kosnik  <bkoz@redhat.com>
1564
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.
1575
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.
1587
1588 2004-03-01  Benjamin Kosnik  <bkoz@redhat.com>
1589
1590         Support autoconf 2.59
1591         * acinclude.m4: Quote correctly.
1592         * aclocal.m4: Regenerate.
1593         * linkage.m4: Same.
1594
1595 2004-03-01  Benjamin Kosnik  <bkoz@redhat.com>
1596
1597         * docs/html/test.html: Add multilib RUNTESTFLAGS example.
1598
1599         * docs/html/18_support/howto.html: Add bit about writing to
1600         stderr, mostly by Zack.
1601
1602 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
1603
1604         * include/bits/locale_facets.tcc (money_get<>::_M_extract,
1605         money_get<>::do_get(string_type&)): ... and two more.
1606
1607 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
1608
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.
1612
1613 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
1614
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.
1620
1621         * include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
1622         num_get<>::_M_extract_int): Reorder some conditionals.
1623
1624 2004-03-01  Paolo Carlini  <pcarlini@suse.de>
1625
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.
1631
1632 2004-03-01  David Billinghurst <David.Billinghurst@riotinto.com>
1633
1634         * testsuite/lib/libstdc++.exp (v3-list-tests): Use
1635         testsuite_files from correct multilib blddir when running
1636         testsuite.
1637
1638 2004-02-29  Phil Edwards  <phil@codesourcery.com>
1639
1640         * testsuite/Makefile.am (check-abi, check-abi-verbose):  Copy
1641         the summary file to the logfile.
1642         * testsuite/Makefile.in:  Regenerate.
1643
1644 2004-02-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1645
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.
1650
1651 2004-02-28  Paolo Carlini  <pcarlini@suse.de>
1652
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.
1659
1660 2004-02-27  Eric Christopher  <echristo@redhat.com>
1661             Phil Edwards  <phil@codesourcery.com>
1662
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.
1674
1675 2004-02-27  Phil Edwards  <phil@codesourcery.com>
1676             Eric Christopher  <echristo@redhat.com>
1677
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.
1687
1688 2004-02-27  Benjamin Kosnik  <bkoz@redhat.com>
1689
1690         * config/cpu/hppa/atomicity.h: Include c++config.h to get defines.
1691
1692         * src/misc-inst.cc (_S_atomicity_lock): Move to __gnu_cxx.
1693
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.
1699
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.
1704
1705 2004-02-27  David Edelsohn  <edelsohn@gnu.org>
1706
1707         * config/os/aix/atomicity.h: Use __gnu_cxx namespace. Remove
1708         static, and inline keywords.
1709
1710 2004-02-27  Paolo Carlini  <pcarlini@suse.de>
1711
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.
1718
1719 2004-02-27  Paolo Carlini  <pcarlini@suse.de>
1720
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.
1731
1732 2004-02-26  Ian Lance Taylor  <ian@wasabisystems.com>
1733
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.
1739
1740 2004-02-26  Benjamin Kosnik  <bkoz@redhat.com>
1741
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.
1754
1755 2004-02-26  Benjamin Kosnik  <bkoz@redhat.com>
1756
1757         * include/bits/demangle.h: Add type template parameter to all
1758         templates with just an Allocator template parameter.
1759
1760 2004-02-25  Benjamin Kosnik  <bkoz@redhat.com>
1761
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.
1793
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.
1807
1808         * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
1809         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
1810
1811 2004-02-25  Jonathan Wakely  <redi@gcc.gnu.org>
1812
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.
1816
1817 2004-02-25  Carlo Wood  <carlo@alinoe.com>
1818
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.
1825
1826 2004-02-24  Paolo Carlini  <pcarlini@suse.de>
1827
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.
1832
1833 2004-02-24  Richard Sandiford  <rsandifo@redhat.com>
1834
1835         * include/bits/locale_facets.tcc (num_get::_M_extract_int): Fix bounds
1836         error in handling of hex constants.
1837
1838 2004-02-24  Paolo Carlini  <pcarlini@suse.de>
1839
1840         * include/bits/locale_facets.tcc (money_put<>::_M_insert):
1841         Prefer basic_string::append to operator+= and a temporary.
1842
1843 2004-02-23  Benjamin Kosnik  <bkoz@redhat.com>
1844
1845         * libsupc++/vterminate.cc (__gnu_cxx::__verbose_terminate_handler):
1846         Only use fputs, not write.
1847
1848 2004-02-23  Benjamin Kosnik  <bkoz@redhat.com>
1849
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.
1860
1861 2004-02-22  Paolo Carlini  <pcarlini@suse.de>
1862
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.
1866
1867 2004-02-22  Paolo Carlini  <pcarlini@suse.de>
1868
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.
1882
1883 2004-02-21  Mark Mitchell  <mark@codesourcery.com>
1884
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.
1889
1890         * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
1891         not set RLIMIT_AS on HP-UX.
1892
1893 2004-02-21  Mark Mitchell  <mark@codesourcery.com>
1894
1895         * testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
1896         not set RLIMIT_AS on HP-UX.
1897
1898 2004-02-21  Paolo Carlini  <pcarlini@suse.de>
1899
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>.
1933
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.
1942
1943 2004-02-20  Mark Mitchell  <mark@codesourcery.com>
1944
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+".
1951
1952 2004-02-19  David Edelsohn  <edelsohn@gnu.org>
1953
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.
1964
1965 2004-02-18  Paolo Carlini  <pcarlini@suse.de>
1966
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.
1975
1976 2004-02-18  Paolo Carlini  <pcarlini@suse.de>
1977
1978         * config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
1979         Rewrite, avoiding recursion.
1980         (__gnu_internal::xwrite): Minor tweaks.
1981
1982 2004-02-17  Stefan Olsson  <stefan@xapa.se>
1983
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.
1991
1992 2004-02-17  Paolo Carlini  <pcarlini@suse.de>
1993
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.
1997
1998 2004-02-16  Paolo Carlini  <pcarlini@suse.de>
1999
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.
2007
2008 2004-02-16  Paolo Carlini  <pcarlini@suse.de>
2009
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.
2013
2014 2004-02-16  Paolo Carlini  <pcarlini@suse.de>
2015
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.
2027
2028         * 22_locale/money_get/get/char/6.cc: Minor tweak.
2029         * 22_locale/money_get/get/wchar_t/6.cc: Likewise.
2030
2031 2004-02-15  David Asher  <david.asher@cavium.com>
2032
2033         PR libstdc++/11352
2034         * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't
2035         access __olds beyond __oldlen.
2036
2037 2004-02-14  Paolo Carlini  <pcarlini@suse.de>
2038
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.
2044
2045 2004-02-14  Paolo Carlini  <pcarlini@suse.de>
2046
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.
2058
2059         * include/bits/fstream.tcc (basic_filebuf<>::overflow):
2060         Trivial simplification of a conditional.
2061
2062 2004-02-12  Paolo Carlini  <pcarlini@suse.de>
2063
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.
2073
2074 2004-02-11  Stefan Olsson  <stefan@xapa.se>
2075
2076         * docs/html/ext/mt_allocator.html: New.
2077
2078 2004-02-11  Benjamin Kosnik  <bkoz@redhat.com>
2079
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.
2085
2086 2004-02-11  Paolo Carlini  <pcarlini@suse.de>
2087
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.
2095
2096 2004-02-11  Paolo Carlini  <pcarlini@suse.de>
2097             Petur Runolfsson  <peturr02@ru.is>
2098
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.
2107
2108 2004-02-10  Loren J. Rittle  <ljrittle@acm.org>
2109
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> >.
2113
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> >.
2117
2118 2004-02-09  Loren J. Rittle  <ljrittle@acm.org>
2119
2120         * include/ext/pool_allocator.h: Include c++config.h.
2121
2122 2004-02-09  Stefan Olsson  <stefan@xapa.se>
2123
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().
2128
2129 2004-02-09  Paul Brook  <paul@codesourcery.com>
2130
2131         * libstdc++-v3/configure.host: Explicitly check for atomicity.h file.
2132
2133 2004-02-09  Paolo Carlini  <pcarlini@suse.de>
2134
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.
2139
2140         * include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
2141         Avoid computing &= unnecessarily.
2142
2143 2004-02-09  James E Wilson  <wilson@specifixinc.com>
2144
2145         PR libstdc++/5625
2146         * libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
2147         __builtin_extend_pointer.
2148
2149 2004-02-09  Paolo Carlini  <pcarlini@suse.de>
2150
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.
2157
2158 2004-02-09  Bernardo Innocenti  <bernie@develer.com>
2159
2160         * crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
2161         * configure: Regenerate.
2162
2163 2004-02-08  Richard Henderson  <rth@redhat.com>
2164
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.
2169
2170 2004-02-08  Paolo Carlini  <pcarlini@suse.de>
2171
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).
2175
2176 2004-02-08  Bernardo Innocenti  <bernie@develer.com>
2177
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.
2211
2212 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
2213
2214         * include/bits/basic_string.h: Fix comment.
2215
2216 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
2217
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.
2227
2228 2004-02-06  Paolo Carlini  <pcarlini@suse.de>
2229
2230         * testsuite/27_io/basic_filebuf/open/char/9507.cc:
2231         Adjust timings.
2232
2233 2004-02-05  Loren J. Rittle  <ljrittle@acm.org>
2234
2235         * scripts/check_performance: Support PCH.
2236
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.
2247
2248 2004-02-05  Geoffrey Keating  <geoffk@apple.com>
2249
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.
2256
2257 2004-02-05  Paolo Carlini  <pcarlini@suse.de>
2258
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.
2266
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.
2275
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.
2279
2280 2004-02-05  Richard Sandiford  <rsandifo@redhat.com>
2281
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.
2286
2287 2004-02-05  Paolo Carlini  <pcarlini@suse.de>
2288
2289         * include/bits/stl_function.h: Minor formatting changes.
2290
2291 2004-02-04  Zack Weinberg  <zack@codesourcery.com>
2292
2293         Revert previous change to config/abi/*/baseline_symbols.txt.
2294
2295 2004-02-04  Benjamin Kosnik  <bkoz@redhat.com>
2296             Zack Weinberg  <zack@codesourcery.com>
2297
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.
2303
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.
2307
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.
2320
2321 2004-02-04  Loren J. Rittle  <ljrittle@acm.org>
2322
2323         * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
2324
2325 2004-02-04  Felix Yen  <fwy@alumni.brown.edu>
2326
2327         * testsuite/performance/20_util/producer_consumer.cc: New.
2328         * testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.
2329
2330 2004-02-04  Benjamin Kosnik  <bkoz@redhat.com>
2331
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.
2338
2339 2004-02-04  Jonathan Wakely  <redi@gcc.gnu.org>
2340
2341         * docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
2342         * docs/html/faq/index.txt: Regenerate.
2343
2344 2004-02-04  Dhruv Matani  <dhruvbird@gmx.net>
2345
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.
2350
2351         * include/ext/pool_allocator.h: Fix typo.
2352
2353 2004-02-03  Felix Yen  <fwy@alumni.brown.edu>
2354             Benjamin Kosnik  <bkoz@redhat.com>
2355
2356         * testsuite/performance/20_util/allocator.cc: Add map,
2357         deque, set tests.
2358         * testsuite/performance/20_util/allocator_thread.cc: Same.
2359
2360 2004-02-03  Paolo Carlini  <pcarlini@suse.de>
2361
2362         * include/bits/basic_string.h (insert(iterator)): Remove,
2363         non-standard and already scheduled for removal.
2364
2365 2004-02-03  Paolo Carlini  <pcarlini@suse.de>
2366
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.
2373
2374 2004-02-02  Jerry Quinn  <jlquinn@optonline.net>
2375
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.
2380
2381 2004-02-02  Jerry Quinn  <jlquinn@optonline.net>
2382
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.
2391
2392 2004-02-02  Benjamin Kosnik  <bkoz@redhat.com>
2393
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.
2398
2399 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
2400
2401         * config/locale/gnu/c++locale_internal.h: Remove prototypes
2402         of no longer used GLIBC thread locale functions.
2403
2404 2004-02-02  Eric Christopher  <echristo@redhat.com>
2405             Zack Weinberg  <zack@codesourcery.com>
2406
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.
2418
2419 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
2420
2421         * include/bits/stl_function.h: Additional minor tweaks.
2422         * include/bits/stl_multiset.h: Likewise.
2423
2424         * include/bits/stl_queue.h: Minor tweaks.
2425
2426 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
2427
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.
2433
2434 2004-02-02  Paolo Carlini  <pcarlini@suse.de>
2435
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.
2442
2443 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
2444
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.
2451
2452 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
2453
2454         * include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
2455         Remove, unused.
2456
2457 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
2458
2459         * include/bits/stl_function.h: Additional minor tweaks.
2460
2461 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
2462
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.
2477
2478 2004-02-01  Paolo Carlini  <pcarlini@suse.de>
2479
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.
2483
2484 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
2485
2486         * include/bits/stl_algo.h: Minor additional reformat, add
2487         copyright year.
2488         * include/bits/stl_algobase.h: Add copyright year.
2489
2490 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
2491
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.
2496
2497 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
2498
2499         * include/bits/basic_string.h (_Rep::operator[]): Remove, unused.
2500
2501         * include/bits/basic_string.h: Fix two comments.
2502
2503 2004-01-31  Per Bothner  <per@bothner.com>
2504
2505         * include/ext/mt_allocator.h
2506         (__mt_alloc::_S_thread_freelist_mutex): Guard with
2507         __GTHREAD_MUTEX_INIT.
2508
2509 2004-01-31  Paolo Carlini  <pcarlini@suse.de>
2510
2511         * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.
2512
2513 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
2514
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.
2518
2519 2004-01-30  Felix Yen  <fwy@alumni.brown.edu>
2520
2521         * testsuite/performance/20_util/allocator_thread.cc (do_loop):
2522         Don't use clear, but instead assign. Use insert.
2523
2524 2004-01-30  Benjamin Kosnik  <bkoz@redhat.com>
2525
2526         * src/demangle.cc: Add instantiations.
2527         * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
2528         * src/Makefile.in: Regenerate.
2529
2530 2004-01-30  David Edelsohn  <edelsohn@gnu.org>
2531
2532         * src/allocator.cc: Protect _S_get_thread_id() and
2533         _S_thread_key_destr() with #ifdef __GTHREADS.
2534
2535 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
2536
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.
2571
2572 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
2573
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.
2578
2579 2004-01-30  Paolo Carlini  <pcarlini@suse.de>
2580
2581         * include/bits/basic_string.tcc (_S_construct(_InIterator,
2582         _InIterator, const _Alloc&, input_iterator_tag)): Simplify
2583         the double loop, streamline.
2584
2585         * include/bits/basic_string.tcc: Very minor tweaks.
2586
2587 2004-01-30  Loren J. Rittle  <ljrittle@acm.org>
2588
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.
2600
2601 2004-01-29  Stephen M. Webb  <stephen.webb@bregmasoft.com>
2602
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().
2612
2613 2004-01-29  Benjamin Kosnik  <bkoz@redhat.com>
2614
2615         * include/bits/allocator.h: Temporary switch to new_allocator as
2616         the default to unjam bootstraps.
2617
2618 2004-01-28  Benjamin Kosnik  <bkoz@redhat.com>
2619
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.
2647
2648         * include/ext/mt_allocator.h: Replace free with delete.
2649
2650 2004-01-28  Benjamin Kosnik  <bkoz@redhat.com>
2651
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.
2656
2657 2004-01-28  Stefan Olsson  <stefan@snon.net>
2658
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.
2663
2664 2004-01-28  Paolo Carlini  <pcarlini@suse.de>
2665
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.
2681
2682         * include/bits/basic_string.h (_Rep::operator[]): Tweak
2683         signature to take a size_type, consistently with the other
2684         members.
2685
2686 2004-01-27  Benjamin Kosnik  <bkoz@redhat.com>
2687
2688         * testsuite/27_io/ios_base/storage/11584.cc: Correct new and
2689         delete declarations, add include and test variable.
2690
2691 2003-01-27  Jerry Quinn  <jlquinn@optonline.net>
2692
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.
2698
2699 2004-01-27  Jerry Quinn  <jlquinn@optonline.net>
2700
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.
2708
2709 2004-01-27  Ulrich Weigand  <uweigand@de.ibm.com>
2710             PJ Darcy  <darcypj@us.ibm.com>
2711
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.
2720
2721 2004-01-27  Paolo Carlini  <pcarlini@suse.de>
2722
2723         PR libstdc++/13884
2724         * include/bits/sstream.tcc: Guard use of extern template.
2725
2726 2004-01-27  Paolo Carlini  <pcarlini@suse.de>
2727
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.
2732
2733 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
2734
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.
2749
2750 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
2751
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.
2759
2760         * include/bits/basic_string.h, include/bits/basic_string.tcc:
2761         Fold overlong lines, minor formatting changes.
2762
2763 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
2764
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.
2770
2771 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
2772
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.
2778
2779         * include/bits/basic_string.tcc (insert(size_type,
2780         const _CharT*, size_type)): Tweak slightly.
2781
2782 2004-01-26  Andreas Schwab  <schwab@suse.de>
2783
2784         * config/locale/gnu/monetary_members.cc: Restore locale before
2785         rethrowing exception.
2786
2787 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
2788
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.
2793
2794         * include/bits/basic_string.tcc: Very minor tweaks.
2795
2796 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
2797
2798         * testsuite/performance/string_append.cc: Increase number
2799         of iterations.
2800
2801 2004-01-25  Paolo Carlini  <pcarlini@suse.de>
2802
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.
2806
2807         * include/bits/basic_string.h: Tweak some comments.
2808
2809 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
2810
2811         * include/bits/basic_string.tcc (operator+(const _CharT*,
2812         const basic_string&)): No need to go through the append
2813         taking two iterators.
2814
2815 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
2816
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.
2822
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.
2833
2834 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
2835
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.
2840
2841 2004-01-24  Paolo Carlini  <pcarlini@suse.de>
2842
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.
2859
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.
2867
2868 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
2869
2870         PR libstdc++/13838
2871         * include/debug/bitset (operator|=): Fix typo.
2872         * testsuite/23_containers/bitset/operations/13838.cc: New.
2873
2874 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
2875
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.
2886
2887         * include/bits/basic_string.tcc (append(const basic_string&),
2888         append(const basic_string&, size_type, size_type)): Tweak
2889         comment.
2890
2891         * include/bits/basic_string.tcc (copy(_CharT*, size_type,
2892         size_type)): If __n == 0 don't call traits::copy.
2893
2894 2004-01-23  Stefan Olsson  <stefan@snon.net>
2895
2896         * include/ext/mt_allocator.h: Reduce lock contention.
2897
2898 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
2899
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.
2906
2907 2004-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2908
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.
2914
2915         * config.h.in, configure: Regenerate.
2916
2917 2004-01-23  Paolo Carlini  <pcarlini@suse.de>
2918
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.
2928
2929 2004-01-23  Loren J. Rittle  <ljrittle@acm.org>
2930
2931         libstdc++/13823
2932         * testsuite/performance/allocator_map_thread.cc: New test.
2933
2934 2004-01-22  Paolo Carlini  <pcarlini@suse.de>
2935
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.
2941
2942 2004-01-22  Paolo Carlini  <pcarlini@suse.de>
2943
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.
2966
2967 2004-01-21  Paolo Carlini  <pcarlini@suse.de>
2968
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.
2973
2974 2004-01-21  Paolo Carlini  <pcarlini@suse.de>
2975
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.
3007
3008 2004-01-19  Stefan Olsson  <stefan@snon.net>
3009
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.
3015
3016 2004-01-19  Loren J. Rittle  <ljrittle@acm.org>
3017
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.
3021
3022 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
3023
3024         * src/debug.cc: Make sure all the names are prefixed with
3025         double (or single) underscore.
3026
3027 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
3028
3029         * src/debug.cc: Trivial formatting change.
3030
3031 2004-01-19  Paolo Carlini  <pcarlini@suse.de>
3032
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.
3037
3038 2004-01-18  Paolo Carlini  <pcarlini@suse.de>
3039
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.
3046
3047 2004-01-18  Paolo Carlini  <pcarlini@suse.de>
3048
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.
3069
3070 2004-01-16  Benjamin Kosnik  <bkoz@redhat.com>
3071
3072         * testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
3073         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
3074
3075 2004-01-16  Danny Smith  <dannysmith@users.sourceforge.net>
3076
3077         * testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
3078         mkfifo for mingw32.
3079
3080 2004-01-15  Stefan Olsson  <stefan@snon.net>
3081
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.
3085
3086 2004-01-14  Paolo Carlini  <pcarlini@suse.de>
3087
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.
3107
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.
3113
3114 2004-01-14  Stefan Olsson  <stefan@snon.net>
3115
3116         * include/ext/mt_allocator.h: Fixups.
3117         * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
3118         * testsuite/performance/allocator_thread.cc: Same.
3119
3120 2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>
3121
3122         * testsuite/performance/ifstream_extract_float.cc: Add higher
3123         precision tests.
3124         * testsuite/performance/ofstream_insert_float.cc: Same.
3125
3126 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
3127
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.
3131
3132 2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>
3133
3134         * testsuite/performance/ifstream_extract_float.cc: New.
3135         * testsuite/performance/ofstream_insert_float.cc: Float generation
3136         matches above.
3137
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.
3153
3154 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
3155
3156         * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
3157         Set correctly just basefield, the only group that matters.
3158
3159 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
3160
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.
3171
3172 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
3173
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.
3181
3182 2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
3183
3184         * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
3185         Solaris.
3186
3187 2004-01-12  Paolo Carlini  <pcarlini@suse.de>
3188
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.
3193
3194 2004-01-12  Paolo Carlini  <pcarlini@suse.de>
3195
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.
3207
3208 2004-01-12  Mark Mitchell  <mark@codesourcery.com>
3209
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.
3225
3226 2004-01-11  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3227
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.
3238
3239 2004-01-11  Paolo Carlini  <pcarlini@suse.de>
3240
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.
3251
3252 2004-01-10  Paolo Carlini  <pcarlini@suse.de>
3253
3254         * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
3255         Import Revision 28.
3256
3257 2004-01-10  Paolo Carlini  <pcarlini@suse.de>
3258
3259         PR libstdc++/13630
3260         * include/bits/locale_classes.h (class locale): Fix category
3261         typedef.
3262         * testsuite/22_locale/locale/13630.cc: Add.
3263
3264 2004-01-10  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
3265
3266         * include/bits/locale_facets.h: Make a name really dependent. This
3267         will be needed when Core Issue 224 is implemented.
3268
3269 2004-01-09  Paolo Carlini  <pcarlini@suse.de>
3270
3271         * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
3272         * testsuite/performance/allocator_thread.cc: Likewise.
3273
3274 2004-01-07  Benjamin Kosnik  <bkoz@redhat.com>
3275
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.
3281
3282 2004-01-07  Gawain Bolton  <gp.bolton@computer.org>
3283
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.
3309
3310 2004-01-07  Benjamin Kosnik  <bkoz@redhat.com>
3311
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.
3319
3320         * bits/stl_vector.h: Column wrap comments.
3321
3322 2004-01-07  Loren J. Rittle  <ljrittle@acm.org>
3323
3324         (re-open) PR libstdc++/12658
3325         * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
3326         (locale::global): Likewise.
3327
3328 2004-01-07  Paolo Carlini  <pcarlini@suse.de>
3329
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.
3361
3362 2004-01-06  Benjamin Kosnik  <bkoz@redhat.com>
3363             Stefan Olsson  <stefan@snon.net>
3364
3365         * scripts/check_performance: Use -pthread.
3366         * testsuite/performance/allocator.cc: Tweaks, add list.
3367         * testsuite/performance/allocator_thread.cc: New.
3368
3369 2004-01-06  Jerry Quinn  <jlquinn@optonline.net>
3370
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.
3375
3376 2004-01-06  Paolo Carlini  <pcarlini@suse.de>
3377
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.
3411
3412 2004-01-04  Paolo Carlini  <pcarlini@suse.de>
3413
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.
3440
3441 2004-01-04  Mark Mitchell  <mark@codesourcery.com>
3442
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.
3457
3458 2004-01-04  Paolo Carlini  <pcarlini@suse.de>
3459
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.