OSDN Git Service

(re-open) PR libstdc++/12658
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
1 2004-01-07  Loren J. Rittle  <ljrittle@acm.org>
2
3         (re-open) PR libstdc++/12658
4         * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
5         (locale::global): Likewise.
6
7 2004-01-07  Paolo Carlini  <pcarlini@suse.de>
8
9         * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
10         Remove redundant #include.
11         * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
12         * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
13         re-enable normal testing.
14         * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
15         #include.
16         * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
17         * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
18         Likewise.
19         * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
20         Likewise.
21         * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
22         Likewise.
23         * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
24         Likewise.
25         * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
26         Likewise.
27         * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
28         Likewise.
29         * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
30         Likewise.
31         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
32         More properly, #include <locale>.
33         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
34         Remove redundant #include.
35         * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
36         * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
37         redundant DejaGnu directive.
38         * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
39         redundant #include.
40
41 2004-01-06  Benjamin Kosnik  <bkoz@redhat.com>
42             Stefan Olsson  <stefan@snon.net>
43
44         * scripts/check_performance: Use -pthread.
45         * testsuite/performance/allocator.cc: Tweaks, add list.
46         * testsuite/performance/allocator_thread.cc: New.
47
48 2003-01-06  Jerry Quinn  <jlquinn@optonline.net>
49
50         * include/bits/locale_facets.h: Document public classes and
51         functions.
52         * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
53         Add comment.
54
55 2004-01-06  Paolo Carlini  <pcarlini@suse.de>
56
57         * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
58         Remove redundant #includes.
59         * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
60         Likewise.
61         * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
62         Likewise.
63         * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
64         * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
65         * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
66         * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
67         * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
68         * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
69         * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
70         * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
71         * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
72         * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
73         * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
74         * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
75         * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
76         * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
77         * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
78         Likewise.
79         * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
80         Likewise.
81         * testsuite/27_io/basic_istream/readsome/char/8258.cc:
82         Likewise.
83         * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
84         Likewise.
85         * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
86         Likewise.
87         * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
88         * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
89         * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
90
91 2004-01-04  Paolo Carlini  <pcarlini@suse.de>
92
93         * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
94         Remove redundant #includes.
95         * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
96         Likewise.
97         * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
98         Likewise.
99         * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
100         Likewise.
101         * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
102         Likewise.
103         * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
104         Likewise.
105         * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
106         Likewise.
107         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
108         Likewise.
109         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
110         Likewise.
111         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
112         Likewise.
113         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
114         Likewise.
115         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
116         Likewise.
117         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
118         Likewise.
119
120 2004-01-04  Mark Mitchell  <mark@codesourcery.com>
121
122         PR c++/12226
123         * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
124         constructor.
125         * testsuite/27_io/basic_fstream/4.cc: Likewise.
126         * testsuite/27_io/basic_ifstream/4.cc: Likewise.
127         * testsuite/27_io/basic_ios/4.cc: Likewise.
128         * testsuite/27_io/basic_iostream/4.cc: Likewise.
129         * testsuite/27_io/basic_istream/4.cc: Likewise.
130         * testsuite/27_io/basic_istingstream/4.cc: Likewise.
131         * testsuite/27_io/basic_ofstream/4.cc: Likewise.
132         * testsuite/27_io/basic_ostream/4.cc: Likewise.
133         * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
134         * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
135         * testsuite/27_io/basic_stringstream/4.cc: Likewise.
136
137 2004-01-04  Paolo Carlini  <pcarlini@suse.de>
138
139         * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
140         Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
141         always use double underscored names.
142         * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
143         Likewise.
144         * include/bits/locale_facets.h (struct __numpunct_cache):
145         Dimension _M_atoms_out and _M_atoms_in one position smaller.
146         (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out
147         and _M_atoms_in.
148
149 2003-12-31  Paolo Carlini  <pcarlini@suse.de>
150
151         * include/bits/locale_facets.tcc (num_get::_M_extract_int,
152         num_get::_M_extract_float): According to 22.2.2.1.2, p8-9,
153         _first_ look for thousands_sep, then for decimal_point and
154         finally for digits.
155         (num_get::_M_extract_float): After the decimal_point or
156         'e'/'E', decimal_point and thousands_sep just break out the
157         parsing loop.
158         * testsuite/22_locale/num_get/get/char/11.cc: Add tests.
159         * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
160
161 2003-12-30  Paolo Carlini  <pcarlini@suse.de>
162
163         PR libstdc++/13369
164         * include/bits/locale_facets.tcc (__verify_grouping):
165         Fix to deal properly with __grouping_tmp.size() >
166         __grouping.size().
167         * testsuite/22_locale/num_get/get/char/13.cc: New.
168         * testsuite/22_locale/num_get/get/wchar_t/13.cc: Ditto.
169         
170 2003-12-29  Jerry Quinn  <jlquinn@optonline.net>
171
172         * include/bits/locale_facets.h (ctype.narrow,widen): Add cast.
173
174 2003-12-29  Paolo Carlini  <pcarlini@suse.de>
175
176         * acinclude.m4 (GLIBCXX_CHECK_LFS): Add -fno-exceptions
177         to CXXFLAGS.
178         * aclocal.m4: Regenerate.
179         * configure: Likewise.
180
181 2003-12-29  Mark Mitchell  <mark@codesourcery.com>
182
183         * acconfig.h: Add _GLIBCXX_USE_C99_MATH.
184         * acinclude.m4 (GLIBCXX_ENABLE_C99): Define GLIBCXX_USE_C99_MATH.
185         * configure.ac: Define HAVE_S_ISREG and HAVE_S_IFREG when
186         targeting newlib.
187         * aclocal.m4: Regenerated.
188         * config.h.in: Likewise.
189         * configure: Likewise.
190         * Makefile.in: Likewise.
191         * include/Makefile.in: Likewise.
192         * libmath/Makefile.in: Likewise.
193         * libsupc++/Makefile.in: Likewise.
194         * testsuite/Makefile.in: Likewise.
195         * src/Makefile.in: Likewise.
196         * po/Makefile.in: Likewise.
197         * include/c_std/std_cmath.h (_GLIBCXX_USE_C99): Replace with ...
198         (_GLIBCXX_USE_C99_MATH): ... this.
199
200         * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: XFAIL for
201         arm-none-elf.
202         * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise.
203         * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise.
204         * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise.
205         * testsuite/27_io/basic_istream/readsome/char/6476-2.cc: Likewise.
206         * testsuite/27_io/objects/char/9.cc: Likewise.
207         * testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise.
208
209 2003-12-28  Paolo Carlini  <pcarlini@suse.de>
210
211         * include/ext/pool_allocator.h (class __pool_alloc): Use
212         operator new and operator delete.
213
214 2003-12-24  Andrew Pinski  <pinskia@physics.uc.edu>
215
216         * config/cpu/i386/atomicity.h (__exchange_and_add): Fix output 
217         constraint.
218
219         PR libstdc++/13480
220         * config/cpu/i386/atomicity.h: Split up read-write memory operand.
221
222 2003-12-23  Benjamin Kosnik  <bkoz@redhat.com>
223
224         * include/ext/new_allocator.h (new_allocator): Proper allocator class.
225         (__new_alloc): Delete.
226         * include/ext/malloc_allocator.h (malloc_allocator): Same.
227         (__malloc_alloc): Delete.
228         * include/ext/mt_allocator.h: Same, but weakly.
229         * include/ext/debug_allocator.h: Convert to the new style.
230         * include/ext/pool_allocator.h: Use global new and delete directly.
231         * include/backward/alloc.h: Don't inject malloc_allocator, or
232         debug_allocator.        
233         * testsuite/ext/allocators.cc: Minimal fixups for usage of new
234         classes.  Comment out tests with __pool_alloc for now.
235         * testsuite/performance/allocator.cc: Same.
236
237 2003-12-22  Matt Austern  <austern@apple.com>
238
239         * include/bits/stl_bvector.h (_Bvector_alloc_base): Eliminate.
240         (_Bvector_base): Inherit directly from word allocator.
241         * include/bits/stl_tree.h (_Rb_tree_alloc_base): Eliminate.
242         (_Rb_tree_base): Eliminate.
243         (_Rb_tree): Inherit directly from node allocator.
244         * include/ext/slist (_Alist_alloc_base): Eliminate.
245         (_Slist_base): Inherit direcly from node allocator.
246         
247 2003-12-22  Benjamin Kosnik  <bkoz@redhat.com>
248
249         * testsuite/18_support/numeric_limits.cc: Add _GLIBCXX_ASSERT to
250         dg-options in testcases that use VERIFY.        
251         * testsuite/23_containers/vector/invalidation/1.cc: Same.
252         * testsuite/23_containers/vector/invalidation/2.cc: Same.
253         * testsuite/23_containers/vector/invalidation/3.cc: Same.
254         * testsuite/23_containers/vector/invalidation/4.cc: Same.
255         * testsuite/23_containers/vector/resize/1.cc: Same.
256         * testsuite/26_numerics/complex_value.cc: Same.
257         * testsuite/27_io/ios_base/storage/1.cc: Same.
258         * testsuite/27_io/ios_base/storage/2.cc: Same.
259         * testsuite/27_io/ios_base/storage/3.cc: Same.
260         * testsuite/27_io/manipulators/standard/char/2.cc: Same.
261         * testsuite/backward/11460.cc: Same.
262         * testsuite/backward/strstream_members.cc: Same.
263
264         * include/ext/hash_set (class hash_multiset): Fix typo.
265
266 2003-12-22  Benjamin Kosnik  <bkoz@redhat.com>  
267
268         * testsuite/27_io/objects/char/5.cc: Don't use stdc++.h.gch.
269         * testsuite/27_io/objects/wchar_t/5.cc: Same.
270         * docs/html/test.html: Add docs for constructing test files that
271         don't use stdc++.h.gch.
272         * scripts/testsuite_flags.in (PCHFLAGS): Move to --cxxpchflags. 
273         * testsuite/libstdc++-dg/normal.exp: Compute DEFAULT_CXXFLAGS
274         differently.
275
276         * include/bits/ios_base.h (ios_base::Init::_S_initialized): Remove.
277         * src/ios_init.cc: Same.
278         * config/linker-map.gnu: Same.
279         * testsuite/27_io/ios_base/cons/copy_neg.cc: Adjust line numbers.
280         * testsuite/27_io/ios_base/cons/assign_neg.cc: Same.
281                 
282 2003-12-22  Andrew Pinski  <pinskia@physics.uc.edu>
283
284         PR libstdc++/13462
285         * include/bits/stl_multiset.h (__gnu_norm::multiset): Define pointer
286         as allocator's pointer, likewise for reference, const_pointer, and
287         const_reference.
288         * include/bits/stl_set.h (__gnu_norm::set): Likewise.
289         * include/ext/hash_set (__gnu_ext::hash_set): Likewise.
290         (__gnu_ext::hash_multiset): Likewise.
291
292 2003-12-22  Paolo Carlini  <pcarlini@suse.de>
293
294         * include/bits/locale_facets.tcc (num_get::_M_extract_int,
295         num_get::_M_extract_float): According to 22.2.2.1.2, p8-9,
296         first look for decimal_point and thousands_sep, when parsing
297         sign, leading zeros (and 0, Ox, 0X for integer types) too.
298         * testsuite/22_locale/num_get/get/char/12.cc: New.
299         * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
300
301         * testsuite/22_locale/num_get/get/char/11.cc: Add a comment.
302         * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
303         
304 2003-12-20  Jason Merrill  <jason@redhat.com>
305
306         * config/cpu/powerpc/atomicity.h: Fix oversight in previous
307         change.
308
309 2003-12-20  Jerry Quinn  <jlquinn@optonline.net>
310
311         * docs/doxygen/TODO: Update.
312         * include/bits/locale_classes.h (locale, facet, id): Document.
313         * include/bits/locale_facets.tcc (has_facet, use_facet): Document.
314
315 2003-12-19  Jason Merrill  <jason@redhat.com>
316
317         * config/cpu/cris/atomicity.h: Remove memory clobbers.
318         * config/cpu/mips/atomicity.h: Likewise.
319         * config/cpu/i486/atomicity.h: Remove memory clobbers.
320         Split up read-write memory operand.
321         * config/cpu/m68k/atomicity.h: Likewise.
322         * config/cpu/powerpc/atomicity.h: Make memory I/O explicit.
323         * config/cpu/s390/atomicity.h: Likewise.
324         * config/cpu/sparc/atomicity.h: Likewise.
325
326 2003-12-20  Carlo Wood  <carlo@alinoe.com>
327
328         * bits/demangle.h
329         namespace __gnu_cxx::demangler
330         (session<Allocator>::decode_encoding): Put the postfix
331         of the return type of (member) functions after the function
332         instead of after the return type.
333
334 2003-12-19  Jerry Quinn  <jlquinn@optonline.net>
335
336         * include/bits/locale_facet.h
337         (__ctype_abstract_base,ctype<charT>,ctype<char>,ctype<wchar_t>):
338         Document.
339
340 2003-12-19  Paolo Carlini  <pcarlini@suse.de>
341
342         * include/bits/locale_facets.tcc (num_get::_M_extract_int,
343         num_get::_M_extract_float): According to 22.2.2.1.2, p8-9,
344         first look for decimal_point and thousands_sep.
345         * testsuite/22_locale/num_get/get/char/11.cc: New.
346         * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
347
348 2003-12-19  Paolo Carlini  <pcarlini@suse.de>
349
350         * include/bits/locale_facets.tcc (num_get::_M_extract_float):
351         When __found_sci becomes true stop eating thousands separators
352         and the decimal radix separator.
353         * testsuite/22_locale/num_get/get/char/9.cc: New.
354         * testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.       
355         
356         * config/locale/generic/c_locale.cc (__convert_to_v): Don't
357         check that *__sanity == '\0': parsing may stop earlier, still
358         be successful.
359         * config/locale/gnu/c_locale.cc: Likewise.
360         * testsuite/22_locale/num_get/get/char/10.cc: New.
361         * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
362         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
363         Tweak in one place accordingly.
364
365         * testsuite/22_locale/money_get/get/char/1.cc: Fix typo.
366         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
367
368 2003-12-18  Benjamin Kosnik  <bkoz@redhat.com>
369
370         * include/bits/stl_list.h: Formatting tweaks.
371         * include/bits/list.tcc: Same.
372
373 2003-12-18  Matt Austern  <austern@apple.com>
374
375         * include/bits/demangle.h: Fix allocator type correctness,
376         i.e. make sure that when we instantiate a container with a value
377         type and an allocator, the allocator's value type matches the
378         container's.
379         * include/bits/stl_deque.h (_Deque_alloc_base): Eliminate.
380         (_Deque_base): inherit directly from the deque's allocator.  Use
381         rebinding instead of _Alloc_traits.  Pick up data members from 
382         _Deque_alloc_base.
383         * include/bits/stl_list.h (_List_alloc_base): Eliminate.
384         (_List_base): Inherit directly from the list's allocator.  Use
385         rebinding instead of _Alloc_traits.  Pick up data members from 
386         _List_alloc_base.
387         * include/bits/stl_vector.h (_Vector_alloc_base): Eliminate
388         (_Vector_base): Inherit directly from the vector's allocator.  Use
389         rebinding instead of _Alloc_traits.  Pick up data members from 
390         _Vector_alloc_base.
391         * include/ext/hashtable.h: Fix allocator type correctness (the
392         vector of buckets must be passed an allocator for objects of
393         type _Node*).  Use rebinding instead of _Alloc_traits.
394         
395 2003-12-17  Paolo Carlini  <pcarlini@suse.de>
396
397         * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
398         Use narrow to get from __format[__i] a char __c representing a
399         formatting code, don't use it to compare *__beg to __format[__i].
400         * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: New.
401
402 2003-12-17  Paolo Carlini  <pcarlini@suse.de>
403
404         * testsuite/performance/container_benchmark.cc: Tweak outputs.
405
406         * testsuite/performance/list_create_fill_sort.cc: Shrink a
407         bit some outputs.
408
409         * testsuite/testsuite_performance.h: Widen a few output fields.
410
411         * testsuite/performance/ifstream_extract_int.cc: New.
412
413 2003-12-16  Phil Edwards  <phil@codesourcery.com>
414
415         * configure.ac (AM_INIT_AUTOMAKE):  Don't warn about GNU Make.
416         * configure:  Regenerated.
417         * Makefile.am (check-%):  New catch-all forwarding target.
418         * Makefile.in:  Regenerated.
419
420 2003-12-16  Paolo Carlini  <pcarlini@suse.de>
421
422         * testsuite/performance/container_benchmark.cc: New, a
423         benchmark developed by Bjarne Stroustrup and Alexander
424         Stepanov and made available with no restrictions.
425
426         * testsuite/testsuite_performance.h (report_header): New,
427         useful to produce header lines in the reports.
428
429 2003-12-16  Jonathan Wakely  <redi@gcc.gnu.org>
430
431         * docs/html/21_strings/howto.html: Document shrink-to-fit reserve().
432         * docs/html/faq/index.html: Reducing vector's capacity() to size().
433         * docs/html/documentation.html, docs/html/faq/index.txt: Regenerate.
434
435 2003-12-16  Paolo Carlini  <pcarlini@suse.de>
436
437         * testsuite/performance/narrow_widen_char.cc: Tweak the
438         number of iterations for each test.
439         * testsuite/performance/narrow_widen_wchar_t.cc: Add a
440         missing clear_counters.
441
442 2003-12-16  Paolo Carlini  <pcarlini@suse.de>
443
444         PR libstdc++/11723
445         * include/bits/locale_facets.h: Add _M_bit and _M_wmask,
446         used to speed up the computation of ctype::do_is.
447         * config/locale/generic/ctype_members.cc
448         (_M_initialize_ctype): Fill _M_bit and _M_wmask.
449         (ctype::do_is): Use _M_bit and _M_wmask.
450         * config/locale/gnu/ctype_members.cc: Likewise.
451         * testsuite/performance/is_wchar_t.cc: New.
452
453         * testsuite/performance/narrow_widen_wchar_t.cc: Tweak
454         string literal (incorrect citation ;)
455
456         * include/bits/locale_facets.h: Minor tweaks, const
457         correctness, unsigned -> size_t.
458
459 2003-12-16  Jerry Quinn  <jlquinn@optonline.net>
460
461         * include/bits/locale_facets.h (widen, narrow):  Uncomment the
462         intended code.
463
464 2003-12-15  Jerry Quinn  <jlquinn@optonline.net>
465
466         * config/os/aix/ctype_noninline.h,
467         config/os/bsd/freebsd/ctype_noninline.h,
468         config/os/bsd/netbsd/ctype_noninline.h,
469         config/os/djgpp/ctype_noninline.h,
470         config/os/generic/ctype_noninline.h,
471         config/os/gnu-linux/ctype_noninline.h,
472         config/os/hpux/ctype_noninline.h,
473         config/os/irix/irix5.2/ctype_noninline.h,
474         config/os/irix/irix6.5/ctype_noninline.h,
475         config/os/mingw32/ctype_noninline.h,
476         config/os/newlib/ctype_noninline.h,
477         config/os/qnx/qnx6.1/ctype_noninline.h,
478         config/os/solaris/solaris2.5/ctype_noninline.h,
479         config/os/solaris/solaris2.6/ctype_noninline.h,
480         config/os/solaris/solaris2.7/ctype_noninline.h,
481         config/os/vxworks/ctype_noninline.h,
482         config/os/windiss/ctype_noninline.h (ctype):  Initialize
483         _M_narrow, _M_widen.
484         * include/bits/locale_facets.h (_M_widen, _M_widen_ok,
485         _M_narrow, _M_narrow_ok): New.
486         (widen, narrow): Use tables to bypass virtual functions.
487         (_M_widen_init, _M_narrow_init): New.
488
489 2003-12-15  Carlo Wood  <carlo@alinoe.com>
490
491         * include/bits/ios_base.h (Init::_S_initialized): Change into
492         declaration.
493         * src/ios_init.cc (Init::_S_initialized): Add definition.
494
495 2003-12-15  Benjamin Kosnik  <bkoz@redhat.com>
496
497         PR libstdc++/12658
498         * include/Makefile.am (bits_headers): Add concurrence.h.
499         * include/Makefile.in: Regenerated.
500         * include/bits/concurrence.h: New.
501         * src/locale_init.cc: Use it.
502         (locale::locale): Lock critical regions.
503         (locale::global): Same.
504         
505 2003-12-15  Benjamin Kosnik  <bkoz@redhat.com>
506
507         * include/bits/basic_string.h: Change _*_references to _*_refcount.
508         * include/bits/locale_classes.h: Same.
509         * src/locale.cc: Same.
510         * src/locale_name.cc: Same.     
511         * src/locale_init.cc: Same.     
512         
513 2003-12-15  Benjamin Kosnik  <bkoz@redhat.com>
514
515         PR libstdc++/12855      
516         * include/bits/ios_base.h (Init::_S_ios_base_init): Change to
517         _S_refcount, make atomic.
518         * src/ios.cc: Adjust definition.        
519         * src/ios_init.cc (ios_base::Init::Init): Use __exchange_and_add,
520         and __atomic_add.
521         (ios_base::Init::~Init): Same.
522         * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
523         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
524         
525 2003-12-15  Paolo Carlini  <pcarlini@suse.de>
526
527         * include/bits/locale_facets.tcc (num_get::do_get(bool&)):
528         Fail as soon as the begins of both truename and falsename
529         stop to match; always leave __beg one position beyond the
530         last char successfully matched.
531         * testsuite/22_locale/num_get/get/char/8.cc: New.
532         * testsuite/22_locale/num_get/get/wchar_t/8.cc: Likewise.
533
534 2003-12-15  Paolo Carlini  <pcarlini@suse.de>
535
536         * include/bits/locale_facets.h (_M_widen): Reserve space
537         for all the possible widened chars.     
538         * config/locale/generic/ctype_members.cc (_M_initialize_ctype):
539         Compute at construction time all the possible widened chars.
540         (do_widen): Tweak, simplify.
541         * config/locale/gnu/ctype_members.cc: Likewise.
542         * testsuite/performance/narrow_widen_wchar_t.cc: Add tests
543         for the array versions.
544
545 2003-12-12  Paolo Carlini  <pcarlini@suse.de>
546             Benjamin Kosnik  <bkoz@redhat.com>
547
548         PR libstdc++/13341
549         * include/bits/locale_facets.h (ctype<wchar_t>): Declare
550         _M_initialize_ctype() and _M_narrow_ok, _M_narrow and _M_widen.
551         * src/ctype.cc (ctype<wchar_t>::ctype(size_t),
552         ctype<wchar_t>::ctype(__c_locale, size_t)): Use
553         _M_initialize_ctype to fill _M_narrow and _M_widen.
554         (ctype_byname<wchar_t>::ctype_byname(const char*, size_t)):
555         Likewise.
556         * config/locale/generic/ctype_members.cc (do_narrow, do_widen)
557         Use _M_narrow and _M_widen when possible, instead of calling
558         wctob and btowc, respectively.
559         (_M_initialize_ctype): Define, it fills at construction time
560         _M_narrow and _M_widen.
561         * config/locale/gnu/ctype_members.cc: Likewise.
562         * testsuite/performance/narrow_widen_wchar_t.cc: New.
563
564 2003-12-12  Jonathan Wakely  <redi@gcc.gnu.org>
565
566         * docs/html/faq/index.txt: Regenerate after adding <link> tags.
567
568 2003-12-11  Neil Ferguson  <nferguso@eso.org>
569             Paolo Carlini  <pcarlini@suse.de>
570
571         * include/bits/basic_string.tcc (reserve): Allow shrink-to-fit.
572         * testsuite/21_strings/basic_string/capacity/1.cc: Tweak.
573         * testsuite/21_strings/basic_string/capacity/char/1.cc: Ditto.
574         * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Ditto.
575
576 2003-12-10  Benjamin Kosnik  <bkoz@redhat.com>
577
578         PR libstdc++/6243
579         * testsuite/lib/libstdc++.exp (v3-init): Add
580         original_ld_library_path, calculate ld_library path, set
581         LD_LIBRARY_PATH to both. Based on libjava.exp.
582         
583 2003-12-10  Benjamin Kosnik  <bkoz@redhat.com>
584             Alexandre Oliva  <aoliva@redhat.com>
585         
586         PR libstdc++/11612
587         * testsuite/Makefile.am (GLIBCXX_DIR): New.
588         (GLIBGCC_DIR): New.
589         (CXXLINK): Use both with -R so libtool links the correct libs.
590
591 2003-12-10  Paolo Carlini  <pcarlini@suse.de>
592
593         PR libstdc++/13217
594         * include/bits/fstream.tcc (underflow): Deal gracefully with
595         read errors: throw ios_base::failure.
596
597 2003-12-10  Benjamin Kosnik  <bkoz@redhat.com>
598
599         PR libstdc++/10063
600         * config/io/basic_file_stdio.cc (__basic_file::sys_open): Sync.
601         * testsuite/ext/stdio_filebuf/char/10063-1.cc: New.
602         * testsuite/ext/stdio_filebuf/char/10063-2.cc: New.
603         
604 2003-12-10  Paolo Carlini  <pcarlini@suse.de>
605
606         * include/bits/locale_facets.tcc (num_put::do_put(void*)):
607         Remove the try/catch, not necessary.
608
609 2003-12-10  Paolo Carlini  <pcarlini@suse.de>
610
611         * testsuite/22_locale/locale/cons/12438.cc: Tweak memory
612         limit and iterations to avoid spurious failures on some
613         64 bit machines.
614
615 2003-12-09  Benjamin Kosnik  <bkoz@redhat.com>
616         
617         * config/linker-map.gnu: Remove private ios_base members from
618         export list.
619
620         * config/cpu/alpha/atomicity.h: Consistently format.
621         * config/cpu/cris/atomicity.h: Same.
622         * config/cpu/generic/atomicity.h: Same.
623         * config/cpu/hppa/atomicity.h: Same.
624         * config/cpu/i386/atomicity.h: Same.
625         * config/cpu/i486/atomicity.h: Same.
626         * config/cpu/ia64/atomicity.h: Same.
627         * config/cpu/m68k/atomicity.h: Same.
628         * config/cpu/mips/atomicity.h: Same.
629         * config/cpu/powerpc/atomicity.h: Same.
630         * config/cpu/s390/atomicity.h: Same.
631         * config/cpu/sparc/atomicity.h: Same.
632         
633 2003-12-09  Benjamin Kosnik  <bkoz@redhat.com>
634
635         PR libstdc++/13296
636         * acinclude.m4 (GLIBCXX_ENABLE_LIBUNWIND_EXCEPTIONS): Remove.
637         * aclocal.m4: Regenerate.
638         * configure.ac: Remove call to GLIBCXX_ENABLE_LIBUNWIND_EXCEPTIONS.
639         * conigure: Regenerate.
640         * src/Makefile.am (libstdc___la_LDFLAGS): Remove LIBUNWIND_FLAGS.
641         * src/Makefile.in: Regenerate.
642         * docs/html/17_intro/configury.html: Modify.
643         
644 2003-12-09  Paolo Carlini  <pcaelini@suse.de>
645         
646         * include/bits/demangle.h (struct implementation_details):
647         Keep in comments the names of the unused parameters.
648
649 2003-12-09  Paolo Carlini  <pcaelini@suse.de>
650
651         * include/bits/demangle.h (struct implementation_details):
652         Fix unused parameters warning.
653
654 2003-12-09  Paolo Carlini  <pcarlini@suse.de>
655
656         * include/bits/locale_facets.tcc (num_get::_M_extract_int):
657         Slightly streamline the code dealing with overflows and the
658         parsing of the sign.
659
660 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
661
662         * include/ext/algorithm, include/ext/debug_allocator.h,
663         include/ext/enc_filebuf.h, include/ext/functional,
664         include/ext/hash_fun.h, include/ext/hash_map, include/ext/hash_set,
665         include/ext/hashtable.h, include/ext/iterator,
666         include/ext/malloc_allocator.h, include/ext/memory,
667         include/ext/mt_allocator.h, include/ext/numeric,
668         include/ext/pod_char_traits.h, include/ext/pool_allocator.h,
669         include/ext/rb_tree, include/ext/rope, include/ext/ropeimpl.h,
670         include/ext/slist, include/ext/stdio_filebuf.h,
671         include/ext/stdio_sync_filebuf.h: Remove trailing whitespace.
672
673 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
674
675         * include/debug/bitset, include/debug/debug.h, include/debug/deque,
676         include/debug/formatter.h, include/debug/hash_map.h,
677         include/debug/hash_multimap.h, include/debug/hash_multiset.h,
678         include/debug/hash_set, include/debug/hash_set.h, include/debug/list,
679         include/debug/map.h, include/debug/multimap.h,
680         include/debug/multiset.h, include/debug/safe_base.h,
681         include/debug/safe_iterator.h, include/debug/safe_iterator.tcc,
682         include/debug/safe_sequence.h, include/debug/set.h,
683         include/debug/string, include/debug/vector: Remove trailing whitespace.
684
685 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
686
687         * include/c_compatibility/iso646.h, include/c_compatibility/limits.h,
688         include/c_compatibility/locale.h, include/c_compatibility/stdio.h,
689         include/c_compatibility/string.h, include/c_compatibility/time.h,
690         include/c_compatibility/wchar.h, include/c_compatibility/wctype.h:
691         Remove trailing whitespace.
692
693 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
694
695         * include/c_std/cmath.tcc, include/c_std/std_cassert.h,
696         include/c_std/std_cctype.h, include/c_std/std_cmath.h,
697         include/c_std/std_cstddef.h, include/c_std/std_cstdio.h,
698         include/c_std/std_cstdlib.h, include/c_std/std_cstring.h,
699         include/c_std/std_cwchar.h, include/c_std/std_cwctype.h:
700         Remove trailing whitespace.
701
702 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
703
704         * include/c/std_cctype.h, include/c/std_cmath.h,
705         include/c/std_cstdlib.h include/c/std_cwchar.h,
706         include/c/std_cwctype.h: Remove trailing whitespace.
707
708 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
709
710         * include/backward/algo.h, include/backward/algobase.h,
711         include/backward/alloc.h, include/backward/complex.h,
712         include/backward/defalloc.h, include/backward/function.h,
713         include/backward/iterator.h, include/backward/new.h,
714         include/backward/ostream.h, include/backward/queue.h,
715         include/backward/rope.h, include/backward/stream.h,
716         include/backward/streambuf.h, include/backward/strstream,
717         include/backward/tempbuf.h, include/backward/tree.h,
718         include/backward/vector.h: Remove trailing whitespace.
719
720 2003-12-08  Paolo Carlini  <pcarlini@suse.de>
721
722         * config/locale/generic/c_locale.cc (__convert_to_v(long&),
723         __convert_to_v(unsigned long&), __convert_to_v(long long&),
724         __convert_to_v(unsigned long long&): Remove.
725         (__convert_to_v(float&), __convert_to_v(double&),
726         __convert_to_v(long double&)): Remove last unused parameter.
727         * config/locale/gnu/c_locale.cc: Likewise.
728         * include/bits/locale_facets.h: Likewise.
729         (num_get::_M_extract_int): Update declaration.
730         (class __num_base): Tweak _S_ie and _S_iE according to the
731         _S_atoms_in changes.
732         * include/bits/locale_facets.tcc (num_get::_M_extract_int):
733         Provide directly the final _ValueT, not a string: accumulate
734         the result checking for overflow at each digit.
735         (num_get::do_get(bool&), num_get::do_get(long&),
736         num_get::do_get(unsigned short&), num_get::do_get(unsigned int&),
737         num_get::do_get(unsigned long&), num_get::do_get(long long&),
738         num_get::do_get(unsigned long long&), num_get::do_get(void*&)):
739         Use the new _M_extract_int, simplify.
740         * src/locale-inst.cc (num_get::_M_extract_int(long&),
741         num_get::_M_extract_int(unsigned short&),
742         num_get::_M_extract_int(unsigned int&),
743         num_get::_M_extract_int(unsigned long&),
744         num_get::_M_extract_int(long long&),
745         num_get::_M_extract_int(unsigned long long&): Instantiate.
746         * src/locale_facets.cc (__num_base::_S_atoms_in): Reorder
747         the chars in the natural order: abcdefABCDEF.
748
749 2003-12-08  David S. Miller  <davem@redhat.com>
750
751         PR libstdc++/12496
752         * config/cpu/sparc/atomicity.h (__exchange_and_add, __atomic_add):
753         Extend increment to _Atomic_word before giving to assembler.
754
755 2003-12-06  Benjamin Kosnik  <bkoz@redhat.com>
756
757         * testsuite/ext/enc_filebuf/char/13189.cc: Guard for __enc_traits.
758         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
759         
760 2003-12-06  Benjamin Kosnik  <bkoz@redhat.com>
761
762         PR libstdc++/11691 
763         * include/ext/stdio_filebuf.h (stdio_filebuf::stdio_filebuf):
764         Remove __del argument to file descriptor constructor.
765         * config/io/basic_file_stdio.h (__basic_file::sys_open): Remove
766         bool argument.
767         * config/io/basic_file_stdio.cc: Same.
768
769 2003-12-05  Benjamin Kosnik  <bkoz@redhat.com>
770
771         PR libstdc++/13189
772         * include/ext/enc_filebuf.h: Fix.
773         * include/bits/fstream.tcc: Tweak formatting.
774         * include/bits/postypes.h: Same.
775         * include/bits/sstream.tcc: Same.
776         * include/bits/streambuf.tcc: Same.
777         * testsuite/ext/stdio_filebuf.cc: Split.
778         * testsuite/ext/stdio_filebuf_2.cc: Split.
779         * testsuite/ext/stdio_sync_filebuf_char.cc: Split.
780         * testsuite/ext/stdio_sync_filebuf_wchar_t.cc: Split.
781         * testsuite/ext/enc_filebuf/char/13189.cc: New.
782         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: New.
783         * testsuite/ext/stdio_filebuf/char/1.cc: New.
784         * testsuite/ext/stdio_filebuf/char/2.cc: New.
785         * testsuite/ext/stdio_sync_filebuf/char/1.cc: New.
786         * testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: New.
787         * testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: New.
788         * testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: New.
789         * testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: New.
790         * testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: New.
791         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: New.
792         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: New.
793         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: New.
794         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: New.
795
796 2003-12-05  Carlo Wood  <carlo@alinoe.com>
797
798         PR libstdc++/13045
799         * bits/demangle.h
800         namespace __gnu_cxx::demangler
801         (enum substitution_nt): Removed trailing comma.
802         (implementation_details): Added.
803         (session<Allocator>::M_implementation_details): Added.
804         (session<Allocator>::session): Pass implementation_details.
805         (session<Allocator>::decode_encoding): Same.
806         (session<Allocator>::decode_real): Added.
807         (_GLIBCXX_DEMANGLER_STYLE_VOID _GLIBCXX_DEMANGLER_STYLE_LITERAL
808         _GLIBCXX_DEMANGLER_STYLE_LITERAL_INT
809         _GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS
810         _GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME): Replaced with
811         implementation_details equivalent.
812         (session<Allocator>::decode_expression):
813         Use M_implementation_details instead of macros. Add extra parentheses
814         around 'larger than' operator in expressions in template arguments.
815         (session<Allocator>::decode_bare_function_type): Idem.
816         (session<Allocator>::decode_literal):
817         Idem, and call decode_real for floating literals.
818         (session<Allocator>::decode_type_with_postfix): Put the postfix
819         of the return type of (member) functions after the function
820         instead of after the return type.  Also, put a space after the
821         prefix of qualified function pointers: "int (* const<space>".
822         * src/demangle.cc: include most dependent header file first.
823         * testsuite/demangle/regression/cw-16.cc: Updated two
824         and added three tests.
825
826 2003-12-04  Benjamin Kosnik  <bkoz@redhat.com>
827
828         PR libstdc++/13284
829         * include/bits/stl_algo.h (__random_number): Remove.
830         (random_shuffle): Use rand, as permitted by DR 395.
831         * include/ext/algorithm: Same.
832         * linkage.m4 (GLIBCXX_CHECK_STDLIB_SUPPORT): Remove lrand48.
833         * acconfig.h: Same.
834         * crossconfig.m4: Remove HAVE_DRAND48, HAVE_LRAND48.
835         * config.h.in: Regenerated.
836         * configure: Same.
837         * aclocal.m4: Same.
838         
839 2003-12-04  Paolo Carlini  <pcarlini@suse.de>
840
841         PR libstdc++/12653
842         * include/std/std_bitset.h (operator>>): Implement resolution
843         of DR 303 [WP]: use widen('0') and widen('1').
844         * docs/html/ext/howto.html: Add an entry for DR 303.
845
846         * include/std/std_bitset.h (operator>>): Implement the common
847         requirements of formatted input functions (27.6.1.2.1).
848
849         * include/std/std_bitset.h (operator>>): Set the failbit when
850         nothing was extracted and _Nb != 0.
851         * testsuite/23_containers/bitset/input/1.cc: New.
852
853 2003-12-03  Paolo Carlini  <pcarlini@suse.de>
854
855         PR libstdc++/12791
856         * include/bits/locale_facets.tcc (time_get::_M_extract_num):
857         Rewrite, stop the parsing as soon as a digit cannot possibly
858         lead to a final number within the bounds; otherwise, simplify,
859         avoiding __ctype.is() and atoi().
860         * testsuite/22_locale/time_get/get_date/char/12791.cc: New.
861         * testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: New.
862
863         * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
864         Minor tweak: a 4-digit integer cannot be bigger than 9999.
865
866         * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Use
867         type-correct wchar_t string literals.
868         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Ditto.
869         * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Ditto.
870         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Ditto.
871         * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Ditto.
872
873 2003-12-02  Paolo Carlini  <pcarlini@suse.de>
874
875         * include/bits/locale_facets.tcc (time_get::do_get_year):
876         Avoid using a basic_string and calling a full blown strtol
877         (via __convert_to_v) for simple 2 or 4 digits, base 10,
878         positive integers; simplify.
879
880 2003-12-02  Paolo Carlini  <pcarlini@suse.de>
881
882         * config/locale/gnu/monetary_members.cc
883         (money_base::_S_construct_pattern): For case 3: and 4:
884         exchanging 'if (__precedes)' and 'if (__space)' allows
885         to factor out a few more assignments.
886
887 2003-12-01  Benjamin Kosnik  <bkoz@redhat.com>
888
889         * include/bits/basic_ios.h (basic_ios::setstate): Revert.
890         * include/bits/istream.tcc: Only call setstate if __err != goodbit.
891         * include/bits/ostream.tcc: Same.
892         * testsuite/27_io/basic_ios/exceptions/char/2.cc: New.
893         
894         * testsuite/testsuite_io.h (__gnu_test::fail_streambuf): Make
895         internal buffer non-static.
896
897 2003-12-01  Benjamin Kosnik  <bkoz@redhat.com>
898
899         * docs/html/17_intro/C++STYLE: Add exception bits.
900         * include/bits/fstream.tcc: Add location info to exception strings.
901
902         * include/bits/stl_construct.h: Formatting tweaks.
903
904 2003-12-01  Paolo Carlini  <pcarlini@suse.de>
905
906         PR libstdc++/10378
907         * include/bits/allocator.h (allocator::construct): Implement
908         resolution of DR 402 [Ready] (in Revision 28).
909         * include/bits/allocator_traits.h (__allocator::construct):
910         Likewise.
911         * include/bits/stl_construct.h (_Construct): Likewise.
912         * testsuite/20_util/allocator_members.cc: Move to...
913         * testsuite/20_util/allocator/1.cc: ... here.
914         * testsuite/20_util/allocator/10378.cc: New.
915         * docs/html/ext/howto.html: Add an entry for DR 402.
916
917 2003-11-30  Paolo Carlini  <pcarlini@suse.de>
918
919         * config/locale/gnu/codecvt_members.cc (codecvt::do_in,
920         codecvt::do_length): More minor tweaks.
921
922 2003-11-30  Paolo Carlini  <pcarlini@suse.de>
923
924         * config/locale/gnu/codecvt_members.cc (codecvt::do_in):
925         Minor stylistic tweak.
926
927 2003-11-30  Paolo Carlini  <pcarlini@suse.de>
928
929         * include/bits/locale_facets.tcc (num_put::do_put(..., bool)):
930         Minor tweaks, consistent with the style used in other facets.
931
932 2003-11-29  Paolo Carlini  <pcarlini@suse.de>
933
934         * include/bits/fstream.tcc (underflow): Minor tweaks in
935         preparation for libstdc++/13217.
936
937 2003-11-29  Paolo Carlini  <pcarlini@suse.de>
938
939         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc:
940         Tweak for a few small problems (fix timings, use VERIFY..)
941
942 2003-11-28  Paolo Carlini  <pcarlini@suse.de>
943
944         * testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc: Remove.
945         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: New,
946         the original third testcase for libstdc++/13171 belong here.
947
948 2003-11-28  Paolo Carlini  <pcarlini@suse.de>
949
950         * testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc:
951         Remove extraneous wchar_t lines.
952         
953 2003-11-27  Paolo Carlini  <pcarlini@suse.de>
954
955         PR libstdc++/11544
956         PR libstdc++/11603
957         * include/bits/fstream.tcc (underflow): Throw ios_base::failure
958         upon incomplete or invalid byte sequences in the file.
959         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc: New.
960         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc: New.
961         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc: New.
962
963 2003-11-27  Paolo Carlini  <pcarlini@suse.de>
964
965         * include/std/std_streambuf.h (__copy_streambufs): Remove
966         the first, unused, basic_ios<> parameter.
967         * src/streambuf-inst.cc: Likewise.
968         * include/bits/streambuf.tcc: Likewise.
969         * include/bits/istream.tcc (operator>>(__streambuf_type*)):
970         Tweak accordingly the call.
971         * include/bits/ostream.tcc (operator<<(__streambuf_type*)):
972         Likewise.
973
974         * include/bits/streambuf.tcc (__copy_streambufs): Remove
975         redundant try/catch.
976
977 2003-11-26  Benjamin Kosnik  <bkoz@redhat.com>
978
979         PR libstdc++/9371
980         PR libstdc++/9546
981         PR libstdc++/10093
982         PR libstdc++/10095
983         * include/bits/basic_ios.h (basic_ios::setstate): Elide if goodbit.
984         (basic_ios::_M_setstate): Consolidate common error handling code.
985         * include/bits/basic_ios.tcc: Tweak.
986         * include/bits/fstream.tcc: Tweak.
987         * include/bits/istream.tcc: Use _M_setstate for common exception
988         handling. Move setstate calls after catch. 
989         (basic_istream::tellg): Check for exceptions thrown by streambuf
990         virtual functions.
991         (basic_istream::seekg): Same.
992         * include/bits/ostream.tcc: Same, but for ostream.
993         (basic_ostream::flush): Check for exceptions thrown by streambuf
994         virtual functions.
995         (basic_istream::tellp): Same.   
996         (basic_istream::seekp): Same.
997         * include/bits/locale_facets.tcc: Tweak.
998         * include/bits/streambuf.tcc: Tweak.
999         (__copy_streambufs): Propagate exceptions.
1000         * testsuite/testsuite_io.h (fail_streambuf): New.
1001         (fail_num_get): New.
1002         (fail_num_put): New.
1003         (facet_error): New.
1004         (underflow_error): New.
1005         (overflow_error): New.  
1006         (positioning_error): New.       
1007         * testsuite/27_io/basic_istream/exceptions/char/9561.cc: Tweak.
1008         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1009         exceptions_badbit_throw.cc, exceptions_failbit.cc,
1010         exceptions_failbit_throw.cc: New.
1011         * testsuite/27_io/basic_istream/extractors_other/char/
1012         error_failbit.cc, exceptions_badbit_throw.cc,
1013         exceptions_failbit_throw.cc, exceptions_null.cc: New.
1014         * testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc: 
1015         New.
1016         * testsuite/27_io/basic_istream/tellg/char/exceptions_badbit_throw.cc:
1017         New.
1018         * testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc:
1019         New.
1020         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
1021         exceptions_badbit_throw.cc, exceptions_failbit_throw.cc: New.
1022         * testsuite/27_io/basic_ostream/inserters_other/char/
1023         error_failbit.cc, exceptions_badbit_throw.cc,
1024         exceptions_failbit_throw.cc, exceptions_null.cc: New.
1025         * testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc: 
1026         New.
1027         * testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc: 
1028         New.
1029
1030 2003-11-26  Benjamin Kosnik  <bkoz@redhat.com>
1031
1032         PR libstdc++/12297
1033         * include/bits/istream.tcc
1034         (basic_istream::sentry::sentry): Set failbit and eofbit when eof.
1035         * testsuite/27_io/basic_istream/sentry/char/12297.cc: New.
1036         
1037 2003-11-26  Paolo Carlini  <pcarlini@suse.de>
1038             Petur Runolfsson  <peturr02@ru.is>
1039
1040         PR libstdc++/13171
1041         * include/bits/fstream.tcc (imbue): Relax the conditions under
1042         which the function succeeds: allow for two consecutive calls with
1043         the same name; state dependent encodings are ok even after open
1044         if at the beginning of the file; don't check seekoff return value
1045         (pipes, cin, cout, etc...)
1046         * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: New.
1047         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: New.
1048         * testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc: New.
1049         * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: New.
1050         * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Tweak comment.
1051         * testsuite/27_io/basic_filebuf/imbue/char/3.cc: Likewise.
1052         * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Tweak comment.
1053         * testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: Likewise.
1054
1055         * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: More
1056         correctly use the UTF-8 locale appearing in the PR.
1057
1058 2003-11-26  Paolo Carlini  <pcarlini@suse.de>
1059
1060         * include/bits/locale_facets.h
1061         (__numpunct_cache<>::_M_cache): Avoid zeroing _M_grouping,
1062         _M_truename and _M_falsename: the constructor always does
1063         it immediately before the _M_cache call.
1064
1065 2003-11-25  Paolo Carlini  <pcarlini@suse.de>
1066
1067         * config/locale/gnu/codecvt_members.cc (codecvt::do_length):
1068         Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the
1069         former is very fast, but stops if encounters a NUL.
1070         (codecvt::do_out): Tweaks.
1071         (codecvt::do_in): Tweaks, improve the code dealing with errors.
1072         * testsuite/performance/wchar_t_length.cc: New.
1073
1074 2003-11-24  Paolo Carlini  <pcarlini@suse.de>
1075
1076         * config/locale/gnu/codecvt_members.cc (codecvt::do_in):
1077         Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the
1078         former is very fast, but stops if encounters a NUL.
1079         (codecvt::do_out): Tweak.
1080         * testsuite/performance/wchar_t_in.cc: New.
1081
1082 2003-11-24  Paolo Carlini  <pcarlini@suse.de>
1083
1084         * include/bits/locale_facets.h
1085         (__numpunct_cache<>::_M_cache): Set _M_allocated at the beginning
1086         in order to avoid memory leaks; simplify a bit.
1087
1088 2003-11-24  Benjamin Kosnik  <bkoz@redhat.com>
1089         
1090         * include/bits/streambuf_iterator.h (ostreambuf_iterator): Remove
1091         non-standard throw specs.
1092         * testsuite/24_iterators/istreambuf_iterator.cc: Split into...
1093         * testsuite/24_iterators/istreambuf_iterator/1.cc
1094         * testsuite/24_iterators/istreambuf_iterator/2.cc
1095         * testsuite/24_iterators/istreambuf_iterator/2627.cc
1096         * testsuite/24_iterators/ostreambuf_iterator.cc: Split into...
1097         * testsuite/24_iterators/ostreambuf_iterator/1.cc
1098         * testsuite/24_iterators/ostreambuf_iterator/2.cc
1099
1100         * testsuite/24_iterators/reverse_iterator/1.cc: Just compile,
1101         don't link.
1102         
1103         * include/bits/allocator.h: Formatting tweak.
1104         
1105 2003-11-24  Paolo Carlini  <pcarlini@suse.de>
1106
1107         * src/locale_init.cc: Cosmetic reformatting.
1108
1109 2003-11-23  Paolo Carlini  <pcarlini@suse.de>
1110
1111         * include/bits/locale_facets.tcc (__add_grouping):
1112         Cosmetic reformatting.
1113
1114 2003-11-23  Paolo Carlini  <pcarlini@suse.de>
1115
1116         * include/bits/locale_facets.tcc (_M_extract_float,
1117         _M_extract_int): Remove a wrong comment and simplify
1118         the corresponding code using char_traits::find().
1119
1120 2003-11-22  Paolo Carlini  <pcarlini@suse.de>
1121
1122         * config/locale/gnu/monetary_members.cc
1123         (money_base::_S_construct_pattern): Factor out two assignments.
1124
1125 2003-11-22  Paolo Carlini  <pcarlini@suse.de>
1126
1127         * include/bits/istream.tcc (getline(basic_string<>&)):
1128         Fix error in comment of the previous commit.
1129
1130 2003-11-22  Paolo Carlini  <pcarlini@suse.de>
1131
1132         PR libstdc++/12593
1133         * include/bits/istream.tcc (operator>>(basic_string<>&),
1134         getline(basic_string<>&)): Implement resolution of DR 91 [WP];
1135         fix some minor issues with the exit conditions.
1136         * docs/html/ext/howto.html: Add an entry for DR 91.
1137
1138 2003-11-21  Paolo Carlini  <pcarlini@suse.de>
1139
1140         * config/locale/gnu/monetary_members.cc
1141         (money_base::_S_construct_pattern): Factor out an assignment.
1142
1143 2003-11-21  Paolo Carlini  <pcarlini@suse.de>
1144
1145         PR libstdc++/12882 (partial)
1146         * acinclude.m4 (GLIBCXX_CHECK_LFS): Check fseeko64
1147         and ftello64 too.
1148         * include/ext/stdio_sync_filebuf.h (seekoff): Use fseeko64
1149         and ftello64 if available.
1150         * aclocal.m4: Regenerate.
1151         * configure: Ditto.
1152
1153 2003-11-20  Benjamin Kosnik  <bkoz@redhat.com>
1154
1155         * include/debug/formatter.h: Use _Tp as template argument.
1156         * src/debug.cc: Same, instantiate std::size_t.
1157         
1158 2003-11-20  Benjamin Kosnik  <bkoz@redhat.com>
1159
1160         PR libstdc++/13109
1161         * include/debug/formatter.h (_Error_formatter::_M_format_word): New.
1162         * src/debug.cc (__gnu_debug): Format. 
1163         (_Error_formatter::_M_format_word): Define, use, instantiate.
1164
1165 2003-11-20  Paolo Carlini  <pcarlini@suse.de>
1166
1167         PR libstdc++/11602
1168         * config/locale/gnu/codecvt_members.cc (codecvt::do_out):
1169         Rewrite, using both wcsnrtombs and wcrtomb in a loop: the
1170         former is very fast, but stops if encounters a NUL.
1171         * testsuite/performance/wchar_t_out.cc: New, from the PR.
1172
1173 2003-11-19  Paolo Carlini  <pcarlini@suse.de>
1174
1175         * config/locale/gnu/codecvt_members.cc (do_out): If
1176         we can upper bound the total number of external chars
1177         to something smaller than __to_end - __to, avoid the
1178         temporary buffer, the memcopy and simplify the loop.
1179         * config/locale/generic/codecvt_members.cc (do_out):
1180         Likewise.
1181
1182 2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
1183
1184         * testsuite/lib/libstdc++.exp: Add DYLD_LIBRARY_PATH for darwin.
1185         * testsuite/libstdc++-dg/normal.exp: Add -multiply_defined suppress
1186         flag.
1187
1188 2003-11-18  Jonathan Wakely  <redi@gcc.gnu.org>
1189
1190         * docs/html/configopts.html, docs/html/debug.html,
1191         docs/html/documentation.html, docs/html/explanations.html,
1192         docs/html/install.html, docs/html/17_intro/contribute.html,
1193         docs/html/17_intro/howto.html, docs/html/17_intro/license.html,
1194         docs/html/18_support/howto.html, docs/html/19_diagnostics/howto.html,
1195         docs/html/20_util/howto.html, docs/html/21_strings/howto.html,
1196         docs/html/22_locale/codecvt.html, docs/html/22_locale/ctype.html,
1197         docs/html/22_locale/howto.html, docs/html/22_locale/locale.html,
1198         docs/html/22_locale/messages.html, docs/html/23_containers/howto.html,
1199         docs/html/24_iterators/howto.html, docs/html/25_algorithms/howto.html,
1200         docs/html/26_numerics/howto.html, docs/html/27_io/howto.html,
1201         docs/html/ext/howto.html, docs/html/ext/sgiexts.html: Add <link> tags.
1202
1203 2003-11-18  Paolo Carlini  <pcarlini@suse.de>
1204
1205         PR libstdc++/12868
1206         * include/bits/fstream.tcc (imbue): For encodings != -1 it's
1207         always ok to imbue a new locale, provided seekoff(0, cur, ...)
1208         doesn't fail, of course.
1209         (underflow): In order for the above to work, deal gracefully
1210         with _M_codecvt->in returning codecvt_base::error while 
1211         (__ilen = __iend - this->eback()) > 0: it just means __ilen
1212         correctly converted internal characters before an error.        
1213         * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: New.
1214
1215 2003-11-17  Paolo Carlini  <pcarlini@suse.de>
1216
1217         * include/bits/locale_facets.tcc: Fix typo in comment.
1218
1219 2003-11-17  Paolo Carlini  <pcarlini@suse.de>
1220
1221         * testsuite/22_locale/num_put/put/char/8.cc: New test,
1222         summarizing the discussion ensuing libstdc++/12988.
1223         * testsuite/22_locale/num_put/put/wchar_t/8.cc: Ditto.
1224
1225 2003-11-15  Paolo Carlini  <pcarlini@suse.de>
1226
1227         * include/std/std_fstream.h: Tweak a comment.
1228
1229 2003-11-15  Roger Sayle  <roger@eyesopen.com>
1230
1231         * include/c_std/std_cmath.h: Don't import C99's float transcendentals
1232         into the __gnu_cxx::__c99_binding namespace.
1233         (acos, asin, atan, atan2, ceil, cosh, exp, floor, fmod, frexp,
1234         ldexp, log, log10, modf, pow, sinh, tan, tanh): Implement using
1235         GCC's math builtins, i.e. __builtin_foo.
1236         * libmath/stubs.c (acosf, acosl, asinf, asinl, atanf, atanl,
1237         ceilf, ceill, floorf, floorl, fmodf, fmodl, frexpf, frexpl,
1238         ldexpf, ldexpl, modff, modfl): Provide stub implementations.
1239
1240 2003-11-14  Paolo Carlini  <pcarlini@suse.de>
1241
1242         * testsuite/22_locale/locale/cons/12352.cc: Use
1243         __gnu_test::try_named_locale.
1244
1245 2003-11-14  Paolo Carlini  <pcarlini@suse.de>
1246
1247         * docs/html/ext/howto.html: Add entries for DR 63, 75
1248         and 305; tweak entries for DR 60 and 328.
1249
1250 2003-11-13  Douglas Gregor  <gregod@cs.rpi.edu>
1251
1252         * docs/html/debug.html: Users are allowed to specialize in
1253         namespace __gnu_debug, unlike in the Apple version of the debug
1254         mode. Clear up a confusing double-negative. Note that
1255         std::basic_string does provide extra debugging capabilities, but
1256         not safe iterators.
1257         * include/bits/basic_string.tcc: Make sure there's never an
1258         ambiguity when calling __is_null_pointer. 
1259         * include/debug/deque: (deque::erase) Properly handle invalidation
1260         when erasing at the end of the deque.
1261         * include/debug/vector: (vector::swap): Swap _M_guaranteed_capacity. 
1262         (vector::clear): Set the guaranteed capacity to 0.
1263         * testsuite/23_containers/deque/invalidation/4.cc: (test04): Test
1264         iterator invalidation when erasing at the end of the deque.
1265
1266 2003-11-13  Paolo Carlini  <pcarlini@suse.de>
1267             Petur Runolfsson  <peturr02@ru.is>
1268
1269         PR libstdc++/13007
1270         * include/bits/fstream.tcc (imbue): Don't touch the stored
1271         locale.
1272         * include/std/std_streambuf.h (imbue): According to the
1273         standard, base class version does nothing.
1274         (pubimbue): Store the locale.
1275         * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: New.
1276         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: New.
1277         * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Tweak.
1278         * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
1279         * testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc: New.
1280         * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: New.
1281         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc: New.
1282         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: New.
1283
1284 2003-11-13  Petur Runolfsson  <peturr02@ru.is>
1285
1286         PR libstdc++/12594
1287         * include/bits/ostream.tcc
1288         (basic_ostream::operator<<(basic_ostream& (*)(basic_ostream&)),
1289         basic_ostream::operator<<(basic_ios& (*)(basic_ios&)),
1290         basic_ostream::operator<<(ios_base& (*)(ios_base&))):
1291         Implement the resolution of DR 60 (TC): These are not formatted
1292         output functions so don't construct sentry objects and don't
1293         catch exceptions.
1294         (basic_ostream::put, basic_ostream::write): Implement the
1295         resolution of DR 63 (TC) by catching exceptions and setting
1296         badbit.
1297         (basic_ostream::flush): Implement the resolution of DR 60 (TC):
1298         This is not an unformatted output function so don't construct
1299         a sentry object.
1300         * testsuite/testsuite_io.h (sync_streambuf): Define.
1301         * testsuite/27_io/basic_ostream/flush/char/2.cc: New test.
1302         * testsuite/27_io/basic_ostream/inserters_other/char/5.cc: New test.
1303         * testsuite/27_io/basic_ostream/put/char/1.cc: New test.
1304         * testsuite/27_io/basic_ostream/write/char/1.cc: New test.
1305         
1306 2003-11-13  Paolo Carlini  <pcarlini@suse.de>
1307
1308         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1:
1309         Fix, closely following the testcase included in the PR.
1310         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2: Ditto.
1311         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3: Ditto.
1312         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4: Ditto.
1313
1314 2003-11-13  Jonathan Wakely <redi@gcc.gnu.org>
1315
1316         * docs/html/17_intro/configury.html: XHTML tweak.
1317
1318 2003-11-13  Jonathan Wakely <redi@gcc.gnu.org>
1319
1320         * docs/html/debug_mode.html: XHTML fixes.
1321
1322 2003-11-12  Benjamin Kosnik  <bkoz@redhat.com>
1323
1324         * docs/html/debug_mode.html: Update.
1325         * docs/html/17_intro/TODO: Update.
1326
1327 2003-11-12  Benjamin Kosnik  <bkoz@redhat.com>
1328
1329         * include/bits/c++config: Move using directive...
1330         * include/debug/formatter.h: ...here.
1331
1332 2003-11-12  Carlo Wood  <carlo@alinoe.com>
1333
1334         PR libstdc++/12947
1335         * bits/demangle.h
1336         (_GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS): Added.
1337         (_GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME): Added.
1338         (session<Allocator>::next_peek() const): Added.
1339         (decode_non_negative_decimal_integer(string_type&)):
1340         Renamed from decode_decimal_integer(string_type&).
1341         (session<Allocator>::decode_nested_name):
1342         Decode <template_param> as well.
1343         (session<Allocator>::add_substitution):
1344         Handle <template-param> for <nested-name>'s.
1345         (enum xary_nt): Added.
1346         (struct entry_st): Added member `xary_nt type' instead of `bool unary'.
1347         (symbol_name_table_c): Updated for `entry_st::type' and additional
1348         operators (unary `operator+' and `sizeof(type)').
1349         (offset_table_c): Updated for new operators (causing a new hash map).
1350         (decode_operator_name): Match the updated hash map.
1351         (session<Allocator>::decode_expression):
1352         Support for `sizeof ([typename] type)' (st),
1353         dependent names (sr) and casting operator (cv).  Handle
1354         `entry_st::type'.  Handle _GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS
1355         and _GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME.
1356         (session<Allocator>::decode_type_with_postfix):
1357         Support `extern "C"' function types (FY).
1358         * testsuite/demangle/regression/cw-16.cc: Added tests for the
1359         added functionality.
1360         * testsuite/demangle/regression/3111-2.cc: sizeof now has a space
1361         appended.
1362
1363 2003-11-11  Paolo Carlini  <pcarlini@suse.de>
1364
1365         PR libstdc++/12875
1366         * include/bits/fstream.tcc (setbuf): Don't do anything
1367         after open(), in particular don't discard data.
1368         (_M_allocate_internal_buffer): Tweak to not allocate memory
1369         in case the buffer is provided by the user via setbuf.
1370         * include/ext/stdio_filebuf.h: Tweak comment.
1371         * testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc: New.
1372         * testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc: Likewise.
1373         * testsuite/27_io/basic_filebuf/setbuf/char/2.cc: Tweak, now
1374         setbuf does nothing after open().
1375         * testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Likewise.
1376
1377 2003-11-11  Doug Gregor  <gregod@cs.rpi.edu>
1378
1379         * docs/html/debug.html: Document libstdc++ debug mode.
1380         * docs/html/debug_mode.html: Document libstdc++ debug mode design.
1381         * docs/html/test.html: Document how to test under debug mode.
1382         * docs/html/17_intro/howto.html: Document debug-mode macros.
1383         * include/Makefile.am: Install debug-mode headers.
1384         * src/Makefile.am: Include debug.cc.
1385         * include/bits/basic_string.tcc: 
1386           (basic_string::_S_construct): Fix NULL pointer check.
1387           (__is_null_pointer): New.
1388           Add precondition annotations.
1389         * include/bits/stream_iterator.h (istream_iterator,
1390         ostream_iterator): Added precondition annotations.
1391         * include/bits/streambuf_iterator.h (istreambuf_iterator): Ditto.
1392         * include/bits/stl_queue.h (queue, priority_queue): Ditto.
1393         * include/bits/stl_stack.h (stack): Ditto.
1394         * include/bits/basic_string.h (basic_string): Ditto.
1395         * include/bits/basic_string.tcc (basic_string): Ditto.
1396         * include/std/std_memory.h (auto_ptr): Ditto.
1397         * include/std/std_valarray.h (valarray): Ditto.
1398         * include/bits/stl_algo.h: Added algorithm precondition
1399         annotations.
1400         * include/bits/stl_algobase.h: Added algorithm precondition
1401         annotations.
1402         * include/bits/stl_numeric.h: Ditto.
1403         * include/ext/algorithm: Added algorithm precondition
1404         annotations. 
1405         (__is_heap): Moved away from here.
1406         * include/bits/stl_heap.h: Added algorithm precondition
1407         annotations. 
1408         (__is_heap): Moved to the top of this file.
1409         (__is_heap): Added iterator range overloads.
1410         * testsuite/20_util/auto_ptr_neg.cc: Fix line numbers to match up
1411         with changes in std_memory.h.
1412         * testsuite/23_containers/list/operators/4.cc: Don't verify
1413         performance guarantees when in debug mode.
1414         * testsuite/23_containers/bitset/invalidation/1.cc: New.
1415         * testsuite/23_containers/deque/invalidation/1.cc: New.
1416         * testsuite/23_containers/deque/invalidation/2.cc: New.
1417         * testsuite/23_containers/deque/invalidation/3.cc: New.
1418         * testsuite/23_containers/deque/invalidation/4.cc: New.
1419         * testsuite/23_containers/list/invalidation/1.cc: New.
1420         * testsuite/23_containers/list/invalidation/2.cc: New.
1421         * testsuite/23_containers/list/invalidation/3.cc: New.
1422         * testsuite/23_containers/list/invalidation/4.cc: New.
1423         * testsuite/23_containers/map/invalidation/1.cc: New.
1424         * testsuite/23_containers/map/invalidation/2.cc: New.
1425         * testsuite/23_containers/multimap/invalidation/1.cc: New.
1426         * testsuite/23_containers/multimap/invalidation/2.cc: New.
1427         * testsuite/23_containers/multiset/invalidation/1.cc: New.
1428         * testsuite/23_containers/multiset/invalidation/2.cc: New.
1429         * testsuite/23_containers/set/invalidation/1.cc: New.
1430         * testsuite/23_containers/set/invalidation/2.cc: New.
1431         * testsuite/23_containers/vector/invalidation/1.cc: New.
1432         * testsuite/23_containers/vector/invalidation/2.cc: New.
1433         * testsuite/23_containers/vector/invalidation/3.cc: New.
1434         * testsuite/23_containers/vector/invalidation/4.cc: New.
1435         * testsuite/25_algorithms/heap.cc: Don't verify
1436         performance guarantees when in debug mode.
1437         * include/debug/bitset: New.
1438         * include/debug/debug.h: New.
1439         * include/debug/deque: New.
1440         * include/debug/formatter.h: New.
1441         * include/debug/hash_map: New.
1442         * include/debug/hash_map.h: New.        
1443         * include/debug/hash_multimap.h: New.
1444         * include/debug/hash_set: New.
1445         * include/debug/hash_set.h: New.
1446         * include/debug/hash_multiset.h: New.   
1447         * include/debug/list: New.
1448         * include/debug/map: New.
1449         * include/debug/map.h: New.
1450         * include/debug/multimap.h: New.
1451         * include/debug/multiset.h: New.        
1452         * include/debug/safe_base.h: New.
1453         * include/debug/safe_iterator.h: New.
1454         * include/debug/safe_iterator.tcc: New.
1455         * include/debug/safe_sequence.h: New.
1456         * include/debug/set: New.
1457         * include/debug/set.h: New.     
1458         * include/debug/string: New.
1459         * include/debug/vector: New.
1460         * src/debug.cc: New.
1461         * config/linker-map.gnu: Add debug mode symbols.
1462         
1463 2003-11-11  Benjamin Kosnik  <bkoz@redhat.com>
1464
1465         * src/string-inst.cc: Tweak namespaces.
1466         * src/misc-inst.cc: Same.
1467         * docs/html/debug.html: Edits.
1468         * config/link-map.gnu: Remove cruft.
1469
1470         * include/bits/c++config: Add in namespace associations.
1471         * include/std/std_bitset.h: Adjust namespace to __gnu_norm,
1472         comment tweaks.
1473         * include/bits/deque.tcc: Same.
1474         * include/bits/list.tcc: Same.
1475         * include/bits/stl_bvector.h: Same.
1476         * include/bits/stl_deque.h: Same.
1477         * include/bits/stl_list.h: Same.
1478         * include/bits/stl_map.h: Same.
1479         * include/bits/stl_multimap.h: Same.
1480         * include/bits/stl_multiset.h: Same.
1481         * include/bits/stl_set.h: Same.
1482         * include/bits/stl_vector.h: Same.
1483         * include/bits/vector.tcc: Same.
1484
1485         * include/std/std_algorithm.h: Remove markup comments.
1486         * include/std/std_functional.h: Same.
1487         * include/std/std_iterator.h: Same.
1488         * include/std/std_numeric.h: Same.
1489         * include/std/std_utility.h: Same.
1490         * include/bits/stl_queue.h: Formatting tweaks.
1491         * include/bits/stl_stack.h: Same.
1492         * include/std/std_deque.h: Include debugging version in debug mode.
1493         * include/std/std_list.h: Same.
1494         * include/std/std_map.h: Same.
1495         * include/std/std_set.h: Same.
1496         * include/std/std_vector.h: Same.       
1497         * include/std/std_queue.h: Use deque, vector.
1498         * include/std/std_stack.h: Same.
1499
1500 2003-11-09  Paolo Carlini  <pcarlini@suse.de>
1501
1502         * include/bits/locale_facets.tcc (_M_insert_int,
1503         _M_insert_float): Move a couple of vars inside an if block.
1504
1505 2003-11-09  Paolo Carlini  <pcarlini@suse.de>
1506
1507         PR libstdc++/12971
1508         * include/bits/locale_facets.tcc
1509         (money_put::do_put(..., long double)): Fix conversion
1510         specification as per DR 328 [WP].
1511         * testsuite/22_locale/money_put/put/char/12971.cc: Add.
1512         * testsuite/22_locale/money_put/put/wchar_t/12971.cc: Ditto.
1513         * docs/html/ext/howto.html: Add entry for DR 328.
1514
1515 2003-11-08  Paolo Carlini  <pcarlini@suse.de>
1516
1517         PR libstdc++/12967
1518         * include/bits/list.tcc (merge): Implement resolution of
1519         DR 300 [WP].
1520         * docs/html/ext/howto.html: Add entry for DR 300; tweak entry
1521         for DR 231.
1522
1523         * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
1524         Import R27.
1525
1526 2003-11-07  Jonathan Wakely  <redi@gcc.gnu.org>
1527
1528         * libsupc++/vec.cc: Conform to C++STYLE.
1529
1530 2003-11-07  Carlo Wood  <carlo@alinoe.com>
1531
1532         PR libstdc++/12736
1533         * bits/demangle.h (qualifier_list<Allocator>::decode_KVrA): Added.
1534         (qualifier_list<Allocator>::decode_qualifiers): Collect concatenated
1535         K, V, r and A qualifiers before processing them as a group.
1536         * testsuite/demangle/abi_text/01.cc: Reordered CV-qualifiers.
1537         * testsuite/demangle/regression/cw-16.cc: New.
1538
1539 2003-11-07  Robert Millan  <robertmh@gnu.org>
1540
1541         * configure.host: Add kfreebsd*-gnu and knetbsd*-gnu.
1542         * crossconfig.m4: Likewise.
1543         * configure: Regenerate.
1544
1545 2003-11-07  Carlo Wood  <carlo@alinoe.com>
1546
1547         * include/bits/demangle.h
1548         (qualifier_list<Allocator>::decode_qualifiers(string_type&,
1549         string_type&, bool member_function_pointer_qualifiers):
1550         Always separate the '[' of an array type with a space from
1551         what is left of it, except when that is the closing bracket
1552         of another array dimension.
1553
1554 2003-11-07  Carlo Wood  <carlo@alinoe.com>
1555
1556         * include/bits/demangle.h
1557         (qualifier_list<Allocator>::decode_qualifiers(string_type&,
1558         string_type&, bool) const): Made const.
1559         (qualifier_list<Allocator>::M_printing_suppressed): Added mutable.
1560         (_GLIBCXX_DEMANGLER_DOUT_ENTERING3, _GLIBCXX_DEMANGLER_RETURN3,
1561         std::ostream& operator<<(std::ostream&, qualifier const&),
1562         std::ostream& operator<<(std::ostream&, qualifier_list const&),
1563         qualifier_list<Allocator>::decode_qualifiers(string_type&,
1564         string_type&, bool) const,
1565         session<Allocator>::decode_type_with_postfix(string_type&,
1566         string_type&, qualifier_list<Allocator>*))
1567         Added and/or changed debug-only hooks and code.
1568
1569 2003-11-04  Jeffrey D. Oldham  <oldham@codesourcery.com>
1570
1571         * libsupc++/vec.cc (__cxa_vec_delete2): If given a NULL pointer,
1572         immediately return.  This reflects a C++ ABI change 2003 Nov 03.
1573         (__cxa_vec_delete3): Likewise.
1574         
1575 2003-11-03  Petur Runolfsson  <peturr02@ru.is>
1576
1577         PR libstdc++/12790
1578         * include/bits/fstream.tcc: Delete _M_last_overflowed.
1579         (basic_filebuf::basic_filebuf): Initialize _M_state_last.
1580         (basic_filebuf::open, basic_filebuf::close): Assign
1581         _M_state_beg to _M_state_cur and _M_state_last.
1582         (basic_filebuf::close): Call _M_terminate_output to handle
1583         unshift and flushing.
1584         (basic_filebuf::underflow): Assign _M_state_last, throw
1585         exception instead of calling abort when codecvt::max_length()
1586         is bad.
1587         (basic_filebuf::seekoff): Use _M_state_last when calling
1588         codecvt::length(), pass correct state to _M_seek.
1589         (basic_filebuf::seekpos): Pass __pos.state() to _M_seek.
1590         (basic_filebuf::_M_seek): Add __state_type parameter,
1591         set _M_state_cur correctly, store the resulting state in
1592         the return value and use _M_terminate_output to handle
1593         flushing and unshift.
1594         (basic_filebuf::_M_terminate_output): Flush contents of
1595         output buffer, if any, then call codecvt::unshift as
1596         needed and output the result.
1597         (basic_filebuf::sync): Move here, don't modify _M_writing
1598         or _M_reading.
1599         
1600         * include/std/std_fstream.h
1601         (basic_filebuf::_M_state_last): Declare it.
1602         (basic_filebuf::_M_last_overflowed): Delete.
1603         (basic_filebuf::_M_seek): Add __state_type parameter.
1604         (basic_filebuf::sync): Declare only.
1605         (basic_filebuf::_M_output_unshift): Delete.
1606         (basic_filebuf::_M_terminate_output): Declare it.
1607         
1608         * testsuite/testsuite_character.h:
1609         Define character class and state class plus char_traits and
1610         codecvt specializations for same for testing support for
1611         stateful encodings.
1612         
1613         * testsuite/27_io/basic_filebuf/close/12790-1.cc,
1614         * testsuite/27_io/basic_filebuf/close/char/12790-1.cc,
1615         * testsuite/27_io/basic_filebuf/close/char/12790-2.cc,
1616         * testsuite/27_io/basic_filebuf/close/char/12790-3.cc,
1617         * testsuite/27_io/basic_filebuf/close/char/12790-4.cc,
1618         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc,
1619         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc,
1620         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc,
1621         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc,
1622         * testsuite/27_io/basic_filebuf/open/12790-1.cc,
1623         * testsuite/27_io/basic_filebuf/seekoff/12790-1.cc,
1624         * testsuite/27_io/basic_filebuf/seekoff/12790-2.cc,
1625         * testsuite/27_io/basic_filebuf/seekoff/12790-3.cc,
1626         * testsuite/27_io/basic_filebuf/seekoff/12790-4.cc,
1627         * testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc,
1628         * testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc,
1629         * testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc,
1630         * testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc,
1631         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc,
1632         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc,
1633         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc,
1634         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc,
1635         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc,
1636         * testsuite/27_io/basic_filebuf/seekpos/12790-1.cc,
1637         * testsuite/27_io/basic_filebuf/seekpos/12790-2.cc,
1638         * testsuite/27_io/basic_filebuf/seekpos/12790-3.cc,
1639         * testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc,
1640         * testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc,
1641         * testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc,
1642         * testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc,
1643         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc,
1644         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc,
1645         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc,
1646         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc,
1647         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc,
1648         * testsuite/27_io/basic_filebuf/sync/char/1.cc,
1649         * testsuite/27_io/basic_filebuf/sync/wchar_t/1.cc:
1650         New tests.
1651
1652         * testsuite/27_io/basic_filebuf/3.cc,
1653         * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc,
1654         * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc,
1655         * testsuite/27_io/basic_fstream/3.cc,
1656         * testsuite/27_io/basic_ifstream/3.cc,
1657         * testsuite/27_io/basic_ofstream/3.cc:
1658         Use streamoff as off_type and fpos<state_type> as pos_type.
1659
1660         * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc,
1661         * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc:
1662         Check that sync does *not* set _M_writing to false.
1663
1664 2003-11-03  Anthony Green  <green@redhat.com>
1665
1666         * libmath/stubs.c (sqrtf, sqrtl): Reorder so they appear before
1667         they're used.
1668
1669 2003-11-03  Benjamin Kosnik  <bkoz@redhat.com>
1670
1671         * include/bits/locale_facets.h (time_get::_M_extract_name): Add
1672         ctype argument. 
1673         * include/bits/locale_facets.tcc: Same, use it to allow
1674         capitalized names.
1675         
1676         * include/bits/fstream.tcc: Spacing tweak.
1677         * include/bits/istream.tcc: Same.
1678         * include/bits/ostream.tcc: Same.
1679
1680 2003-10-30  Paolo Carlini  <pcarlini@suse.de>
1681
1682         * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
1683         __mod is only assigned, never used its value, remove it.
1684
1685 2003-10-29  Paolo Carlini  <pcarlini@suse.de>
1686
1687         * include/bits/locale_facets.tcc (time_get::do_get_year):
1688         Absolutely avoid dereferencing end iterators.
1689         (time_put::put): Minor clean up.
1690
1691         * include/bits/locale_facets.tcc: Cosmetic reformattings.
1692
1693 2003-10-29  Paolo Carlini  <pcarlini@suse.de>
1694
1695         * include/bits/locale_facets.tcc (num_get::_M_extract_float):
1696         Revert the last commit, is not correct, sorry.
1697         
1698 2003-10-29  Paolo Carlini  <pcarlini@suse.de>
1699
1700         * config/locale/generic/c_locale.cc: Add back <cmath> and
1701         <cstdlib>.
1702
1703         * include/bits/locale_facets.tcc (num_get::_M_extract_float):
1704         Clean up.
1705
1706 2003-10-29  Paolo Carlini  <pcarlini@suse.de>
1707
1708         * include/bits/locale_facets.tcc (time_put::put): Absolutely
1709         avoid dereferencing end iterators; clean up.
1710
1711         * include/bits/locale_facets.tcc (num_get::_M_extract_float,
1712         num_get::_M_extract_int): Minor tweak.
1713
1714 2003-10-29  Paolo Carlini  <pcarlini@suse.de>
1715
1716         * include/bits/locale_facets.tcc: Remove some unnecessary
1717         includes.
1718         * config/locale/generic/c_locale.cc: Include <cerrno> here.
1719         * config/locale/gnu/c_locale.cc: Likewise.
1720
1721 2003-10-28  Paolo Carlini  <pcarlini@suse.de>
1722
1723         * include/bits/locale_facets.tcc
1724         (money_get<>::do_get(..., string_type&)): Absolutely avoid
1725         dereferencing end iterators; general clean up.
1726
1727 2003-10-28  Paolo Carlini  <pcarlini@suse.de>
1728
1729         * include/bits/locale_facets.tcc (time_get::_M_extract_num):
1730         Absolutely avoid dereferencing end iterators.
1731         (time_get::_M_extract_name): Likewise.
1732
1733         * include/bits/locale_facets.tcc
1734         (time_get::_M_extract_via_format, case 'e'): Don't try to
1735         be smart wrt returning the right __beg in case of parse
1736         error, time_get::_M_extract_num must be fixed instead.
1737
1738 2003-10-27  Paolo Carlini  <pcarlini@suse.de>
1739
1740         PR libstdc++/12778
1741         * acinclude.m4 (GLIBCXX_CHECK_LFS): Use the C++ compiler.
1742         * aclocal.m4: Regenerate.
1743         * configure: Regenerate.
1744
1745 2003-10-27  Benjamin Kosnik  <bkoz@redhat.com>
1746         
1747         * docs/html/17_intro/TODO: Add links.
1748         * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
1749         Uncomment.
1750         
1751 2003-10-27  Paolo Carlini  <pcarlini@suse.de>
1752
1753         PR libstdc++/12750
1754         * include/bits/locale_facets.tcc
1755         (time_get::_M_extract_via_format): Deal with code 'e'.
1756         * testsuite/22_locale/time_get/get_date/char/12750.cc: New.
1757         * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Ditto.
1758
1759         * include/bits/locale_facets.tcc
1760         (time_get::_M_extract_via_format): Tweak to absolutely avoid
1761         dereferencing end iterators.
1762
1763         * include/bits/locale_facets.h (__verify_grouping):
1764         Const-ify second parameter.
1765         * include/bits/locale_facets.tcc (__verify_grouping): Ditto.
1766         * src/locale-inst.cc (__verify_grouping): Ditto.
1767
1768 2003-10-27  Paolo Carlini  <pcarlini@suse.de>
1769
1770         * include/bits/locale_facets.tcc (num_get::_M_extract_float):
1771         Various things: 1- Avoid absolutely end iterator dereferences;
1772         2- Improve performance-wise the code skipping leading zeros;
1773         3- Fix two bugs wrt early bail out in case of parsing errors
1774         (see testcases); 4- General clean up.
1775         (num_get::_M_extract_int): Likewise, except 3-. Additionally,
1776         use __builtin_expect to favor base 10 inputs.
1777         * testsuite/22_locale/num_get/get/char/7.cc: New.
1778         * testsuite/22_locale/num_get/get/wchar_t/7.cc: Ditto.
1779
1780 2003-10-26  Paolo Carlini  <pcarlini@suse.de>
1781
1782         * testsuite/22_locale/money_put/put/char/1.cc: Clean up.
1783         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Ditto.
1784
1785 2003-10-25  Paolo Carlini  <pcarlini@suse.de>
1786
1787         * include/bits/locale_facets.tcc (num_get::_M_extract_int):
1788         __pos in only incremented, never used its value, remove it.
1789
1790 2003-10-24  Robert Millan  <robertmh@gnu.org>
1791
1792         * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Add kfreebsd*-gnu
1793         and knetbsd*-gnu.
1794         * aclocal.m4:  Regenerated.
1795         * configure:  Regenerated.
1796
1797 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
1798
1799         * include/bits/locale_facets.tcc (money_get::do_get(...,
1800         long double&): Properly size the temporary buffer.
1801         * testsuite/22_locale/money_get/get/char/11.cc: New.
1802         * testsuite/22_locale/money_get/get/wchar_t/11.cc: Ditto.
1803
1804         * include/bits/locale_facets.tcc (num_put::_M_group_int,
1805         num_put::_M_group_float, money_put::do_put(..., const
1806         string_type&), collate::do_compare, collate::do_transform):
1807         Prefer basic_string::data() to c_str() when the '\0'
1808         terminator is not really needed.
1809
1810 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
1811
1812         * include/bits/locale_facets.tcc (__verify_grouping):
1813         Prefer '=' to an unnecessary '&='.
1814
1815 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
1816
1817         * include/bits/basic_ios.tcc (copyfmt(const basic_ios&)):
1818         Tweak my fix for libstdc++/12657.
1819
1820 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
1821
1822         * include/bits/locale_facets.tcc (money_get::do_get(...,
1823         string_type&): Minor tweak to the previous commit.
1824
1825 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
1826
1827         * include/bits/locale_facets.tcc (money_get::do_get(...,
1828         string_type&): Disregard the previous commit: doesn't hurt but
1829         doesn't accomplish anything useful either. This is the right
1830         one, speeding up greatly the function in case of early fail.
1831
1832 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
1833
1834         * include/bits/locale_facets.tcc (money_get::do_get(...,
1835         string_type&): Move an if block, thus minimizing the amount
1836         of code processed anyway when __tmp_units.size() == 0.
1837
1838 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
1839
1840         * include/bits/locale_facets.tcc
1841         (time_get<>::_M_extract_via_format): Deal with case 'C' too,
1842         equivalent to 'y'.
1843
1844 2003-10-23  Benjamin Kosnik  <bkoz@redhat.com>
1845
1846         * docs/html/documentation.html: Add a pointer to the doxygen style
1847         guide.
1848         * docs/html/17_intro/TODO: Update.
1849         * docs/html/test.html: Add instructions for running a subset of
1850         tests, update.
1851
1852 2003-10-23  Paolo Carlini  <pcarlini@suse.de>
1853
1854         * include/bits/locale_facets.tcc (money_get<>::do_get(...,
1855         string_type&)): Use find_first_not_of to strip leading
1856         zeros; if __tmp_units == "0" never prefix it with '-';
1857         always fail if __tmp_units is empty.
1858         * testsuite/22_locale/money_get/get/char/10.cc: New.
1859         * testsuite/22_locale/money_get/get/wchar_t/10.cc: Ditto.
1860
1861 2003-10-23  Phil Edwards  <phil@codesourcery.com>
1862
1863         * config/os/vxworks/ctype_noninline.h:  Adjust ctor to match
1864         2003-10-21 change.
1865
1866 2003-10-22  Paolo Carlini  <pcarlini@suse.de>
1867
1868         * include/bits/locale_facets.tcc (__int_to_char): Remove
1869         the const int parameter.
1870         (_M_insert_int): Update caller.
1871         * src/locale-inst.cc (__int_to_char): Update instantiations.    
1872
1873 2003-10-22  Benjamin Kosnik  <bkoz@redhat.com>
1874
1875         * include/bits/locale_facets.h: Correct byname facets for "C"
1876         locale.
1877         * config/locale/generic/ctype_members.cc: Same.
1878         * config/locale/generic/messages_members.h: Same.
1879         * config/locale/gnu/ctype_members.cc: Same.
1880         * config/locale/gnu/messages_members.h: Same.
1881         * include/bits/codecvt.h: Same.
1882         * src/ctype.cc: Same.
1883         * testsuite/22_locale/codecvt_byname/1.cc: New.
1884         * testsuite/22_locale/collate/1.cc: Edit.
1885         * testsuite/22_locale/collate_byname/1.cc: Derivation tests, move to...
1886         * testsuite/22_locale/collate_byname/named_equivalence.cc: ...here.
1887         * testsuite/22_locale/ctype/1.cc: Derivation tests.
1888         * testsuite/22_locale/ctype/11844.cc: Move...
1889         * testsuite/22_locale/ctype_base/11844.cc: ...here.
1890         * testsuite/22_locale/ctype_base/1.cc: Move mask bits here.
1891         * testsuite/22_locale/ctype_byname/1.cc: Name.
1892         * testsuite/22_locale/messages_byname/1.cc: New.
1893         * testsuite/22_locale/messages_byname/named_equivalence.cc: New.
1894         * testsuite/22_locale/moneypunct_byname/1.cc: Derivation test.
1895         * testsuite/22_locale/moneypunct_byname/named_equivalence.cc: New.
1896         * testsuite/22_locale/numpunct/1.cc: Edit.
1897         * testsuite/22_locale/numpunct_byname/2.cc: Move...
1898         * testsuite/22_locale/numpunct/members/char/3.cc: ...here.
1899         * testsuite/22_locale/numpunct_byname/1.cc: Derivation tests.
1900         * testsuite/22_locale/numpunct_byname/named_equivalence.cc: New.
1901
1902 2003-10-22  Paolo Carlini  <pcarlini@suse.de>
1903
1904         PR libstdc++/8610
1905         * acinclude.m4 (GLIBCXX_CHECK_INT64_T): New macro,
1906         checking for the availability of int64_t.
1907         (GLIBCXX_CHECK_LFS): New macro, checking for LFS support.
1908         * configure.ac: Call here.
1909         * acconfig.h: Add undef for the corresponding symbols.
1910         * config/io/basic_file_stdio.cc (__basic_file<char>::open):
1911         Depending on _GLIBCXX_USE_LFS, call fopen64 or fopen.
1912         (__basic_file<char>::seekoff): Likewise, call lseek64 when
1913         available, otherwise lseek, checking the __off parameter.
1914         * include/bits/postypes.h: Typedef __streamoff_base_type
1915         to int64_t if available, otherwise long long.
1916         * aclocal.m4: Regenerate.
1917         * config.h.in: Likewise.
1918         * configure: Likewise.
1919
1920         * acinclude.m4 (GLIBCXX_CHECK_POLL, GLIBCXX_CHECK_WRITEV):
1921         Use AC_TRY_LINK instead of AC_TRY_COMPILE.
1922         
1923 2003-10-22  Paolo Carlini  <pcarlini@suse.de>
1924
1925         PR libstdc++/12657
1926         * include/bits/basic_ios.tcc (copyfmt(const basic_ios&)):
1927         Implement resolution of DR 292 (WP).
1928         * docs/html/ext/howto.html: Add entry for DR 292.
1929
1930 2003-10-21  Benjamin Kosnik  <bkoz@redhat.com>
1931
1932         * include/ext/mt_allocator.h: Change include to gthr.h.
1933         * include/ext/rope: Same. Add _Refcount_base definitions.
1934         * include/ext/pool_allocator.h: Adjust namespaces.
1935         * include/bits/stl_threads.h (_Refcount_base): Move.
1936         Put remaining into namespace __gnu_cxx.
1937         
1938 2003-10-21  Benjamin Kosnik  <bkoz@redhat.com>
1939  
1940         PR libstdc++/9858
1941         * include/bits/locale_facets.h (ctype<char>): Remove
1942         __ctype_abstract_base.
1943         (ctype<char>::do_is): Remove.
1944         (ctype<char>::do_scan_is): Remove.
1945         * src/ctype.cc: Same. Inline the rest.
1946         * testsuite/22_locale/ctype/is/char/9858.cc: New.
1947         * config/os/aix/ctype_noninline.h: Adjust ctor.
1948         * config/os/bsd/freebsd/ctype_noninline.h: Same.
1949         * config/os/bsd/netbsd/ctype_noninline.h: Same.
1950         * config/os/djgpp/ctype_noninline.h: Same.
1951         * config/os/generic/ctype_noninline.h: Same.
1952         * config/os/gnu-linux/ctype_noninline.h: Same.
1953         * config/os/hpux/ctype_noninline.h: Same.
1954         * config/os/irix/irix5.2/ctype_noninline.h: Same.
1955         * config/os/irix/irix6.5/ctype_noninline.h: Same.
1956         * config/os/mingw32/ctype_noninline.h: Same.
1957         * config/os/newlib/ctype_noninline.h: Same.
1958         * config/os/qnx/qnx6.1/ctype_noninline.h: Same.
1959         * config/os/solaris/solaris2.5/ctype_noninline.h: Same.
1960         * config/os/solaris/solaris2.6/ctype_noninline.h: Same.
1961         * config/os/solaris/solaris2.7/ctype_noninline.h: Same.
1962         * config/os/windiss/ctype_noninline.h: Same.
1963
1964 2003-10-21  Paolo Carlini  <pcarlini@suse.de>
1965
1966         * src/locale.cc: Tweak a comment.
1967         * src/localename.cc: Move a comment.
1968
1969 2003-10-20  Benjamin Kosnik  <bkoz@redhat.com>
1970  
1971         PR libstdc++/10081
1972         * testsuite_hooks.h: Add pod_type, ctype and numpunct specializations.
1973         * testsuite_hooks.cc: Same.
1974         * 22_locale/numpunct/members/pod/1.cc: Edit.
1975         * 22_locale/numpunct/members/pod/2.cc: Same.
1976         * 27_io/basic_istream/sentry/char/3983-fstream.cc: Move ...
1977         * 27_io/basic_istream/sentry/char/3983-sstream.cc: Move ...
1978         * 27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc: Here.
1979         * 27_io/basic_istream/extractors_character/pod/3983-2.cc: Here.
1980         * 27_io/basic_istream/extractors_other/pod/3983-3.cc: Here.
1981         * 27_io/basic_ostream/sentry/char/3983-fstream.cc: Remove.
1982         * 27_io/basic_ostream/sentry/char/3983-sstream.cc: Remove.
1983         * 27_io/basic_istream/sentry/pod/1.cc: New.
1984         * 27_io/basic_ostream/sentry/pod/1.cc: New.
1985         * 21_strings/basic_string/inserters_extractors/pod/10081-in.cc: New.
1986         * 21_strings/basic_string/inserters_extractors/pod/10081-out.cc: New.
1987
1988 2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1989
1990         * config/cpu/mips/atomicity.h (__atomic_add): Use _ABIO32 instead
1991         of external _MIPS_SIM_ABI32.
1992
1993 2003-10-20  Phil Edwards  <phil@codesourcery.com>
1994
1995         * configure.ac:  Fix comment typo.
1996         * configure.host:  Add vxworks to host_os switch.
1997         * crossconfig.m4:  Remove old commented os_include_dir variables
1998         left over from autotools transition.
1999         (*-vxworks):  New stanza.
2000         (*-windiss):  Add missing symbols.
2001         * configure:  Regenerate.
2002         * config/os/vxworks/ctype_base.h, config/os/vxworks/ctype_inline.h,
2003         config/os/vxworks/ctype_noninline.h, config/os/vxworks/os_defines.h:
2004         New files.
2005         * config/os/windiss/os_defines.h:  Define __C9X__.
2006
2007 2003-10-19  David Edelsohn  <edelsohn@gnu.org>
2008
2009         PR other/12506
2010         * configure.host (aix4,aix*): Define os_include_dir to os/generic.
2011
2012 2003-10-18  Andreas Tobler  <a.tobler@schweiz.ch>
2013
2014         * src/locale.cc (locale::_S_initialize): Re-apply workaround a
2015         confusion of the use of the gthr API when __gthread_active_p()
2016         returns true.
2017
2018 2003-10-17  Benjamin Kosnik  <bkoz@redhat.com>
2019  
2020         * src/Makefile.am: Add new files.
2021         * src/Makefile.in: Regenerate.
2022         * src/globals.cc: Split into..
2023         * src/globals_io.cc: New.
2024         * src/globals_locale.cc: New.
2025         * src/ios.cc: Split into...
2026         * src/ios_init.cc: New.
2027         * src/ios_locale.cc: New.
2028         * src/locale-inst.cc: Split into..
2029         * src/wlocale-inst.cc: New.
2030         * src/locale-misc-inst.cc: New.
2031         * src/locale.cc, src/localename: Split into...
2032         * src/locale_facets.cc: New.
2033         * src/locale_init.cc: New.
2034         * src/wstring-inst.cc: Add copyright info.
2035
2036 2003-10-16  Petur Runolfsson  <peturr02@ru.is>
2037
2038         PR libstdc++/11450
2039         PR libstdc++/11543
2040         PR libstdc++/12065
2041         * config/io/basic_file_stdio.cc (__basic_file::seekoff):
2042         Change return value from streampos to streamoff.
2043         (__basic_file::seekpos): Delete.
2044         * config/io/basic_file_stdio.h: Same.
2045         * config/io/c_io_stdio.h: Remove streamoff and wstreamsize typedefs.
2046         * include/Makefile.am (bits_headers): Add bits/postypes.h.
2047         * include/bits/char_traits.h: Include bits/postypes.h instead of
2048         bits/fpos.h.
2049         * include/bits/fstream.tcc (basic_filebuf::open,
2050         basic_filebuf::pbackfail): Don't use < or >= to compare pos_type
2051         values, use == and != instead.
2052         (basic_filebuf::_M_seek): Use explicit conversion from streamoff
2053         to pos_type.
2054         (basic_filebuf::imbue):  Don't use ! on pos_type values, use
2055         == instead. Don't use __check_facet(_M_codecvt) unless is_open().
2056         * include/bits/postypes.h: New file.
2057         Add __streamoff_base_type typedef, streamsize.
2058         (streamoff, streampos, wstreampos): Define typedefs, with
2059         streamoff defined as...
2060         (streamoff): New class. Document implementation defined
2061         aspects.
2062         (fpos): New implementation. Document implementation defined
2063         aspects.
2064         * include/bits/sstream.tcc (basic_stringbuf::seekpos): Use
2065         explicit conversion from pos_type to off_type.
2066         * include/std/std_iosfwd.h: Include bits/postypes.h instead
2067         of bits/fpos.h.
2068         * testsuite/27_io/basic_filebuf/seekoff/char/11543.cc: New test.
2069         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc: New test.
2070         * testsuite/27_io/fpos/11450.cc: New test.
2071         * testsuite/27_io/fpos/mbstate_t/12065.cc: New test.
2072         * testsuite/27_io/fpos/mbstate_t/4_neg.cc: New test.
2073         * testsuite/27_io/types/3.cc: New test.
2074
2075 2003-10-16  Benjamin Kosnik  <bkoz@redhat.com>
2076
2077         * configure.host: Remove fpos_include_dir.
2078         * configure.ac: Remove FPOS_INC_SRCDIR.
2079         * configure: Regenerate.
2080         * acinclude.m4 (GLIBCXX_ENABLE_CSTDIO): Remove FPOS_H.
2081         * aclocal.m4: Regenerate.
2082         * include/Makefile.am (host_headers): Remove fpos.h.
2083         (bits_headers): Add postypes.h.
2084         * include/Makefile.in: Regenerate.
2085         * config/os/gnu-linux/fposh: Remove.
2086         * config/os/generic/fpos.h: Remove.
2087
2088         * testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Fixup.
2089         * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Same.
2090         * testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Same.
2091         * testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Same.
2092         * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Same.
2093         * testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Same.
2094         * testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Same.
2095         * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Same.
2096         * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Same.
2097         * testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Same.
2098         * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Same.
2099         * testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Same.
2100         * testsuite/27_io/basic_istream/seekg/char/2.cc: Same.
2101         * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Same.
2102         * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Same.
2103         * testsuite/27_io/fpos/mbstate_t/3.cc: Same.
2104         * testsuite/27_io/objects/char/10.cc: Same.
2105
2106 2003-10-16  Paolo Carlini  <pcarlini@suse.de>
2107
2108         * src/locale.cc (locale::locale(const char*)): ... one
2109         more comparison missed in the previous commit.
2110
2111 2003-10-16  Benjamin Kosnik  <bkoz@redhat.com>
2112
2113         * acconfig.h: Add HAVE_DRAND48.
2114         * crossconfig.m4: Remove ISATTY.
2115         * aclocal.m4: Regenerated.
2116         * config.h.in: Regenerated.
2117         * configure: Regenerated.
2118         
2119 2003-10-16  Bernardo Innocenti  <bernie@develer.com>
2120
2121         * config/cpu/m68k/atomicity.h (__exchange_and_add): Use TAS on
2122         __mcf5400__. Don't rely on __mc68000__ to detect a bare 68000.
2123         Document SMP safeness of asm macros.
2124
2125 2003-10-16  Paolo Carlini  <pcarlini@suse.de>
2126
2127         * src/locale.cc (locale::locale(const char*)): Tweak
2128         a couple of comparisons to use basic_string operators.
2129
2130 2003-10-16  Paolo Carlini  <pcarlini@suse.de>
2131
2132         PR libstdc++/12540
2133         * config/locale/gnu/monetary_members.cc
2134         (moneypunct<wchar_t, true/false>::_M_initialize_moneypunct):
2135         Don't leak memory if new throws.
2136         * src/locale.cc (locale::locale(const char*)): In order not
2137         to leak memory in case new throws, use a basic_string type
2138         for __res too and avoid strdup.
2139
2140 2003-10-14  Jeff Bailey  <jbailey@nisa.net>
2141         
2142         PR libstdc++/12562
2143         * crossconfig.m4: Share the config between *-linux* and *-gnu*.
2144         * configure: Regenerate.
2145
2146 2003-10-14  Carlo Wood  <carlo@alinoe.com>
2147
2148         PR libstdc++/12600
2149         * include/bits/demangle.h (session<Allocator>::
2150           decode_unqualified_name(string_type& output)): Fail on a
2151           <operator-name> when decoding <template-argument>.
2152         * testsuite/demangle/regression/cw-15.cc: New.
2153
2154 2003-10-14  Paolo Carlini  <pcarlini@unitus.it>
2155
2156         PR libstdc++/11480
2157         * include/bits/stl_algo.h (unique): Fix.
2158         * testsuite/25_algorithms/unique.cc: Move to unique/1.cc.
2159         * testsuite/25_algorithms/unique/11480.cc: New, from the PR.
2160         * testsuite/25_algorithms/unique/2.cc: New.
2161
2162 2003-10-14  Paolo Carlini  <pcarlini@unitus.it>
2163
2164         * src/localename.cc (_M_replace_categories, M_replace_facet):
2165         Const-ify a couple of variables.
2166
2167 2003-10-14  Petur Runolfsson  <peturr02@ru.is>
2168             Andreas Tobler  <a.tobler@schweiz.ch>
2169
2170         * src/locale.cc (locale::_S_initialize): Workaround a confusion
2171         of the use of the gthr API when __gthread_active_p() returns true.
2172
2173 2003-10-12  Petur Runolfsson  <peturr02@ru.is>
2174             Paolo Carlini  <pcarlini@unitus.it>
2175
2176         PR libstdc++/11460
2177         * src/strstream.cc (pbackfail): Fix to use to_int_type.
2178         * testsuite/backward/11460.cc: New, from the PR.
2179
2180 2003-10-12  Paolo Carlini  <pcarlini@unitus.it>
2181
2182         * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
2183         Change #ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS to a comment.
2184         * include/bits/basic_string.tcc: Likewise.
2185         * include/bits/ios_base.h: Likewise.
2186         * include/bits/istream.tcc: Likewise.
2187         * include/bits/locale_facets.tcc: Likewise.
2188         * include/bits/ostream.tcc: Likewise.
2189         * include/bits/stl_function.h: Likewise.
2190         * include/bits/stl_multiset.h: Likewise.
2191         * include/bits/stl_pair.h: Likewise.
2192         * include/bits/stl_set.h: Likewise.
2193         * include/bits/streambuf_iterator.h
2194         * include/std/std_iosfwd.h: Likewise.
2195         * include/std/std_istream.h: Likewise.
2196         * include/std/std_sstream.h: Likewise.
2197         * include/std/std_streambuf.h: Likewise.
2198         * src/ios.cc: Likewise.
2199         * include/bits/c++config:
2200         Comment out #define _GLIBCXX_RESOLVE_LIB_DEFECTS 1.
2201         * testsuite/27_io/ios_base/cons/assign_neg.cc: Tweak a
2202         dg-error directive due to removal of a blank line.
2203         * testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
2204
2205 2003-10-12  Andreas Tobler  <a.tobler@schweiz.ch>
2206             Paolo Carlini  <pcarlini@unitus.it>
2207
2208         PR libstdc++/11844/11740 (cont)
2209         * config/os/generic/ctype_inline.h (ctype<char>::is):
2210         Generically, use a bitmasksize of 15 (instead of 10);
2211         Fix the logic to actually return (M & m) != 0 as per
2212         22.2.1.1.2.
2213
2214 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
2215
2216         * crossconfig.m4 (*-uclinux*): New target.
2217         * configure: Regenerate.
2218
2219 2003-10-10  Paolo Carlini  <pcarlini@unitus.it>
2220
2221         * include/bits/ostream.tcc (operator<<(basic_ostream&, _CharT))
2222         Avoid unnecessarily calling __builtin_alloca and dealing
2223         explicitly with width() smaller than zero.
2224         (operator<<(basic_ostream&, char), operator<<(basic_ostream&,
2225         const _CharT*), operator<<(basic_ostream<_CharT, _Traits>&,
2226         const char*), operator<<(basic_ostream<char, _Traits>&,
2227         const char*), operator<<(basic_ostream, const basic_string&)):
2228         Likewise.
2229
2230 2003-10-09  Benjamin Kosnik  <bkoz@redhat.com>
2231
2232         * config/linker-map.gnu: Make more *_type_info bits visible.
2233         Move new/delete bits back into GLIBCXX space.
2234
2235         * include/bits/locale_classes.h: Move _M_id out of line, so that
2236         locale::id::_S_highwater can be removed from the export list.
2237         * src/locale.cc (locale::id::_M_id): Define.
2238         
2239 2003-10-09  Andreas Tobler  <a.tobler@schweiz.ch>
2240
2241         * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_64 for
2242         SPARC64.
2243
2244 2003-10-09  Paolo Carlini  <pcarlini@unitus.it>
2245
2246         PR libstdc++/11844
2247         * config/os/aix/ctype_base.h: Fix 'alnum' and 'graph'
2248         to conform to the requirements of 22.2.1.
2249         * config/os/bsd/freebsd/ctype_base.h: Likewise.
2250         * config/os/djgpp/ctype_base.h: Likewise.
2251         * config/os/generic/ctype_base.h: Likewise.
2252         * config/os/gnu-linux/ctype_base.h: Likewise.
2253         * config/os/hpux/ctype_base.h: Likewise.
2254         * config/os/irix/irix6.5/ctype_base.h: Likewise.
2255         * config/os/solaris/solaris2.6/ctype_base.h: Likewise.
2256         * config/os/solaris/solaris2.7/ctype_base.h: Likewise.
2257         * testsuite/22_locale/ctype/11844.cc: New.
2258
2259         * config/locale/generic/ctype_members.cc (do_is):
2260         Generically, use a bitmasksize of 15 (instead of 10), since
2261         we don't know the numerical encoding of the various categories
2262         in the underlying /usr/include/ctype.h.
2263
2264 2003-10-09  Benjamin Kosnik  <bkoz@redhat.com>
2265
2266         * src/string-inst.cc: Prune.
2267         * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
2268         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
2269         
2270 2003-10-09  Petur Runolfsson  <peturr02@ru.is>
2271
2272         * src/io-inst.cc: Don't include iostream.
2273         * include/bits/ios_base.h (ios_base::failure): Use string.
2274         * src/Makefile.am: Add ios_failure.cc.
2275         * src/Makefile.in: Regenerate.
2276         * src/ios.cc: Move ios_base::failure definitions to...
2277         * src/ios_failure.cc: ...here. New.
2278
2279 2003-10-09  Petur Runolfsson  <peturr02@ru.is>
2280
2281         PR libstdc++/9874
2282         * include/bits/fstream.tcc (basic_filebuf::seekoff):
2283         Move code needed for both seekoff and seekpos...
2284         (basic_filebuf::_M_seek): ...here. New function.
2285         (basic_filebuf::seekpos): Don't call seekoff, call _M_seek.
2286         * include/std/std_fstream.h (basic_filebuf::_M_seek): Declare it.
2287         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: New test.
2288
2289         * testsuite/22_locale/locale/cons/12438.cc: Increase memory limit.
2290
2291 2003-10-08  Paolo Carlini  <pcarlini@unitus.it>
2292
2293         * include/bits/locale_facets.tcc: More minor cosmetic
2294         changes and const-ifications of some variables.
2295
2296 2003-10-07  Paolo Carlini  <pcarlini@unitus.it>
2297
2298         * include/bits/locale_facets.tcc: Minor cosmetic changes
2299         and const-ifications of some variables.
2300
2301         * include/bits/locale_facets.tcc
2302         (money_get::do_get(..., string_type&)): Simplify an if-else.
2303
2304 2003-10-06  Paolo Carlini  <pcarlini@unitus.it>
2305
2306         PR libstdc++/11740
2307         * config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_is):
2308         Fix to actually return (M & m) != 0 as per 22.2.1.1.2.
2309         * config/locale/generic/ctype_members.cc: Same.
2310         * testsuite/22_locale/ctype/is/wchar_t/11740.cc: New.
2311
2312 2003-10-06  Paolo Carlini  <pcarlini@unitus.it>
2313
2314         * include/bits/locale_facets.tcc (__pad<>::_S_pad):
2315         Improve performance-wise: avoid one traits::copy, avoid
2316         the __builtin_alloca, streamline.
2317
2318 2003-10-05  Paolo Carlini  <pcarlini@unitus.it>
2319
2320         * include/bits/locale_facets.tcc
2321         (num_put::do_put(..., bool)): Prefer ?: to if-else.
2322         (time_get::_M_extract_name): Qualify min with std::.
2323         (__pad<>::_S_pad): Constify two variables; simplify an
2324         if-else statement factoring out some code.
2325
2326         * include/bits/locale_facets.tcc: Minor cosmetic changes.
2327
2328 2003-10-04  Paolo Carlini  <pcarlini@unitus.it>
2329
2330         * include/bits/locale_facets.tcc (num_get::_M_extract_float):
2331         Constify a couple of variables.
2332         (num_get::do_get(..., bool&)): Constify __c; prefer *__beg,
2333         ++__beg to *__beg++.
2334
2335 2003-10-04  Paolo Carlini  <pcarlini@unitus.it>
2336             Petur Runolfsson  <peturr02@ru.is>
2337
2338         * include/ext/stdio_sync_filebuf.h: Don't include the whole
2339         <fstream>, only <streambuf> and <cstdio>.
2340
2341 2003-10-04  Paolo Carlini  <pcarlini@unitus.it>
2342
2343         PR libstdc++/12206
2344         * include/bits/fstream.tcc (imbue): In case a codecvt facet
2345         is not available, set _M_codecvt = 0.
2346         * testsuite/27_io/basic_filebuf/imbue/12206.cc: New.
2347
2348 2003-10-02  Harald Boehme  <boehme@informatik.hu-berlin.de>
2349
2350         PR libstdc++/12451
2351         * libsupc++/cxxabi.h: Move forward declaration of __class_type_info.
2352         
2353 2003-10-02  Benjamin Kosnik  <bkoz@redhat.com>
2354
2355         * include/bits/locale_classes.h (locale::facet::_S_get_c_name): Add.
2356         * src/locale.cc: Define.
2357         * src/localename.cc: Use it.
2358         * config/locale/generic/time_members.h: Same.
2359         * config/locale/gnu/messages_members.h: Same.
2360         * config/locale/gnu/time_members.h: Same.
2361
2362 2003-10-02  Paolo Carlini  <pcarlini@unitus.it>
2363
2364         PR libstdc++/12232
2365         * include/bits/fstream.tcc (seekoff): Ignore the openmode
2366         argument; simplify.
2367         * config/io/basic_file_stdio.h (__basic_file<char>::seekoff,
2368         seekpos): Remove the openmode argument.
2369         * config/io/basic_file_stdio.cc (__basic_file<char>::seekoff,
2370         seekpos): Remove redundant placeholder for the openmode argument.
2371         * testsuite/27_io/basic_filebuf/seekoff/char/12232.cc: New.
2372         * testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Tweak.
2373         * testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc: Likewise.
2374         * testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Likewise.
2375         * testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc: Likewise.
2376
2377 2003-10-02  Benjamin Kosnik  <bkoz@redhat.com>
2378
2379         * src/locale.cc (locale::_S_initialize): Use __gthread_active_p.
2380         (locale::facet::_S_get_c_locale): Same.
2381         
2382 2003-10-02  Benjamin Kosnik  <bkoz@redhat.com>
2383
2384         * config/linker-map.gnu: Export _S_get_c_locale instead of
2385         _S_c_locale object.
2386
2387 2003-10-02  Petur Runolfsson  <peturr02@ru.is>
2388
2389         * config/locale/generic/c_locale.cc
2390         (category_names, locale::_S_categories): Const qualify.
2391         * config/locale/gnu/c_locale.cc: Same.
2392         * config/locale/generic/time_members.h (__timepunct::__timepunct):
2393         Copy string contents before assigning to _M_name_timepunct,
2394         qualify strcpy and strlen with std::.
2395         * config/locale/gnu/time_members.h: Same.
2396         * config/locale/gnu/messages_members.h (messages::messages):
2397         Copy string contents before assigning to _M_name_messages,
2398         qualify strcpy and strlen with std::.
2399         * config/os/gnu-linux/ctype_noninline.h
2400         (ctype<char>::classic_table()): Don't call locale::classic().
2401         * include/bits/locale_classes.h
2402         (locale::_S_categories): Const qualify. 
2403         (locale::_S_once, locale::_S_initialize_once,
2404         locale::facet::_S_once, locale::facet::_S_initialize_once,
2405         locale::facet::_S_get_c_locale): Declare.
2406         (locale::_S_initialize): Don't define.
2407         (locale::facet::_S_c_locale): Make private.
2408         (locale::facet::_S_c_name): Same, const qualify.
2409         (locale::_Impl::_Impl(facet**, size_t, bool)): Drop unused
2410         parameters, add throw() specifier.
2411         * include/bits/locale_facets.h (__timepunct::_M_name_timepunct,
2412         messages::_M_name_messages): Const qualify.
2413         * src/locale.cc
2414         (locale::_S_once, locale::facet::_S_once): Define.
2415         (locale::classic): Move initialization code...
2416         (locale::_S_initialize_once): ...here.  
2417         (locale::_S_initialize): Call _S_initialize_once through
2418         __gthread_once.
2419         (locale::facet::_S_initialize_once): Initialize _S_c_locale.
2420         (locale::facet::_S_get_c_locale): Call _S_initialize_once through
2421         __gthread_once before returning _S_c_locale.
2422         * src/localename.cc (locale::_Impl::_Impl(facet**, size_t, bool)):
2423         Drop unused parameters, add throw() specifier, don't initialize
2424         locale::facet::_S_c_locale and _S_c_name.
2425         
2426         * config/locale/generic/messages_members.h:
2427         Replace _S_c_locale with _S_get_c_locale().
2428         * config/locale/gnu/c_locale.cc: Same.
2429         * config/locale/gnu/messages_members.h: Same.
2430         * config/locale/gnu/numeric_members.cc: Same.
2431         * config/locale/gnu/time_members.cc: Same.
2432         * config/os/gnu-linux/ctype_noninline.h: Same.
2433         * include/bits/locale_facets.h: Same.
2434         * include/bits/locale_facets.tcc: Same.
2435         * src/codecvt.cc: Same.
2436         * src/ctype.cc: Same.
2437
2438 2003-10-02  Carlo Wood  <carlo@alinoe.com>
2439
2440         * include/bits/demangle.h (demangle<Allocator>::symbol(char const*)):
2441         Decode symbols that start with _GLOBAL_[ID]_ differently: the
2442         trailing part ends with a terminating zero and is not necessarily an
2443         encoding.
2444         * src/demangle.cc (): Same.
2445         * testsuite/demangle/regression/cw-13.cc: Adjust for new output.
2446
2447 2003-10-02  Paolo Carlini  <pcarlini@unitus.it>
2448
2449         * testsuite/22_locale/locale/cons/12438.cc: Use
2450         __gnu_test::try_named_locale("").
2451
2452 2003-10-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2453
2454         * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_0): Define.
2455         (GLIBCXX_CHECK_STDLIB_SUPPORT): Use it to test for lrand48
2456         instead of drand48.
2457         * acconfig.h (HAVE_DRAND48): Renamed to HAVE_LRAND48.
2458         * crossconfig.m4 (*-freebsd*): Define HAVE_LRAND48 instead of
2459         HAVE_DRAND48.
2460         * config.h.in, configure: Regenerate.
2461         * include/bits/stl_algo.h: Use _GLIBCXX_HAVE_LRAND48 to guard
2462         lrand48 use.
2463
2464 2003-10-01  Nathan Myers  <ncm@cantrip.org>
2465
2466         * include/bits/locale_facets.tcc (time_put::put): Avoid
2467         expensive *__s++, in favor of *__s, ++__s.
2468
2469 2003-10-01  Paolo Carlini  <pcarlini@unitus.it>
2470
2471         * include/bits/locale_facets.tcc (time_put::put): Minor
2472         tweak to the previous commit.
2473
2474 2003-10-01  Paolo Carlini  <pcarlini@unitus.it>
2475
2476         PR libstdc++/12439
2477         * include/bits/locale_facets.tcc (time_put::put): Deal
2478         with the three issues pointed out by the PR.
2479         * testsuite/22_locale/time_put/put/char/12439_1.cc: New.
2480         * testsuite/22_locale/time_put/put/char/12439_3.cc: New.
2481         * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: New.
2482         * testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: New.
2483         * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: New.
2484
2485 2003-09-30  Paolo Carlini  <pcarlini@unitus.it>
2486
2487         * include/bits/stl_algo.h: Minor cosmetic reformattings.
2488
2489 2003-09-30  Paolo Carlini  <pcarlini@unitus.it>
2490
2491         * include/bits/stl_algo.h (search_n): Tweak, to spare the
2492         first --__n.
2493
2494 2003-09-30  Paolo Carlini  <pcarlini@unitus.it>
2495
2496         * testsuite/22_locale/locale/cons/12352.cc: Explicitly
2497         qualify exception name.
2498
2499 2003-09-30  Paolo Carlini  <pcarlini@unitus.it>
2500
2501         PR libstdc++/12438
2502         * include/bits/locale_facets.tcc (locale::combine): Don't
2503         leak memory if _M_replace_facet throws.
2504         * testsuite/22_locale/locale/cons/12438.cc: New, from the PR.
2505
2506         * include/bits/locale_classes.h (locale::locale(const locale&,
2507         _Facet*)): Tweak, use consistently _M_remove_reference.
2508
2509 2003-09-30  Paolo Carlini  <pcarlini@unitus.it>
2510
2511         PR libstdc++/12352 (cont)
2512         * src/localename.cc (locale::_Impl::_Impl(const char*, size_t)):
2513         Don't leak __cloc; don't leak if any of the _M_init_facet(...)
2514         calls fail.
2515         (locale::_Impl::_Impl(const _Impl&, size_t)): Tweak.
2516         (locale::_Impl::~_Impl): Don't do anything if !_M_facets,
2517         !_M_caches, !_M_names.
2518
2519 2003-09-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2520
2521         * configure.host: Handle Solaris 2.5 micro releases explicitly.
2522         Remove wildcards from Solaris 2.6, 7-9: there were no
2523         micro releases.
2524         Treat Solaris 10 and up like 7-9.
2525
2526 2003-09-29  Paolo Carlini  <pcarlini@unitus.it>
2527
2528         * include/bits/stl_algo.h (search_n): Improve the previous
2529         fix as suggested by Martin.
2530
2531 2003-09-29  Paolo Carlini  <pcarlini@unitus.it>
2532
2533         PR libstdc++/12296
2534         * include/bits/istream.tcc (peek): Set eofbit if sgetc
2535         returns eof.
2536         * testsuite/27_io/basic_istream/peek/char/12296.cc:
2537         New, from the PR.
2538
2539 2003-09-29  Nathan Myers  <ncm@cantrip.org>
2540             Paolo Carlini  <pcarlini@unitus.it>
2541
2542         PR libstdc++/11400
2543         * include/bits/stl_algo.h (search_n):
2544         Use iterator_traits<>::difference_type for __n.
2545         * testsuite/25_algorithms/search_n/11400.cc: New, from the PR.
2546
2547 2003-09-29  Paolo Carlini  <pcarlini@unitus.it>
2548
2549         * testsuite/22_locale/locale/cons/12352.cc:
2550         Use __attribute__((unused)) for test.
2551
2552 2003-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
2553
2554         * testsuite/22_locale/time_put/put/char/2.cc (test_02): Allow either 
2555         "Son" or "So" as abbreviated name for Sunday in de_DE locale.
2556         * testsuite/22_locale/time_put/put/wchar_t/2.cc (test_02): Likewise.
2557
2558 2003-09-26  Brad Spencer  <spencer@infointeractive.com>
2559
2560         * testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc:
2561         Explicitly qualify exceptions.
2562         * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: Same.
2563         * testsuite/27_io/basic_istream/sentry/char/3983-sstream.cc: Same.
2564         * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
2565         * testsuite/27_io/basic_ostream/sentry/char/3983-sstream.cc: Same.
2566         
2567 2003-09-25  Paolo Carlini  <pcarlini@unitus.it>
2568
2569         PR libstdc++/12352
2570         * src/localename.cc (locale::_Impl::_Impl(const _Impl&,
2571         size_t)): Don't leak if memory allocations for _M_facets,
2572         _M_caches, and _M_names fail.
2573         (locale::_Impl::_Impl(const char*, size_t)): Ditto.
2574         (locale::_Impl::_M_replace_categories(const _Impl*,
2575         category)): Ditto.
2576         (locale::_Impl::_M_install_facet(const locale::id*,
2577         const facet*)): Ditto.
2578         * include/bits/locale_classes.h (locale::locale(const locale&,
2579         _Facet*)): Don't leak memory.
2580         * testsuite/22_locale/locale/cons/12352.cc: New, from the PR.
2581
2582         * src/localename.cc (locale::_Impl::_Impl(facet**, size_t,
2583         bool)): Qualify with std:: strcpy, tweak.
2584         * include/bits/locale_classes.h
2585         (locale::_Impl::_M_check_same_name): Qualify strcmp.
2586
2587 2003-09-25  Brad Spencer  <spencer@infointeractive.com>
2588
2589         PR libstdc++/6072
2590         * acinclude.m4: Split out checks for vfwscanf, vswscanf, vwscanf,
2591         wcstof, iswblank.       
2592         * aclocal.m4: Regenerate.
2593         * config.h.in: Regenerate.
2594         * configure: Regenerate.
2595         * crossconfig.m4: Add in wchar_t bits for solaris crosses.
2596         * config/io/basic_file_stdio.cc: Guard unistd.h.
2597         * include/c_compatibility/wchar.h: Guard extra wchar_t functionality.
2598         * include/c_std/std_cwchar.h: Same.
2599         * include/c_std/std_cwctype.h: Same.
2600         
2601 2003-09-25  Benjamin Kosnik  <bkoz@redhat.com>
2602
2603         PR libstdc++/11065
2604         * config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_is): Fix.
2605         * config/locale/generic/ctype_members.cc: Same.
2606         * testsuite/22_locale/ctype/is/char/1.cc: Initialize mask.
2607         * testsuite/22_locale/ctype/is/wchar_t/1.cc: Same.
2608
2609         * config/os/generic/ctype_inline.h: Update.
2610         
2611 2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
2612
2613         * src/Makefile.am (version_dep): New variable.
2614         (libstdc___la_DEPENDENCIES): Use it to add dependency on
2615         libstdc++-symbol.ver only when using symbol versioning.
2616         * src/Makefile.in: Regenerate.
2617
2618 2003-09-23  Benjamin Kosnik  <bkoz@redhat.com>
2619
2620         * include/bits/locale_facets.tcc: Tweak to avoid warnings.
2621         * testsuite/testsuite_hooks.h: Same.
2622         * testsuite/*/*.cc: Same.
2623
2624 2003-09-22  Petur Runolfsson  <peturr02@ru.is>
2625
2626         * include/bits/istream.tcc (basic_istream::read,
2627         basic_istream::readsome, basic_istream::putback,
2628         basic_istream::unget, operator>>(basic_istream, CharT)):
2629         Avoid redundant setstate(failbit) calls when sentry::operator bool()
2630         returns false.
2631
2632 2003-09-22  Carlo Wood  <carlo@alinoe.com>
2633
2634         PR libstdc++/12365
2635         * include/bits/demangle.h (qualifier(int, cv_qualifier_nt,
2636         char const*, int, int)):  Remove unused identifier
2637         cv_qualifier for overloaded constructor.
2638
2639 2003-09-18  Benjamin Kosnik  <bkoz@redhat.com>
2640
2641         PR libstdc++/11504
2642         * acinclude.m4 (GLIBCXX_EXPORT_FLAGS): Add -Wcast-qual to
2643         WARN_FLAGS, remove -Wno-format.
2644         * aclocal.m4: Regenerate.
2645         * configure: Regenerate.
2646
2647 2003-09-18  Petur Runolfsson  <peturr02@ru.is>
2648
2649         * config/io/basic_file_stdio.cc (sys_getc, sys_ungetc): Delete.
2650         * config/io/basic_file_stdio.h: Same.
2651         * include/std/std_fstream.h (__ctype_type): Delete.
2652         * include/std/std_streambuf.h (__ctype_type, __state_type): Delete.
2653         
2654 2003-09-17  Benjamin Kosnik  <bkoz@redhat.com>
2655
2656         PR libstdc++/12239
2657         * configure.host (abi_baseline_pair): Error out on solaris2
2658         configurations without a minor version number.
2659
2660 2003-09-13  Phil Edwards  <phil@codesourcery.com>
2661
2662         * docs/doxygen/run_doxygen:  Clear GENERATE_TAGFILE entirely
2663         if man pages are on.
2664         * docs/doxygen/user.cfg.in:  And here.
2665
2666 2003-09-10  Daniel Jacobowitz  <drow@mvista.com>
2667             Andreas Jaeger <aj@suse.de>
2668
2669         PR libstdc++/12189
2670         * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Don't build
2671         abi_check if cross compiling.
2672         * aclocal.m4: Regenerated.
2673         * configure: Regenerated.
2674
2675 2003-09-10  Jeffrey D. Oldham  <oldham@codesourcery.com>
2676
2677         * libsupc++/vec.cc (__cxa_vec_new2): If the allocator returns
2678         NULL, return NULL.  This reflects a C++ ABI change 2003 Sep 05.
2679         (__cxa_vec_new3): Likewise.
2680
2681 2003-09-10  Petur Runolfsson  <peturr02@ru.is>
2682
2683         * include/bits/fstream.tcc (basic_filebuf::seekoff):
2684         Use codecvt::length to handle variable-width stateless encodings
2685         correctly.
2686         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: New test.
2687         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc: New test.
2688
2689 2003-09-10  Alan Modra  <amodra@bigpond.net.au>
2690
2691         * config/io/basic_file_stdio.cc (_M_open_mode): Assign __p_mode
2692         rather than or'ing.
2693
2694 2003-09-09  Alan Modra  <amodra@bigpond.net.au>
2695
2696         * configure: Regenerate.
2697
2698 2003-09-09  David Edelsohn  <edelsohn@gnu.org>
2699
2700         * src/ios.cc (ios_base::Init::Init): Remove unnecessary
2701         qualifier from _S_synced_with_stdio.
2702
2703 2003-09-09  Bernardo Innocenti  <bernie@develer.com>
2704
2705         * include/c_std/std_cstdlib.h: Avoid using missing C library symbols.
2706
2707 2003-09-04  Petur Runolfsson  <peturr02@ru.is>
2708
2709         PR libstdc++/9028
2710         * include/bits/fstream.tcc
2711         (basic_filebuf::_M_destroy_internal_buffer): Destroy _M_ext_buf.
2712         (basic_filebuf::basic_filebuf): Initialize _M_ext_buf,
2713         _M_ext_buf_size, _M_ext_next and _M_ext_end.
2714         (basic_filebuf::underflow): Handle variable-width stateless
2715         encodings (codecvt::encoding() == 0), including UTF-8.
2716         * include/std/std_fstream.h (basic_filebuf):
2717         Declare _M_ext_buf, _M_ext_buf_size, _M_ext_next, _M_ext_end.
2718         * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: New test.
2719         * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: New test.
2720         * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: New test.
2721         * testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: New test.
2722         * testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: New test.
2723         * testsuite/27_io/objects/wchar_t/12.cc: New test.
2724         * testsuite/27_io/objects/wchar_t/13.cc: New test.
2725
2726 2003-09-04  Jonathan Wakely  <redi@gcc.gnu.org>
2727
2728         * docs/html/faq/index.html: Note that a namespace alias can't be
2729         used when specialising templates in extension namespace.
2730         * docs/html/faq/index.txt: Regenerate.
2731
2732 2003-09-03  Petur Runolfsson  <peturr02@ru.is>
2733
2734         PR libstdc++/12048
2735         * include/ext/stdio_sync_filebuf.h
2736         (stdio_sync_filebuf::_M_unget_buf): Declare it.
2737         (stdio_sync_filebuf::stdio_sync_filebuf): Initialize _M_unget_buf.
2738         (stdio_sync_filebuf::uflow): Store the returned character in
2739         _M_unget_buf.
2740         (stdio_sync_filebuf::pbackfail): If argument is eof(), pass
2741         _M_unget_buf to syncungetc(). Set _M_unget_buf to eof().
2742         (stdio_sync_filebuf<char>::xsgetn): Store last read character in
2743         _M_unget_buf, if any, else eof().
2744         (stdio_sync_filebuf<wchar_t>::xsgetn: Store last read character in
2745         _M_unget_buf, if any, else eof().
2746         * testsuite/27_io/objects/char/12048.cc: Rename to...
2747         * testsuite/27_io/objects/char/12048-1.cc: ...this.
2748         * testsuite/27_io/objects/char/12048-2.cc: New test.
2749         * testsuite/27_io/objects/char/12048-3.cc: New test.
2750         * testsuite/27_io/objects/char/12048-4.cc: New test.
2751         * testsuite/27_io/objects/char/12048-5.cc: New test. XFAIL.
2752         * testsuite/27_io/objects/wchar_t/12048-1.cc: New test.
2753         * testsuite/27_io/objects/wchar_t/12048-2.cc: New test.
2754         * testsuite/27_io/objects/wchar_t/12048-3.cc: New test.
2755         * testsuite/27_io/objects/wchar_t/12048-4.cc: New test.
2756         * testsuite/27_io/objects/wchar_t/12048-5.cc: New test. XFAIL.
2757         * testsuite/ext/stdio_sync_filebuf_char.cc
2758         (test02, test03, test04, test05): New tests.
2759         * testsuite/ext/stdio_sync_filebuf_wchar_t.cc
2760         (test02, test03, test04, test05): New tests.
2761
2762 2003-09-03  Petur Runolfsson  <peturr02@ru.is>
2763
2764         * docs/html/27_io/howto.html: setbuf(0, 0) has no effect on
2765         stringbuf or strstreambuf. Fix typos.
2766
2767 2003-09-02  Phil Edwards  <phil@codesourcery.com>
2768
2769         * acinclude.m4 (GLIBCXX_ENABLE_HOSTED):  #define _GLIBCXX_HOSTED
2770         appropriately.
2771         * config.h.in:  Add _GLIBCXX_HOSTED.
2772         * libsupc++/eh_term_handler.cc:  Test it here; initialize
2773         __terminate_handler to std::abort if freestanding.
2774         * aclocal.m4, configure:  Regenerated.
2775         * docs/html/configopts.html:  Document --disable-hosted-libstdcxx.
2776
2777 2003-08-29  Nathan Myers  <ncm@cantrip.org>
2778         
2779         PR libstdc++/11990      
2780         * include/bits/locale_facets.tcc (__pad): delete dead code.
2781
2782 2003-08-28  Alan Modra  <amodra@bigpond.net.au>
2783
2784         * configure.ac: Test $with_cross_host against $build_alias, not $build.
2785         * configure: Regenerate.
2786
2787 2003-08-27  Petur Runolfsson  <peturr02@ru.is>
2788
2789         * testsuite/27_io/objects/wchar_t/10.cc: Move wcout stuff...
2790         * testsuite/27_io/objects/wchar_t/11.cc: ...here. New file.
2791
2792 2003-08-27  Phil Edwards  <pme@gcc.gnu.org>
2793
2794         * Makefile.am:  Remove trailing whitespace.  Remove needless
2795         "foo = @foo@" assignments.  Replace direct uses of @foo@ with $(foo).
2796         * include/Makefile.am:  Likewise.
2797         * libmath/Makefile.am:  Likewise.
2798         * libsupc++/Makefile.am:  Likewise.
2799         * po/Makefile.am:  Likewise.
2800         * src/Makefile.am:  Likewise.
2801         * testsuite/Makefile.am:  Likewise.
2802
2803         * Makefile.in, include/Makefile.in, libmath/Makefile.in,
2804         libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
2805         testsuite/Makefile.in:  Regenerated.
2806
2807 2003-08-27  Phil Edwards  <pme@gcc.gnu.org>
2808
2809         * acinclude.m4 (GLIBCXX_EXPORT_INCLUDES):  Change quoting of
2810         includedir.
2811         * aclocal.m4, configure:  Regenerate.
2812
2813 2003-08-27  Daniel Jacobowitz  <drow@mvista.com>
2814
2815         * acinclude.m4: Include no-executables.m4.
2816         * configure.ac: Uncomment GCC_NO_EXECUTABLES.
2817         * aclocal.m4: Regenerated.
2818         * configure: Regenerated.
2819
2820 2003-08-27  Daniel Jacobowitz  <drow@mvista.com>
2821
2822         * acinclude.m4: Don't call AC_ISC_POSIX.
2823         * aclocal.m4: Regenerated.
2824         * configure: Regenerated.
2825
2826 2003-08-27  Phil Edwards  <pme@gcc.gnu.org>
2827
2828         * acinclude.m4 (GLIBCXX_CONDITIONAL):  New macro.  Wrap
2829         AM_CONDITIONAL.  Replace all calls to AM_CONDITIONAL with this one.
2830         (GLIBCXX_ENABLE_HOSTED):  New macro, sets new variable is_hosted,
2831         used elsewhere in this file.
2832         (GLIBCXX_EVALUATE_CONDITIONALS):  New macro...
2833         * configure.ac:  ...called here to expand all conditionals.
2834         * Makefile.am:  Conditionalize SUBDIRS on GLIBCXX_HOSTED.
2835         * include/Makefile.am:  Remove redundant gxx_include_dir assignment.
2836         (install-freestanding-headers):  New target, a subset of
2837         install-headers.  Conditionalize install-data-local on GLIBCXX_HOSTED.
2838
2839         * aclocal.m4, configure, Makefile.in, include/Makefile.in,
2840         libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
2841         src/Makefile.in, testsuite/Makefile.in:  Regenerated.
2842
2843 2003-08-26  Phil Edwards  <pme@gcc.gnu.org>
2844
2845         * docs/doxygen/run_doxygen:  Shell fixes.  Remove hardcoded local
2846         pathnames from generated tag file.
2847
2848 2003-08-26  Phil Edwards  <pme@gcc.gnu.org>
2849
2850         * Makefile.am:  Add comment.
2851         * acinclude.m4 (GLIBCXX_CONFIGURE):  Set new glibcxx_SUBDIRS and
2852         SUBDIRS variables.
2853         * configure.ac:  Use them both here, instead of hardcoded lists.
2854
2855         * fragment.am:  Add STAMP varaible.
2856         * include/Makefile.am:  Cosmetic whitespace cleanup.  Use $(LN_S)
2857         instead of @LN_S@.
2858         (stamp-*):  Move file creation rule outside of 'if' branches to
2859         ensure the stamp-* files are actually updated.  Use $(STAMP).
2860         * src/Makefile.am:  Remove now-nonexistant variable.
2861         * libsupc++/Makefile.am:  Likewise.  Snap the assignment chain
2862         for -prefer-pic.
2863         * po/Makefile.am:  Include same fragment as all the others.
2864
2865         * aclocal.m4, configure, Makefile.in, include/Makefile.in,
2866         libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in:  Regenerated.
2867
2868 2003-08-26  Loren J. Rittle  <ljrittle@acm.org>
2869
2870         * testsuite/data/cin_unget-1.txt: New.
2871         * testsuite/27_io/objects/char/12048.cc: New.
2872
2873 2003-08-25  Zack Weinberg  <zack@codesourcery.com>
2874
2875         * config/os/hpux/os_defines.h: Unconditionally define
2876         _GLIBCXX_GTHREAD_USE_WEAK to 0.
2877
2878 2003-08-19  Geoffrey Keating  <geoffk@apple.com>
2879
2880         * crossconfig.m4 (*-darwin*): Add a large and boring stanza for
2881         crosses to Darwin targets.
2882         * configure: Regenerate.
2883
2884 2003-08-19  Petur Runolfsson  <peturr02@ru.is>
2885
2886         * include/ext/ropeimpl.h: #include <ostream> instead of <iostream>
2887
2888 2003-08-17  Phil Edwards  <pme@gcc.gnu.org>
2889
2890         * configure.ac:  GCC_NO_EXECUTABLES was supposed to be commented
2891         in the patch from 3 minutes ago.  Boy, is my face red.
2892         * configure:  At least I remembered to regenerate this.
2893
2894 2003-08-17  Phil Edwards  <pme@gcc.gnu.org>
2895
2896         * acinclude.m4 (GLIBCXX_EXPORT_INCLUDES):  Remove LIBMATH_INCLUDES
2897         and LIBSUPCXX_INCLUDES.  Re-purpose TOPLEVEL_INCLUDES to refer to
2898         things from the top level.
2899         * configure.ac (GLIBCXX_IS_NATIVE):  Determine earlier and re-order.
2900         Comment out the conditionals for CANADIAN and GLIBCXX_BUILD_LIBMATH
2901         (currently unused).  Strip the fake-VPATH shell fragment from
2902         automake-generated rules, if present.
2903         * linkage.m4:  Add comment.
2904
2905         * fragment.am:  New file, containing factored-out common settings.
2906         (AM_CPPFLAGS):  Absorb the deprecated INCLUDES variable contents.
2907         * Makefile.am:  Include fragment.am.  Remove common variables.
2908         * include/Makefile.am:  Likewise.
2909         * libmath/Makefile.am:  Likewise.
2910         * libsupc++/Makefile.am:  Likewise.
2911         * po/Makefile.am:  Likewise.  Print rules during check.
2912         * src/Makefile.am:  Likewise.
2913         * testsuite/Makefile.am:  Likewise.
2914
2915         * aclocal.m4, configure, Makefile.in, include/Makefile.in,
2916         libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
2917         src/Makefile.in, testsuite/Makefile.in:  Regenerate.
2918
2919 2003-08-11  John Levon  <levon@movementarian.org>
2920
2921         * docs/html/ext/howto/guide.html (GLIBCXX_FORCE_NEW): Update
2922         remaining places for the name change from GLIBCPP_FORCE_NEW
2923         to GLIBCXX_FORCE_NEW
2924
2925 2003-08-11  Benjamin Kosnik  <bkoz@redhat.com>
2926
2927         * include/bits/basic_ios.h: Remove *_iter typedefs, change num*
2928         typedefs to num_*.
2929         * include/bits/basic_ios.tcc: Same.
2930         * include/bits/istream.tcc: Same.
2931         * include/bits/locale_facets.h: Same.
2932         * include/bits/ostream.tcc: Same.
2933         * include/std/std_istream.h: Same.
2934         * include/std/std_ostream.h: Same.
2935         * testsuite/26_numerics/complex_inserters_extractors.cc: Fix.
2936
2937         * include/ext/rope: Remove build warning.
2938
2939 2003-08-11  Andreas Jaeger  <aj@suse.de>
2940
2941         * include/Makefile.am (stamp-c_base): Add dependency on stamp-bits
2942         to make SMP-safe.
2943         * include/Makefile.in: Regenerated.
2944
2945 2003-08-11  Phil Edwards  <pme@gcc.gnu.org>
2946
2947         * acinclude.m4 (GLIBCXX_CONFIGURE):  Unprecious CC and CFLAGS
2948         when calling AC_PROG_CC.
2949         * aclocal.m4, configure:  Regenerate.
2950
2951 2003-08-11  Phil Edwards  <pme@gcc.gnu.org>
2952
2953         * acinclude.m4:  Properly quote variable which will be expanded
2954         inside makefiles.  Use CXX instead of CC to extract compiler info.
2955         * configure.ac (AC_INIT):  Use the new 4-arg form to finally get the
2956         correct form in PACKAGE.
2957         * aclocal.m4, configure:  Regenerate.
2958
2959 2003-08-08  Benjamin Kosnik  <bkoz@redhat.com>
2960
2961         * testsuite/Makefile.am (check-abi): Change libstdc++-v3 to libstdc++.
2962         (check-abi-verbose): Same.
2963         * testsuite/testsuite_performance.h (report_performance): Same.
2964
2965 2003-08-08  Loren J. Rittle  <ljrittle@acm.org>
2966
2967         * testsuite/testsuite_performance.h (__FreeBSD__): Add fake mallinfo.
2968
2969 2003-08-07  Doug Gregor  <dgregor@apple.com>
2970
2971         * include/bits/char_traits.h (char_traits::not_eof): Match operand
2972         types in ? :.
2973
2974 2003-08-07  Bernardo Innocenti  <bernie@develer.com>
2975
2976         PR libstdc++/11784
2977         * libstdc++-v3/config/cpu/m68k/atomicity.h (__exchange_and_add):
2978         Replace variants with new BSET-based version.
2979
2980 2003-08-07  Carlo Wood  <carlo@alinoe.com>
2981
2982         * include/bits/demangle.h: Do not use cctype functions that depend
2983         on locale.
2984
2985 2003-08-05  Phil Edwards  <pme@gcc.gnu.org>
2986
2987         * configure.in:  Rename...
2988         * configure.ac:  ...to this.
2989         * docs/html/17_intro/porting.texi:  Update name.
2990
2991         * docs/html/17_intro/porting.html:  Regenerate.
2992         * config.h.in, Makefile.in, include/Makefile.in, libmath/Makefile.in,
2993         libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
2994         testsuite/Makefile.in:  Regenerate (picks up new dependancy).
2995
2996 2003-08-05  Phil Edwards  <pme@gcc.gnu.org>
2997
2998         * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS):  Put down the crack
2999         pipe, open the window to let out the fumes, redo the option-handling
3000         logic to properly execute the detection test.
3001         * aclocal.m4, configure:  Regenerate.
3002
3003 2003-08-04  Phil Edwards  <pme@gcc.gnu.org>
3004
3005         Convert to new autotools.
3006         * acconfig.h:  Update with correct names.
3007         * configure.host (ATOMICITYH):  Rename to atomicity_include_dir.
3008         (qnx6.[12]*):  'q' comes before 's', not after 'w'.
3009         * configure.in:  Update.  Split hardcoded cross-configury settings
3010         out to...
3011         * crossconfig.m4:  ...here.  New file.  Contents untouched.
3012         * acinclude.m4:  Reorganize and rewrite as needed.  Split large
3013         chunks out to...
3014         * linkage.m4:  ...here.  New file.  Math and stdlib linkage tests.
3015         Contents untouched.
3016         * scripts/testsuite_flags.in:  Update.
3017
3018         * Makefile.am:  Remove unneeded AUTOMAKE_OPTIONS settings and other
3019         variables (already generated by automake).
3020         * include/Makefile.am:  Ditto.
3021         * libmath/Makefile.am:  Ditto.
3022         * libsupc++/Makefile.am:  Ditto.
3023         * po/Makefile.am:  Ditto.
3024         * src/Makefile.am:  Ditto.
3025
3026         * aclocal.m4:  Regenerate using new versions.
3027         * config.h.in:  Ditto.
3028         * configure:  Ditto.
3029         * Makefile.in:  Ditto.
3030         * include/Makefile.in:  Ditto.
3031         * libmath/Makefile.in:  Ditto.
3032         * libsupc++/Makefile.in:  Ditto.
3033         * po/Makefile.in:  Ditto.
3034         * src/Makefile.in:  Ditto.
3035         * testsuite/Makefile.in:  Ditto.
3036
3037 2003-08-04  Phil Edwards  <pme@gcc.gnu.org>
3038
3039         * po/libstdc++.pot:  Re-extract/regenerate.
3040
3041 2003-08-04  Phil Edwards  <pme@gcc.gnu.org>
3042
3043         * testsuite/Makefile.am (DEJATOOL,EXPECT,RUNTEST,RUNTESTFLAGS):
3044         Remove unneeded variable assignments.  Leave them for automake.
3045         * testsuite/lib/libstdc++-v3.exp:  Rename...
3046         * testsuite/lib/libstdc++.exp:  ...to this.  Adjust function names
3047         accordingly.
3048         * testsuite/libstdc++-v3.dg/dg.exp:  Rename...
3049         * testsuite/libstdc++-dg/normal.exp:  ...to this.  Adjust function
3050         names accordingly.
3051
3052 2003-08-04  Phil Edwards  <pme@gcc.gnu.org>
3053
3054         * docs/doxygen/guide.html:  run_doxygen uses bash.
3055         * docs/doxygen/mainpage.html:  We'll be shipping tag files.
3056         * docs/doxygen/run_doxygen:  Tweaks and improvements.
3057         * docs/doxygen/user.cfg.in:  Set GENERATE_TAGFILE.
3058         * docs/html/install.html:  Update autoconf/automake requirements.
3059         * docs/html/test.html:  Add section describing DejaGNU support.
3060         * docs/html/17_intro/confdeps.dot:  New file, generates...
3061         * docs/html/17_intro/confdeps.png:  ...this new file.
3062         * docs/html/Makefile:  Generated here.
3063         * docs/html/17_intro/configury.html:  New file.
3064
3065 2003-07-31  Phil Edwards  <pme@gcc.gnu.org>
3066
3067         * testsuite/lib/libstdc++-v3-dg.exp:  Rename...
3068         * testsuite/lib/libstdc++-v3.exp:  ...to this.
3069         * testsuite/libstdc++-v3.dg/dg.exp:  No special case needed now.
3070
3071 2003-07-31  Doug Gregor  <dgregor@apple.com>
3072
3073         Add user specialization tests.
3074         * testsuite/23_containers/deque/1.cc: New.
3075         * testsuite/23_containers/list/1.cc: New.
3076         * testsuite/23_containers/map/1.cc: New.
3077         * testsuite/23_containers/multimap/1.cc: New.
3078         * testsuite/23_containers/multiset/1.cc: New.
3079         * testsuite/23_containers/set/1.cc: New.
3080         * testsuite/23_containers/vector/1.cc: New.
3081
3082 2003-07-31  Benjamin Kosnik  <bkoz@redhat.com>
3083
3084         Reshuffle 23_containers testsuite.
3085         * 23_containers/adaptors.cc, bitset_ctor.cc,bitset_members.cc,
3086         bitset_shift.cc, deque_ctor.cc, deque_operators.cc,
3087         list_capacity.cc, list_ctor.cc, list_modifiers.cc, list_operators.cc,
3088         map_insert.cc, map_operators.cc, map_operators_neg.cc, multiset.cc,
3089         set_operators_neg.cc, vector_bool.cc, vector_capacity.cc,
3090         vector_ctor.cc, vector_element_access.cc, vector_modifiers.cc,
3091         vector_resize.cc: Split into...
3092         * 23_containers/bitset/cons/1.cc: New.
3093         * 23_containers/bitset/cons/6282.cc: New.
3094         * 23_containers/bitset/count/6124.cc: New.
3095         * 23_containers/bitset/operations/1.cc: New.
3096         * 23_containers/bitset/operations/2.cc: New.
3097         * 23_containers/bitset/test/1.cc: New.
3098         * 23_containers/bitset/to_ulong/1.cc: New.
3099         * 23_containers/deque/cons/1.cc: New.
3100         * 23_containers/deque/cons/2.cc: New.
3101         * 23_containers/deque/operators/1.cc: New.
3102         * 23_containers/list/capacity/1.cc: New.
3103         * 23_containers/list/cons/1.cc: New.
3104         * 23_containers/list/cons/2.cc: New.
3105         * 23_containers/list/cons/3.cc: New.
3106         * 23_containers/list/cons/4.cc: New.
3107         * 23_containers/list/cons/5.cc: New.
3108         * 23_containers/list/cons/6.cc: New.
3109         * 23_containers/list/cons/7.cc: New.
3110         * 23_containers/list/cons/8.cc: New.
3111         * 23_containers/list/cons/9.cc: New.
3112         * 23_containers/list/modifiers/1.cc: New.
3113         * 23_containers/list/modifiers/2.cc: New.
3114         * 23_containers/list/modifiers/3.cc: New.
3115         * 23_containers/list/operators/1.cc: New.
3116         * 23_containers/list/operators/2.cc: New.
3117         * 23_containers/list/operators/3.cc: New.
3118         * 23_containers/list/operators/4.cc: New.
3119         * 23_containers/map/insert/1.cc: New.
3120         * 23_containers/map/operators/1.cc: New.
3121         * 23_containers/map/operators/1_neg.cc: New.
3122         * 23_containers/multiset/insert/1.cc: New.
3123         * 23_containers/priority_queue/members/7161.cc: New.
3124         * 23_containers/queue/members/7157.cc: New.
3125         * 23_containers/set/operators/1_neg.cc: New.
3126         * 23_containers/stack/members/7158.cc: New.
3127         * 23_containers/vector/bool/1.cc: New.
3128         * 23_containers/vector/bool/6886.cc: New.
3129         * 23_containers/vector/capacity/1.cc: New.
3130         * 23_containers/vector/capacity/2.cc: New.
3131         * 23_containers/vector/capacity/8230.cc: New.
3132         * 23_containers/vector/cons/1.cc: New.
3133         * 23_containers/vector/cons/2.cc: New.
3134         * 23_containers/vector/cons/3.cc: New.
3135         * 23_containers/vector/cons/4.cc: New.
3136         * 23_containers/vector/cons/6513.cc: New.
3137         * 23_containers/vector/element_access/1.cc: New.
3138         * 23_containers/vector/modifiers/1.cc: New.
3139         * 23_containers/vector/modifiers/2.cc: New.
3140         * 23_containers/vector/resize/1.cc: New.
3141
3142 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3143
3144         * testsuite/thread/pthread1.cc: Add alpha*-*-osf* to dg-do run,
3145         dg-options.
3146         * testsuite/thread/pthread2.cc: Likewise.
3147         * testsuite/thread/pthread3.cc: Likewise.
3148         * testsuite/thread/pthread4.cc: Likewise.
3149         * testsuite/thread/pthread5.cc: Likewise.
3150         * testsuite/thread/pthread6.cc: Likewise.
3151         * testsuite/thread/pthread7-rope.cc: Likewise.
3152
3153 2003-07-30  Phil Edwards  <pme@gcc.gnu.org>
3154
3155         * include/bits/c++config:  Partial reversion (comment placement) of
3156         previous patch.
3157
3158 2003-07-30  Benjamin Kosnik  <bkoz@redhat.com>
3159
3160         * include/bits/c++config (_GLIBCXX_FULLY_COMPLIANT_HEADERS): Remove.
3161         (_GLIBCXX_NO_TEMPLATE_EXPORT): To _GLIBCXX_EXPORT_TEMPLATE.
3162         (_GLIBCXX_AT_AT): Remove.
3163         (__USE_MALLOC): Remove.
3164         * include/std/std_fstream.h: Modify.
3165         * include/bits/basic_ios.h: Same.
3166         * include/bits/valarray_array.h: Same.
3167         * include/c_std/std_cmath.h: Same.
3168         * include/c_std/cmath.tcc: Same.
3169         * include/std/std_vector.h: Same.
3170         * include/std/std_string.h: Same.
3171         * include/std/std_stack.h: Same.
3172         * include/std/std_queue.h: Same.
3173         * include/std/std_list.h: Same.
3174         * include/std/std_deque.h: Same.
3175         * include/std/std_streambuf.h: Same.
3176         * include/std/std_sstream.h: Same.
3177         * include/std/std_ostream.h: Same.
3178         * include/std/std_istream.h: Same.
3179         * include/bits/valarray_array.tcc: Same, format.
3180
3181         * include/c/std_cctype.h: Fix include guards.
3182         * include/c/std_cerrno.h: Same.
3183         * include/c/std_cfloat.h: Same.
3184         * include/c/std_climits.h: Same.
3185         * include/c/std_clocale.h: Same.
3186         * include/c/std_cmath.h: Same.
3187         * include/c/std_csetjmp.h: Same.
3188         * include/c/std_csignal.h: Same.
3189         * include/c/std_cstdarg.h: Same.
3190         * include/c/std_cstddef.h: Same.
3191         * include/c/std_cstdio.h: Same.
3192         * include/c/std_cstdlib.h: Same.
3193         * include/c/std_cstring.h: Same.
3194         * include/c/std_ctime.h: Same.
3195         * include/c/std_cwchar.h: Same.
3196         * include/c/std_cwctype.h: Same.
3197         * include/c_std/cmath.tcc: Same.
3198         * include/c_std/std_cmath.h: Same.
3199
3200 2003-07-30  Gawain Bolton  <gp.bolton@computer.org>
3201
3202         PR libstdc++/11504.
3203         * include/bits/stl_tree.h: Replace C-style casts with C++-style
3204         casts.  Changes to avoid casting away constness.  Eliminate
3205         _Rb_tree_base_iterator class.  Change _Rb_tree_iterator to use
3206         initialization lists.  Move out implementation of __black_count()
3207         to...
3208         * src/stl_tree.cc: ...here and rename _Rb_tree_black_count().
3209         Rename_Rb_tree_base_iterator::_M_increment() to
3210         _Rb_tree_increment and _Rb_tree_base_iterator::_M_decrement() to
3211         _Rb_tree_decrement.
3212         * config/linker-map.gnu: Add and change symbols here.
3213
3214 2003-07-30  Jonathan Wakely  <redi@gcc.gnu.org>
3215
3216         * docs/html/22_locale/howto.html: Use locale::classic() instead
3217         of locale("C").
3218
3219 2003-07-28  Benjamin Kosnik  <bkoz@redhat.com>
3220
3221         * testsuite/testsuite_hooks.h: Remove list include.
3222         (func_callback): Define as unique type, not std::list.
3223         Change DEBUG_ASSERT to _GLIBCXX_ASSERT.
3224         * testsuite/libstdc++-v3.dg/dg.exp: Same.
3225         * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Same.
3226         * testsuite/23_containers/bitset_ctor.cc:
3227         * testsuite/17_intro/header_ciso646.cc: Remove DEBUG_ASSERT.
3228         * testsuite/18_support/numeric_limits.cc: Same.
3229         * testsuite/21_strings/basic_string/append/char/1.cc: Same.
3230         * testsuite/21_strings/basic_string/append/wchar_t/1.cc: Same.
3231         * testsuite/21_strings/basic_string/compare/char/1.cc: Same.
3232         * testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Same.
3233         * testsuite/21_strings/basic_string/element_access/char/1.cc: Same.
3234         * testsuite/21_strings/basic_string/element_access/char/2.cc: Same.
3235         * testsuite/21_strings/basic_string/element_access/char/3.cc: Same.
3236         * testsuite/21_strings/basic_string/element_access/wchar_t/1.cc: Same.
3237         * testsuite/21_strings/basic_string/element_access/wchar_t/2.cc: Same.
3238         * testsuite/21_strings/basic_string/element_access/wchar_t/3.cc: Same.
3239         * testsuite/21_strings/basic_string/find/char/1.cc: Same.
3240         * testsuite/21_strings/basic_string/find/char/2.cc: Same.
3241         * testsuite/21_strings/basic_string/find/char/3.cc: Same.
3242         * testsuite/21_strings/basic_string/find/wchar_t/1.cc: Same.
3243         * testsuite/21_strings/basic_string/find/wchar_t/2.cc: Same.
3244         * testsuite/21_strings/basic_string/find/wchar_t/3.cc: Same.
3245         * testsuite/21_strings/basic_string/insert/char/1.cc: Same.
3246         * testsuite/21_strings/basic_string/insert/char/2.cc: Same.
3247         * testsuite/21_strings/basic_string/insert/wchar_t/1.cc: Same.
3248         * testsuite/21_strings/basic_string/insert/wchar_t/2.cc: Same.
3249         * testsuite/21_strings/basic_string/inserters_extractors/char/1.cc:
3250         * testsuite/21_strings/basic_string/inserters_extractors/char/4.cc:
3251         * testsuite/21_strings/basic_string/inserters_extractors/char/5.cc:
3252         * testsuite/21_strings/basic_string/inserters_extractors/char/6.cc:
3253         * testsuite/21_strings/basic_string/inserters_extractors/char/7.cc:
3254         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc:
3255         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc:
3256         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc:
3257         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc:
3258         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc:
3259         * testsuite/21_strings/basic_string/operators/char/1.cc: Same.
3260         * testsuite/21_strings/basic_string/operators/char/2.cc: Same.
3261         * testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Same.
3262         * testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Same.
3263         * testsuite/21_strings/basic_string/replace/char/1.cc: Same.
3264         * testsuite/21_strings/basic_string/replace/wchar_t/1.cc: Same.
3265         * testsuite/21_strings/basic_string/rfind/char/1.cc: Same.
3266         * testsuite/21_strings/basic_string/rfind/char/2.cc: Same.
3267         * testsuite/21_strings/basic_string/rfind/char/3.cc: Same.
3268         * testsuite/21_strings/basic_string/rfind/wchar_t/1.cc: Same.
3269         * testsuite/21_strings/basic_string/rfind/wchar_t/2.cc: Same.
3270         * testsuite/21_strings/basic_string/rfind/wchar_t/3.cc: Same.
3271         * testsuite/21_strings/basic_string/substr/char/1.cc: Same.
3272         * testsuite/21_strings/basic_string/substr/wchar_t/1.cc: Same.
3273         * testsuite/23_containers/bitset_ctor.cc: Same.
3274         * testsuite/23_containers/bitset_shift.cc: Same.
3275         * testsuite/23_containers/vector_ctor.cc: Same.
3276         * testsuite/23_containers/vector_element_access.cc: Same.
3277         * testsuite/24_iterators/istreambuf_iterator.cc: Same.
3278         * testsuite/24_iterators/iterator.cc: Same.
3279         * testsuite/24_iterators/ostreambuf_iterator.cc: Same.
3280         * testsuite/25_algorithms/lower_bound.cc: Same.
3281         * testsuite/26_numerics/complex_inserters_extractors.cc: Same.
3282         * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc: Same.
3283         * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc: Same.
3284         * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc: Same.
3285         * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc: Same.
3286         * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc: Same.
3287         * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc: Same.
3288         * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc: Same.
3289         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc: Same.