OSDN Git Service

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