OSDN Git Service

2004-01-15 Stefan Olsson <stefan@snon.net>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
1 2004-01-15  Stefan Olsson  <stefan@snon.net>
2
3         * include/ext/mt_allocator.h: Reuse thread id's as soon as
4         possible by changing the behaviour of thread_freelist to do
5         push_front when threads die instead of push_back.
6
7 2004-01-14  Paolo Carlini  <pcarlini@suse.de>
8
9         * include/bits/locale_facets.h (struct __numpunct_cache):
10         Add member _M_grouping_size, caching the length of _M_grouping.
11         (__numpunct_cache<>::_M_cache): Assign the latter.
12         (__verify_grouping): Move declaration...
13         * include/bits/locale_facets.tcc (__verify_grouping):
14         ... here, change signature to take a const char* and a size_t
15         for the grouping; not a template anymore.
16         (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
17         Likewise change signature and tweak consistently. 
18         (num_get::_M_extract_float, num_get::_M_extract_int,
19         num_put::_M_insert_int, num_put::_M_insert_float,
20         money_get::do_get(string_type&), money_get::do_put(string_type)):
21         Update callers. 
22         * config/locale/generic/numeric_members.cc
23         (numpunct<>::_M_initialize_numpunct): Assign the new member.    
24         * config/locale/gnu/numeric_members.cc
25         (numpunct<>::_M_initialize_numpunct): Likewise. 
26         * src/locale-inst.cc (__add_grouping): Tweak signature.
27         (__verify_grouping): Don't instantiate, not a template anymore.
28
29         * include/bits/locale_facets.h: Rename _M_truename_len ->
30         _M_truename_size, _M_falsename_len -> _M_falsename_size.
31         * include/bits/locale_facets.tcc: Likewise.
32         * config/locale/generic/numeric_members.cc: Likewise.
33         * config/locale/gnu/numeric_members.cc: Likewise.
34
35 2004-01-14  Stefan Olsson  <stefan@snon.net>
36
37         * include/ext/mt_allocator.h: Fixups.
38         * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
39         * testsuite/performance/allocator_thread.cc: Same.
40         
41 2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>
42
43         * testsuite/performance/ifstream_extract_float.cc: Add higher
44         precision tests.
45         * testsuite/performance/ofstream_insert_float.cc: Same.
46         
47 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
48
49         * src/locale-misc-inst.cc (__convert_from_v(long),
50         __convert_from_v(unsigned long), __convert_from_v(long long),
51         __convert_from_v(unsigned long long)): Remove, unused.
52
53 2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>
54
55         * testsuite/performance/ifstream_extract_float.cc: New.
56         * testsuite/performance/ofstream_insert_float.cc: Float generation
57         matches above.
58
59         * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
60         * 20_util/auto_ptr/1.cc: ...this.
61         * 20_util/auto_ptr/2.cc: Same.
62         * 20_util/auto_ptr/3.cc: Same.
63         * 20_util/auto_ptr/3946.cc: Same.
64         * 20_util/auto_ptr/4.cc: Same.
65         * 20_util/auto_ptr/5.cc: Same.
66         * 20_util/auto_ptr/6.cc: Same.
67         * 20_util/auto_ptr/7.cc: Same.
68         * 20_util/auto_ptr/assign_neg.cc
69         * 20_util/pairs.cc: Break into...
70         * 20_util/pair/1.cc: ...this.
71         * 20_util/pair/2.cc: Same.
72         * 20_util/pair/3.cc: Same.
73         * 20_util/pair/4.cc: Same.
74
75 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
76
77         * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
78         Set correctly just basefield, the only group that matters.
79
80 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
81
82         * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
83         (_Rope_rep_base): Inherit directly from the rope allocator;
84         use rebinding instead of _Alloc_traits; pick up data member
85         from _Rope_rep_alloc_base.
86         (_Rope_alloc_base): Eliminate.
87         (_Rope_base): Inherit directly from the rope allocator; use
88         rebinding instead of _Alloc_traits; pick up data member from
89         _Rope_alloc_base.
90         (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
91         rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
92
93 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
94
95         PR libstdc++/13650
96         * include/bits/basic_string.tcc (compare(size_type, size_type,
97         const _CharT*, size_type)): Implement correctly the resolution
98         of DR 5: basically, s is a char array, -not- a C string.
99         * include/bits/basic_string.h: Tweak some comments.
100         * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
101         * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
102
103 2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
104
105         * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
106         Solaris.
107
108 2004-01-12  Paolo Carlini  <pcarlini@suse.de>
109
110         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
111         Use try_mkfifo.
112         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
113         Likewise.
114
115 2004-01-12  Paolo Carlini  <pcarlini@suse.de>
116
117         * include/bits/locale_facets.h (struct __numpunct_cache):
118         Add members _M_truename_len and _M_falsename_len, caching
119         the lengths of _M_truename and _M_falsename.
120         (__numpunct_cache<>::_M_cache): Assign the latter.
121         * include/bits/locale_facets.tcc (num_get::do_get(bool&),
122         num_put::do_put(bool)): Use the new members, thus avoiding
123         computing string lengths again and again.
124         * config/locale/generic/numeric_members.cc
125         (numpunct<>::_M_initialize_numpunct): Assign the new members.
126         * config/locale/gnu/numeric_members.cc
127         (numpunct<>::_M_initialize_numpunct): Likewise.
128
129 2004-01-12  Mark Mitchell  <mark@codesourcery.com>
130
131         * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
132         * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
133         it.
134         * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
135         and remove Cygwin XFAIL.
136         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
137         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
138         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
139         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
140         Likewise.
141         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
142         * testsuite/27_io/objects/char/7.cc: Likewise.
143         * testsuite/27_io/objects/char/9661-1.cc: Likewise.
144         * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
145         * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
146
147 2004-01-11  Gabriel Dos Reis  <gdr@integrable-solutions.net>
148
149         * include/std/std_complex.h (std::complex<>::real): Return a
150         reference. Add non-const overload.
151         (std::complex<>::real): Likewise.
152         (std::real): Likewise.
153         (std::imag): Likewise.
154         (std::operator+): Tidy.
155         (std::operator-): Likewise.
156         (std::operator*): Likewise.
157         (std::operator/): Likewise.
158         (std::operator>>): Likewise.
159
160 2004-01-11  Paolo Carlini  <pcarlini@suse.de>
161
162         PR libstdc++/13582
163         * include/bits/fstream.tcc (imbue): Exploit the external
164         buffer to imbue 'on the fly' a new locale and convert its
165         remainder with the new codecvt facet.
166         (underflow): Tweak slightly to deal with this special case.
167         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
168         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
169         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
170         * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
171         * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
172         
173 2004-01-10  Paolo Carlini  <pcarlini@suse.de>
174
175         * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
176         Import Revision 28.
177
178 2004-01-10  Paolo Carlini  <pcarlini@suse.de>
179
180         PR libstdc++/13630
181         * include/bits/locale_classes.h (class locale): Fix category
182         typedef.
183         * testsuite/22_locale/locale/13630.cc: Add.
184
185 2004-01-10  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
186
187         * include/bits/locale_facets.h: Make a name really dependent. This
188         will be needed when Core Issue 224 is implemented.
189
190 2004-01-09  Paolo Carlini  <pcarlini@suse.de>
191
192         * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
193         * testsuite/performance/allocator_thread.cc: Likewise.
194
195 2004-01-07  Benjamin Kosnik  <bkoz@redhat.com>
196
197         * crossconfig.m4: Add LFS, io bits to linux cross config.
198         * acconfig.h: Remove obsolete bits, reorder.
199         * config.h.in: Regenerate.
200         * aclocal.m4: Same.
201         * configure: Same.
202         
203 2004-01-07  Gawain Bolton  <gp.bolton@computer.org>
204
205         * include/bits/stl_list.h:
206         * include/bits/list.tc:
207         * src/list.cc:
208         Performance enhancements for destructor, push_front(),
209         push_back(), pop_front(), pop_back(), sort()
210         Eliminated static_casts where possible.
211         Moved code out of header files into new src/list.cc
212         implementation file for library where possible.
213         Remove inheritance from iterator class and create separate
214         classes for non-constant and constant iterators.
215         * include/bits/stl_tree.h (_Rb_tree class):
216         * src/tree.cc: 
217         Only erase contents in destructor.
218         Eliminate unnecessary initialization in assignment operator.
219         Optimize for the nominal case by not checking whether
220         container is empty in clear().
221         Re-order test in _M_insert() to improve performance.
222         Move initialization of new node's left & right pointers to
223         src/tree.cc to where new node's colour is initialized
224         and to reduce the amount of inline code.
225         Use  _M_leftmost() and _M_end() to improve readability where
226         appropriate.
227         Create separate classes for non-constant and constant
228         iterators to clarify code, avoid extra template parameters and 
229         casting away constness.         
230         
231 2004-01-07  Benjamin Kosnik  <bkoz@redhat.com>
232
233         * src/Makefile.am (sources): Add list.cc, tree.cc.
234         * src/stl_tree.cc: Move to...
235         * src/tree.cc: ...here.
236         * src/list.cc: Add.
237         * config/linker-map.gnu: Tweaks.
238         * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
239         * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
240
241         * bits/stl_vector.h: Column wrap comments.
242         
243 2004-01-07  Loren J. Rittle  <ljrittle@acm.org>
244
245         (re-open) PR libstdc++/12658
246         * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
247         (locale::global): Likewise.
248
249 2004-01-07  Paolo Carlini  <pcarlini@suse.de>
250
251         * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
252         Remove redundant #include.
253         * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
254         * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
255         re-enable normal testing.
256         * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
257         #include.
258         * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
259         * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
260         Likewise.
261         * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
262         Likewise.
263         * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
264         Likewise.
265         * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
266         Likewise.
267         * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
268         Likewise.
269         * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
270         Likewise.
271         * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
272         Likewise.
273         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
274         More properly, #include <locale>.
275         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
276         Remove redundant #include.
277         * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
278         * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
279         redundant DejaGnu directive.
280         * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
281         redundant #include.
282
283 2004-01-06  Benjamin Kosnik  <bkoz@redhat.com>
284             Stefan Olsson  <stefan@snon.net>
285
286         * scripts/check_performance: Use -pthread.
287         * testsuite/performance/allocator.cc: Tweaks, add list.
288         * testsuite/performance/allocator_thread.cc: New.
289
290 2004-01-06  Jerry Quinn  <jlquinn@optonline.net>
291
292         * include/bits/locale_facets.h: Document public classes and
293         functions.
294         * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
295         Add comment.
296
297 2004-01-06  Paolo Carlini  <pcarlini@suse.de>
298
299         * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
300         Remove redundant #includes.
301         * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
302         Likewise.
303         * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
304         Likewise.
305         * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
306         * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
307         * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
308         * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
309         * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
310         * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
311         * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
312         * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
313         * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
314         * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
315         * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
316         * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
317         * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
318         * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
319         * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
320         Likewise.
321         * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
322         Likewise.
323         * testsuite/27_io/basic_istream/readsome/char/8258.cc:
324         Likewise.
325         * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
326         Likewise.
327         * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
328         Likewise.
329         * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
330         * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
331         * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
332
333 2004-01-04  Paolo Carlini  <pcarlini@suse.de>
334
335         * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
336         Remove redundant #includes.
337         * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
338         Likewise.
339         * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
340         Likewise.
341         * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
342         Likewise.
343         * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
344         Likewise.
345         * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
346         Likewise.
347         * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
348         Likewise.
349         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
350         Likewise.
351         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
352         Likewise.
353         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
354         Likewise.
355         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
356         Likewise.
357         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
358         Likewise.
359         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
360         Likewise.
361
362 2004-01-04  Mark Mitchell  <mark@codesourcery.com>
363
364         PR c++/12226
365         * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
366         constructor.
367         * testsuite/27_io/basic_fstream/4.cc: Likewise.
368         * testsuite/27_io/basic_ifstream/4.cc: Likewise.
369         * testsuite/27_io/basic_ios/4.cc: Likewise.
370         * testsuite/27_io/basic_iostream/4.cc: Likewise.
371         * testsuite/27_io/basic_istream/4.cc: Likewise.
372         * testsuite/27_io/basic_istingstream/4.cc: Likewise.
373         * testsuite/27_io/basic_ofstream/4.cc: Likewise.
374         * testsuite/27_io/basic_ostream/4.cc: Likewise.
375         * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
376         * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
377         * testsuite/27_io/basic_stringstream/4.cc: Likewise.
378
379 2004-01-04  Paolo Carlini  <pcarlini@suse.de>
380
381         * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
382         Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
383         always use double underscored names.
384         * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
385         Likewise.
386         * include/bits/locale_facets.h (struct __numpunct_cache):
387         Dimension _M_atoms_out and _M_atoms_in one position smaller.
388         (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out
389         and _M_atoms_in.
390
391 2003-12-31  Paolo Carlini  <pcarlini@suse.de>
392
393         * include/bits/locale_facets.tcc (num_get::_M_extract_int,
394         num_get::_M_extract_float): According to 22.2.2.1.2, p8-9,
395         _first_ look for thousands_sep, then for decimal_point and
396         finally for digits.
397         (num_get::_M_extract_float): After the decimal_point or
398         'e'/'E', decimal_point and thousands_sep just break out the
399         parsing loop.
400         * testsuite/22_locale/num_get/get/char/11.cc: Add tests.
401         * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
402
403 2003-12-30  Paolo Carlini  <pcarlini@suse.de>
404
405         PR libstdc++/13369
406         * include/bits/locale_facets.tcc (__verify_grouping):
407         Fix to deal properly with __grouping_tmp.size() >
408         __grouping.size().
409         * testsuite/22_locale/num_get/get/char/13.cc: New.
410         * testsuite/22_locale/num_get/get/wchar_t/13.cc: Ditto.
411         
412 2003-12-29  Jerry Quinn  <jlquinn@optonline.net>
413
414         * include/bits/locale_facets.h (ctype.narrow,widen): Add cast.
415
416 2003-12-29  Paolo Carlini  <pcarlini@suse.de>
417
418         * acinclude.m4 (GLIBCXX_CHECK_LFS): Add -fno-exceptions
419         to CXXFLAGS.
420         * aclocal.m4: Regenerate.
421         * configure: Likewise.
422
423 2003-12-29  Mark Mitchell  <mark@codesourcery.com>
424
425         * acconfig.h: Add _GLIBCXX_USE_C99_MATH.
426         * acinclude.m4 (GLIBCXX_ENABLE_C99): Define GLIBCXX_USE_C99_MATH.
427         * configure.ac: Define HAVE_S_ISREG and HAVE_S_IFREG when
428         targeting newlib.
429         * aclocal.m4: Regenerated.
430         * config.h.in: Likewise.
431         * configure: Likewise.
432         * Makefile.in: Likewise.
433         * include/Makefile.in: Likewise.
434         * libmath/Makefile.in: Likewise.
435         * libsupc++/Makefile.in: Likewise.
436         * testsuite/Makefile.in: Likewise.
437         * src/Makefile.in: Likewise.
438         * po/Makefile.in: Likewise.
439         * include/c_std/std_cmath.h (_GLIBCXX_USE_C99): Replace with ...
440         (_GLIBCXX_USE_C99_MATH): ... this.
441
442         * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: XFAIL for
443         arm-none-elf.
444         * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise.
445         * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise.
446         * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise.
447         * testsuite/27_io/basic_istream/readsome/char/6476-2.cc: Likewise.
448         * testsuite/27_io/objects/char/9.cc: Likewise.
449         * testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise.
450
451 2003-12-28  Paolo Carlini  <pcarlini@suse.de>
452
453         * include/ext/pool_allocator.h (class __pool_alloc): Use
454         operator new and operator delete.
455
456 2003-12-24  Andrew Pinski  <pinskia@physics.uc.edu>
457
458         * config/cpu/i386/atomicity.h (__exchange_and_add): Fix output 
459         constraint.
460
461         PR libstdc++/13480
462         * config/cpu/i386/atomicity.h: Split up read-write memory operand.
463
464 2003-12-23  Benjamin Kosnik  <bkoz@redhat.com>
465
466         * include/ext/new_allocator.h (new_allocator): Proper allocator class.
467         (__new_alloc): Delete.
468         * include/ext/malloc_allocator.h (malloc_allocator): Same.
469         (__malloc_alloc): Delete.
470         * include/ext/mt_allocator.h: Same, but weakly.
471         * include/ext/debug_allocator.h: Convert to the new style.
472         * include/ext/pool_allocator.h: Use global new and delete directly.
473         * include/backward/alloc.h: Don't inject malloc_allocator, or
474         debug_allocator.        
475         * testsuite/ext/allocators.cc: Minimal fixups for usage of new
476         classes.  Comment out tests with __pool_alloc for now.
477         * testsuite/performance/allocator.cc: Same.
478
479 2003-12-22  Matt Austern  <austern@apple.com>
480
481         * include/bits/stl_bvector.h (_Bvector_alloc_base): Eliminate.
482         (_Bvector_base): Inherit directly from word allocator.
483         * include/bits/stl_tree.h (_Rb_tree_alloc_base): Eliminate.
484         (_Rb_tree_base): Eliminate.
485         (_Rb_tree): Inherit directly from node allocator.
486         * include/ext/slist (_Alist_alloc_base): Eliminate.
487         (_Slist_base): Inherit direcly from node allocator.
488         
489 2003-12-22  Benjamin Kosnik  <bkoz@redhat.com>
490
491         * testsuite/18_support/numeric_limits.cc: Add _GLIBCXX_ASSERT to
492         dg-options in testcases that use VERIFY.        
493         * testsuite/23_containers/vector/invalidation/1.cc: Same.
494         * testsuite/23_containers/vector/invalidation/2.cc: Same.
495         * testsuite/23_containers/vector/invalidation/3.cc: Same.
496         * testsuite/23_containers/vector/invalidation/4.cc: Same.
497         * testsuite/23_containers/vector/resize/1.cc: Same.
498         * testsuite/26_numerics/complex_value.cc: Same.
499         * testsuite/27_io/ios_base/storage/1.cc: Same.
500         * testsuite/27_io/ios_base/storage/2.cc: Same.
501         * testsuite/27_io/ios_base/storage/3.cc: Same.
502         * testsuite/27_io/manipulators/standard/char/2.cc: Same.
503         * testsuite/backward/11460.cc: Same.
504         * testsuite/backward/strstream_members.cc: Same.
505
506         * include/ext/hash_set (class hash_multiset): Fix typo.
507
508 2003-12-22  Benjamin Kosnik  <bkoz@redhat.com>  
509
510         * testsuite/27_io/objects/char/5.cc: Don't use stdc++.h.gch.
511         * testsuite/27_io/objects/wchar_t/5.cc: Same.
512         * docs/html/test.html: Add docs for constructing test files that
513         don't use stdc++.h.gch.
514         * scripts/testsuite_flags.in (PCHFLAGS): Move to --cxxpchflags. 
515         * testsuite/libstdc++-dg/normal.exp: Compute DEFAULT_CXXFLAGS
516         differently.
517
518         * include/bits/ios_base.h (ios_base::Init::_S_initialized): Remove.
519         * src/ios_init.cc: Same.
520         * config/linker-map.gnu: Same.
521         * testsuite/27_io/ios_base/cons/copy_neg.cc: Adjust line numbers.
522         * testsuite/27_io/ios_base/cons/assign_neg.cc: Same.
523                 
524 2003-12-22  Andrew Pinski  <pinskia@physics.uc.edu>
525
526         PR libstdc++/13462
527         * include/bits/stl_multiset.h (__gnu_norm::multiset): Define pointer
528         as allocator's pointer, likewise for reference, const_pointer, and
529         const_reference.
530         * include/bits/stl_set.h (__gnu_norm::set): Likewise.
531         * include/ext/hash_set (__gnu_ext::hash_set): Likewise.
532         (__gnu_ext::hash_multiset): Likewise.
533
534 2003-12-22  Paolo Carlini  <pcarlini@suse.de>
535
536         * include/bits/locale_facets.tcc (num_get::_M_extract_int,
537         num_get::_M_extract_float): According to 22.2.2.1.2, p8-9,
538         first look for decimal_point and thousands_sep, when parsing
539         sign, leading zeros (and 0, Ox, 0X for integer types) too.
540         * testsuite/22_locale/num_get/get/char/12.cc: New.
541         * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
542
543         * testsuite/22_locale/num_get/get/char/11.cc: Add a comment.
544         * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
545         
546 2003-12-20  Jason Merrill  <jason@redhat.com>
547
548         * config/cpu/powerpc/atomicity.h: Fix oversight in previous
549         change.
550
551 2003-12-20  Jerry Quinn  <jlquinn@optonline.net>
552
553         * docs/doxygen/TODO: Update.
554         * include/bits/locale_classes.h (locale, facet, id): Document.
555         * include/bits/locale_facets.tcc (has_facet, use_facet): Document.
556
557 2003-12-19  Jason Merrill  <jason@redhat.com>
558
559         * config/cpu/cris/atomicity.h: Remove memory clobbers.
560         * config/cpu/mips/atomicity.h: Likewise.
561         * config/cpu/i486/atomicity.h: Remove memory clobbers.
562         Split up read-write memory operand.
563         * config/cpu/m68k/atomicity.h: Likewise.
564         * config/cpu/powerpc/atomicity.h: Make memory I/O explicit.
565         * config/cpu/s390/atomicity.h: Likewise.
566         * config/cpu/sparc/atomicity.h: Likewise.
567
568 2003-12-20  Carlo Wood  <carlo@alinoe.com>
569
570         * bits/demangle.h
571         namespace __gnu_cxx::demangler
572         (session<Allocator>::decode_encoding): Put the postfix
573         of the return type of (member) functions after the function
574         instead of after the return type.
575
576 2003-12-19  Jerry Quinn  <jlquinn@optonline.net>
577
578         * include/bits/locale_facet.h
579         (__ctype_abstract_base,ctype<charT>,ctype<char>,ctype<wchar_t>):
580         Document.
581
582 2003-12-19  Paolo Carlini  <pcarlini@suse.de>
583
584         * include/bits/locale_facets.tcc (num_get::_M_extract_int,
585         num_get::_M_extract_float): According to 22.2.2.1.2, p8-9,
586         first look for decimal_point and thousands_sep.
587         * testsuite/22_locale/num_get/get/char/11.cc: New.
588         * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
589
590 2003-12-19  Paolo Carlini  <pcarlini@suse.de>
591
592         * include/bits/locale_facets.tcc (num_get::_M_extract_float):
593         When __found_sci becomes true stop eating thousands separators
594         and the decimal radix separator.
595         * testsuite/22_locale/num_get/get/char/9.cc: New.
596         * testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.       
597         
598         * config/locale/generic/c_locale.cc (__convert_to_v): Don't
599         check that *__sanity == '\0': parsing may stop earlier, still
600         be successful.
601         * config/locale/gnu/c_locale.cc: Likewise.
602         * testsuite/22_locale/num_get/get/char/10.cc: New.
603         * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
604         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
605         Tweak in one place accordingly.
606
607         * testsuite/22_locale/money_get/get/char/1.cc: Fix typo.
608         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
609
610 2003-12-18  Benjamin Kosnik  <bkoz@redhat.com>
611
612         * include/bits/stl_list.h: Formatting tweaks.
613         * include/bits/list.tcc: Same.
614
615 2003-12-18  Matt Austern  <austern@apple.com>
616
617         * include/bits/demangle.h: Fix allocator type correctness,
618         i.e. make sure that when we instantiate a container with a value
619         type and an allocator, the allocator's value type matches the
620         container's.
621         * include/bits/stl_deque.h (_Deque_alloc_base): Eliminate.
622         (_Deque_base): inherit directly from the deque's allocator.  Use
623         rebinding instead of _Alloc_traits.  Pick up data members from 
624         _Deque_alloc_base.
625         * include/bits/stl_list.h (_List_alloc_base): Eliminate.
626         (_List_base): Inherit directly from the list's allocator.  Use
627         rebinding instead of _Alloc_traits.  Pick up data members from 
628         _List_alloc_base.
629         * include/bits/stl_vector.h (_Vector_alloc_base): Eliminate
630         (_Vector_base): Inherit directly from the vector's allocator.  Use
631         rebinding instead of _Alloc_traits.  Pick up data members from 
632         _Vector_alloc_base.
633         * include/ext/hashtable.h: Fix allocator type correctness (the
634         vector of buckets must be passed an allocator for objects of
635         type _Node*).  Use rebinding instead of _Alloc_traits.
636         
637 2003-12-17  Paolo Carlini  <pcarlini@suse.de>
638
639         * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
640         Use narrow to get from __format[__i] a char __c representing a
641         formatting code, don't use it to compare *__beg to __format[__i].
642         * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: New.
643
644 2003-12-17  Paolo Carlini  <pcarlini@suse.de>
645
646         * testsuite/performance/container_benchmark.cc: Tweak outputs.
647
648         * testsuite/performance/list_create_fill_sort.cc: Shrink a
649         bit some outputs.
650
651         * testsuite/testsuite_performance.h: Widen a few output fields.
652
653         * testsuite/performance/ifstream_extract_int.cc: New.
654
655 2003-12-16  Phil Edwards  <phil@codesourcery.com>
656
657         * configure.ac (AM_INIT_AUTOMAKE):  Don't warn about GNU Make.
658         * configure:  Regenerated.
659         * Makefile.am (check-%):  New catch-all forwarding target.
660         * Makefile.in:  Regenerated.
661
662 2003-12-16  Paolo Carlini  <pcarlini@suse.de>
663
664         * testsuite/performance/container_benchmark.cc: New, a
665         benchmark developed by Bjarne Stroustrup and Alexander
666         Stepanov and made available with no restrictions.
667
668         * testsuite/testsuite_performance.h (report_header): New,
669         useful to produce header lines in the reports.
670
671 2003-12-16  Jonathan Wakely  <redi@gcc.gnu.org>
672
673         * docs/html/21_strings/howto.html: Document shrink-to-fit reserve().
674         * docs/html/faq/index.html: Reducing vector's capacity() to size().
675         * docs/html/documentation.html, docs/html/faq/index.txt: Regenerate.
676
677 2003-12-16  Paolo Carlini  <pcarlini@suse.de>
678
679         * testsuite/performance/narrow_widen_char.cc: Tweak the
680         number of iterations for each test.
681         * testsuite/performance/narrow_widen_wchar_t.cc: Add a
682         missing clear_counters.
683
684 2003-12-16  Paolo Carlini  <pcarlini@suse.de>
685
686         PR libstdc++/11723
687         * include/bits/locale_facets.h: Add _M_bit and _M_wmask,
688         used to speed up the computation of ctype::do_is.
689         * config/locale/generic/ctype_members.cc
690         (_M_initialize_ctype): Fill _M_bit and _M_wmask.
691         (ctype::do_is): Use _M_bit and _M_wmask.
692         * config/locale/gnu/ctype_members.cc: Likewise.
693         * testsuite/performance/is_wchar_t.cc: New.
694
695         * testsuite/performance/narrow_widen_wchar_t.cc: Tweak
696         string literal (incorrect citation ;)
697
698         * include/bits/locale_facets.h: Minor tweaks, const
699         correctness, unsigned -> size_t.
700
701 2003-12-16  Jerry Quinn  <jlquinn@optonline.net>
702
703         * include/bits/locale_facets.h (widen, narrow):  Uncomment the
704         intended code.
705
706 2003-12-15  Jerry Quinn  <jlquinn@optonline.net>
707
708         * config/os/aix/ctype_noninline.h,
709         config/os/bsd/freebsd/ctype_noninline.h,
710         config/os/bsd/netbsd/ctype_noninline.h,
711         config/os/djgpp/ctype_noninline.h,
712         config/os/generic/ctype_noninline.h,
713         config/os/gnu-linux/ctype_noninline.h,
714         config/os/hpux/ctype_noninline.h,
715         config/os/irix/irix5.2/ctype_noninline.h,
716         config/os/irix/irix6.5/ctype_noninline.h,
717         config/os/mingw32/ctype_noninline.h,
718         config/os/newlib/ctype_noninline.h,
719         config/os/qnx/qnx6.1/ctype_noninline.h,
720         config/os/solaris/solaris2.5/ctype_noninline.h,
721         config/os/solaris/solaris2.6/ctype_noninline.h,
722         config/os/solaris/solaris2.7/ctype_noninline.h,
723         config/os/vxworks/ctype_noninline.h,
724         config/os/windiss/ctype_noninline.h (ctype):  Initialize
725         _M_narrow, _M_widen.
726         * include/bits/locale_facets.h (_M_widen, _M_widen_ok,
727         _M_narrow, _M_narrow_ok): New.
728         (widen, narrow): Use tables to bypass virtual functions.
729         (_M_widen_init, _M_narrow_init): New.
730
731 2003-12-15  Carlo Wood  <carlo@alinoe.com>
732
733         * include/bits/ios_base.h (Init::_S_initialized): Change into
734         declaration.
735         * src/ios_init.cc (Init::_S_initialized): Add definition.
736
737 2003-12-15  Benjamin Kosnik  <bkoz@redhat.com>
738
739         PR libstdc++/12658
740         * include/Makefile.am (bits_headers): Add concurrence.h.
741         * include/Makefile.in: Regenerated.
742         * include/bits/concurrence.h: New.
743         * src/locale_init.cc: Use it.
744         (locale::locale): Lock critical regions.
745         (locale::global): Same.
746         
747 2003-12-15  Benjamin Kosnik  <bkoz@redhat.com>
748
749         * include/bits/basic_string.h: Change _*_references to _*_refcount.
750         * include/bits/locale_classes.h: Same.
751         * src/locale.cc: Same.
752         * src/locale_name.cc: Same.     
753         * src/locale_init.cc: Same.     
754         
755 2003-12-15  Benjamin Kosnik  <bkoz@redhat.com>
756
757         PR libstdc++/12855      
758         * include/bits/ios_base.h (Init::_S_ios_base_init): Change to
759         _S_refcount, make atomic.
760         * src/ios.cc: Adjust definition.        
761         * src/ios_init.cc (ios_base::Init::Init): Use __exchange_and_add,
762         and __atomic_add.
763         (ios_base::Init::~Init): Same.
764         * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
765         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
766         
767 2003-12-15  Paolo Carlini  <pcarlini@suse.de>
768
769         * include/bits/locale_facets.tcc (num_get::do_get(bool&)):
770         Fail as soon as the begins of both truename and falsename
771         stop to match; always leave __beg one position beyond the
772         last char successfully matched.
773         * testsuite/22_locale/num_get/get/char/8.cc: New.
774         * testsuite/22_locale/num_get/get/wchar_t/8.cc: Likewise.
775
776 2003-12-15  Paolo Carlini  <pcarlini@suse.de>
777
778         * include/bits/locale_facets.h (_M_widen): Reserve space
779         for all the possible widened chars.     
780         * config/locale/generic/ctype_members.cc (_M_initialize_ctype):
781         Compute at construction time all the possible widened chars.
782         (do_widen): Tweak, simplify.
783         * config/locale/gnu/ctype_members.cc: Likewise.
784         * testsuite/performance/narrow_widen_wchar_t.cc: Add tests
785         for the array versions.
786
787 2003-12-12  Paolo Carlini  <pcarlini@suse.de>
788             Benjamin Kosnik  <bkoz@redhat.com>
789
790         PR libstdc++/13341
791         * include/bits/locale_facets.h (ctype<wchar_t>): Declare
792         _M_initialize_ctype() and _M_narrow_ok, _M_narrow and _M_widen.
793         * src/ctype.cc (ctype<wchar_t>::ctype(size_t),
794         ctype<wchar_t>::ctype(__c_locale, size_t)): Use
795         _M_initialize_ctype to fill _M_narrow and _M_widen.
796         (ctype_byname<wchar_t>::ctype_byname(const char*, size_t)):
797         Likewise.
798         * config/locale/generic/ctype_members.cc (do_narrow, do_widen)
799         Use _M_narrow and _M_widen when possible, instead of calling
800         wctob and btowc, respectively.
801         (_M_initialize_ctype): Define, it fills at construction time
802         _M_narrow and _M_widen.
803         * config/locale/gnu/ctype_members.cc: Likewise.
804         * testsuite/performance/narrow_widen_wchar_t.cc: New.
805
806 2003-12-12  Jonathan Wakely  <redi@gcc.gnu.org>
807
808         * docs/html/faq/index.txt: Regenerate after adding <link> tags.
809
810 2003-12-11  Neil Ferguson  <nferguso@eso.org>
811             Paolo Carlini  <pcarlini@suse.de>
812
813         * include/bits/basic_string.tcc (reserve): Allow shrink-to-fit.
814         * testsuite/21_strings/basic_string/capacity/1.cc: Tweak.
815         * testsuite/21_strings/basic_string/capacity/char/1.cc: Ditto.
816         * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Ditto.
817
818 2003-12-10  Benjamin Kosnik  <bkoz@redhat.com>
819
820         PR libstdc++/6243
821         * testsuite/lib/libstdc++.exp (v3-init): Add
822         original_ld_library_path, calculate ld_library path, set
823         LD_LIBRARY_PATH to both. Based on libjava.exp.
824         
825 2003-12-10  Benjamin Kosnik  <bkoz@redhat.com>
826             Alexandre Oliva  <aoliva@redhat.com>
827         
828         PR libstdc++/11612
829         * testsuite/Makefile.am (GLIBCXX_DIR): New.
830         (GLIBGCC_DIR): New.
831         (CXXLINK): Use both with -R so libtool links the correct libs.
832
833 2003-12-10  Paolo Carlini  <pcarlini@suse.de>
834
835         PR libstdc++/13217
836         * include/bits/fstream.tcc (underflow): Deal gracefully with
837         read errors: throw ios_base::failure.
838
839 2003-12-10  Benjamin Kosnik  <bkoz@redhat.com>
840
841         PR libstdc++/10063
842         * config/io/basic_file_stdio.cc (__basic_file::sys_open): Sync.
843         * testsuite/ext/stdio_filebuf/char/10063-1.cc: New.
844         * testsuite/ext/stdio_filebuf/char/10063-2.cc: New.
845         
846 2003-12-10  Paolo Carlini  <pcarlini@suse.de>
847
848         * include/bits/locale_facets.tcc (num_put::do_put(void*)):
849         Remove the try/catch, not necessary.
850
851 2003-12-10  Paolo Carlini  <pcarlini@suse.de>
852
853         * testsuite/22_locale/locale/cons/12438.cc: Tweak memory
854         limit and iterations to avoid spurious failures on some
855         64 bit machines.
856
857 2003-12-09  Benjamin Kosnik  <bkoz@redhat.com>
858         
859         * config/linker-map.gnu: Remove private ios_base members from
860         export list.
861
862         * config/cpu/alpha/atomicity.h: Consistently format.
863         * config/cpu/cris/atomicity.h: Same.
864         * config/cpu/generic/atomicity.h: Same.
865         * config/cpu/hppa/atomicity.h: Same.
866         * config/cpu/i386/atomicity.h: Same.
867         * config/cpu/i486/atomicity.h: Same.
868         * config/cpu/ia64/atomicity.h: Same.
869         * config/cpu/m68k/atomicity.h: Same.
870         * config/cpu/mips/atomicity.h: Same.
871         * config/cpu/powerpc/atomicity.h: Same.
872         * config/cpu/s390/atomicity.h: Same.
873         * config/cpu/sparc/atomicity.h: Same.
874         
875 2003-12-09  Benjamin Kosnik  <bkoz@redhat.com>
876
877         PR libstdc++/13296
878         * acinclude.m4 (GLIBCXX_ENABLE_LIBUNWIND_EXCEPTIONS): Remove.
879         * aclocal.m4: Regenerate.
880         * configure.ac: Remove call to GLIBCXX_ENABLE_LIBUNWIND_EXCEPTIONS.
881         * conigure: Regenerate.
882         * src/Makefile.am (libstdc___la_LDFLAGS): Remove LIBUNWIND_FLAGS.
883         * src/Makefile.in: Regenerate.
884         * docs/html/17_intro/configury.html: Modify.
885         
886 2003-12-09  Paolo Carlini  <pcaelini@suse.de>
887         
888         * include/bits/demangle.h (struct implementation_details):
889         Keep in comments the names of the unused parameters.
890
891 2003-12-09  Paolo Carlini  <pcaelini@suse.de>
892
893         * include/bits/demangle.h (struct implementation_details):
894         Fix unused parameters warning.
895
896 2003-12-09  Paolo Carlini  <pcarlini@suse.de>
897
898         * include/bits/locale_facets.tcc (num_get::_M_extract_int):
899         Slightly streamline the code dealing with overflows and the
900         parsing of the sign.
901
902 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
903
904         * include/ext/algorithm, include/ext/debug_allocator.h,
905         include/ext/enc_filebuf.h, include/ext/functional,
906         include/ext/hash_fun.h, include/ext/hash_map, include/ext/hash_set,
907         include/ext/hashtable.h, include/ext/iterator,
908         include/ext/malloc_allocator.h, include/ext/memory,
909         include/ext/mt_allocator.h, include/ext/numeric,
910         include/ext/pod_char_traits.h, include/ext/pool_allocator.h,
911         include/ext/rb_tree, include/ext/rope, include/ext/ropeimpl.h,
912         include/ext/slist, include/ext/stdio_filebuf.h,
913         include/ext/stdio_sync_filebuf.h: Remove trailing whitespace.
914
915 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
916
917         * include/debug/bitset, include/debug/debug.h, include/debug/deque,
918         include/debug/formatter.h, include/debug/hash_map.h,
919         include/debug/hash_multimap.h, include/debug/hash_multiset.h,
920         include/debug/hash_set, include/debug/hash_set.h, include/debug/list,
921         include/debug/map.h, include/debug/multimap.h,
922         include/debug/multiset.h, include/debug/safe_base.h,
923         include/debug/safe_iterator.h, include/debug/safe_iterator.tcc,
924         include/debug/safe_sequence.h, include/debug/set.h,
925         include/debug/string, include/debug/vector: Remove trailing whitespace.
926
927 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
928
929         * include/c_compatibility/iso646.h, include/c_compatibility/limits.h,
930         include/c_compatibility/locale.h, include/c_compatibility/stdio.h,
931         include/c_compatibility/string.h, include/c_compatibility/time.h,
932         include/c_compatibility/wchar.h, include/c_compatibility/wctype.h:
933         Remove trailing whitespace.
934
935 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
936
937         * include/c_std/cmath.tcc, include/c_std/std_cassert.h,
938         include/c_std/std_cctype.h, include/c_std/std_cmath.h,
939         include/c_std/std_cstddef.h, include/c_std/std_cstdio.h,
940         include/c_std/std_cstdlib.h, include/c_std/std_cstring.h,
941         include/c_std/std_cwchar.h, include/c_std/std_cwctype.h:
942         Remove trailing whitespace.
943
944 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
945
946         * include/c/std_cctype.h, include/c/std_cmath.h,
947         include/c/std_cstdlib.h include/c/std_cwchar.h,
948         include/c/std_cwctype.h: Remove trailing whitespace.
949
950 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
951
952         * include/backward/algo.h, include/backward/algobase.h,
953         include/backward/alloc.h, include/backward/complex.h,
954         include/backward/defalloc.h, include/backward/function.h,
955         include/backward/iterator.h, include/backward/new.h,
956         include/backward/ostream.h, include/backward/queue.h,
957         include/backward/rope.h, include/backward/stream.h,
958         include/backward/streambuf.h, include/backward/strstream,
959         include/backward/tempbuf.h, include/backward/tree.h,
960         include/backward/vector.h: Remove trailing whitespace.
961
962 2003-12-08  Paolo Carlini  <pcarlini@suse.de>
963
964         * config/locale/generic/c_locale.cc (__convert_to_v(long&),
965         __convert_to_v(unsigned long&), __convert_to_v(long long&),
966         __convert_to_v(unsigned long long&): Remove.
967         (__convert_to_v(float&), __convert_to_v(double&),
968         __convert_to_v(long double&)): Remove last unused parameter.
969         * config/locale/gnu/c_locale.cc: Likewise.
970         * include/bits/locale_facets.h: Likewise.
971         (num_get::_M_extract_int): Update declaration.
972         (class __num_base): Tweak _S_ie and _S_iE according to the
973         _S_atoms_in changes.
974         * include/bits/locale_facets.tcc (num_get::_M_extract_int):
975         Provide directly the final _ValueT, not a string: accumulate
976         the result checking for overflow at each digit.
977         (num_get::do_get(bool&), num_get::do_get(long&),
978         num_get::do_get(unsigned short&), num_get::do_get(unsigned int&),
979         num_get::do_get(unsigned long&), num_get::do_get(long long&),
980         num_get::do_get(unsigned long long&), num_get::do_get(void*&)):
981         Use the new _M_extract_int, simplify.
982         * src/locale-inst.cc (num_get::_M_extract_int(long&),
983         num_get::_M_extract_int(unsigned short&),
984         num_get::_M_extract_int(unsigned int&),
985         num_get::_M_extract_int(unsigned long&),
986         num_get::_M_extract_int(long long&),
987         num_get::_M_extract_int(unsigned long long&): Instantiate.
988         * src/locale_facets.cc (__num_base::_S_atoms_in): Reorder
989         the chars in the natural order: abcdefABCDEF.
990
991 2003-12-08  David S. Miller  <davem@redhat.com>
992
993         PR libstdc++/12496
994         * config/cpu/sparc/atomicity.h (__exchange_and_add, __atomic_add):
995         Extend increment to _Atomic_word before giving to assembler.
996
997 2003-12-06  Benjamin Kosnik  <bkoz@redhat.com>
998
999         * testsuite/ext/enc_filebuf/char/13189.cc: Guard for __enc_traits.
1000         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
1001         
1002 2003-12-06  Benjamin Kosnik  <bkoz@redhat.com>
1003
1004         PR libstdc++/11691 
1005         * include/ext/stdio_filebuf.h (stdio_filebuf::stdio_filebuf):
1006         Remove __del argument to file descriptor constructor.
1007         * config/io/basic_file_stdio.h (__basic_file::sys_open): Remove
1008         bool argument.
1009         * config/io/basic_file_stdio.cc: Same.
1010
1011 2003-12-05  Benjamin Kosnik  <bkoz@redhat.com>
1012
1013         PR libstdc++/13189
1014         * include/ext/enc_filebuf.h: Fix.
1015         * include/bits/fstream.tcc: Tweak formatting.
1016         * include/bits/postypes.h: Same.
1017         * include/bits/sstream.tcc: Same.
1018         * include/bits/streambuf.tcc: Same.
1019         * testsuite/ext/stdio_filebuf.cc: Split.
1020         * testsuite/ext/stdio_filebuf_2.cc: Split.
1021         * testsuite/ext/stdio_sync_filebuf_char.cc: Split.
1022         * testsuite/ext/stdio_sync_filebuf_wchar_t.cc: Split.
1023         * testsuite/ext/enc_filebuf/char/13189.cc: New.
1024         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: New.
1025         * testsuite/ext/stdio_filebuf/char/1.cc: New.
1026         * testsuite/ext/stdio_filebuf/char/2.cc: New.
1027         * testsuite/ext/stdio_sync_filebuf/char/1.cc: New.
1028         * testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: New.
1029         * testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: New.
1030         * testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: New.
1031         * testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: New.
1032         * testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: New.
1033         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: New.
1034         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: New.
1035         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: New.
1036         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: New.
1037
1038 2003-12-05  Carlo Wood  <carlo@alinoe.com>
1039
1040         PR libstdc++/13045
1041         * bits/demangle.h
1042         namespace __gnu_cxx::demangler
1043         (enum substitution_nt): Removed trailing comma.
1044         (implementation_details): Added.
1045         (session<Allocator>::M_implementation_details): Added.
1046         (session<Allocator>::session): Pass implementation_details.
1047         (session<Allocator>::decode_encoding): Same.
1048         (session<Allocator>::decode_real): Added.
1049         (_GLIBCXX_DEMANGLER_STYLE_VOID _GLIBCXX_DEMANGLER_STYLE_LITERAL
1050         _GLIBCXX_DEMANGLER_STYLE_LITERAL_INT
1051         _GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS
1052         _GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME): Replaced with
1053         implementation_details equivalent.
1054         (session<Allocator>::decode_expression):
1055         Use M_implementation_details instead of macros. Add extra parentheses
1056         around 'larger than' operator in expressions in template arguments.
1057         (session<Allocator>::decode_bare_function_type): Idem.
1058         (session<Allocator>::decode_literal):
1059         Idem, and call decode_real for floating literals.
1060         (session<Allocator>::decode_type_with_postfix): Put the postfix
1061         of the return type of (member) functions after the function
1062         instead of after the return type.  Also, put a space after the
1063         prefix of qualified function pointers: "int (* const<space>".
1064         * src/demangle.cc: include most dependent header file first.
1065         * testsuite/demangle/regression/cw-16.cc: Updated two
1066         and added three tests.
1067
1068 2003-12-04  Benjamin Kosnik  <bkoz@redhat.com>
1069
1070         PR libstdc++/13284
1071         * include/bits/stl_algo.h (__random_number): Remove.
1072         (random_shuffle): Use rand, as permitted by DR 395.
1073         * include/ext/algorithm: Same.
1074         * linkage.m4 (GLIBCXX_CHECK_STDLIB_SUPPORT): Remove lrand48.
1075         * acconfig.h: Same.
1076         * crossconfig.m4: Remove HAVE_DRAND48, HAVE_LRAND48.
1077         * config.h.in: Regenerated.
1078         * configure: Same.
1079         * aclocal.m4: Same.
1080         
1081 2003-12-04  Paolo Carlini  <pcarlini@suse.de>
1082
1083         PR libstdc++/12653
1084         * include/std/std_bitset.h (operator>>): Implement resolution
1085         of DR 303 [WP]: use widen('0') and widen('1').
1086         * docs/html/ext/howto.html: Add an entry for DR 303.
1087
1088         * include/std/std_bitset.h (operator>>): Implement the common
1089         requirements of formatted input functions (27.6.1.2.1).
1090
1091         * include/std/std_bitset.h (operator>>): Set the failbit when
1092         nothing was extracted and _Nb != 0.
1093         * testsuite/23_containers/bitset/input/1.cc: New.
1094
1095 2003-12-03  Paolo Carlini  <pcarlini@suse.de>
1096
1097         PR libstdc++/12791
1098         * include/bits/locale_facets.tcc (time_get::_M_extract_num):
1099         Rewrite, stop the parsing as soon as a digit cannot possibly
1100         lead to a final number within the bounds; otherwise, simplify,
1101         avoiding __ctype.is() and atoi().
1102         * testsuite/22_locale/time_get/get_date/char/12791.cc: New.
1103         * testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: New.
1104
1105         * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
1106         Minor tweak: a 4-digit integer cannot be bigger than 9999.
1107
1108         * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Use
1109         type-correct wchar_t string literals.
1110         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Ditto.
1111         * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Ditto.
1112         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Ditto.
1113         * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Ditto.
1114
1115 2003-12-02  Paolo Carlini  <pcarlini@suse.de>
1116
1117         * include/bits/locale_facets.tcc (time_get::do_get_year):
1118         Avoid using a basic_string and calling a full blown strtol
1119         (via __convert_to_v) for simple 2 or 4 digits, base 10,
1120         positive integers; simplify.
1121
1122 2003-12-02  Paolo Carlini  <pcarlini@suse.de>
1123
1124         * config/locale/gnu/monetary_members.cc
1125         (money_base::_S_construct_pattern): For case 3: and 4:
1126         exchanging 'if (__precedes)' and 'if (__space)' allows
1127         to factor out a few more assignments.
1128
1129 2003-12-01  Benjamin Kosnik  <bkoz@redhat.com>
1130
1131         * include/bits/basic_ios.h (basic_ios::setstate): Revert.
1132         * include/bits/istream.tcc: Only call setstate if __err != goodbit.
1133         * include/bits/ostream.tcc: Same.
1134         * testsuite/27_io/basic_ios/exceptions/char/2.cc: New.
1135         
1136         * testsuite/testsuite_io.h (__gnu_test::fail_streambuf): Make
1137         internal buffer non-static.
1138
1139 2003-12-01  Benjamin Kosnik  <bkoz@redhat.com>
1140
1141         * docs/html/17_intro/C++STYLE: Add exception bits.
1142         * include/bits/fstream.tcc: Add location info to exception strings.
1143
1144         * include/bits/stl_construct.h: Formatting tweaks.
1145
1146 2003-12-01  Paolo Carlini  <pcarlini@suse.de>
1147
1148         PR libstdc++/10378
1149         * include/bits/allocator.h (allocator::construct): Implement
1150         resolution of DR 402 [Ready] (in Revision 28).
1151         * include/bits/allocator_traits.h (__allocator::construct):
1152         Likewise.
1153         * include/bits/stl_construct.h (_Construct): Likewise.
1154         * testsuite/20_util/allocator_members.cc: Move to...
1155         * testsuite/20_util/allocator/1.cc: ... here.
1156         * testsuite/20_util/allocator/10378.cc: New.
1157         * docs/html/ext/howto.html: Add an entry for DR 402.
1158
1159 2003-11-30  Paolo Carlini  <pcarlini@suse.de>
1160
1161         * config/locale/gnu/codecvt_members.cc (codecvt::do_in,
1162         codecvt::do_length): More minor tweaks.
1163
1164 2003-11-30  Paolo Carlini  <pcarlini@suse.de>
1165
1166         * config/locale/gnu/codecvt_members.cc (codecvt::do_in):
1167         Minor stylistic tweak.
1168
1169 2003-11-30  Paolo Carlini  <pcarlini@suse.de>
1170
1171         * include/bits/locale_facets.tcc (num_put::do_put(..., bool)):
1172         Minor tweaks, consistent with the style used in other facets.
1173
1174 2003-11-29  Paolo Carlini  <pcarlini@suse.de>
1175
1176         * include/bits/fstream.tcc (underflow): Minor tweaks in
1177         preparation for libstdc++/13217.
1178
1179 2003-11-29  Paolo Carlini  <pcarlini@suse.de>
1180
1181         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc:
1182         Tweak for a few small problems (fix timings, use VERIFY..)
1183
1184 2003-11-28  Paolo Carlini  <pcarlini@suse.de>
1185
1186         * testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc: Remove.
1187         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: New,
1188         the original third testcase for libstdc++/13171 belong here.
1189
1190 2003-11-28  Paolo Carlini  <pcarlini@suse.de>
1191
1192         * testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc:
1193         Remove extraneous wchar_t lines.
1194         
1195 2003-11-27  Paolo Carlini  <pcarlini@suse.de>
1196
1197         PR libstdc++/11544
1198         PR libstdc++/11603
1199         * include/bits/fstream.tcc (underflow): Throw ios_base::failure
1200         upon incomplete or invalid byte sequences in the file.
1201         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc: New.
1202         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc: New.
1203         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc: New.
1204
1205 2003-11-27  Paolo Carlini  <pcarlini@suse.de>
1206
1207         * include/std/std_streambuf.h (__copy_streambufs): Remove
1208         the first, unused, basic_ios<> parameter.
1209         * src/streambuf-inst.cc: Likewise.
1210         * include/bits/streambuf.tcc: Likewise.
1211         * include/bits/istream.tcc (operator>>(__streambuf_type*)):
1212         Tweak accordingly the call.
1213         * include/bits/ostream.tcc (operator<<(__streambuf_type*)):
1214         Likewise.
1215
1216         * include/bits/streambuf.tcc (__copy_streambufs): Remove
1217         redundant try/catch.
1218
1219 2003-11-26  Benjamin Kosnik  <bkoz@redhat.com>
1220
1221         PR libstdc++/9371
1222         PR libstdc++/9546
1223         PR libstdc++/10093
1224         PR libstdc++/10095
1225         * include/bits/basic_ios.h (basic_ios::setstate): Elide if goodbit.
1226         (basic_ios::_M_setstate): Consolidate common error handling code.
1227         * include/bits/basic_ios.tcc: Tweak.
1228         * include/bits/fstream.tcc: Tweak.
1229         * include/bits/istream.tcc: Use _M_setstate for common exception
1230         handling. Move setstate calls after catch. 
1231         (basic_istream::tellg): Check for exceptions thrown by streambuf
1232         virtual functions.
1233         (basic_istream::seekg): Same.
1234         * include/bits/ostream.tcc: Same, but for ostream.
1235         (basic_ostream::flush): Check for exceptions thrown by streambuf
1236         virtual functions.
1237         (basic_istream::tellp): Same.   
1238         (basic_istream::seekp): Same.
1239         * include/bits/locale_facets.tcc: Tweak.
1240         * include/bits/streambuf.tcc: Tweak.
1241         (__copy_streambufs): Propagate exceptions.
1242         * testsuite/testsuite_io.h (fail_streambuf): New.
1243         (fail_num_get): New.
1244         (fail_num_put): New.
1245         (facet_error): New.
1246         (underflow_error): New.
1247         (overflow_error): New.  
1248         (positioning_error): New.       
1249         * testsuite/27_io/basic_istream/exceptions/char/9561.cc: Tweak.
1250         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1251         exceptions_badbit_throw.cc, exceptions_failbit.cc,
1252         exceptions_failbit_throw.cc: New.
1253         * testsuite/27_io/basic_istream/extractors_other/char/
1254         error_failbit.cc, exceptions_badbit_throw.cc,
1255         exceptions_failbit_throw.cc, exceptions_null.cc: New.
1256         * testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc: 
1257         New.
1258         * testsuite/27_io/basic_istream/tellg/char/exceptions_badbit_throw.cc:
1259         New.
1260         * testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc:
1261         New.
1262         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
1263         exceptions_badbit_throw.cc, exceptions_failbit_throw.cc: New.
1264         * testsuite/27_io/basic_ostream/inserters_other/char/
1265         error_failbit.cc, exceptions_badbit_throw.cc,
1266         exceptions_failbit_throw.cc, exceptions_null.cc: New.
1267         * testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc: 
1268         New.
1269         * testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc: 
1270         New.
1271
1272 2003-11-26  Benjamin Kosnik  <bkoz@redhat.com>
1273
1274         PR libstdc++/12297
1275         * include/bits/istream.tcc
1276         (basic_istream::sentry::sentry): Set failbit and eofbit when eof.
1277         * testsuite/27_io/basic_istream/sentry/char/12297.cc: New.
1278         
1279 2003-11-26  Paolo Carlini  <pcarlini@suse.de>
1280             Petur Runolfsson  <peturr02@ru.is>
1281
1282         PR libstdc++/13171
1283         * include/bits/fstream.tcc (imbue): Relax the conditions under
1284         which the function succeeds: allow for two consecutive calls with
1285         the same name; state dependent encodings are ok even after open
1286         if at the beginning of the file; don't check seekoff return value
1287         (pipes, cin, cout, etc...)
1288         * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: New.
1289         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: New.
1290         * testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc: New.
1291         * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: New.
1292         * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Tweak comment.
1293         * testsuite/27_io/basic_filebuf/imbue/char/3.cc: Likewise.
1294         * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Tweak comment.
1295         * testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: Likewise.
1296
1297         * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: More
1298         correctly use the UTF-8 locale appearing in the PR.
1299
1300 2003-11-26  Paolo Carlini  <pcarlini@suse.de>
1301
1302         * include/bits/locale_facets.h
1303         (__numpunct_cache<>::_M_cache): Avoid zeroing _M_grouping,
1304         _M_truename and _M_falsename: the constructor always does
1305         it immediately before the _M_cache call.
1306
1307 2003-11-25  Paolo Carlini  <pcarlini@suse.de>
1308
1309         * config/locale/gnu/codecvt_members.cc (codecvt::do_length):
1310         Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the
1311         former is very fast, but stops if encounters a NUL.
1312         (codecvt::do_out): Tweaks.
1313         (codecvt::do_in): Tweaks, improve the code dealing with errors.
1314         * testsuite/performance/wchar_t_length.cc: New.
1315
1316 2003-11-24  Paolo Carlini  <pcarlini@suse.de>
1317
1318         * config/locale/gnu/codecvt_members.cc (codecvt::do_in):
1319         Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the
1320         former is very fast, but stops if encounters a NUL.
1321         (codecvt::do_out): Tweak.
1322         * testsuite/performance/wchar_t_in.cc: New.
1323
1324 2003-11-24  Paolo Carlini  <pcarlini@suse.de>
1325
1326         * include/bits/locale_facets.h
1327         (__numpunct_cache<>::_M_cache): Set _M_allocated at the beginning
1328         in order to avoid memory leaks; simplify a bit.
1329
1330 2003-11-24  Benjamin Kosnik  <bkoz@redhat.com>
1331         
1332         * include/bits/streambuf_iterator.h (ostreambuf_iterator): Remove
1333         non-standard throw specs.
1334         * testsuite/24_iterators/istreambuf_iterator.cc: Split into...
1335         * testsuite/24_iterators/istreambuf_iterator/1.cc
1336         * testsuite/24_iterators/istreambuf_iterator/2.cc
1337         * testsuite/24_iterators/istreambuf_iterator/2627.cc
1338         * testsuite/24_iterators/ostreambuf_iterator.cc: Split into...
1339         * testsuite/24_iterators/ostreambuf_iterator/1.cc
1340         * testsuite/24_iterators/ostreambuf_iterator/2.cc
1341
1342         * testsuite/24_iterators/reverse_iterator/1.cc: Just compile,
1343         don't link.
1344         
1345         * include/bits/allocator.h: Formatting tweak.
1346         
1347 2003-11-24  Paolo Carlini  <pcarlini@suse.de>
1348
1349         * src/locale_init.cc: Cosmetic reformatting.
1350
1351 2003-11-23  Paolo Carlini  <pcarlini@suse.de>
1352
1353         * include/bits/locale_facets.tcc (__add_grouping):
1354         Cosmetic reformatting.
1355
1356 2003-11-23  Paolo Carlini  <pcarlini@suse.de>
1357
1358         * include/bits/locale_facets.tcc (_M_extract_float,
1359         _M_extract_int): Remove a wrong comment and simplify
1360         the corresponding code using char_traits::find().
1361
1362 2003-11-22  Paolo Carlini  <pcarlini@suse.de>
1363
1364         * config/locale/gnu/monetary_members.cc
1365         (money_base::_S_construct_pattern): Factor out two assignments.
1366
1367 2003-11-22  Paolo Carlini  <pcarlini@suse.de>
1368
1369         * include/bits/istream.tcc (getline(basic_string<>&)):
1370         Fix error in comment of the previous commit.
1371
1372 2003-11-22  Paolo Carlini  <pcarlini@suse.de>
1373
1374         PR libstdc++/12593
1375         * include/bits/istream.tcc (operator>>(basic_string<>&),
1376         getline(basic_string<>&)): Implement resolution of DR 91 [WP];
1377         fix some minor issues with the exit conditions.
1378         * docs/html/ext/howto.html: Add an entry for DR 91.
1379
1380 2003-11-21  Paolo Carlini  <pcarlini@suse.de>
1381
1382         * config/locale/gnu/monetary_members.cc
1383         (money_base::_S_construct_pattern): Factor out an assignment.
1384
1385 2003-11-21  Paolo Carlini  <pcarlini@suse.de>
1386
1387         PR libstdc++/12882 (partial)
1388         * acinclude.m4 (GLIBCXX_CHECK_LFS): Check fseeko64
1389         and ftello64 too.
1390         * include/ext/stdio_sync_filebuf.h (seekoff): Use fseeko64
1391         and ftello64 if available.
1392         * aclocal.m4: Regenerate.
1393         * configure: Ditto.
1394
1395 2003-11-20  Benjamin Kosnik  <bkoz@redhat.com>
1396
1397         * include/debug/formatter.h: Use _Tp as template argument.
1398         * src/debug.cc: Same, instantiate std::size_t.
1399         
1400 2003-11-20  Benjamin Kosnik  <bkoz@redhat.com>
1401
1402         PR libstdc++/13109
1403         * include/debug/formatter.h (_Error_formatter::_M_format_word): New.
1404         * src/debug.cc (__gnu_debug): Format. 
1405         (_Error_formatter::_M_format_word): Define, use, instantiate.
1406
1407 2003-11-20  Paolo Carlini  <pcarlini@suse.de>
1408
1409         PR libstdc++/11602
1410         * config/locale/gnu/codecvt_members.cc (codecvt::do_out):
1411         Rewrite, using both wcsnrtombs and wcrtomb in a loop: the
1412         former is very fast, but stops if encounters a NUL.
1413         * testsuite/performance/wchar_t_out.cc: New, from the PR.
1414
1415 2003-11-19  Paolo Carlini  <pcarlini@suse.de>
1416
1417         * config/locale/gnu/codecvt_members.cc (do_out): If
1418         we can upper bound the total number of external chars
1419         to something smaller than __to_end - __to, avoid the
1420         temporary buffer, the memcopy and simplify the loop.
1421         * config/locale/generic/codecvt_members.cc (do_out):
1422         Likewise.
1423
1424 2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
1425
1426         * testsuite/lib/libstdc++.exp: Add DYLD_LIBRARY_PATH for darwin.
1427         * testsuite/libstdc++-dg/normal.exp: Add -multiply_defined suppress
1428         flag.
1429
1430 2003-11-18  Jonathan Wakely  <redi@gcc.gnu.org>
1431
1432         * docs/html/configopts.html, docs/html/debug.html,
1433         docs/html/documentation.html, docs/html/explanations.html,
1434         docs/html/install.html, docs/html/17_intro/contribute.html,
1435         docs/html/17_intro/howto.html, docs/html/17_intro/license.html,
1436         docs/html/18_support/howto.html, docs/html/19_diagnostics/howto.html,
1437         docs/html/20_util/howto.html, docs/html/21_strings/howto.html,
1438         docs/html/22_locale/codecvt.html, docs/html/22_locale/ctype.html,
1439         docs/html/22_locale/howto.html, docs/html/22_locale/locale.html,
1440         docs/html/22_locale/messages.html, docs/html/23_containers/howto.html,
1441         docs/html/24_iterators/howto.html, docs/html/25_algorithms/howto.html,
1442         docs/html/26_numerics/howto.html, docs/html/27_io/howto.html,
1443         docs/html/ext/howto.html, docs/html/ext/sgiexts.html: Add <link> tags.
1444
1445 2003-11-18  Paolo Carlini  <pcarlini@suse.de>
1446
1447         PR libstdc++/12868
1448         * include/bits/fstream.tcc (imbue): For encodings != -1 it's
1449         always ok to imbue a new locale, provided seekoff(0, cur, ...)
1450         doesn't fail, of course.
1451         (underflow): In order for the above to work, deal gracefully
1452         with _M_codecvt->in returning codecvt_base::error while 
1453         (__ilen = __iend - this->eback()) > 0: it just means __ilen
1454         correctly converted internal characters before an error.        
1455         * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: New.
1456
1457 2003-11-17  Paolo Carlini  <pcarlini@suse.de>
1458
1459         * include/bits/locale_facets.tcc: Fix typo in comment.
1460
1461 2003-11-17  Paolo Carlini  <pcarlini@suse.de>
1462
1463         * testsuite/22_locale/num_put/put/char/8.cc: New test,
1464         summarizing the discussion ensuing libstdc++/12988.
1465         * testsuite/22_locale/num_put/put/wchar_t/8.cc: Ditto.
1466
1467 2003-11-15  Paolo Carlini  <pcarlini@suse.de>
1468
1469         * include/std/std_fstream.h: Tweak a comment.
1470
1471 2003-11-15  Roger Sayle  <roger@eyesopen.com>
1472
1473         * include/c_std/std_cmath.h: Don't import C99's float transcendentals
1474         into the __gnu_cxx::__c99_binding namespace.
1475         (acos, asin, atan, atan2, ceil, cosh, exp, floor, fmod, frexp,
1476         ldexp, log, log10, modf, pow, sinh, tan, tanh): Implement using
1477         GCC's math builtins, i.e. __builtin_foo.
1478         * libmath/stubs.c (acosf, acosl, asinf, asinl, atanf, atanl,
1479         ceilf, ceill, floorf, floorl, fmodf, fmodl, frexpf, frexpl,
1480         ldexpf, ldexpl, modff, modfl): Provide stub implementations.
1481
1482 2003-11-14  Paolo Carlini  <pcarlini@suse.de>
1483
1484         * testsuite/22_locale/locale/cons/12352.cc: Use
1485         __gnu_test::try_named_locale.
1486
1487 2003-11-14  Paolo Carlini  <pcarlini@suse.de>
1488
1489         * docs/html/ext/howto.html: Add entries for DR 63, 75
1490         and 305; tweak entries for DR 60 and 328.
1491
1492 2003-11-13  Douglas Gregor  <gregod@cs.rpi.edu>
1493
1494         * docs/html/debug.html: Users are allowed to specialize in
1495         namespace __gnu_debug, unlike in the Apple version of the debug
1496         mode. Clear up a confusing double-negative. Note that
1497         std::basic_string does provide extra debugging capabilities, but
1498         not safe iterators.
1499         * include/bits/basic_string.tcc: Make sure there's never an
1500         ambiguity when calling __is_null_pointer. 
1501         * include/debug/deque: (deque::erase) Properly handle invalidation
1502         when erasing at the end of the deque.
1503         * include/debug/vector: (vector::swap): Swap _M_guaranteed_capacity. 
1504         (vector::clear): Set the guaranteed capacity to 0.
1505         * testsuite/23_containers/deque/invalidation/4.cc: (test04): Test
1506         iterator invalidation when erasing at the end of the deque.
1507
1508 2003-11-13  Paolo Carlini  <pcarlini@suse.de>
1509             Petur Runolfsson  <peturr02@ru.is>
1510
1511         PR libstdc++/13007
1512         * include/bits/fstream.tcc (imbue): Don't touch the stored
1513         locale.
1514         * include/std/std_streambuf.h (imbue): According to the
1515         standard, base class version does nothing.
1516         (pubimbue): Store the locale.
1517         * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: New.
1518         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: New.
1519         * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Tweak.
1520         * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
1521         * testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc: New.
1522         * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: New.
1523         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc: New.
1524         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: New.
1525
1526 2003-11-13  Petur Runolfsson  <peturr02@ru.is>
1527
1528         PR libstdc++/12594
1529         * include/bits/ostream.tcc
1530         (basic_ostream::operator<<(basic_ostream& (*)(basic_ostream&)),
1531         basic_ostream::operator<<(basic_ios& (*)(basic_ios&)),
1532         basic_ostream::operator<<(ios_base& (*)(ios_base&))):
1533         Implement the resolution of DR 60 (TC): These are not formatted
1534         output functions so don't construct sentry objects and don't
1535         catch exceptions.
1536         (basic_ostream::put, basic_ostream::write): Implement the
1537         resolution of DR 63 (TC) by catching exceptions and setting
1538         badbit.
1539         (basic_ostream::flush): Implement the resolution of DR 60 (TC):
1540         This is not an unformatted output function so don't construct
1541         a sentry object.
1542         * testsuite/testsuite_io.h (sync_streambuf): Define.
1543         * testsuite/27_io/basic_ostream/flush/char/2.cc: New test.
1544         * testsuite/27_io/basic_ostream/inserters_other/char/5.cc: New test.
1545         * testsuite/27_io/basic_ostream/put/char/1.cc: New test.
1546         * testsuite/27_io/basic_ostream/write/char/1.cc: New test.
1547         
1548 2003-11-13  Paolo Carlini  <pcarlini@suse.de>
1549
1550         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1:
1551         Fix, closely following the testcase included in the PR.
1552         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2: Ditto.
1553         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3: Ditto.
1554         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4: Ditto.
1555
1556 2003-11-13  Jonathan Wakely <redi@gcc.gnu.org>
1557
1558         * docs/html/17_intro/configury.html: XHTML tweak.
1559
1560 2003-11-13  Jonathan Wakely <redi@gcc.gnu.org>
1561
1562         * docs/html/debug_mode.html: XHTML fixes.
1563
1564 2003-11-12  Benjamin Kosnik  <bkoz@redhat.com>
1565
1566         * docs/html/debug_mode.html: Update.
1567         * docs/html/17_intro/TODO: Update.
1568
1569 2003-11-12  Benjamin Kosnik  <bkoz@redhat.com>
1570
1571         * include/bits/c++config: Move using directive...
1572         * include/debug/formatter.h: ...here.
1573
1574 2003-11-12  Carlo Wood  <carlo@alinoe.com>
1575
1576         PR libstdc++/12947
1577         * bits/demangle.h
1578         (_GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS): Added.
1579         (_GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME): Added.
1580         (session<Allocator>::next_peek() const): Added.
1581         (decode_non_negative_decimal_integer(string_type&)):
1582         Renamed from decode_decimal_integer(string_type&).
1583         (session<Allocator>::decode_nested_name):
1584         Decode <template_param> as well.
1585         (session<Allocator>::add_substitution):
1586         Handle <template-param> for <nested-name>'s.
1587         (enum xary_nt): Added.
1588         (struct entry_st): Added member `xary_nt type' instead of `bool unary'.
1589         (symbol_name_table_c): Updated for `entry_st::type' and additional
1590         operators (unary `operator+' and `sizeof(type)').
1591         (offset_table_c): Updated for new operators (causing a new hash map).
1592         (decode_operator_name): Match the updated hash map.
1593         (session<Allocator>::decode_expression):
1594         Support for `sizeof ([typename] type)' (st),
1595         dependent names (sr) and casting operator (cv).  Handle
1596         `entry_st::type'.  Handle _GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS
1597         and _GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME.
1598         (session<Allocator>::decode_type_with_postfix):
1599         Support `extern "C"' function types (FY).
1600         * testsuite/demangle/regression/cw-16.cc: Added tests for the
1601         added functionality.
1602         * testsuite/demangle/regression/3111-2.cc: sizeof now has a space
1603         appended.
1604
1605 2003-11-11  Paolo Carlini  <pcarlini@suse.de>
1606
1607         PR libstdc++/12875
1608         * include/bits/fstream.tcc (setbuf): Don't do anything
1609         after open(), in particular don't discard data.
1610         (_M_allocate_internal_buffer): Tweak to not allocate memory
1611         in case the buffer is provided by the user via setbuf.
1612         * include/ext/stdio_filebuf.h: Tweak comment.
1613         * testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc: New.
1614         * testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc: Likewise.
1615         * testsuite/27_io/basic_filebuf/setbuf/char/2.cc: Tweak, now
1616         setbuf does nothing after open().
1617         * testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Likewise.
1618
1619 2003-11-11  Doug Gregor  <gregod@cs.rpi.edu>
1620
1621         * docs/html/debug.html: Document libstdc++ debug mode.
1622         * docs/html/debug_mode.html: Document libstdc++ debug mode design.
1623         * docs/html/test.html: Document how to test under debug mode.
1624         * docs/html/17_intro/howto.html: Document debug-mode macros.
1625         * include/Makefile.am: Install debug-mode headers.
1626         * src/Makefile.am: Include debug.cc.
1627         * include/bits/basic_string.tcc: 
1628           (basic_string::_S_construct): Fix NULL pointer check.
1629           (__is_null_pointer): New.
1630           Add precondition annotations.
1631         * include/bits/stream_iterator.h (istream_iterator,
1632         ostream_iterator): Added precondition annotations.
1633         * include/bits/streambuf_iterator.h (istreambuf_iterator): Ditto.
1634         * include/bits/stl_queue.h (queue, priority_queue): Ditto.
1635         * include/bits/stl_stack.h (stack): Ditto.
1636         * include/bits/basic_string.h (basic_string): Ditto.
1637         * include/bits/basic_string.tcc (basic_string): Ditto.
1638         * include/std/std_memory.h (auto_ptr): Ditto.
1639         * include/std/std_valarray.h (valarray): Ditto.
1640         * include/bits/stl_algo.h: Added algorithm precondition
1641         annotations.
1642         * include/bits/stl_algobase.h: Added algorithm precondition
1643         annotations.
1644         * include/bits/stl_numeric.h: Ditto.
1645         * include/ext/algorithm: Added algorithm precondition
1646         annotations. 
1647         (__is_heap): Moved away from here.
1648         * include/bits/stl_heap.h: Added algorithm precondition
1649         annotations. 
1650         (__is_heap): Moved to the top of this file.
1651         (__is_heap): Added iterator range overloads.
1652         * testsuite/20_util/auto_ptr_neg.cc: Fix line numbers to match up
1653         with changes in std_memory.h.
1654         * testsuite/23_containers/list/operators/4.cc: Don't verify
1655         performance guarantees when in debug mode.
1656         * testsuite/23_containers/bitset/invalidation/1.cc: New.
1657         * testsuite/23_containers/deque/invalidation/1.cc: New.
1658         * testsuite/23_containers/deque/invalidation/2.cc: New.
1659         * testsuite/23_containers/deque/invalidation/3.cc: New.
1660         * testsuite/23_containers/deque/invalidation/4.cc: New.
1661         * testsuite/23_containers/list/invalidation/1.cc: New.
1662         * testsuite/23_containers/list/invalidation/2.cc: New.
1663         * testsuite/23_containers/list/invalidation/3.cc: New.
1664         * testsuite/23_containers/list/invalidation/4.cc: New.
1665         * testsuite/23_containers/map/invalidation/1.cc: New.
1666         * testsuite/23_containers/map/invalidation/2.cc: New.
1667         * testsuite/23_containers/multimap/invalidation/1.cc: New.
1668         * testsuite/23_containers/multimap/invalidation/2.cc: New.
1669         * testsuite/23_containers/multiset/invalidation/1.cc: New.
1670         * testsuite/23_containers/multiset/invalidation/2.cc: New.
1671         * testsuite/23_containers/set/invalidation/1.cc: New.
1672         * testsuite/23_containers/set/invalidation/2.cc: New.
1673         * testsuite/23_containers/vector/invalidation/1.cc: New.
1674         * testsuite/23_containers/vector/invalidation/2.cc: New.
1675         * testsuite/23_containers/vector/invalidation/3.cc: New.
1676         * testsuite/23_containers/vector/invalidation/4.cc: New.
1677         * testsuite/25_algorithms/heap.cc: Don't verify
1678         performance guarantees when in debug mode.
1679         * include/debug/bitset: New.
1680         * include/debug/debug.h: New.
1681         * include/debug/deque: New.
1682         * include/debug/formatter.h: New.
1683         * include/debug/hash_map: New.
1684         * include/debug/hash_map.h: New.        
1685         * include/debug/hash_multimap.h: New.
1686         * include/debug/hash_set: New.
1687         * include/debug/hash_set.h: New.
1688         * include/debug/hash_multiset.h: New.   
1689         * include/debug/list: New.
1690         * include/debug/map: New.
1691         * include/debug/map.h: New.
1692         * include/debug/multimap.h: New.
1693         * include/debug/multiset.h: New.        
1694         * include/debug/safe_base.h: New.
1695         * include/debug/safe_iterator.h: New.
1696         * include/debug/safe_iterator.tcc: New.
1697         * include/debug/safe_sequence.h: New.
1698         * include/debug/set: New.
1699         * include/debug/set.h: New.     
1700         * include/debug/string: New.
1701         * include/debug/vector: New.
1702         * src/debug.cc: New.
1703         * config/linker-map.gnu: Add debug mode symbols.
1704         
1705 2003-11-11  Benjamin Kosnik  <bkoz@redhat.com>
1706
1707         * src/string-inst.cc: Tweak namespaces.
1708         * src/misc-inst.cc: Same.
1709         * docs/html/debug.html: Edits.
1710         * config/link-map.gnu: Remove cruft.
1711
1712         * include/bits/c++config: Add in namespace associations.
1713         * include/std/std_bitset.h: Adjust namespace to __gnu_norm,
1714         comment tweaks.
1715         * include/bits/deque.tcc: Same.
1716         * include/bits/list.tcc: Same.
1717         * include/bits/stl_bvector.h: Same.
1718         * include/bits/stl_deque.h: Same.
1719         * include/bits/stl_list.h: Same.
1720         * include/bits/stl_map.h: Same.
1721         * include/bits/stl_multimap.h: Same.
1722         * include/bits/stl_multiset.h: Same.
1723         * include/bits/stl_set.h: Same.
1724         * include/bits/stl_vector.h: Same.
1725         * include/bits/vector.tcc: Same.
1726
1727         * include/std/std_algorithm.h: Remove markup comments.
1728         * include/std/std_functional.h: Same.
1729         * include/std/std_iterator.h: Same.
1730         * include/std/std_numeric.h: Same.
1731         * include/std/std_utility.h: Same.
1732         * include/bits/stl_queue.h: Formatting tweaks.
1733         * include/bits/stl_stack.h: Same.
1734         * include/std/std_deque.h: Include debugging version in debug mode.
1735         * include/std/std_list.h: Same.
1736         * include/std/std_map.h: Same.
1737         * include/std/std_set.h: Same.
1738         * include/std/std_vector.h: Same.       
1739         * include/std/std_queue.h: Use deque, vector.
1740         * include/std/std_stack.h: Same.
1741
1742 2003-11-09  Paolo Carlini  <pcarlini@suse.de>
1743
1744         * include/bits/locale_facets.tcc (_M_insert_int,
1745         _M_insert_float): Move a couple of vars inside an if block.
1746
1747 2003-11-09  Paolo Carlini  <pcarlini@suse.de>
1748
1749         PR libstdc++/12971
1750         * include/bits/locale_facets.tcc
1751         (money_put::do_put(..., long double)): Fix conversion
1752         specification as per DR 328 [WP].
1753         * testsuite/22_locale/money_put/put/char/12971.cc: Add.
1754         * testsuite/22_locale/money_put/put/wchar_t/12971.cc: Ditto.
1755         * docs/html/ext/howto.html: Add entry for DR 328.
1756
1757 2003-11-08  Paolo Carlini  <pcarlini@suse.de>
1758
1759         PR libstdc++/12967
1760         * include/bits/list.tcc (merge): Implement resolution of
1761         DR 300 [WP].
1762         * docs/html/ext/howto.html: Add entry for DR 300; tweak entry
1763         for DR 231.
1764
1765         * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
1766         Import R27.
1767
1768 2003-11-07  Jonathan Wakely  <redi@gcc.gnu.org>
1769
1770         * libsupc++/vec.cc: Conform to C++STYLE.
1771
1772 2003-11-07  Carlo Wood  <carlo@alinoe.com>
1773
1774         PR libstdc++/12736
1775         * bits/demangle.h (qualifier_list<Allocator>::decode_KVrA): Added.
1776         (qualifier_list<Allocator>::decode_qualifiers): Collect concatenated
1777         K, V, r and A qualifiers before processing them as a group.
1778         * testsuite/demangle/abi_text/01.cc: Reordered CV-qualifiers.
1779         * testsuite/demangle/regression/cw-16.cc: New.
1780
1781 2003-11-07  Robert Millan  <robertmh@gnu.org>
1782
1783         * configure.host: Add kfreebsd*-gnu and knetbsd*-gnu.
1784         * crossconfig.m4: Likewise.
1785         * configure: Regenerate.
1786
1787 2003-11-07  Carlo Wood  <carlo@alinoe.com>
1788
1789         * include/bits/demangle.h
1790         (qualifier_list<Allocator>::decode_qualifiers(string_type&,
1791         string_type&, bool member_function_pointer_qualifiers):
1792         Always separate the '[' of an array type with a space from
1793         what is left of it, except when that is the closing bracket
1794         of another array dimension.
1795
1796 2003-11-07  Carlo Wood  <carlo@alinoe.com>
1797
1798         * include/bits/demangle.h
1799         (qualifier_list<Allocator>::decode_qualifiers(string_type&,
1800         string_type&, bool) const): Made const.
1801         (qualifier_list<Allocator>::M_printing_suppressed): Added mutable.
1802         (_GLIBCXX_DEMANGLER_DOUT_ENTERING3, _GLIBCXX_DEMANGLER_RETURN3,
1803         std::ostream& operator<<(std::ostream&, qualifier const&),
1804         std::ostream& operator<<(std::ostream&, qualifier_list const&),
1805         qualifier_list<Allocator>::decode_qualifiers(string_type&,
1806         string_type&, bool) const,
1807         session<Allocator>::decode_type_with_postfix(string_type&,
1808         string_type&, qualifier_list<Allocator>*))
1809         Added and/or changed debug-only hooks and code.
1810
1811 2003-11-04  Jeffrey D. Oldham  <oldham@codesourcery.com>
1812
1813         * libsupc++/vec.cc (__cxa_vec_delete2): If given a NULL pointer,
1814         immediately return.  This reflects a C++ ABI change 2003 Nov 03.
1815         (__cxa_vec_delete3): Likewise.
1816         
1817 2003-11-03  Petur Runolfsson  <peturr02@ru.is>
1818
1819         PR libstdc++/12790
1820         * include/bits/fstream.tcc: Delete _M_last_overflowed.
1821         (basic_filebuf::basic_filebuf): Initialize _M_state_last.
1822         (basic_filebuf::open, basic_filebuf::close): Assign
1823         _M_state_beg to _M_state_cur and _M_state_last.
1824         (basic_filebuf::close): Call _M_terminate_output to handle
1825         unshift and flushing.
1826         (basic_filebuf::underflow): Assign _M_state_last, throw
1827         exception instead of calling abort when codecvt::max_length()
1828         is bad.
1829         (basic_filebuf::seekoff): Use _M_state_last when calling
1830         codecvt::length(), pass correct state to _M_seek.
1831         (basic_filebuf::seekpos): Pass __pos.state() to _M_seek.
1832         (basic_filebuf::_M_seek): Add __state_type parameter,
1833         set _M_state_cur correctly, store the resulting state in
1834         the return value and use _M_terminate_output to handle
1835         flushing and unshift.
1836         (basic_filebuf::_M_terminate_output): Flush contents of
1837         output buffer, if any, then call codecvt::unshift as
1838         needed and output the result.
1839         (basic_filebuf::sync): Move here, don't modify _M_writing
1840         or _M_reading.
1841         
1842         * include/std/std_fstream.h
1843         (basic_filebuf::_M_state_last): Declare it.
1844         (basic_filebuf::_M_last_overflowed): Delete.
1845         (basic_filebuf::_M_seek): Add __state_type parameter.
1846         (basic_filebuf::sync): Declare only.
1847         (basic_filebuf::_M_output_unshift): Delete.
1848         (basic_filebuf::_M_terminate_output): Declare it.
1849         
1850         * testsuite/testsuite_character.h:
1851         Define character class and state class plus char_traits and
1852         codecvt specializations for same for testing support for
1853         stateful encodings.
1854         
1855         * testsuite/27_io/basic_filebuf/close/12790-1.cc,
1856         * testsuite/27_io/basic_filebuf/close/char/12790-1.cc,
1857         * testsuite/27_io/basic_filebuf/close/char/12790-2.cc,
1858         * testsuite/27_io/basic_filebuf/close/char/12790-3.cc,
1859         * testsuite/27_io/basic_filebuf/close/char/12790-4.cc,
1860         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc,
1861         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc,
1862         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc,
1863         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc,
1864         * testsuite/27_io/basic_filebuf/open/12790-1.cc,
1865         * testsuite/27_io/basic_filebuf/seekoff/12790-1.cc,
1866         * testsuite/27_io/basic_filebuf/seekoff/12790-2.cc,
1867         * testsuite/27_io/basic_filebuf/seekoff/12790-3.cc,
1868         * testsuite/27_io/basic_filebuf/seekoff/12790-4.cc,
1869         * testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc,
1870         * testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc,
1871         * testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc,
1872         * testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc,
1873         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc,
1874         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc,
1875         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc,
1876         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc,
1877         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc,
1878         * testsuite/27_io/basic_filebuf/seekpos/12790-1.cc,
1879         * testsuite/27_io/basic_filebuf/seekpos/12790-2.cc,
1880         * testsuite/27_io/basic_filebuf/seekpos/12790-3.cc,
1881         * testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc,
1882         * testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc,
1883         * testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc,
1884         * testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc,
1885         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc,
1886         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc,
1887         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc,
1888         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc,
1889         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc,
1890         * testsuite/27_io/basic_filebuf/sync/char/1.cc,
1891         * testsuite/27_io/basic_filebuf/sync/wchar_t/1.cc:
1892         New tests.
1893
1894         * testsuite/27_io/basic_filebuf/3.cc,
1895         * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc,
1896         * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc,
1897         * testsuite/27_io/basic_fstream/3.cc,
1898         * testsuite/27_io/basic_ifstream/3.cc,
1899         * testsuite/27_io/basic_ofstream/3.cc:
1900         Use streamoff as off_type and fpos<state_type> as pos_type.
1901
1902         * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc,
1903         * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc:
1904         Check that sync does *not* set _M_writing to false.
1905
1906 2003-11-03  Anthony Green  <green@redhat.com>
1907
1908         * libmath/stubs.c (sqrtf, sqrtl): Reorder so they appear before
1909         they're used.
1910
1911 2003-11-03  Benjamin Kosnik  <bkoz@redhat.com>
1912
1913         * include/bits/locale_facets.h (time_get::_M_extract_name): Add
1914         ctype argument. 
1915         * include/bits/locale_facets.tcc: Same, use it to allow
1916         capitalized names.
1917         
1918         * include/bits/fstream.tcc: Spacing tweak.
1919         * include/bits/istream.tcc: Same.
1920         * include/bits/ostream.tcc: Same.
1921
1922 2003-10-30  Paolo Carlini  <pcarlini@suse.de>
1923
1924         * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
1925         __mod is only assigned, never used its value, remove it.
1926
1927 2003-10-29  Paolo Carlini  <pcarlini@suse.de>
1928
1929         * include/bits/locale_facets.tcc (time_get::do_get_year):
1930         Absolutely avoid dereferencing end iterators.
1931         (time_put::put): Minor clean up.
1932
1933         * include/bits/locale_facets.tcc: Cosmetic reformattings.
1934
1935 2003-10-29  Paolo Carlini  <pcarlini@suse.de>
1936
1937         * include/bits/locale_facets.tcc (num_get::_M_extract_float):
1938         Revert the last commit, is not correct, sorry.
1939         
1940 2003-10-29  Paolo Carlini  <pcarlini@suse.de>
1941
1942         * config/locale/generic/c_locale.cc: Add back <cmath> and
1943         <cstdlib>.
1944
1945         * include/bits/locale_facets.tcc (num_get::_M_extract_float):
1946         Clean up.
1947
1948 2003-10-29  Paolo Carlini  <pcarlini@suse.de>
1949
1950         * include/bits/locale_facets.tcc (time_put::put): Absolutely
1951         avoid dereferencing end iterators; clean up.
1952
1953         * include/bits/locale_facets.tcc (num_get::_M_extract_float,
1954         num_get::_M_extract_int): Minor tweak.
1955
1956 2003-10-29  Paolo Carlini  <pcarlini@suse.de>
1957
1958         * include/bits/locale_facets.tcc: Remove some unnecessary
1959         includes.
1960         * config/locale/generic/c_locale.cc: Include <cerrno> here.
1961         * config/locale/gnu/c_locale.cc: Likewise.
1962
1963 2003-10-28  Paolo Carlini  <pcarlini@suse.de>
1964
1965         * include/bits/locale_facets.tcc
1966         (money_get<>::do_get(..., string_type&)): Absolutely avoid
1967         dereferencing end iterators; general clean up.
1968
1969 2003-10-28  Paolo Carlini  <pcarlini@suse.de>
1970
1971         * include/bits/locale_facets.tcc (time_get::_M_extract_num):
1972         Absolutely avoid dereferencing end iterators.
1973         (time_get::_M_extract_name): Likewise.
1974
1975         * include/bits/locale_facets.tcc
1976         (time_get::_M_extract_via_format, case 'e'): Don't try to
1977         be smart wrt returning the right __beg in case of parse
1978         error, time_get::_M_extract_num must be fixed instead.
1979
1980 2003-10-27  Paolo Carlini  <pcarlini@suse.de>
1981
1982         PR libstdc++/12778
1983         * acinclude.m4 (GLIBCXX_CHECK_LFS): Use the C++ compiler.
1984         * aclocal.m4: Regenerate.
1985         * configure: Regenerate.
1986
1987 2003-10-27  Benjamin Kosnik  <bkoz@redhat.com>
1988         
1989         * docs/html/17_intro/TODO: Add links.
1990         * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
1991         Uncomment.
1992         
1993 2003-10-27  Paolo Carlini  <pcarlini@suse.de>
1994
1995         PR libstdc++/12750
1996         * include/bits/locale_facets.tcc
1997         (time_get::_M_extract_via_format): Deal with code 'e'.
1998         * testsuite/22_locale/time_get/get_date/char/12750.cc: New.
1999         * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Ditto.
2000
2001         * include/bits/locale_facets.tcc
2002         (time_get::_M_extract_via_format): Tweak to absolutely avoid
2003         dereferencing end iterators.
2004
2005         * include/bits/locale_facets.h (__verify_grouping):
2006         Const-ify second parameter.
2007         * include/bits/locale_facets.tcc (__verify_grouping): Ditto.
2008         * src/locale-inst.cc (__verify_grouping): Ditto.
2009
2010 2003-10-27  Paolo Carlini  <pcarlini@suse.de>
2011
2012         * include/bits/locale_facets.tcc (num_get::_M_extract_float):
2013         Various things: 1- Avoid absolutely end iterator dereferences;
2014         2- Improve performance-wise the code skipping leading zeros;
2015         3- Fix two bugs wrt early bail out in case of parsing errors
2016         (see testcases); 4- General clean up.
2017         (num_get::_M_extract_int): Likewise, except 3-. Additionally,
2018         use __builtin_expect to favor base 10 inputs.
2019         * testsuite/22_locale/num_get/get/char/7.cc: New.
2020         * testsuite/22_locale/num_get/get/wchar_t/7.cc: Ditto.
2021
2022 2003-10-26  Paolo Carlini  <pcarlini@suse.de>
2023
2024         * testsuite/22_locale/money_put/put/char/1.cc: Clean up.
2025         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Ditto.
2026
2027 2003-10-25  Paolo Carlini  <pcarlini@suse.de>
2028
2029         * include/bits/locale_facets.tcc (num_get::_M_extract_int):
2030         __pos in only incremented, never used its value, remove it.
2031
2032 2003-10-24  Robert Millan  <robertmh@gnu.org>
2033
2034         * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Add kfreebsd*-gnu
2035         and knetbsd*-gnu.
2036         * aclocal.m4:  Regenerated.
2037         * configure:  Regenerated.
2038
2039 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
2040
2041         * include/bits/locale_facets.tcc (money_get::do_get(...,
2042         long double&): Properly size the temporary buffer.
2043         * testsuite/22_locale/money_get/get/char/11.cc: New.
2044         * testsuite/22_locale/money_get/get/wchar_t/11.cc: Ditto.
2045
2046         * include/bits/locale_facets.tcc (num_put::_M_group_int,
2047         num_put::_M_group_float, money_put::do_put(..., const
2048         string_type&), collate::do_compare, collate::do_transform):
2049         Prefer basic_string::data() to c_str() when the '\0'
2050         terminator is not really needed.
2051
2052 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
2053
2054         * include/bits/locale_facets.tcc (__verify_grouping):
2055         Prefer '=' to an unnecessary '&='.
2056
2057 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
2058
2059         * include/bits/basic_ios.tcc (copyfmt(const basic_ios&)):
2060         Tweak my fix for libstdc++/12657.
2061
2062 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
2063
2064         * include/bits/locale_facets.tcc (money_get::do_get(...,
2065         string_type&): Minor tweak to the previous commit.
2066
2067 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
2068
2069         * include/bits/locale_facets.tcc (money_get::do_get(...,
2070         string_type&): Disregard the previous commit: doesn't hurt but
2071         doesn't accomplish anything useful either. This is the right
2072         one, speeding up greatly the function in case of early fail.
2073
2074 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
2075
2076         * include/bits/locale_facets.tcc (money_get::do_get(...,
2077         string_type&): Move an if block, thus minimizing the amount
2078         of code processed anyway when __tmp_units.size() == 0.
2079
2080 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
2081
2082         * include/bits/locale_facets.tcc
2083         (time_get<>::_M_extract_via_format): Deal with case 'C' too,
2084         equivalent to 'y'.
2085
2086 2003-10-23  Benjamin Kosnik  <bkoz@redhat.com>
2087
2088         * docs/html/documentation.html: Add a pointer to the doxygen style
2089         guide.
2090         * docs/html/17_intro/TODO: Update.
2091         * docs/html/test.html: Add instructions for running a subset of
2092         tests, update.
2093
2094 2003-10-23  Paolo Carlini  <pcarlini@suse.de>
2095
2096         * include/bits/locale_facets.tcc (money_get<>::do_get(...,
2097         string_type&)): Use find_first_not_of to strip leading
2098         zeros; if __tmp_units == "0" never prefix it with '-';
2099         always fail if __tmp_units is empty.
2100         * testsuite/22_locale/money_get/get/char/10.cc: New.
2101         * testsuite/22_locale/money_get/get/wchar_t/10.cc: Ditto.
2102
2103 2003-10-23  Phil Edwards  <phil@codesourcery.com>
2104
2105         * config/os/vxworks/ctype_noninline.h:  Adjust ctor to match
2106         2003-10-21 change.
2107
2108 2003-10-22  Paolo Carlini  <pcarlini@suse.de>
2109
2110         * include/bits/locale_facets.tcc (__int_to_char): Remove
2111         the const int parameter.
2112         (_M_insert_int): Update caller.
2113         * src/locale-inst.cc (__int_to_char): Update instantiations.    
2114
2115 2003-10-22  Benjamin Kosnik  <bkoz@redhat.com>
2116
2117         * include/bits/locale_facets.h: Correct byname facets for "C"
2118         locale.
2119         * config/locale/generic/ctype_members.cc: Same.
2120         * config/locale/generic/messages_members.h: Same.
2121         * config/locale/gnu/ctype_members.cc: Same.
2122         * config/locale/gnu/messages_members.h: Same.
2123         * include/bits/codecvt.h: Same.
2124         * src/ctype.cc: Same.
2125         * testsuite/22_locale/codecvt_byname/1.cc: New.
2126         * testsuite/22_locale/collate/1.cc: Edit.
2127         * testsuite/22_locale/collate_byname/1.cc: Derivation tests, move to...
2128         * testsuite/22_locale/collate_byname/named_equivalence.cc: ...here.
2129         * testsuite/22_locale/ctype/1.cc: Derivation tests.
2130         * testsuite/22_locale/ctype/11844.cc: Move...
2131         * testsuite/22_locale/ctype_base/11844.cc: ...here.
2132         * testsuite/22_locale/ctype_base/1.cc: Move mask bits here.
2133         * testsuite/22_locale/ctype_byname/1.cc: Name.
2134         * testsuite/22_locale/messages_byname/1.cc: New.
2135         * testsuite/22_locale/messages_byname/named_equivalence.cc: New.
2136         * testsuite/22_locale/moneypunct_byname/1.cc: Derivation test.
2137         * testsuite/22_locale/moneypunct_byname/named_equivalence.cc: New.
2138         * testsuite/22_locale/numpunct/1.cc: Edit.
2139         * testsuite/22_locale/numpunct_byname/2.cc: Move...
2140         * testsuite/22_locale/numpunct/members/char/3.cc: ...here.
2141         * testsuite/22_locale/numpunct_byname/1.cc: Derivation tests.
2142         * testsuite/22_locale/numpunct_byname/named_equivalence.cc: New.
2143
2144 2003-10-22  Paolo Carlini  <pcarlini@suse.de>
2145
2146         PR libstdc++/8610
2147         * acinclude.m4 (GLIBCXX_CHECK_INT64_T): New macro,
2148         checking for the availability of int64_t.
2149         (GLIBCXX_CHECK_LFS): New macro, checking for LFS support.
2150         * configure.ac: Call here.
2151         * acconfig.h: Add undef for the corresponding symbols.
2152         * config/io/basic_file_stdio.cc (__basic_file<char>::open):
2153         Depending on _GLIBCXX_USE_LFS, call fopen64 or fopen.
2154         (__basic_file<char>::seekoff): Likewise, call lseek64 when
2155         available, otherwise lseek, checking the __off parameter.
2156         * include/bits/postypes.h: Typedef __streamoff_base_type
2157         to int64_t if available, otherwise long long.
2158         * aclocal.m4: Regenerate.
2159         * config.h.in: Likewise.
2160         * configure: Likewise.
2161
2162         * acinclude.m4 (GLIBCXX_CHECK_POLL, GLIBCXX_CHECK_WRITEV):
2163         Use AC_TRY_LINK instead of AC_TRY_COMPILE.
2164         
2165 2003-10-22  Paolo Carlini  <pcarlini@suse.de>
2166
2167         PR libstdc++/12657
2168         * include/bits/basic_ios.tcc (copyfmt(const basic_ios&)):
2169         Implement resolution of DR 292 (WP).
2170         * docs/html/ext/howto.html: Add entry for DR 292.
2171
2172 2003-10-21  Benjamin Kosnik  <bkoz@redhat.com>
2173
2174         * include/ext/mt_allocator.h: Change include to gthr.h.
2175         * include/ext/rope: Same. Add _Refcount_base definitions.
2176         * include/ext/pool_allocator.h: Adjust namespaces.
2177         * include/bits/stl_threads.h (_Refcount_base): Move.
2178         Put remaining into namespace __gnu_cxx.
2179         
2180 2003-10-21  Benjamin Kosnik  <bkoz@redhat.com>
2181  
2182         PR libstdc++/9858
2183         * include/bits/locale_facets.h (ctype<char>): Remove
2184         __ctype_abstract_base.
2185         (ctype<char>::do_is): Remove.
2186         (ctype<char>::do_scan_is): Remove.
2187         * src/ctype.cc: Same. Inline the rest.
2188         * testsuite/22_locale/ctype/is/char/9858.cc: New.
2189         * config/os/aix/ctype_noninline.h: Adjust ctor.
2190         * config/os/bsd/freebsd/ctype_noninline.h: Same.
2191         * config/os/bsd/netbsd/ctype_noninline.h: Same.
2192         * config/os/djgpp/ctype_noninline.h: Same.
2193         * config/os/generic/ctype_noninline.h: Same.
2194         * config/os/gnu-linux/ctype_noninline.h: Same.
2195         * config/os/hpux/ctype_noninline.h: Same.
2196         * config/os/irix/irix5.2/ctype_noninline.h: Same.
2197         * config/os/irix/irix6.5/ctype_noninline.h: Same.
2198         * config/os/mingw32/ctype_noninline.h: Same.
2199         * config/os/newlib/ctype_noninline.h: Same.
2200         * config/os/qnx/qnx6.1/ctype_noninline.h: Same.
2201         * config/os/solaris/solaris2.5/ctype_noninline.h: Same.
2202         * config/os/solaris/solaris2.6/ctype_noninline.h: Same.
2203         * config/os/solaris/solaris2.7/ctype_noninline.h: Same.
2204         * config/os/windiss/ctype_noninline.h: Same.
2205
2206 2003-10-21  Paolo Carlini  <pcarlini@suse.de>
2207
2208         * src/locale.cc: Tweak a comment.
2209         * src/localename.cc: Move a comment.
2210
2211 2003-10-20  Benjamin Kosnik  <bkoz@redhat.com>
2212  
2213         PR libstdc++/10081
2214         * testsuite_hooks.h: Add pod_type, ctype and numpunct specializations.
2215         * testsuite_hooks.cc: Same.
2216         * 22_locale/numpunct/members/pod/1.cc: Edit.
2217         * 22_locale/numpunct/members/pod/2.cc: Same.
2218         * 27_io/basic_istream/sentry/char/3983-fstream.cc: Move ...
2219         * 27_io/basic_istream/sentry/char/3983-sstream.cc: Move ...
2220         * 27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc: Here.
2221         * 27_io/basic_istream/extractors_character/pod/3983-2.cc: Here.
2222         * 27_io/basic_istream/extractors_other/pod/3983-3.cc: Here.
2223         * 27_io/basic_ostream/sentry/char/3983-fstream.cc: Remove.
2224         * 27_io/basic_ostream/sentry/char/3983-sstream.cc: Remove.
2225         * 27_io/basic_istream/sentry/pod/1.cc: New.
2226         * 27_io/basic_ostream/sentry/pod/1.cc: New.
2227         * 21_strings/basic_string/inserters_extractors/pod/10081-in.cc: New.
2228         * 21_strings/basic_string/inserters_extractors/pod/10081-out.cc: New.
2229
2230 2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2231
2232         * config/cpu/mips/atomicity.h (__atomic_add): Use _ABIO32 instead
2233         of external _MIPS_SIM_ABI32.
2234
2235 2003-10-20  Phil Edwards  <phil@codesourcery.com>
2236
2237         * configure.ac:  Fix comment typo.
2238         * configure.host:  Add vxworks to host_os switch.
2239         * crossconfig.m4:  Remove old commented os_include_dir variables
2240         left over from autotools transition.
2241         (*-vxworks):  New stanza.
2242         (*-windiss):  Add missing symbols.
2243         * configure:  Regenerate.
2244         * config/os/vxworks/ctype_base.h, config/os/vxworks/ctype_inline.h,
2245         config/os/vxworks/ctype_noninline.h, config/os/vxworks/os_defines.h:
2246         New files.
2247         * config/os/windiss/os_defines.h:  Define __C9X__.
2248
2249 2003-10-19  David Edelsohn  <edelsohn@gnu.org>
2250
2251         PR other/12506
2252         * configure.host (aix4,aix*): Define os_include_dir to os/generic.
2253
2254 2003-10-18  Andreas Tobler  <a.tobler@schweiz.ch>
2255
2256         * src/locale.cc (locale::_S_initialize): Re-apply workaround a
2257         confusion of the use of the gthr API when __gthread_active_p()
2258         returns true.
2259
2260 2003-10-17  Benjamin Kosnik  <bkoz@redhat.com>
2261  
2262         * src/Makefile.am: Add new files.
2263         * src/Makefile.in: Regenerate.
2264         * src/globals.cc: Split into..
2265         * src/globals_io.cc: New.
2266         * src/globals_locale.cc: New.
2267         * src/ios.cc: Split into...
2268         * src/ios_init.cc: New.
2269         * src/ios_locale.cc: New.
2270         * src/locale-inst.cc: Split into..
2271         * src/wlocale-inst.cc: New.
2272         * src/locale-misc-inst.cc: New.
2273         * src/locale.cc, src/localename: Split into...
2274         * src/locale_facets.cc: New.
2275         * src/locale_init.cc: New.
2276         * src/wstring-inst.cc: Add copyright info.
2277
2278 2003-10-16  Petur Runolfsson  <peturr02@ru.is>
2279
2280         PR libstdc++/11450
2281         PR libstdc++/11543
2282         PR libstdc++/12065
2283         * config/io/basic_file_stdio.cc (__basic_file::seekoff):
2284         Change return value from streampos to streamoff.
2285         (__basic_file::seekpos): Delete.
2286         * config/io/basic_file_stdio.h: Same.
2287         * config/io/c_io_stdio.h: Remove streamoff and wstreamsize typedefs.
2288         * include/Makefile.am (bits_headers): Add bits/postypes.h.
2289         * include/bits/char_traits.h: Include bits/postypes.h instead of
2290         bits/fpos.h.
2291         * include/bits/fstream.tcc (basic_filebuf::open,
2292         basic_filebuf::pbackfail): Don't use < or >= to compare pos_type
2293         values, use == and != instead.
2294         (basic_filebuf::_M_seek): Use explicit conversion from streamoff
2295         to pos_type.
2296         (basic_filebuf::imbue):  Don't use ! on pos_type values, use
2297         == instead. Don't use __check_facet(_M_codecvt) unless is_open().
2298         * include/bits/postypes.h: New file.
2299         Add __streamoff_base_type typedef, streamsize.
2300         (streamoff, streampos, wstreampos): Define typedefs, with
2301         streamoff defined as...
2302         (streamoff): New class. Document implementation defined
2303         aspects.
2304         (fpos): New implementation. Document implementation defined
2305         aspects.
2306         * include/bits/sstream.tcc (basic_stringbuf::seekpos): Use
2307         explicit conversion from pos_type to off_type.
2308         * include/std/std_iosfwd.h: Include bits/postypes.h instead
2309         of bits/fpos.h.
2310         * testsuite/27_io/basic_filebuf/seekoff/char/11543.cc: New test.
2311         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc: New test.
2312         * testsuite/27_io/fpos/11450.cc: New test.
2313         * testsuite/27_io/fpos/mbstate_t/12065.cc: New test.
2314         * testsuite/27_io/fpos/mbstate_t/4_neg.cc: New test.
2315         * testsuite/27_io/types/3.cc: New test.
2316
2317 2003-10-16  Benjamin Kosnik  <bkoz@redhat.com>
2318
2319         * configure.host: Remove fpos_include_dir.
2320         * configure.ac: Remove FPOS_INC_SRCDIR.
2321         * configure: Regenerate.
2322         * acinclude.m4 (GLIBCXX_ENABLE_CSTDIO): Remove FPOS_H.
2323         * aclocal.m4: Regenerate.
2324         * include/Makefile.am (host_headers): Remove fpos.h.
2325         (bits_headers): Add postypes.h.
2326         * include/Makefile.in: Regenerate.
2327         * config/os/gnu-linux/fposh: Remove.
2328         * config/os/generic/fpos.h: Remove.
2329
2330         * testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Fixup.
2331         * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Same.
2332         * testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Same.
2333         * testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Same.
2334         * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Same.
2335         * testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Same.
2336         * testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Same.
2337         * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Same.
2338         * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Same.
2339         * testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Same.
2340         * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Same.
2341         * testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Same.
2342         * testsuite/27_io/basic_istream/seekg/char/2.cc: Same.
2343         * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Same.
2344         * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Same.
2345         * testsuite/27_io/fpos/mbstate_t/3.cc: Same.
2346         * testsuite/27_io/objects/char/10.cc: Same.
2347
2348 2003-10-16  Paolo Carlini  <pcarlini@suse.de>
2349
2350         * src/locale.cc (locale::locale(const char*)): ... one
2351         more comparison missed in the previous commit.
2352
2353 2003-10-16  Benjamin Kosnik  <bkoz@redhat.com>
2354
2355         * acconfig.h: Add HAVE_DRAND48.
2356         * crossconfig.m4: Remove ISATTY.
2357         * aclocal.m4: Regenerated.
2358         * config.h.in: Regenerated.
2359         * configure: Regenerated.
2360         
2361 2003-10-16  Bernardo Innocenti  <bernie@develer.com>
2362
2363         * config/cpu/m68k/atomicity.h (__exchange_and_add): Use TAS on
2364         __mcf5400__. Don't rely on __mc68000__ to detect a bare 68000.
2365         Document SMP safeness of asm macros.
2366
2367 2003-10-16  Paolo Carlini  <pcarlini@suse.de>
2368
2369         * src/locale.cc (locale::locale(const char*)): Tweak
2370         a couple of comparisons to use basic_string operators.
2371
2372 2003-10-16  Paolo Carlini  <pcarlini@suse.de>
2373
2374         PR libstdc++/12540
2375         * config/locale/gnu/monetary_members.cc
2376         (moneypunct<wchar_t, true/false>::_M_initialize_moneypunct):
2377         Don't leak memory if new throws.
2378         * src/locale.cc (locale::locale(const char*)): In order not
2379         to leak memory in case new throws, use a basic_string type
2380         for __res too and avoid strdup.
2381
2382 2003-10-14  Jeff Bailey  <jbailey@nisa.net>
2383         
2384         PR libstdc++/12562
2385         * crossconfig.m4: Share the config between *-linux* and *-gnu*.
2386         * configure: Regenerate.
2387
2388 2003-10-14  Carlo Wood  <carlo@alinoe.com>
2389
2390         PR libstdc++/12600
2391         * include/bits/demangle.h (session<Allocator>::
2392           decode_unqualified_name(string_type& output)): Fail on a
2393           <operator-name> when decoding <template-argument>.
2394         * testsuite/demangle/regression/cw-15.cc: New.
2395
2396 2003-10-14  Paolo Carlini  <pcarlini@unitus.it>
2397
2398         PR libstdc++/11480
2399         * include/bits/stl_algo.h (unique): Fix.
2400         * testsuite/25_algorithms/unique.cc: Move to unique/1.cc.
2401         * testsuite/25_algorithms/unique/11480.cc: New, from the PR.
2402         * testsuite/25_algorithms/unique/2.cc: New.
2403
2404 2003-10-14  Paolo Carlini  <pcarlini@unitus.it>
2405
2406         * src/localename.cc (_M_replace_categories, M_replace_facet):
2407         Const-ify a couple of variables.
2408
2409 2003-10-14  Petur Runolfsson  <peturr02@ru.is>
2410             Andreas Tobler  <a.tobler@schweiz.ch>
2411
2412         * src/locale.cc (locale::_S_initialize): Workaround a confusion
2413         of the use of the gthr API when __gthread_active_p() returns true.
2414
2415 2003-10-12  Petur Runolfsson  <peturr02@ru.is>
2416             Paolo Carlini  <pcarlini@unitus.it>
2417
2418         PR libstdc++/11460
2419         * src/strstream.cc (pbackfail): Fix to use to_int_type.
2420         * testsuite/backward/11460.cc: New, from the PR.
2421
2422 2003-10-12  Paolo Carlini  <pcarlini@unitus.it>
2423
2424         * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
2425         Change #ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS to a comment.
2426         * include/bits/basic_string.tcc: Likewise.
2427         * include/bits/ios_base.h: Likewise.
2428         * include/bits/istream.tcc: Likewise.
2429         * include/bits/locale_facets.tcc: Likewise.
2430         * include/bits/ostream.tcc: Likewise.
2431         * include/bits/stl_function.h: Likewise.
2432         * include/bits/stl_multiset.h: Likewise.
2433         * include/bits/stl_pair.h: Likewise.
2434         * include/bits/stl_set.h: Likewise.
2435         * include/bits/streambuf_iterator.h
2436         * include/std/std_iosfwd.h: Likewise.
2437         * include/std/std_istream.h: Likewise.
2438         * include/std/std_sstream.h: Likewise.
2439         * include/std/std_streambuf.h: Likewise.
2440         * src/ios.cc: Likewise.
2441         * include/bits/c++config:
2442         Comment out #define _GLIBCXX_RESOLVE_LIB_DEFECTS 1.
2443         * testsuite/27_io/ios_base/cons/assign_neg.cc: Tweak a
2444         dg-error directive due to removal of a blank line.
2445         * testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
2446
2447 2003-10-12  Andreas Tobler  <a.tobler@schweiz.ch>
2448             Paolo Carlini  <pcarlini@unitus.it>
2449
2450         PR libstdc++/11844/11740 (cont)
2451         * config/os/generic/ctype_inline.h (ctype<char>::is):
2452         Generically, use a bitmasksize of 15 (instead of 10);
2453         Fix the logic to actually return (M & m) != 0 as per
2454         22.2.1.1.2.
2455
2456 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
2457
2458         * crossconfig.m4 (*-uclinux*): New target.
2459         * configure: Regenerate.
2460
2461 2003-10-10  Paolo Carlini  <pcarlini@unitus.it>
2462
2463         * include/bits/ostream.tcc (operator<<(basic_ostream&, _CharT))
2464         Avoid unnecessarily calling __builtin_alloca and dealing
2465         explicitly with width() smaller than zero.
2466         (operator<<(basic_ostream&, char), operator<<(basic_ostream&,
2467         const _CharT*), operator<<(basic_ostream<_CharT, _Traits>&,
2468         const char*), operator<<(basic_ostream<char, _Traits>&,
2469         const char*), operator<<(basic_ostream, const basic_string&)):
2470         Likewise.
2471
2472 2003-10-09  Benjamin Kosnik  <bkoz@redhat.com>
2473
2474         * config/linker-map.gnu: Make more *_type_info bits visible.
2475         Move new/delete bits back into GLIBCXX space.
2476
2477         * include/bits/locale_classes.h: Move _M_id out of line, so that
2478         locale::id::_S_highwater can be removed from the export list.
2479         * src/locale.cc (locale::id::_M_id): Define.
2480         
2481 2003-10-09  Andreas Tobler  <a.tobler@schweiz.ch>
2482
2483         * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_64 for
2484         SPARC64.
2485
2486 2003-10-09  Paolo Carlini  <pcarlini@unitus.it>
2487
2488         PR libstdc++/11844
2489         * config/os/aix/ctype_base.h: Fix 'alnum' and 'graph'
2490         to conform to the requirements of 22.2.1.
2491         * config/os/bsd/freebsd/ctype_base.h: Likewise.
2492         * config/os/djgpp/ctype_base.h: Likewise.
2493         * config/os/generic/ctype_base.h: Likewise.
2494         * config/os/gnu-linux/ctype_base.h: Likewise.
2495         * config/os/hpux/ctype_base.h: Likewise.
2496         * config/os/irix/irix6.5/ctype_base.h: Likewise.
2497         * config/os/solaris/solaris2.6/ctype_base.h: Likewise.
2498         * config/os/solaris/solaris2.7/ctype_base.h: Likewise.
2499         * testsuite/22_locale/ctype/11844.cc: New.
2500
2501         * config/locale/generic/ctype_members.cc (do_is):
2502         Generically, use a bitmasksize of 15 (instead of 10), since
2503         we don't know the numerical encoding of the various categories
2504         in the underlying /usr/include/ctype.h.
2505
2506 2003-10-09  Benjamin Kosnik  <bkoz@redhat.com>
2507
2508         * src/string-inst.cc: Prune.
2509         * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
2510         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
2511         
2512 2003-10-09  Petur Runolfsson  <peturr02@ru.is>
2513
2514         * src/io-inst.cc: Don't include iostream.
2515         * include/bits/ios_base.h (ios_base::failure): Use string.
2516         * src/Makefile.am: Add ios_failure.cc.
2517         * src/Makefile.in: Regenerate.
2518         * src/ios.cc: Move ios_base::failure definitions to...
2519         * src/ios_failure.cc: ...here. New.
2520
2521 2003-10-09  Petur Runolfsson  <peturr02@ru.is>
2522
2523         PR libstdc++/9874
2524         * include/bits/fstream.tcc (basic_filebuf::seekoff):
2525         Move code needed for both seekoff and seekpos...
2526         (basic_filebuf::_M_seek): ...here. New function.
2527         (basic_filebuf::seekpos): Don't call seekoff, call _M_seek.
2528         * include/std/std_fstream.h (basic_filebuf::_M_seek): Declare it.
2529         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: New test.
2530
2531         * testsuite/22_locale/locale/cons/12438.cc: Increase memory limit.
2532
2533 2003-10-08  Paolo Carlini  <pcarlini@unitus.it>
2534
2535         * include/bits/locale_facets.tcc: More minor cosmetic
2536         changes and const-ifications of some variables.
2537
2538 2003-10-07  Paolo Carlini  <pcarlini@unitus.it>
2539
2540         * include/bits/locale_facets.tcc: Minor cosmetic changes
2541         and const-ifications of some variables.
2542
2543         * include/bits/locale_facets.tcc
2544         (money_get::do_get(..., string_type&)): Simplify an if-else.
2545
2546 2003-10-06  Paolo Carlini  <pcarlini@unitus.it>
2547
2548         PR libstdc++/11740
2549         * config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_is):
2550         Fix to actually return (M & m) != 0 as per 22.2.1.1.2.
2551         * config/locale/generic/ctype_members.cc: Same.
2552         * testsuite/22_locale/ctype/is/wchar_t/11740.cc: New.
2553
2554 2003-10-06  Paolo Carlini  <pcarlini@unitus.it>
2555
2556         * include/bits/locale_facets.tcc (__pad<>::_S_pad):
2557         Improve performance-wise: avoid one traits::copy, avoid
2558         the __builtin_alloca, streamline.
2559
2560 2003-10-05  Paolo Carlini  <pcarlini@unitus.it>
2561
2562         * include/bits/locale_facets.tcc
2563         (num_put::do_put(..., bool)): Prefer ?: to if-else.
2564         (time_get::_M_extract_name): Qualify min with std::.
2565         (__pad<>::_S_pad): Constify two variables; simplify an
2566         if-else statement factoring out some code.
2567
2568         * include/bits/locale_facets.tcc: Minor cosmetic changes.
2569
2570 2003-10-04  Paolo Carlini  <pcarlini@unitus.it>
2571
2572         * include/bits/locale_facets.tcc (num_get::_M_extract_float):
2573         Constify a couple of variables.
2574         (num_get::do_get(..., bool&)): Constify __c; prefer *__beg,
2575         ++__beg to *__beg++.
2576
2577 2003-10-04  Paolo Carlini  <pcarlini@unitus.it>
2578             Petur Runolfsson  <peturr02@ru.is>
2579
2580         * include/ext/stdio_sync_filebuf.h: Don't include the whole
2581         <fstream>, only <streambuf> and <cstdio>.
2582
2583 2003-10-04  Paolo Carlini  <pcarlini@unitus.it>
2584
2585         PR libstdc++/12206
2586         * include/bits/fstream.tcc (imbue): In case a codecvt facet
2587         is not available, set _M_codecvt = 0.
2588         * testsuite/27_io/basic_filebuf/imbue/12206.cc: New.
2589
2590 2003-10-02  Harald Boehme  <boehme@informatik.hu-berlin.de>
2591
2592         PR libstdc++/12451
2593         * libsupc++/cxxabi.h: Move forward declaration of __class_type_info.
2594         
2595 2003-10-02  Benjamin Kosnik  <bkoz@redhat.com>
2596
2597         * include/bits/locale_classes.h (locale::facet::_S_get_c_name): Add.
2598         * src/locale.cc: Define.
2599         * src/localename.cc: Use it.
2600         * config/locale/generic/time_members.h: Same.
2601         * config/locale/gnu/messages_members.h: Same.
2602         * config/locale/gnu/time_members.h: Same.
2603
2604 2003-10-02  Paolo Carlini  <pcarlini@unitus.it>
2605
2606         PR libstdc++/12232
2607         * include/bits/fstream.tcc (seekoff): Ignore the openmode
2608         argument; simplify.
2609         * config/io/basic_file_stdio.h (__basic_file<char>::seekoff,
2610         seekpos): Remove the openmode argument.
2611         * config/io/basic_file_stdio.cc (__basic_file<char>::seekoff,
2612         seekpos): Remove redundant placeholder for the openmode argument.
2613         * testsuite/27_io/basic_filebuf/seekoff/char/12232.cc: New.
2614         * testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Tweak.
2615         * testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc: Likewise.
2616         * testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Likewise.
2617         * testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc: Likewise.
2618
2619 2003-10-02  Benjamin Kosnik  <bkoz@redhat.com>
2620
2621         * src/locale.cc (locale::_S_initialize): Use __gthread_active_p.
2622         (locale::facet::_S_get_c_locale): Same.
2623         
2624 2003-10-02  Benjamin Kosnik  <bkoz@redhat.com>
2625
2626         * config/linker-map.gnu: Export _S_get_c_locale instead of
2627         _S_c_locale object.
2628
2629 2003-10-02  Petur Runolfsson  <peturr02@ru.is>
2630
2631         * config/locale/generic/c_locale.cc
2632         (category_names, locale::_S_categories): Const qualify.
2633         * config/locale/gnu/c_locale.cc: Same.
2634         * config/locale/generic/time_members.h (__timepunct::__timepunct):
2635         Copy string contents before assigning to _M_name_timepunct,
2636         qualify strcpy and strlen with std::.
2637         * config/locale/gnu/time_members.h: Same.
2638         * config/locale/gnu/messages_members.h (messages::messages):
2639         Copy string contents before assigning to _M_name_messages,
2640         qualify strcpy and strlen with std::.
2641         * config/os/gnu-linux/ctype_noninline.h
2642         (ctype<char>::classic_table()): Don't call locale::classic().
2643         * include/bits/locale_classes.h
2644         (locale::_S_categories): Const qualify. 
2645         (locale::_S_once, locale::_S_initialize_once,
2646         locale::facet::_S_once, locale::facet::_S_initialize_once,
2647         locale::facet::_S_get_c_locale): Declare.
2648         (locale::_S_initialize): Don't define.
2649         (locale::facet::_S_c_locale): Make private.
2650         (locale::facet::_S_c_name): Same, const qualify.
2651         (locale::_Impl::_Impl(facet**, size_t, bool)): Drop unused
2652         parameters, add throw() specifier.
2653         * include/bits/locale_facets.h (__timepunct::_M_name_timepunct,
2654         messages::_M_name_messages): Const qualify.
2655         * src/locale.cc
2656         (locale::_S_once, locale::facet::_S_once): Define.
2657         (locale::classic): Move initialization code...
2658         (locale::_S_initialize_once): ...here.  
2659         (locale::_S_initialize): Call _S_initialize_once through
2660         __gthread_once.
2661         (locale::facet::_S_initialize_once): Initialize _S_c_locale.
2662         (locale::facet::_S_get_c_locale): Call _S_initialize_once through
2663         __gthread_once before returning _S_c_locale.
2664         * src/localename.cc (locale::_Impl::_Impl(facet**, size_t, bool)):
2665         Drop unused parameters, add throw() specifier, don't initialize
2666         locale::facet::_S_c_locale and _S_c_name.
2667         
2668         * config/locale/generic/messages_members.h:
2669         Replace _S_c_locale with _S_get_c_locale().
2670         * config/locale/gnu/c_locale.cc: Same.
2671         * config/locale/gnu/messages_members.h: Same.
2672         * config/locale/gnu/numeric_members.cc: Same.
2673         * config/locale/gnu/time_members.cc: Same.
2674         * config/os/gnu-linux/ctype_noninline.h: Same.
2675         * include/bits/locale_facets.h: Same.
2676         * include/bits/locale_facets.tcc: Same.
2677         * src/codecvt.cc: Same.
2678         * src/ctype.cc: Same.
2679
2680 2003-10-02  Carlo Wood  <carlo@alinoe.com>
2681
2682         * include/bits/demangle.h (demangle<Allocator>::symbol(char const*)):
2683         Decode symbols that start with _GLOBAL_[ID]_ differently: the
2684         trailing part ends with a terminating zero and is not necessarily an
2685         encoding.
2686         * src/demangle.cc (): Same.
2687         * testsuite/demangle/regression/cw-13.cc: Adjust for new output.
2688
2689 2003-10-02  Paolo Carlini  <pcarlini@unitus.it>
2690
2691         * testsuite/22_locale/locale/cons/12438.cc: Use
2692         __gnu_test::try_named_locale("").
2693
2694 2003-10-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2695
2696         * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_0): Define.
2697         (GLIBCXX_CHECK_STDLIB_SUPPORT): Use it to test for lrand48
2698         instead of drand48.
2699         * acconfig.h (HAVE_DRAND48): Renamed to HAVE_LRAND48.
2700         * crossconfig.m4 (*-freebsd*): Define HAVE_LRAND48 instead of
2701         HAVE_DRAND48.
2702         * config.h.in, configure: Regenerate.
2703         * include/bits/stl_algo.h: Use _GLIBCXX_HAVE_LRAND48 to guard
2704         lrand48 use.
2705
2706 2003-10-01  Nathan Myers  <ncm@cantrip.org>
2707
2708         * include/bits/locale_facets.tcc (time_put::put): Avoid
2709         expensive *__s++, in favor of *__s, ++__s.
2710
2711 2003-10-01  Paolo Carlini  <pcarlini@unitus.it>
2712
2713         * include/bits/locale_facets.tcc (time_put::put): Minor
2714         tweak to the previous commit.
2715
2716 2003-10-01  Paolo Carlini  <pcarlini@unitus.it>
2717
2718         PR libstdc++/12439
2719         * include/bits/locale_facets.tcc (time_put::put): Deal
2720         with the three issues pointed out by the PR.
2721         * testsuite/22_locale/time_put/put/char/12439_1.cc: New.
2722         * testsuite/22_locale/time_put/put/char/12439_3.cc: New.
2723         * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: New.
2724         * testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: New.
2725         * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: New.
2726
2727 2003-09-30  Paolo Carlini  <pcarlini@unitus.it>
2728
2729         * include/bits/stl_algo.h: Minor cosmetic reformattings.
2730
2731 2003-09-30  Paolo Carlini  <pcarlini@unitus.it>
2732
2733         * include/bits/stl_algo.h (search_n): Tweak, to spare the
2734         first --__n.
2735
2736 2003-09-30  Paolo Carlini  <pcarlini@unitus.it>
2737
2738         * testsuite/22_locale/locale/cons/12352.cc: Explicitly
2739         qualify exception name.
2740
2741 2003-09-30  Paolo Carlini  <pcarlini@unitus.it>
2742
2743         PR libstdc++/12438
2744         * include/bits/locale_facets.tcc (locale::combine): Don't
2745         leak memory if _M_replace_facet throws.
2746         * testsuite/22_locale/locale/cons/12438.cc: New, from the PR.
2747
2748         * include/bits/locale_classes.h (locale::locale(const locale&,
2749         _Facet*)): Tweak, use consistently _M_remove_reference.
2750
2751 2003-09-30  Paolo Carlini  <pcarlini@unitus.it>
2752
2753         PR libstdc++/12352 (cont)
2754         * src/localename.cc (locale::_Impl::_Impl(const char*, size_t)):
2755         Don't leak __cloc; don't leak if any of the _M_init_facet(...)
2756         calls fail.
2757         (locale::_Impl::_Impl(const _Impl&, size_t)): Tweak.
2758         (locale::_Impl::~_Impl): Don't do anything if !_M_facets,
2759         !_M_caches, !_M_names.
2760
2761 2003-09-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2762
2763         * configure.host: Handle Solaris 2.5 micro releases explicitly.
2764         Remove wildcards from Solaris 2.6, 7-9: there were no
2765         micro releases.
2766         Treat Solaris 10 and up like 7-9.
2767
2768 2003-09-29  Paolo Carlini  <pcarlini@unitus.it>
2769
2770         * include/bits/stl_algo.h (search_n): Improve the previous
2771         fix as suggested by Martin.
2772
2773 2003-09-29  Paolo Carlini  <pcarlini@unitus.it>
2774
2775         PR libstdc++/12296
2776         * include/bits/istream.tcc (peek): Set eofbit if sgetc
2777         returns eof.
2778         * testsuite/27_io/basic_istream/peek/char/12296.cc:
2779         New, from the PR.
2780
2781 2003-09-29  Nathan Myers  <ncm@cantrip.org>
2782             Paolo Carlini  <pcarlini@unitus.it>
2783
2784         PR libstdc++/11400
2785         * include/bits/stl_algo.h (search_n):
2786         Use iterator_traits<>::difference_type for __n.
2787         * testsuite/25_algorithms/search_n/11400.cc: New, from the PR.
2788
2789 2003-09-29  Paolo Carlini  <pcarlini@unitus.it>
2790
2791         * testsuite/22_locale/locale/cons/12352.cc:
2792         Use __attribute__((unused)) for test.
2793
2794 2003-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
2795
2796         * testsuite/22_locale/time_put/put/char/2.cc (test_02): Allow either 
2797         "Son" or "So" as abbreviated name for Sunday in de_DE locale.
2798         * testsuite/22_locale/time_put/put/wchar_t/2.cc (test_02): Likewise.
2799
2800 2003-09-26  Brad Spencer  <spencer@infointeractive.com>
2801
2802         * testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc:
2803         Explicitly qualify exceptions.
2804         * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: Same.
2805         * testsuite/27_io/basic_istream/sentry/char/3983-sstream.cc: Same.
2806         * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
2807         * testsuite/27_io/basic_ostream/sentry/char/3983-sstream.cc: Same.
2808         
2809 2003-09-25  Paolo Carlini  <pcarlini@unitus.it>
2810
2811         PR libstdc++/12352
2812         * src/localename.cc (locale::_Impl::_Impl(const _Impl&,
2813         size_t)): Don't leak if memory allocations for _M_facets,
2814         _M_caches, and _M_names fail.
2815         (locale::_Impl::_Impl(const char*, size_t)): Ditto.
2816         (locale::_Impl::_M_replace_categories(const _Impl*,
2817         category)): Ditto.
2818         (locale::_Impl::_M_install_facet(const locale::id*,
2819         const facet*)): Ditto.
2820         * include/bits/locale_classes.h (locale::locale(const locale&,
2821         _Facet*)): Don't leak memory.
2822         * testsuite/22_locale/locale/cons/12352.cc: New, from the PR.
2823
2824         * src/localename.cc (locale::_Impl::_Impl(facet**, size_t,
2825         bool)): Qualify with std:: strcpy, tweak.
2826         * include/bits/locale_classes.h
2827         (locale::_Impl::_M_check_same_name): Qualify strcmp.
2828
2829 2003-09-25  Brad Spencer  <spencer@infointeractive.com>
2830
2831         PR libstdc++/6072
2832         * acinclude.m4: Split out checks for vfwscanf, vswscanf, vwscanf,
2833         wcstof, iswblank.       
2834         * aclocal.m4: Regenerate.
2835         * config.h.in: Regenerate.
2836         * configure: Regenerate.
2837         * crossconfig.m4: Add in wchar_t bits for solaris crosses.
2838         * config/io/basic_file_stdio.cc: Guard unistd.h.
2839         * include/c_compatibility/wchar.h: Guard extra wchar_t functionality.
2840         * include/c_std/std_cwchar.h: Same.
2841         * include/c_std/std_cwctype.h: Same.
2842         
2843 2003-09-25  Benjamin Kosnik  <bkoz@redhat.com>
2844
2845         PR libstdc++/11065
2846         * config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_is): Fix.
2847         * config/locale/generic/ctype_members.cc: Same.
2848         * testsuite/22_locale/ctype/is/char/1.cc: Initialize mask.
2849         * testsuite/22_locale/ctype/is/wchar_t/1.cc: Same.
2850
2851         * config/os/generic/ctype_inline.h: Update.
2852         
2853 2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
2854
2855         * src/Makefile.am (version_dep): New variable.
2856         (libstdc___la_DEPENDENCIES): Use it to add dependency on
2857         libstdc++-symbol.ver only when using symbol versioning.
2858         * src/Makefile.in: Regenerate.
2859
2860 2003-09-23  Benjamin Kosnik  <bkoz@redhat.com>
2861
2862         * include/bits/locale_facets.tcc: Tweak to avoid warnings.
2863         * testsuite/testsuite_hooks.h: Same.
2864         * testsuite/*/*.cc: Same.
2865
2866 2003-09-22  Petur Runolfsson  <peturr02@ru.is>
2867
2868         * include/bits/istream.tcc (basic_istream::read,
2869         basic_istream::readsome, basic_istream::putback,
2870         basic_istream::unget, operator>>(basic_istream, CharT)):
2871         Avoid redundant setstate(failbit) calls when sentry::operator bool()
2872         returns false.
2873
2874 2003-09-22  Carlo Wood  <carlo@alinoe.com>
2875
2876         PR libstdc++/12365
2877         * include/bits/demangle.h (qualifier(int, cv_qualifier_nt,
2878         char const*, int, int)):  Remove unused identifier
2879         cv_qualifier for overloaded constructor.
2880
2881 2003-09-18  Benjamin Kosnik  <bkoz@redhat.com>
2882
2883         PR libstdc++/11504
2884         * acinclude.m4 (GLIBCXX_EXPORT_FLAGS): Add -Wcast-qual to
2885         WARN_FLAGS, remove -Wno-format.
2886         * aclocal.m4: Regenerate.
2887         * configure: Regenerate.
2888
2889 2003-09-18  Petur Runolfsson  <peturr02@ru.is>
2890
2891         * config/io/basic_file_stdio.cc (sys_getc, sys_ungetc): Delete.
2892         * config/io/basic_file_stdio.h: Same.
2893         * include/std/std_fstream.h (__ctype_type): Delete.
2894         * include/std/std_streambuf.h (__ctype_type, __state_type): Delete.
2895         
2896 2003-09-17  Benjamin Kosnik  <bkoz@redhat.com>
2897
2898         PR libstdc++/12239
2899         * configure.host (abi_baseline_pair): Error out on solaris2
2900         configurations without a minor version number.
2901
2902 2003-09-13  Phil Edwards  <phil@codesourcery.com>
2903
2904         * docs/doxygen/run_doxygen:  Clear GENERATE_TAGFILE entirely
2905         if man pages are on.
2906         * docs/doxygen/user.cfg.in:  And here.
2907
2908 2003-09-10  Daniel Jacobowitz  <drow@mvista.com>
2909             Andreas Jaeger <aj@suse.de>
2910
2911         PR libstdc++/12189
2912         * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Don't build
2913         abi_check if cross compiling.
2914         * aclocal.m4: Regenerated.
2915         * configure: Regenerated.
2916
2917 2003-09-10  Jeffrey D. Oldham  <oldham@codesourcery.com>
2918
2919         * libsupc++/vec.cc (__cxa_vec_new2): If the allocator returns
2920         NULL, return NULL.  This reflects a C++ ABI change 2003 Sep 05.
2921         (__cxa_vec_new3): Likewise.
2922
2923 2003-09-10  Petur Runolfsson  <peturr02@ru.is>
2924
2925         * include/bits/fstream.tcc (basic_filebuf::seekoff):
2926         Use codecvt::length to handle variable-width stateless encodings
2927         correctly.
2928         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: New test.
2929         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc: New test.
2930
2931 2003-09-10  Alan Modra  <amodra@bigpond.net.au>
2932
2933         * config/io/basic_file_stdio.cc (_M_open_mode): Assign __p_mode
2934         rather than or'ing.
2935
2936 2003-09-09  Alan Modra  <amodra@bigpond.net.au>
2937
2938         * configure: Regenerate.
2939
2940 2003-09-09  David Edelsohn  <edelsohn@gnu.org>
2941
2942         * src/ios.cc (ios_base::Init::Init): Remove unnecessary
2943         qualifier from _S_synced_with_stdio.
2944
2945 2003-09-09  Bernardo Innocenti  <bernie@develer.com>
2946
2947         * include/c_std/std_cstdlib.h: Avoid using missing C library symbols.
2948
2949 2003-09-04  Petur Runolfsson  <peturr02@ru.is>
2950
2951         PR libstdc++/9028
2952         * include/bits/fstream.tcc
2953         (basic_filebuf::_M_destroy_internal_buffer): Destroy _M_ext_buf.
2954         (basic_filebuf::basic_filebuf): Initialize _M_ext_buf,
2955         _M_ext_buf_size, _M_ext_next and _M_ext_end.
2956         (basic_filebuf::underflow): Handle variable-width stateless
2957         encodings (codecvt::encoding() == 0), including UTF-8.
2958         * include/std/std_fstream.h (basic_filebuf):
2959         Declare _M_ext_buf, _M_ext_buf_size, _M_ext_next, _M_ext_end.
2960         * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: New test.
2961         * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: New test.
2962         * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: New test.
2963         * testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: New test.
2964         * testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: New test.
2965         * testsuite/27_io/objects/wchar_t/12.cc: New test.
2966         * testsuite/27_io/objects/wchar_t/13.cc: New test.
2967
2968 2003-09-04  Jonathan Wakely  <redi@gcc.gnu.org>
2969
2970         * docs/html/faq/index.html: Note that a namespace alias can't be
2971         used when specialising templates in extension namespace.
2972         * docs/html/faq/index.txt: Regenerate.
2973
2974 2003-09-03  Petur Runolfsson  <peturr02@ru.is>
2975
2976         PR libstdc++/12048
2977         * include/ext/stdio_sync_filebuf.h
2978         (stdio_sync_filebuf::_M_unget_buf): Declare it.
2979         (stdio_sync_filebuf::stdio_sync_filebuf): Initialize _M_unget_buf.
2980         (stdio_sync_filebuf::uflow): Store the returned character in
2981         _M_unget_buf.
2982         (stdio_sync_filebuf::pbackfail): If argument is eof(), pass
2983         _M_unget_buf to syncungetc(). Set _M_unget_buf to eof().
2984         (stdio_sync_filebuf<char>::xsgetn): Store last read character in
2985         _M_unget_buf, if any, else eof().
2986         (stdio_sync_filebuf<wchar_t>::xsgetn: Store last read character in
2987         _M_unget_buf, if any, else eof().
2988         * testsuite/27_io/objects/char/12048.cc: Rename to...
2989         * testsuite/27_io/objects/char/12048-1.cc: ...this.
2990         * testsuite/27_io/objects/char/12048-2.cc: New test.
2991         * testsuite/27_io/objects/char/12048-3.cc: New test.
2992         * testsuite/27_io/objects/char/12048-4.cc: New test.
2993         * testsuite/27_io/objects/char/12048-5.cc: New test. XFAIL.
2994         * testsuite/27_io/objects/wchar_t/12048-1.cc: New test.
2995         * testsuite/27_io/objects/wchar_t/12048-2.cc: New test.
2996         * testsuite/27_io/objects/wchar_t/12048-3.cc: New test.
2997         * testsuite/27_io/objects/wchar_t/12048-4.cc: New test.
2998         * testsuite/27_io/objects/wchar_t/12048-5.cc: New test. XFAIL.
2999         * testsuite/ext/stdio_sync_filebuf_char.cc
3000         (test02, test03, test04, test05): New tests.
3001         * testsuite/ext/stdio_sync_filebuf_wchar_t.cc
3002         (test02, test03, test04, test05): New tests.
3003
3004 2003-09-03  Petur Runolfsson  <peturr02@ru.is>
3005
3006         * docs/html/27_io/howto.html: setbuf(0, 0) has no effect on
3007         stringbuf or strstreambuf. Fix typos.
3008
3009 2003-09-02  Phil Edwards  <phil@codesourcery.com>
3010
3011         * acinclude.m4 (GLIBCXX_ENABLE_HOSTED):  #define _GLIBCXX_HOSTED
3012         appropriately.
3013         * config.h.in:  Add _GLIBCXX_HOSTED.
3014         * libsupc++/eh_term_handler.cc:  Test it here; initialize
3015         __terminate_handler to std::abort if freestanding.
3016         * aclocal.m4, configure:  Regenerated.
3017         * docs/html/configopts.html:  Document --disable-hosted-libstdcxx.
3018
3019 2003-08-29  Nathan Myers  <ncm@cantrip.org>
3020         
3021         PR libstdc++/11990      
3022         * include/bits/locale_facets.tcc (__pad): delete dead code.
3023
3024 2003-08-28  Alan Modra  <amodra@bigpond.net.au>
3025
3026         * configure.ac: Test $with_cross_host against $build_alias, not $build.
3027         * configure: Regenerate.
3028
3029 2003-08-27  Petur Runolfsson  <peturr02@ru.is>
3030
3031         * testsuite/27_io/objects/wchar_t/10.cc: Move wcout stuff...
3032         * testsuite/27_io/objects/wchar_t/11.cc: ...here. New file.
3033
3034 2003-08-27  Phil Edwards  <pme@gcc.gnu.org>
3035
3036         * Makefile.am:  Remove trailing whitespace.  Remove needless
3037         "foo = @foo@" assignments.  Replace direct uses of @foo@ with $(foo).
3038         * include/Makefile.am:  Likewise.
3039         * libmath/Makefile.am:  Likewise.
3040         * libsupc++/Makefile.am:  Likewise.
3041         * po/Makefile.am:  Likewise.
3042         * src/Makefile.am:  Likewise.
3043         * testsuite/Makefile.am:  Likewise.
3044
3045         * Makefile.in, include/Makefile.in, libmath/Makefile.in,
3046         libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
3047         testsuite/Makefile.in:  Regenerated.
3048
3049 2003-08-27  Phil Edwards  <pme@gcc.gnu.org>
3050
3051         * acinclude.m4 (GLIBCXX_EXPORT_INCLUDES):  Change quoting of
3052         includedir.
3053         * aclocal.m4, configure:  Regenerate.
3054
3055 2003-08-27  Daniel Jacobowitz  <drow@mvista.com>
3056
3057         * acinclude.m4: Include no-executables.m4.
3058         * configure.ac: Uncomment GCC_NO_EXECUTABLES.
3059         * aclocal.m4: Regenerated.
3060         * configure: Regenerated.
3061
3062 2003-08-27  Daniel Jacobowitz  <drow@mvista.com>
3063
3064         * acinclude.m4: Don't call AC_ISC_POSIX.
3065         * aclocal.m4: Regenerated.
3066         * configure: Regenerated.
3067
3068 2003-08-27  Phil Edwards  <pme@gcc.gnu.org>
3069
3070         * acinclude.m4 (GLIBCXX_CONDITIONAL):  New macro.  Wrap
3071         AM_CONDITIONAL.  Replace all calls to AM_CONDITIONAL with this one.
3072         (GLIBCXX_ENABLE_HOSTED):  New macro, sets new variable is_hosted,
3073         used elsewhere in this file.
3074         (GLIBCXX_EVALUATE_CONDITIONALS):  New macro...
3075         * configure.ac:  ...called here to expand all conditionals.
3076         * Makefile.am:  Conditionalize SUBDIRS on GLIBCXX_HOSTED.
3077         * include/Makefile.am:  Remove redundant gxx_include_dir assignment.
3078         (install-freestanding-headers):  New target, a subset of
3079         install-headers.  Conditionalize install-data-local on GLIBCXX_HOSTED.
3080
3081         * aclocal.m4, configure, Makefile.in, include/Makefile.in,
3082         libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
3083         src/Makefile.in, testsuite/Makefile.in:  Regenerated.
3084
3085 2003-08-26  Phil Edwards  <pme@gcc.gnu.org>
3086
3087         * docs/doxygen/run_doxygen:  Shell fixes.  Remove hardcoded local
3088         pathnames from generated tag file.
3089
3090 2003-08-26  Phil Edwards  <pme@gcc.gnu.org>
3091
3092         * Makefile.am:  Add comment.
3093         * acinclude.m4 (GLIBCXX_CONFIGURE):  Set new glibcxx_SUBDIRS and
3094         SUBDIRS variables.
3095         * configure.ac:  Use them both here, instead of hardcoded lists.
3096
3097         * fragment.am:  Add STAMP varaible.
3098         * include/Makefile.am:  Cosmetic whitespace cleanup.  Use $(LN_S)
3099         instead of @LN_S@.
3100         (stamp-*):  Move file creation rule outside of 'if' branches to
3101         ensure the stamp-* files are actually updated.  Use $(STAMP).
3102         * src/Makefile.am:  Remove now-nonexistant variable.
3103         * libsupc++/Makefile.am:  Likewise.  Snap the assignment chain
3104         for -prefer-pic.
3105         * po/Makefile.am:  Include same fragment as all the others.
3106
3107         * aclocal.m4, configure, Makefile.in, include/Makefile.in,
3108         libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in:  Regenerated.
3109
3110 2003-08-26  Loren J. Rittle  <ljrittle@acm.org>
3111
3112         * testsuite/data/cin_unget-1.txt: New.
3113         * testsuite/27_io/objects/char/12048.cc: New.
3114
3115 2003-08-25  Zack Weinberg  <zack@codesourcery.com>
3116
3117         * config/os/hpux/os_defines.h: Unconditionally define
3118         _GLIBCXX_GTHREAD_USE_WEAK to 0.
3119
3120 2003-08-19  Geoffrey Keating  <geoffk@apple.com>
3121
3122         * crossconfig.m4 (*-darwin*): Add a large and boring stanza for
3123         crosses to Darwin targets.
3124         * configure: Regenerate.
3125
3126 2003-08-19  Petur Runolfsson  <peturr02@ru.is>
3127
3128         * include/ext/ropeimpl.h: #include <ostream> instead of <iostream>
3129
3130 2003-08-17  Phil Edwards  <pme@gcc.gnu.org>
3131
3132         * configure.ac:  GCC_NO_EXECUTABLES was supposed to be commented
3133         in the patch from 3 minutes ago.  Boy, is my face red.
3134         * configure:  At least I remembered to regenerate this.
3135
3136 2003-08-17  Phil Edwards  <pme@gcc.gnu.org>
3137
3138         * acinclude.m4 (GLIBCXX_EXPORT_INCLUDES):  Remove LIBMATH_INCLUDES
3139         and LIBSUPCXX_INCLUDES.  Re-purpose TOPLEVEL_INCLUDES to refer to
3140         things from the top level.
3141         * configure.ac (GLIBCXX_IS_NATIVE):  Determine earlier and re-order.
3142         Comment out the conditionals for CANADIAN and GLIBCXX_BUILD_LIBMATH
3143         (currently unused).  Strip the fake-VPATH shell fragment from
3144         automake-generated rules, if present.
3145         * linkage.m4:  Add comment.
3146
3147         * fragment.am:  New file, containing factored-out common settings.
3148         (AM_CPPFLAGS):  Absorb the deprecated INCLUDES variable contents.
3149         * Makefile.am:  Include fragment.am.  Remove common variables.
3150         * include/Makefile.am:  Likewise.
3151         * libmath/Makefile.am:  Likewise.
3152         * libsupc++/Makefile.am:  Likewise.
3153         * po/Makefile.am:  Likewise.  Print rules during check.
3154         * src/Makefile.am:  Likewise.
3155         * testsuite/Makefile.am:  Likewise.
3156
3157         * aclocal.m4, configure, Makefile.in, include/Makefile.in,
3158         libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
3159         src/Makefile.in, testsuite/Makefile.in:  Regenerate.
3160
3161 2003-08-11  John Levon  <levon@movementarian.org>
3162
3163         * docs/html/ext/howto/guide.html (GLIBCXX_FORCE_NEW): Update
3164         remaining places for the name change from GLIBCPP_FORCE_NEW
3165         to GLIBCXX_FORCE_NEW
3166
3167 2003-08-11  Benjamin Kosnik  <bkoz@redhat.com>
3168
3169         * include/bits/basic_ios.h: Remove *_iter typedefs, change num*
3170         typedefs to num_*.
3171         * include/bits/basic_ios.tcc: Same.
3172         * include/bits/istream.tcc: Same.
3173         * include/bits/locale_facets.h: Same.
3174         * include/bits/ostream.tcc: Same.
3175         * include/std/std_istream.h: Same.
3176         * include/std/std_ostream.h: Same.
3177         * testsuite/26_numerics/complex_inserters_extractors.cc: Fix.
3178
3179         * include/ext/rope: Remove build warning.
3180
3181 2003-08-11  Andreas Jaeger  <aj@suse.de>
3182
3183         * include/Makefile.am (stamp-c_base): Add dependency on stamp-bits
3184         to make SMP-safe.
3185         * include/Makefile.in: Regenerated.
3186
3187 2003-08-11  Phil Edwards  <pme@gcc.gnu.org>
3188
3189         * acinclude.m4 (GLIBCXX_CONFIGURE):  Unprecious CC and CFLAGS
3190         when calling AC_PROG_CC.
3191         * aclocal.m4, configure:  Regenerate.
3192
3193 2003-08-11  Phil Edwards  <pme@gcc.gnu.org>
3194
3195         * acinclude.m4:  Properly quote variable which will be expanded
3196         inside makefiles.  Use CXX instead of CC to extract compiler info.
3197         * configure.ac (AC_INIT):  Use the new 4-arg form to finally get the
3198         correct form in PACKAGE.
3199         * aclocal.m4, configure:  Regenerate.
3200
3201 2003-08-08  Benjamin Kosnik  <bkoz@redhat.com>
3202
3203         * testsuite/Makefile.am (check-abi): Change libstdc++-v3 to libstdc++.
3204         (check-abi-verbose): Same.
3205         * testsuite/testsuite_performance.h (report_performance): Same.
3206
3207 2003-08-08  Loren J. Rittle  <ljrittle@acm.org>
3208
3209         * testsuite/testsuite_performance.h (__FreeBSD__): Add fake mallinfo.
3210
3211 2003-08-07  Doug Gregor  <dgregor@apple.com>
3212
3213         * include/bits/char_traits.h (char_traits::not_eof): Match operand
3214         types in ? :.
3215
3216 2003-08-07  Bernardo Innocenti  <bernie@develer.com>
3217
3218         PR libstdc++/11784
3219         * libstdc++-v3/config/cpu/m68k/atomicity.h (__exchange_and_add):
3220         Replace variants with new BSET-based version.
3221
3222 2003-08-07  Carlo Wood  <carlo@alinoe.com>
3223
3224         * include/bits/demangle.h: Do not use cctype functions that depend
3225         on locale.
3226
3227 2003-08-05  Phil Edwards  <pme@gcc.gnu.org>
3228
3229         * configure.in:  Rename...
3230         * configure.ac:  ...to this.
3231         * docs/html/17_intro/porting.texi:  Update name.
3232
3233         * docs/html/17_intro/porting.html:  Regenerate.
3234         * config.h.in, Makefile.in, include/Makefile.in, libmath/Makefile.in,
3235         libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
3236         testsuite/Makefile.in:  Regenerate (picks up new dependancy).
3237
3238 2003-08-05  Phil Edwards  <pme@gcc.gnu.org>
3239
3240         * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS):  Put down the crack
3241         pipe, open the window to let out the fumes, redo the option-handling
3242         logic to properly execute the detection test.
3243         * aclocal.m4, configure:  Regenerate.
3244
3245 2003-08-04  Phil Edwards  <pme@gcc.gnu.org>
3246
3247         Convert to new autotools.
3248         * acconfig.h:  Update with correct names.
3249         * configure.host (ATOMICITYH):  Rename to atomicity_include_dir.
3250         (qnx6.[12]*):  'q' comes before 's', not after 'w'.
3251         * configure.in:  Update.  Split hardcoded cross-configury settings
3252         out to...
3253         * crossconfig.m4:  ...here.  New file.  Contents untouched.
3254         * acinclude.m4:  Reorganize and rewrite as needed.  Split large
3255         chunks out to...
3256         * linkage.m4:  ...here.  New file.  Math and stdlib linkage tests.
3257         Contents untouched.
3258         * scripts/testsuite_flags.in:  Update.
3259
3260         * Makefile.am:  Remove unneeded AUTOMAKE_OPTIONS settings and other
3261         variables (already generated by automake).
3262         * include/Makefile.am:  Ditto.
3263         * libmath/Makefile.am:  Ditto.
3264         * libsupc++/Makefile.am:  Ditto.
3265         * po/Makefile.am:  Ditto.
3266         * src/Makefile.am:  Ditto.
3267
3268         * aclocal.m4:  Regenerate using new versions.
3269         * config.h.in:  Ditto.
3270         * configure:  Ditto.
3271         * Makefile.in:  Ditto.
3272         * include/Makefile.in:  Ditto.
3273         * libmath/Makefile.in:  Ditto.
3274         * libsupc++/Makefile.in:  Ditto.
3275         * po/Makefile.in:  Ditto.
3276         * src/Makefile.in:  Ditto.
3277         * testsuite/Makefile.in:  Ditto.
3278
3279 2003-08-04  Phil Edwards  <pme@gcc.gnu.org>
3280
3281         * po/libstdc++.pot:  Re-extract/regenerate.
3282
3283 2003-08-04  Phil Edwards  <pme@gcc.gnu.org>
3284
3285         * testsuite/Makefile.am (DEJATOOL,EXPECT,RUNTEST,RUNTESTFLAGS):
3286         Remove unneeded variable assignments.  Leave them for automake.
3287         * testsuite/lib/libstdc++-v3.exp:  Rename...
3288         * testsuite/lib/libstdc++.exp:  ...to this.  Adjust function names
3289         accordingly.
3290         * testsuite/libstdc++-v3.dg/dg.exp:  Rename...
3291         * testsuite/libstdc++-dg/normal.exp:  ...to this.  Adjust function
3292         names accordingly.
3293
3294 2003-08-04  Phil Edwards  <pme@gcc.gnu.org>
3295
3296         * docs/doxygen/guide.html:  run_doxygen uses bash.
3297         * docs/doxygen/mainpage.html:  We'll be shipping tag files.
3298         * docs/doxygen/run_doxygen:  Tweaks and improvements.
3299         * docs/doxygen/user.cfg.in:  Set GENERATE_TAGFILE.
3300         * docs/html/install.html:  Update autoconf/automake requirements.
3301         * docs/html/test.html:  Add section describing DejaGNU support.
3302         * docs/html/17_intro/confdeps.dot:  New file, generates...
3303         * docs/html/17_intro/confdeps.png:  ...this new file.
3304         * docs/html/Makefile:  Generated here.
3305         * docs/html/17_intro/configury.html:  New file.
3306
3307 2003-07-31  Phil Edwards  <pme@gcc.gnu.org>
3308
3309         * testsuite/lib/libstdc++-v3-dg.exp:  Rename...
3310         * testsuite/lib/libstdc++-v3.exp:  ...to this.
3311         * testsuite/libstdc++-v3.dg/dg.exp:  No special case needed now.
3312
3313 2003-07-31  Doug Gregor  <dgregor@apple.com>
3314
3315         Add user specialization tests.
3316         * testsuite/23_containers/deque/1.cc: New.
3317         * testsuite/23_containers/list/1.cc: New.
3318         * testsuite/23_containers/map/1.cc: New.
3319         * testsuite/23_containers/multimap/1.cc: New.
3320         * testsuite/23_containers/multiset/1.cc: New.
3321         * testsuite/23_containers/set/1.cc: New.
3322         * testsuite/23_containers/vector/1.cc: New.
3323
3324 2003-07-31  Benjamin Kosnik  <bkoz@redhat.com>
3325
3326         Reshuffle 23_containers testsuite.
3327         * 23_containers/adaptors.cc, bitset_ctor.cc,bitset_members.cc,
3328         bitset_shift.cc, deque_ctor.cc, deque_operators.cc,
3329         list_capacity.cc, list_ctor.cc, list_modifiers.cc, list_operators.cc,
3330         map_insert.cc, map_operators.cc, map_operators_neg.cc, multiset.cc,
3331         set_operators_neg.cc, vector_bool.cc, vector_capacity.cc,
3332         vector_ctor.cc, vector_element_access.cc, vector_modifiers.cc,
3333         vector_resize.cc: Split into...
3334         * 23_containers/bitset/cons/1.cc: New.
3335         * 23_containers/bitset/cons/6282.cc: New.
3336         * 23_containers/bitset/count/6124.cc: New.
3337         * 23_containers/bitset/operations/1.cc: New.
3338         * 23_containers/bitset/operations/2.cc: New.
3339         * 23_containers/bitset/test/1.cc: New.
3340         * 23_containers/bitset/to_ulong/1.cc: New.
3341         * 23_containers/deque/cons/1.cc: New.
3342         * 23_containers/deque/cons/2.cc: New.
3343         * 23_containers/deque/operators/1.cc: New.
3344         * 23_containers/list/capacity/1.cc: New.
3345         * 23_containers/list/cons/1.cc: New.
3346         * 23_containers/list/cons/2.cc: New.
3347         * 23_containers/list/cons/3.cc: New.
3348         * 23_containers/list/cons/4.cc: New.
3349         * 23_containers/list/cons/5.cc: New.
3350         * 23_containers/list/cons/6.cc: New.
3351         * 23_containers/list/cons/7.cc: New.
3352         * 23_containers/list/cons/8.cc: New.
3353         * 23_containers/list/cons/9.cc: New.
3354         * 23_containers/list/modifiers/1.cc: New.
3355         * 23_containers/list/modifiers/2.cc: New.
3356         * 23_containers/list/modifiers/3.cc: New.
3357         * 23_containers/list/operators/1.cc: New.
3358         * 23_containers/list/operators/2.cc: New.
3359         * 23_containers/list/operators/3.cc: New.
3360         * 23_containers/list/operators/4.cc: New.
3361         * 23_containers/map/insert/1.cc: New.
3362         * 23_containers/map/operators/1.cc: New.
3363         * 23_containers/map/operators/1_neg.cc: New.
3364         * 23_containers/multiset/insert/1.cc: New.
3365         * 23_containers/priority_queue/members/7161.cc: New.
3366         * 23_containers/queue/members/7157.cc: New.
3367         * 23_containers/set/operators/1_neg.cc: New.
3368         * 23_containers/stack/members/7158.cc: New.
3369         * 23_containers/vector/bool/1.cc: New.
3370         * 23_containers/vector/bool/6886.cc: New.
3371         * 23_containers/vector/capacity/1.cc: New.
3372         * 23_containers/vector/capacity/2.cc: New.
3373         * 23_containers/vector/capacity/8230.cc: New.
3374         * 23_containers/vector/cons/1.cc: New.
3375         * 23_containers/vector/cons/2.cc: New.
3376         * 23_containers/vector/cons/3.cc: New.
3377         * 23_containers/vector/cons/4.cc: New.
3378         * 23_containers/vector/cons/6513.cc: New.
3379         * 23_containers/vector/element_access/1.cc: New.
3380         * 23_containers/vector/modifiers/1.cc: New.
3381         * 23_containers/vector/modifiers/2.cc: New.
3382         * 23_containers/vector/resize/1.cc: New.
3383
3384 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3385
3386         * testsuite/thread/pthread1.cc: Add alpha*-*-osf* to dg-do run,
3387         dg-options.
3388         * testsuite/thread/pthread2.cc: Likewise.
3389         * testsuite/thread/pthread3.cc: Likewise.
3390         * testsuite/thread/pthread4.cc: Likewise.
3391         * testsuite/thread/pthread5.cc: Likewise.
3392         * testsuite/thread/pthread6.cc: Likewise.
3393         * testsuite/thread/pthread7-rope.cc: Likewise.
3394
3395 2003-07-30  Phil Edwards  <pme@gcc.gnu.org>
3396
3397         * include/bits/c++config:  Partial reversion (comment placement) of
3398         previous patch.
3399
3400 2003-07-30  Benjamin Kosnik  <bkoz@redhat.com>
3401
3402         * include/bits/c++config (_GLIBCXX_FULLY_COMPLIANT_HEADERS): Remove.
3403         (_GLIBCXX_NO_TEMPLATE_EXPORT): To _GLIBCXX_EXPORT_TEMPLATE.
3404         (_GLIBCXX_AT_AT): Remove.
3405         (__USE_MALLOC): Remove.
3406         * include/std/std_fstream.h: Modify.
3407         * include/bits/basic_ios.h: Same.
3408         * include/bits/valarray_array.h: Same.
3409         * include/c_std/std_cmath.h: Same.
3410         * include/c_std/cmath.tcc: Same.
3411         * include/std/std_vector.h: Same.
3412         * include/std/std_string.h: Same.
3413         * include/std/std_stack.h: Same.
3414         * include/std/std_queue.h: Same.
3415         * include/std/std_list.h: Same.
3416         * include/std/std_deque.h: Same.
3417         * include/std/std_streambuf.h: Same.
3418         * include/std/std_sstream.h: Same.
3419         * include/std/std_ostream.h: Same.
3420         * include/std/std_istream.h: Same.
3421         * include/bits/valarray_array.tcc: Same, format.
3422
3423         * include/c/std_cctype.h: Fix include guards.
3424         * include/c/std_cerrno.h: Same.
3425         * include/c/std_cfloat.h: Same.
3426         * include/c/std_climits.h: Same.
3427         * include/c/std_clocale.h: Same.
3428         * include/c/std_cmath.h: Same.
3429         * include/c/std_csetjmp.h: Same.
3430         * include/c/std_csignal.h: Same.
3431         * include/c/std_cstdarg.h: Same.
3432         * include/c/std_cstddef.h: Same.
3433         * include/c/std_cstdio.h: Same.
3434         * include/c/std_cstdlib.h: Same.
3435         * include/c/std_cstring.h: Same.
3436         * include/c/std_ctime.h: Same.
3437         * include/c/std_cwchar.h: Same.
3438         * include/c/std_cwctype.h: Same.
3439         * include/c_std/cmath.tcc: Same.
3440         * include/c_std/std_cmath.h: Same.
3441
3442 2003-07-30  Gawain Bolton  <gp.bolton@computer.org>
3443
3444         PR libstdc++/11504.
3445         * include/bits/stl_tree.h: Replace C-style casts with C++-style
3446         casts.  Changes to avoid casting away constness.  Eliminate
3447         _Rb_tree_base_iterator class.  Change _Rb_tree_iterator to use
3448         initialization lists.  Move out implementation of __black_count()
3449         to...
3450         * src/stl_tree.cc: ...here and rename _Rb_tree_black_count().
3451         Rename_Rb_tree_base_iterator::_M_increment() to
3452         _Rb_tree_increment and _Rb_tree_base_iterator::_M_decrement() to
3453         _Rb_tree_decrement.
3454         * config/linker-map.gnu: Add and change symbols here.
3455
3456 2003-07-30  Jonathan Wakely  <redi@gcc.gnu.org>
3457
3458         * docs/html/22_locale/howto.html: Use locale::classic() instead
3459         of locale("C").
3460
3461 2003-07-28  Benjamin Kosnik  <bkoz@redhat.com>
3462
3463         * testsuite/testsuite_hooks.h: Remove list include.
3464         (func_callback): Define as unique type, not std::list.
3465         Change DEBUG_ASSERT to _GLIBCXX_ASSERT.
3466         * testsuite/libstdc++-v3.dg/dg.exp: Same.
3467         * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Same.
3468         * testsuite/23_containers/bitset_ctor.cc:
3469         * testsuite/17_intro/header_ciso646.cc: Remove DEBUG_ASSERT.
3470         * testsuite/18_support/numeric_limits.cc: Same.
3471         * testsuite/21_strings/basic_string/append/char/1.cc: Same.
3472         * testsuite/21_strings/basic_string/append/wchar_t/1.cc: Same.
3473         * testsuite/21_strings/basic_string/compare/char/1.cc: Same.
3474         * testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Same.
3475         * testsuite/21_strings/basic_string/element_access/char/1.cc: Same.
3476         * testsuite/21_strings/basic_string/element_access/char/2.cc: Same.
3477         * testsuite/21_strings/basic_string/element_access/char/3.cc: Same.
3478         * testsuite/21_strings/basic_string/element_access/wchar_t/1.cc: Same.
3479         * testsuite/21_strings/basic_string/element_access/wchar_t/2.cc: Same.
3480         * testsuite/21_strings/basic_string/element_access/wchar_t/3.cc: Same.
3481         * testsuite/21_strings/basic_string/find/char/1.cc: Same.
3482         * testsuite/21_strings/basic_string/find/char/2.cc: Same.
3483         * testsuite/21_strings/basic_string/find/char/3.cc: Same.
3484         * testsuite/21_strings/basic_string/find/wchar_t/1.cc: Same.
3485         * testsuite/21_strings/basic_string/find/wchar_t/2.cc: Same.
3486         * testsuite/21_strings/basic_string/find/wchar_t/3.cc: Same.
3487         * testsuite/21_strings/basic_string/insert/char/1.cc: Same.
3488         * testsuite/21_strings/basic_string/insert/char/2.cc: Same.
3489         * testsuite/21_strings/basic_string/insert/wchar_t/1.cc: Same.
3490         * testsuite/21_strings/basic_string/insert/wchar_t/2.cc: Same.
3491         * testsuite/21_strings/basic_string/inserters_extractors/char/1.cc:
3492         * testsuite/21_strings/basic_string/inserters_extractors/char/4.cc:
3493         * testsuite/21_strings/basic_string/inserters_extractors/char/5.cc:
3494         * testsuite/21_strings/basic_string/inserters_extractors/char/6.cc:
3495         * testsuite/21_strings/basic_string/inserters_extractors/char/7.cc:
3496         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc:
3497         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc:
3498         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc:
3499         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc:
3500         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc:
3501         * testsuite/21_strings/basic_string/operators/char/1.cc: Same.
3502         * testsuite/21_strings/basic_string/operators/char/2.cc: Same.
3503         * testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Same.
3504         * testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Same.
3505         * testsuite/21_strings/basic_string/replace/char/1.cc: Same.
3506         * testsuite/21_strings/basic_string/replace/wchar_t/1.cc: Same.
3507         * testsuite/21_strings/basic_string/rfind/char/1.cc: Same.
3508         * testsuite/21_strings/basic_string/rfind/char/2.cc: Same.
3509         * testsuite/21_strings/basic_string/rfind/char/3.cc: Same.
3510         * testsuite/21_strings/basic_string/rfind/wchar_t/1.cc: Same.
3511         * testsuite/21_strings/basic_string/rfind/wchar_t/2.cc: Same.
3512         * testsuite/21_strings/basic_string/rfind/wchar_t/3.cc: Same.
3513         * testsuite/21_strings/basic_string/substr/char/1.cc: Same.
3514         * testsuite/21_strings/basic_string/substr/wchar_t/1.cc: Same.
3515         * testsuite/23_containers/bitset_ctor.cc: Same.
3516         * testsuite/23_containers/bitset_shift.cc: Same.
3517         * testsuite/23_containers/vector_ctor.cc: Same.
3518         * testsuite/23_containers/vector_element_access.cc: Same.
3519         * testsuite/24_iterators/istreambuf_iterator.cc: Same.
3520         * testsuite/24_iterators/iterator.cc: Same.
3521         * testsuite/24_iterators/ostreambuf_iterator.cc: Same.
3522         * testsuite/25_algorithms/lower_bound.cc: Same.
3523         * testsuite/26_numerics/complex_inserters_extractors.cc: Same.
3524         * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc: Same.
3525         * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc: Same.
3526         * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc: Same.
3527         * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc: Same.
3528         * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc: Same.
3529         * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc: Same.
3530         * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc: Same.
3531         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc: Same.
3532         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc: Same.
3533         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
3534         Same.
3535
3536 2003-07-28  Phil Edwards  <pme@gcc.gnu.org>
3537
3538         * docs/doxygen/user.cfg.in, docs/html/abi.txt, docs/html/debug.html,
3539         docs/html/test.html, docs/html/17_intro/headers_cc.txt,
3540         docs/html/17_intro/howto.html, docs/html/ext/howto.html:  Change
3541         GLIBCPP to GLIBCXX (and explain as needed).
3542
3543 2003-07-28  Phil Edwards  <pme@gcc.gnu.org>
3544
3545         * README:  Update.
3546
3547 2003-07-28  Phil Edwards  <pme@gcc.gnu.org>
3548
3549         * testsuite/22_locale/messages/members/char/1.cc,
3550         testsuite/22_locale/messages/members/char/2.cc,
3551         testsuite/22_locale/messages/members/char/3.cc,
3552         testsuite/22_locale/messages_byname/1.cc:  Update comment regarding
3553         the origin of LOCALEDIR.
3554         * testsuite/lib/libstdc++-v3.exp:  New file.
3555
3556 2003-07-25  Benjamin Kosnik  <bkoz@redhat.com>
3557
3558         * include/bits/char_traits.h: Update copyright, tweak.
3559         * testsuite/ext/pod_char_traits.cc: Explicitly qualify namespace
3560         std types.
3561
3562 2003-07-24  Matt Austern  <austern@apple.com>
3563
3564         * /include/bits/char_traits.h (class char_traits): Put all the
3565         real work into the new class template __gnu_cxx::char_traits.
3566         Gave generic definitions for member functions.  Types are taken
3567         from the new class template __gnu_cxx::_Char_types.
3568         * testsuite/21_strings/char_traits/requirements/short/1.cc: New
3569         file.  Test of std::char_traits<short>, which serves as a test of
3570         the char_traits primary template.
3571
3572 2003-07-24  Benjamin Kosnik  <bkoz@redhat.com>
3573
3574         * testsuite/*: Change __gnu_cxx_test to __gnu_test.
3575
3576 2003-07-24  Nathan Myers  <ncm-nospam@cantrip.org>
3577
3578         * testsuite/23_containers/map_operators.cc: Conform to
3579         container requirement as value must be Assignable.
3580
3581 2003-07-23  Alexandre Oliva  <aoliva@redhat.com>
3582
3583         * acinclude.m4 (GLIBCXX_ENABLE_PCH): Rework test such that it
3584         tests not only generation of pch files, but also their use.
3585         * aclocal.m4, configure: Rebuilt.
3586
3587 2003-07-23  Steve Ellcey  <sje@cup.hp.com>
3588
3589         * config/cpu/hppa/atomicity.h: Change
3590         _GLIBCXX_INST_GLIBCXX_ATOMICITY_LOCK to _GLIBCXX_INST_ATOMICITY_LOCK
3591         to match misc-inst.cc
3592
3593 2003-07-23  Steve Ellcey  <sje@cup.hp.com>
3594
3595         * include/c_std/cmath.tcc: Use _GLIBCXX_ prefix on file guard.
3596         * include/c_std/std_cctype.h: Ditto.
3597         * include/c_std/std_cerrno.h: Ditto.
3598         * include/c_std/std_cfloat.h: Ditto.
3599         * include/c_std/std_climits.h: Ditto.
3600         * include/c_std/std_clocale.h: Ditto.
3601         * include/c_std/std_cmath.h: Ditto.
3602         * include/c_std/std_csetjmp.h: Ditto.
3603         * include/c_std/std_csignal.h: Ditto.
3604         * include/c_std/std_cstdarg.h: Ditto.
3605         * include/c_std/std_cstddef.h: Ditto.
3606         * include/c_std/std_cstdio.h: Ditto.
3607         * include/c_std/std_cstdlib.h: Ditto.
3608         * include/c_std/std_cstring.h: Ditto.
3609         * include/c_std/std_ctime.h: Ditto.
3610         * include/c_std/std_cwchar.h: Ditto.
3611         * include/c_std/std_cwctype.h: Ditto.
3612         * include/std/std_algorithm.h: Ditto.
3613         * include/std/std_bitset.h: Ditto.
3614         * include/std/std_complex.h: Ditto.
3615         * include/std/std_deque.h: Ditto.
3616         * include/std/std_fstream.h: Ditto.
3617         * include/std/std_functional.h: Ditto.
3618         * include/std/std_iomanip.h: Ditto.
3619         * include/std/std_ios.h: Ditto.
3620         * include/std/std_iosfwd.h: Ditto.
3621         * include/std/std_iostream.h: Ditto.
3622         * include/std/std_istream.h: Ditto.
3623         * include/std/std_iterator.h: Ditto.
3624         * include/std/std_limits.h: Ditto.
3625         * include/std/std_list.h: Ditto.
3626         * include/std/std_locale.h: Ditto.
3627         * include/std/std_map.h: Ditto.
3628         * include/std/std_memory.h: Ditto.
3629         * include/std/std_numeric.h: Ditto.
3630         * include/std/std_ostream.h: Ditto.
3631         * include/std/std_queue.h: Ditto.
3632         * include/std/std_set.h: Ditto.
3633         * include/std/std_sstream.h: Ditto.
3634         * include/std/std_stack.h: Ditto.
3635         * include/std/std_stdexcept.h: Ditto.
3636         * include/std/std_streambuf.h: Ditto.
3637         * include/std/std_string.h: Ditto.
3638         * include/std/std_utility.h: Ditto.
3639         * include/std/std_valarray.h: Ditto.
3640         * include/std/std_vector.h: Ditto.
3641
3642 2003-07-22  Doug Gregor  <dgregor@apple.com>
3643
3644         * include/bits/basic_string.h (basic_string::insert): Deprecate
3645         GNU extension.
3646
3647 2003-07-21  Benjamin Kosnik  <bkoz@redhat.com>
3648
3649         * scripts/testsuite_flags.in (--build-includes): Remove extraneous
3650         paths for libio.
3651         * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc
3652         (test03): Include typeinfo for bad_cast.
3653         * testsuite/27_io/basic_ostream/sentry/char/3983-sstream.cc: Same.
3654         * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
3655         * testsuite/27_io/basic_istream/sentry/char/3983-sstream.cc: Same.
3656
3657 2003-07-21  Doug Gregor  <dgregor@apple.com>
3658
3659         * include/bits/boost_concept_check.h:
3660         (_EqualityComparableConcept::__constraints): Remove != from the
3661         list of constraints; it is not listed in Table 28 of the C++98
3662         standard.
3663
3664 2003-07-18  Andreas Jaeger  <aj@suse.de>
3665
3666         * config/abi/sparc-linux-gnu/baseline_symbols.txt: New file.
3667         * config/abi/mips-linux-gnu/baseline_symbols.txt: New file.
3668         * config/abi/hppa-linux-gnu/baseline_symbols.txt: New file.
3669         * config/abi/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
3670
3671 2003-07-17  Benjamin Kosnik  <bkoz@redhat.com>
3672
3673         * config/linker-map.gnu: Add __moneypunct_cache, __timepunct_cache.
3674         * config/locale/generic/messages_members.h: Tweaks.
3675         * config/locale/generic/monetary_members.cc
3676         (moneypunct::_M_initialize_moneypunct): Use cache.
3677         (moneypunct::~moneypunct): Delete cache.
3678         * config/locale/generic/time_members.cc:
3679         (__timepunct::_M_initialize_timepunct): Use cache.
3680         * config/locale/generic/time_members.h:
3681         (__timepunct::~__timepunct): Delete cache.
3682         (__timepunct::__timepunct): Set cache.
3683         * config/locale/gnu/messages_members.h: Tweaks.
3684         * config/locale/gnu/monetary_members.cc:
3685         (moneypunct::_M_initialize_moneypunct): Use cache.
3686         (moneypunct::~moneypunct): Delete cache.
3687         * config/locale/gnu/time_members.cc:
3688         (__timepunct::_M_initialize_timepunct): Use cache.
3689         * config/locale/gnu/time_members.h:
3690         (__timepunct::~__timepunct): Delete cache.
3691         (__timepunct::__timepunct): Set cache.
3692         * include/bits/locale_facets.h (__timepunct_cache): New.
3693         (__moneypunct_cache): New.
3694         * include/bits/locale_facets.tcc: Tweak.
3695         * src/locale.cc (__timepunct::_S_timezones): Adjust for cache.
3696         * src/locale-inst.cc: Instantiate caches.
3697         * src/globals.cc: Add "C" caches.
3698         * src/localename.cc: Use external "C" caches.
3699
3700 2003-07-17  Phil Edwards  <pme@gcc.gnu.org>
3701
3702         * docs/doxygen/guide.html:  Fix typo.
3703
3704 2003-07-16  Benjamin Kosnik  <bkoz@redhat.com>
3705
3706         * include/ext/pod_char_traits.h: Add state template argument.
3707
3708 2003-07-16  Benjamin Kosnik  <bkoz@redhat.com>
3709
3710         * include/bits/locale_facets.h (__num_base::_S_atoms_in): Add -+xX.
3711         (num_get::_M_convert_int): To _M_insert_int.
3712         (num_get::_M_convert_float): To _M_insert_float.
3713         * include/bits/locale_facets.tcc (num_get::_M_extract_float):
3714         Use caches for ctype, num_get.
3715         (num_get::_M_extract_int): Same.
3716         (num_get::get(bool)): Same.
3717         (__verify_grouping): Use size_t.
3718         * src/locale-inst.cc: Update.
3719         * src/locale.cc: Adjust _S_atoms_in.
3720
3721 2003-07-16  Phil Edwards  <pme@gcc.gnu.org>
3722
3723         * docs/doxygen/mainpage.html:  Move building/writing instructions...
3724         * docs/doxygen/guide.html:  ...to here.  New file.
3725
3726 2003-07-16  Jonathan Wakely  <redi@gcc.gnu.org>
3727
3728         * docs/html/ext/howto.html: Update URL for SGI STL docs.
3729         * docs/html/faq/index.html: Same.
3730         * docs/html/faq/index.txt: Regenerate.
3731
3732 2003-07-16  Paolo Carlini  <pcarlini@unitus.it>
3733
3734         PR libstdc++/11528
3735         * include/bits/locale_facets.tcc (money_get::do_get):
3736         Strip only _leading_ zeros.
3737         * testsuite/22_locale/money_get/get/char/11528.cc: Add.
3738         * testsuite/22_locale/money_get/get/wchar_t/11528.cc: Add.
3739
3740 2003-07-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3741
3742         * include/ext/hash_map (class hash_multimap): Remove extra
3743         semicolons from __glibcxx_class_requires3 entries.
3744         * include/ext/hash_set (class hash_set): Ditto.
3745         (class hash_multiset): Ditto.
3746
3747 2003-07-15  Petur Runolfsson  <peturr02@ru.is>
3748
3749         * include/bits/char_traits.h (char_traits<wchar_t>::move):
3750         Change last parameter from int_type to size_t.
3751
3752 2003-07-15  Jerry Quinn  <jlquinn@optonline.net>
3753
3754         * include/bits/stl_algo.h (includes, set_union, set_intersection,
3755         set_difference, set_symmetric_difference, max_element, min_element,
3756         next_permutation, prev_permutation, find_first_of, find_end):
3757         Document.
3758         * include/bits/stl_algobase.h (copy,copy_backward):  Clarify overlap
3759         restrictions in docs.
3760         * include/bits/stl_heap.h (push_heap, pop_heap, make_heap, sort_heap):
3761         Document.
3762         * docs/doxygen/doxygroups.cc (setoperations):  New group.
3763
3764 2003-07-15  Jerry Quinn  <jlquinn@optonline.net>
3765
3766         * include/bits/basic_string.h:  Document public functions.
3767         * docs/doxygen/TODO:  Update c21 todo.
3768
3769 2003-07-15  Jerry Quinn  <jlquinn@optonline.net>
3770
3771         * include/bits/stl_list.h:  Document more functions.
3772         * docs/doxygen/TODO:  Update c23 todo.
3773
3774 2003-07-14  Paolo Carlini  <pcarlini@unitus.it>
3775
3776         * config/locale/gnu/c_locale.h (__convert_from_v): One more
3777         qualification.
3778
3779 2003-07-14  Paolo Carlini  <pcarlini@unitus.it>
3780
3781         * include/bits/stl_tempbuf.h: Qualify free with std::.
3782         * src/locale.cc: Include <cstdlib>, qualify getenv.
3783
3784 2003-07-14  Paolo Carlini  <pcarlini@unitus.it>
3785
3786         * config/locale/gnu/c_locale.h (__convert_from_v): Include
3787         <cstdio>. Qualify names.
3788         * config/locale/generic/c_locale.h (__convert_from_v): Ditto.
3789
3790 2003-07-14  Paolo Carlini  <pcarlini@unitus.it>
3791             Nathan C. Myers  <ncm-nospam@cantrip.org>
3792
3793         PR libstdc++/11378
3794         * include/std/std_fstream.h (xsputn): Declare only.
3795         * include/bits/fstream.tcc (xsputn): Define, optimize for the
3796         always_noconv() case: when __n is sufficiently large flush
3797         the buffer and issue a direct write, if possible combining the
3798         two with writev in __basic_file<>::xsputn_2.
3799         * config/io/basic_file_stdio.h (__basic_file<>::xsputn_2):
3800         New, declare.
3801         * config/io/basic_file_stdio.cc (__basic_file<>::xsputn_2):
3802         Define.
3803         * acinclude.m4 (GLIBCXX_CHECK_WRITE): New macro, checking for
3804         the availability of writev in <sys/uio.h>.
3805         * configure.in: Call here.
3806         * acconfig.h: Add undef for the corresponding symbol.
3807         * aclocal.m4: Regenerate.
3808         * configure: Regenerate.
3809         * config.h.in: Regenerate.
3810         * testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Tweak.
3811
3812         * include/std/std_fstream.h (sync): Constify a variable.
3813
3814 2003-07-14  Benjamin Kosnik  <bkoz@redhat.com>
3815
3816         * testsuite/27_io/ios_base/cons/assign_neg.cc: Fix line numbers.
3817         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
3818
3819 2003-07-14  Gabriel Dos Reis  <gcc@integrable-solutions.net>
3820
3821         * config/locale/gnu/c_locale.h (__convert_from_v): Include
3822         <cstring> and <cstdlib>. Qualify names.
3823
3824 2003-07-13  Mark Mitchell  <mark@codesourcery.com>
3825
3826         * config/locale/generic/c_locale.h: Include <cstdlib> and
3827         <cstring>.
3828         * include/bits/boost_concept_check.h: Add this-> to unqualified
3829         method calls.
3830         * include/bits/deque.tcc: Likewise.
3831         * include/bits/locale_facets.h : Likewise.
3832         * include/bits/ostream.tcc: Likewise.
3833         * include/bits/stl_algo.h: Likewise.
3834         * include/bits/stl_bvector.h: Likewise.
3835         * include/bits/stl_deque.h: Likewise.
3836         * include/bits/stl_list.h: Likewise.
3837         * include/bits/stl_tree.h: Likewise.
3838         * include/bits/stl_vector.h: Likewise.
3839         * include/bits/vector.tcc: Likewise.
3840         * include/ext/rope: Likewise.
3841         * include/ext/ropeimpl.h: Likewise.
3842         * include/ext/stdio_filebuf.h: Likewise.
3843
3844 2003-07-11  Jerry Quinn  <jlquinn@optonline.net>
3845
3846         * include/bits/basic_ios.h (copyfmt): Document.
3847         * include/bits/ios_base.h (event, event_callback, register_callback,
3848         xalloc, iword, pword):  Document.
3849         (imbue, ~ios_base): Update docs on callbacks.
3850
3851 2003-07-11  Phil Edwards  <pme@gcc.gnu.org>
3852
3853         * acinclude.m4 (GLIBCC_ENABLE_SYMVERS):  Tweak comments.  Add
3854         warning messages if the environment cannot support symbol versioning.
3855         (port_specific_symbol_file):  It's plural, add an 's' on the end.
3856         * configure.host:  Likewise.
3857         * src/Makefile.am:  Likewise.
3858         * config/linker-map.gnu:  Remove one semicolon, heh.
3859         * scripts/extract_symvers:  Don't assume useful 'export' syntax.
3860         Set LANG as well as LC_ALL for possibly-broken sort(1)s.
3861         * aclocal.m4, configure, src/Makefile.in:  Regenerated.
3862
3863 2003-07-09  Benjamin Kosnik  <bkoz@redhat.com>
3864
3865         * include/bits/locale_facets.tcc: Use function object for
3866         __use_cache instead of template function. Partially specialize for
3867         __numpunct<_CharT>.
3868         * include/bits/locale_classes.h: Update friend declaration for
3869         __use_cache.
3870         (_M_install_cache): No throw exception specs.
3871         * src/locale.cc: Remove __use_cache specializations.
3872         * include/ext/pod_char_traits.h (length): Tweak.
3873         * include/bits/locale_facets.h (__numpunct_cache): Remove
3874         char_type typedef.
3875         * testsuite/testsuite_hooks.h (pod_unsigned_int): Remove.
3876         (pod_long): Remove.
3877         * testsuite/22_locale/numpunct/members/char/cache_1.cc: New.
3878         * testsuite/22_locale/numpunct/members/char/cache_2.cc: New.
3879         * testsuite/22_locale/numpunct/members/wchar_t/cache_1.cc: New.
3880         * testsuite/22_locale/numpunct/members/wchar_t/cache_2.cc: New.
3881         * testsuite/22_locale/numpunct/members/pod/1.cc: New.
3882         * testsuite/22_locale/numpunct/members/pod/2.cc: New.
3883
3884 2003-07-09  Jerry Quinn  <jlquinn@optonline.net>
3885
3886         * src/ios.cc (_M_grow_words):  Fix spelling.
3887
3888 2003-07-09  Gawain Bolton  <gp.bolton@computer.org>
3889
3890         * include/bits/stl_tree.h: Move larger member functions in
3891         _Rb_tree_base_iterator and _Rb_tree_node to...
3892         * src/stl_tree.cc: Here.
3893         * src/Makefile.in: Add stl_tree.cc.
3894         * src/Makefile.in: Regenerated.
3895         * config/linker-map.gnu: Add symbols here.
3896
3897 2003-07-08  Benjamin Kosnik  <bkoz@redhat.com>
3898
3899         * testsuite/ext/pod_char_traits.cc: New.
3900         * include/ext/pod_char_traits.h: New.
3901         * include/Makefile.am (ext_headers): Add pod_char_traits.h.
3902         * include/Makefile.in: Regenerate.
3903         * docs/html/21_strings/howto.html: Update.
3904
3905 2003-07-08  Gawain Bolton  <gp.bolton@computer.org>
3906
3907         * testsuite/performance/list_create_fill_sort.cc: New.
3908
3909 2003-07-08  Benjamin Kosnik  <bkoz@redhat.com>
3910
3911         * config/locale/generic/numeric_members.cc: Correct type info.
3912         * config/locale/gnu/numeric_members.cc: Same.
3913         * include/bits/locale_facets.h: Same.
3914
3915         * include/bits/char_traits.h: Correct spacing.
3916
3917         * src/locale.cc: Wrap to 80 col.
3918
3919 2003-07-07  Paolo Carlini  <pcarlini@unitus.it>
3920
3921         * include/std/std_complex.h: Partially revert last
3922         changes: cmath functions must not be qualified.
3923
3924 2003-07-06  Phil Edwards  <pme@gcc.gnu.org>
3925
3926         * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS):  Do not test for binutils
3927         2.11 with globbing backport fix.
3928         * aclocal.m4, configure:  Regenerated.
3929
3930 2003-07-06  Paolo Carlini  <pcarlini@unitus.it>
3931
3932         * include/std/std_fstream.h (xsputn): Don't call _M_destroy_pback:
3933         if output is at all possible (!_M_reading), cannot be active.
3934
3935         * include/std/std_fstream.h: Tweak comments to doxygen style.
3936
3937 2003-07-06  Paolo Carlini  <pcarlini@unitus.it>
3938
3939         * include/bits/locale_classes.h: Fully qualify standard
3940         functions with std::, thus avoiding Koenig lookup.
3941         * include/bits/locale_facets.tcc: Likewise.
3942         * src/locale.cc: Likewise.
3943         * src/localename.cc: Likewise.
3944
3945 2003-07-06  Phil Edwards  <pme@gcc.gnu.org>
3946
3947         * include/bits/allocator_traits.h:  Fix doxygen markup.
3948         * include/ext/mt_allocator.h:  Likewise.
3949
3950 2003-07-06  Phil Edwards  <pme@gcc.gnu.org>
3951
3952         * testsuite/testsuite_hooks.h:  Guard against a missing unlink().
3953
3954 2003-07-05  Phil Edwards  <pme@gcc.gnu.org>
3955
3956         * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS):  Bump minimal version
3957         requirement.  Add port_specific_symbol_file variable.
3958         * configure.host:  Add docs for port_specific_symbol_file.
3959         Clean up try_cpu block for x86.
3960         * config/linker-map.gnu:  No more "last symbol can't have a
3961         semicolon" kaka.  Add hook for port-specific symbols.
3962         * src/Makefile.am:  Remove trailing whitespace.
3963         (libstdc++-symbol.ver):  Detect the presence of port-specific
3964         symbols, and add them accordingly.
3965
3966         * docs/html/17_intro/porting.texi:  Bring up to date.
3967
3968         * src/Makefile.in, aclocal.m4, configure,
3969         docs/html/17_intro/porting.html:  Regenerated.
3970
3971 2003-07-05  Phil Edwards  <pme@gcc.gnu.org>
3972
3973         * scripts/create_testsuite_files:  New file.
3974         * testsuite/Makefile.am (all-local, check-performance):  Use it.
3975         * testsuite/lib/libstdc++-v3-dg.exp (v3-computer-tests):  Remove.
3976         * testsuite/Makefile.in:  Regenerated.
3977
3978         * testsuite/performance/filebuf_sputc.cc:  Remove the temporary
3979         files at the end.
3980         * testsuite/performance/fstream_seek_write.cc:  Likewise.
3981         * testsuite/performance/ofstream_insert_float.cc:  Likewise.
3982         * testsuite/performance/ofstream_insert_int.cc:  Likewise.
3983         * testsuite/abi_check.cc (main):  Nicer spacing in usage output.
3984
3985 2003-07-05  Gawain Bolton  <gp.bolton@computer.org>
3986
3987         * include/bits/stl_list.h: Performance and memory usage
3988         improvements. In particular, the behaviour of the constructor and
3989         destructor as the list header node is no longer dynamically
3990         allocated/de-allocated.
3991         * include/bits/list.tcc: Likewise.
3992
3993 2003-07-05  Paolo Carlini  <pcarlini@unitus.it>
3994
3995         * include/std/std_complex.h: Fully qualify standard
3996         functions with std::, thus avoiding Koenig lookup.
3997         * include/std/std_memory.h: Likewise.
3998         * include/std/std_valarray.h: Likewise.
3999
4000 2003-07-05  Gawain Bolton  <gp.bolton@computer.org>
4001
4002         * include/bits/stl_tree.h: _Rb_tree_rebalance():  Add local
4003           variable for grandparent and use const
4004
4005 2003-07-05  David Billinghurst <David.Billinghurst@riotinto.com>
4006
4007         * testsuite/27_io/basic_filebuf/close/char/4879.cc: xfail on cygwin
4008         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Ditto
4009         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Ditto
4010         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Ditto
4011         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Ditto
4012         * testsuite/27_io/objects/char/7.cc: Ditto
4013         * testsuite/27_io/objects/char/9661-1.cc: Ditto
4014
4015 2003-07-05  Paolo Carlini  <pcarlini@unitus.it>
4016
4017         * include/std/std_bitset.h: Fully qualify standard
4018         functions with std::, thus avoiding Koenig lookup.
4019
4020         * include/std/std_fstream.h: Change comment to doxygen style.
4021
4022 2003-07-05  Phil Edwards  <pme@gcc.gnu.org>
4023
4024         * include/std/std_limits.h:  More CPP->CXX changes.
4025         * scripts/check_survey.in:  Likewise.
4026
4027 2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
4028
4029         Move from CPP to CXX.
4030         * include/bits/c++config: Move to GLIBCXX from GLIBCPP.
4031         * testsuite/Makefile.am: Same.
4032         * testsuite/Makefile.in: Regenerate.
4033         * po/Makefile.am: Same.
4034         * po/Makefile.in: Regenerate.
4035         * libsupc++/Makefile.am: Same.
4036         * libsupc++/Makefile.in: Regenerate.
4037         * libmath/Makefile.am: Same.
4038         * libmath/Makefile.in: Regenerate.
4039         * include/Makefile.am: Same.
4040         * include/Makefile.in: Regenerate.
4041         * src/Makefile.am: Same.
4042         * src/Makefile.in: Regenerate.
4043         * acconfig.h: Same.
4044         * configure.host: Same.
4045         * configure.in: Same.
4046         * configure: Regenerate.
4047         * acinclude.m4: Same.
4048         * aclocal.m4: Same.
4049         * src: Change all files in this directory.
4050         * testsuite: Same.
4051         * include: Same, standardize include guards.
4052         * config: Same.
4053         * libsupc++: Same.
4054
4055 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
4056
4057         * testsuite/22_locale/collate/compare/wchar_t/2.cc
4058         * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc
4059         * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc
4060         * testsuite/22_locale/collate/hash/wchar_t/2.cc
4061         * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc
4062         * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc
4063         * testsuite/22_locale/collate/transform/wchar_t/2.cc
4064         * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc
4065         * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
4066         XFAIL on all targets.
4067
4068 2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
4069
4070         * acinclude.m4 (GLIBCPP_ENABLE_PCH): Fix missed variable.
4071         * aclocal.m4: Regenerate.
4072         * configure: Regenerate.
4073
4074 2003-07-04  Jerry Quinn  <jlquinn@optonline.net>
4075
4076         * include/bits/locale_facets.tcc (__int_to_char): Move common case
4077         to the top.
4078
4079 2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
4080             Petur Runolfsson  <peturr02@ru.is>
4081
4082         * config/io/basic_file_stdio.cc: Revert.
4083
4084 2003-07-04  Paolo Carlini  <pcarlini@unitus.it>
4085
4086         * include/bits/deque.tcc: Fully qualify standard
4087         functions with std::, thus avoiding Koenig lookup.
4088         * include/bits/gslice_array.h: Likewise.
4089         * include/bits/indirect_array.h: Likewise.
4090         * include/bits/list.tcc: Likewise.
4091         * include/bits/mask_array.h: Likewise.
4092         * include/bits/slice_array.h: Likewise.
4093
4094 2003-07-04  Gawain Bolton  <gbolton@free.fr>
4095
4096         * include/bits/stl_tree.h: Performance and memory usage
4097         improvements.
4098
4099 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
4100
4101         * Makefile.am: Replace PWD with PWD_COMMAND.
4102         * Makefile.in: Regenerated.
4103         * docs/html/Makefile: Likewise.
4104
4105 2003-07-04  Paolo Carlini  <pcarlini@unitus.it>
4106
4107         * include/bits/valarray_array.h: Fully qualify standard
4108         functions with std::, thus avoiding Koenig lookup.
4109         * include/bits/vector.tcc: Likewise.
4110
4111 2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
4112
4113         * include/Makefile.am: Update target_ to host_.
4114         * include/Makefile.in: Regenerate.
4115         * src/Makefile.am: Same.
4116         * src/Makefile.in: Regenerate.
4117
4118         * config/os/gnu-linux/os_defines.h: Remove glibc-2.0 support.
4119
4120 2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
4121
4122         * acinclude.m4 (GLIBCPP_ENABLE_DEBUG_FLAGS): To
4123         --enable-libstdcxx-debug-flags.
4124         (GLIBCPP_ENABLE_DEBUG_FLAGS): To --enable-libstdcxx-debug.
4125         (GLIBCPP_ENABLE_PCH): To --enable-libstdcxx-pch.
4126         * aclocal.m4: Regenerate.
4127         * configure: Same.
4128         * docs/html/configopts.html: Update.
4129
4130 2003-07-04  Paolo Carlini  <pcarlini@unitus.it>
4131
4132         Revert the fix for libstdc++/11378.
4133
4134 2003-07-04  Paolo Carlini  <pcarlini@unitus.it>
4135
4136         PR libstdc++/11378
4137         * include/std/std_fstream.h (xsputn): In the unbuffered case,
4138         provided always_noconv(), issue directly _M_file.xsputn.
4139         * testsuite/performance/filebuf_unbuf_sputn.cc: New.
4140
4141 2003-07-04  Paolo Carlini  <pcarlini@unitus.it>
4142
4143         * include/bits/stl_list.h: Fully qualify standard
4144         functions with std::, thus avoiding Koenig lookup.
4145         * include/bits/stl_queue.h: Likewise.
4146         * include/bits/stl_raw_storage_iter.h: Likewise.
4147         * include/bits/stl_tempbuf.h: Likewise.
4148         * include/bits/stl_tree.h: Likewise.
4149         * include/bits/stl_uninitialized.h: Likewise.
4150         * include/bits/stl_vector.h: Likewise.
4151         * include/ext/rope: Change includes order.
4152
4153 2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
4154
4155         * configure.host (fpos_include_dir): Fix.
4156
4157 2003-07-04  Paolo Carlini  <pcarlini@unitus.it>
4158
4159         * include/bits/stl_heap.h: Fully qualify standard
4160         functions with std::, thus avoiding Koenig lookup.
4161         * include/bits/stl_iterator_base_funcs.h: Likewise.
4162
4163         * include/bits/stl_algo.h: Qualify __iterator_category too.
4164         * include/bits/stl_algobase.h: Likewise.
4165         * include/bits/stl_bvector.h: Likewise.
4166
4167         * include/bits/stl_algo.h: Don't qualify the pair type.
4168
4169 2003-07-03  Benjamin Kosnik  <bkoz@redhat.com>
4170
4171         * include/Makefile.am (target_headers): Add fpos.h
4172         (bits_headers): Remove.
4173         * include/Makefile.in: Regenerate.
4174         * configure.in: Add FPOS_INC_SRCDIR, substitute it.
4175         * configure: Regenerate.
4176         * configure.host: Add fpos_include_dir.
4177         * config/os/gnu-linux/fpos.h: New.
4178         * config/os/generic/fpos.h: Add.
4179         * include/bits/fpos.h: Remove.
4180
4181         * config/io/c_io_stdio.h: Remove fpos_t typedef.
4182
4183         * include/bits/fstream.tcc: Tweaks.
4184         * include/std/std_fstream.h: Same.
4185
4186         * testsuite/27_io/fpos/1.cc (test01): Uncomment. Move to...
4187         * testsuite/27_io/fpos/mbstate_t/1.cc: ...here.
4188         * testsuite/27_io/fpos/mbstate_t/2.cc: Same.
4189         * testsuite/27_io/fpos/mbstate_t/3.cc: Same.
4190         * testsuite/27_io/fpos/1.cc: New.
4191
4192 2003-07-03  Benjamin Kosnik  <bkoz@redhat.com>
4193             Petur Runolfsson  <peturr02@ru.is>
4194
4195         * include/std/std_streambuf.h: Remove _M_pos.
4196         * config/io/basic_file_stdio.h: Use seekpos instead of seekoff.
4197         * config/io/basic_file_stdio.cc: Same, use fseek instead of lseek,
4198         use fread/fwrite instead of read/write.
4199         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Fix.
4200         * testsuite/27_io/basic_filebuf/sputn/char/9339.cc: Close filebufs
4201         before reading again.
4202         * testsuite/27_io/objects/char/6.cc: Tweak.
4203
4204 2003-07-03  David Edelsohn  <edelsohn@gnu.org>
4205
4206         * testsuite/22_locale/num_put/put/char/7.cc: Guard with
4207         _GLIBCPP_USE_WCHAR_T.
4208
4209 2003-07-02  Paolo Carlini  <pcarlini@unitus.it>
4210
4211         * include/bits/basic_string.tcc (_M_replace_aux): Constify
4212         __n1 and __off1.
4213
4214 2003-07-02  Paolo Carlini  <pcarlini@unitus.it>
4215
4216         * include/bits/stl_bvector.h: Fully qualify standard
4217         functions with std::, thus avoiding Koenig lookup.
4218         * include/bits/stl_construct.h: Likewise.
4219         * include/bits/stl_deque.h: Likewise.
4220
4221 2003-07-02  Paolo Carlini  <pcarlini@unitus.it>
4222
4223         * testsuite/22_locale/num_put/put/char/7.cc: Include
4224         <testsuite_hooks.h>, tweak.
4225         * testsuite/22_locale/num_put/put/wchar_t/7.cc: Likewise.
4226
4227 2003-07-01  Phil Edwards  <pme@gcc.gnu.org>
4228
4229         * testsuite/Makefile.am (AM_MAKEFLAGS):  Set to -j1 (affects
4230         check* targets, but not libs/programs).
4231         * testsuite/Makefile.in:  Regenerate.
4232
4233 2003-07-01  Roger Sayle  <roger@eyesopen.com>
4234
4235         * acinclude.m4 (GLIBCPP_CHECK_STDLIB_SUPPORT): Fix typo in CXXFLAGS.
4236         (GLIBCPP_CHECK_MATH_SUPPORT): Likewise.
4237         * aclocal.m4: Regenerate.
4238         * configure: Regenerate.
4239
4240 2003-07-01  Benjamin Kosnik  <bkoz@redhat.com>
4241
4242         * acinclude.m4 (GLIBCPP_ENABLE_PCH): Fix obvious error.
4243         * aclocal.m4: Regenerated.
4244         * configure: Regenerated.
4245
4246 2003-07-01  Paolo Carlini  <pcarlini@unitus.it>
4247
4248         PR libstdc++/11389
4249         * include/bits/fstream.tcc (underflow): For encoding() == 0
4250         don't read more than __buflen chars.
4251         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc: New.
4252         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc: New.
4253         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc: New.
4254         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc: New.
4255
4256 2003-07-01  Jerry Quinn  <jlquinn@optonline.net>
4257
4258         * 22_locale/num_put/put/char/7.cc: New.
4259         * 22_locale/num_put/put/wchar_t/7.cc: New.
4260
4261 2003-06-30  Jerry Quinn  <jlquinn@optonline.net>
4262
4263         * src/locale.cc (__use_cache<numpunct>): Revert previous relocation.
4264         * include/bits/locale_facets.tcc (__use_cache<numpunct>): Ditto.
4265
4266 2003-06-30  Benjamin Kosnik  <bkoz@redhat.com>
4267
4268         * 27_io/basic_filebuf/seekoff/char/1-in.cc: New.
4269         * 27_io/basic_filebuf/seekoff/char/1-io.cc: New.
4270         * 27_io/basic_filebuf/seekoff/char/1-out.cc: New.
4271         * 27_io/basic_filebuf/seekoff/char/2-in.cc: New.
4272         * 27_io/basic_filebuf/seekoff/char/2-io.cc: New.
4273         * 27_io/basic_filebuf/seekoff/char/2-out.cc: New.
4274         * 27_io/basic_filebuf/seekoff/char/2.cc: Remove.
4275         * 27_io/basic_filebuf/seekoff/char/3-in.cc: New.
4276         * 27_io/basic_filebuf/seekoff/char/3-io.cc: Change.
4277         * 27_io/basic_filebuf/seekoff/char/3-out.cc: New.
4278         * 27_io/basic_filebuf/seekoff/char/4-io.cc: Remove.
4279         * 27_io/basic_filebuf/seekpos/char/1-in.cc: New.
4280         * 27_io/basic_filebuf/seekpos/char/1-io.cc: New.
4281         * 27_io/basic_filebuf/seekpos/char/1-out.cc: New.
4282         * 27_io/basic_filebuf/seekpos/char/2-in.cc: New.
4283         * 27_io/basic_filebuf/seekpos/char/2-io.cc: New.
4284         * 27_io/basic_filebuf/seekpos/char/2-out.cc: New.
4285         * 27_io/basic_filebuf/seekpos/char/2.cc: Change.
4286         * 27_io/basic_filebuf/seekpos/char/3-in.cc: New.
4287         * 27_io/basic_filebuf/seekpos/char/3-io.cc: Remove.
4288         * 27_io/basic_filebuf/seekpos/char/3-out.cc: New.
4289         * 27_io/basic_filebuf/seekpos/char/4-io.cc: Remove.
4290         * data/seekoff-1.tst: Remove.
4291         * data/seekoff-1io.tst: New.
4292         * data/seekoff-1out.tst: New.
4293         * data/seekoff-2.tst: Remove.
4294         * data/seekoff-2io.tst: New.
4295         * data/seekoff-2out.tst: New.
4296         * data/seekoff.txt
4297         * data/seekpos-1.tst: Remove.
4298         * data/seekpos-1io.tst: New.
4299         * data/seekpos-1out.tst: New.
4300         * data/seekpos-2.tst: Remove.
4301         * data/seekpos-2io.tst: New.
4302         * data/seekpos-2out.tst: New.
4303         * data/seekpos.txt: New.
4304
4305 2003-06-30  Jerry Quinn  <jlquinn@optonline.net>
4306
4307         * src/locale.cc (__use_cache<numpunct>): Move from here ...
4308         * include/bits/locale_facets.tcc (__use_cache<numpunct>): To
4309         here.
4310
4311 2003-06-30  Paolo Carlini  <pcarlini@unitus.it>
4312
4313         * include/bits/stl_algobase.h: Fully qualify standard
4314         functions with std::, thus avoiding Koenig lookup.
4315
4316 2003-06-30  Doug Gregor <dgregor@apple.com>
4317
4318         * include/bits/locale_facets.tcc (money_get::do_get): Avoid
4319         subscripting empty string.
4320
4321 2003-06-30  Phil Edwards  <pme@gcc.gnu.org>
4322
4323         * testsuite/Makefile.am (check-am):  Do not override.
4324         (baseline_symbols):  Declare as PHONY, so no need to 'touch' it.
4325         * testsuite/Makefile.in:  Regenerate.
4326
4327 2003-06-30  Doug Gregor <dgregor@apple.com>
4328
4329         * testsuite/24_iterators/insert_iterator.cc (test01, test02):
4330         Don't initialize an insert_iterator with a singular iterator.
4331
4332 2003-06-30  Benjamin Kosnik  <bkoz@redhat.com>
4333
4334         * acinclude.m4 (GLIBCPP_ENABLE_PCH): Add bits for --enable-pch.
4335         * aclocal.m4: Regenerate.
4336         * configure.in (GLIBCPP_CHECK_PCH): Move, change to
4337         GLIBCPP_ENABLE_PCH, default to yes.
4338         * configure: Regenerate.
4339         * docs/html/configopts.html: Add --enable-pch.
4340
4341 2003-06-30  Phil Edwards  <pme@gcc.gnu.org>
4342
4343         * testsuite/lib/libstdc++-v3-dg.exp:  Add comments.
4344         (libstdc++-v3-init):  Also set LD_RUN_PATH.
4345
4346 2003-06-30  Paolo Carlini  <pcarlini@unitus.it>
4347
4348         * include/std/std_streambuf.h (_M_mode): Unused by streambuf, move
4349         from here to filebuf and stringbuf.
4350         (~basic_streambuf()): Don't set _M_mode.
4351         (basic_streambuf()): Don't set _M_mode.
4352         * include/std/std_fstream.h (_M_mode): Move here, from streambuf.
4353         (~basic_filebuf()): Clean up.
4354         * include/bits/fstream.tcc (basic_filebuf()): Set _M_mode.
4355         * include/std/std_sstream.h (_M_mode): Move here, from streambuf.
4356         * testsuite/27_io/basic_streambuf/cons/char/1.cc: Don't set _M_mode.
4357         * testsuite/27_io/basic_streambuf/overflow/char/1.cc: Likewise.
4358         * testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise.
4359         * testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Likewise.
4360         * testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise.
4361
4362 2003-06-30  Paolo Carlini  <pcarlini@unitus.it>
4363
4364         * include/std/std_fstream.h (_M_underflow): Remove.
4365         (uflow): Remove, inherited from streambuf.
4366         (underflow): Only declare.
4367         * include/bits/fstream.tcc (_M_underflow): Rename to
4368         underflow, to which is equivalent for __bump == false,
4369         simplify.
4370         * include/std/std_sstream.h (_M_underflow): Remove.
4371         (uflow): Remove, inherited from streambuf.
4372         (underflow): Only declare.
4373         * include/bits/sstream.tcc (_M_underflow): Rename to
4374         underflow, to which is equivalent for __bump == false,
4375         simplify.
4376
4377 2003-06-29  Paolo Carlini  <pcarlini@unitus.it>
4378
4379         * include/bits/stl_algo.h: Fully qualify standard functions
4380         with std::, thus avoiding Koenig lookup.
4381
4382 2003-06-29  Paolo Carlini  <pcarlini@unitus.it>
4383
4384         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc:
4385         Improve type correctness-wise.
4386         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc:
4387         Likewise.
4388         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc:
4389         Likewise.
4390         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc:
4391         Likewise.
4392
4393 2003-06-29  Paolo Carlini  <pcarlini@unitus.it>
4394
4395         * include/std/std_streambuf.h (uflow): According to
4396         27.5.2.4.3,p16, don't check gptr() < egptr().
4397
4398 2003-06-28  Paolo Carlini  <pcarlini@unitus.it>
4399
4400         PR libstdc++/9875
4401         * include/bits/fstream.tcc (seekoff): Fix for encoding() > 0.
4402         (seekpos): Likewise.
4403         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc:
4404         New test.
4405         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc:
4406         New test.
4407
4408 2003-06-27  Benjamin Kosnik  <bkoz@redhat.com>
4409
4410         * testsuite/testsuite_performance.h (__gnu_cxx_test): Change
4411         output name to libstdc++-v3-performance.sum.
4412         * testsuite/Makefile.am (CLEANFILES): Remove .performance.
4413         * testsuite/Makefile.in: Regenerate.
4414
4415 2003-06-27  Matthias Klose  <doko@debian.org>
4416
4417         * testsuite/Makefile.am (check-abi, check-abi-verbose): Save
4418         output of abi-check in libstdc++-v3-abi.sum.
4419         * testsuite/Makefile.in: Regenerate.
4420
4421 2003-06-27  Krister Walfridsson  <cato@df.lth.se>
4422
4423         * config/os/bsd/netbsd/ctype_noninline.h
4424         (_C_ctype_): Declare.
4425         (ctype<char>::classic_table): Return _C_ctype_ + 1.
4426         (ctype<char>::ctype): Use classic_table.
4427
4428 2003-06-27  Paolo Carlini  <pcarlini@unitus.it>
4429             Nathan C. Myers  <ncm-nospam@cantrip.org>
4430
4431         PR libstdc++/9178
4432         * include/bits/fstream.tcc (_M_underflow): Properly estimate
4433         the worst-case number of external bytes for a given get area.
4434         * testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: New.
4435
4436 2003-06-27  Paolo Carlini  <pcarlini@unitus.it>
4437             Petur Runolfsson  <peturr02@ru.is>
4438
4439         PR libstdc++/11305
4440         * include/bits/fstream.tcc (overflow): Properly estimate the
4441         worst-case number of external bytes for a given put area
4442         (by using codecvt::max_length()).
4443         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1: New.
4444         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2: New.
4445         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3: New.
4446         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4: New.
4447
4448 2003-06-27  Nathan Sidwell  <nathan@codesourcery.com>
4449
4450         * config/linker-map.gnu: Remove ; after __numpunct_cache.
4451
4452 2003-06-26  Benjamin Kosnik  <bkoz@redhat.com>
4453
4454         * include/bits/ios_base.h (ios_base::_M_getloc): Return reference
4455         to the imbued locale.
4456         * include/bits/locale_facets.tcc (num_put::_M_convert_int): Use
4457         _M_getloc.
4458         (num_put::_M_convert_float): Use.
4459
4460 2003-06-26  Benjamin Kosnik  <bkoz@redhat.com>
4461             Jerry Quinn  <jlquinn@optonline.net>
4462
4463         * config/linker-map.gnu: Add __numpunct_cache.
4464         * config/locale/gnu/numeric_members.cc
4465         (numpunct::_M_initialize_numpunct): Account for _M_data, fill in
4466         all elements for "C" locale.
4467         (numpunct::~numpunct): Delete _M_data.
4468         * config/locale/generic/numeric_members.cc: Same.
4469         * include/bits/basic_ios.tcc
4470         (basic_ios::init): Remove __locale_cache bits.
4471         (basic_ios::_M_cache_locale): Same.
4472         * include/bits/ios_base.h: Same. Tweaks.
4473         * include/bits/locale_classes.h: Tweaks. Reorder classes.
4474         (__use_cache): Make friends with _Impl, locale.
4475         (_Impl::_M_caches): Add.
4476         (_Impl::_M_install_cache): Add.
4477         * include/bits/locale_facets.h (__numpunct_cache): New.
4478         (numpunct): Encapsulate data members in __numpunct_cache member,
4479         _M_data. Adjust virtuals.
4480         (numpunct::numpunct): New ctor for the same.
4481         (__locale_cache_base): Remove.
4482         (__locale_cache): Remove.
4483         * include/bits/locale_facets.tcc (__use_cache): New function,
4484         specializations.
4485         (num_put::_M_convert_int, _M_convert_float, do_put): Use it.
4486         * src/globals.cc: Add cache_vec, numpunct_cache_c, numpunct_cache_w.
4487         * src/ios.cc (ios_base::ios_base): Remove __locale_cache.
4488         * src/locale-inst.cc: Same. Add __numpunct_cache.
4489         * src/locale.cc: Tweak inlines.
4490         (__use_cache): Define specializations.
4491         * src/localename.cc: Use global bits.
4492         (_Impl::~Impl): Deal with __numpunct_cache destruction.
4493         (_Impl::_Impl): Same. Pre-cache standard numpunct facets.
4494         (_Impl::_M_init_facet): Take into account __numpunct_cache.
4495         * testsuite/27_io/ios_base/cons/assign_neg.cc: Update line numbers.
4496         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
4497
4498 2003-06-26  Nathan C. Myers  <ncm-nospam@cantrip.org>
4499             Paolo Carlini  <pcarlini@unitus.it>
4500
4501         * testsuite/performance/filebuf_copy.cc: New, testing char
4502         by char file copy.
4503
4504 2003-06-26  Paolo Carlini  <pcarlini@unitus.it>
4505             Nathan C. Myers  <ncm-nospam@cantrip.org>
4506
4507         * include/bits/fstream.tcc (_M_underflow): When the actual
4508         end of file is reached, set 'uncommitted' mode to allow a
4509         next write without an intervening seek (see C++98 27.8.1.1,2
4510         and C89 7.9.5.3).
4511         * testsuite/27_io/basic_filebuf/underflow/char/2.cc: New.
4512
4513 2003-06-25  Nathan C. Myers  <ncm-nospam@cantrip.org>
4514
4515         * include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc,
4516         sputc): Move inline, from here...
4517         * include/std/std_streambuf.h: ... to here.
4518
4519         * include/std/std_streambuf.h (snextc, sbumpc, sgetc,
4520         sputbackc, sungetc, sputc): Use __builtin_expect.
4521
4522 2003-06-24  Phil Edwards  <pme@gcc.gnu.org>
4523
4524         * docs/doxygen/mainpage.html:  Use a useful title.
4525
4526 2003-06-24  Benjamin Kosnik  <bkoz@redhat.com>
4527
4528         * docs/html/documentation.html: Remove assignment info.
4529         * docs/html/17_intro/contribute.html: Edits.
4530         * docs/html/17_intro/libstdc++-assign.tx: Remove.
4531
4532         * docs/html/test.html: Update.
4533
4534         * README: Update.
4535
4536 2003-06-24  Benjamin Kosnik  <bkoz@redhat.com>
4537             Ulrich Drepper  <drepper@redhat.com>
4538
4539         * testsuite/testsuite_performance.h: Tweak mallinfo.
4540
4541 2003-06-24  Paolo Carlini  <pcarlini@unitus.it>
4542             Nathan C. Myers  <ncm-nospam@cantrip.org>
4543
4544         * include/std/std_fstream.h (_M_filepos): Remove.
4545         (_M_reading, _M_writing): New, encode the various I/O modes:
4546         'read', 'write' and 'uncommitted'.
4547         (sync): If there is something to flush, do it, then go to
4548         'uncommitted' mode.
4549         * include/bits/fstream.tcc (_M_set_buffer): Overhaul to deal
4550         with three different cases: __off > 0 (upon underflow),
4551         __off == 0 (upon overflow), __off == -1 (upon open, setbuf,
4552         seekoff/pos).
4553         (_M_underflow): Don't call overflow, set _M_reading to true
4554         on success, tweak.
4555         (pbackfail): Set _M_reading to true on pback creation, tweak.
4556         (overflow): Don't seek, deal with overflow in 'uncommitted' mode,
4557         set _M_writing to true on success, tweak.
4558         (seekoff): Simplify, set _M_reading, _M_writing to false, call
4559         _M_set_buffer(-1) ('uncommitted').
4560         (open, close, setbuf): Set _M_reading, _M_writing to false and
4561         call _M_set_buffer(-1), tweak.
4562         (basic_filebuf): Don't set _M_buf_unified.
4563         (_M_destroy_internal_buffer): Don't call setg and setp.
4564         * include/ext/stdio_filebuf.h (stdio_filebuf): Use _M_reading,
4565         _M_writing and _M_set_buffer(-1).
4566         * include/std/std_streambuf.h (_M_move_out_cur, _M_move_in_cur,
4567         _M_out_lim, _M_buf_unified): Remove.
4568         (basic_streambuf): Don't set _M_out_lim and _M_buf_unified.
4569         (setp): Don't set _M_out_lim.
4570         * testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Fix for
4571         the new logic ('read', 'write' and 'uncommitted' modes): e.g.,
4572         upon open the mode is 'uncommitted' and therefore the put area
4573         pointers are null.
4574         * testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: Ditto.
4575         * testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Ditto.
4576         * testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Ditto.
4577         * testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Ditto.
4578         * testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Ditto.
4579         * testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Ditto.
4580         * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Ditto.
4581         * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: Ditto.
4582         * testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Ditto.
4583         * testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: Ditto.
4584         * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Ditto.
4585         * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: Ditto.
4586         * testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Ditto.
4587         * testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Ditto.
4588         * testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc: Ditto.
4589         * testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Ditto.
4590         * testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Ditto.
4591         * testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc: Ditto.
4592         * testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Ditto.
4593         * testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: Ditto.
4594
4595         * include/bits/fstream.tcc (showmanyc): Use only the
4596         documented derivation interface to basic_streambuf (gptr(),
4597         setg(), etc.) to work right with user specializations.
4598         * include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc,
4599         sputc, xsgetn, xsputn, __copy_streambufs): Likewise.
4600         * include/std/std_streambuf.h (in_avail, sgetc, uflow, stossc):
4601         Likewise.
4602         * include/std/std_fstream.h (_M_create_pback, _M_destroy_pback,
4603         xsgetn): Likewise.
4604
4605 2003-06-23  Loren J. Rittle  <ljrittle@acm.org>
4606
4607         * configure.host (freebsd*): Set abi_baseline_pair.
4608         * config/abi/i386-freebsd4/baseline_symbols.txt: Update from 3.2
4609         (at or near first release) to 3.3.
4610         * config/abi/i386-freebsd5/baseline_symbols.txt: New file.
4611         * config/abi/alpha-freebsd5/baseline_symbols.txt: New file.
4612         * config/abi/sparc-freebsd5/baseline_symbols.txt: New file.
4613
4614         * include/ext/mt_allocator.h: Portability.
4615         * testsuite/testsuite_performance.h: Likewise.
4616
4617 2003-06-23  Benjamin Kosnik  <bkoz@redhat.com>
4618
4619         * docs/html/17_intro/libstdc++-assign.txt: Update address.
4620
4621         * testsuite/performance/ifstream_getline.cc: Fix.
4622
4623 2003-06-23  Doug Gregor <dgregor@apple.com>
4624
4625         * include/bits/boost_concept_check.h: Don't use _D or _R for type
4626         names.
4627
4628 2003-06-22  Paolo Carlini  <pcarlini@unitus.it>
4629             Nathan C. Myers  <ncm-nospam@cantrip.org>
4630
4631         * include/std/std_streambuf.h (_M_move_out_cur): _M_out_lim
4632         is now used only for filebuf, when _M_buf_unified is true.
4633         epgtr() plays the role of _M_out_lim but it's only updated
4634         upon overflow, underflow, uflow, seekoff/pos.
4635         * include/bits/sstream.tcc (_M_underflow): New, implements
4636         stringbuf::underflow and uflow.
4637         (seekoff, seekpos): Tweak, use  _M_update_egptr.
4638         * include/std/std_sstream.h (str): Rewrote, deal correctly
4639         with the new logic, in particular, when pptr() > egptr().
4640         (_M_sync): When __testout && !__testin set all the get area
4641         pointers to the current string end.
4642         (_M_update_egptr): New, internal function updating egptr()
4643         to the actual string end.
4644         (_M_underflow): New, declare.
4645         (underflow): Dispatch to _M_underflow(false).
4646         (uflow): Dispatch to _M_underflow(true).
4647
4648         * include/bits/sstream.tcc (pbackfail, overflow, seekoff,
4649         seekpos): Use only the documented derivation interface to
4650         basic_streambuf (gptr(), setg(), etc.) to work right with
4651         user specializations.
4652         * include/std/std_sstream.h (str, _M_sync): Likewise.
4653
4654 2003-06-20  Doug Gregor <dgregor@apple.com>
4655
4656         * testsuite/20_util/auto_ptr.cc: Don't dereference NULL auto_ptr
4657         * testsuite/21_strings/basic_string/replace/char/4.cc: Don't
4658         dereference end iterator.
4659         * testsuite/21_strings/basic_string/replace/wchar_t/4.cc: Same.
4660         * testsuite/22_locale/ctype/narrow/char/1.cc: Don't subscript with
4661         index equal to the length of a string.
4662         * testsuite/22_locale/ctype/narrow/char/2.cc: Same.
4663         * testsuite/22_locale/ctype/narrow/wchar_t/1.cc: Same.
4664         * testsuite/22_locale/ctype/narrow/wchar_t/2.cc: Same.
4665         * testsuite/22_locale/ctype/widen/char/1.cc: Same.
4666         * testsuite/22_locale/ctype/widen/wchar_t/1.cc: Same.
4667         * testsuite/23_containers/list_modifiers.cc: Don't dereference
4668         singular reverse iterator.
4669         * testsuite/23_containers/vector_bool.cc: Don't increment singular
4670         iterator.
4671         * testsuite/24_iterators/rel_ops.cc: Don't compare singular iterator.
4672
4673 2003-06-20  Doug Gregor <dgregor@apple.com>
4674
4675         * include/bits/basic_string.h (basic_string::replace): Dispatch
4676         _InputIterator version based on _Is_integer.
4677         * include/bits/basic_string.tcc (basic_string::replace):
4678         Renamed replace(iterator, iterator, size_type, _CharT) to
4679         _M_replace_aux.
4680         * testsuite/21_strings/basic_string/assign/char/1.cc (test01):
4681         Test basic_string::assign(_InputIterator, _InputIterator),
4682         which calls basic_string::replace(iterator, iterator,
4683         _Input_iterator, _InputIterator).
4684
4685 2003-06-20  Benjamin Kosnik  <bkoz@redhat.com>
4686
4687         * testsuite/testsuite_performance.h (resource_counter): Don't use
4688         mallinfo at the moment.
4689
4690 2003-06-20  Matthias Klose  <doko@debian.org>
4691
4692         * configure.host: Set try_cpu to target_cpu for existing
4693         baseline files.
4694
4695 2003-06-19  Andreas Jaeger  <aj@suse.de>
4696
4697         * testsuite/Makefile.am (extract_symvers): Revert accidental
4698         change.
4699         * testsuite/Makefile.in: Regenerate.
4700
4701         * configure.in: Pass MULTISUBDIR to testsuite/Makefile.
4702         * configure: Regenerated.
4703
4704 2003-06-19  Paolo Carlini  <pcarlini@unitus.it>
4705
4706         * include/std/std_sstream.h (_M_sync): Make non virtual.
4707
4708 2003-06-18  Benjamin Kosnik  <bkoz@redhat.com>
4709
4710         * testsuite/testsuite_performance.h (time_counter): New.
4711         (resource_counter): New.
4712         (report_performance): New.
4713         (start_counters): New.
4714         (stop_counters): New.
4715         (clear_counters): New.
4716         * testsuite/performance/allocator.cc: Instrument.
4717         * testsuite/performance/cout_insert_int.cc: Same.
4718         * testsuite/performance/complex_norm.cc: Same.
4719         * testsuite/performance/filebuf_sputc.cc: New.
4720         * testsuite/performance/fstream_seek_write.cc: Same.
4721         * testsuite/performance/ifstream_getline.cc: Same.
4722         * testsuite/performance/map_create_fill.cc: Same.
4723         * testsuite/performance/ofstream_insert_float.cc: Same.
4724         * testsuite/performance/ofstream_insert_int.cc: Same.
4725         * testsuite/performance/string_append.cc: Convert.
4726         * scripts/check_performance: New.
4727         * testsuite/Makefile.am (check-performance): New.
4728         (CLEANFILES): Add.
4729
4730 2003-06-18  Paolo Carlini  <pcarlini@unitus.it>
4731             Benjamin Kosnik  <bkoz@redhat.com>
4732
4733         * include/std/std_sstream.h (setbuf): Check __n >= 0.
4734         * include/bits/fstream.tcc (setbuf): Tweak.
4735
4736 2003-06-18  Paolo Carlini  <pcarlini@unitus.it>
4737
4738         * include/bits/sstream.tcc (seekoff): We can't seek beyond
4739         _M_out_lim, therefore _M_move_out_cur boils down to simply
4740         updating _M_out_cur.
4741         (seekpos): Likewise, clean up.
4742
4743 2003-06-18  Nathan C. Myers  <ncm-nospam@cantrip.org>
4744             Paolo Carlini  <pcarlini@unitus.it>
4745
4746         * include/bits/fstream.tcc (setbuf): Allow (__s, 1) too,
4747         simply equivalent to the unbuffered case (0, 0) as far as
4748         _M_buf_size is concerned.
4749
4750 2003-06-18  Andreas Jaeger  <aj@suse.de>
4751
4752         * testsuite/Makefile.am (new-abi-baseline): Create baseline
4753         directory.
4754         (baseline_file): Use baseline_dir.
4755         (baseline_dir): New.
4756         (mkinstalldirs): New.
4757
4758         * acinclude.m4: Rename baseline_file to baseline_dir, strip
4759         filename from baseline_dir.
4760
4761         * testsuite/Makefile.in: Regenerated.
4762         * Makefile.in: Regenerated.
4763         * aclocal.m4: Regenerated.
4764         * configure: Regenerated.
4765
4766 2003-06-17  Benjamin Kosnik  <bkoz@redhat.com>
4767
4768         * configure.in: Missed check_survey bit.
4769         * configure: Regenerated.
4770
4771 2003-06-17  Benjamin Kosnik  <bkoz@redhat.com>
4772
4773         * scripts: New.
4774         * config/abi/extract_symvers: Move to...
4775         * scripts/extract_symvers: ...here.
4776         * mkcheck.in: Move to..
4777         * scripts/check_survey.in: ...here.
4778         * testsuite_flags.in: Move to..
4779         * scripts/testsuite_flags.in: ...here.
4780         * configure.in: Change check and testsuite_flags locations.
4781         * configure: Regenerate.
4782         * testsuite/Makefile.am (current_symbols.txt): Change location.
4783         * testsuite/Makefile.in: Regenerate.
4784         * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Modify
4785         location of testsuite_flags.
4786         * Makefile.am (check-script): Move..
4787         (check-script-install): Move...
4788         * testsuite/Makefile.am: ... here.
4789         * testsuite/Makefile.in: Regenerate.
4790         * Makefile.in: Regenerate.
4791
4792 2003-06-17  Benjamin Kosnik  <bkoz@redhat.com>
4793
4794         * config/abi/i486-linux-gnu/baseline_symbols.txt: Update to 3.3.0.
4795
4796 2003-06-16  Benjamin Kosnik  <bkoz@redhat.com>
4797
4798         * Makefile.am (check-abi): Move...
4799         (new-abi-baseline): Move...
4800         * testsuite/Makefile.am: ...here.
4801         (new-abi-baseline): Conditionalize.
4802         (check-abi): Conditionalize.
4803         (check-abi-verbose): New.
4804         * Makefile.in: Regenerate.
4805         * testsuite/Makefile.in: Regenerate.
4806         * configure.in: Consolidate testsuite configure bits.
4807         * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Same.
4808         * configure: Regenerate.
4809         * aclocal.m4: Regenerate.
4810         * testsuite/abi_check.cc: Add --check-verbose.
4811         Only output detailed information if --check-verbose.
4812
4813 2003-06-16  Andreas Jaeger  <aj@suse.de>
4814
4815         * testsuite/abi_check.cc: Create summary report.
4816
4817 2003-06-16  Paolo Carlini  <pcarlini@unitus.it>
4818
4819         * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Fix
4820         for systems with BUFSIZ != 8192.
4821         * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Ditto.
4822         * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc:
4823         Minor tweaks.
4824
4825 2003-06-16  Andreas Jaeger  <aj@suse.de>
4826
4827         * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Make
4828         check-abi multilib aware.
4829         * aclocal.m4: Regenerate.
4830         * configure: Regenerate.
4831
4832 2003-06-16  Benjamin Kosnik  <bkoz@redhat.com>
4833             Andreas Jaeger  <aj@suse.de>
4834
4835         * configure.host: Set x86_64 abi_baseline pair correctly.
4836
4837 2003-06-16  Paolo Carlini  <pcarlini@unitus.it>
4838
4839         * testsuite/27_io/basic_filebuf/sungetc/char/1.cc: Split and
4840         fix for missing seeks between gets and puts into...
4841         * testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc: New.
4842         * testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: New.
4843         * testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: New.
4844         * testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc: New.
4845         * testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: New.
4846         * testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc: New.
4847
4848 2003-06-15  Richard Henderson  <rth@redhat.com>
4849
4850         * config/linker-map.gnu: Export virtual function thunks for
4851         64-bit systems too.
4852
4853 2003-06-13  Benjamin Kosnik  <bkoz@redhat.com>
4854
4855         * config/abi/i686-pc-linux-gnu: To..
4856         * config/abi/i486-linux-gnu: ...this.
4857         * config/abi/alphaev67-unknown-linux-gnu: To..
4858         * config/abi/alpha-linux-gnu: ...this.
4859         * config/abi/ia64-unknown-linux-gnu: To...
4860         * config/abi/ia64-linux-gnu: ...this.
4861         * config/abi/x86_64-unknown-linux-gnu: To...
4862         * config/abi/x86_64-linux-gnu: ...this.
4863         * config/abi/i386-unknown-freebsd4: To...
4864         * config/abi/i386-freebsd4: ...this.
4865         * config/linker-map.gnu: Cleanups, move libsupc++ bits into
4866         CXXABI.
4867         * configure.host: abi_baseline_triplet to abi_baseline_pair.
4868         Simplify cpu bits so that abi_baseline_pair can use the same
4869         cpu configuration.
4870         * acinclude.m4: Same.
4871         * aclocal.m4: Regenerate.
4872         * configure.in: Can't get enable_abi_check to yes unless native.
4873         * configure: Regenerate.
4874
4875 2003-06-13  Paolo Carlini  <pcarlini@unitus.it>
4876
4877         * testsuite/27_io/basic_filebuf/seekoff/char/1.cc: Split and
4878         fix for missing seeks between gets and puts into...
4879         * testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: New.
4880         * testsuite/27_io/basic_filebuf/seekoff/char/4-io.cc: New.
4881         * testsuite/27_io/basic_filebuf/seekpos/char/1.cc: Same, into...
4882         * testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: New.
4883         * testsuite/27_io/basic_filebuf/seekpos/char/4-io.cc: New.
4884         * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Fix
4885         for missing seeks between gets and puts.
4886         * testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: Ditto.
4887         * testsuite/data/seekoff-1.tst: New.
4888         * testsuite/data/seekoff-2.tst: New.
4889         * testsuite/data/seekpos-1.tst: New.
4890         * testsuite/data/seekpos-2.tst: New.
4891
4892 2003-06-13  Nathan C. Myers <ncm-nospam@cantrip.org>
4893
4894         Avoid multi-processor bus contention on increment/decrement-and-
4895         test of the reference count in the empty-string object, by comparing
4896         addresses first, and never touching the reference count of the empty-
4897         string object.
4898         * include/bits/basic_string.h:
4899         (_S_empty_rep_storage): Move into basic_string<>::_Rep for use by its
4900         members.
4901         (_Rep::_S_empty_rep()): New accessor.
4902         (_Rep::_M_length, _Rep::_M_capacity, _Rep::_M_references): Move to
4903         a base class _Rep_base.
4904         (_Rep::_M_dispose, _Rep::_M_refcopy): Check for the empty string.
4905         (basic_string()): Change to use _M_refdata() in place of _M_refcopy(),
4906         since no longer must increment its refcount.
4907         * include/bits/basic_string.tcc:
4908         (_Rep::_M_destroy, _M_leak_hard): Check for the empty string and
4909         return immediately.  The former might be unnecessary.  The latter
4910         prevents begin() and end() from cloning it unnecessarily.
4911         (_S_construct(_InIterator, _InIterator, const _Alloc&,
4912         input_iterator_tag), _S_construct(_InIterator, _InIterator,
4913         const _Alloc&, forward_iterator_tag), _S_construct(size_type, _CharT,
4914         const _Alloc&)): Change to use _M_refdata() in place of _M_refcopy().
4915         (_M_mutate): Check for the empty string and treat it as shared.
4916         This is necessary here because _M_mutate is sometimes called with
4917         all-zero arguments; in all other uses of _M_is_shared, the test comes
4918         out right anyhow.
4919
4920 2003-06-12  Benjamin Kosnik  <bkoz@redhat.com>
4921
4922         * src/allocator-inst.cc: Explicitly instantiate.
4923         * include/ext/pool_allocator.h: Inhibit implicit instantiations.
4924         Tweaks.
4925         * config/linker-map.gnu: Add __pool_alloc bits. Tweaks.
4926
4927 2003-06-11  Benjamin Kosnik  <bkoz@redhat.com>
4928
4929         * acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Simplify.
4930         * aclocal.m4: Regenerate.
4931         * Makefile.am (SUBDIRS): Remove libio.
4932         * Makefile.in: Regenerate.
4933         * configure.in: Same.
4934         * configure: Regenerate.
4935         * config/io/basic_file_libio.cc: Remove.
4936         * config/io/basic_file_libio.h: Remove.
4937         * config/io/c_io_libio_codecvt.c: Remove.
4938         * config/io/c_io_libio.h: Remove.
4939         * libio/*: Remove.
4940         * src/Makefile.am: Same.
4941         * src/Makefile.in: Regenerate.
4942         * docs/html/configopts.html: Edits.
4943         * docs/html/explanations.html: Edits.
4944
4945 2003-06-11  Benjamin Kosnik  <bkoz@redhat.com>
4946
4947         * include/bits/stl_alloc.h (__debug_alloc): Move out.
4948         (__malloc_alloc): Same.
4949         (__pool_alloc): Same.
4950         (__new_alloc): Same.
4951         Rename to..
4952         * include/bits/allocator.h: ...this.
4953         * include/bits/stl_deque.h: Modify comment.
4954         * include/bits/stl_tree.h: Modify include.
4955         * include/std/std_memory.h: Same.
4956         * include/ext/rope: Same.
4957         * include/ext/slist: Same.
4958         * include/std/std_vector.h: Same.
4959         * include/std/std_stack.h: Same.
4960         * include/std/std_queue.h: Same.
4961         * include/std/std_list.h: Same.
4962         * include/std/std_deque.h: Same.
4963         * include/backward/alloc.h: Same.
4964         * include/ext/debug_allocator.h: New.
4965         * include/ext/malloc_allocator.h: New.
4966         * include/ext/pool_allocator.h: New.
4967         * include/ext/new_allocator.h: New.
4968         * include/bits/pthread_allocimpl.h: Remove.
4969         * include/bits/stl_pthread_alloc.h: Remove.
4970         * include/Makefile.am (ext_headers): Add.
4971         * include/Makefile.in: Regenerate.
4972         * src/stl-inst.cc: Use __gnu_cxx namespace.
4973         * src/stl-inst.cc: Move to...
4974         * src/allocator-inst.cc: Here.
4975         * src/Makefile.am (sources): Update.
4976         * src/Makefile.in: Regenerate.
4977         * config/linker-map.gnu: Remove __pool_alloc bits.
4978         * testsuite/ext/headers.cc: Add.
4979         * testsuite/ext/allocators.cc: Fixup.
4980
4981 2003-06-11  Stefan Olsson  <stefan@snon.net>
4982             Ola Rönnerup  <fnolis@home.se>
4983
4984         * include/Makefile.am (ext_headers): Add.
4985         * include/Makefile.in: Regenerate.
4986         * include/ext/mt_allocator.h: New file.
4987
4988 2003-06-10  Paolo Carlini  <pcarlini@unitus.it>
4989
4990         * include/bits/fstream.tcc (close): Clean up a bit.
4991
4992         * include/bits/streambuf.tcc (sbumpc): Clean up a bit.
4993
4994         * include/std/std_fstream.h (_M_destroy_pback): _M_pback_cur_save
4995         - the saved _M_in_cur, that is - cannot be null.
4996         (sync): Constify a variable.
4997
4998         * include/std/std_streambuf.h: Tweak a comment.
4999         (in_avail): Constify a variable.
5000
5001 2003-06-10  Phil Edwards  <pme@gcc.gnu.org>
5002
5003         * docs/html/17_intro/BUGS:  Update from 2.90.8 snapshot.
5004         * docs/html/17_intro/CHECKLIST:  Bring up to date with respect to
5005         correctness of container::iterator typedefs.  Fix whitespace.
5006         * docs/html/20_util/howto.html, docs/html/ext/howto.html:  Add links
5007         to allocator docs.
5008         * docs/html/documentation.html:  Regenerate.
5009
5010         * include/bits/basic_string.h, include/bits/basic_string.tcc,
5011         include/bits/deque.tcc, include/bits/list.tcc, include/bits/stl_algo.h,
5012         include/bits/stl_algobase.h, include/bits/stl_bvector.h,
5013         include/bits/stl_deque.h, include/bits/stl_iterator_base_funcs.h,
5014         include/bits/stl_list.h, include/bits/stl_uninitialized.h,
5015         include/bits/stl_vector.h, include/bits/vector.tcc,
5016         include/ext/algorithm, include/ext/slist, include/std/std_bitset.h:
5017         Change _Iter names to _Iterator, and __pos to __position.
5018
5019         * include/bits/stl_relops.h, include/bits/stl_numeric.h,
5020         include/bits/stl_multiset.h, include/bits/stl_set.h:
5021         Remove emacs markers.
5022
5023         * include/bits/stl_threads.h (_STL_auto_lock):  Add __unused__.
5024
5025 2003-06-10  Paolo Carlini  <pcarlini@unitus.it>
5026
5027         * include/bits/fstream.tcc (overflow): According to
5028         27.5.2.4.5, overflow() returns not_eof(eof()).
5029         * testsuite/27_io/basic_filebuf/overflow/char/2.cc: New.
5030         * testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc: Ditto.
5031
5032 2003-06-10  Paolo Carlini  <pcarlini@unitus.it>
5033
5034         * include/bits/fstream.tcc (_M_underflow): Check overflow return
5035         value; tweak slightly.
5036
5037 2003-06-09  Paolo Carlini  <pcarlini@unitus.it>
5038
5039         * include/bits/fstream.tcc (_M_underflow): Do not special
5040         case the unbuffered case, which really means simply a one char
5041         get area.
5042         (basic_filebuf): Initialize _M_buf_size.
5043         (setbuf): Unbuffered means _M_buf_size == 1, since only
5044         _M_buf_size - 1 == 0 chars are going to be used for the
5045         put area and 1 for the get area.
5046         * include/std/std_streambuf.h (_M_buf_size): Move to basic_filebuf.
5047         (~basic_streambuf): Tweak.
5048         (basic_streambuf): Do not initialize _M_buf_size.
5049         * include/std/std_fstream.h (_M_buf_size): Add from basic_streambuf.
5050         (~basic_filebuf): Tweak.
5051         (_M_set_buffer): Tweak, considering that _M_buf_size == 1 is the
5052         unbuffered situation (i.e., put area pointers NULL).
5053         * include/bits/streambuf.tcc (sbumpc): Clean up.
5054         * testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Split into...
5055         * testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc: New.
5056         * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: New.
5057         * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: New.
5058         * testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc: New.
5059         * testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: New.
5060         * testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: New.
5061
5062 2003-06-09  Phil Edwards  <pme@gcc.gnu.org>
5063
5064         * acinclude.m4:  Move all AM_CONDITIONAL calls out.
5065         (GLIBCPP_CONFIGURE):  Set defaults for variables used in AM_CONDITIONAL
5066         statements.
5067         * configure.in:  Centralize AM_CONDITIONALs so that they are always
5068         run.  Make use of GLIBCPP_IS_CROSS_COMPILING.
5069         * aclocal.m4, configure:  Regenerated.
5070
5071 2003-06-09  Paolo Carlini  <pcarlini@unitus.it>
5072
5073         * docs/html/ext/howto.html ('LWG Issues'):  Add issue 235.
5074
5075 2003-06-06  Nathan Myers  <ncm-nospam@cantrip.org>
5076
5077         * include/bits/stl_iterator.h
5078         (reverse_iterator::reverse_iterator()): Apply DR235: default
5079         constructor default-initializes data member.  Instantiated on a
5080         pointer type, the member has to end up equal to zero.
5081
5082 2003-06-06  Benjamin Kosnik  <bkoz@redhat.com>
5083
5084         * include/bits/stl_alloc.h: Cleanups.
5085         * include/ext/functional: Same.
5086         * include/ext/hash_map: Same.
5087         * include/ext/hash_set: Same.
5088         * include/ext/iterator: Same.
5089         * include/ext/memory: Same.
5090         * include/ext/numeric: Same.
5091         * include/ext/rb_tree: Same.
5092         * include/ext/ropeimpl.h: Same.
5093         * include/ext/slist: Same.
5094         * include/ext/stdio_filebuf.h: Same.
5095         * include/ext/stdio_sync_filebuf.h: Same.
5096         * include/ext/stl_rope.h: Move to...
5097         * include/ext/rope: ...here.
5098         * include/ext/stl_hash_fun.h: Move to...
5099         * include/ext/hash_fun.h: ...here.
5100         * include/ext/stl_hashtable.h: Move to...
5101         * include/ext/hashtable.h: ...here.
5102         * include/backward/hashtable.h: Reflect new names.
5103         * include/Makefile.am: Same.
5104         * include/Makefile.in: Regenerated.
5105
5106 2003-06-05  Benjamin Kosnik  <bkoz@redhat.com>
5107
5108         PR libstdc++/9024
5109         * include/bits/fstream.tcc (_M_underflow): Fix for unbuffered.
5110         * include/bits/stl_algobase.h: Tweak.
5111         * include/std/std_fstream.h: Move _M_buf_size to...
5112         * include/std/std_streambuf.h: ...here. Modify.
5113         * include/bits/streambuf.tcc: Same.
5114         * testsuite/testsuite_hooks.h: Tweak.
5115         * testsuite/testsuite_io.h (constraint_filebuf): New.
5116         * testsuite/27_io/basic_filebuf/sbumpc/char/1.cc: Split into...
5117         * testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: New.
5118         * testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: New.
5119         * testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: New.
5120         * testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: New.
5121         * testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: New.
5122         * testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc: New.
5123         * testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Split into...
5124         * testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: New.
5125         * testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: New.
5126         * testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: New.
5127         * testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: New.
5128         * testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: New.
5129         * testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc: New.
5130         * testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Split into...
5131         * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: New.
5132         * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: New.
5133         * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: New.
5134         * testsuite/27_io/basic_filebuf/sgetn/char/2.cc: Split into...
5135         * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: New.
5136         * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: New.
5137         * testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc: New.
5138         * testsuite/27_io/basic_filebuf/sgetn/char/3.cc: New.
5139         * testsuite/27_io/basic_filebuf/snextc/char/1.cc: Split into...
5140         * testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: New.
5141         * testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: New.
5142         * testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: New.
5143         * testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: New.
5144         * testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: New.
5145         * testsuite/27_io/basic_filebuf/snextc/char/2-out.cc: New.
5146         * testsuite/27_io/basic_filebuf/sputc/char/1.cc: Split into...
5147         * testsuite/27_io/basic_filebuf/sputc/char/1-in.cc: New.
5148         * testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: New.
5149         * testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: New.
5150         * testsuite/27_io/basic_filebuf/sputc/char/2.cc: Split into...
5151         * testsuite/27_io/basic_filebuf/sputc/char/2-in.cc: New.
5152         * testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: New.
5153         * testsuite/27_io/basic_filebuf/sputc/char/2-out.cc: New.
5154         * testsuite/27_io/basic_filebuf/sputn/char/1.cc: Split into...
5155         * testsuite/27_io/basic_filebuf/sputn/char/1-in.cc: New.
5156         * testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: New.
5157         * testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: New.
5158         * testsuite/27_io/basic_filebuf/sputn/char/2-in.cc: New.
5159         * testsuite/27_io/basic_filebuf/sputn/char/2-io.cc: New.
5160         * testsuite/27_io/basic_filebuf/sputn/char/2-out.cc: New.
5161         * testsuite/data/sgetc.txt: New.
5162         * testsuite/data/sgetn.txt: New.
5163
5164 2003-06-05  Paolo Carlini  <pcarlini@unitus.it>
5165
5166         PR libstdc++/11095
5167         * include/bits/istream.tcc (operator>>(basic_istream&, _CharT*)):
5168         Deal with width() smaller than zero.
5169         * include/bits/ostream.tcc (operator<<(basic_ostream&, _CharT),
5170         operator<<(basic_ostream&, char), operator<<(basic_ostream&, const
5171         _CharT*), operator<<(basic_ostream<_CharT, _Traits>&, const
5172         char*), operator<<(basic_ostream<char, _Traits>&, const char*),
5173         operator<<(basic_ostream, const basic_string&)): Likewise.
5174
5175         * testsuite/27_io/basic_istream/extractors_character/char/
5176         (11095-i.cc, 11095-oa.cc, 11095-ob.cc, 11095-oc.cc): New.
5177         * testsuite/27_io/basic_ostream/inserters_character/char/
5178         (11095-oa.cc, 11095-ob.cc, 11095-oc.cc): New.
5179         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
5180         (11095-od.cc, 11095-oe.cc, 11095-of.cc): New.
5181
5182 2003-06-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5183
5184         * acinclude.m4 (GLIBCPP_CHECK_PCH): Only set glibcpp_PCHFLAGS if
5185         .gch compilation works.
5186         * aclocal.m4, configure: Regenerate.
5187         * testsuite_flags.in (--build-cxx): Use glibcpp_PCHFLAGS to
5188         initialize PCHFLAGS.
5189
5190 2003-06-04  Paolo Carlini  <pcarlini@unitus.it>
5191
5192         * include/bits/basic_string.h (_M_fold, insert(iterator, _CharT),
5193         erase(iterator), erase(iterator, iterator), c_str,
5194         compare(const basic_string&)): Constify various variables.
5195         * include/bits/basic_string.tcc (_S_construct(_InIter, _InIter,
5196         const _Alloc&, input_iterator_tag), _M_destroy, _M_mutate,
5197         _S_create, resize, _M_replace, _M_replace_safe,
5198         append(const basic_string&), append(const basic_string&, size_type,
5199         size_type), append(const _CharT*, size_type), append(size_type,
5200         _CharT), operator+(const _CharT*, const basic_string&),
5201         operator+(_CharT, const basic_string&), replace(iterator, iterator,
5202         size_type, _CharT), find(const _CharT*, size_type, size_type),
5203         find(_CharT, size_type), rfind(const _CharT*, size_type, size_type),
5204         rfind(_CharT, size_type), compare(size_type, size_type,
5205         const basic_string&), compare(size_type, size_type,
5206         const basic_string&, size_type, size_type), compare(const _CharT*),
5207         compare(size_type, size_type, const _CharT*), compare(size_type,
5208         size_type, const _CharT*, size_type)): Likewise.
5209
5210 2003-06-03  Benjamin Kosnik  <bkoz@redhat.com>
5211
5212         * include/bits/fstream.tcc (pbackfail): Make a rarely taken
5213         'if' branch less obscure.
5214
5215 2003-06-02  Andrew Pinski  <pinskia@physics.uc.edu>
5216
5217         PR libstdc++/9815
5218         * config/cpu/i386/atomicity.h (__exchange_and_add): add intel
5219         asm case to asm.
5220         * config/cpu/i486/atomicity.h (__exchange_and_add): Likewise.
5221         (__atomic_add): likewise.
5222
5223 2003-06-02  Paolo Carlini  <pcarlini@unitus.it>
5224
5225         * include/bits/sstream.tcc (pbackfail): Minor clean up and
5226         reformatting, consistent with basic_filebuf::pbackfail.
5227
5228 2003-06-02  Richard Kreckel  <Richard.Kreckel@GiNaC.DE>
5229
5230         PR libstdc++/11062
5231         * config/cpu/mips/atomicity.h:  Change __attribute__ ((unused)) to
5232         __attribute__ ((__unused__)).
5233         * config/os/aix/atomicity.h:  Likewise.
5234
5235 2003-06-02  Paolo Carlini  <pcarlini@unitus.it>
5236
5237         PR libstdc++/9761
5238         * include/bits/fstream.tcc (pbackfail): If the pback buffer
5239         is already active don't try to store in it a second char.
5240         * testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc: New.
5241
5242         * include/bits/fstream.tcc (pbackfail): Add unbuffered bits.
5243
5244 2003-06-02  Paolo Carlini  <pcarlini@unitus.it>
5245
5246         * testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: Tweak
5247         line spacing.
5248
5249 2003-06-02  Paolo Carlini  <pcarlini@unitus.it>
5250
5251         * include/std/std_fstream.h (_M_destroy_pback): Use _M_in_beg
5252         instead of unnecessarily taking the address of _M_pback.
5253         (xsgetn): Simplify slightly for a single char pback buffer.
5254
5255 2003-06-02  Paolo Carlini  <pcarlini@unitus.it>
5256
5257         * include/bits/sstream.tcc (seekoff): Remove four unnecessary
5258         variables and two 'if', clean up.
5259
5260 2003-06-02  Paolo Carlini  <pcarlini@unitus.it>
5261
5262         * include/bits/sstream.tcc (seekpos): Test against _M_out_lim
5263         not _M_out_end, since the former actually points to the string
5264         end (vs buffer end).
5265         * testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: New.
5266
5267 2003-05-30  Phil Edwards  <pme@gcc.gnu.org>
5268
5269         * docs/doxygen/filter:  New file.
5270         * docs/doxygen/filter.sed:  New file.
5271         * docs/doxygen/run_doxygen:  Add g flag to sed substitutions.  Duh.
5272         * docs/doxygen/user.cfg.in (INPUT_FILTER):  Point to new filter.
5273         * docs/html/documentation.html:  Fix links to doxygen pages.
5274
5275 2003-05-30  Paolo Carlini  <pcarlini@unitus.it>
5276
5277         * include/bits/fstream.tcc (_M_convert_to_external): Don't
5278         check for __ilen > 0.
5279
5280 2003-05-29  Sylvain Pion  <Sylvain.Pion@mpi-sb.mpg.de>
5281
5282         PR libstdc++/10783
5283         * include/bits/stl_iterator.h (class __normal_iterator):
5284         Don't inherit from iterator, add missing typedefs.
5285
5286 2003-05-29  Paolo Carlini <pcarlini@unitus.it>
5287
5288         * testsuite/24_iterators/reverse_iterator.cc: Split up, as follows.
5289         * testsuite/24_iterators/reverse_iterator/1.cc: New.
5290         * testsuite/24_iterators/reverse_iterator/2.cc: New.
5291         * testsuite/24_iterators/reverse_iterator/3.cc: New, from
5292         PR libstdc++/10783.
5293
5294 2003-05-27  Steve Ellcey  <sje@cup.hp.com>
5295
5296         * config/os/hpux/os_defines.h: Define _LIBUNWIND_STD_ABI if we are
5297         on IA64 HP-UX.
5298         * libsupc++/eh_throw.cc: Don't call _Unwind_Resume_or_Rethrow if
5299         _LIBUNWIND_STD_ABI is set.
5300
5301 2003-05-26  Brendan Kehoe  <brendan@zen.org>
5302
5303         * include/bits/locale_facets.tcc (do_get): Honor $22.2.6.3.3/8 and
5304         make sure the number of digits required after the decimal-point
5305         (if any) is exactly the value returned by frac_digits().
5306         * testsuite/22_locale/money_get/get/char/9.cc: New.
5307         * testsuite/22_locale/money_get/get/wchar_t/9.cc: New.
5308
5309 2003-05-27  Jonathan Wakely  <redi@gcc.gnu.org>
5310
5311         * include/std/std_istream.h, include/std/std_ostream.h: Typo in
5312         comment.
5313
5314 2003-05-26  Benjamin Kosnik  <bkoz@redhat.com>
5315
5316         PR libstdc++/9339
5317         * include/std/std_fstream.h (basic_filebuf::_M_overflow): Remove.
5318         (_M_pback): No array necessary.
5319         * include/bits/fstream.tcc (basic_filebuf::_M_overflow): Add
5320         unbuffered case, coalesec into ...
5321         (basic_filebuf::overflow): ...this.
5322         * testsuite/27_io/basic_filebuf/sputn/char/9339.cc: New.
5323         * testsuite/27_io/basic_filebuf/sputc/char/2.cc: Unbuffered.
5324
5325 2003-05-24  Nathanael Nerode  <neroden@gcc.gnu.org>
5326
5327         * libsupc++/Makefile.am, libsupc++/cxxabi.h, libsupc++/del_op.cc,
5328         libsupc++/del_opnt.cc, libsupc++/del_opv.cc, libsupc++/del_opvnt.cc,
5329         libsupc++/eh_alloc.cc, libsupc++/eh_aux_runtime.cc,
5330         libsupc++/eh_catch.cc, libsupc++/eh_exception.cc,
5331         libsupc++/eh_globals.cc, libsupc++/eh_personality.cc,
5332         libsupc++/eh_term_handler.cc, libsupc++/eh_terminate.cc,
5333         libsupc++/eh_throw.cc, libsupc++/eh_type.cc,
5334         libsupc++/eh_unex_handler.cc, libsupc++/exception,
5335         libsupc++/new, libsupc++/new_handler.cc, libsupc++/new_op.cc,
5336         libsupc++/new_opnt.cc, libsupc++/new_opv.cc, libsupc++/new_opvnt.cc,
5337         libsupc++/pure.cc, libsupc++/tinfo.cc, libsupc++/tinfo2.cc,
5338         libsupc++/typeinfo, libsupc++/unwind-cxx.h, libsupc++/vec.cc:
5339         Replace "GNU CC" with "GCC".
5340
5341         * include/backward/new.h: Replace "GNU CC" with "GCC".
5342
5343 2003-05-22  Benjamin Kosnik  <bkoz@redhat.com>
5344
5345         PR libstdc++/3066.
5346         * configure.in: Switch target to host, don't assume newlib.
5347         (target_alias): Remove.
5348         * configure: Regenerate.
5349         * acinclude.m4: Same.
5350         * aclocal.m4: Regenerate.
5351         * configure.target: Same. Rename to...
5352         * configure.host: This.
5353
5354 2003-05-22  Paolo Carlini  <pcarlini@unitus.it>
5355
5356         * include/std/std_fstream.h (_S_pback_size): Remove definition.
5357         (_M_create_pback(), _M_destroy_pback()): Simplify for a single-char
5358         pback buffer.
5359         * include/bits/fstream.tcc (_S_pback_size): Remove declaration.
5360         * testsuite/27_io/basic_filebuf/3.cc: Remove explicit instantiation
5361         of _S_pback_size for systems with no COMDAT or weak support.
5362         * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: Likewise.
5363         * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: Likewise.
5364         * testsuite/27_io/basic_filebuf/underflow/10096.cc: Likewise.
5365         * testsuite/27_io/basic_fstream/3.cc: Likewise.
5366         * testsuite/27_io/basic_ifstream/3.cc: Likewise.
5367         * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: Likewise.
5368         * testsuite/27_io/basic_ofstream/3.cc: Likewise.
5369         * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Likewise.
5370         * testsuite/27_io/basic_streambuf/3.cc: Likewise.
5371
5372 2003-05-22  Paolo Carlini  <pcarlini@unitus.it>
5373
5374         * include/bits/fstream.tcc (_M_underflow): Simplify:
5375         !__testout implies _M_filepos == _M_in_end, therefore
5376         the first _M_file.seekoff call is never issued.
5377
5378 2003-05-22  Benjamin Kosnik  <bkoz@redhat.com>
5379
5380         * configure.in: Sort cross table.
5381         * configure: Regenerate.
5382
5383 2003-05-22  Brad Spencer  <spencer@infointeractive.com>
5384
5385         PR libstdc++/10106
5386         * configure.in: Add Solaris cross bits.
5387
5388 2003-05-21  Danny Smith  <dannysmith@users.sourceforge.net>
5389
5390         * libstdc++-v3/config/os/mingw32/os_defines.h
5391         (__GTHREAD_HIDE_WIN32API): Define to 1 by defualt.
5392         (NOMINMAX): Define.  Update copyright year.
5393
5394 2003-05-21  Paolo Carlini  <pcarlini@unitus.it>
5395
5396         * include/std/std_fstream.h (_M_set_buffer): Fix indentation.
5397
5398 2003-05-21  Jonathan Wakely  <redi@gcc.gnu.org>
5399
5400         * docs/html/faq/index.html: Fix typo.
5401         * docs/html/faq/index.txt: Regenerate.
5402
5403 2003-05-21  Jonathan Wakely  <redi@gcc.gnu.org>
5404
5405         * docs/html/test.html: Fix markup.
5406
5407 2003-05-21  Danny Smith  <dannysmith@users.sourceforge.net>
5408
5409         * libmath/stubs.c (hypot, hypotf, hypotl): Don't divide by
5410         zero.
5411         Update copyright year.
5412
5413 2003-05-20  Paolo Carlini  <pcarlini@unitus.it>
5414
5415         * testsuite/27_io/basic_filebuf/close/char/4.cc: Fix typo.
5416
5417 2003-05-20  Paolo Carlini  <pcarlini@unitus.it>
5418
5419         * testsuite/27_io/basic_filebuf/close/char/5.cc: New file,
5420         further testing that upon filebuf::close() 27.8.1.1,3 is enforced.
5421
5422 2003-05-20  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5423
5424         * include/bits/stl_alloc.h (__default_alloc_template::_S_chunk_alloc):
5425         Cast via void* to avoid -Wcast-align warnings.
5426         (__default_alloc_template::_S_refill): Likewise.
5427
5428 2003-05-20  Benjamin Kosnik  <bkoz@redhat.com>
5429
5430         * testsuite/README: Move to...
5431         * docs/html/test.html: ...here. Add documentation.
5432         * docs/html/install.html: Move testing bits out..
5433         * docs/html/documentation.html: Add separate testing link.
5434         * testsuite/performance: Add.
5435         * testsuite/performance/allocator.cc: New.
5436         * testsuite/performance/complex_norm.cc: New.
5437         * testsuite/performance/cout_insert_int.cc: New.
5438         * testsuite/performance/fstream_seek_write.cc: New.
5439         * testsuite/performance/ifstream_getline.cc: New.
5440         * testsuite/performance/map_create_fill.cc: New.
5441         * testsuite/performance/ofstream_insert_float.cc: New.
5442         * testsuite/performance/ofstream_insert_int.cc: New.
5443         * testsuite/performance/string_append.cc: New.
5444         * testsuite/lib/libstdc++-v3-dg.exp (v3-compute-tests): Filter
5445         performance tests.
5446
5447 2003-05-20  Gabriel Dos Reis <gdr@integrable-solutions.net>
5448
5449         PR libstdc++/10689
5450         * include/std/std_complex.h (pow): Tidy.
5451
5452 2003-05-19  Paolo Carlini  <pcarlini@unitus.it>
5453
5454         * testsuite/27_io/basic_filebuf/close/char/4.cc: New file, testing
5455         that upon filebuf::close() 27.8.1.1,3 is enforced.
5456
5457 2003-05-15  Loren J. Rittle  <ljrittle@acm.org>
5458
5459         * testsuite/thread/pthread4.cc: Further tweak to avoid fini race.
5460
5461 2003-05-15  Paolo Carlini  <pcarlini@unitus.it>
5462             Nathan Myers  <ncm@cantrip.org>
5463
5464         * include/bits/fstream.tcc (_M_overflow): Rewrote to call
5465         _M_convert_to_external only once (_M_buf_size is now the size of
5466         the put area + 1 for the overflow char of a full area); call
5467         _M_set_buffer instead of _M_set_indeterminate.
5468         (setbuf): Don't accept a buffer smaller than 2 chars.
5469         (_M_underflow): Refill _M_buf_size - 1 chars; call _M_set_buffer,
5470         instead of _M_set_determinate.
5471         (open): Call _M_set_buffer, instead of _M_set_indeterminate.
5472         (seekoff): Likewise.
5473         * include/ext/stdio_filebuf.h (stdio_filebuf(int,
5474         std::ios_base::openmode, bool, size_t),
5475         stdio_filebuf(std::__c_file*, std::ios_base::openmode, size_t):
5476         Likewise.
5477         * include/std/std_fstream.h (_M_set_indeterminate): Remove.
5478         (_M_set_determinate): Rename as _M_set_buffer, _M_buf_size ->
5479         _M_buf_size - 1.
5480         * include/std/std_streambuf.h: Tweak _M_out_lim comment.
5481         * testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Tweak, taking
5482         into account that, for _M_buf_size == BUFSIZ == 8192, the size of
5483         the put area is now BUFSIZ - 1.
5484         * testsuite/ext/stdio_filebuf_2.cc: Tweak, taking into account
5485         that now the smallest _M_buf_size is 2 (still fails, for the same
5486         reason, with 3.2.3)
5487
5488 2003-05-14  Loren J. Rittle  <ljrittle@acm.org>
5489
5490         * testsuite/thread/pthread4.cc: Tweak test.
5491
5492 2003-05-13  Benjamin Kosnik  <bkoz@redhat.com>
5493
5494         * testsuite/27_io/ios_base/cons/copy_neg.cc: Remove
5495         excess errors dg marker, use dg-errors instead.
5496         * testsuite/27_io/ios_base/cons/assign_neg.cc: Same.
5497         * testsuite/20_util/auto_ptr_neg.cc: Same.
5498
5499 2003-05-12  Benjamin Kosnik  <bkoz@redhat.com>
5500
5501         * include/std/std_fstream.h (basic_filebuf::_M_codecvt): Add
5502         cached member.
5503         * include/bits/fstream.tcc (basic_filebuf::basic_filebuf):
5504         Initialize _M_codecvt.
5505         (basic_filebuf::imbue): Same.
5506         (basic_filebuf::showmanyc): Use it.
5507         (basic_filebuf::underflow): Use it.
5508         (basic_filebuf::_M_convert_to_external): Use it.
5509         (basic_filebuf::seekoff): Use it.
5510         (basic_filebuf::imbue): Use it, tweaks.
5511         * include/bits/localefwd.h (__check_facet): New.
5512         * include/bits/locale_classes.h: Tweaks.
5513         * include/bits/locale_facets.tcc: Tweaks.
5514         * include/bits/basic_ios.h (basic_ios::_M_check_facet): Remove.
5515         _M_fctype to _M_ctype, _M_fnumput to _M_num_put, _M_fnumget to
5516         _M_num_get. Change _M_check_facet to __check_facet. Tweaks.
5517         * include/bits/basic_ios.tcc: Same.
5518         * include/bits/istream.tcc: Same.
5519         * include/bits/ostream.tcc: Same.
5520         * include/std/std_streambuf.h: Same.
5521         * testsuite/27_io/basic_filebuf/imbue/char/2.cc: New.
5522         * testsuite/27_io/basic_filebuf/imbue/char/3.cc: New.
5523         * testsuite/27_io/basic_filebuf/imbue/wchar_t/1.cc: New.
5524         * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: New.
5525         * testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: New.
5526         * testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: New.
5527
5528 2003-05-12  Paolo Carlini  <pcarlini@unitus.it>
5529
5530         * testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Remove
5531         unnecessary includes and unused string literals.
5532         * testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Likewise.
5533         * testsuite/27_io/basic_filebuf/sputc/char/1.cc: Likewise.
5534         * testsuite/27_io/basic_filebuf/sputn/char/1.cc: Likewise.
5535         * testsuite/27_io/basic_filebuf/sungetc/char/1.cc: Likewise.
5536
5537 2003-05-12  Benjamin Kosnik  <bkoz@redhat.com>
5538
5539         * include/bits/fstream.tcc (_M_overflow): Remove unbuffered bits.
5540
5541 2003-05-12  Paolo Carlini  <pcarlini@unitus.it>
5542
5543         * include/std/std_fstream.h (_M_convert_to_external): Change
5544         to return bool, take two less streamsize parameters.
5545         * include/bits/fstream.tcc (_M_convert_to_external): Tweak
5546         consistently definition.
5547         (_M_overflow): Adjust call points.
5548
5549 2003-05-12  Benjamin Kosnik  <bkoz@redhat.com>
5550
5551         * testsuite/27_io/basic_filebuf/underflow/10096.cc: Add weak bits.
5552
5553 2003-05-11  Phil Edwards  <pme@gcc.gnu.org>
5554
5555         * testsuite/Makefile.am:  Properly quote /both/ LD_RUN_PATHs.
5556         * testsuite/Makefile.in:  Regenerate.
5557
5558 2003-05-11  Phil Edwards  <pme@gcc.gnu.org>
5559
5560         * testsuite/Makefile.am:  Properly quote LD_RUN_PATH.
5561         * testsuite/Makefile.in:  Regenerate.
5562
5563 2003-05-11  Gabriel Dos Reis <gdr@integrable-solutions.net>
5564
5565         PR libstdc++/3181
5566         * include/c_std/std_cmath.h: #include <bits/cpp_type_traits.h>
5567         (acos): Handle integer argument.
5568         (asin): Likewise.
5569         (atan): Likewise.
5570         (atan2): Likewise.
5571         (ceil): Likewise.
5572         (cos): Likewise.
5573         (cosh): Likewise.
5574         (exp): Likewise.
5575         (fabs): Likewise.
5576         (floor): Likewise.
5577         (frexp): Likewise.
5578         (ldexp): Likewise.
5579         (log): Likewise.
5580         (log10): Likewise.
5581         (sin): Likewise.
5582         (sinh): Likewise.
5583         (sqrt): Likewise.
5584         (tan): Likewise.
5585         (tanh): Likewise.
5586         * include/bits/cpp_type_traits.h (__are_same<>): New traits.
5587         (__enable_if): Likewise.
5588         * testsuite/26_numerics/cmath/overloads.C: New test.
5589
5590 2003-05-10  Petur Runolfsson  <peturr02@ru.is>
5591
5592         PR libstdc++/9027
5593         PR libstdc++/9520
5594         PR libstdc++/10096
5595         * include/bits/fstream.tcc (basic_file::_M_underflow):  Add generic
5596         implementation, based on old wchar_t specialization, add support
5597         for codecvt::in() return value of codecvt_base::noconv, remove
5598         _M_file.sys_ungetc() call.
5599         * include/std/std_fstream.h (basic_file::underflow,
5600         basic_file::uflow, basic_file::_M_underflow):  Remove
5601         specialization declarations, call _M_underflow from generic versions
5602         of underflow and uflow.
5603         * src/fstream.cc (basic_file::underflow, basic_file::uflow,
5604         basic_file::_M_underflow):  Remove specializations.
5605         * src/Makefile.am (sources):  Remove fstream.cc.
5606         * src/Makefile.in:  Regenerated.
5607         * testsuite/27_io/basic_filebuf/underflow/10096.cc:  New test.
5608         * testsuite/27_io/basic_filebuf/underflow/char/1.cc:  New test.
5609         * testsuite/27_io/basic_filebuf/underflow/char/9027.cc:  New test.
5610         * testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc:  New test.
5611
5612 2003-05-10  Benjamin Kosnik  <bkoz@redhat.com>
5613
5614         * include/ext/stdio_filebuf.h (__stdio_filebuf): Remove stack
5615         buffer.
5616         * config/io/basic_file_stdio.h (__basic_file::xsgetn): Remove
5617         unbuffered bits.
5618         (__basic_file::xsputn): Same.
5619         (__basic_file::seekoff): Same.
5620         (__basic_file::seekpos): Same.
5621         (__basic_file::showmanyc): Same.
5622         * config/io/basic_file_stdio.cc: Same.
5623         * include/std/std_fstream.h: Same.
5624         * include/bits/fstream.tcc: Same.
5625         * src/fstream.cc: Same.
5626         * testsuite/27_io/basic_filebuf/sgetn/char/1.cc (test05): Tidy.
5627
5628 2003-05-10  Petur Runolfsson  <peturr02@ru.is>
5629
5630         PR libstdc++/9520
5631         PR libstdc++/9661
5632         PR libstdc++/9662
5633         * include/ext/stdio_sync_filebuf.h:  New file.
5634         (basic_stdiobuf):  New.
5635         * include/Makefile.am (ext_headers): Add ext/stdio_sync_filebuf.h
5636         * include/Makefile.in: Regenerate.
5637         * include/bits/ios_base.h (Init::_S_create_buffers,
5638         Init::_S_destroy_buffers):  Remove declarations.
5639         * src/globals.cc (buf_cout_sync, buf_cin_sync, buf_cerr_sync,
5640         buf_wcout_sync, buf_wcin_sync, buf_wcerr_sync):  Define.
5641         * src/ios.cc (Init::_S_create_buffers,
5642         Init::_S_destroy_buffers):  Remove.
5643         (Init::Init):  Create and use syncronized buffers.
5644         (ios_base::sync_with_stdio):  Destroy syncronized buffers,
5645         create and install unsyncronized buffers.
5646         * testsuite/27_io/objects/char/10.cc:  New test.
5647         * testsuite/27_io/objects/char/9.cc:  New test.
5648         * testsuite/27_io/objects/char/9661-1.cc:  New test.
5649         * testsuite/27_io/objects/char/9661-2_xin.cc:  New test.
5650         * testsuite/27_io/objects/char/9661-2_xin.in:  New.
5651         * testsuite/27_io/objects/wchar_t/1.cc:  New test.
5652         * testsuite/27_io/objects/wchar_t/10.cc:  New test.
5653         * testsuite/27_io/objects/wchar_t/2.cc:  New test.
5654         * testsuite/27_io/objects/wchar_t/2523-1_xin.cc:  New test.
5655         * testsuite/27_io/objects/wchar_t/2523-1_xin.in:  New.
5656         * testsuite/27_io/objects/wchar_t/2523-2_xin.cc:  New test.
5657         * testsuite/27_io/objects/wchar_t/2523-2_xin.in:  New.
5658         * testsuite/27_io/objects/wchar_t/3045.cc:  New test.
5659         * testsuite/27_io/objects/wchar_t/3647.cc:  New test.
5660         * testsuite/27_io/objects/wchar_t/3_xin.cc:  New test.
5661         * testsuite/27_io/objects/wchar_t/3_xin.in:  New.
5662         * testsuite/27_io/objects/wchar_t/4_xin.cc:  New test.
5663         * testsuite/27_io/objects/wchar_t/4_xin.in:  New.
5664         * testsuite/27_io/objects/wchar_t/5.cc:  New test.
5665         * testsuite/27_io/objects/wchar_t/5268.cc:  New test.
5666         * testsuite/27_io/objects/wchar_t/5280_xin.cc:  New test.
5667         * testsuite/27_io/objects/wchar_t/5280_xin.in:  New.
5668         * testsuite/27_io/objects/wchar_t/6.cc:  New test.
5669         * testsuite/27_io/objects/wchar_t/6548_xin.cc:  New test.
5670         * testsuite/27_io/objects/wchar_t/6548_xin.in:  New.
5671         * testsuite/27_io/objects/wchar_t/6648-1_xin.cc:  New test.
5672         * testsuite/27_io/objects/wchar_t/6648-1_xin.in:  New.
5673         * testsuite/27_io/objects/wchar_t/6648-2_xin.cc:  New test.
5674         * testsuite/27_io/objects/wchar_t/6648-2_xin.in:  New.
5675         * testsuite/27_io/objects/wchar_t/7.cc:  New test.
5676         * testsuite/27_io/objects/wchar_t/7744_xin.cc:  New test.
5677         * testsuite/27_io/objects/wchar_t/7744_xin.in:  New.
5678         * testsuite/27_io/objects/wchar_t/8.cc:  New test.
5679         * testsuite/27_io/objects/wchar_t/9_xin.cc:  New test.
5680         * testsuite/27_io/objects/wchar_t/9_xin.in:  New.
5681         * testsuite/27_io/objects/wchar_t/9520.cc:  New test.
5682         * testsuite/27_io/objects/wchar_t/9661-1.cc:  New test.
5683         * testsuite/27_io/objects/wchar_t/9661-2_xin.cc:  New test.
5684         * testsuite/27_io/objects/wchar_t/9661-2_xin.in:  New.
5685         * testsuite/27_io/objects/wchar_t/9662.cc:  New test.
5686         * testsuite/ext/stdiobuf_char.cc:  New test.
5687         * testsuite/ext/stdiobuf_wchar_t.cc:  New test.
5688
5689 2003-05-10  Paolo Carlini  <pcarlini@unitus.it>
5690
5691         * testsuite/27_io/basic_filebuf/close/char/3.cc: Remove
5692         unnecessary includes and unused string literals.
5693         * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
5694
5695 2003-05-08  Paolo Carlini  <pcarlini@unitus.it>
5696
5697         * include/std/std_streambuf.h (setg, setp): Don't touch _M_mode.
5698
5699 2003-05-07  Richard Henderson  <rth@redhat.com>
5700
5701         PR c++/10570
5702         * libsupc++/eh_catch.cc (__cxa_begin_catch): Handle foreign exceptions.
5703         (__cxa_end_catch): Likewise.
5704         * libsupc++/eh_throw.cc (__cxa_rethrow): Likewise.  Use
5705         _Unwind_Resume_or_Rethrow.
5706         * libsupc++/eh_personality.cc (empty_exception_spec): New.
5707         (PERSONALITY_FUNCTION): Don't ignore terminate or catch-all
5708         for _UA_FORCE_UNWIND.  Honor empty filter spec for foreign
5709         exceptions.  Don't push terminate/unexpected to cxa functions.
5710         (__cxa_call_unexpected): Remove foreign exception fixmes.
5711
5712 2003-05-07  Benjamin Kosnik  <bkoz@redhat.com>
5713
5714         * testsuite/27_io/ios_base/cons: New.
5715         * testsuite/27_io/ios_base/cons/assign_neg.cc: New.
5716         * testsuite/27_io/ios_base/cons/copy_neg.cc: New.
5717
5718 2003-05-07  Paolo Carlini  <pcarlini@unitus.it>
5719
5720         * include/std/std_fstream.h (_M_is_indeterminate): Remove.
5721         * src/fstream.cc
5722         (basic_filebuf<char/wchar_t>::_M_underflow): Simplify: either
5723         there is no buffer or __testget == !__testinit.
5724
5725         * src/fstream.cc
5726         (basic_filebuf<char/wchar_t>::_M_underflow): _M_set_determinate()
5727         automatically sets, if appropriate, _M_out_cur == _M_in_cur.
5728
5729         * include/std/std_fstream.h (_M_destroy_pback): Don't set
5730         unnecessarily _M_pback_cur_save and _M_pback_end_save.
5731
5732         * include/std/std_fstream.h (_M_set_determinate): Minor tweak.
5733
5734         * include/std/std_sstream.h (_M_sync): Minor tweak.
5735
5736         * include/bits/fstream.tcc (close): No need to call
5737         _M_destroy_pback, setting _M_pback_init to false suffices
5738         to clean up.
5739
5740 2003-05-06  Benjamin Kosnik  <bkoz@redhat.com>
5741
5742         * include/bits/stl_algo.h: Enums as _S_.
5743         * include/bits/stl_tree.h: Same.
5744         * include/bits/stl_bvector.h: Same.
5745         * include/bits/ios_base.h: Same.
5746         * include/bits/stl_alloc.h: Same.
5747         * include/ext/stl_hashtable.h: Same.
5748         * src/ios.cc: And here.
5749
5750         * include/std/std_sstream.h: Replace _M_really_sync to _M_sync.
5751         * include/bits/sstream.tcc: Same.
5752
5753         * include/bits/basic_ios.h: Correct spacing for '< ctype'.
5754
5755         * include/bits/locale_facets.tcc: Replace __temp to __tmp.
5756
5757         * include/bits/locale_facets.h (__num_base): Remove protected.
5758         Use _S_[io]* names for enumerations.
5759         (_S_format_int): Remove.
5760         * include/bits/locale_facets.tcc: Same.
5761         * src/locale.cc: Same.
5762
5763         * include/std/std_sstream.h (stringbuf::str): Tweak formatting.
5764
5765 2003-05-06  Phil Edwards  <pme@gcc.gnu.org>
5766
5767         * docs/html/faq/index.html (3.10):  Add note about mips atomicity.h.
5768         * docs/html/faq/index.txt:  Regenerated.
5769
5770 2003-05-06  Michael Ritzert <Ritzert@t-online.de>
5771             Matt Kraai <kraai@alumni.cmu.edu>
5772
5773         * include/ext/stl_rope.h (_Rope_RopeRep<>::_M_c_string_lock): Tweak.
5774         And retweak.
5775
5776 2003-05-06  Richard Sandiford  <rsandifo@redhat.com>
5777
5778         * configure.target (mips*): Use the generic atomicity.h by default.
5779
5780 2003-05-05  Loren J. Rittle  <ljrittle@acm.org>
5781             (Inspired by an alternate patch from Danny Smith.)
5782
5783         * include/bits/stl_threads.h (_Atomic_swap): Kill it...
5784         (_Swap_lock_struct<>): ...and the horse it rode in on.
5785         * src/globals.cc (_Swap_lock_struct<>): Likewise.
5786         * include/ext/stl_rope.h (_Rope_RopeRep<>::_M_c_string_lock): New
5787         member to support...
5788         * include/ext/ropeimpl.h (rope<>::c_str): Follow *all* memory
5789         visibility rules related to POSIX threads.
5790         * testsuite/thread/pthread7-rope.cc: New test.
5791
5792 2003-05-04  Paolo Carlini  <pcarlini@unitus.it>
5793
5794         * testsuite/21_strings/basic_string/find/char/3.cc: New
5795         file, testing basic_string<char>::find_first_not_of.
5796         * testsuite/21_strings/basic_string/find/wchar_t/3.cc:
5797         Likewise for basic_string<wchar_t>.
5798
5799 2003-05-03  Loren J. Rittle  <ljrittle@acm.org>
5800
5801         * testsuite/thread/pthread1.cc: Remove special case for FreeBSD.
5802
5803 2003-05-02  Benjamin Kosnik  <bkoz@redhat.com>
5804
5805         * include/Makefile.am (CLEANFILES): Remove PCH files in target
5806         directory.
5807         * include/Makefile.in: Regenerate.
5808
5809 2003-05-02  Paolo Carlini  <pcarlini@unitus.it>
5810
5811         * include/std/std_sstream.h (str()): Tidy.
5812
5813 2003-05-02  Nathan Myers  <ncm@cantrip.org>
5814             Paolo Carlini  <pcarlini@unitus.it>
5815
5816         * include/bits/streambuf.tcc (__copy_streambufs): Rewrote.
5817
5818 2003-05-02  Jonathan Wakely  <redi@gcc.gnu.org>
5819
5820         * include/bits/basic_string.h (swap): Remove redundant template
5821         parameters from declaration of non-template member function.
5822
5823 2003-05-01  Phil Edwards  <pme@gcc.gnu.org>
5824
5825         * acconfig.h (_GLIBCPP_USE_NLS):  New symbol.
5826         * configure.in:  Move libintl.h header test...
5827         * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE):  ...to here.  Gather all
5828         the NLS-related test results into one symbol.
5829         * src/functexcept.cc:  Use it here.
5830         * aclocal.m4, config.h.in, configure:  Regenerated.
5831
5832 2003-05-01  Paolo Carlini  <pcarlini@unitus.it>
5833
5834         * include/bits/sstream.tcc (overflow): Instead of calling
5835         str(), then _M_string.reserve, thus copying the contents
5836         of the current buffer two times, just copy the latter in
5837         a temporary, then use the 'swap trick'.
5838
5839 2003-05-01  Paolo Carlini  <pcarlini@unitus.it>
5840
5841         * include/std/std_sstream.h (str()): Revert the best of the
5842         previous 'improvement', incorrect due to the COW nature of
5843         v3 basic_string; simplify.
5844
5845 2003-05-01  Paolo Carlini  <pcarlini@unitus.it>
5846
5847         * include/bits/streambuf.tcc (__copy_streambufs): Adjust the
5848         type of __avail to ptrdiff_t to avoid signed-unsigned warning.
5849
5850 2003-05-01  Benjamin Kosnik  <bkoz@redhat.com>
5851
5852         * testsuite/abi_check.cc (check_version): Update known versions.
5853         Check added symbols for version_name != base version. Add missing
5854         symbols to incompatible list.
5855
5856 2003-05-01  Benjamin Kosnik  <bkoz@redhat.com>
5857
5858         * acinclude.m4 (GLIBCPP_EXPORT_FLAGS): Remove -Winline.
5859         * aclocal.m4: Regenerated.
5860         * configure: Regenerated.
5861
5862 2003-05-01  Paolo Carlini  <pcarlini@unitus.it>
5863
5864         * include/bits/streambuf.tcc (basic_streambuf::xsgetn):
5865         Const-ify some variables.
5866         (basic_streambuf::xsputn): Likewise; change the type of some
5867         variables to size_t.
5868         (__copy_streambufs): Change some variables to size_t.
5869
5870 2003-05-01  Paolo Carlini  <pcarlini@unitus.it>
5871
5872         * include/std/std_sstream.h (str()): Avoid constructing
5873         a basic_string temporary not only when it would turn out
5874         to be zero-sized but also when identical to the current
5875         _M_string buffer.
5876
5877 2003-05-01  Paolo Carlini  <pcarlini@unitus.it>
5878
5879         * include/ext/stdio_filebuf.h
5880         (stdio_filebuf(int, std::ios_base::openmode, bool, size_t),
5881         stdio_filebuf(std::__c_file*, std::ios_base::openmode, size_t)):
5882         Shorten a bit (-10 lines) by factoring out some code.
5883
5884 2003-04-30  Phil Edwards  <pme@gcc.gnu.org>
5885
5886         * acinclude.m4:  Add bit missing from previous patch.
5887         * aclocal.m4, configure:  Regenerated.
5888
5889 2003-04-29  Phil Edwards  <pme@gcc.gnu.org>
5890
5891         * docs/doxygen/mainpage.html:  Bring up to date.
5892         * docs/doxygen/run_doxygen:  Cosmetic tweaks.  Work around a bug
5893         in Doxygen.
5894         * docs/doxygen/user.cfg.in:  Scanning the precompiled headers
5895         breaks everything.  Don't scan them.
5896         * docs/html/documentation.html:  Point to "Write after approval"
5897         notes.
5898
5899 2003-04-29  Phil Edwards  <pme@gcc.gnu.org>
5900
5901         * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE):  Search for gettext outside
5902         of libc if message translations are being used.  Fix info text in
5903         xieee_1003.1-2001 case.
5904         * aclocal.m4, configure:  Regenerate.
5905
5906 2003-04-29 Joel Sherrill  <joel.sherrill@OARcorp.com>
5907            Loren J. Rittle <ljrittle@acm.org>
5908            Martin v. Loewis  <martin@v.loewis.de>
5909
5910         * config/cpu/i386/atomicity.h: New file.
5911
5912 2003-04-29  Paolo Carlini  <pcarlini@unitus.it>
5913
5914         * include/bits/fstream.tcc (open): Change to single return.
5915
5916 2003-04-29  Paolo Carlini  <pcarlini@unitus.it>
5917
5918         * include/std/std_sstream.h (underflow): Change to single return.
5919
5920 2003-04-28  Paolo Carlini  <pcarlini@unitus.it>
5921
5922         * include/std/std_streambuf.h (_M_buf): is currently
5923         used only for basic_filebuf, therefore move it there.
5924         (basic_streambuf(), ~basic_streambuf()): Adjust.
5925         * include/std/std_fstream.h (_M_buf): Moved here.
5926         * include/std/std_sstream.h (setbuf): Don't set _M_buf,
5927         is actually redundant for basic_stringbuf.
5928         (_M_really_sync): Likewise.
5929         * include/bits/fstream.tcc (basic_filebuf()): Adjust.
5930         * include/bits/sstream.tcc (seekoff): Adjust.
5931
5932 2003-04-28  Benjamin Kosnik  <bkoz@redhat.com>
5933
5934         * src/localename.cc: Standardize exception strings.
5935         * src/locale.cc: Same.
5936         * src/ios.cc: Same.
5937         * include/bits/basic_string.tcc: Same.
5938         * include/bits/basic_ios.tcc: Same.
5939         * include/std/std_bitset.h: Same.
5940         * include/ext/ropeimpl.h: Same.
5941         * include/bits/stl_vector.h: Same.
5942         * include/bits/stl_deque.h: Same.
5943         * include/bits/stl_bvector.h: Same.
5944         * config/locale/generic/c_locale.cc: Same.
5945         * config/locale/gnu/c_locale.cc: Same.
5946         * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Same.
5947
5948         * testsuite/testsuite_hooks.cc (__gnu_cxx_test): Modify.
5949
5950 2003-04-28  Paolo Carlini  <pcarlini@unitus.it>
5951
5952         * include/std/std_streambuf.h (_M_buf_size): is currently
5953         used only for basic_filebuf, therefore move it there.
5954         (basic_streambuf(), ~basic_streambuf()): Adjust.
5955         * include/std/std_fstream.h (_M_buf_size): Moved here.
5956         * include/bits/fstream.tcc (basic_filebuf()): Adjust.
5957
5958 2003-04-28  Paolo Carlini  <pcarlini@unitus.it>
5959
5960         * include/bits/streambuf.tcc (__copy_streambufs): Don't use
5961         _M_buf_size (synced input is now correctly dealt with
5962         elsewhere); when the output buffer is full don't fall back
5963         to a snextc-sputc loop, call overflow instead.
5964
5965 2003-04-28  Paolo Carlini  <pcarlini@unitus.it>
5966
5967         * include/bits/sstream.tcc (pbackfail): Shorten a bit (6 lines)
5968         the innermost 'if' by factoring out some code.
5969
5970 2003-04-28  Phil Edwards  <pme@gcc.gnu.org>
5971
5972         * configure.in:  Test for libintl.h.
5973         * include/bits/c++config:  Define __N for everybody.
5974         * include/bits/basic_string.h, include/bits/stl_bvector.h,
5975         include/bits/stl_deque.h, include/bits/stl_vector.h,
5976         include/std/std_bitset.h:  Wrap all __throw* text with __N.
5977         * po/Makefile.am (pot):  New rule, mostly working.
5978         * src/functexcept.cc:  Call gettext on all __throw* arguments when
5979         -fexceptions is in effect.
5980         * po/Makefile.in, config.h.in, configure:  Regenerate.
5981
5982 2003-04-28  Petur Runolfsson  <peturr02@ru.is>
5983
5984         PR libstdc++/9523
5985         * include/bits/ios_base.h (Init::_S_ios_create,
5986         Init::_S_ios_destroy):  Remove declarations.
5987         (Init::_S_create_buffers,
5988         Init::_S_destroy_buffers):  Declare
5989         * src/ios.cc (Init::_S_ios_create):  Remove
5990         (Init::_S_create_buffers):  Create buffers and add to streams.
5991         (Init::_S_ios_destroy):  Rename to...
5992         (Init::_S_destroy_buffers):  this.
5993         (Init::Init):  Only construct streams once.
5994         (Init::~Init):  Flush streams, don't destroy them.
5995         (ios_base::sync_with_stdio):  Don't destroy streams, only buffers.
5996         * testsuite/27_io/ios_base/sync_with_stdio/9523.cc:  New test.
5997         * testsuite/27_io/objects/char/5.cc:  New test.
5998         * testsuite/27_io/objects/char/5268.cc:  Avoid undefined behavior.
5999         * testsuite/27_io/objects/char/6.cc:  New test.
6000         * testsuite/27_io/objects/char/7.cc:  New test.
6001
6002 2003-04-28  Benjamin Kosnik  <bkoz@redhat.com>
6003
6004         * testsuite/27_io/objects/char/8.cc:  New test.
6005
6006 2003-04-28  Benjamin Kosnik  <bkoz@redhat.com>
6007
6008         * testsuite/22_locale/codecvt/unicode/char.cc: Remove bom usage.
6009         * testsuite/22_locale/codecvt/unicode/wchar_t.cc: Same.
6010
6011 2003-04-27  Benjamin Kosnik  <bkoz@redhat.com>
6012
6013         * include/std/std_fstream.h (basic_filebuf): _M_pback_destroy to
6014         _M_destroy_pback. _M_pback_create to
6015         _M_create_pback. _M_underflow_common to
6016         _M_underflow. _M_really_overflow to _M_overflow.
6017         * include/bits/fstream.tcc: Same.
6018         * src/fstream.cc: Same.
6019         * include/std/std_streambuf.h (basic_streambuf): _M_in_cur_move to
6020         _M_move_in_cur.  _M_out_cur_move to _M_move_out_cur.
6021         * include/bits/streambuf.tcc: Same.
6022         * include/bits/fstream.tcc: Same.
6023         * include/bits/sstream.tcc: Same.
6024
6025 2003-04-27  Benjamin Kosnik  <bkoz@redhat.com>
6026
6027         * include/bits/locale_classes.h (locale::_Impl): Change _M_names
6028         from fixed size array.
6029         (locale): Change _S_categories as well.
6030         Formatting tweaks.
6031         * include/bits/locale_facets.tcc: Tweak.
6032         * config/locale/gnu/c_locale.cc: Assign _S_categories.
6033         * config/locale/generic/c_locale.cc: Same.
6034         * src/locale.cc: Tweak.
6035         * src/globals.cc: Change facet_name to name_vec, add names_c.
6036         * src/localename.cc: Use them.
6037         (locale::_Impl::~_Impl): Destroy _M_names.
6038         (locale::_Impl::_Impl): Create _M_names.
6039
6040 2003-04-27  Andreas Schwab  <schwab@suse.de>
6041
6042         * config/locale/ieee_1003.1-2001/codecvt_specializations.h
6043         (__enc_traits): Use __ibom and __ebom instead of ignoring them.
6044
6045 2003-04-27  Nathan Myers  <ncm@cantrip.org>
6046
6047         Move some basic_string members out of line because
6048         they are too big to reasonably be inline.
6049         * include/bits/basic_string.h
6050         (assign(const basic_string&, size_type, size_type),
6051         assign(const _CharT*, size_type),
6052         insert(size_type, const basic_string&, size_type, size_type),
6053         insert(size_type, const _CharT*, size_type),
6054         replace(size_type, size_type, const _CharT*, size_type)):
6055         Move from here to...
6056         * include/bits/basic_string.tcc: ...here.
6057
6058 2003-04-26  Paolo Carlini  <pcarlini@unitus.it>
6059
6060         * include/bits/fstream.tcc (pbackfail): Shorten a bit (10 lines)
6061         the innermost 'if' by factoring out some code.
6062
6063 2003-04-26  Paolo Carlini  <pcarlini@unitus.it>
6064
6065         * include/bits/streambuf.tcc (__copy_streambufs): Don't
6066         use in_avail(), simplify.
6067
6068 2003-04-26  Paolo Carlini  <pcarlini@unitus.it>
6069
6070         * include/std/std_sstream.h (setbuf): don't set _M_buf_size,
6071         in basic_stringbuf it's unused.
6072
6073         * include/std/std_sstream.h (underflow): consistently use
6074         _M_in_cur, not gptr().
6075
6076 2003-04-25  Ranjit Mathew  <rmathew@hotmail.com>
6077             Phil Edwards  <pme@gcc.gnu.org>
6078
6079         * testsuite_flags.in: Guard against the possibility
6080         of having "xgcc" as a part of a folder name in the
6081         path to the GCC build folder.
6082         * testsuite/Makefile.am: Likewise.
6083         * testsuite/Makefile.in: Regenerated.
6084
6085 2003-04-25  Benjamin Kosnik  <bkoz@redhat.com>
6086
6087         PR libstdc++/10132
6088         * include/std/std_fstream.h (basic_filebuf::is_open): Add throw()
6089         exception specifications.
6090         (basic_filebuf::close): Same.
6091         (basic_filebuf::_M_pback_destroy): Same.
6092         (basic_filebuf::_M_destroy_internal_buffer): Same.
6093         (basic_filebuf): Remove __res_type typedef.
6094         * src/fstream.cc: Same.
6095         * include/bits/fstream.tcc
6096         (basic_filebuf::_M_convert_to_external): Simplify.
6097         (basic_filebuf::seekoff): Use has_facet before use_facet.
6098         (basic_filebuf::close): Add exception specification of throw().
6099         * testsuite/27_io/basic_filebuf/cons: New.
6100         * testsuite/27_io/basic_filebuf/cons/wchar_t: New.
6101         * testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc: New.
6102         * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: New.
6103         * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: New.
6104
6105 2003-04-25  Benjamin Kosnik  <bkoz@redhat.com>
6106
6107         * include/bits/locale_classes.h
6108         (locale::_S_extra_categories_size): Remove.
6109         * src/locale.cc: Remove _S_extra_categories_size.
6110         * src/localename.cc: Same.
6111         * config/locale/gnu/c_locale.cc: Same.
6112         * config/locale/generic/c_locale.cc: Same.
6113
6114 2003-04-24  Richard Sandiford  <rsandifo@redhat.com>
6115
6116         * src/localename.cc (__gnu_cxx::facet_vec): Correct types.
6117
6118 2003-04-24  Phil Edwards  <pme@gcc.gnu.org>
6119
6120         * docs/html/17_intro/howto.html:  Update some links.
6121         * docs/html/18_support/howto.html:  Link doxygen numeric_limits notes.
6122         * docs/html/27_io/howto.html:  Link doxygen stdio_filebuf notes.
6123         * docs/html/ext/howto.html:  Link to demangler notes and API.
6124         * docs/html/faq/index.html:  Remove trailing whitespace.
6125         (1.4, 2.4, 3.8, 4.1):  Bring up to date.
6126         (5.6):  Change to a bulleted list.
6127
6128         * docs/html/faq/index.txt, docs/html/documentation.html,
6129         docs/html/17_intro/porting.html:  Regenerate.
6130
6131 2003-04-23  Paolo Carlini  <pcarlini@unitus.it>
6132
6133         * testsuite/27_io/basic_filebuf/3.cc: _S_pback_size now
6134         belongs to basic_filebuf.
6135         * testsuite/27_io/basic_fstream/3.cc: Likewise.
6136         * testsuite/27_io/basic_ifstream/3.cc: Likewise.
6137         * testsuite/27_io/basic_ios/3.cc: Remove _S_pback_size
6138         instantiation (now belongs to basic_filebuf).
6139         * testsuite/27_io/basic_iostream/3.cc: Likewise.
6140         * testsuite/27_io/basic_istream/3.cc: Likewise.
6141         * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc:
6142         _S_pback_size now belongs to basic_filebuf.
6143         * testsuite/27_io/basic_istringstream/3.cc: Remove _S_pback_size
6144         instantiation (now belongs to basic_filebuf).
6145         * testsuite/27_io/basic_ofstream/3.cc: _S_pback_size now
6146         belongs to basic_filebuf.
6147         * testsuite/27_io/basic_ostream/3.cc: Remove _S_pback_size
6148         instantiation (now belongs to basic_filebuf).
6149         * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc:
6150         _S_pback_size now belongs to basic_filebuf.
6151         * testsuite/27_io/basic_ostringstream/3.cc: Remove _S_pback_size
6152         instantiation (now belongs to basic_filebuf).
6153         * testsuite/27_io/basic_streambuf/3.cc: _S_pback_size now belongs
6154         to basic_filebuf.
6155         * testsuite/27_io/basic_stringbuf/3.cc: Remove _S_pback_size
6156         instantiation (now belongs to basic_filebuf).
6157         * testsuite/27_io/basic_stringstream/3.cc: Likewise.
6158
6159 2003-04-23  Benjamin Kosnik  <bkoz@redhat.com>
6160
6161         * configure.in: Move GLIBCPP_CHECK_PCH before native/cross conditions.
6162         * configure: Regenerated.
6163
6164 2003-04-23  Benjamin Kosnik  <bkoz@redhat.com>
6165
6166         * config/locale/generic/c_locale.h (__convert_from_v): Use
6167         attribute unused.
6168
6169 2003-04-23  Phil Edwards  <pme@gcc.gnu.org>
6170
6171         * docs/html/ext/howto.html ('LWG Issues'):  Add issue 60, partial
6172         implementation only.
6173         * include/bits/istream.tcc (putback, unget, sync, tellg, seekg):
6174         Comment and change to comply with DR 60 and the effect on gcount().
6175         * include/std/std_istream.h:  Update comments.
6176         * testsuite/27_io/basic_istream/putback/char/1.cc (test01):  Add
6177         comments about reasons for tests.  Test sync() against gcount().
6178         * testsuite/27_io/basic_istream/seekg/char/2.cc:  New file, test
6179         for effect on gcount().
6180         * testsuite/27_io/basic_istream/tellg/char/2.cc:  New file, test
6181         for effect on gcount().
6182
6183 2003-04-22  Loren J. Rittle  <ljrittle@acm.org>
6184
6185         * testsuite/27_io/basic_filebuf/close/char/9964.cc (test_07):
6186         Adjust timing.
6187
6188 2003-04-22  Paolo Carlini  <pcarlini@unitus.it>
6189
6190         * include/std/std_streambuf.h (_S_pback_size, _M_pback,
6191         _M_pback_cur_save, _M_pback_end_save, _M_pback_init,
6192         _M_pback_create(), _M_pback_destroy()): Move to basic_filebuf.
6193         (basic_streambuf::basic_streambuf()): Adjust.
6194         * include/std/std_fstream.h (_S_pback_size, _M_pback,
6195         _M_pback_cur_save, _M_pback_end_save, _M_pback_init,
6196         _M_pback_create(), _M_pback_destroy()): Moved here
6197         from basic_streambuf.
6198         * include/bits/fstream.tcc (basic_filebuf::basic_filebuf()):
6199         Adjust.
6200         (basic_filebuf::_S_pback_size): Add declaration.
6201         * include/bits/streambuf.tcc (basic_streambuf::_S_pback_size):
6202         Remove declaration.
6203
6204 2003-04-21  Paolo Carlini  <pcarlini@unitus.it>
6205
6206         Consistently use _M_in_beg instead of eback(), _M_in_cur
6207         instead of gptr(), and so on.
6208         * include/bits/fstream.tcc (pbackfail, imbue): Here.
6209         * include/bits/sstream.tcc (pbackfail, seekoff, seekpos): Ditto.
6210         * include/bits/streambuf.tcc (sbumpc, sputbackc,
6211         __copy_streambufs): Ditto.
6212         * include/std/std_streambuf.h (sgetc): Ditto.
6213
6214 2003-04-21  Paolo Carlini  <pcarlini@unitus.it>
6215
6216         * include/bits/sstream.tcc (pbackfail, overflow):
6217         Formatting fixes.
6218
6219 2003-04-21  Paolo Carlini  <pcarlini@unitus.it>
6220
6221         * include/std/std_streambuf.h (uflow()): It's used only by
6222         basic_stringbuf (i.e., basic_filebuf provide its own uflow()),
6223         therefore do not consider the _M_buf_unified == true case.
6224
6225         * include/std/std_streambuf.h (sgetc()): Restore __ret variable.
6226
6227 2003-04-20  Paolo Carlini  <pcarlini@unitus.it>
6228
6229         * docs/html/ext/howto.html ('LWG Issues'):
6230         Add issues 19, 90, 171, 231, 271.
6231
6232 2003-04-20  Paolo Carlini  <pcarlini@unitus.it>
6233
6234         * include/bits/sstream.tcc (pbackfail): Remove redundant
6235         NULL pointer check from test involving _M_in_*.
6236         (overflow, seekoff, seekpos): Const qualify bool variables.
6237         * include/std/std_sstream.h (underflow): Remove redundant
6238         NULL pointer check from test involving _M_in_*.
6239         (_M_really_sync): Const qualify bool variables.
6240         * src/fstream.cc (_M_underflow_common): Remove redundant
6241         NULL pointer check from test involving _M_in_*, const qualify
6242         bool variables.
6243
6244         * include/std/std_streambuf.h (sgetc): Remove redundant
6245         variable.
6246
6247 2003-04-18  Paolo Carlini  <pcarlini@unitus.it>
6248
6249         According to 5.9 para 2 (second bullet) for pointers p, q
6250         pointing to the same type, with  p == 0 and q == 0, (p < q)
6251         is false.
6252         * include/bits/fstream.tcc (close, overflow, _M_really_overflow,
6253         seekoff): Remove redundant NULL pointer checks from tests
6254         involving _M_out_* and _M_in_*, const qualify bool variables.
6255         (showmanyc, pbackfail, _M_convert_to_external, imbue): Const
6256         qualify bool variables.
6257         * include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc, sputc):
6258         Remove redundant NULL pointer checks from tests involving
6259         _M_out_* and _M_in_*, const qualify bool variables.
6260         * include/std/std_fstream.h (sync): Likewise.
6261         (_M_is_indeterminate): Const qualify bool variables.
6262         * include/std/std_streambuf.h (sgetc, uflow): Remove redundant
6263         NULL pointer checks from tests involving _M_out_* and _M_in_*,
6264         const qualify bool variables.
6265         (_M_in_cur_move, _M_out_cur_move, uflow): Const qualify bool
6266         variables.
6267
6268 2003-04-18  Loren J. Rittle  <ljrittle@acm.org>
6269
6270         * include/c_std/std_cmath.h (C99 FP capture): Only undefine said
6271         C99 FP macros, if actually captured.
6272
6273         * docs/html/17_intro/porting.texi (_GLIBCPP_USE_C99_CHECK): New macro.
6274         (_GLIBCPP_USE_C99_DYNAMIC): New macro.
6275         (_GLIBCPP_USE_C99_LONG_LONG_CHECK): New macro.
6276         (_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC): New macro.
6277         * config/os/bsd/freebsd/os_defines.h (_GLIBCPP_USE_C99_CHECK):
6278         New macro.
6279         (_GLIBCPP_USE_C99_DYNAMIC): New macro.
6280         (_GLIBCPP_USE_C99_LONG_LONG_CHECK): New macro.
6281         (_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC): New macro.
6282         * include/c_std/std_cstdlib.h: Use new macros.
6283         * include/c_std/std_cstdio.h: Use new macros.
6284         * include/c_std/std_cwchar.h: Use new macros.
6285
6286 2003-04-17  Benjamin Kosnik  <bkoz@redhat.com>
6287
6288         PR libstdc++/9555
6289         * include/bits/ostream.tcc: Catch all exceptions for formatted
6290         output, instead of std::exception and derivatives.
6291         * include/bits/istream.tcc: Same.
6292         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc:
6293         * testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc:
6294         * testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc:
6295         * testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc:
6296         * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
6297         * testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc:
6298         New.
6299
6300 2003-04-17  Phil Edwards  <pme@gcc.gnu.org>
6301
6302         * include/bits/c++config:  Minor cosmetic tweaks.
6303
6304 2003-04-17  Loren J. Rittle  <ljrittle@acm.org>
6305
6306         * testsuite_flags.in (PCHFLAGS): Find PCH in new home.
6307         * include/Makefile.am (pch_input): Find in ${target_builddir}.
6308         (pch_output): Rename to...
6309         (pch_output_builddir): ..this.  Find in ${target_builddir}.
6310         (pch_source): Tweak.
6311         (pch_build): Key off a built file.
6312         (pch_output rule): Rename to...
6313         (pch_input rule): ...this.  Produce ${pch_output_builddir}
6314         instead of ${pch_output}.
6315         (install-pch rule): Install ${pch_output_builddir}.
6316         * include/Makefile.in: Regenerated.
6317
6318 2003-04-17  Paolo Carlini  <pcarlini@unitus.it>
6319
6320         * include/std/std_streambuf.h (setp): _M_out_lim, being
6321         the end limit of used put area, is set equal to _M_out_beg.
6322
6323 2003-04-16  Benjamin Kosnik  <bkoz@redhat.com>
6324
6325         * acinclude.m4 (GLIBCPP_CHECK_PCH): New.
6326         * aclocal.m4: Regenerated.
6327         * configure.in: Remove old demangler bits.
6328         Call pch checks.
6329         * configure: Regenerate.
6330         * config.h.in: Regenerate.
6331         * include/Makefile.am (allstamps): Now allstamped.
6332         (allcreated): Define this.
6333         (all-local): Use 'em.
6334         Conditionally define pch_build, pch_install based on
6335         GLIBCPP_BUILD_PCH.
6336         (${pch_output}): New rule.
6337         (install-pch): New rule.
6338         (install-headers): New rule.
6339         (install-data-local): Install headers and conditionally pch.
6340         * include/Makefile.in: Regenerate.
6341         * testsuite_flags.in (--build-cxx): Use pch file.
6342
6343 2003-04-16  Jonathan Wakely  <redi@gcc.gnu.org>
6344
6345         * docs/html/ext/sgiexts.html: Fix path to stylesheet.
6346
6347 2003-04-15  Benjamin Kosnik  <bkoz at redhat dot com>
6348             Paolo Carlini  <pcarlini at unitus dot it>
6349
6350         PR libstdc++/9423
6351         * docs/html/27_io/howto.html
6352         ('The buffering is screwing up my program!'): Explain that
6353         opening counts as an I/O operation.
6354
6355 2003-04-15  Andreas Tobler  <a.tobler@schweiz.ch>
6356
6357         * testsuite/thread/pthread1.cc: Enable for darwin test.
6358         * testsuite/thread/pthread2.cc: Same.
6359         * testsuite/thread/pthread3.cc: Same.
6360         * testsuite/thread/pthread4.cc: Same.
6361         * testsuite/thread/pthread5.cc: Same.
6362         * testsuite/thread/pthread6.cc: Same.
6363
6364 2003-04-15  Loren J. Rittle  <ljrittle@acm.org>
6365
6366         libstdc++/7680
6367         * include/c_std/std_cmath.h (__gnu_cx::__c99_binding): New namespace.
6368         Populate it with multiple legal ways to obtain the C99 float
6369         transcendentals.  Use them instead of direct global reference.
6370         (C99 FP capture): Guard usage with _GLIBCPP_USE_C99_FP_MACROS_DYNAMIC.
6371         * docs/html/17_intro/porting.texi
6372         (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK): New macro.
6373         (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): New macro.
6374         (_GLIBCPP_USE_C99_FP_MACROS_DYNAMIC): New macro.
6375         * config/os/bsd/freebsd/os_defines.h
6376         (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK): New macro.
6377         (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): New macro.
6378         * testsuite/26_numerics/c_math_dynamic.cc: New file.
6379
6380 2003-04-14  Andreas Tobler  <toa@pop.agri.ch>
6381             Benjamin Kosnik  <bkoz@redhat.com>
6382
6383         * config/os/generic/ctype_inline.h: Fix.
6384
6385 2003-04-14  Benjamin Kosnik  <bkoz@redhat.com>
6386
6387         * testsuite/testsuite_hooks.h
6388         (__gnu_cxx_test::run_test_wrapped_generic_locale_exception_catcher):
6389         Change to try_named_locale.
6390         * testsuite/testsuite_hooks.cc (__gnu_cxx_test): Same.
6391
6392         * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Use
6393         try_named_locale.
6394         * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Same.
6395         * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Same.
6396         * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Same.
6397         * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Same.
6398         * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: Same.
6399         * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Same.
6400         * testsuite/22_locale/codecvt/in/wchar_t/3.cc: Same.
6401         * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Same.
6402         * testsuite/22_locale/codecvt/in/wchar_t/7.cc: Same.
6403         * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Same.
6404         * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Same.
6405         * testsuite/22_locale/codecvt/length/wchar_t/2.cc: Same.
6406         * testsuite/22_locale/codecvt/length/wchar_t/3.cc: Same.
6407         * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Same.
6408         * testsuite/22_locale/codecvt/length/wchar_t/7.cc: Same.
6409         * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Same.
6410         * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Same.
6411         * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Same.
6412         * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Same.
6413         * testsuite/22_locale/codecvt/out/wchar_t/3.cc: Same.
6414         * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Same.
6415         * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Same.
6416         * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Same.
6417         * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Same.
6418         * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Same.
6419         * testsuite/22_locale/collate/compare/char/1.cc: Same.
6420         * testsuite/22_locale/collate/compare/char/2.cc: Same.
6421         * testsuite/22_locale/collate/compare/char/3.cc: Same.
6422         * testsuite/22_locale/collate/compare/wchar_t/1.cc: Same.
6423         * testsuite/22_locale/collate/compare/wchar_t/2.cc: Same.
6424         * testsuite/22_locale/collate/compare/wchar_t/3.cc: Same.
6425         * testsuite/22_locale/collate/hash/char/2.cc: Same.
6426         * testsuite/22_locale/collate/hash/wchar_t/2.cc: Same.
6427         * testsuite/22_locale/collate/transform/char/2.cc: Same.
6428         * testsuite/22_locale/collate/transform/char/3.cc: Same.
6429         * testsuite/22_locale/collate/transform/wchar_t/2.cc: Same.
6430         * testsuite/22_locale/collate/transform/wchar_t/3.cc: Same.
6431         * testsuite/22_locale/collate_byname/1.cc: Same.
6432         * testsuite/22_locale/ctype/is/char/2.cc: Same.
6433         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
6434         * testsuite/22_locale/ctype/narrow/wchar_t/3.cc: Same.
6435         * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Same.
6436         * testsuite/22_locale/ctype/widen/wchar_t/3.cc: Same.
6437         * testsuite/22_locale/facet/2.cc: Same.
6438         * testsuite/22_locale/locale/cons/2.cc: Same.
6439         * testsuite/22_locale/locale/cons/4.cc: Same.
6440         * testsuite/22_locale/locale/cons/5.cc: Same.
6441         * testsuite/22_locale/locale/cons/7.cc: Same.
6442         * testsuite/22_locale/locale/cons/7222-c.cc: Same.
6443         * testsuite/22_locale/locale/cons/7222-env.cc: Same.
6444         * testsuite/22_locale/locale/global_locale_objects/2.cc: Same.
6445         * testsuite/22_locale/messages/members/char/1.cc: Same.
6446         * testsuite/22_locale/messages/members/char/2.cc: Same.
6447         * testsuite/22_locale/messages/members/char/3.cc: Same.
6448         * testsuite/22_locale/messages_byname/1.cc: Same.
6449         * testsuite/22_locale/money_get/get/char/1.cc: Same.
6450         * testsuite/22_locale/money_get/get/char/2.cc: Same.
6451         * testsuite/22_locale/money_get/get/char/3.cc: Same.
6452         * testsuite/22_locale/money_get/get/char/4.cc: Same.
6453         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Same.
6454         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Same.
6455         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Same.
6456         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Same.
6457         * testsuite/22_locale/money_put/put/char/1.cc: Same.
6458         * testsuite/22_locale/money_put/put/char/2.cc: Same.
6459         * testsuite/22_locale/money_put/put/char/3.cc: Same.
6460         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Same.
6461         * testsuite/22_locale/money_put/put/wchar_t/2.cc: Same.
6462         * testsuite/22_locale/money_put/put/wchar_t/3.cc: Same.
6463         * testsuite/22_locale/moneypunct/members/char/2.cc: Same.
6464         * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Same.
6465         * testsuite/22_locale/moneypunct_byname/1.cc: Same.
6466         * testsuite/22_locale/num_get/get/char/1.cc: Same.
6467         * testsuite/22_locale/num_get/get/char/2.cc: Same.
6468         * testsuite/22_locale/num_get/get/char/3.cc: Same.
6469         * testsuite/22_locale/num_get/get/char/5.cc: Same.
6470         * testsuite/22_locale/num_get/get/char/6.cc: Same.
6471         * testsuite/22_locale/num_get/get/wchar_t/1.cc: Same.
6472         * testsuite/22_locale/num_get/get/wchar_t/2.cc: Same.
6473         * testsuite/22_locale/num_get/get/wchar_t/3.cc: Same.
6474         * testsuite/22_locale/num_get/get/wchar_t/5.cc: Same.
6475         * testsuite/22_locale/num_get/get/wchar_t/6.cc: Same.
6476         * testsuite/22_locale/num_put/put/char/1.cc: Same.
6477         * testsuite/22_locale/num_put/put/char/2.cc: Same.
6478         * testsuite/22_locale/num_put/put/char/3.cc: Same.
6479         * testsuite/22_locale/num_put/put/char/5.cc: Same.
6480         * testsuite/22_locale/num_put/put/wchar_t/1.cc: Same.
6481         * testsuite/22_locale/num_put/put/wchar_t/2.cc: Same.
6482         * testsuite/22_locale/num_put/put/wchar_t/3.cc: Same.
6483         * testsuite/22_locale/num_put/put/wchar_t/5.cc: Same.
6484         * testsuite/22_locale/numpunct/members/char/1.cc: Same.
6485         * testsuite/22_locale/numpunct/members/char/2.cc: Same.
6486         * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Same.
6487         * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Same.
6488         * testsuite/22_locale/numpunct_byname/1.cc: Same.
6489         * testsuite/22_locale/numpunct_byname/2.cc: Same.
6490         * testsuite/22_locale/time_get/date_order/char/1.cc: Same.
6491         * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Same.
6492         * testsuite/22_locale/time_get/get_date/char/1.cc: Same.
6493         * testsuite/22_locale/time_get/get_date/char/2.cc: Same.
6494         * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Same.
6495         * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Same.
6496         * testsuite/22_locale/time_get/get_monthname/char/1.cc: Same.
6497         * testsuite/22_locale/time_get/get_monthname/char/2.cc: Same.
6498         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Same.
6499         * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Same.
6500         * testsuite/22_locale/time_get/get_time/char/1.cc: Same.
6501         * testsuite/22_locale/time_get/get_time/char/2.cc: Same.
6502         * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Same.
6503         * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Same.
6504         * testsuite/22_locale/time_get/get_weekday/char/1.cc: Same.
6505         * testsuite/22_locale/time_get/get_weekday/char/2.cc: Same.
6506         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Same.
6507         * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Same.
6508         * testsuite/22_locale/time_get/get_year/char/1.cc: Same.
6509         * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Same.
6510         * testsuite/22_locale/time_put/put/char/1.cc: Same.
6511         * testsuite/22_locale/time_put/put/char/2.cc: Same.
6512         * testsuite/22_locale/time_put/put/char/3.cc: Same.
6513         * testsuite/22_locale/time_put/put/char/4.cc: Same.
6514         * testsuite/22_locale/time_put/put/char/5.cc: Same.
6515         * testsuite/22_locale/time_put/put/char/6.cc: Same.
6516         * testsuite/22_locale/time_put/put/char/7.cc: Same.
6517         * testsuite/22_locale/time_put/put/char/8.cc: Same.
6518         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Same.
6519         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Same.
6520         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Same.
6521         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Same.
6522         * testsuite/22_locale/time_put/put/wchar_t/5.cc: Same.
6523         * testsuite/22_locale/time_put/put/wchar_t/6.cc: Same.
6524         * testsuite/22_locale/time_put/put/wchar_t/7.cc: Same.
6525         * testsuite/22_locale/time_put/put/wchar_t/8.cc: Same.
6526         * testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Same.
6527         * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Same.
6528         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc: Same.
6529         * testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Same.
6530         * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Same.
6531
6532 2003-04-14  Andreas Tobler  <toa@pop.agri.ch>
6533
6534         * configure.target (_cpu_incdir_fullpath): Solaris 2.9 uses
6535         solaris includes, not generic.
6536
6537 2003-04-14  Loren J. Rittle  <ljrittle@acm.org>
6538
6539         * testsuite/26_numerics/c99_classification_macros_c.cc: Add XFAIL.
6540
6541         * include/std/std_bitset.h (_M_do_find_next): Fix -Wall nit.
6542         * include/bits/concept_check.h: Fix multi-line comment.
6543         * testsuite/17_intro/headers.cc (dg-options): Add -Wall -Wsystem-header
6544         when target is *-*-freebsd*.
6545
6546 2003-04-14  Nathan Myers  <ncm@cantrip.org>
6547             Paolo Carlini  <pcarlini@unitus.it>
6548
6549         PR libstdc++/9701 (in_avail())
6550         * include/std/std_streambuf.h (in_avail): Simplify, in_avail
6551         doesn't care if there is anything in some putback cell.
6552         * testsuite/27_io/basic_streambuf/in_avail/char/9701-3.cc: Add.
6553
6554         * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Remove some
6555         unused string literals.
6556
6557 2003-04-14  Paolo Carlini  <pcarlini@unitus.it>
6558
6559         * include/bits/fstream.tcc (basic_filebuf::setbuf): Don't set
6560         _M_out_end, _M_set_indeterminate() does it.
6561
6562 2003-04-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6563
6564         * os/hpux/ctype_inline.h: Replace with gnu-linux version.
6565
6566 2003-04-12  David Edelsohn  <edelsohn@gnu.org>
6567
6568         * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc:
6569         Change basic_streambuf instantiation to "unsigned char".
6570         * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
6571
6572 2003-04-12  Paolo Carlini  <pcarlini@unitus.it>
6573
6574         Remove _M_buf_size_opt, use directly _M_buf_size instead.
6575         * include/bits/fstream.tcc
6576         (basic_filebuf::_M_allocate_internal_buffer, setbuf): Remove
6577         references to _M_buf_size_opt.
6578         * include/bits/sstream.tcc (basic_stringbuf::overflow): Likewise.
6579         * include/bits/streambuf.tcc (__copy_streambufs): Likewise, rename
6580         __bufsize to __in_avail and __size_opt to __buf_size.
6581         * include/ext/stdio_filebuf.h (stdio_filebuf::stdio_filebuf): Likewise.
6582         * include/std/std_sstream.h (_M_stringbuf_init, setbuf): Likewise.
6583         * include/std/std_streambuf.h (~basic_streambuf(),
6584         basic_streambuf()): Likewise, remove _M_buf_size_opt member.
6585         * testsuite/27_io/basic_filebuf/close/char/3.cc: Set _M_buf_size.
6586         * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
6587         * testsuite/27_io/basic_filebuf/sbumpc/char/1.cc: Likewise.
6588         * testsuite/27_io/basic_filebuf/seekoff/char/1.cc: Likewise.
6589         * testsuite/27_io/basic_filebuf/seekpos/char/1.cc: Likewise.
6590         * testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Likewise.
6591         * testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Likewise.
6592         * testsuite/27_io/basic_filebuf/snextc/char/1.cc: Likewise.
6593         * testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Likewise.
6594         * testsuite/27_io/basic_filebuf/sputc/char/1.cc: Likewise.
6595         * testsuite/27_io/basic_filebuf/sputn/char/1.cc: Likewise.
6596         * testsuite/27_io/basic_filebuf/sungetc/char/1.cc: Likewise.
6597
6598 2003-04-12  Paolo Carlini  <pcarlini at unitus dot it>
6599
6600         * include/ext/stdio_filebuf.h
6601         (stdio_filebuf::stdio_filebuf(int, openmode, bool, size_t),
6602         stdio_filebuf::stdio_filebuf(__c_file*, openmode, size_t):
6603         _M_buf_size_opt == 0 only means "not to use an allocated buffer"
6604         since a stack-based buffer is used for small values of the size_t
6605         parameter.
6606         * include/bits/fstream.tcc (basic_filebuf::_M_really_overflow).
6607         If _M_buf_size != 0 flush out the buffer (any kind, stack-based too).
6608         * testsuite/ext/stdio_filebuf_2.cc: New testfile.
6609
6610 2003-04-12  Paolo Carlini  <pcarlini@unitus.it>
6611
6612         PR libstdc++/9533
6613         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: New.
6614         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Ditto.
6615
6616 2003-04-11  Benjamin Kosnik  <bkoz@redhat.com>
6617
6618         * testsuite/22_locale/locale/cons/3.cc: Split.
6619         * testsuite/22_locale/locale/cons/7222-c.cc: New.
6620         * testsuite/22_locale/locale/cons/7222-env.cc: New.
6621         Check before trying to create a locale from the environment.
6622         * testsuite/27_io/ios_base/state/1.cc (test02): Use "C" locale.
6623         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
6624         Adjust includes.
6625
6626 2003-04-11  Benjamin Kosnik  <bkoz@redhat.com>
6627
6628         * testsuite/22_locale/ctype/is/char/3.cc (test03): Use the classic
6629         locale to construct this hybrid locale, not the global locale.
6630
6631 2003-04-11  Benjamin Kosnik  <bkoz@redhat.com>
6632
6633         * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: Add
6634         instantiation for AIX.
6635         * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
6636         * testsuite/25_algorithms/min_max.cc: Same.
6637
6638 2003-04-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6639
6640         * basic_file_stdio.cc (__basic_file<char>::close): Don't flush stream
6641         twice.  Always set _M_cfile to 0 when stream was open.
6642
6643 2003-04-09  Benjamin Kosnik  <bkoz@redhat.com>
6644
6645         Reshuffle 27_io testsuite.  
6646         * testsuite/27_io/filebuf.cc,
6647         filebuf_members-1.tst, filebuf_members-1.txt, filebuf_members.cc,
6648         filebuf_virtuals-1.tst, filebuf_virtuals-1.txt,
6649         filebuf_virtuals-2.tst, filebuf_virtuals-3.tst,
6650         filebuf_virtuals.cc, fpos.cc, fstream.cc, fstream_members.cc,
6651         ifstream.cc, ifstream_members-1.tst, ifstream_members-1.txt,
6652         ifstream_members.cc, instantiations.cc, ios.cc,
6653         ios_base_callbacks.cc, ios_base_members_static-1.tst,
6654         ios_base_members_static.cc, ios_base_storage.cc,
6655         ios_base_types.cc, ios_ctor.cc, ios_init.cc,
6656         ios_manip_basefield.cc, ios_manip_fmtflags.cc, ios_members.cc,
6657         iostream.cc, iostream_members.cc, istream.cc,
6658         istream_exception.cc, istream_extractor_char.cc,
6659         istream_extractor_other-1.tst, istream_extractor_other-1.txt,
6660         istream_extractor_other-2.tst, istream_extractor_other.cc,
6661         istream_manip.cc, istream_seeks-1.tst, istream_seeks-1.txt,
6662         istream_seeks-2.tst, istream_seeks-3.tst, istream_seeks.cc,
6663         istream_sentry.cc, istream_unformatted-1.tst,
6664         istream_unformatted-1.txt, istream_unformatted.cc,
6665         istringstream.cc, istringstream_members.cc,
6666         narrow_stream_objects.cc, ofstream.cc, ofstream_members-1.tst,
6667         ofstream_members.cc, ostream.cc, ostream_exception.cc,
6668         ostream_fail.cc, ostream_inserter_arith.cc,
6669         ostream_inserter_char-1.tst, ostream_inserter_char-1.txt,
6670         ostream_inserter_char.cc, ostream_inserter_other-1.tst,
6671         ostream_inserter_other-2.tst, ostream_inserter_other.cc,
6672         ostream_manip.cc, ostream_seeks-1.tst, ostream_seeks.cc,
6673         ostream_sentry.cc, ostream_unformatted.cc, ostringstream.cc,
6674         ostringstream_members.cc, standard_manipulators.cc, streambuf.cc,
6675         streambuf_members.cc, stringbuf.cc, stringbuf_members.cc,
6676         stringbuf_virtuals.cc, stringstream.cc, stringstream_members.cc,
6677         wide_stream_objects.cc, istream_extractor_arith/01.cc,
6678         istream_extractor_arith/02.cc, istream_extractor_arith/03.cc,
6679         istream_extractor_arith/06.cc, istream_extractor_arith/07.cc,
6680         istream_extractor_arith/08.cc, istream_extractor_arith/09.cc,
6681         istream_extractor_arith/10.cc, istream_extractor_arith/11.cc,
6682         istream_extractor_arith/12.cc, istream_extractor_arith/13.cc:
6683         Split into...
6684         * 27_io/basic_filebuf/1.cc: New.
6685         * 27_io/basic_filebuf/2.cc: New.
6686         * 27_io/basic_filebuf/3.cc: New.
6687         * 27_io/basic_filebuf/4.cc: New.
6688         * 27_io/basic_filebuf/close/char/1.cc: New.
6689         * 27_io/basic_filebuf/close/char/2.cc: New.
6690         * 27_io/basic_filebuf/close/char/3.cc: New.
6691         * 27_io/basic_filebuf/close/char/4879.cc: New.
6692         * 27_io/basic_filebuf/close/char/9964.cc: New.
6693         * 27_io/basic_filebuf/imbue/char/1.cc: New.
6694         * 27_io/basic_filebuf/imbue/char/9322.cc: New.
6695         * 27_io/basic_filebuf/in_avail/char/1.cc: New.
6696         * 27_io/basic_filebuf/is_open/char/1.cc: New.
6697         * 27_io/basic_filebuf/open/char/1.cc: New.
6698         * 27_io/basic_filebuf/open/char/2.cc: New.
6699         * 27_io/basic_filebuf/open/char/3.cc: New.
6700         * 27_io/basic_filebuf/open/char/9507.cc: New.
6701         * 27_io/basic_filebuf/overflow/char/1.cc: New.
6702         * 27_io/basic_filebuf/overflow/char/3599.cc: New.
6703         * 27_io/basic_filebuf/overflow/char/9169.cc: New.
6704         * 27_io/basic_filebuf/overflow/char/9182-2.cc: New.
6705         * 27_io/basic_filebuf/overflow/char/9988.cc: New.
6706         * 27_io/basic_filebuf/sbumpc/char/1.cc: New.
6707         * 27_io/basic_filebuf/sbumpc/char/9825.cc: New.
6708         * 27_io/basic_filebuf/seekoff/char/1.cc: New.
6709         * 27_io/basic_filebuf/seekoff/char/2.cc: New.
6710         * 27_io/basic_filebuf/seekpos/char/1.cc: New.
6711         * 27_io/basic_filebuf/seekpos/char/2.cc: New.
6712         * 27_io/basic_filebuf/setbuf/char/1.cc: New.
6713         * 27_io/basic_filebuf/setbuf/char/2.cc: New.
6714         * 27_io/basic_filebuf/setbuf/char/3.cc: New.
6715         * 27_io/basic_filebuf/sgetc/char/1.cc: New.
6716         * 27_io/basic_filebuf/sgetn/char/1.cc: New.
6717         * 27_io/basic_filebuf/sgetn/char/2.cc: New.
6718         * 27_io/basic_filebuf/snextc/char/1.cc: New.
6719         * 27_io/basic_filebuf/sputbackc/char/1.cc: New.
6720         * 27_io/basic_filebuf/sputbackc/char/9425.cc: New.
6721         * 27_io/basic_filebuf/sputc/char/1.cc: New.
6722         * 27_io/basic_filebuf/sputc/char/1057.cc: New.
6723         * 27_io/basic_filebuf/sputc/char/9701-2.cc: New.
6724         * 27_io/basic_filebuf/sputn/char/1.cc: New.
6725         * 27_io/basic_filebuf/sputn/char/1057.cc: New.
6726         * 27_io/basic_filebuf/sputn/char/9701-1.cc: New.
6727         * 27_io/basic_filebuf/sungetc/char/1.cc: New.
6728         * 27_io/basic_filebuf/sync/char/1057.cc: New.
6729         * 27_io/basic_filebuf/sync/char/9182-1.cc: New.
6730         * 27_io/basic_filebuf/underflow/char/10097.cc: New.
6731         * 27_io/basic_fstream/1.cc: New.
6732         * 27_io/basic_fstream/2.cc: New.
6733         * 27_io/basic_fstream/3.cc: New.
6734         * 27_io/basic_fstream/4.cc: New.
6735         * 27_io/basic_fstream/rdbuf/char/2832.cc: New.
6736         * 27_io/basic_ifstream/1.cc: New.
6737         * 27_io/basic_ifstream/2.cc: New.
6738         * 27_io/basic_ifstream/3.cc: New.
6739         * 27_io/basic_ifstream/4.cc: New.
6740         * 27_io/basic_ifstream/cons/char/1.cc: New.
6741         * 27_io/basic_ifstream/open/char/1.cc: New.
6742         * 27_io/basic_ifstream/rdbuf/char/2832.cc: New.
6743         * 27_io/basic_ios/1.cc: New.
6744         * 27_io/basic_ios/2.cc: New.
6745         * 27_io/basic_ios/3.cc: New.
6746         * 27_io/basic_ios/4.cc: New.
6747         * 27_io/basic_ios/clear/char/1.cc: New.
6748         * 27_io/basic_ios/cons/char/1.cc: New.
6749         * 27_io/basic_ios/cons/char/2.cc: New.
6750         * 27_io/basic_ios/cons/char/3.cc: New.
6751         * 27_io/basic_ios/copyfmt/char/1.cc: New.
6752         * 27_io/basic_ios/copyfmt/char/2.cc: New.
6753         * 27_io/basic_ios/exceptions/char/1.cc: New.
6754         * 27_io/basic_ios/locales/char/1.cc: New.
6755         * 27_io/basic_iostream/1.cc: New.
6756         * 27_io/basic_iostream/2.cc: New.
6757         * 27_io/basic_iostream/3.cc: New.
6758         * 27_io/basic_iostream/4.cc: New.
6759         * 27_io/basic_istream/1.cc: New.
6760         * 27_io/basic_istream/2.cc: New.
6761         * 27_io/basic_istream/3.cc: New.
6762         * 27_io/basic_istream/4.cc: New.
6763         * 27_io/basic_istream/exceptions/char/9561.cc: New.
6764         * 27_io/basic_istream/extractors_arithmetic/char/01.cc: New.
6765         * 27_io/basic_istream/extractors_arithmetic/char/02.cc: New.
6766         * 27_io/basic_istream/extractors_arithmetic/char/03.cc: New.
6767         * 27_io/basic_istream/extractors_arithmetic/char/06.cc: New.
6768         * 27_io/basic_istream/extractors_arithmetic/char/07.cc: New.
6769         * 27_io/basic_istream/extractors_arithmetic/char/08.cc: New.
6770         * 27_io/basic_istream/extractors_arithmetic/char/09.cc: New.
6771         * 27_io/basic_istream/extractors_arithmetic/char/10.cc: New.
6772         * 27_io/basic_istream/extractors_arithmetic/char/11.cc: New.
6773         * 27_io/basic_istream/extractors_arithmetic/char/12.cc: New.
6774         * 27_io/basic_istream/extractors_arithmetic/char/13.cc: New.
6775         * 27_io/basic_istream/extractors_character/char/1.cc: New.
6776         * 27_io/basic_istream/extractors_character/char/2.cc: New.
6777         * 27_io/basic_istream/extractors_character/char/3.cc: New.
6778         * 27_io/basic_istream/extractors_character/char/9826.cc: New.
6779         * 27_io/basic_istream/extractors_other/char/1.cc: New.
6780         * 27_io/basic_istream/extractors_other/char/2.cc: New.
6781         * 27_io/basic_istream/extractors_other/char/3.cc: New.
6782         * 27_io/basic_istream/extractors_other/char/9318-in.cc: New.
6783         * 27_io/basic_istream/extractors_other/char/9424-in.cc: New.
6784         * 27_io/basic_istream/get/char/1.cc: New.
6785         * 27_io/basic_istream/get/char/2.cc: New.
6786         * 27_io/basic_istream/getline/char/1.cc: New.
6787         * 27_io/basic_istream/getline/char/2.cc: New.
6788         * 27_io/basic_istream/getline/char/3.cc: New.
6789         * 27_io/basic_istream/ignore/char/1.cc: New.
6790         * 27_io/basic_istream/ignore/char/6360.cc: New.
6791         * 27_io/basic_istream/ignore/char/7220.cc: New.
6792         * 27_io/basic_istream/peek/char/1.cc: New.
6793         * 27_io/basic_istream/peek/char/6414.cc: New.
6794         * 27_io/basic_istream/putback/char/1.cc: New.
6795         * 27_io/basic_istream/read/char/1.cc: New.
6796         * 27_io/basic_istream/read/char/2.cc: New.
6797         * 27_io/basic_istream/read/char/3.cc: New.
6798         * 27_io/basic_istream/readsome/char/6746-1.cc: New.
6799         * 27_io/basic_istream/readsome/char/6746-2.cc: New.
6800         * 27_io/basic_istream/readsome/char/8258.cc: New.
6801         * 27_io/basic_istream/seekg/char/2346-fstream.cc: New.
6802         * 27_io/basic_istream/seekg/char/2346-sstream.cc: New.
6803         * 27_io/basic_istream/seekg/char/8348-1.cc: New.
6804         * 27_io/basic_istream/seekg/char/8348-2.cc: New.
6805         * 27_io/basic_istream/seekg/char/fstream.cc: New.
6806         * 27_io/basic_istream/seekg/char/sstream.cc: New.
6807         * 27_io/basic_istream/sentry/char/1.cc: New.
6808         * 27_io/basic_istream/sentry/char/2.cc: New.
6809         * 27_io/basic_istream/sentry/char/3.cc: New.
6810         * 27_io/basic_istream/sentry/char/3983-fstream.cc: New.
6811         * 27_io/basic_istream/sentry/char/3983-sstream.cc: New.
6812         * 27_io/basic_istream/tellg/char/1.cc: New.
6813         * 27_io/basic_istream/tellg/char/8348.cc: New.
6814         * 27_io/basic_istream/tellg/char/fstream.cc: New.
6815         * 27_io/basic_istream/tellg/char/sstream.cc: New.
6816         * 27_io/basic_istream/ws/char/1.cc: New.
6817         * 27_io/basic_istringstream/1.cc: New.
6818         * 27_io/basic_istringstream/2.cc: New.
6819         * 27_io/basic_istringstream/3.cc: New.
6820         * 27_io/basic_istringstream/4.cc: New.
6821         * 27_io/basic_istringstream/rdbuf/char/2832.cc: New.
6822         * 27_io/basic_istringstream/str/char/1.cc: New.
6823         * 27_io/basic_ofstream/1.cc: New.
6824         * 27_io/basic_ofstream/2.cc: New.
6825         * 27_io/basic_ofstream/3.cc: New.
6826         * 27_io/basic_ofstream/4.cc: New.
6827         * 27_io/basic_ofstream/cons/char/2.cc: New.
6828         * 27_io/basic_ofstream/open/char/1.cc: New.
6829         * 27_io/basic_ofstream/rdbuf/char/2832.cc: New.
6830         * 27_io/basic_ostream/1.cc: New.
6831         * 27_io/basic_ostream/2.cc: New.
6832         * 27_io/basic_ostream/3.cc: New.
6833         * 27_io/basic_ostream/4.cc: New.
6834         * 27_io/basic_ostream/cons/char/9827.cc: New.
6835         * 27_io/basic_ostream/endl/char/1.cc: New.
6836         * 27_io/basic_ostream/ends/char/1.cc: New.
6837         * 27_io/basic_ostream/ends/char/2.cc: New.
6838         * 27_io/basic_ostream/exceptions/char/9561.cc: New.
6839         * 27_io/basic_ostream/flush/char/1.cc: New.
6840         * 27_io/basic_ostream/inserters_arithmetic/char/1.cc: New.
6841         * 27_io/basic_ostream/inserters_arithmetic/char/2.cc: New.
6842         * 27_io/basic_ostream/inserters_arithmetic/char/3.cc: New.
6843         * 27_io/basic_ostream/inserters_arithmetic/char/4.cc: New.
6844         * 27_io/basic_ostream/inserters_arithmetic/char/4402.cc: New.
6845         * 27_io/basic_ostream/inserters_arithmetic/char/5.cc: New.
6846         * 27_io/basic_ostream/inserters_arithmetic/char/6.cc: New.
6847         * 27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc: New.
6848         * 27_io/basic_ostream/inserters_character/char/1.cc: New.
6849         * 27_io/basic_ostream/inserters_character/char/2.cc: New.
6850         * 27_io/basic_ostream/inserters_character/char/3.cc: New.
6851         * 27_io/basic_ostream/inserters_character/char/4.cc: New.
6852         * 27_io/basic_ostream/inserters_character/char/5.cc: New.
6853         * 27_io/basic_ostream/inserters_character/char/6.cc: New.
6854         * 27_io/basic_ostream/inserters_character/char/8.cc: New.
6855         * 27_io/basic_ostream/inserters_character/wchar_t/7.cc: New.
6856         * 27_io/basic_ostream/inserters_character/wchar_t/8.cc: New.
6857         * 27_io/basic_ostream/inserters_other/char/1.cc: New.
6858         * 27_io/basic_ostream/inserters_other/char/2.cc: New.
6859         * 27_io/basic_ostream/inserters_other/char/3.cc: New.
6860         * 27_io/basic_ostream/inserters_other/char/4.cc: New.
6861         * 27_io/basic_ostream/inserters_other/char/9318-out.cc: New.
6862         * 27_io/basic_ostream/inserters_other/char/9424-out.cc: New.
6863         * 27_io/basic_ostream/sentry/char/1.cc: New.
6864         * 27_io/basic_ostream/sentry/char/2.cc: New.
6865         * 27_io/basic_ostream/sentry/char/3983-fstream.cc: New.
6866         * 27_io/basic_ostream/sentry/char/3983-sstream.cc: New.
6867         * 27_io/basic_ostream/tellp/char/1.cc: New.
6868         * 27_io/basic_ostream/tellp/char/2.cc: New.
6869         * 27_io/basic_ostringstream/1.cc: New.
6870         * 27_io/basic_ostringstream/2.cc: New.
6871         * 27_io/basic_ostringstream/3.cc: New.
6872         * 27_io/basic_ostringstream/4.cc: New.
6873         * 27_io/basic_ostringstream/cons/char/3.cc: New.
6874         * 27_io/basic_ostringstream/rdbuf/char/2832.cc: New.
6875         * 27_io/basic_ostringstream/str/char/1.cc: New.
6876         * 27_io/basic_ostringstream/str/char/2.cc: New.
6877         * 27_io/basic_streambuf/1.cc: New.
6878         * 27_io/basic_streambuf/2.cc: New.
6879         * 27_io/basic_streambuf/3.cc: New.
6880         * 27_io/basic_streambuf/cons/char/1.cc: New.
6881         * 27_io/basic_streambuf/imbue/char/1.cc: New.
6882         * 27_io/basic_streambuf/imbue/char/9322.cc: New.
6883         * 27_io/basic_streambuf/overflow/char/1.cc: New.
6884         * 27_io/basic_streambuf/overflow/char/2.cc: New.
6885         * 27_io/basic_streambuf/overflow/char/3599.cc: New.
6886         * 27_io/basic_streambuf/sgetc/char/1.cc: New.
6887         * 27_io/basic_streambuf/sgetn/char/1.cc: New.
6888         * 27_io/basic_streambuf/sputbackc/char/9538.cc: New.
6889         * 27_io/basic_streambuf/sputc/char/1057.cc: New.
6890         * 27_io/basic_streambuf/sputn/char/1.cc: New.
6891         * 27_io/basic_streambuf/sputn/char/1057.cc: New.
6892         * 27_io/basic_streambuf/sync/char/1057.cc: New.
6893         * 27_io/basic_stringbuf/1.cc: New.
6894         * 27_io/basic_stringbuf/2.cc: New.
6895         * 27_io/basic_stringbuf/3.cc: New.
6896         * 27_io/basic_stringbuf/4.cc: New.
6897         * 27_io/basic_stringbuf/5.cc: New.
6898         * 27_io/basic_stringbuf/imbue/char/1.cc: New.
6899         * 27_io/basic_stringbuf/imbue/char/9322.cc: New.
6900         * 27_io/basic_stringbuf/in_avail/char/1.cc: New.
6901         * 27_io/basic_stringbuf/overflow/char/2.cc: New.
6902         * 27_io/basic_stringbuf/overflow/char/3599.cc: New.
6903         * 27_io/basic_stringbuf/overflow/char/9988.cc: New.
6904         * 27_io/basic_stringbuf/sbumpc/char/1.cc: New.
6905         * 27_io/basic_stringbuf/sbumpc/char/9825.cc: New.
6906         * 27_io/basic_stringbuf/seekoff/char/1.cc: New.
6907         * 27_io/basic_stringbuf/seekoff/char/2.cc: New.
6908         * 27_io/basic_stringbuf/seekpos/char/1.cc: New.
6909         * 27_io/basic_stringbuf/seekpos/char/2.cc: New.
6910         * 27_io/basic_stringbuf/setbuf/char/1.cc: New.
6911         * 27_io/basic_stringbuf/setbuf/char/2.cc: New.
6912         * 27_io/basic_stringbuf/setbuf/char/3.cc: New.
6913         * 27_io/basic_stringbuf/sgetc/char/1.cc: New.
6914         * 27_io/basic_stringbuf/sgetn/char/1.cc: New.
6915         * 27_io/basic_stringbuf/snextc/char/1.cc: New.
6916         * 27_io/basic_stringbuf/sputbackc/char/1.cc: New.
6917         * 27_io/basic_stringbuf/sputbackc/char/9425.cc: New.
6918         * 27_io/basic_stringbuf/sputc/char/1.cc: New.
6919         * 27_io/basic_stringbuf/sputc/char/1057.cc: New.
6920         * 27_io/basic_stringbuf/sputc/char/9404-1.cc: New.
6921         * 27_io/basic_stringbuf/sputn/char/1.cc: New.
6922         * 27_io/basic_stringbuf/sputn/char/1057.cc: New.
6923         * 27_io/basic_stringbuf/sputn/char/9404-2.cc: New.
6924         * 27_io/basic_stringbuf/str/char/1.cc: New.
6925         * 27_io/basic_stringbuf/str/char/2.cc: New.
6926         * 27_io/basic_stringbuf/str/char/3.cc: New.
6927         * 27_io/basic_stringbuf/str/char/3955.cc: New.
6928         * 27_io/basic_stringbuf/sungetc/char/1.cc: New.
6929         * 27_io/basic_stringbuf/sync/char/1057.cc: New.
6930         * 27_io/basic_stringstream/1.cc: New.
6931         * 27_io/basic_stringstream/2.cc: New.
6932         * 27_io/basic_stringstream/3.cc: New.
6933         * 27_io/basic_stringstream/4.cc: New.
6934         * 27_io/basic_stringstream/rdbuf/char/2832.cc: New.
6935         * 27_io/basic_stringstream/str/char/1.cc: New.
6936         * 27_io/basic_stringstream/str/char/2.cc: New.
6937         * 27_io/basic_stringstream/str/char/3.cc: New.
6938         * 27_io/basic_stringstream/str/char/4.cc: New.
6939         * 27_io/fpos/1.cc: New.
6940         * 27_io/fpos/2.cc: New.
6941         * 27_io/fpos/3.cc: New.
6942         * 27_io/ios_base/callbacks/1.cc: New.
6943         * 27_io/ios_base/state/1.cc: New.
6944         * 27_io/ios_base/storage/1.cc: New.
6945         * 27_io/ios_base/storage/2.cc: New.
6946         * 27_io/ios_base/storage/3.cc: New.
6947         * 27_io/ios_base/sync_with_stdio/1.cc: New.
6948         * 27_io/ios_base/sync_with_stdio/2.cc: New.
6949         * 27_io/manipulators/adjustfield/char/1.cc: New.
6950         * 27_io/manipulators/adjustfield/char/2.cc: New.
6951         * 27_io/manipulators/basefield/char/1.cc: New.
6952         * 27_io/manipulators/standard/char/1.cc: New.
6953         * 27_io/manipulators/standard/char/2.cc: New.
6954         * 27_io/objects/char/1.cc: New.
6955         * 27_io/objects/char/2.cc: New.
6956         * 27_io/objects/char/2523-1_xin.cc: New.
6957         * 27_io/objects/char/2523-1_xin.in: New.
6958         * 27_io/objects/char/2523-2_xin.cc: New.
6959         * 27_io/objects/char/2523-2_xin.in: New.
6960         * 27_io/objects/char/3045.cc: New.
6961         * 27_io/objects/char/3647.cc: New.
6962         * 27_io/objects/char/3_xin.cc: New.
6963         * 27_io/objects/char/3_xin.in: New.
6964         * 27_io/objects/char/4_xin.cc: New.
6965         * 27_io/objects/char/4_xin.in: New.
6966         * 27_io/objects/char/5268.cc: New.
6967         * 27_io/objects/char/5280_xin.cc: New.
6968         * 27_io/objects/char/5280_xin.in: New.
6969         * 27_io/objects/char/6548_xin.cc: New.
6970         * 27_io/objects/char/6548_xin.in: New.
6971         * 27_io/objects/char/6648-1_xin.cc: New.
6972         * 27_io/objects/char/6648-1_xin.in: New.
6973         * 27_io/objects/char/6648-2_xin.cc: New.
6974         * 27_io/objects/char/6648-2_xin.in: New.
6975         * 27_io/objects/char/7744_xin.cc: New.
6976         * 27_io/objects/char/7744_xin.in: New.
6977         * 27_io/objects/wchar_t/1.cc: New.
6978         * 27_io/types/1.cc: New.
6979         * 27_io/types/2.cc: New.
6980         * data/filebuf_members-1.tst: New.
6981         * data/filebuf_members-1.txt: New.
6982         * data/filebuf_virtuals-1.tst: New.
6983         * data/filebuf_virtuals-1.txt: New.
6984         * data/filebuf_virtuals-2.tst: New.
6985         * data/filebuf_virtuals-3.tst: New.
6986         * data/ifstream_members-1.tst: New.
6987         * data/ifstream_members-1.txt: New.
6988         * data/ios_base_members_static-1.tst: New.
6989         * data/istream_extractor_other-1.tst: New.
6990         * data/istream_extractor_other-1.txt: New.
6991         * data/istream_extractor_other-2.tst: New.
6992         * data/istream_seeks-1.tst: New.
6993         * data/istream_seeks-1.txt: New.
6994         * data/istream_seeks-2.tst: New.
6995         * data/istream_seeks-3.tst: New.
6996         * data/istream_unformatted-1.tst: New.
6997         * data/istream_unformatted-1.txt: New.
6998         * data/ofstream_members-1.tst: New.
6999         * data/ostream_inserter_char-1.tst: New.
7000         * data/ostream_inserter_char-1.txt: New.
7001         * data/ostream_inserter_other-1.tst: New.
7002         * data/ostream_inserter_other-2.tst: New.
7003         * data/ostream_seeks-1.tst: New.
7004
7005 2003-04-09  Benjamin Kosnik  <bkoz@redhat.com>
7006
7007         * include/bits/sstream.tcc (basic_stringbuf::seekpos): Remove
7008         requirement that __mode must be strict input or output.
7009
7010         * include/std/std_streambuf.h (basic_streambuf::setp): Set
7011         _M_out_lim.
7012
7013         * include/std/std_sstream.h (basic_strinbuf::str): Zero length
7014         output string shouldn't core.
7015         (basic_stringbuf::_M_really_sync): Add base argument. Remove rturn
7016         type.
7017         * include/bits/sstream.tcc: Adjust _M_really_sync bits here.
7018
7019         * include/bits/istream.tcc (basic_istream::putback): Set gcount to
7020         zero.
7021
7022 2003-04-09  Benjamin Kosnik  <bkoz@redhat.com>
7023
7024         * testsuite/data: New directory.
7025         * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Modify
7026         to copy files from the testsuite data directory.
7027         (libstdc++-v3-list-sourcefiles): Add another test list filter, for
7028         testfiles containing _xin, which now means this is an interactive
7029         test and should be run with the interactive dejagnu hooks.
7030         * testsuite/Makefile.am: Remove testsuite_* files.
7031         * testsuite/Makefile.in: Regenerate.
7032
7033 2003-04-09  Zack Weinberg  <zack@codesourcery.com>
7034
7035         * docs/html/install.html: Document complete list of locales
7036         required by test suite.  Document procedure for installing
7037         said locales under Debian.  Solicit instructions for other
7038         operating systems.
7039
7040 2003-04-08  Alexandre Oliva  <aoliva@redhat.com>
7041
7042         * include/bits/sstream.tcc (overflow): Make sure operands of min
7043         and max have the same type.
7044
7045 2003-04-04  Jerry Quinn  <jlquinn@optonline.net>
7046
7047         PR libstdc++/10276
7048         * src/ios.cc (ios_base::_M_init): Remove _M_callbacks
7049         initialization.
7050
7051 2003-03-31  Paolo Carlini  <pcarlini@unitus.it>
7052
7053         * include/std/std_streambuf.h (_M_out_buf_size()): Remove.
7054         * include/bits/fstream.tcc (_M_allocate_internal_buffer):
7055         Don't set _M_out_end.
7056         (basic_filebuf::overflow): Replace _M_out_buf_size() with
7057         this->_M_out_cur && this->_M_out_cur < this->_M_out_end.
7058         * include/bits/sstream.tcc (basic_stringbuf::overflow):
7059         Replace _M_out_buf_size() with this->_M_out_cur < this->_M_out_end;
7060         * include/bits/streambuf.tcc (basic_streambuf::sputc):
7061         Replace _M_out_buf_size() with _M_out_cur && _M_out_cur < _M_out_end.
7062         (basic_streambuf::xsputn): Replace _M_out_buf_size() with
7063         _M_out_end - _M_out_cur.
7064         (__copy_streambufs): Likewise.
7065         * include/std/std_fstream.h (_M_set_determinate): Set
7066         _M_out_end here.
7067
7068 2003-03-30  Paolo Carlini  <pcarlini@unitus.it>
7069
7070         * include/bits/fstream.tcc (basic_filebuf::showmanyc,
7071         _M_convert_to_external, _M_really_overflow, seekoff): Fix
7072         test for synced buffer.
7073         * include/std/std_fstream.h (sync): Likewise.
7074         * src/fstream.cc (basic_filebuf<char>::_M_underflow_common,
7075         basic_filebuf<wchar_t>::_M_underflow_common): Likewise.
7076
7077 2003-03-28  Benjamin Kosnik  <bkoz@redhat.com>
7078
7079         * include/std/std_sstream.h (basic_istringstream): Adjust
7080         initialization.
7081         (basic_ostringstream): Same.
7082         (basic_stringstream): Same.
7083         * include/std/std_fstream.h (basic_ifstream): Adjust initialization.
7084         (basic_ofstream): Same.
7085         (basic_fstream): Same.
7086         * include/std/std_ostream.h (basic_ostrem): Add protected ctor
7087         that does not call init.
7088         * include/std/std_istream.h (basic_istream): Same.
7089         (basic_iostream): Construct istream, ostream uninitialized, use
7090         init to initialize just once. Add protected ctor that does not
7091         call init.
7092
7093 2003-03-28  Paolo Carlini  <pcarlini@unitus.it>
7094             Nathan Myers  <ncm@cantrip.org>
7095
7096         PR libstdc++/9533
7097         * include/bits/fstream.tcc (basic_filebuf<>::open): Don't
7098         call underflow().
7099         (basic_filebuf<>::showmanyc): Use the information provided
7100         by codecvt and __basic_file<>::showmanyc_helper to implement
7101         a non-trivial showmanyc.
7102         * config/io/basic_file_stdio.h
7103         (__basic_file<>::showmanyc_helper): New, declare.
7104         * config/io/basic_file_stdio.cc
7105         (__basic_file<>::showmanyc_helper): Define.
7106         (__basic_file<>::_M_open_mode): Don't set O_NONBLOCK.
7107         (__basic_file<char>::open): Don't call fcntl().
7108         * acinclude.m4 (GLIBCPP_CHECK_S_ISREG_OR_S_IFREG,
7109         GLIBCPP_CHECK_POLL): New macros.
7110         * configure.in: Call here.
7111         * acconfig.h: Add #undefs for the corresponding symbols.
7112         * aclocal.m4: Regenerate.
7113         * configure: Regenerate.
7114         * config.h.in: Regenerate.
7115
7116 2003-03-24  Benjamin Kosnik  <bkoz@redhat.com>
7117
7118         * config/linker-map.gnu: Remove string export restrictions.
7119
7120 2003-03-24  Paolo Carlini  <pcarlini@unitus.it>
7121
7122         * testsuite/21_strings/basic_string/find/char/1.cc: Remove
7123         find_first_of, find_last_of and find_last_not_of tests.
7124         * testsuite/21_strings/basic_string/find/char/2.cc: find_first_of
7125         tests here, new file.
7126         * testsuite/21_strings/basic_string/find/wchar_t/1.cc: Likewise,
7127         remove wchar_t find_first_of, find_last_of and find_last_not_of tests.
7128         * testsuite/21_strings/basic_string/find/wchar_t/2.cc: Likewise,
7129         wchar_t find_first_of tests here, new file.
7130         * testsuite/21_strings/basic_string/rfind/char/2.cc: find_last_of
7131         tests here.
7132         * testsuite/21_strings/basic_string/rfind/char/3.cc: find_last_not_of
7133         tests here.
7134         * testsuite/21_strings/basic_string/rfind/wchar_t/2.cc: likewise,
7135         wchar_t find_last_of tests here.
7136         * testsuite/21_strings/basic_string/rfind/wchar_t/3.cc: likewise,
7137         wchar_t find_last_not_of tests here.
7138
7139 2003-03-22  Loren J. Rittle  <ljrittle@acm.org>
7140
7141         * config/os/hpux/ctype_noninline.h (ctype<char>::classic_table):
7142         Correct return value.
7143
7144 2003-03-21  Jerry Quinn  <jlquinn@optonline.net>
7145
7146         PR libstdc++/5730
7147         * include/bits/c++config (_GLIBCPP_FAST_MATH): Define.
7148         * include/std/std_complex.h (norm):  Use faster,
7149         less accurate computation for builtin float types under --fast-math.
7150
7151 2003-03-21  Magnus Fromreide  <gnats@magfr.user.lysator.liu.se>
7152
7153         * testsuite/testsuite_hooks.h: Fix warning nits.
7154
7155 2003-03-19  Alexandre Oliva  <aoliva@redhat.com>
7156
7157         * config/cpu/mips/atomicity.h (__exchange_and_add, __atomic_add):
7158         Only .set mips2 for the o32 ABI.
7159
7160 2003-03-19  Paolo Carlini  <pcarlini@unitus.it>
7161
7162         * testsuite/21_strings/char_traits/requirements/char/1.cc:
7163         Test char not wchar_t.
7164
7165 2003-03-18  Paolo Carlini  <pcarlini@unitus.it>
7166
7167         * testsuite/21_strings/basic_string/append/wchar_t/1.cc:
7168         Correct size, taking into account sizeof(wchar_t).
7169
7170 2003-03-18  Paolo Carlini  <pcarlini@unitus.it>
7171
7172         Reshuffle 21_strings testsuite.
7173         * testsuite/21_strings/append.cc, c_strings.cc, invariants.cc,
7174         assign.cc, ctor_copy_dtor.cc, nonmember.cc, capacity.cc,
7175         element_access.cc, operations.cc, char_traits_requirements.cc,
7176         find.cc, replace.cc, char_traits_typedefs.cc, insert.cc, rfind.cc,
7177         compare.cc, inserters_extractors.cc, substr.cc: Split up, add
7178         wchar_t tests as follows.
7179         * 21_strings/basic_string/append/char/1.cc: New.
7180         * 21_strings/basic_string/append/wchar_t/1.cc: New.
7181         * 21_strings/basic_string/assign/char/1.cc: New.
7182         * 21_strings/basic_string/assign/char/2.cc: New.
7183         * 21_strings/basic_string/assign/char/3.cc: New.
7184         * 21_strings/basic_string/assign/wchar_t/1.cc: New.
7185         * 21_strings/basic_string/assign/wchar_t/2.cc: New.
7186         * 21_strings/basic_string/assign/wchar_t/3.cc: New.
7187         * 21_strings/basic_string/capacity/1.cc: New.
7188         * 21_strings/basic_string/capacity/char/1.cc: New.
7189         * 21_strings/basic_string/capacity/char/2.cc: New.
7190         * 21_strings/basic_string/capacity/wchar_t/1.cc: New.
7191         * 21_strings/basic_string/capacity/wchar_t/2.cc: New.
7192         * 21_strings/basic_string/compare/char/1.cc: New.
7193         * 21_strings/basic_string/compare/wchar_t/1.cc: New.
7194         * 21_strings/basic_string/cons/char/1.cc: New.
7195         * 21_strings/basic_string/cons/char/2.cc: New.
7196         * 21_strings/basic_string/cons/char/3.cc: New.
7197         * 21_strings/basic_string/cons/char/4.cc: New.
7198         * 21_strings/basic_string/cons/char/5.cc: New.
7199         * 21_strings/basic_string/cons/wchar_t/1.cc: New.
7200         * 21_strings/basic_string/cons/wchar_t/2.cc: New.
7201         * 21_strings/basic_string/cons/wchar_t/3.cc: New.
7202         * 21_strings/basic_string/cons/wchar_t/4.cc: New.
7203         * 21_strings/basic_string/cons/wchar_t/5.cc: New.
7204         * 21_strings/basic_string/element_access/char/1.cc: New.
7205         * 21_strings/basic_string/element_access/char/2.cc: New.
7206         * 21_strings/basic_string/element_access/char/3.cc: New.
7207         * 21_strings/basic_string/element_access/wchar_t/1.cc: New.
7208         * 21_strings/basic_string/element_access/wchar_t/2.cc: New.
7209         * 21_strings/basic_string/element_access/wchar_t/3.cc: New.
7210         * 21_strings/basic_string/find/char/1.cc: New.
7211         * 21_strings/basic_string/find/wchar_t/1.cc: New.
7212         * 21_strings/basic_string/insert/char/1.cc: New.
7213         * 21_strings/basic_string/insert/char/2.cc: New.
7214         * 21_strings/basic_string/insert/wchar_t/1.cc: New.
7215         * 21_strings/basic_string/insert/wchar_t/2.cc: New.
7216         * 21_strings/basic_string/inserters_extractors/char/1.cc: New.
7217         * 21_strings/basic_string/inserters_extractors/char/4.cc: New.
7218         * 21_strings/basic_string/inserters_extractors/char/5.cc: New.
7219         * 21_strings/basic_string/inserters_extractors/char/6.cc: New.
7220         * 21_strings/basic_string/inserters_extractors/char/7.cc: New.
7221         * 21_strings/basic_string/inserters_extractors/char/8.cc: New.
7222         * 21_strings/basic_string/inserters_extractors/char/9.cc: New.
7223         * 21_strings/basic_string/inserters_extractors/wchar_t/1.cc: New.
7224         * 21_strings/basic_string/inserters_extractors/wchar_t/4.cc: New.
7225         * 21_strings/basic_string/inserters_extractors/wchar_t/5.cc: New.
7226         * 21_strings/basic_string/inserters_extractors/wchar_t/6.cc: New.
7227         * 21_strings/basic_string/inserters_extractors/wchar_t/7.cc: New.
7228         * 21_strings/basic_string/inserters_extractors/wchar_t/8.cc: New.
7229         * 21_strings/basic_string/inserters_extractors/wchar_t/9.cc: New.
7230         * 21_strings/basic_string/operators/char/1.cc: New.
7231         * 21_strings/basic_string/operators/char/2.cc: New.
7232         * 21_strings/basic_string/operators/wchar_t/1.cc: New.
7233         * 21_strings/basic_string/operators/wchar_t/2.cc: New.
7234         * 21_strings/basic_string/replace/char/1.cc: New.
7235         * 21_strings/basic_string/replace/char/2.cc: New.
7236         * 21_strings/basic_string/replace/char/3.cc: New.
7237         * 21_strings/basic_string/replace/char/4.cc: New.
7238         * 21_strings/basic_string/replace/char/5.cc: New.
7239         * 21_strings/basic_string/replace/wchar_t/1.cc: New.
7240         * 21_strings/basic_string/replace/wchar_t/2.cc: New.
7241         * 21_strings/basic_string/replace/wchar_t/3.cc: New.
7242         * 21_strings/basic_string/replace/wchar_t/4.cc: New.
7243         * 21_strings/basic_string/replace/wchar_t/5.cc: New.
7244         * 21_strings/basic_string/rfind/char/1.cc: New.
7245         * 21_strings/basic_string/rfind/char/2.cc: New.
7246         * 21_strings/basic_string/rfind/char/3.cc: New.
7247         * 21_strings/basic_string/rfind/wchar_t/1.cc: New.
7248         * 21_strings/basic_string/rfind/wchar_t/2.cc: New.
7249         * 21_strings/basic_string/rfind/wchar_t/3.cc: New.
7250         * 21_strings/basic_string/substr/char/1.cc: New.
7251         * 21_strings/basic_string/substr/wchar_t/1.cc: New.
7252         * 21_strings/c_strings/char/1.cc: New.
7253         * 21_strings/c_strings/char/2.cc: New.
7254         * 21_strings/c_strings/wchar_t/1.cc: New.
7255         * 21_strings/c_strings/wchar_t/2.cc: New.
7256         * 21_strings/char_traits/requirements/char/1.cc: New.
7257         * 21_strings/char_traits/requirements/wchar_t/1.cc: New.
7258         * 21_strings/char_traits/typedefs/char/1.cc: New.
7259
7260 2003-03-17  Paolo Carlini  <pcarlini@unitus.it>
7261             Petur Runolfsson  <peturr02@ru.is>
7262
7263         PR libstdc++/10097
7264         * src/fstream.cc (basic_filebuf<char>::_M_underflow_common,
7265         basic_filebuf<wchar_t>::_M_underflow_common):
7266         if (gptr() < egptr()) return *gptr().
7267         * testsuite/27_io/filebuf_virtuals.cc (test16): Add.
7268
7269         * testsuite/27_io/filebuf_members.cc (test_04): Minor
7270         changes: unlink fifo before making it, fix spelling error.
7271
7272 2003-03-17  Benjamin Kosnik  <bkoz@redhat.com>
7273
7274         * testsuite/Makefile.am (CLEANFILES): Add tmp*.
7275         * testsuite/Makefile.in: Regenerate.
7276         * testsuite/27_io/filebuf_members.cc: Consistently name tmp files.
7277         Cleanups.
7278
7279 2003-03-17  Petur Runolfsson  <peturr02@ru.is>
7280
7281         PR libstdc++/9964
7282         * include/bits/fstream.tcc (basic_filebuf::close):
7283         Always close file, even when write fails.
7284         * testsuite/27_io/filebuf_members.cc (test_07):  New test.
7285
7286 2003-03-17  Danny Smith  <dannysmith@users.sourceforge.net>
7287
7288         * libsupc++/Makefile.am (C_COMPILE): Remove.
7289         (LTCOMPILE): Likewise.
7290         * libsupc++/Makefile.in: Regenerate.
7291
7292 2003-03-14  Benjamin Kosnik  <bkoz@redhat.com>
7293
7294         * testsuite/23_containers/bitset_members.cc: Add test variable.
7295         * testsuite/23_containers/map_insert.cc: Same.
7296         * testsuite/22_locale/ctype/cons/char/1.cc: Same.
7297         * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc: Same.
7298         * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Same.
7299         * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Same.
7300         * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Same.
7301         * testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc: Same.
7302         * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Same.
7303         * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Same.
7304         * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Same.
7305         * testsuite/27_io/istream_exception.cc: Same.
7306         * testsuite/27_io/filebuf_virtuals.cc: Same.
7307         * testsuite/27_io/stringbuf_virtuals.cc: Same.
7308         * testsuite/27_io/ostream_inserter_arith.cc: Same.
7309         * testsuite/26_numerics/valarray_operators.cc: Same.
7310         * testsuite/26_numerics/slice.cc: Same.
7311         * testsuite/26_numerics/slice_array_assignment.cc: Same.
7312         * testsuite/24_iterators/istream_iterator.cc: Same.
7313         * mkcheck.in (TESTS_FILE): Use dejagnu-generated file if possible.
7314
7315 2003-03-14  Petur Runolfsson  <peturr02@ru.is>
7316
7317         PR libstdc++/9581
7318         PR libstdc++/9870
7319         * config/locale/generic/ctype_members.cc,
7320         * config/locale/gnu/ctype_members.cc
7321         (ctype<wchar_t>::do_widen(char)):  Cast argument to
7322         unsigned char before passing to btowc.
7323         (ctype<wchar_t>::do_widen(const char*, const char*, wchar_t*)):
7324         Convert characters with btowc instead of mbsrtowcs.
7325         (ctype<wchar_t>::do_narrow(const wchar_t*, const wchar_t*,
7326         char, char*):
7327         Convert characters with wctob instead of wcsrtombs.
7328         * testsuite/22_locale/ctype/narrow/wchar_t/3.cc:  New test.
7329         * testsuite/22_locale/ctype/widen/wchar_t/2.cc:  New test.
7330         * testsuite/22_locale/ctype/widen/wchar_t/3.cc:  New test.
7331
7332 2003-03-14  Benjamin Kosnik  <bkoz@redhat.com>
7333
7334         * include/stdc++.h: New.
7335         * libsupc++/exception_defines.h (__EXCEPTION_DEFINES_H): Add guard.
7336         * include/Makefile.am (stamp-std-precompile): Generate stdc++.h.gch
7337         * include/Makefile.in: Regenerate.
7338         * testsuite_flags.in (--build-cxx): Add, but don't use PCHFLAGS.
7339         (--cxxflags): Put -g -O2 here.
7340         * testsuite/libstdc++-v3.dg/dg.exp: Remove -g -O2 here.
7341
7342 2003-03-14  Loren J. Rittle  <ljrittle@acm.org>
7343
7344         * testsuite/testsuite_hooks.h: Suppress runtime exception thrown by
7345         missing named locale.
7346
7347 2003-03-14  Andreas Schwab  <schwab@suse.de>
7348
7349         * configure.in: Only append to makefiles that are newly created to
7350         avoid multiple multi-do/multi-clean rules.
7351         * configure: Rebuilt.
7352
7353 2003-03-13  Jonathan Wakely  <redi@gcc.gnu.org>
7354
7355         * docs/html/configopts.html, docs/html/documentation.html,
7356         docs/html/explanations.html, docs/html/install.html,
7357         docs/html/19_diagnostics/howto.html, docs/html/faq/index.html: Fix
7358         invalid XHTML and make page header style consistent.
7359
7360 2003-03-12  Jonathan Wakely  <redi@gcc.gnu.org>
7361
7362         * docs/html/faq/index.html: Explain memory "leaks" due to allocators.
7363         * docs/html/faq/index.txt: Regenerate.
7364         * docs/html/debug.html: Add a bit to allocator text and fix XHTML.
7365
7366 2003-03-12  Andreas Schwab  <schwab@suse.de>
7367
7368         * acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Avoid trailing /. in
7369         glibcpp_toolexeclibdir.
7370         * aclocal.m4, configure: Rebuilt.
7371
7372 2003-03-11  Jonathan Wakely  <redi@gcc.gnu.org>
7373
7374         * docs/html/faq/index.html: Update text about location of headers.
7375         * docs/html/faq/index.txt: Regenerate.
7376
7377 2003-03-11  Carlo Wood  <carlo@alinoe.com>
7378
7379         * include/bits/demangle.h: Prepend accessors of
7380         class qualifier with 'get_' in order to fix warnings
7381         when compiling with -Wshadow.
7382
7383 2003-03-11  Loren J. Rittle  <ljrittle@acm.org>
7384
7385         * config/os/bsd/freebsd/ctype_inline.h:  Support _M_table
7386         when so installed.
7387         * testsuite/22_locale/ctype/cons/char/1.cc: Fix typo.
7388
7389         * testsuite/testsuite_hooks.h (run_tests_wrapped_env): Do not
7390         report lack of setenv().
7391
7392 2003-03-09  Paolo Carlini  <pcarlini@unitus.it>
7393
7394         * config/io/basic_file_stdio.cc: include <unistd.h>.
7395
7396 2003-03-09  Paolo Carlini  <pcarlini@unitus.it>
7397             Nathan Myers  <ncm@cantrip.org>
7398
7399         PR libstdc++/7744
7400         * config/io/basic_file_stdio.h (__basic_file<>::xsgetn, xsputn,
7401         seekoff, seekpos): Add a boolean parameter __stdio.
7402         * config/io/basic_file_stdio.cc (__basic_file<>::xsgetn, xsputn,
7403         seekoff, seekpos): If __stdio == true, use fread (fwrite, fseek/ftell,
7404         fseek/ftell, respectively), otherwise read (write, lseek, lseek,
7405         respectively).
7406         * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external,
7407         _M_really_overflow, seekoff): Use the boolean parameter in the calls.
7408         * include/std/std_fstream.h (sync): Likewise.
7409         * src/fstream.cc (basic_filebuf<>::_M_underflow_common): Likewise.
7410         * src/ios.cc (ios_base::Init::_S_ios_create(bool)): Revert
7411         libstdc++/8399 commit involving isatty(0).
7412         * acinclude.m4 (GLIBCPP_CHECK_UNISTD_DECL_AND_LINKAGE_1): Remove.
7413         (GLIBCPP_CHECK_UNISTD_SUPPORT): Remove
7414         * configure.in: Remove call.
7415         * aclocal.m4: Regenerate.
7416         * config.h.in: Regenerate.
7417         * configure: Regenerate.
7418         * testsuite/27_io/narrow_stream_objects.cc (test11): Add.
7419
7420 2003-03-09  Paolo Carlini  <pcarlini@unitus.it>
7421
7422         PR libstdc++/9988
7423         * include/bits/fstream.tcc (overflow): don't write EOF to file.
7424         * testsuite/27_io/filebuf_virtuals.cc (test15): Add.
7425
7426 2003-03-08  Jerry Quinn  <jlquinn@optonline.net>
7427
7428         PR libstdc++/9561
7429         * include/bits/basic_ios.h (_M_setstate): New.
7430         * include/bits/ostream.tcc (operator<<): Use it.
7431         * include/bits/istream.tcc (operator>>): Use it.
7432         * include/std/std_ostream.h (operator<<): Make friends.
7433         * include/std/std_istream.h (operator>>): Make friends.
7434         * testsuite/27_io/ostream_exception.cc,
7435         testsuite/27_io/istream_exception.cc: New tests.
7436
7437 2003-03-08  Benjamin Kosnik  <bkoz@redhat.com>
7438
7439         * include/bits/locale_facets.tcc: Fix typo.
7440
7441 2003-03-08  Loren J. Rittle  <ljrittle@acm.org>
7442
7443         * testsuite/26_numerics/c99_classification_macros_c.cc: Tweak test.
7444
7445         * config/locale/generic/c_locale.cc
7446         (locale::facet::_S_create_c_locale): Throw runtime exception when
7447         unsupported language is specified.
7448         * testsuite/testsuite_hooks.h
7449         (run_test_wrapped_generic_locale_exception_catcher): New function.
7450         * testsuite/testsuite_hooks.cc (run_tests_wrapped_locale):
7451         Suppress runtime exception thrown by generic implementation.
7452         (run_tests_wrapped_env): Likewise.
7453         (run_test_wrapped_generic_locale_exception_catcher): New function.
7454         * testsuite/22_locale/collate/compare/char/1.cc: New test wrap.
7455         * testsuite/22_locale/collate/compare/char/2.cc: New test wrap.
7456         * testsuite/22_locale/collate/compare/char/3.cc: New test wrap.
7457         * testsuite/22_locale/collate/hash/char/2.cc: New test wrap.
7458         * testsuite/22_locale/collate/transform/char/2.cc: New test wrap.
7459         * testsuite/22_locale/collate/transform/char/3.cc: New test wrap.
7460         * testsuite/22_locale/collate_byname/1.cc: New test wrap.
7461         * testsuite/22_locale/ctype/is/char/2.cc: New test wrap.
7462         * testsuite/22_locale/facet/2.cc: New test wrap.
7463         * testsuite/22_locale/locale/cons/4.cc: New test wrap.
7464         * testsuite/22_locale/locale/cons/5.cc: New test wrap.
7465         * testsuite/22_locale/locale/cons/7.cc: New test wrap.
7466         * testsuite/22_locale/messages/members/char/1.cc: New test wrap.
7467         * testsuite/22_locale/messages/members/char/2.cc: New test wrap.
7468         * testsuite/22_locale/messages/members/char/3.cc: New test wrap.
7469         * testsuite/22_locale/messages_byname/1.cc: New test wrap.
7470         * testsuite/22_locale/money_get/get/char/1.cc: New test wrap.
7471         * testsuite/22_locale/money_get/get/char/2.cc: New test wrap.
7472         * testsuite/22_locale/money_get/get/char/3.cc: New test wrap.
7473         * testsuite/22_locale/money_get/get/char/4.cc: New test wrap.
7474         * testsuite/22_locale/money_put/put/char/1.cc: New test wrap.
7475         * testsuite/22_locale/money_put/put/char/2.cc: New test wrap.
7476         * testsuite/22_locale/money_put/put/char/3.cc: New test wrap.
7477         * testsuite/22_locale/moneypunct/members/char/2.cc: New test wrap.
7478         * testsuite/22_locale/moneypunct_byname/1.cc: New test wrap.
7479         * testsuite/22_locale/num_get/get/char/1.cc: New test wrap.
7480         * testsuite/22_locale/num_get/get/char/2.cc: New test wrap.
7481         * testsuite/22_locale/num_get/get/char/3.cc: New test wrap.
7482         * testsuite/22_locale/num_get/get/char/5.cc: New test wrap.
7483         * testsuite/22_locale/num_get/get/char/6.cc: New test wrap.
7484         * testsuite/22_locale/num_put/put/char/1.cc: New test wrap.
7485         * testsuite/22_locale/num_put/put/char/2.cc: New test wrap.
7486         * testsuite/22_locale/num_put/put/char/3.cc: New test wrap.
7487         * testsuite/22_locale/num_put/put/char/5.cc: New test wrap.
7488         * testsuite/22_locale/numpunct/members/char/1.cc: New test wrap.
7489         * testsuite/22_locale/numpunct/members/char/2.cc: New test wrap.
7490         * testsuite/22_locale/numpunct_byname/1.cc: New test wrap.
7491         * testsuite/22_locale/numpunct_byname/2.cc: New test wrap.
7492         * testsuite/22_locale/time_get/date_order/char/1.cc: New test wrap.
7493         * testsuite/22_locale/time_get/get_date/char/1.cc: New test wrap.
7494         * testsuite/22_locale/time_get/get_date/char/2.cc: New test wrap.
7495         * testsuite/22_locale/time_get/get_monthname/char/1.cc: New test wrap.
7496         * testsuite/22_locale/time_get/get_monthname/char/2.cc: New test wrap.
7497         * testsuite/22_locale/time_get/get_time/char/1.cc: New test wrap.
7498         * testsuite/22_locale/time_get/get_time/char/2.cc: New test wrap.
7499         * testsuite/22_locale/time_get/get_weekday/char/1.cc: New test wrap.
7500         * testsuite/22_locale/time_get/get_weekday/char/2.cc: New test wrap.
7501         * testsuite/22_locale/time_get/get_year/char/1.cc: New test wrap.
7502         * testsuite/22_locale/time_put/put/char/1.cc: New test wrap.
7503         * testsuite/22_locale/time_put/put/char/2.cc: New test wrap.
7504         * testsuite/22_locale/time_put/put/char/3.cc: New test wrap.
7505         * testsuite/22_locale/time_put/put/char/4.cc: New test wrap.
7506         * testsuite/22_locale/time_put/put/char/5.cc: New test wrap.
7507         * testsuite/22_locale/time_put/put/char/6.cc: New test wrap.
7508         * testsuite/22_locale/time_put/put/char/7.cc: New test wrap.
7509         * testsuite/22_locale/time_put/put/char/8.cc: New test wrap.
7510         * testsuite/27_io/filebuf_virtuals.cc: New test wrap.
7511         * testsuite/27_io/ios_members.cc: New test wrap.
7512         * testsuite/27_io/ostream_inserter_arith.cc (test02): Make void.
7513         New test wrap.
7514         * testsuite/27_io/streambuf_members.cc: New test wrap.
7515         * testsuite/27_io/stringbuf_virtuals.cc: New test wrap.
7516
7517 2003-03-08  Paolo Carlini <pcarlini@unitus.it>
7518             Petur Runolfsson  <peturr02@ru.is>
7519
7520         PR libstdc++/9424
7521         * include/bits/streambuf.tcc (__copy_streambufs): Use
7522         sgetn-sputn only when sputn cannot fail, otherwise fall back
7523         to safe snextc-sputc.
7524         * testsuite/27_io/streambuf_members.cc (test11, test12): Add.
7525
7526 2003-03-08  Jerry Quinn  <jlquinn@optonline.net>
7527
7528         * include/bits/locale_facets.tcc (num_put::do_put(bool)): Use
7529         locale cache for truename and falsename.
7530
7531 2003-03-08  Jerry Quinn  <jlquinn@optonline.net>
7532
7533         * src/ios.cc (ios_base::ios_base): Correct order of _M_word and
7534         _M_word_size initialization.
7535
7536 2003-03-07  Paolo Carlini  <pcarlini@unitus.it>
7537
7538         * include/bits/fstream.tcc (_M_convert_to_external):
7539         Set __elen to zero if codecvt::out eventually fails.
7540
7541 2003-03-07  Paolo Carlini  <pcarlini@unitus.it>
7542
7543         PR libstdc++/9182
7544         * include/bits/fstream.tcc (_M_really_overflow): Check
7545         for _M_convert_to_external possible failures.
7546         * include/std/std_fstream.h (sync): Check _M_really_overflow
7547         return value and return -1 in case of failure.
7548         * testsuite/27_io/filebuf_virtuals.cc (test13, test14): Add.
7549
7550 2003-03-07  Paolo Carlini  <pcarlini@unitus.it>
7551
7552         PR libstdc++/9826
7553         * include/bits/istream.tcc (operator>>(_CharT*),
7554         operator>>(basic_string&), ws): Pass a char_type to __ctype.is.
7555         * testsuite/27_io/stringstream.cc (test02): Add.
7556
7557         * include/bits/istream.tcc (operator>>(_CharT*)):
7558         Assign a char_type to *__s.
7559
7560 2003-03-07  Petur Runolfsson  <peturr02@ru.is>
7561
7562         PR libstdc++/9817
7563         * include/bits/locale_facets.tcc
7564         (collate::do_compare, collate::do_transform):
7565         Handle nul characters in input.
7566         * testsuite/22_locale/collate/compare/char/3.cc:  New test.
7567         * testsuite/22_locale/collate/compare/wchar_t/3.cc:  New test.
7568         * testsuite/22_locale/collate/transform/char/3.cc:  New test.
7569         * testsuite/22_locale/collate/transform/wchar_t/3.cc:  New test.
7570
7571 2003-03-07  Jerry Quinn  <jlquinn@optonline.net>
7572
7573         * include/bits/streambuf_iterator.h (_M_put): Set _M_failed if
7574         sputn fails.
7575         * testsuite/27_io/ostream_fail.cc: New test.
7576
7577 2003-03-07  Matthias Klose  <doko@debian.org>
7578
7579         * Makefile.am (AM_MAKEFLAGS): Also pass gxx_include_dir.
7580         FLAGS_TO_PASS: Set to AM_MAKEFLAGS
7581         * Makefile.in: Regenerate.
7582         * libsupc++/Makefile.am: Express glibcppinstalldir in terms
7583         of gxx_include_dir.
7584         AM_MAKEFLAGS: Pass gxx_include_dir.
7585         * libsupc++/Makefile.in: Regenerate.
7586
7587 2003-03-06  Jerry Quinn  <jlquinn@optonline.net>
7588
7589         * testsuite/27_io/ios_base_storage.cc (test02): Set exception
7590         mask.  Test setting small-numbered pword and iword slots.  Test
7591         behavior at limit of numeric_limits::max.  Check that values are
7592         still good after failures.
7593
7594 2003-03-06  Jerry Quinn  <jlquinn@optonline.net>
7595
7596         * src/ios.cc (ios_base::_M_init): Remove _M_word_size.
7597         (ios_base::ios_base): Set _M_word, _M_word_size.
7598         (ios_base::~ios_base): Remove redundant test.
7599         * testsuite/27_io/ios_base_storage.cc (test03): New.
7600
7601 2003-03-04  Alexandre Oliva  <aoliva@redhat.com>
7602
7603         * src/strstream.cc, include/bits/basic_string.tcc: Remove
7604         incorrect whitespace added in my previous change.
7605
7606 2003-03-05  Carlo Wood  <carlo@alinoe.com>
7607
7608         * include/bits/ios_base.h(ios_base::Init::_S_initialized()): Added
7609         _S_initialized() in order to allow debugging libraries to detect
7610         when the std streams are initialized from an overloaded operator
7611         new.
7612
7613 2003-03-05  Benjamin Kosnik  <bkoz@redhat.com>
7614
7615         * libsupc++/demangle.h: Move to..
7616         * include/bits/demangle.h: ...here.
7617         * src/demangle.cc: Adjust include.
7618         * include/Makefile.am (bits_headers): Add.
7619         * include/Makefile.in: Regenerate.
7620
7621 2003-03-04  Benjamin Kosnik  <bkoz@redhat.com>
7622
7623         * src/globals.cc: Clarify comments, remove c_locale_imp_compat.
7624
7625         * config/linker-map.gnu: Filter typeinfo and vtable info.
7626
7627 2003-03-04  Jerry Quinn  <jlquinn@optonline.net>
7628
7629         * src/ios.cc (ios_base::_M_grow_words): Don't delete _M_word on
7630         new failure.  Throw exception if badbit and exception mask when ix
7631         >= numeric_limits<int>::max().
7632
7633 2003-03-04  Alexandre Oliva  <aoliva@redhat.com>
7634
7635         * src/strstream.cc (strstreambuf::overflow): Make sure operands of
7636         min and max have the same type.
7637         * include/bits/basic_string.tcc (append, rfind, compare): Likewise.
7638
7639 2003-03-04  Benjamin Kosnik  <bkoz@redhat.com>
7640
7641         * include/Makefile.am (allstamps): Remove stamp-std-precompile.
7642         * include/Makefile.in: Regenerate.
7643
7644 2003-03-03  Benjamin Kosnik  <bkoz@redhat.com>
7645
7646         * testsuite/abi_check.cc (report_symbol_info): Add version info.
7647
7648         * config/linker-map.gnu: Hide more stuff.
7649         * include/Makefile.am: Cleanups.
7650         * include/Makefile.in: Regenerate.
7651
7652 2003-02-27  Jerry Quinn  <jlquinn@optonline.net>
7653
7654         * config/locale/generic/messages_members.h (messages::messages):
7655         Remove name from unused parameter.
7656
7657 2003-02-27  Benjamin Kosnik  <bkoz@redhat.com>
7658
7659         * src/Makefile.am (sources): Add demangle.cc.
7660         (demangle.o): Add.
7661         (demangle.lo): Add.
7662         * src/Makefile.in: Regenerate.
7663         * libsupc++/Makefile.am: Remove old __cxa_demangle bits.
7664         * libsupc++/Makefile.in: Regenerate.
7665
7666         * testsuite/testsuite_hooks.h
7667         (__gnu_cxx_test::verify_demangle): New.
7668         * testsuite/testsuite_hooks.cc: Define.
7669
7670 2003-02-27  Carlo Wood  <carlo@alinoe.com>
7671
7672         * src/demangle.cc: New.
7673         * libsupc++/demangle.h: New.
7674
7675 2003-02-27  Benjamin Kosnik  <bkoz@redhat.com>
7676             Carlo Wood  <carlo@alinoe.com>
7677
7678         * testsuite/demangle/abi_examples/01.cc: New.
7679         * testsuite/demangle/abi_examples/02.cc: New.
7680         * testsuite/demangle/abi_examples/03.cc: New.
7681         * testsuite/demangle/abi_examples/04.cc: New.
7682         * testsuite/demangle/abi_examples/05.cc: New.
7683         * testsuite/demangle/abi_examples/06.cc: New.
7684         * testsuite/demangle/abi_examples/07.cc: New.
7685         * testsuite/demangle/abi_examples/08.cc: New.
7686         * testsuite/demangle/abi_examples/09.cc: New.
7687         * testsuite/demangle/abi_examples/10.cc: New.
7688         * testsuite/demangle/abi_examples/11.cc: New.
7689         * testsuite/demangle/abi_examples/12.cc: New.
7690         * testsuite/demangle/abi_examples/13.cc: New.
7691         * testsuite/demangle/abi_examples/14.cc: New.
7692         * testsuite/demangle/abi_examples/15.cc: New.
7693         * testsuite/demangle/abi_examples/16.cc: New.
7694         * testsuite/demangle/abi_examples/17.cc: New.
7695         * testsuite/demangle/abi_examples/18.cc: New.
7696         * testsuite/demangle/abi_examples/19.cc: New.
7697         * testsuite/demangle/abi_examples/20.cc: New.
7698         * testsuite/demangle/abi_examples/21.cc: New.
7699         * testsuite/demangle/abi_examples/22.cc: New.
7700         * testsuite/demangle/abi_examples/23.cc: New.
7701         * testsuite/demangle/abi_examples/24.cc: New.
7702         * testsuite/demangle/abi_examples/25.cc: New.
7703         * testsuite/demangle/abi_examples/26.cc: New.
7704         * testsuite/demangle/abi_text/01.cc: New.
7705         * testsuite/demangle/abi_text/02.cc: New.
7706         * testsuite/demangle/abi_text/03.cc: New.
7707         * testsuite/demangle/abi_text/04.cc: New.
7708         * testsuite/demangle/abi_text/05.cc: New.
7709         * testsuite/demangle/abi_text/06.cc: New.
7710         * testsuite/demangle/abi_text/07.cc: New.
7711         * testsuite/demangle/abi_text/08.cc: New.
7712         * testsuite/demangle/abi_text/09.cc: New.
7713         * testsuite/demangle/abi_text/10.cc: New.
7714         * testsuite/demangle/abi_text/11.cc: New.
7715         * testsuite/demangle/abi_text/12.cc: New.
7716         * testsuite/demangle/abi_text/13.cc: New.
7717         * testsuite/demangle/abi_text/14.cc: New.
7718         * testsuite/demangle/regression/3111-1.cc: New.
7719         * testsuite/demangle/regression/3111-2.cc: New.
7720         * testsuite/demangle/regression/7986-01.cc: New.
7721         * testsuite/demangle/regression/7986-02.cc: New.
7722         * testsuite/demangle/regression/7986-03.cc: New.
7723         * testsuite/demangle/regression/7986-04.cc: New.
7724         * testsuite/demangle/regression/7986-05.cc: New.
7725         * testsuite/demangle/regression/7986-06.cc: New.
7726         * testsuite/demangle/regression/7986-07.cc: New.
7727         * testsuite/demangle/regression/7986-08.cc: New.
7728         * testsuite/demangle/regression/7986-09.cc: New.
7729         * testsuite/demangle/regression/7986-10.cc: New.
7730         * testsuite/demangle/regression/7986-11.cc: New.
7731         * testsuite/demangle/regression/7986-12.cc: New.
7732         * testsuite/demangle/regression/7986.cc: New.
7733         * testsuite/demangle/regression/8897.cc: New.
7734         * testsuite/demangle/regression/cw-01.cc: New.
7735         * testsuite/demangle/regression/cw-02.cc: New.
7736         * testsuite/demangle/regression/cw-03.cc: New.
7737         * testsuite/demangle/regression/cw-04.cc: New.
7738         * testsuite/demangle/regression/cw-05.cc: New.
7739         * testsuite/demangle/regression/cw-06.cc: New.
7740         * testsuite/demangle/regression/cw-07.cc: New.
7741         * testsuite/demangle/regression/cw-08.cc: New.
7742         * testsuite/demangle/regression/cw-09.cc: New.
7743         * testsuite/demangle/regression/cw-10.cc: New.
7744         * testsuite/demangle/regression/cw-11.cc: New.
7745         * testsuite/demangle/regression/cw-12.cc: New.
7746         * testsuite/demangle/regression/cw-13.cc: New.
7747         * testsuite/demangle/regression/cw-14.cc: New.
7748         * testsuite/demangle/regression/old.cc: New.
7749
7750 2003-02-25  Phil Edwards  <pme@gcc.gnu.org>
7751
7752         * docs/doxygen/Intro.3:  Update with new (proper) names.
7753         * docs/doxygen/TODO:  Update.
7754         * docs/doxygen/run_doxygen:  More comments, fix up man pages.
7755         Fake entries for standard typedefs.
7756         * docs/doxygen/user.cfg.in:  Turn INLINE_INHERITED_MEMB back on.
7757         * docs/html/documentation.html:  Top-level man page is now called
7758         C++Intro.
7759         * include/std/std_limits.h:  Doxygenate.
7760
7761 2003-02-25  Scott Snyder  <snyder@fnal.gov>
7762
7763         PR libstdc++/9811
7764         * include/bits/stl_map.h (lower_bound, upper_bound, equal_range):
7765         Correct documentation.
7766         * include/bits/stl_multimap.h (lower_bound, upper_bound,
7767         equal_range): Likewise.
7768
7769 2003-02-24  Paolo Carlini  <pcarlini@unitus.it>
7770
7771         PR libstdc++/9825
7772         * src/fstream.cc
7773         (basic_filebuf<char/wchar_t>::_M_underflow_common): When
7774         __bump is true (uflow), always increment the read pointer
7775         (_M_in_cur) before returning successfully.
7776         * testsuite/27_io/filebuf_virtuals.cc (test12): Add.
7777
7778 2003-02-24  Paolo Carlini <pcarlini@unitus.it>
7779             Nathan Myers <ncm@cantrip.org>
7780
7781         PR libstdc++/9404, PR libstdc++/9701 (partial)
7782         (aka pptr == epptr implies overflow)
7783         * include/bits/fstream.tcc (_M_allocate_internal_buffer):
7784         Consistently, _M_out_end points to the end of the buffer just
7785         created.
7786         (overflow): Tweak to use _M_out_buf_size().
7787         (_M_convert_to_external): The role of the old _M_out_end is
7788         now played by _M_out_lim.
7789         (_M_really_overflow): Likewise.
7790         (seekoff): Likewise.
7791         (setbuf): _M_out_end points to the end of the external buffer.
7792         * include/bits/sstream.tcc (overflow): Rewrote, taking into
7793         account the resolution of DR 169 (TC).
7794         (seekoff): Use _M_string.capacity(); ios_base::end is now _M_out_lim.
7795         (seekpos): Use _M_string.capacity(); tweak.
7796         * include/bits/streambuf.tcc (sputc, xsputn): Remove comments.
7797         * include/std/std_fstream.h (sync): The role of the old
7798         _M_out_end is now played by _M_out_lim.
7799         (_M_set_indeterminate): Use _M_set_determinate.
7800         (_M_set_determinate): _M_out_end is now _M_out_lim.
7801         (_M_is_indeterminate): Likewise.
7802         * include/std/std_sstream.h (str()): _M_out_end is now _M_out_lim.
7803         (_M_stringbuf_init): Don't set _M_buf_size, unused for sstreams,
7804         which have the information readily available as _M_string.capacity();
7805         for ate and app modes, pass the string size to _M_really_sync.
7806         (_M_really_sync): Consistently set _M_out_end and _M_out_lim, to
7807         point to the end of the buffer (i.e., epptr) and to the string end,
7808         respectively.
7809         * include/std/std_streambuf.h: tweak comments, add _M_out_lim,
7810         which points to the right limit of the used put area.
7811         (_M_out_cur_move): The role of the old _M_out_end is now played
7812         by _M_out_lim.
7813         (_M_out_buf_size): Simplify: now (when _M_out_cur) return simply
7814         _M_out_end  - _M_out_cur (i.e., pptr), _very_ close to the letter
7815         of the standard.
7816         (basic_streambuf()): Initialize _M_out_lim too.
7817         * testsuite/27_io/filebuf_virtuals.cc (test10): Trivial tweak.
7818         * testsuite/27_io/filebuf_virtuals.cc (test11): Add.
7819         * testsuite/27_io/stringbuf_virtuals.cc (test09): Add.
7820
7821 2003-02-24  Benjamin Kosnik  <bkoz@redhat.com>
7822
7823         * testsuite/27_io/ios_base_storage.cc (main): Call
7824         set_memory_limits.
7825
7826 2003-02-21  Jerry Quinn  <jlquinn@optonline.net>
7827
7828         * include/bits/locale_facets.tcc (_M_convert_float): Replace
7829         numpunct facet accesses with data from __locale_cache.
7830
7831 2003-02-20  Phil Edwards  <pme@gcc.gnu.org>
7832
7833         * docs/html/faq/index.html (3.9):  New note, wchar_t on FreeBSD.
7834         * docs/html/faq/index.txt:  Regenerate.
7835
7836 2003-02-20  Phil Edwards  <pme@gcc.gnu.org>
7837
7838         * config/linker-map.gnu:  Also export locking symbols needed for the
7839         generic atomicity.h case.
7840
7841 2003-02-20  Alexandre Oliva  <aoliva@redhat.com>
7842
7843         * configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to
7844         config.status.
7845         * configure: Rebuilt.
7846
7847 2003-02-19  Paolo Carlini  <pcarlini@unitus.it>
7848
7849         * include/bits/sstream.tcc (overflow): According to
7850         27.7.1.3, p5, actual output is performed by sputc(c).
7851
7852 2003-02-19  Phil Edwards  <pme@gcc.gnu.org>
7853
7854         PR libstdc++/9582
7855         * include/bits/stl_alloc.h:  Remove all traces of assert().
7856
7857 2003-02-18  Paolo Carlini  <pcarlini@unitus.it>
7858
7859         * include/std/std_sstream.h (str()): the size of the
7860         current string may be different from the initial one
7861         whenever _M_out_end > _M_out_beg.
7862         * testsuite/27_io/stringbuf_members.cc (test07): Add.
7863
7864 2003-02-18  Paolo Carlini  <pcarlini@unitus.it>
7865
7866         PR libstdc++/9582
7867         * include/bits/stl_alloc.h (__pool_alloc::allocate): Remove assert.
7868
7869 2003-02-17  Benjamin Kosnik  <bkoz@redhat.com>
7870
7871         * include/bits/basic_ios.tcc (copyfmt): Copy locale data as well.
7872         * testsuite/27_io/ios_members.cc (test03): New.
7873
7874 2003-02-17  Jerry Quinn  <jlquinn@optonline.net>
7875
7876         * include/bits/basic_ios.h (basic_ios::_M_cache_locale): Declare.
7877         (basic_ios::_M_cache_facets): Move into above.
7878         * include/bits/basic_ios.tcc (basic_ios::copyfmt): Rebuild locale
7879         cache.
7880         (basic_ios::imbue): Force locale cache to be built.
7881         (basic_ios::_M_init): Create and initialize locale cache.
7882         * include/bits/ios_base.h (__locale_cache_base): Declare.
7883         (ios_base::_M_locale_cache): New.
7884         (ios_base::_M_cache): Define.
7885         * include/bits/locale_facets.h: (__num_base): Fix comment.  Add
7886         _S_end.
7887         (__locale_cache_base,__locale_cache<_CharT>):  New classes.
7888         (__locale_cache<char>, __locale_cache<wchar_t>): New specializations.
7889         * include/bits/locale_facets.tcc (num_put::_M_convert_int): Use locale
7890         cache literal string, grouping flag, thousands separator.
7891         (__locale_cache<_CharT>::__locale_cache): New.
7892         (__locale_cache<_CharT>::_M_init): New.
7893         * src/ios.cc: Clear _M_locale_cache in constructor.
7894         * src/locale-inst.cc (__locale_cache<char>, __locale_cache<_char_t>):
7895         New.
7896
7897 2003-02-17  Paolo Carlini  <pcarlini@unitus.it>
7898
7899         * src/locale-inst.cc: Do not include <cassert>.
7900         * src/locale.cc: Likewise.
7901
7902 2003-02-17  Paolo Carlini  <pcarlini@unitus.it>
7903
7904         PR libstdc++/9580
7905         * include/std/std_fstream.h: Declare underflow and uflow
7906         specializations, change generic definitions to do nothing.
7907         * src/fstream.cc: Add underflow and uflow specializations.
7908
7909 2003-02-17  Paolo Carlini  <pcarlini@unitus.it>
7910
7911         PR libstdc++/9169
7912         * include/bits/fstream.tcc (_M_convert_to_external):
7913         Deal correctly with noconv, as prescribed by 27.8.1.4,p8.
7914         * testsuite/27_io/filebuf_virtuals.cc (test10): Add.
7915
7916 2003-02-13  Benjamin Kosnik  <bkoz@redhat.com>
7917
7918         * include/bits/c++config (_GLIBCPP_EXTERN_TEMPLATE): Define.
7919         * include/bits/basic_ios.tcc: Guard use of extern template.
7920         * include/std/std_iomanip.h: Same.
7921         * include/bits/streambuf.tcc: Same.
7922         * include/bits/stl_alloc.h: Same.
7923         * include/bits/locale_facets.tcc: Same.
7924         * include/bits/ostream.tcc: Same.
7925         * include/bits/istream.tcc: Same.
7926         * include/bits/fstream.tcc: Same.
7927         * include/bits/basic_string.tcc: Same.
7928
7929 2003-02-13  Paolo Carlini  <pcarlini@unitus.it>
7930
7931         * include/bits/ostream.tcc (sentry::sentry): Improve
7932         performance-wise the fix for libstdc++/9563.
7933
7934 2003-02-12  Phil Edwards  <pme@gcc.gnu.org>
7935
7936         * config/cpu/generic/atomicity.h (_Atomic_add_mutex):  Fix declaration.
7937         (_GLIBCPP_NEED_GENERIC_MUTEX):  Define for this file.
7938         (_Atomic_add_mutex_once, __gthread_atomic_add_mutex_once):  Declare
7939         when we don't have static mutex initialization.
7940         (__exchange_and_add):  Use _Atomic_add_mutex_once.
7941         * src/misc-inst.cc:  Definitions of all the above.
7942
7943 2003-02-12  Paolo Carlini  <pcarlini@unitus.it>
7944
7945         PR libstdc++/9563
7946         * include/bits/ostream.tcc (sentry::sentry): Check
7947         the state of the stream after the preparation.
7948         * testsuite/27_io/ostream_sentry.cc (test02): Add.
7949
7950 2003-02-11  Benjamin Kosnik  <bkoz@redhat.com>
7951
7952         * include/Makefile.am (stamp-std-precompile): Add rule.
7953         * include/Makefile.in: Regenerated.
7954
7955 2003-02-11 Jerry Quinn  <jlquinn@optonline.net>
7956            Benjamin Kosnik  <benjamin@redhat.com>
7957
7958         * include/bits/locale_facets.h (__num_base): Add _S_atoms_out.
7959         Add indexes into this array.
7960         (__num_base::_S_atoms): To _S_atoms_in.
7961         (num_put::_M_insert): Rename to _M_pad.
7962         (num_put::_M_convert_int): Adjust remove __mod, __modl arguments.
7963         (num_put::_M_widen_int): Rename to _M_group_int.
7964         (num_put::_M_widen_float): Rename to _M_group_float.
7965         * include/bits/locale_facets.tcc (__int_to_char): New inline
7966         function and adapter functions.
7967         (num_put::_M_group_int): Streamline.
7968         (num_put::_M_group_float): Streamline.
7969         (num_put::_M_convert_int): Remove unused parameter names. Choose
7970         large enough buffer for text.  Use __int_to_char instead of
7971         __convert_from_v.  Formatted text is now at the end of the buffer.
7972         (num_put::_M_convert_float): Preliminary fixups.
7973         * src/locale-inst.cc (__convert_from_v<long long>): Add ifdef.
7974         (__int_to_char<unsigned long long>): Same.
7975         (__int_to_char<char, unsigned long>): New.
7976         (__int_to_char<char, unsigned long long>): New.
7977         (__int_to_char<wchar_t, unsigned long>): New.
7978         (__int_to_char<wchar_t, unsigned long long>): New.
7979
7980 2003-02-11  Scott Snyder  <snyder@fnal.gov>
7981
7982         PR libstdc++/9659
7983         * include/bits/fstream.tcc (seekoff): Avoid operator+
7984         for pos_type.
7985
7986 2003-02-11  Paolo Carlini  <pcarlini@unitus.it>
7987
7988         PR libstdc++/9320
7989         * include/ext/stdio_filebuf.h
7990         (stdio_filebuf(int, std::ios_base::openmode, bool, int_type),
7991         stdio_filebuf(std::__c_file*, std::ios_base::openmode, int_type)):
7992         Change to take a __size parameter of type size_t, not
7993         of type (template parameter dependent) int_type.
7994         * src/ios.cc (ios_base::Init::_S_ios_create): Change type of
7995         size vars to size_t.
7996         * testsuite/ext/stdio_filebuf.cc: Add.
7997
7998 2003-02-11  Paolo Carlini  <pcarlini@unitus.it>
7999             Petur Runolfsson  <peturr02@ru.is>
8000
8001         PR libstdc++/9318
8002         * include/bits/streambuf.tcc (__copy_streambufs):
8003         Don't conditionalize the copy to __testput.
8004         * testsuite/27_io/streambuf_members.cc (test09, test10): Add.
8005
8006 2002-02-11  DJ Delorie  <dj@redhat.com>
8007
8008         * acinclude.m4: Check for native targets that can't link at
8009         this point in the build.
8010         * aclocal.m4: Regenerate.
8011         * configure: Regenerate.
8012
8013 2003-02-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
8014
8015         * hppa/atomicity.h (__Atomicity_lock<__inst>::_S_atomicity_lock):
8016         Correct alignment.
8017         (__exchange_and_add, __atomic_add): Use PA 2.0 ordered store to reset
8018         lock.
8019
8020 2003-02-07  Paolo Carlini  <pcarlini@unitus.it>
8021
8022         * testsuite/27_io/filebuf_virtuals.cc (test08): Fix for
8023         unsigned char platforms.
8024
8025 2003-02-06  Paolo Carlini  <pcarlini@unitus.it>
8026
8027         PR libstdc++/9562
8028         * include/std/std_istream.h
8029         (basic_istream::sentry::operator bool()): Make const.
8030         * include/std/std_ostream.h
8031         (basic_ostream::sentry::operator bool()): Likewise.
8032         * testsuite/27_io/istream_sentry.cc (test03): Add.
8033         * testsuite/27_io/ostream_sentry.cc: Add.
8034
8035 2003-02-06  Paolo Carlini  <pcarlini@unitus.it>
8036
8037         PR libstdc++/9548
8038         Implement resolution of DR 231 (Ready)
8039         * include/bits/locale_facets.h (__num_base::_S_format_float):
8040         Change declaration: return void, remove __prec parameter.
8041         * src/locale.cc (__num_base::_S_format_float): Implement
8042         resolution of DR 231.
8043         * include/bits/locale_facets.tcc (num_put::_M_convert_float):
8044         Tweak uses. Check for negative precision.
8045         * testsuite/22_locale/num_put/put/char/6.cc: Add
8046         * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
8047
8048 2003-02-06  Peter Soetens  <peter.soetens@mech.kuleuven.ac.be>
8049
8050         * config/io/basic_file_libio.h: Fixups.
8051         * config/io/c_io_libio.h: Same.
8052         * libio/Makefile.am: Same.
8053         * libio/Makefile.in: Regenerated.
8054
8055 2003-02-06  Benjamin Kosnik  <bkoz@redhat.com>
8056
8057         * testsuite/22_locale/codecvt/encoding/wchar_t/1.cc (test01):
8058         Explicitly use the "C" locale.
8059         * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc (test01): Same.
8060
8061 2003-02-06  Petur Runolfsson  <peturr02@ru.is>
8062
8063         DR 75
8064         DR 305
8065         PR libstdc++/9028 (partial)
8066         PR libstdc++/9224
8067         PR libstdc++/9246
8068         PR libstdc++/9247
8069
8070         * src/codecvt.cc
8071         (codecvt<wchar_t, char, mbstate_t>::do_encoding,
8072         codecvt<wchar_t, char, mbstate_t>::do_length,
8073         codecvt<wchar_t, char, mbstate_t>::do_max_length):
8074         Move...
8075         * config/locale/generic/codecvt_members.cc:  ...here.
8076         * config/locale/gnu/codecvt_members.cc:  ...and here.
8077
8078         * config/locale/generic/codecvt_members.cc,
8079         * config/locale/gnu/codecvt_members.cc
8080         (codecvt<wchar_t, char, mbstate_t>::do_encoding
8081         codecvt<wchar_t, char, mbstate_t>::do_in,
8082         codecvt<wchar_t, char, mbstate_t>::do_length,
8083         codecvt<wchar_t, char, mbstate_t>::do_max_length,
8084         codecvt<wchar_t, char, mbstate_t>::do_out):
8085         New implementation that handles stateless encodings,
8086         including UTF-8.
8087
8088         * config/locale/generic/codecvt_members.cc,
8089         * config/locale/gnu/codecvt_members.cc,
8090         * config/locale/ieee_1003.1-2001/codecvt_specializations.h,
8091         * include/bits/codecvt.h,
8092         * src/codecvt.cc
8093         (codecvt::length, codecvt::do_length):
8094         Change type of first argument of length and do_length from
8095         'const state_type&' to 'state_type&' according to DR 75.
8096
8097         * testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc:  Cleanup.
8098         * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc:  New test.
8099         * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc:  New test.
8100         * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc:  New test.
8101         * testsuite/22_locale/codecvt/encoding/wchar_t/1.cc:
8102         Cleanup and check for correct return value from encoding
8103         for "C" locale.
8104         * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc:  New test.
8105         * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc:  New test.
8106         * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc:  New test.
8107         * testsuite/22_locale/codecvt/in/wchar_t/1.cc:  Cleanup.
8108         * testsuite/22_locale/codecvt/in/wchar_t/2.cc:  New test.
8109         * testsuite/22_locale/codecvt/in/wchar_t/3.cc:  New test.
8110         * testsuite/22_locale/codecvt/in/wchar_t/4.cc:  New test.
8111         * testsuite/22_locale/codecvt/in/wchar_t/5.cc:  New test.
8112         * testsuite/22_locale/codecvt/in/wchar_t/6.cc:  New test.
8113         * testsuite/22_locale/codecvt/in/wchar_t/7.cc:  New test.
8114         * testsuite/22_locale/codecvt/in/wchar_t/8.cc:  New test.
8115         * testsuite/22_locale/codecvt/in/wchar_t/9.cc:  New test.
8116         * testsuite/22_locale/codecvt/length/char/1.cc:  Cleanup.
8117         * testsuite/22_locale/codecvt/length/char/2.cc:  New test.
8118         * testsuite/22_locale/codecvt/length/wchar_t/1.cc:  Cleanup.
8119         * testsuite/22_locale/codecvt/length/wchar_t/2.cc:  New test.
8120         * testsuite/22_locale/codecvt/length/wchar_t/3.cc:  New test.
8121         * testsuite/22_locale/codecvt/length/wchar_t/4.cc:  New test.
8122         * testsuite/22_locale/codecvt/length/wchar_t/5.cc:  New test.
8123         * testsuite/22_locale/codecvt/length/wchar_t/6.cc:  New test.
8124         * testsuite/22_locale/codecvt/length/wchar_t/7.cc:  New test.
8125         * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc:  Cleanup.
8126         * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc:  New test.
8127         * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc:  New test.
8128         * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc:  New test.
8129         * testsuite/22_locale/codecvt/out/wchar_t/1.cc:  Cleanup.
8130         * testsuite/22_locale/codecvt/out/wchar_t/2.cc:  New test.
8131         * testsuite/22_locale/codecvt/out/wchar_t/3.cc:  New test.
8132         * testsuite/22_locale/codecvt/out/wchar_t/4.cc:  New test.
8133         * testsuite/22_locale/codecvt/out/wchar_t/5.cc:  New test.
8134         * testsuite/22_locale/codecvt/out/wchar_t/6.cc:  New test.
8135         * testsuite/22_locale/codecvt/out/wchar_t/7.cc:  New test.
8136         * testsuite/22_locale/codecvt/unicode/1.cc:  New test.
8137         * testsuite/22_locale/codecvt/unshift/wchar_t/1.cc:  Cleanup.
8138         * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc:  New test.
8139         * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc:  New test.
8140         * testsuite/22_locale/codecvt/unshfit/wchar_t/4.cc:  New test.
8141
8142 2003-02-05  Benjamin Kosnik  <bkoz@redhat.com>
8143
8144         * include/bits/locale_facets.tcc (time_put::do_put): Use __write.
8145         (money_put::do_put): Same.
8146
8147 2003-02-05  Jerry Quinn  <jlquinn@optonline.net>
8148
8149         * include/bits/ios_base.h (ios_base): Document reserved storage.
8150
8151         * include/bits/locale_facets.h: (struct __pad): Comment on
8152         implementation.
8153         (__verify_grouping): Same.
8154         (__add_grouping): Same.
8155         * include/bits/locale_facets.tcc (__verify_grouping): Move
8156         comments to declaration.
8157         (__add_grouping): Same.
8158
8159         * include/bits/locale_facets.tcc:
8160         (__write<_CharT, _OutIter>): New function.
8161         (__write<_CharT>): New function specialization.
8162         (num_put::_M_insert): Remove explicit loop over iterator.  Use
8163         __write.
8164         (num_put::_M_widen_float): Remove __basefield.
8165         (num_put::_M_widen_int): Move __basefield to within grouping block.
8166
8167         * include/bits/streambuf_iterator.h: Include <streambuf>.
8168         (ostreambuf_iterator::_M_put): Add.
8169
8170 2003-02-05  Paolo Carlini  <pcarlini@unitus.it>
8171
8172         * testsuite/26_numerics/valarray_name_lookup.cc: Fix typo.
8173
8174 2003-02-04  Nathan Myers  <ncm@cantrip.org>
8175
8176         * testsuite/25_algorithms/min_max.cc (test02): Add.
8177
8178 2003-02-04  Paolo Carlini  <pcarlini@unitus.it>
8179
8180         PR libstdc++/9439, PR libstdc++/9425
8181         * config/io/basic_file_stdio.cc
8182         (__basic_file<char>::seekoff, seekpos): Return -1L if
8183         fseek fails.
8184         * include/bits/fstream.tcc (basic_filebuf::seekoff):
8185         Check _M_file.seekoff return value; always return
8186         pos_type(off_type(-1)) in case of failure.
8187         (basic_filebuf::pbackfail): Check this->seekoff return
8188         value and return traits_type::eof() in case of failure.
8189         * testsuite/27_io/filebuf_virtuals.cc (test09): Add.
8190
8191 2003-02-04  Jerry Quinn  <jlquinn@optonline.net>
8192
8193         * include/std/std_ostream.h (ostream::_M_write): Declare.
8194         * ostream.tcc (ostream::_M_write): Define.
8195         (basic_ostream::write): Use it.
8196         (operator<<(basic_ostream, _CharT)): Ditto.
8197         (operator<<(basic_ostream, char)): Ditto.
8198         (operator<<(basic_ostream, _CharT*)): Ditto.
8199         (operator<<(basic_ostream, char*)): Ditto.
8200         (operator<<(basic_ostream, basic_string)): Ditto.
8201
8202 2003-02-04  Benjamin Kosnik  <bkoz@redhat.com>
8203
8204         * testsuite/26_numerics/valarray_name_lookup.cc: Fix.
8205
8206 2002-02-04  Jonathan Wakely  <redi@gcc.gnu.org>
8207
8208         * docs/html/27_io/howto.html: Link to Dietmar Kuehl's IOStream page,
8209         add HTML comment about updating links if numbering changes.
8210
8211 2003-02-04  Paolo Carlini  <pcarlini@unitus.it>
8212
8213         PR libstdc++/9538
8214         * include/bits/streambuf.tcc (sputbackc): Access
8215         this->gptr()[-1] only if _M_in_beg < _M_in_cur.
8216         * testsuite/27_io/filebuf_virtuals.cc (test08): Add.
8217
8218 2003-02-04  Paolo Carlini  <pcarlini@unitus.it>
8219
8220         PR libstdc++/9507
8221         * include/bits/fstream.tcc (open): If the 'ate' repositioning
8222         operation fails, calls close _and_ returns a null pointer
8223         to indicate failure (27.8.1.3,4).
8224         * testsuite/27_io/filebuf_members.cc (test_06): Add.
8225
8226 2003-02-04  Petur Runolfsson  <peturr02@ru.is>
8227
8228         * testsuite/27_io/filebuf_members.cc (test_04): Remove exit(0).
8229
8230 2002-02-04  Jonathan Wakely  <redi@gcc.gnu.org>
8231
8232         * docs/html/27_io/howto.html: New section on stdio_filebuf.
8233         * docs/html/ext/howto.html: Move stdio_filebuf notes to 27_io.
8234         * docs/html/documentation.html: Regenerate.
8235
8236 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
8237
8238         * docs/html/17_intro/porting.texi: Update to GFDL 1.2.
8239         * docs/html/17_intro/porting.html: Regenerate.
8240
8241 2003-02-03  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
8242             Phil Edwards  <pme@gcc.gnu.org>
8243
8244         * include/std/std_bitset.h:  Replace CHAR_BIT with __CHAR_BIT__, use
8245         numeric_limits for bits-per-word values.
8246         (_Base_bitset::_M_do_count, _Base_bitset<1>::_M_do_count):
8247         Use __builtin_popcountl instead.
8248         (_Base_bitset::_M_do_find_first, _Base_bitset::_M_do_find_next,
8249         _Base_bitset<1>::_M_do_find_first, _Base_bitset<1>::_M_do_find_next):
8250         Use __builtin_ctzl instead.
8251         (_S_bit_count, _S_first_one):  Remove.
8252         * config/linker-map.gnu (GLIBCPP_3.4):  Remove std::_S_bit_count.
8253         * src/Makefile.am (sources):  Remove bitset.cc.
8254         * src/bitset.cc:  Delete file.
8255         * src/Makefile.in:  Regenerate.
8256
8257 2003-02-03  Phil Edwards  <pme@gcc.gnu.org>
8258
8259         PR libstdc++/9527, PR libstdc++/8713
8260         * docs/html/install.html:  Mention glibc version requirement.
8261         * docs/html/faq/index.html (3.8):  New note, glibc 2.2.5+ is needed
8262         with 3.2.1+ (formatting bugfixes).
8263         * docs/html/faq/index.txt:  Regenerate.
8264
8265 2003-02-03  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
8266
8267         PR libstdc++/9234
8268         * include/bits/valarray_before.h (_UnBase::operator[]): Apply unary
8269         operator.
8270
8271         * include/bits/valarray_before.h (__not_equal_to): Use != instead
8272         of ==.
8273
8274         * testsuite/26_numerics/valarray_operators.cc: New test.
8275
8276 2003-02-01  Phil Edwards  <pme@gcc.gnu.org>
8277
8278         * docs/html/faq/index.html:  Correct link to libg++ information.
8279         * docs/html/faq/index.txt:  Regenerated.
8280
8281 2003-02-01  Paolo Carlini  <pcarlini@unitus.it>
8282             Benjamin Kosnik  <bkoz@redhat.com>
8283
8284         Const correctness issue:
8285         http://gcc.gnu.org/ml/libstdc++/2003-01/msg00370.html
8286         * include/bits/locale_classes.h
8287         (locale::_Impl::_M_facets): Change type to const facet**.
8288         (locale::_Impl::_M_install_facet): Change declaration to
8289         take const facet*.
8290         (locale::facet::_M_references): Make mutable.
8291         (locale::facet::_M_add_reference): Declare const.
8292         (locale::facet::_M_remove_reference): Likewise.
8293         * include/bits/locale_facets.tcc
8294         (use_facet(const locale&)): Tweak for const facet** _M_facets.
8295         (has_facet(const locale&)): Likewise.
8296         * src/locale.cc
8297         (locale::facet::_M_add_reference): Adjust definition.
8298         (locale::facet::_M_remove_reference): Likewise.
8299         * src/localename.cc
8300         (locale::_Impl::_Impl(const _Impl&, size_t)): Tweak for
8301         const facet** _M_facets.
8302         (locale::_Impl::_Impl(const char*, size_t)): Likewise.
8303         (locale::_Impl::_Impl(facet**, size_t, bool)): Likewise.
8304         (locale::_Impl::_M_install_facet): Adjust definition to take
8305         const facet* and for const facet** _M_facets.
8306         * testsuite/22_locale/locale/cons/8.cc: Add.
8307
8308 2003-01-29  Mark Mitchell  <mark@codesourcery.com>
8309
8310         * include/std/std_limits.h (numeric_limits<float>::has_infinity):
8311         Use __FLT_HAS_INIFINITY__ to initialize.
8312         (numeric_limits<float>::has_quiet_NaN): Likewise.
8313         (numeric_limits<double>::has_infinity): Use __DBL_HAS_INIFINITY__
8314         to initialize.
8315         (numeric_limits<double>::has_quiet_NaN): Likewise.
8316         (numeric_limits<long double>::has_infinity): Use
8317         __LDBL_HAS_INIFINITY__ to initialize.
8318         (numeric_limits<long_double>::has_quiet_NaN): Likewise.
8319
8320 2003-01-28  Nathan Sidwell  <nathan@codesourcery.com>
8321
8322         PR c++/9433
8323         * libsupc++/tinfo.cc (__vmi_class_type_info::__do_dyncast): Cope
8324         with bases which are very ambiguous.
8325
8326 2003-01-28  Danny Smith  <dannysmith@users.sourceforge.net>
8327
8328         * src/Makefile.am (CONFIG_CXXFLAGS): Reverse order of
8329         @EXTRA_CXX_FLAGS@ @SECTION_FLAGS@.
8330         * libsupc++/Makefile.am (CONFIG_CXXFLAGS): Likewise.
8331         * src/Makefile.in: Regenerate.
8332         * libsupc++/Makefile.in: Regenerate.
8333
8334 2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
8335
8336         * acinclude.m4 (glibcpp_toolexeclibdir): Instead of
8337         $(MULTISUBDIR), use `$CC -print-multi-os-directory`, unless
8338         version_specific_libs is enabled.
8339         * aclocal.m4, configure: Rebuilt.
8340
8341 2003-01-24  Nathan Sidwell  <nathan@codesourcery.com>
8342
8343         * include/bits/valarray_meta.h: Remove, split into ...
8344         * include/bits/valarray_before.h: ... this, and ...
8345         * include/bits/valarray_after.h: ... this.
8346         * include/std/std_valarray.h: Adjust.
8347         * include/Makefile.am (bits_headers): Adjust.
8348         * include/Makefile.in: Regenerate.
8349
8350 2003-01-24  Andreas Schwab  <schwab@suse.de>
8351
8352         * config/linker-map.gnu: Fix for size_t variance.
8353
8354 2003-01-23  Petur Runolfsson  <peturr02@ru.is>
8355
8356         PR libstdc++/9322
8357         * include/std/std_streambuf.h
8358         (basic_streambuf::basic_streambuf,
8359         basic_streambuf::~basic_streambuf,
8360         basic_streambuf::getloc, basic_streambuf::imbue):
8361         Remove _M_buf_locale_init
8362         * include/bits/fstream.tcc (basic_filebuf::imbue):  Likewise
8363         * testsuite/27_io/filebuf_virtuals.cc (test08):  Add.
8364         * testsuite/27_io/streambuf_members.cc (test08):  Add.
8365         * testsuite/27_io/stringbuf_virtuals.cc (test08):  Add.
8366
8367 2003-01-23  Benjamin Kosnik  <bkoz@redhat.com>
8368
8369         Revert include ordering.
8370         * config/locale/generic/c_locale.h: Add include guards.
8371         * config/locale/gnu/c_locale.h: Same.
8372         * include/bits/locale_classes.h: Remove cctype include.
8373         * include/std/std_iosfwd.h: Add c++locale.h, cctype includes.
8374         * include/std/std_fstream.h: Remove streambuf include.
8375         * include/std/std_sstream.h: Remove streambuf include.
8376
8377 2003-01-23  Benjamin Kosnik  <bkoz@redhat.com>
8378
8379         * configure.in (libtool_VERSION): To 6:0:0.
8380         * configure: Regenerated.
8381         * config/linker-map.gnu: Clean.
8382
8383         * src/misc-inst.cc: Remove instantiations.
8384
8385         * include/bits/stl_alloc.h (__malloc_alloc_template):
8386         To __malloc_alloc.
8387         (__default_alloc_template): To __pool_alloc.
8388         * src/stl-inst.cc: Same.
8389         * include/backward/alloc.h: Update.
8390         * testsuite/ext/allocators.cc: Update.
8391
8392         * src/globals.cc (__gnu_cxx): Remove _GLIBCPP_ASM_SYMVER. Should
8393         really try to remove these if possible.
8394         * src/locale.cc (std): Same.
8395
8396         * testsuite/abi_check.cc (check_version): Add.
8397
8398 2003-01-22  Benjamin Kosnik  <bkoz@redhat.com>
8399             Sysoltsev Slawa  <Vyatcheslav.Sysoltsev@intel.com>
8400             Mark Mitchell  <mark@codesourcery.com>
8401
8402         PR libstdc++/9269
8403         * include/std/std_fstream.h (basic_filebuf::uflow): Declare.
8404         (basic_filebuf::underflow): Declare.
8405         Move definitions.
8406
8407 2003-01-22  Benjamin Kosnik  <bkoz@redhat.com>
8408
8409         * include/bits/locale_facets.h: Move non-facet classes requiring
8410         <string> to...
8411         * include/bits/locale_classes.h: New.
8412         * include/bits/Makefile.am (bits_headers_src): Add locale_classes.h.
8413         * include/bits/Makefile.in: Regenerate.
8414
8415         * include/bits/locale_facets.tcc (__convert_from_v): Move to...
8416         * config/locale/gnu/c_locale.h: ...here.
8417         * config/locale/generic/c_locale.h: Same.
8418
8419         * include/bits/locale_facets.tcc: Move declarations to...
8420         * include/bits/locale_facets.h: ...here.
8421         * include/bits/basic_ios.h: Tweak includes accordingly.
8422         * include/std/std_sstream.h: Add streambuf include.
8423         * include/std/std_fstream.h: Ditto.
8424         * include/std/std_locale.h: Add locale_classes.h include.
8425         * include/std/std_iosfwd.h: Tweak.
8426         * src/concept-inst.cc: Add iterator include.
8427
8428         * config/linker-map.gnu: Specify __cxa functions, mark __cxa_dyn_*
8429         bits as unexported in the future.
8430
8431 2003-01-21  Benjamin Kosnik  <bkoz@redhat.com>
8432
8433         Reshuffle 22_locale testsuite.
8434         * 22_locale/(codecvt.cc money_get.cc
8435         codecvt_members_char_char.cc money_get_members_char.cc
8436         codecvt_members_unicode_char.cc money_get_members_wchar_t.cc
8437         codecvt_members_unicode_wchar_t.cc moneypunct_byname.cc
8438         codecvt_members_wchar_t_char.cc moneypunct.cc collate_byname.cc
8439         moneypunct_members_char.cc collate.cc moneypunct_members_wchar_t.cc
8440         collate_members_char.cc money_put.cc collate_members_wchar_t.cc
8441         money_put_members_char.cc ctor_copy_dtor.cc
8442         money_put_members_wchar_t.cc ctype.cc num_get.cc ctype_is_char.cc
8443         num_get_members_char.cc ctype_is_wchar_t.cc num_get_members_wchar_t.cc
8444         ctype_members_char.cc numpunct_byname.cc ctype_members_wchar_t.cc
8445         numpunct.cc ctype_narrow_char.cc numpunct_members_char.cc
8446         ctype_narrow_wchar_t.cc numpunct_members_wchar_t.cc ctype_scan_char.cc
8447         num_put.cc ctype_scan_wchar_t.cc num_put_members_char.cc
8448         ctype_to_char.cc num_put_members_wchar_t.cc ctype_to_wchar_t.cc
8449         operators.cc ctype_widen_char.cc static_members.cc
8450         ctype_widen_wchar_t.cc time_get.cc facet.cc time_get_members_char.cc
8451         global_templates.cc time_get_members_wchar_t.cc, members.cc,
8452         time_put.cc, messages_byname.cc, time_put_members_char.cc,
8453         messages.cc, time_put_members_wchar_t.cc, messages_members_char.cc):
8454         Split up into individual test cases...
8455         * 22_locale/codecvt/1.cc: New.
8456         * 22_locale/codecvt/2.cc: New.
8457         * 22_locale/codecvt/always_noconv/char/1.cc: New.
8458         * 22_locale/codecvt/always_noconv/char/wrapped_env.cc: New.
8459         * 22_locale/codecvt/always_noconv/char/wrapped_locale.cc: New.
8460         * 22_locale/codecvt/always_noconv/wchar_t/1.cc: New.
8461         * 22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc: New.
8462         * 22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc: New.
8463         * 22_locale/codecvt/encoding/char/1.cc: New.
8464         * 22_locale/codecvt/encoding/char/wrapped_env.cc: New.
8465         * 22_locale/codecvt/encoding/char/wrapped_locale.cc: New.
8466         * 22_locale/codecvt/encoding/wchar_t/1.cc: New.
8467         * 22_locale/codecvt/encoding/wchar_t/wrapped_env.cc: New.
8468         * 22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc: New.
8469         * 22_locale/codecvt/in/char/1.cc: New.
8470         * 22_locale/codecvt/in/char/wrapped_env.cc: New.
8471         * 22_locale/codecvt/in/char/wrapped_locale.cc: New.
8472         * 22_locale/codecvt/in/wchar_t/1.cc: New.
8473         * 22_locale/codecvt/in/wchar_t/wrapped_env.cc: New.
8474         * 22_locale/codecvt/in/wchar_t/wrapped_locale.cc: New.
8475         * 22_locale/codecvt/length/char/1.cc: New.
8476         * 22_locale/codecvt/length/char/wrapped_env.cc: New.
8477         * 22_locale/codecvt/length/char/wrapped_locale.cc: New.
8478         * 22_locale/codecvt/length/wchar_t/1.cc: New.
8479         * 22_locale/codecvt/length/wchar_t/wrapped_env.cc: New.
8480         * 22_locale/codecvt/length/wchar_t/wrapped_locale.cc: New.
8481         * 22_locale/codecvt/max_length/char/1.cc: New.
8482         * 22_locale/codecvt/max_length/char/wrapped_env.cc: New.
8483         * 22_locale/codecvt/max_length/char/wrapped_locale.cc: New.
8484         * 22_locale/codecvt/max_length/wchar_t/1.cc: New.
8485         * 22_locale/codecvt/max_length/wchar_t/wrapped_env.cc: New.
8486         * 22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc: New.
8487         * 22_locale/codecvt/out/char/1.cc: New.
8488         * 22_locale/codecvt/out/char/wrapped_env.cc: New.
8489         * 22_locale/codecvt/out/char/wrapped_locale.cc: New.
8490         * 22_locale/codecvt/out/wchar_t/1.cc: New.
8491         * 22_locale/codecvt/out/wchar_t/wrapped_env.cc: New.
8492         * 22_locale/codecvt/out/wchar_t/wrapped_locale.cc: New.
8493         * 22_locale/codecvt/unicode/char.cc: New.
8494         * 22_locale/codecvt/unicode/wchar_t.cc: New.
8495         * 22_locale/codecvt/unshift/char/1.cc: New.
8496         * 22_locale/codecvt/unshift/char/wrapped_env.cc: New.
8497         * 22_locale/codecvt/unshift/char/wrapped_locale.cc: New.
8498         * 22_locale/codecvt/unshift/wchar_t/1.cc: New.
8499         * 22_locale/codecvt/unshift/wchar_t/wrapped_env.cc: New.
8500         * 22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc: New.
8501         * 22_locale/collate/1.cc: New.
8502         * 22_locale/collate/2.cc: New.
8503         * 22_locale/collate/compare/char/1.cc: New.
8504         * 22_locale/collate/compare/char/2.cc: New.
8505         * 22_locale/collate/compare/char/wrapped_env.cc: New.
8506         * 22_locale/collate/compare/char/wrapped_locale.cc: New.
8507         * 22_locale/collate/compare/wchar_t/1.cc: New.
8508         * 22_locale/collate/compare/wchar_t/2.cc: New.
8509         * 22_locale/collate/compare/wchar_t/wrapped_env.cc: New.
8510         * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: New.
8511         * 22_locale/collate/hash/char/1.cc: New.
8512         * 22_locale/collate/hash/char/2.cc: New.
8513         * 22_locale/collate/hash/char/wrapped_env.cc: New.
8514         * 22_locale/collate/hash/char/wrapped_locale.cc: New.
8515         * 22_locale/collate/hash/wchar_t/1.cc: New.
8516         * 22_locale/collate/hash/wchar_t/2.cc: New.
8517         * 22_locale/collate/hash/wchar_t/wrapped_env.cc: New.
8518         * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: New.
8519         * 22_locale/collate/transform/char/2.cc: New.
8520         * 22_locale/collate/transform/char/wrapped_env.cc: New.
8521         * 22_locale/collate/transform/char/wrapped_locale.cc: New.
8522         * 22_locale/collate/transform/wchar_t/2.cc: New.
8523         * 22_locale/collate/transform/wchar_t/wrapped_env.cc: New.
8524         * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: New.
8525         * 22_locale/collate_byname/1.cc: New.
8526         * 22_locale/ctype/1.cc: New.
8527         * 22_locale/ctype/2.cc: New.
8528         * 22_locale/ctype/cons/char/1.cc: New.
8529         * 22_locale/ctype/cons/char/wrapped_env.cc: New.
8530         * 22_locale/ctype/cons/char/wrapped_locale.cc: New.
8531         * 22_locale/ctype/is/char/1.cc: New.
8532         * 22_locale/ctype/is/char/2.cc: New.
8533         * 22_locale/ctype/is/char/3.cc: New.
8534         * 22_locale/ctype/is/char/wrapped_env.cc: New.
8535         * 22_locale/ctype/is/char/wrapped_locale.cc: New.
8536         * 22_locale/ctype/is/wchar_t/1.cc: New.
8537         * 22_locale/ctype/is/wchar_t/2.cc: New.
8538         * 22_locale/ctype/is/wchar_t/wrapped_env.cc: New.
8539         * 22_locale/ctype/is/wchar_t/wrapped_locale.cc: New.
8540         * 22_locale/ctype/narrow/char/1.cc: New.
8541         * 22_locale/ctype/narrow/char/2.cc: New.
8542         * 22_locale/ctype/narrow/char/wrapped_env.cc: New.
8543         * 22_locale/ctype/narrow/char/wrapped_locale.cc: New.
8544         * 22_locale/ctype/narrow/wchar_t/1.cc: New.
8545         * 22_locale/ctype/narrow/wchar_t/2.cc: New.
8546         * 22_locale/ctype/narrow/wchar_t/wrapped_env.cc: New.
8547         * 22_locale/ctype/narrow/wchar_t/wrapped_locale.cc: New.
8548         * 22_locale/ctype/scan/char/1.cc: New.
8549         * 22_locale/ctype/scan/char/wrapped_env.cc: New.
8550         * 22_locale/ctype/scan/char/wrapped_locale.cc: New.
8551         * 22_locale/ctype/scan/wchar_t/1.cc: New.
8552         * 22_locale/ctype/scan/wchar_t/wrapped_env.cc: New.
8553         * 22_locale/ctype/scan/wchar_t/wrapped_locale.cc: New.
8554         * 22_locale/ctype/to/char/1.cc: New.
8555         * 22_locale/ctype/to/char/wrapped_env.cc: New.
8556         * 22_locale/ctype/to/char/wrapped_locale.cc: New.
8557         * 22_locale/ctype/to/wchar_t/1.cc: New.
8558         * 22_locale/ctype/to/wchar_t/wrapped_env.cc: New.
8559         * 22_locale/ctype/to/wchar_t/wrapped_locale.cc: New.
8560         * 22_locale/ctype/widen/char/1.cc: New.
8561         * 22_locale/ctype/widen/char/wrapped_env.cc: New.
8562         * 22_locale/ctype/widen/char/wrapped_locale.cc: New.
8563         * 22_locale/ctype/widen/wchar_t/1.cc: New.
8564         * 22_locale/ctype/widen/wchar_t/wrapped_env.cc: New.
8565         * 22_locale/ctype/widen/wchar_t/wrapped_locale.cc: New.
8566         * 22_locale/facet/1.cc: New.
8567         * 22_locale/facet/2.cc: New.
8568         * 22_locale/global_templates/1.cc: New.
8569         * 22_locale/locale/cons/1.cc: New.
8570         * 22_locale/locale/cons/2.cc: New.
8571         * 22_locale/locale/cons/3.cc: New.
8572         * 22_locale/locale/cons/4.cc: New.
8573         * 22_locale/locale/cons/5.cc: New.
8574         * 22_locale/locale/cons/6.cc: New.
8575         * 22_locale/locale/cons/7.cc: New.
8576         * 22_locale/locale/global_locale_objects/1.cc: New.
8577         * 22_locale/locale/global_locale_objects/2.cc: New.
8578         * 22_locale/locale/global_locale_objects/3.cc: New.
8579         * 22_locale/locale/operations/1.cc: New.
8580         * 22_locale/locale/operations/2.cc: New.
8581         * 22_locale/messages/1.cc: New.
8582         * 22_locale/messages/2.cc: New.
8583         * 22_locale/messages/members/char/1.cc: New.
8584         * 22_locale/messages/members/char/2.cc: New.
8585         * 22_locale/messages/members/char/3.cc: New.
8586         * 22_locale/messages/members/char/wrapped_env.cc: New.
8587         * 22_locale/messages/members/char/wrapped_locale.cc: New.
8588         * 22_locale/messages_byname/1.cc: New.
8589         * 22_locale/money_get/1.cc: New.
8590         * 22_locale/money_get/2.cc: New.
8591         * 22_locale/money_get/get/char/1.cc: New.
8592         * 22_locale/money_get/get/char/2.cc: New.
8593         * 22_locale/money_get/get/char/3.cc: New.
8594         * 22_locale/money_get/get/char/4.cc: New.
8595         * 22_locale/money_get/get/char/5.cc: New.
8596         * 22_locale/money_get/get/char/6.cc: New.
8597         * 22_locale/money_get/get/char/7.cc: New.
8598         * 22_locale/money_get/get/char/8.cc: New.
8599         * 22_locale/money_get/get/char/wrapped_env.cc: New.
8600         * 22_locale/money_get/get/char/wrapped_locale.cc: New.
8601         * 22_locale/money_get/get/wchar_t/1.cc: New.
8602         * 22_locale/money_get/get/wchar_t/2.cc: New.
8603         * 22_locale/money_get/get/wchar_t/3.cc: New.
8604         * 22_locale/money_get/get/wchar_t/4.cc: New.
8605         * 22_locale/money_get/get/wchar_t/5.cc: New.
8606         * 22_locale/money_get/get/wchar_t/6.cc: New.
8607         * 22_locale/money_get/get/wchar_t/7.cc: New.
8608         * 22_locale/money_get/get/wchar_t/8.cc: New.
8609         * 22_locale/money_get/get/wchar_t/wrapped_env.cc: New.
8610         * 22_locale/money_get/get/wchar_t/wrapped_locale.cc: New.
8611         * 22_locale/money_put/1.cc: New.
8612         * 22_locale/money_put/2.cc: New.
8613         * 22_locale/money_put/put/char/1.cc: New.
8614         * 22_locale/money_put/put/char/2.cc: New.
8615         * 22_locale/money_put/put/char/3.cc: New.
8616         * 22_locale/money_put/put/char/4.cc: New.
8617         * 22_locale/money_put/put/char/5.cc: New.
8618         * 22_locale/money_put/put/char/6.cc: New.
8619         * 22_locale/money_put/put/char/wrapped_env.cc: New.
8620         * 22_locale/money_put/put/char/wrapped_locale.cc: New.
8621         * 22_locale/money_put/put/wchar_t/1.cc: New.
8622         * 22_locale/money_put/put/wchar_t/2.cc: New.
8623         * 22_locale/money_put/put/wchar_t/3.cc: New.
8624         * 22_locale/money_put/put/wchar_t/4.cc: New.
8625         * 22_locale/money_put/put/wchar_t/5.cc: New.
8626         * 22_locale/money_put/put/wchar_t/6.cc: New.
8627         * 22_locale/money_put/put/wchar_t/wrapped_env.cc: New.
8628         * 22_locale/money_put/put/wchar_t/wrapped_locale.cc: New.
8629         * 22_locale/moneypunct/1.cc: New.
8630         * 22_locale/moneypunct/2.cc: New.
8631         * 22_locale/moneypunct/3.cc: New.
8632         * 22_locale/moneypunct/members/char/1.cc: New.
8633         * 22_locale/moneypunct/members/char/2.cc: New.
8634         * 22_locale/moneypunct/members/char/wrapped_env.cc: New.
8635         * 22_locale/moneypunct/members/char/wrapped_locale.cc: New.
8636         * 22_locale/moneypunct/members/wchar_t/1.cc: New.
8637         * 22_locale/moneypunct/members/wchar_t/2.cc: New.
8638         * 22_locale/moneypunct/members/wchar_t/wrapped_env.cc: New.
8639         * 22_locale/moneypunct/members/wchar_t/wrapped_locale.cc: New.
8640         * 22_locale/moneypunct_byname/1.cc: New.
8641         * 22_locale/num_get/1.cc: New.
8642         * 22_locale/num_get/2.cc: New.
8643         * 22_locale/num_get/get/char/1.cc: New.
8644         * 22_locale/num_get/get/char/2.cc: New.
8645         * 22_locale/num_get/get/char/3.cc: New.
8646         * 22_locale/num_get/get/char/4.cc: New.
8647         * 22_locale/num_get/get/char/5.cc: New.
8648         * 22_locale/num_get/get/char/6.cc: New.
8649         * 22_locale/num_get/get/char/wrapped_env.cc: New.
8650         * 22_locale/num_get/get/char/wrapped_locale.cc: New.
8651         * 22_locale/num_get/get/wchar_t/1.cc: New.
8652         * 22_locale/num_get/get/wchar_t/2.cc: New.
8653         * 22_locale/num_get/get/wchar_t/3.cc: New.
8654         * 22_locale/num_get/get/wchar_t/4.cc: New.
8655         * 22_locale/num_get/get/wchar_t/5.cc: New.
8656         * 22_locale/num_get/get/wchar_t/6.cc: New.
8657         * 22_locale/num_get/get/wchar_t/wrapped_env.cc: New.
8658         * 22_locale/num_get/get/wchar_t/wrapped_locale.cc: New.
8659         * 22_locale/num_put/1.cc: New.
8660         * 22_locale/num_put/2.cc: New.
8661         * 22_locale/num_put/put/char/1.cc: New.
8662         * 22_locale/num_put/put/char/2.cc: New.
8663         * 22_locale/num_put/put/char/3.cc: New.
8664         * 22_locale/num_put/put/char/4.cc: New.
8665         * 22_locale/num_put/put/char/5.cc: New.
8666         * 22_locale/num_put/put/char/wrapped_env.cc: New.
8667         * 22_locale/num_put/put/char/wrapped_locale.cc: New.
8668         * 22_locale/num_put/put/wchar_t/1.cc: New.
8669         * 22_locale/num_put/put/wchar_t/2.cc: New.
8670         * 22_locale/num_put/put/wchar_t/3.cc: New.
8671         * 22_locale/num_put/put/wchar_t/4.cc: New.
8672         * 22_locale/num_put/put/wchar_t/5.cc: New.
8673         * 22_locale/num_put/put/wchar_t/wrapped_env.cc: New.
8674         * 22_locale/num_put/put/wchar_t/wrapped_locale.cc: New.
8675         * 22_locale/numpunct/1.cc: New.
8676         * 22_locale/numpunct/2.cc: New.
8677         * 22_locale/numpunct/members/char/1.cc: New.
8678         * 22_locale/numpunct/members/char/2.cc: New.
8679         * 22_locale/numpunct/members/char/wrapped_env.cc: New.
8680         * 22_locale/numpunct/members/char/wrapped_locale.cc: New.
8681         * 22_locale/numpunct/members/wchar_t/1.cc: New.
8682         * 22_locale/numpunct/members/wchar_t/2.cc: New.
8683         * 22_locale/numpunct/members/wchar_t/wrapped_env.cc: New.
8684         * 22_locale/numpunct/members/wchar_t/wrapped_locale.cc: New.
8685         * 22_locale/numpunct_byname/1.cc: New.
8686         * 22_locale/numpunct_byname/2.cc: New.
8687         * 22_locale/time_get/1.cc: New.
8688         * 22_locale/time_get/2.cc: New.
8689         * 22_locale/time_get/date_order/char/1.cc: New.
8690         * 22_locale/time_get/date_order/char/wrapped_env.cc: New.
8691         * 22_locale/time_get/date_order/char/wrapped_locale.cc: New.
8692         * 22_locale/time_get/date_order/wchar_t/1.cc: New.
8693         * 22_locale/time_get/date_order/wchar_t/wrapped_env.cc: New.
8694         * 22_locale/time_get/date_order/wchar_t/wrapped_locale.cc: New.
8695         * 22_locale/time_get/get_date/char/1.cc: New.
8696         * 22_locale/time_get/get_date/char/2.cc: New.
8697         * 22_locale/time_get/get_date/char/3.cc: New.
8698         * 22_locale/time_get/get_date/char/wrapped_env.cc: New.
8699         * 22_locale/time_get/get_date/char/wrapped_locale.cc: New.
8700         * 22_locale/time_get/get_date/wchar_t/1.cc: New.
8701         * 22_locale/time_get/get_date/wchar_t/2.cc: New.
8702         * 22_locale/time_get/get_date/wchar_t/3.cc: New.
8703         * 22_locale/time_get/get_date/wchar_t/wrapped_env.cc: New.
8704         * 22_locale/time_get/get_date/wchar_t/wrapped_locale.cc: New.
8705         * 22_locale/time_get/get_monthname/char/1.cc: New.
8706         * 22_locale/time_get/get_monthname/char/2.cc: New.
8707         * 22_locale/time_get/get_monthname/char/3.cc: New.
8708         * 22_locale/time_get/get_monthname/char/wrapped_env.cc: New.
8709         * 22_locale/time_get/get_monthname/char/wrapped_locale.cc: New.
8710         * 22_locale/time_get/get_monthname/wchar_t/1.cc: New.
8711         * 22_locale/time_get/get_monthname/wchar_t/2.cc: New.
8712         * 22_locale/time_get/get_monthname/wchar_t/3.cc: New.
8713         * 22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc: New.
8714         * 22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc: New.
8715         * 22_locale/time_get/get_time/char/1.cc: New.
8716         * 22_locale/time_get/get_time/char/2.cc: New.
8717         * 22_locale/time_get/get_time/char/3.cc: New.
8718         * 22_locale/time_get/get_time/char/wrapped_env.cc: New.
8719         * 22_locale/time_get/get_time/char/wrapped_locale.cc: New.
8720         * 22_locale/time_get/get_time/wchar_t/1.cc: New.
8721         * 22_locale/time_get/get_time/wchar_t/2.cc: New.
8722         * 22_locale/time_get/get_time/wchar_t/3.cc: New.
8723         * 22_locale/time_get/get_time/wchar_t/wrapped_env.cc: New.
8724         * 22_locale/time_get/get_time/wchar_t/wrapped_locale.cc: New.
8725         * 22_locale/time_get/get_weekday/char/1.cc: New.
8726         * 22_locale/time_get/get_weekday/char/2.cc: New.
8727         * 22_locale/time_get/get_weekday/char/3.cc: New.
8728         * 22_locale/time_get/get_weekday/char/wrapped_env.cc: New.
8729         * 22_locale/time_get/get_weekday/char/wrapped_locale.cc: New.
8730         * 22_locale/time_get/get_weekday/wchar_t/1.cc: New.
8731         * 22_locale/time_get/get_weekday/wchar_t/2.cc: New.
8732         * 22_locale/time_get/get_weekday/wchar_t/3.cc: New.
8733         * 22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc: New.
8734         * 22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc: New.
8735         * 22_locale/time_get/get_year/char/1.cc: New.
8736         * 22_locale/time_get/get_year/char/3.cc: New.
8737         * 22_locale/time_get/get_year/char/wrapped_env.cc: New.
8738         * 22_locale/time_get/get_year/char/wrapped_locale.cc: New.
8739         * 22_locale/time_get/get_year/wchar_t/1.cc: New.
8740         * 22_locale/time_get/get_year/wchar_t/3.cc: New.
8741         * 22_locale/time_get/get_year/wchar_t/wrapped_env.cc: New.
8742         * 22_locale/time_get/get_year/wchar_t/wrapped_locale.cc: New.
8743         * 22_locale/time_put/1.cc: New.
8744         * 22_locale/time_put/2.cc: New.
8745         * 22_locale/time_put/put/char/1.cc: New.
8746         * 22_locale/time_put/put/char/10.cc: New.
8747         * 22_locale/time_put/put/char/2.cc: New.
8748         * 22_locale/time_put/put/char/3.cc: New.
8749         * 22_locale/time_put/put/char/4.cc: New.
8750         * 22_locale/time_put/put/char/5.cc: New.
8751         * 22_locale/time_put/put/char/6.cc: New.
8752         * 22_locale/time_put/put/char/7.cc: New.
8753         * 22_locale/time_put/put/char/8.cc: New.
8754         * 22_locale/time_put/put/char/9.cc: New.
8755         * 22_locale/time_put/put/char/wrapped_env.cc: New.
8756         * 22_locale/time_put/put/char/wrapped_locale.cc: New.
8757         * 22_locale/time_put/put/wchar_t/1.cc: New.
8758         * 22_locale/time_put/put/wchar_t/10.cc: New.
8759         * 22_locale/time_put/put/wchar_t/2.cc: New.
8760         * 22_locale/time_put/put/wchar_t/3.cc: New.
8761         * 22_locale/time_put/put/wchar_t/4.cc: New.
8762         * 22_locale/time_put/put/wchar_t/5.cc: New.
8763         * 22_locale/time_put/put/wchar_t/6.cc: New.
8764         * 22_locale/time_put/put/wchar_t/7.cc: New.
8765         * 22_locale/time_put/put/wchar_t/8.cc: New.
8766         * 22_locale/time_put/put/wchar_t/9.cc: New.
8767         * 22_locale/time_put/put/wchar_t/wrapped_env.cc: New.
8768         * 22_locale/time_put/put/wchar_t/wrapped_locale.cc: New.
8769
8770 2003-01-16  Jeffrey D. Oldham  <oldham@codesourcery.com>
8771
8772         * config/locale/generic/messages_members.h
8773         (messages_byname<_CharT>::messages_byname): Use this-> to refer to
8774         unqualified members of base clasess.
8775
8776 2003-01-16  Mark Mitchell  <mark@codesourcery.com>
8777             Jeffrey Oldham <oldham@codesourcery.com>
8778
8779         * config/locale/gnu/messages_members.h: Use this-> to refer to
8780         unqualified members of base clasess.
8781         * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Likewise.
8782         * include/bits/codecvt.h: Likewise.
8783         * include/bits/deque.tcc: Likewise.
8784         * include/bits/fstream.tcc: Likewise.
8785         * include/bits/istream.tcc: Likewise.
8786         * include/bits/list.tcc: Likewise.
8787         * include/bits/locale_facets.h: Likewise.
8788         * include/bits/ostream.tcc: Likewise.
8789         * include/bits/sstream.tcc: Likewise.
8790         * include/bits/stl_bvector.h: Likewise.
8791         * include/bits/stl_deque.h: Likewise.
8792         * include/bits/stl_list.h: Likewise.
8793         * include/bits/stl_tree.h: Likewise.
8794         * include/bits/stl_vector.h: Likewise.
8795         * include/bits/vector.tcc: Likewise.
8796         * include/ext/ropeimpl.h: Likewise.
8797         * include/ext/stdio_filebuf.h: Likewise.
8798         * include/ext/stl_rope.h: Likewise.
8799         * include/std/std_fstream.h: Likewise.
8800         * include/std/std_sstream.h: Likewise.
8801
8802 2003-01-15  Phil Edwards  <pme@gcc.gnu.org>
8803
8804         * include/bits/basic_string.tcc (_S_string_copy): Unused, remove.
8805
8806 2003-01-15  Benjamin Kosnik  <bkoz@redhat.com>
8807
8808         * acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Substitute
8809         GLIBCPP_TEST_WCHAR_T if building wchar_t bits in the library.
8810         * aclocal.m4: Regenerate.
8811         * configure: Regenerate.
8812         * testsuite/Makefile.am (all-local): Add conditional rule to
8813         generate testsuite_wchar_t.
8814         * testsuite/Makefile.in: Regenerate.
8815         * testsuite/lib/libstdc++-v3-dg.exp
8816         (libstdc++-v3-list-sourcefiles): Remove wchar_t files if
8817         testsuite_wchar_t is not present in the build directory.
8818         * testsuite/libstdc++-v3.dg/dg.exp: Add -g -O2 to DEFAULT_CXXFLAGS.
8819         Remove setulimit bits.
8820         * testsuite/26_numerics/complex_value.cc: Set to noopts.
8821         * testsuite/Makefile.am (CLEANFILES): Add.
8822         * testsuite/Makefile.in: Regenerate.
8823
8824 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8825
8826         * config/os/hpux/os_defines.h (_GLIBCPP_GTHREAD_USE_WEAK): Define for
8827         __hppa__.
8828
8829 2003-01-14  Jeffrey D. Oldham  <oldham@codesourcery.com>
8830
8831         Further conform g++'s __vmi_class_type_info to the C++ ABI
8832         specification.
8833         * libsupc++/cxxabi.h
8834         (__vmi_class_type_info::__flags_masks): Remove enumerations not
8835         required by the specification.
8836
8837 2003-01-12  Benjamin Kosnik  <bkoz@redhat.com>
8838
8839         Renames, namespaces for testsuite utilities.
8840         * testsuite/testsuite_hooks.h: Put into namespace __gnu_cxx_test.
8841         (gnu_allocator_tracker): Rename to allocation_tracker.
8842         (gnu_new_allocator): Rename to tracker_alloc.
8843         (__set_testsuite_memlimit): Rename to set_memory_limits.
8844         (gnu_assignment_operator): Rename to assignment_operator.
8845         (gnu_destructor): Rename to destructor.
8846         (gnu_copy_tracker): Rename to copy_tracker.
8847         (gnu_char, gnu_int, gnu_long): Rename to pod_char, pod_int, pod_long.
8848         (run_tests_wrapped_locale): New.
8849         (run_tests_wrapped_env): New.
8850         * testsuite/testsuite_hooks.cc: Same.
8851         (class locale_data): Add.
8852         (class enviornment_variable): Add.
8853         (class not_found): Add.
8854         * testsuite/testsuite_allocator.h: Same.
8855         * testsuite/testsuite_allocator.cc: Same.
8856         * testsuite/23_containers/deque_ctor.cc
8857         (test_copy_ctor_exception_safety): Change gnu_allocator_tracker to
8858         allocation_tracker.
8859         Change gnu_new_allocator to tracker_alloc.
8860         Change gnu_counting_struct to counter.
8861         Change gnu_copy_tracker to copy_tracker.
8862         Change gnu_copy_constructor to copy_constructor.
8863         Change gnu_assignment_operator to assignment_operator.
8864         Inject.
8865         * testsuite/23_containers/vector_capacity.cc: Same.
8866         * testsuite/23_containers/vector_ctor.cc (test01): Same.
8867         * testsuite/23_containers/list_modifiers.cc: Change
8868         gnu_copy_tracker to copy_tracker.
8869         * testsuite/21_strings/ctor_copy_dtor.cc (main): Change
8870         __set_testsuite_memlimit to set_memory_limits.
8871         * testsuite/21_strings/insert.cc (main): Same.
8872         * testsuite/27_io/filebuf.cc: Change gnu_char to pod_char.
8873         * testsuite/27_io/stringstream.cc: Same.
8874         * testsuite/27_io/stringbuf.cc: Same.
8875         * testsuite/27_io/streambuf.cc: Same.
8876         * testsuite/27_io/ostream.cc: Same.
8877         * testsuite/27_io/istream.cc: Same.
8878         * testsuite/27_io/fstream.cc: Same.
8879         * testsuite/lib/libstdc++-v3-dg.exp
8880         (libstdc++-v3-list-sourcefiles): Additionally handle files two and
8881         three levels deeper in glob patterns.
8882
8883 2003-01-11  Phil Edwards  <pme@gcc.gnu.org>
8884
8885         * docs/doxygen/tables.html:  Finished now.
8886         * docs/doxygen/user.cfg.in:  Update to latest version of Doxygen.
8887         * include/bits/basic_ios.h (basic_ios::rdbuf):  Add example to
8888         comments.
8889
8890         * include/bits/deque.tcc, include/bits/stl_alloc.h,
8891         include/bits/stl_deque.h, include/bits/stl_list.h,
8892         include/bits/stl_vector.h:  Remove _GLIBCPP_DEPRECATED bits scheduled
8893         for 3.4 removal.
8894
8895 2003-01-09  Benjamin Kosnik  <bkoz@redhat.com>
8896
8897         * configure.in: Revert.
8898         * configure: Regenerate.
8899
8900 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
8901
8902         * include/Makefile.am (install-data-local): Prepend
8903         $(DESTDIR) to destination paths in all (un)installation
8904         commands.  Use ${c_base_builddir} and ${std_builddir}
8905         as destination subdirectories to achieve consistency with
8906         preceding mkinstalldirs commands.  No effect because both
8907         variables contain "." only.
8908         * include/Makefile.in: Regenerate.
8909
8910 2003-01-08  Benjamin Kosnik  <bkoz@redhat.com>
8911
8912         * include/Makefile.am (stamp-*): Add checks for existing stamps.
8913         * include/Makefile.in: Regenerate.
8914
8915         * acinclude.m4 (GLIBCPP_ENABLE_DEBUG): Correct comment.
8916         * aclocal.m4: Regenerate.
8917
8918         * configure.in: Don't add new multi-do rules every time the
8919         directory is reconfigured.
8920         * configure: Regenerate.
8921
8922 2003-01-08  Brad Spencer  <spencer@infointeractive.com>
8923             Nathan Myers  <ncm@cantrip.org>
8924
8925         * src/Makefile.am (stamp-debug): Clean.
8926         * src/Makefile.in: Regenerate.
8927
8928 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
8929
8930         PR libstdc++/8707
8931         * Makefile.am (distclean-multi): Fix.
8932         * Makefile.in: Regenerate.
8933
8934 2003-01-06  Benjamin Kosnik  <bkoz@redhat.com>
8935
8936         * include/bits/locale_facets.h (messages): Move ctor, dtor
8937         definitions to..
8938         (__timepunct): Same.
8939         * config/locale/gnu/messages_members.h (messages): Add dtor, ctor
8940         definitions. Conditionalize for GNU systems.
8941         * config/locale/generic/messages_members.h (messages): Add dtor, ctor
8942         definitions.
8943         * config/locale/gnu/time_members.h (messages): New. Add dtor, ctor
8944         definitions. Conditionalize for GNU systems.
8945         * config/locale/generic/time_members.h (messages): New. Add dtor, ctor
8946         definitions.
8947         * include/bits/localefwd.h (locale::facet::_S_c_name): Add.
8948         * src/locale.cc: Define.
8949         * src/localename.cc (locale::_Impl::_Impl(facet**, size_t, bool):
8950         Use it.
8951         * config/locale/gnu/time_members.h: Use it.
8952         * config/locale/gnu/messages_members.h: Use it.
8953         * config/linker-map.gnu: Add locale::facets details.
8954         * include/Makefile.am (target_headers_extra): Add time_members.h.
8955         * include/Makefile.in: Regenerate.
8956         * acinclude.m4: Export CTIME_H.
8957         * aclocal.m4: Regenerate.
8958         * configure: Regnerate.
8959
8960 2003-01-06  Paolo Carlini  <pcarlini@unitus.it>
8961
8962         * src/codecvt.cc
8963         (codecvt<char, char, mbstate_t>::do_in, do_out):
8964         Tweak parameters to avoid unused parameter warnings.
8965
8966 2003-01-06  Paolo Carlini  <pcarlini@unitus.it>
8967
8968         PR libstdc++/9151
8969         * include/bits/locale_facets.cc (num_put::_M_convert_float):
8970         Limit __prec to digits10 + 2, not digits10 + 1, taking into
8971         account the possibility of %{g,G} conversion specifiers
8972         inside _S_format_float.
8973         * testsuite/27_io/ostream_inserter_arith.cc (test06): Add.
8974
8975 2003-01-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8976
8977         * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init,
8978         libstdc++-v3-list-sourcefiles): Additionally handle files one
8979         level deeper in glob patterns.
8980
8981         * testsuite/27_io/istream_extractor_arith.cc: Delete, split...
8982         * testsuite/27_io/istream_extractor_arith/01.cc,
8983         testsuite/27_io/istream_extractor_arith/02.cc,
8984         testsuite/27_io/istream_extractor_arith/03.cc,
8985         testsuite/27_io/istream_extractor_arith/06.cc,
8986         testsuite/27_io/istream_extractor_arith/07.cc,
8987         testsuite/27_io/istream_extractor_arith/08.cc,
8988         testsuite/27_io/istream_extractor_arith/09.cc,
8989         testsuite/27_io/istream_extractor_arith/10.cc,
8990         testsuite/27_io/istream_extractor_arith/11.cc,
8991         testsuite/27_io/istream_extractor_arith/12.cc,
8992         testsuite/27_io/istream_extractor_arith/13.cc: ... to new files.
8993         * testsuite/27_io/istream_extractor_arith/12.cc: Add XFAIL for
8994         sparc*-*-solaris2*.
8995
8996 2003-01-05  Paolo Carlini <pcarlini@unitus.it>
8997
8998         PR libstdc++/9168
8999         * src/codecvt.cc
9000         (codecvt<char, char, mbstate_t>::do_in, do_out):
9001         Implement the resolution of DR19 (TC).
9002         * testsuite/22_locale/codecvt_members_char_char.cc
9003         (test01): Tweak.
9004
9005 2003-01-02  Jason Merrill  <jason@redhat.com>
9006
9007         * config/cpu/i486/atomicity.h (__exchange_and_add, __atomic_add):
9008         *__mem is also an output.
9009         * config/cpu/m68k/atomicity.h (__exchange_and_add): Likewise.