OSDN Git Service

2004-01-14 Paolo Carlini <pcarlini@suse.de>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
1 2004-01-14  Paolo Carlini  <pcarlini@suse.de>
2
3         * include/bits/locale_facets.h (struct __numpunct_cache):
4         Add member _M_grouping_size, caching the length of _M_grouping.
5         (__numpunct_cache<>::_M_cache): Assign the latter.
6         (__verify_grouping): Move declaration...
7         * include/bits/locale_facets.tcc (__verify_grouping):
8         ... here, change signature to take a const char* and a size_t
9         for the grouping; not a template anymore.
10         (__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
11         Likewise change signature and tweak consistently. 
12         (num_get::_M_extract_float, num_get::_M_extract_int,
13         num_put::_M_insert_int, num_put::_M_insert_float,
14         money_get::do_get(string_type&), money_get::do_put(string_type)):
15         Update callers. 
16         * config/locale/generic/numeric_members.cc
17         (numpunct<>::_M_initialize_numpunct): Assign the new member.    
18         * config/locale/gnu/numeric_members.cc
19         (numpunct<>::_M_initialize_numpunct): Likewise. 
20         * src/locale-inst.cc (__add_grouping): Tweak signature.
21         (__verify_grouping): Don't instantiate, not a template anymore.
22
23         * include/bits/locale_facets.h: Rename _M_truename_len ->
24         _M_truename_size, _M_falsename_len -> _M_falsename_size.
25         * include/bits/locale_facets.tcc: Likewise.
26         * config/locale/generic/numeric_members.cc: Likewise.
27         * config/locale/gnu/numeric_members.cc: Likewise.
28
29 2004-01-14  Stefan Olsson  <stefan@snon.net>
30
31         * include/ext/mt_allocator.h: Fixups.
32         * testsuite/performance/allocator.cc: Enable __mt_alloc tests.
33         * testsuite/performance/allocator_thread.cc: Same.
34         
35 2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>
36
37         * testsuite/performance/ifstream_extract_float.cc: Add higher
38         precision tests.
39         * testsuite/performance/ofstream_insert_float.cc: Same.
40         
41 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
42
43         * src/locale-misc-inst.cc (__convert_from_v(long),
44         __convert_from_v(unsigned long), __convert_from_v(long long),
45         __convert_from_v(unsigned long long)): Remove, unused.
46
47 2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>
48
49         * testsuite/performance/ifstream_extract_float.cc: New.
50         * testsuite/performance/ofstream_insert_float.cc: Float generation
51         matches above.
52
53         * 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
54         * 20_util/auto_ptr/1.cc: ...this.
55         * 20_util/auto_ptr/2.cc: Same.
56         * 20_util/auto_ptr/3.cc: Same.
57         * 20_util/auto_ptr/3946.cc: Same.
58         * 20_util/auto_ptr/4.cc: Same.
59         * 20_util/auto_ptr/5.cc: Same.
60         * 20_util/auto_ptr/6.cc: Same.
61         * 20_util/auto_ptr/7.cc: Same.
62         * 20_util/auto_ptr/assign_neg.cc
63         * 20_util/pairs.cc: Break into...
64         * 20_util/pair/1.cc: ...this.
65         * 20_util/pair/2.cc: Same.
66         * 20_util/pair/3.cc: Same.
67         * 20_util/pair/4.cc: Same.
68
69 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
70
71         * include/bits/locale_facets.tcc (num_get::do_get(void*&)):
72         Set correctly just basefield, the only group that matters.
73
74 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
75
76         * include/ext/rope (_Rope_rep_alloc_base): Eliminate.
77         (_Rope_rep_base): Inherit directly from the rope allocator;
78         use rebinding instead of _Alloc_traits; pick up data member
79         from _Rope_rep_alloc_base.
80         (_Rope_alloc_base): Eliminate.
81         (_Rope_base): Inherit directly from the rope allocator; use
82         rebinding instead of _Alloc_traits; pick up data member from
83         _Rope_alloc_base.
84         (rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
85         rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.
86
87 2004-01-13  Paolo Carlini  <pcarlini@suse.de>
88
89         PR libstdc++/13650
90         * include/bits/basic_string.tcc (compare(size_type, size_type,
91         const _CharT*, size_type)): Implement correctly the resolution
92         of DR 5: basically, s is a char array, -not- a C string.
93         * include/bits/basic_string.h: Tweak some comments.
94         * testsuite/21_strings/basic_string/compare/char/13650.cc: New.
95         * testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.
96
97 2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
98
99         * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
100         Solaris.
101
102 2004-01-12  Paolo Carlini  <pcarlini@suse.de>
103
104         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
105         Use try_mkfifo.
106         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
107         Likewise.
108
109 2004-01-12  Paolo Carlini  <pcarlini@suse.de>
110
111         * include/bits/locale_facets.h (struct __numpunct_cache):
112         Add members _M_truename_len and _M_falsename_len, caching
113         the lengths of _M_truename and _M_falsename.
114         (__numpunct_cache<>::_M_cache): Assign the latter.
115         * include/bits/locale_facets.tcc (num_get::do_get(bool&),
116         num_put::do_put(bool)): Use the new members, thus avoiding
117         computing string lengths again and again.
118         * config/locale/generic/numeric_members.cc
119         (numpunct<>::_M_initialize_numpunct): Assign the new members.
120         * config/locale/gnu/numeric_members.cc
121         (numpunct<>::_M_initialize_numpunct): Likewise.
122
123 2004-01-12  Mark Mitchell  <mark@codesourcery.com>
124
125         * testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
126         * testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
127         it.
128         * testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
129         and remove Cygwin XFAIL.
130         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
131         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
132         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
133         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
134         Likewise.
135         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
136         * testsuite/27_io/objects/char/7.cc: Likewise.
137         * testsuite/27_io/objects/char/9661-1.cc: Likewise.
138         * testsuite/27_io/objects/wchar_t/7.cc: Likewise.
139         * testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.
140
141 2004-01-11  Gabriel Dos Reis  <gdr@integrable-solutions.net>
142
143         * include/std/std_complex.h (std::complex<>::real): Return a
144         reference. Add non-const overload.
145         (std::complex<>::real): Likewise.
146         (std::real): Likewise.
147         (std::imag): Likewise.
148         (std::operator+): Tidy.
149         (std::operator-): Likewise.
150         (std::operator*): Likewise.
151         (std::operator/): Likewise.
152         (std::operator>>): Likewise.
153
154 2004-01-11  Paolo Carlini  <pcarlini@suse.de>
155
156         PR libstdc++/13582
157         * include/bits/fstream.tcc (imbue): Exploit the external
158         buffer to imbue 'on the fly' a new locale and convert its
159         remainder with the new codecvt facet.
160         (underflow): Tweak slightly to deal with this special case.
161         * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
162         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
163         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
164         * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
165         * testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
166         
167 2004-01-10  Paolo Carlini  <pcarlini@suse.de>
168
169         * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
170         Import Revision 28.
171
172 2004-01-10  Paolo Carlini  <pcarlini@suse.de>
173
174         PR libstdc++/13630
175         * include/bits/locale_classes.h (class locale): Fix category
176         typedef.
177         * testsuite/22_locale/locale/13630.cc: Add.
178
179 2004-01-10  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
180
181         * include/bits/locale_facets.h: Make a name really dependent. This
182         will be needed when Core Issue 224 is implemented.
183
184 2004-01-09  Paolo Carlini  <pcarlini@suse.de>
185
186         * testsuite/performance/allocator.cc: Demangle typeid(obj).name().
187         * testsuite/performance/allocator_thread.cc: Likewise.
188
189 2004-01-07  Benjamin Kosnik  <bkoz@redhat.com>
190
191         * crossconfig.m4: Add LFS, io bits to linux cross config.
192         * acconfig.h: Remove obsolete bits, reorder.
193         * config.h.in: Regenerate.
194         * aclocal.m4: Same.
195         * configure: Same.
196         
197 2004-01-07  Gawain Bolton  <gp.bolton@computer.org>
198
199         * include/bits/stl_list.h:
200         * include/bits/list.tc:
201         * src/list.cc:
202         Performance enhancements for destructor, push_front(),
203         push_back(), pop_front(), pop_back(), sort()
204         Eliminated static_casts where possible.
205         Moved code out of header files into new src/list.cc
206         implementation file for library where possible.
207         Remove inheritance from iterator class and create separate
208         classes for non-constant and constant iterators.
209         * include/bits/stl_tree.h (_Rb_tree class):
210         * src/tree.cc: 
211         Only erase contents in destructor.
212         Eliminate unnecessary initialization in assignment operator.
213         Optimize for the nominal case by not checking whether
214         container is empty in clear().
215         Re-order test in _M_insert() to improve performance.
216         Move initialization of new node's left & right pointers to
217         src/tree.cc to where new node's colour is initialized
218         and to reduce the amount of inline code.
219         Use  _M_leftmost() and _M_end() to improve readability where
220         appropriate.
221         Create separate classes for non-constant and constant
222         iterators to clarify code, avoid extra template parameters and 
223         casting away constness.         
224         
225 2004-01-07  Benjamin Kosnik  <bkoz@redhat.com>
226
227         * src/Makefile.am (sources): Add list.cc, tree.cc.
228         * src/stl_tree.cc: Move to...
229         * src/tree.cc: ...here.
230         * src/list.cc: Add.
231         * config/linker-map.gnu: Tweaks.
232         * testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
233         * testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
234
235         * bits/stl_vector.h: Column wrap comments.
236         
237 2004-01-07  Loren J. Rittle  <ljrittle@acm.org>
238
239         (re-open) PR libstdc++/12658
240         * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
241         (locale::global): Likewise.
242
243 2004-01-07  Paolo Carlini  <pcarlini@suse.de>
244
245         * testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
246         Remove redundant #include.
247         * testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
248         * testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
249         re-enable normal testing.
250         * testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
251         #include.
252         * testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
253         * testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
254         Likewise.
255         * testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
256         Likewise.
257         * testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
258         Likewise.
259         * testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
260         Likewise.
261         * testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
262         Likewise.
263         * testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
264         Likewise.
265         * testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
266         Likewise.
267         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
268         More properly, #include <locale>.
269         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
270         Remove redundant #include.
271         * testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
272         * testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
273         redundant DejaGnu directive.
274         * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
275         redundant #include.
276
277 2004-01-06  Benjamin Kosnik  <bkoz@redhat.com>
278             Stefan Olsson  <stefan@snon.net>
279
280         * scripts/check_performance: Use -pthread.
281         * testsuite/performance/allocator.cc: Tweaks, add list.
282         * testsuite/performance/allocator_thread.cc: New.
283
284 2004-01-06  Jerry Quinn  <jlquinn@optonline.net>
285
286         * include/bits/locale_facets.h: Document public classes and
287         functions.
288         * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
289         Add comment.
290
291 2004-01-06  Paolo Carlini  <pcarlini@suse.de>
292
293         * testsuite/27_io/basic_istream/extractors_other/char/1.cc:
294         Remove redundant #includes.
295         * testsuite/27_io/basic_istream/extractors_other/char/2.cc:
296         Likewise.
297         * testsuite/27_io/basic_istream/extractors_other/char/3.cc:
298         Likewise.
299         * testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
300         * testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
301         * testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
302         * testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
303         * testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
304         * testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
305         * testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
306         * testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
307         * testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
308         * testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
309         * testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
310         * testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
311         * testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
312         * testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
313         * testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
314         Likewise.
315         * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
316         Likewise.
317         * testsuite/27_io/basic_istream/readsome/char/8258.cc:
318         Likewise.
319         * testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
320         Likewise.
321         * testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
322         Likewise.
323         * testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
324         * testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
325         * testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
326
327 2004-01-04  Paolo Carlini  <pcarlini@suse.de>
328
329         * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
330         Remove redundant #includes.
331         * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
332         Likewise.
333         * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
334         Likewise.
335         * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
336         Likewise.
337         * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
338         Likewise.
339         * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
340         Likewise.
341         * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
342         Likewise.
343         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
344         Likewise.
345         * testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
346         Likewise.
347         * testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
348         Likewise.
349         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
350         Likewise.
351         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
352         Likewise.
353         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
354         Likewise.
355
356 2004-01-04  Mark Mitchell  <mark@codesourcery.com>
357
358         PR c++/12226
359         * testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
360         constructor.
361         * testsuite/27_io/basic_fstream/4.cc: Likewise.
362         * testsuite/27_io/basic_ifstream/4.cc: Likewise.
363         * testsuite/27_io/basic_ios/4.cc: Likewise.
364         * testsuite/27_io/basic_iostream/4.cc: Likewise.
365         * testsuite/27_io/basic_istream/4.cc: Likewise.
366         * testsuite/27_io/basic_istingstream/4.cc: Likewise.
367         * testsuite/27_io/basic_ofstream/4.cc: Likewise.
368         * testsuite/27_io/basic_ostream/4.cc: Likewise.
369         * testsuite/27_io/basic_ostringstream/4.cc: Likewise.
370         * testsuite/27_io/basic_stringbuf/5.cc: Likewise.
371         * testsuite/27_io/basic_stringstream/4.cc: Likewise.
372
373 2004-01-04  Paolo Carlini  <pcarlini@suse.de>
374
375         * config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
376         Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
377         always use double underscored names.
378         * config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
379         Likewise.
380         * include/bits/locale_facets.h (struct __numpunct_cache):
381         Dimension _M_atoms_out and _M_atoms_in one position smaller.
382         (__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out
383         and _M_atoms_in.
384
385 2003-12-31  Paolo Carlini  <pcarlini@suse.de>
386
387         * include/bits/locale_facets.tcc (num_get::_M_extract_int,
388         num_get::_M_extract_float): According to 22.2.2.1.2, p8-9,
389         _first_ look for thousands_sep, then for decimal_point and
390         finally for digits.
391         (num_get::_M_extract_float): After the decimal_point or
392         'e'/'E', decimal_point and thousands_sep just break out the
393         parsing loop.
394         * testsuite/22_locale/num_get/get/char/11.cc: Add tests.
395         * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
396
397 2003-12-30  Paolo Carlini  <pcarlini@suse.de>
398
399         PR libstdc++/13369
400         * include/bits/locale_facets.tcc (__verify_grouping):
401         Fix to deal properly with __grouping_tmp.size() >
402         __grouping.size().
403         * testsuite/22_locale/num_get/get/char/13.cc: New.
404         * testsuite/22_locale/num_get/get/wchar_t/13.cc: Ditto.
405         
406 2003-12-29  Jerry Quinn  <jlquinn@optonline.net>
407
408         * include/bits/locale_facets.h (ctype.narrow,widen): Add cast.
409
410 2003-12-29  Paolo Carlini  <pcarlini@suse.de>
411
412         * acinclude.m4 (GLIBCXX_CHECK_LFS): Add -fno-exceptions
413         to CXXFLAGS.
414         * aclocal.m4: Regenerate.
415         * configure: Likewise.
416
417 2003-12-29  Mark Mitchell  <mark@codesourcery.com>
418
419         * acconfig.h: Add _GLIBCXX_USE_C99_MATH.
420         * acinclude.m4 (GLIBCXX_ENABLE_C99): Define GLIBCXX_USE_C99_MATH.
421         * configure.ac: Define HAVE_S_ISREG and HAVE_S_IFREG when
422         targeting newlib.
423         * aclocal.m4: Regenerated.
424         * config.h.in: Likewise.
425         * configure: Likewise.
426         * Makefile.in: Likewise.
427         * include/Makefile.in: Likewise.
428         * libmath/Makefile.in: Likewise.
429         * libsupc++/Makefile.in: Likewise.
430         * testsuite/Makefile.in: Likewise.
431         * src/Makefile.in: Likewise.
432         * po/Makefile.in: Likewise.
433         * include/c_std/std_cmath.h (_GLIBCXX_USE_C99): Replace with ...
434         (_GLIBCXX_USE_C99_MATH): ... this.
435
436         * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: XFAIL for
437         arm-none-elf.
438         * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise.
439         * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise.
440         * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise.
441         * testsuite/27_io/basic_istream/readsome/char/6476-2.cc: Likewise.
442         * testsuite/27_io/objects/char/9.cc: Likewise.
443         * testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise.
444
445 2003-12-28  Paolo Carlini  <pcarlini@suse.de>
446
447         * include/ext/pool_allocator.h (class __pool_alloc): Use
448         operator new and operator delete.
449
450 2003-12-24  Andrew Pinski  <pinskia@physics.uc.edu>
451
452         * config/cpu/i386/atomicity.h (__exchange_and_add): Fix output 
453         constraint.
454
455         PR libstdc++/13480
456         * config/cpu/i386/atomicity.h: Split up read-write memory operand.
457
458 2003-12-23  Benjamin Kosnik  <bkoz@redhat.com>
459
460         * include/ext/new_allocator.h (new_allocator): Proper allocator class.
461         (__new_alloc): Delete.
462         * include/ext/malloc_allocator.h (malloc_allocator): Same.
463         (__malloc_alloc): Delete.
464         * include/ext/mt_allocator.h: Same, but weakly.
465         * include/ext/debug_allocator.h: Convert to the new style.
466         * include/ext/pool_allocator.h: Use global new and delete directly.
467         * include/backward/alloc.h: Don't inject malloc_allocator, or
468         debug_allocator.        
469         * testsuite/ext/allocators.cc: Minimal fixups for usage of new
470         classes.  Comment out tests with __pool_alloc for now.
471         * testsuite/performance/allocator.cc: Same.
472
473 2003-12-22  Matt Austern  <austern@apple.com>
474
475         * include/bits/stl_bvector.h (_Bvector_alloc_base): Eliminate.
476         (_Bvector_base): Inherit directly from word allocator.
477         * include/bits/stl_tree.h (_Rb_tree_alloc_base): Eliminate.
478         (_Rb_tree_base): Eliminate.
479         (_Rb_tree): Inherit directly from node allocator.
480         * include/ext/slist (_Alist_alloc_base): Eliminate.
481         (_Slist_base): Inherit direcly from node allocator.
482         
483 2003-12-22  Benjamin Kosnik  <bkoz@redhat.com>
484
485         * testsuite/18_support/numeric_limits.cc: Add _GLIBCXX_ASSERT to
486         dg-options in testcases that use VERIFY.        
487         * testsuite/23_containers/vector/invalidation/1.cc: Same.
488         * testsuite/23_containers/vector/invalidation/2.cc: Same.
489         * testsuite/23_containers/vector/invalidation/3.cc: Same.
490         * testsuite/23_containers/vector/invalidation/4.cc: Same.
491         * testsuite/23_containers/vector/resize/1.cc: Same.
492         * testsuite/26_numerics/complex_value.cc: Same.
493         * testsuite/27_io/ios_base/storage/1.cc: Same.
494         * testsuite/27_io/ios_base/storage/2.cc: Same.
495         * testsuite/27_io/ios_base/storage/3.cc: Same.
496         * testsuite/27_io/manipulators/standard/char/2.cc: Same.
497         * testsuite/backward/11460.cc: Same.
498         * testsuite/backward/strstream_members.cc: Same.
499
500         * include/ext/hash_set (class hash_multiset): Fix typo.
501
502 2003-12-22  Benjamin Kosnik  <bkoz@redhat.com>  
503
504         * testsuite/27_io/objects/char/5.cc: Don't use stdc++.h.gch.
505         * testsuite/27_io/objects/wchar_t/5.cc: Same.
506         * docs/html/test.html: Add docs for constructing test files that
507         don't use stdc++.h.gch.
508         * scripts/testsuite_flags.in (PCHFLAGS): Move to --cxxpchflags. 
509         * testsuite/libstdc++-dg/normal.exp: Compute DEFAULT_CXXFLAGS
510         differently.
511
512         * include/bits/ios_base.h (ios_base::Init::_S_initialized): Remove.
513         * src/ios_init.cc: Same.
514         * config/linker-map.gnu: Same.
515         * testsuite/27_io/ios_base/cons/copy_neg.cc: Adjust line numbers.
516         * testsuite/27_io/ios_base/cons/assign_neg.cc: Same.
517                 
518 2003-12-22  Andrew Pinski  <pinskia@physics.uc.edu>
519
520         PR libstdc++/13462
521         * include/bits/stl_multiset.h (__gnu_norm::multiset): Define pointer
522         as allocator's pointer, likewise for reference, const_pointer, and
523         const_reference.
524         * include/bits/stl_set.h (__gnu_norm::set): Likewise.
525         * include/ext/hash_set (__gnu_ext::hash_set): Likewise.
526         (__gnu_ext::hash_multiset): Likewise.
527
528 2003-12-22  Paolo Carlini  <pcarlini@suse.de>
529
530         * include/bits/locale_facets.tcc (num_get::_M_extract_int,
531         num_get::_M_extract_float): According to 22.2.2.1.2, p8-9,
532         first look for decimal_point and thousands_sep, when parsing
533         sign, leading zeros (and 0, Ox, 0X for integer types) too.
534         * testsuite/22_locale/num_get/get/char/12.cc: New.
535         * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
536
537         * testsuite/22_locale/num_get/get/char/11.cc: Add a comment.
538         * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
539         
540 2003-12-20  Jason Merrill  <jason@redhat.com>
541
542         * config/cpu/powerpc/atomicity.h: Fix oversight in previous
543         change.
544
545 2003-12-20  Jerry Quinn  <jlquinn@optonline.net>
546
547         * docs/doxygen/TODO: Update.
548         * include/bits/locale_classes.h (locale, facet, id): Document.
549         * include/bits/locale_facets.tcc (has_facet, use_facet): Document.
550
551 2003-12-19  Jason Merrill  <jason@redhat.com>
552
553         * config/cpu/cris/atomicity.h: Remove memory clobbers.
554         * config/cpu/mips/atomicity.h: Likewise.
555         * config/cpu/i486/atomicity.h: Remove memory clobbers.
556         Split up read-write memory operand.
557         * config/cpu/m68k/atomicity.h: Likewise.
558         * config/cpu/powerpc/atomicity.h: Make memory I/O explicit.
559         * config/cpu/s390/atomicity.h: Likewise.
560         * config/cpu/sparc/atomicity.h: Likewise.
561
562 2003-12-20  Carlo Wood  <carlo@alinoe.com>
563
564         * bits/demangle.h
565         namespace __gnu_cxx::demangler
566         (session<Allocator>::decode_encoding): Put the postfix
567         of the return type of (member) functions after the function
568         instead of after the return type.
569
570 2003-12-19  Jerry Quinn  <jlquinn@optonline.net>
571
572         * include/bits/locale_facet.h
573         (__ctype_abstract_base,ctype<charT>,ctype<char>,ctype<wchar_t>):
574         Document.
575
576 2003-12-19  Paolo Carlini  <pcarlini@suse.de>
577
578         * include/bits/locale_facets.tcc (num_get::_M_extract_int,
579         num_get::_M_extract_float): According to 22.2.2.1.2, p8-9,
580         first look for decimal_point and thousands_sep.
581         * testsuite/22_locale/num_get/get/char/11.cc: New.
582         * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
583
584 2003-12-19  Paolo Carlini  <pcarlini@suse.de>
585
586         * include/bits/locale_facets.tcc (num_get::_M_extract_float):
587         When __found_sci becomes true stop eating thousands separators
588         and the decimal radix separator.
589         * testsuite/22_locale/num_get/get/char/9.cc: New.
590         * testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.       
591         
592         * config/locale/generic/c_locale.cc (__convert_to_v): Don't
593         check that *__sanity == '\0': parsing may stop earlier, still
594         be successful.
595         * config/locale/gnu/c_locale.cc: Likewise.
596         * testsuite/22_locale/num_get/get/char/10.cc: New.
597         * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
598         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
599         Tweak in one place accordingly.
600
601         * testsuite/22_locale/money_get/get/char/1.cc: Fix typo.
602         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
603
604 2003-12-18  Benjamin Kosnik  <bkoz@redhat.com>
605
606         * include/bits/stl_list.h: Formatting tweaks.
607         * include/bits/list.tcc: Same.
608
609 2003-12-18  Matt Austern  <austern@apple.com>
610
611         * include/bits/demangle.h: Fix allocator type correctness,
612         i.e. make sure that when we instantiate a container with a value
613         type and an allocator, the allocator's value type matches the
614         container's.
615         * include/bits/stl_deque.h (_Deque_alloc_base): Eliminate.
616         (_Deque_base): inherit directly from the deque's allocator.  Use
617         rebinding instead of _Alloc_traits.  Pick up data members from 
618         _Deque_alloc_base.
619         * include/bits/stl_list.h (_List_alloc_base): Eliminate.
620         (_List_base): Inherit directly from the list's allocator.  Use
621         rebinding instead of _Alloc_traits.  Pick up data members from 
622         _List_alloc_base.
623         * include/bits/stl_vector.h (_Vector_alloc_base): Eliminate
624         (_Vector_base): Inherit directly from the vector's allocator.  Use
625         rebinding instead of _Alloc_traits.  Pick up data members from 
626         _Vector_alloc_base.
627         * include/ext/hashtable.h: Fix allocator type correctness (the
628         vector of buckets must be passed an allocator for objects of
629         type _Node*).  Use rebinding instead of _Alloc_traits.
630         
631 2003-12-17  Paolo Carlini  <pcarlini@suse.de>
632
633         * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
634         Use narrow to get from __format[__i] a char __c representing a
635         formatting code, don't use it to compare *__beg to __format[__i].
636         * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: New.
637
638 2003-12-17  Paolo Carlini  <pcarlini@suse.de>
639
640         * testsuite/performance/container_benchmark.cc: Tweak outputs.
641
642         * testsuite/performance/list_create_fill_sort.cc: Shrink a
643         bit some outputs.
644
645         * testsuite/testsuite_performance.h: Widen a few output fields.
646
647         * testsuite/performance/ifstream_extract_int.cc: New.
648
649 2003-12-16  Phil Edwards  <phil@codesourcery.com>
650
651         * configure.ac (AM_INIT_AUTOMAKE):  Don't warn about GNU Make.
652         * configure:  Regenerated.
653         * Makefile.am (check-%):  New catch-all forwarding target.
654         * Makefile.in:  Regenerated.
655
656 2003-12-16  Paolo Carlini  <pcarlini@suse.de>
657
658         * testsuite/performance/container_benchmark.cc: New, a
659         benchmark developed by Bjarne Stroustrup and Alexander
660         Stepanov and made available with no restrictions.
661
662         * testsuite/testsuite_performance.h (report_header): New,
663         useful to produce header lines in the reports.
664
665 2003-12-16  Jonathan Wakely  <redi@gcc.gnu.org>
666
667         * docs/html/21_strings/howto.html: Document shrink-to-fit reserve().
668         * docs/html/faq/index.html: Reducing vector's capacity() to size().
669         * docs/html/documentation.html, docs/html/faq/index.txt: Regenerate.
670
671 2003-12-16  Paolo Carlini  <pcarlini@suse.de>
672
673         * testsuite/performance/narrow_widen_char.cc: Tweak the
674         number of iterations for each test.
675         * testsuite/performance/narrow_widen_wchar_t.cc: Add a
676         missing clear_counters.
677
678 2003-12-16  Paolo Carlini  <pcarlini@suse.de>
679
680         PR libstdc++/11723
681         * include/bits/locale_facets.h: Add _M_bit and _M_wmask,
682         used to speed up the computation of ctype::do_is.
683         * config/locale/generic/ctype_members.cc
684         (_M_initialize_ctype): Fill _M_bit and _M_wmask.
685         (ctype::do_is): Use _M_bit and _M_wmask.
686         * config/locale/gnu/ctype_members.cc: Likewise.
687         * testsuite/performance/is_wchar_t.cc: New.
688
689         * testsuite/performance/narrow_widen_wchar_t.cc: Tweak
690         string literal (incorrect citation ;)
691
692         * include/bits/locale_facets.h: Minor tweaks, const
693         correctness, unsigned -> size_t.
694
695 2003-12-16  Jerry Quinn  <jlquinn@optonline.net>
696
697         * include/bits/locale_facets.h (widen, narrow):  Uncomment the
698         intended code.
699
700 2003-12-15  Jerry Quinn  <jlquinn@optonline.net>
701
702         * config/os/aix/ctype_noninline.h,
703         config/os/bsd/freebsd/ctype_noninline.h,
704         config/os/bsd/netbsd/ctype_noninline.h,
705         config/os/djgpp/ctype_noninline.h,
706         config/os/generic/ctype_noninline.h,
707         config/os/gnu-linux/ctype_noninline.h,
708         config/os/hpux/ctype_noninline.h,
709         config/os/irix/irix5.2/ctype_noninline.h,
710         config/os/irix/irix6.5/ctype_noninline.h,
711         config/os/mingw32/ctype_noninline.h,
712         config/os/newlib/ctype_noninline.h,
713         config/os/qnx/qnx6.1/ctype_noninline.h,
714         config/os/solaris/solaris2.5/ctype_noninline.h,
715         config/os/solaris/solaris2.6/ctype_noninline.h,
716         config/os/solaris/solaris2.7/ctype_noninline.h,
717         config/os/vxworks/ctype_noninline.h,
718         config/os/windiss/ctype_noninline.h (ctype):  Initialize
719         _M_narrow, _M_widen.
720         * include/bits/locale_facets.h (_M_widen, _M_widen_ok,
721         _M_narrow, _M_narrow_ok): New.
722         (widen, narrow): Use tables to bypass virtual functions.
723         (_M_widen_init, _M_narrow_init): New.
724
725 2003-12-15  Carlo Wood  <carlo@alinoe.com>
726
727         * include/bits/ios_base.h (Init::_S_initialized): Change into
728         declaration.
729         * src/ios_init.cc (Init::_S_initialized): Add definition.
730
731 2003-12-15  Benjamin Kosnik  <bkoz@redhat.com>
732
733         PR libstdc++/12658
734         * include/Makefile.am (bits_headers): Add concurrence.h.
735         * include/Makefile.in: Regenerated.
736         * include/bits/concurrence.h: New.
737         * src/locale_init.cc: Use it.
738         (locale::locale): Lock critical regions.
739         (locale::global): Same.
740         
741 2003-12-15  Benjamin Kosnik  <bkoz@redhat.com>
742
743         * include/bits/basic_string.h: Change _*_references to _*_refcount.
744         * include/bits/locale_classes.h: Same.
745         * src/locale.cc: Same.
746         * src/locale_name.cc: Same.     
747         * src/locale_init.cc: Same.     
748         
749 2003-12-15  Benjamin Kosnik  <bkoz@redhat.com>
750
751         PR libstdc++/12855      
752         * include/bits/ios_base.h (Init::_S_ios_base_init): Change to
753         _S_refcount, make atomic.
754         * src/ios.cc: Adjust definition.        
755         * src/ios_init.cc (ios_base::Init::Init): Use __exchange_and_add,
756         and __atomic_add.
757         (ios_base::Init::~Init): Same.
758         * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
759         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
760         
761 2003-12-15  Paolo Carlini  <pcarlini@suse.de>
762
763         * include/bits/locale_facets.tcc (num_get::do_get(bool&)):
764         Fail as soon as the begins of both truename and falsename
765         stop to match; always leave __beg one position beyond the
766         last char successfully matched.
767         * testsuite/22_locale/num_get/get/char/8.cc: New.
768         * testsuite/22_locale/num_get/get/wchar_t/8.cc: Likewise.
769
770 2003-12-15  Paolo Carlini  <pcarlini@suse.de>
771
772         * include/bits/locale_facets.h (_M_widen): Reserve space
773         for all the possible widened chars.     
774         * config/locale/generic/ctype_members.cc (_M_initialize_ctype):
775         Compute at construction time all the possible widened chars.
776         (do_widen): Tweak, simplify.
777         * config/locale/gnu/ctype_members.cc: Likewise.
778         * testsuite/performance/narrow_widen_wchar_t.cc: Add tests
779         for the array versions.
780
781 2003-12-12  Paolo Carlini  <pcarlini@suse.de>
782             Benjamin Kosnik  <bkoz@redhat.com>
783
784         PR libstdc++/13341
785         * include/bits/locale_facets.h (ctype<wchar_t>): Declare
786         _M_initialize_ctype() and _M_narrow_ok, _M_narrow and _M_widen.
787         * src/ctype.cc (ctype<wchar_t>::ctype(size_t),
788         ctype<wchar_t>::ctype(__c_locale, size_t)): Use
789         _M_initialize_ctype to fill _M_narrow and _M_widen.
790         (ctype_byname<wchar_t>::ctype_byname(const char*, size_t)):
791         Likewise.
792         * config/locale/generic/ctype_members.cc (do_narrow, do_widen)
793         Use _M_narrow and _M_widen when possible, instead of calling
794         wctob and btowc, respectively.
795         (_M_initialize_ctype): Define, it fills at construction time
796         _M_narrow and _M_widen.
797         * config/locale/gnu/ctype_members.cc: Likewise.
798         * testsuite/performance/narrow_widen_wchar_t.cc: New.
799
800 2003-12-12  Jonathan Wakely  <redi@gcc.gnu.org>
801
802         * docs/html/faq/index.txt: Regenerate after adding <link> tags.
803
804 2003-12-11  Neil Ferguson  <nferguso@eso.org>
805             Paolo Carlini  <pcarlini@suse.de>
806
807         * include/bits/basic_string.tcc (reserve): Allow shrink-to-fit.
808         * testsuite/21_strings/basic_string/capacity/1.cc: Tweak.
809         * testsuite/21_strings/basic_string/capacity/char/1.cc: Ditto.
810         * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Ditto.
811
812 2003-12-10  Benjamin Kosnik  <bkoz@redhat.com>
813
814         PR libstdc++/6243
815         * testsuite/lib/libstdc++.exp (v3-init): Add
816         original_ld_library_path, calculate ld_library path, set
817         LD_LIBRARY_PATH to both. Based on libjava.exp.
818         
819 2003-12-10  Benjamin Kosnik  <bkoz@redhat.com>
820             Alexandre Oliva  <aoliva@redhat.com>
821         
822         PR libstdc++/11612
823         * testsuite/Makefile.am (GLIBCXX_DIR): New.
824         (GLIBGCC_DIR): New.
825         (CXXLINK): Use both with -R so libtool links the correct libs.
826
827 2003-12-10  Paolo Carlini  <pcarlini@suse.de>
828
829         PR libstdc++/13217
830         * include/bits/fstream.tcc (underflow): Deal gracefully with
831         read errors: throw ios_base::failure.
832
833 2003-12-10  Benjamin Kosnik  <bkoz@redhat.com>
834
835         PR libstdc++/10063
836         * config/io/basic_file_stdio.cc (__basic_file::sys_open): Sync.
837         * testsuite/ext/stdio_filebuf/char/10063-1.cc: New.
838         * testsuite/ext/stdio_filebuf/char/10063-2.cc: New.
839         
840 2003-12-10  Paolo Carlini  <pcarlini@suse.de>
841
842         * include/bits/locale_facets.tcc (num_put::do_put(void*)):
843         Remove the try/catch, not necessary.
844
845 2003-12-10  Paolo Carlini  <pcarlini@suse.de>
846
847         * testsuite/22_locale/locale/cons/12438.cc: Tweak memory
848         limit and iterations to avoid spurious failures on some
849         64 bit machines.
850
851 2003-12-09  Benjamin Kosnik  <bkoz@redhat.com>
852         
853         * config/linker-map.gnu: Remove private ios_base members from
854         export list.
855
856         * config/cpu/alpha/atomicity.h: Consistently format.
857         * config/cpu/cris/atomicity.h: Same.
858         * config/cpu/generic/atomicity.h: Same.
859         * config/cpu/hppa/atomicity.h: Same.
860         * config/cpu/i386/atomicity.h: Same.
861         * config/cpu/i486/atomicity.h: Same.
862         * config/cpu/ia64/atomicity.h: Same.
863         * config/cpu/m68k/atomicity.h: Same.
864         * config/cpu/mips/atomicity.h: Same.
865         * config/cpu/powerpc/atomicity.h: Same.
866         * config/cpu/s390/atomicity.h: Same.
867         * config/cpu/sparc/atomicity.h: Same.
868         
869 2003-12-09  Benjamin Kosnik  <bkoz@redhat.com>
870
871         PR libstdc++/13296
872         * acinclude.m4 (GLIBCXX_ENABLE_LIBUNWIND_EXCEPTIONS): Remove.
873         * aclocal.m4: Regenerate.
874         * configure.ac: Remove call to GLIBCXX_ENABLE_LIBUNWIND_EXCEPTIONS.
875         * conigure: Regenerate.
876         * src/Makefile.am (libstdc___la_LDFLAGS): Remove LIBUNWIND_FLAGS.
877         * src/Makefile.in: Regenerate.
878         * docs/html/17_intro/configury.html: Modify.
879         
880 2003-12-09  Paolo Carlini  <pcaelini@suse.de>
881         
882         * include/bits/demangle.h (struct implementation_details):
883         Keep in comments the names of the unused parameters.
884
885 2003-12-09  Paolo Carlini  <pcaelini@suse.de>
886
887         * include/bits/demangle.h (struct implementation_details):
888         Fix unused parameters warning.
889
890 2003-12-09  Paolo Carlini  <pcarlini@suse.de>
891
892         * include/bits/locale_facets.tcc (num_get::_M_extract_int):
893         Slightly streamline the code dealing with overflows and the
894         parsing of the sign.
895
896 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
897
898         * include/ext/algorithm, include/ext/debug_allocator.h,
899         include/ext/enc_filebuf.h, include/ext/functional,
900         include/ext/hash_fun.h, include/ext/hash_map, include/ext/hash_set,
901         include/ext/hashtable.h, include/ext/iterator,
902         include/ext/malloc_allocator.h, include/ext/memory,
903         include/ext/mt_allocator.h, include/ext/numeric,
904         include/ext/pod_char_traits.h, include/ext/pool_allocator.h,
905         include/ext/rb_tree, include/ext/rope, include/ext/ropeimpl.h,
906         include/ext/slist, include/ext/stdio_filebuf.h,
907         include/ext/stdio_sync_filebuf.h: Remove trailing whitespace.
908
909 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
910
911         * include/debug/bitset, include/debug/debug.h, include/debug/deque,
912         include/debug/formatter.h, include/debug/hash_map.h,
913         include/debug/hash_multimap.h, include/debug/hash_multiset.h,
914         include/debug/hash_set, include/debug/hash_set.h, include/debug/list,
915         include/debug/map.h, include/debug/multimap.h,
916         include/debug/multiset.h, include/debug/safe_base.h,
917         include/debug/safe_iterator.h, include/debug/safe_iterator.tcc,
918         include/debug/safe_sequence.h, include/debug/set.h,
919         include/debug/string, include/debug/vector: Remove trailing whitespace.
920
921 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
922
923         * include/c_compatibility/iso646.h, include/c_compatibility/limits.h,
924         include/c_compatibility/locale.h, include/c_compatibility/stdio.h,
925         include/c_compatibility/string.h, include/c_compatibility/time.h,
926         include/c_compatibility/wchar.h, include/c_compatibility/wctype.h:
927         Remove trailing whitespace.
928
929 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
930
931         * include/c_std/cmath.tcc, include/c_std/std_cassert.h,
932         include/c_std/std_cctype.h, include/c_std/std_cmath.h,
933         include/c_std/std_cstddef.h, include/c_std/std_cstdio.h,
934         include/c_std/std_cstdlib.h, include/c_std/std_cstring.h,
935         include/c_std/std_cwchar.h, include/c_std/std_cwctype.h:
936         Remove trailing whitespace.
937
938 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
939
940         * include/c/std_cctype.h, include/c/std_cmath.h,
941         include/c/std_cstdlib.h include/c/std_cwchar.h,
942         include/c/std_cwctype.h: Remove trailing whitespace.
943
944 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
945
946         * include/backward/algo.h, include/backward/algobase.h,
947         include/backward/alloc.h, include/backward/complex.h,
948         include/backward/defalloc.h, include/backward/function.h,
949         include/backward/iterator.h, include/backward/new.h,
950         include/backward/ostream.h, include/backward/queue.h,
951         include/backward/rope.h, include/backward/stream.h,
952         include/backward/streambuf.h, include/backward/strstream,
953         include/backward/tempbuf.h, include/backward/tree.h,
954         include/backward/vector.h: Remove trailing whitespace.
955
956 2003-12-08  Paolo Carlini  <pcarlini@suse.de>
957
958         * config/locale/generic/c_locale.cc (__convert_to_v(long&),
959         __convert_to_v(unsigned long&), __convert_to_v(long long&),
960         __convert_to_v(unsigned long long&): Remove.
961         (__convert_to_v(float&), __convert_to_v(double&),
962         __convert_to_v(long double&)): Remove last unused parameter.
963         * config/locale/gnu/c_locale.cc: Likewise.
964         * include/bits/locale_facets.h: Likewise.
965         (num_get::_M_extract_int): Update declaration.
966         (class __num_base): Tweak _S_ie and _S_iE according to the
967         _S_atoms_in changes.
968         * include/bits/locale_facets.tcc (num_get::_M_extract_int):
969         Provide directly the final _ValueT, not a string: accumulate
970         the result checking for overflow at each digit.
971         (num_get::do_get(bool&), num_get::do_get(long&),
972         num_get::do_get(unsigned short&), num_get::do_get(unsigned int&),
973         num_get::do_get(unsigned long&), num_get::do_get(long long&),
974         num_get::do_get(unsigned long long&), num_get::do_get(void*&)):
975         Use the new _M_extract_int, simplify.
976         * src/locale-inst.cc (num_get::_M_extract_int(long&),
977         num_get::_M_extract_int(unsigned short&),
978         num_get::_M_extract_int(unsigned int&),
979         num_get::_M_extract_int(unsigned long&),
980         num_get::_M_extract_int(long long&),
981         num_get::_M_extract_int(unsigned long long&): Instantiate.
982         * src/locale_facets.cc (__num_base::_S_atoms_in): Reorder
983         the chars in the natural order: abcdefABCDEF.
984
985 2003-12-08  David S. Miller  <davem@redhat.com>
986
987         PR libstdc++/12496
988         * config/cpu/sparc/atomicity.h (__exchange_and_add, __atomic_add):
989         Extend increment to _Atomic_word before giving to assembler.
990
991 2003-12-06  Benjamin Kosnik  <bkoz@redhat.com>
992
993         * testsuite/ext/enc_filebuf/char/13189.cc: Guard for __enc_traits.
994         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
995         
996 2003-12-06  Benjamin Kosnik  <bkoz@redhat.com>
997
998         PR libstdc++/11691 
999         * include/ext/stdio_filebuf.h (stdio_filebuf::stdio_filebuf):
1000         Remove __del argument to file descriptor constructor.
1001         * config/io/basic_file_stdio.h (__basic_file::sys_open): Remove
1002         bool argument.
1003         * config/io/basic_file_stdio.cc: Same.
1004
1005 2003-12-05  Benjamin Kosnik  <bkoz@redhat.com>
1006
1007         PR libstdc++/13189
1008         * include/ext/enc_filebuf.h: Fix.
1009         * include/bits/fstream.tcc: Tweak formatting.
1010         * include/bits/postypes.h: Same.
1011         * include/bits/sstream.tcc: Same.
1012         * include/bits/streambuf.tcc: Same.
1013         * testsuite/ext/stdio_filebuf.cc: Split.
1014         * testsuite/ext/stdio_filebuf_2.cc: Split.
1015         * testsuite/ext/stdio_sync_filebuf_char.cc: Split.
1016         * testsuite/ext/stdio_sync_filebuf_wchar_t.cc: Split.
1017         * testsuite/ext/enc_filebuf/char/13189.cc: New.
1018         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: New.
1019         * testsuite/ext/stdio_filebuf/char/1.cc: New.
1020         * testsuite/ext/stdio_filebuf/char/2.cc: New.
1021         * testsuite/ext/stdio_sync_filebuf/char/1.cc: New.
1022         * testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: New.
1023         * testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: New.
1024         * testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: New.
1025         * testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: New.
1026         * testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: New.
1027         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: New.
1028         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: New.
1029         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: New.
1030         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: New.
1031
1032 2003-12-05  Carlo Wood  <carlo@alinoe.com>
1033
1034         PR libstdc++/13045
1035         * bits/demangle.h
1036         namespace __gnu_cxx::demangler
1037         (enum substitution_nt): Removed trailing comma.
1038         (implementation_details): Added.
1039         (session<Allocator>::M_implementation_details): Added.
1040         (session<Allocator>::session): Pass implementation_details.
1041         (session<Allocator>::decode_encoding): Same.
1042         (session<Allocator>::decode_real): Added.
1043         (_GLIBCXX_DEMANGLER_STYLE_VOID _GLIBCXX_DEMANGLER_STYLE_LITERAL
1044         _GLIBCXX_DEMANGLER_STYLE_LITERAL_INT
1045         _GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS
1046         _GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME): Replaced with
1047         implementation_details equivalent.
1048         (session<Allocator>::decode_expression):
1049         Use M_implementation_details instead of macros. Add extra parentheses
1050         around 'larger than' operator in expressions in template arguments.
1051         (session<Allocator>::decode_bare_function_type): Idem.
1052         (session<Allocator>::decode_literal):
1053         Idem, and call decode_real for floating literals.
1054         (session<Allocator>::decode_type_with_postfix): Put the postfix
1055         of the return type of (member) functions after the function
1056         instead of after the return type.  Also, put a space after the
1057         prefix of qualified function pointers: "int (* const<space>".
1058         * src/demangle.cc: include most dependent header file first.
1059         * testsuite/demangle/regression/cw-16.cc: Updated two
1060         and added three tests.
1061
1062 2003-12-04  Benjamin Kosnik  <bkoz@redhat.com>
1063
1064         PR libstdc++/13284
1065         * include/bits/stl_algo.h (__random_number): Remove.
1066         (random_shuffle): Use rand, as permitted by DR 395.
1067         * include/ext/algorithm: Same.
1068         * linkage.m4 (GLIBCXX_CHECK_STDLIB_SUPPORT): Remove lrand48.
1069         * acconfig.h: Same.
1070         * crossconfig.m4: Remove HAVE_DRAND48, HAVE_LRAND48.
1071         * config.h.in: Regenerated.
1072         * configure: Same.
1073         * aclocal.m4: Same.
1074         
1075 2003-12-04  Paolo Carlini  <pcarlini@suse.de>
1076
1077         PR libstdc++/12653
1078         * include/std/std_bitset.h (operator>>): Implement resolution
1079         of DR 303 [WP]: use widen('0') and widen('1').
1080         * docs/html/ext/howto.html: Add an entry for DR 303.
1081
1082         * include/std/std_bitset.h (operator>>): Implement the common
1083         requirements of formatted input functions (27.6.1.2.1).
1084
1085         * include/std/std_bitset.h (operator>>): Set the failbit when
1086         nothing was extracted and _Nb != 0.
1087         * testsuite/23_containers/bitset/input/1.cc: New.
1088
1089 2003-12-03  Paolo Carlini  <pcarlini@suse.de>
1090
1091         PR libstdc++/12791
1092         * include/bits/locale_facets.tcc (time_get::_M_extract_num):
1093         Rewrite, stop the parsing as soon as a digit cannot possibly
1094         lead to a final number within the bounds; otherwise, simplify,
1095         avoiding __ctype.is() and atoi().
1096         * testsuite/22_locale/time_get/get_date/char/12791.cc: New.
1097         * testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: New.
1098
1099         * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
1100         Minor tweak: a 4-digit integer cannot be bigger than 9999.
1101
1102         * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Use
1103         type-correct wchar_t string literals.
1104         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Ditto.
1105         * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Ditto.
1106         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Ditto.
1107         * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Ditto.
1108
1109 2003-12-02  Paolo Carlini  <pcarlini@suse.de>
1110
1111         * include/bits/locale_facets.tcc (time_get::do_get_year):
1112         Avoid using a basic_string and calling a full blown strtol
1113         (via __convert_to_v) for simple 2 or 4 digits, base 10,
1114         positive integers; simplify.
1115
1116 2003-12-02  Paolo Carlini  <pcarlini@suse.de>
1117
1118         * config/locale/gnu/monetary_members.cc
1119         (money_base::_S_construct_pattern): For case 3: and 4:
1120         exchanging 'if (__precedes)' and 'if (__space)' allows
1121         to factor out a few more assignments.
1122
1123 2003-12-01  Benjamin Kosnik  <bkoz@redhat.com>
1124
1125         * include/bits/basic_ios.h (basic_ios::setstate): Revert.
1126         * include/bits/istream.tcc: Only call setstate if __err != goodbit.
1127         * include/bits/ostream.tcc: Same.
1128         * testsuite/27_io/basic_ios/exceptions/char/2.cc: New.
1129         
1130         * testsuite/testsuite_io.h (__gnu_test::fail_streambuf): Make
1131         internal buffer non-static.
1132
1133 2003-12-01  Benjamin Kosnik  <bkoz@redhat.com>
1134
1135         * docs/html/17_intro/C++STYLE: Add exception bits.
1136         * include/bits/fstream.tcc: Add location info to exception strings.
1137
1138         * include/bits/stl_construct.h: Formatting tweaks.
1139
1140 2003-12-01  Paolo Carlini  <pcarlini@suse.de>
1141
1142         PR libstdc++/10378
1143         * include/bits/allocator.h (allocator::construct): Implement
1144         resolution of DR 402 [Ready] (in Revision 28).
1145         * include/bits/allocator_traits.h (__allocator::construct):
1146         Likewise.
1147         * include/bits/stl_construct.h (_Construct): Likewise.
1148         * testsuite/20_util/allocator_members.cc: Move to...
1149         * testsuite/20_util/allocator/1.cc: ... here.
1150         * testsuite/20_util/allocator/10378.cc: New.
1151         * docs/html/ext/howto.html: Add an entry for DR 402.
1152
1153 2003-11-30  Paolo Carlini  <pcarlini@suse.de>
1154
1155         * config/locale/gnu/codecvt_members.cc (codecvt::do_in,
1156         codecvt::do_length): More minor tweaks.
1157
1158 2003-11-30  Paolo Carlini  <pcarlini@suse.de>
1159
1160         * config/locale/gnu/codecvt_members.cc (codecvt::do_in):
1161         Minor stylistic tweak.
1162
1163 2003-11-30  Paolo Carlini  <pcarlini@suse.de>
1164
1165         * include/bits/locale_facets.tcc (num_put::do_put(..., bool)):
1166         Minor tweaks, consistent with the style used in other facets.
1167
1168 2003-11-29  Paolo Carlini  <pcarlini@suse.de>
1169
1170         * include/bits/fstream.tcc (underflow): Minor tweaks in
1171         preparation for libstdc++/13217.
1172
1173 2003-11-29  Paolo Carlini  <pcarlini@suse.de>
1174
1175         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc:
1176         Tweak for a few small problems (fix timings, use VERIFY..)
1177
1178 2003-11-28  Paolo Carlini  <pcarlini@suse.de>
1179
1180         * testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc: Remove.
1181         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: New,
1182         the original third testcase for libstdc++/13171 belong here.
1183
1184 2003-11-28  Paolo Carlini  <pcarlini@suse.de>
1185
1186         * testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc:
1187         Remove extraneous wchar_t lines.
1188         
1189 2003-11-27  Paolo Carlini  <pcarlini@suse.de>
1190
1191         PR libstdc++/11544
1192         PR libstdc++/11603
1193         * include/bits/fstream.tcc (underflow): Throw ios_base::failure
1194         upon incomplete or invalid byte sequences in the file.
1195         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc: New.
1196         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc: New.
1197         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc: New.
1198
1199 2003-11-27  Paolo Carlini  <pcarlini@suse.de>
1200
1201         * include/std/std_streambuf.h (__copy_streambufs): Remove
1202         the first, unused, basic_ios<> parameter.
1203         * src/streambuf-inst.cc: Likewise.
1204         * include/bits/streambuf.tcc: Likewise.
1205         * include/bits/istream.tcc (operator>>(__streambuf_type*)):
1206         Tweak accordingly the call.
1207         * include/bits/ostream.tcc (operator<<(__streambuf_type*)):
1208         Likewise.
1209
1210         * include/bits/streambuf.tcc (__copy_streambufs): Remove
1211         redundant try/catch.
1212
1213 2003-11-26  Benjamin Kosnik  <bkoz@redhat.com>
1214
1215         PR libstdc++/9371
1216         PR libstdc++/9546
1217         PR libstdc++/10093
1218         PR libstdc++/10095
1219         * include/bits/basic_ios.h (basic_ios::setstate): Elide if goodbit.
1220         (basic_ios::_M_setstate): Consolidate common error handling code.
1221         * include/bits/basic_ios.tcc: Tweak.
1222         * include/bits/fstream.tcc: Tweak.
1223         * include/bits/istream.tcc: Use _M_setstate for common exception
1224         handling. Move setstate calls after catch. 
1225         (basic_istream::tellg): Check for exceptions thrown by streambuf
1226         virtual functions.
1227         (basic_istream::seekg): Same.
1228         * include/bits/ostream.tcc: Same, but for ostream.
1229         (basic_ostream::flush): Check for exceptions thrown by streambuf
1230         virtual functions.
1231         (basic_istream::tellp): Same.   
1232         (basic_istream::seekp): Same.
1233         * include/bits/locale_facets.tcc: Tweak.
1234         * include/bits/streambuf.tcc: Tweak.
1235         (__copy_streambufs): Propagate exceptions.
1236         * testsuite/testsuite_io.h (fail_streambuf): New.
1237         (fail_num_get): New.
1238         (fail_num_put): New.
1239         (facet_error): New.
1240         (underflow_error): New.
1241         (overflow_error): New.  
1242         (positioning_error): New.       
1243         * testsuite/27_io/basic_istream/exceptions/char/9561.cc: Tweak.
1244         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
1245         exceptions_badbit_throw.cc, exceptions_failbit.cc,
1246         exceptions_failbit_throw.cc: New.
1247         * testsuite/27_io/basic_istream/extractors_other/char/
1248         error_failbit.cc, exceptions_badbit_throw.cc,
1249         exceptions_failbit_throw.cc, exceptions_null.cc: New.
1250         * testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc: 
1251         New.
1252         * testsuite/27_io/basic_istream/tellg/char/exceptions_badbit_throw.cc:
1253         New.
1254         * testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc:
1255         New.
1256         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
1257         exceptions_badbit_throw.cc, exceptions_failbit_throw.cc: New.
1258         * testsuite/27_io/basic_ostream/inserters_other/char/
1259         error_failbit.cc, exceptions_badbit_throw.cc,
1260         exceptions_failbit_throw.cc, exceptions_null.cc: New.
1261         * testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc: 
1262         New.
1263         * testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc: 
1264         New.
1265
1266 2003-11-26  Benjamin Kosnik  <bkoz@redhat.com>
1267
1268         PR libstdc++/12297
1269         * include/bits/istream.tcc
1270         (basic_istream::sentry::sentry): Set failbit and eofbit when eof.
1271         * testsuite/27_io/basic_istream/sentry/char/12297.cc: New.
1272         
1273 2003-11-26  Paolo Carlini  <pcarlini@suse.de>
1274             Petur Runolfsson  <peturr02@ru.is>
1275
1276         PR libstdc++/13171
1277         * include/bits/fstream.tcc (imbue): Relax the conditions under
1278         which the function succeeds: allow for two consecutive calls with
1279         the same name; state dependent encodings are ok even after open
1280         if at the beginning of the file; don't check seekoff return value
1281         (pipes, cin, cout, etc...)
1282         * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: New.
1283         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: New.
1284         * testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc: New.
1285         * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: New.
1286         * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Tweak comment.
1287         * testsuite/27_io/basic_filebuf/imbue/char/3.cc: Likewise.
1288         * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Tweak comment.
1289         * testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: Likewise.
1290
1291         * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: More
1292         correctly use the UTF-8 locale appearing in the PR.
1293
1294 2003-11-26  Paolo Carlini  <pcarlini@suse.de>
1295
1296         * include/bits/locale_facets.h
1297         (__numpunct_cache<>::_M_cache): Avoid zeroing _M_grouping,
1298         _M_truename and _M_falsename: the constructor always does
1299         it immediately before the _M_cache call.
1300
1301 2003-11-25  Paolo Carlini  <pcarlini@suse.de>
1302
1303         * config/locale/gnu/codecvt_members.cc (codecvt::do_length):
1304         Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the
1305         former is very fast, but stops if encounters a NUL.
1306         (codecvt::do_out): Tweaks.
1307         (codecvt::do_in): Tweaks, improve the code dealing with errors.
1308         * testsuite/performance/wchar_t_length.cc: New.
1309
1310 2003-11-24  Paolo Carlini  <pcarlini@suse.de>
1311
1312         * config/locale/gnu/codecvt_members.cc (codecvt::do_in):
1313         Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the
1314         former is very fast, but stops if encounters a NUL.
1315         (codecvt::do_out): Tweak.
1316         * testsuite/performance/wchar_t_in.cc: New.
1317
1318 2003-11-24  Paolo Carlini  <pcarlini@suse.de>
1319
1320         * include/bits/locale_facets.h
1321         (__numpunct_cache<>::_M_cache): Set _M_allocated at the beginning
1322         in order to avoid memory leaks; simplify a bit.
1323
1324 2003-11-24  Benjamin Kosnik  <bkoz@redhat.com>
1325         
1326         * include/bits/streambuf_iterator.h (ostreambuf_iterator): Remove
1327         non-standard throw specs.
1328         * testsuite/24_iterators/istreambuf_iterator.cc: Split into...
1329         * testsuite/24_iterators/istreambuf_iterator/1.cc
1330         * testsuite/24_iterators/istreambuf_iterator/2.cc
1331         * testsuite/24_iterators/istreambuf_iterator/2627.cc
1332         * testsuite/24_iterators/ostreambuf_iterator.cc: Split into...
1333         * testsuite/24_iterators/ostreambuf_iterator/1.cc
1334         * testsuite/24_iterators/ostreambuf_iterator/2.cc
1335
1336         * testsuite/24_iterators/reverse_iterator/1.cc: Just compile,
1337         don't link.
1338         
1339         * include/bits/allocator.h: Formatting tweak.
1340         
1341 2003-11-24  Paolo Carlini  <pcarlini@suse.de>
1342
1343         * src/locale_init.cc: Cosmetic reformatting.
1344
1345 2003-11-23  Paolo Carlini  <pcarlini@suse.de>
1346
1347         * include/bits/locale_facets.tcc (__add_grouping):
1348         Cosmetic reformatting.
1349
1350 2003-11-23  Paolo Carlini  <pcarlini@suse.de>
1351
1352         * include/bits/locale_facets.tcc (_M_extract_float,
1353         _M_extract_int): Remove a wrong comment and simplify
1354         the corresponding code using char_traits::find().
1355
1356 2003-11-22  Paolo Carlini  <pcarlini@suse.de>
1357
1358         * config/locale/gnu/monetary_members.cc
1359         (money_base::_S_construct_pattern): Factor out two assignments.
1360
1361 2003-11-22  Paolo Carlini  <pcarlini@suse.de>
1362
1363         * include/bits/istream.tcc (getline(basic_string<>&)):
1364         Fix error in comment of the previous commit.
1365
1366 2003-11-22  Paolo Carlini  <pcarlini@suse.de>
1367
1368         PR libstdc++/12593
1369         * include/bits/istream.tcc (operator>>(basic_string<>&),
1370         getline(basic_string<>&)): Implement resolution of DR 91 [WP];
1371         fix some minor issues with the exit conditions.
1372         * docs/html/ext/howto.html: Add an entry for DR 91.
1373
1374 2003-11-21  Paolo Carlini  <pcarlini@suse.de>
1375
1376         * config/locale/gnu/monetary_members.cc
1377         (money_base::_S_construct_pattern): Factor out an assignment.
1378
1379 2003-11-21  Paolo Carlini  <pcarlini@suse.de>
1380
1381         PR libstdc++/12882 (partial)
1382         * acinclude.m4 (GLIBCXX_CHECK_LFS): Check fseeko64
1383         and ftello64 too.
1384         * include/ext/stdio_sync_filebuf.h (seekoff): Use fseeko64
1385         and ftello64 if available.
1386         * aclocal.m4: Regenerate.
1387         * configure: Ditto.
1388
1389 2003-11-20  Benjamin Kosnik  <bkoz@redhat.com>
1390
1391         * include/debug/formatter.h: Use _Tp as template argument.
1392         * src/debug.cc: Same, instantiate std::size_t.
1393         
1394 2003-11-20  Benjamin Kosnik  <bkoz@redhat.com>
1395
1396         PR libstdc++/13109
1397         * include/debug/formatter.h (_Error_formatter::_M_format_word): New.
1398         * src/debug.cc (__gnu_debug): Format. 
1399         (_Error_formatter::_M_format_word): Define, use, instantiate.
1400
1401 2003-11-20  Paolo Carlini  <pcarlini@suse.de>
1402
1403         PR libstdc++/11602
1404         * config/locale/gnu/codecvt_members.cc (codecvt::do_out):
1405         Rewrite, using both wcsnrtombs and wcrtomb in a loop: the
1406         former is very fast, but stops if encounters a NUL.
1407         * testsuite/performance/wchar_t_out.cc: New, from the PR.
1408
1409 2003-11-19  Paolo Carlini  <pcarlini@suse.de>
1410
1411         * config/locale/gnu/codecvt_members.cc (do_out): If
1412         we can upper bound the total number of external chars
1413         to something smaller than __to_end - __to, avoid the
1414         temporary buffer, the memcopy and simplify the loop.
1415         * config/locale/generic/codecvt_members.cc (do_out):
1416         Likewise.
1417
1418 2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
1419
1420         * testsuite/lib/libstdc++.exp: Add DYLD_LIBRARY_PATH for darwin.
1421         * testsuite/libstdc++-dg/normal.exp: Add -multiply_defined suppress
1422         flag.
1423
1424 2003-11-18  Jonathan Wakely  <redi@gcc.gnu.org>
1425
1426         * docs/html/configopts.html, docs/html/debug.html,
1427         docs/html/documentation.html, docs/html/explanations.html,
1428         docs/html/install.html, docs/html/17_intro/contribute.html,
1429         docs/html/17_intro/howto.html, docs/html/17_intro/license.html,
1430         docs/html/18_support/howto.html, docs/html/19_diagnostics/howto.html,
1431         docs/html/20_util/howto.html, docs/html/21_strings/howto.html,
1432         docs/html/22_locale/codecvt.html, docs/html/22_locale/ctype.html,
1433         docs/html/22_locale/howto.html, docs/html/22_locale/locale.html,
1434         docs/html/22_locale/messages.html, docs/html/23_containers/howto.html,
1435         docs/html/24_iterators/howto.html, docs/html/25_algorithms/howto.html,
1436         docs/html/26_numerics/howto.html, docs/html/27_io/howto.html,
1437         docs/html/ext/howto.html, docs/html/ext/sgiexts.html: Add <link> tags.
1438
1439 2003-11-18  Paolo Carlini  <pcarlini@suse.de>
1440
1441         PR libstdc++/12868
1442         * include/bits/fstream.tcc (imbue): For encodings != -1 it's
1443         always ok to imbue a new locale, provided seekoff(0, cur, ...)
1444         doesn't fail, of course.
1445         (underflow): In order for the above to work, deal gracefully
1446         with _M_codecvt->in returning codecvt_base::error while 
1447         (__ilen = __iend - this->eback()) > 0: it just means __ilen
1448         correctly converted internal characters before an error.        
1449         * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: New.
1450
1451 2003-11-17  Paolo Carlini  <pcarlini@suse.de>
1452
1453         * include/bits/locale_facets.tcc: Fix typo in comment.
1454
1455 2003-11-17  Paolo Carlini  <pcarlini@suse.de>
1456
1457         * testsuite/22_locale/num_put/put/char/8.cc: New test,
1458         summarizing the discussion ensuing libstdc++/12988.
1459         * testsuite/22_locale/num_put/put/wchar_t/8.cc: Ditto.
1460
1461 2003-11-15  Paolo Carlini  <pcarlini@suse.de>
1462
1463         * include/std/std_fstream.h: Tweak a comment.
1464
1465 2003-11-15  Roger Sayle  <roger@eyesopen.com>
1466
1467         * include/c_std/std_cmath.h: Don't import C99's float transcendentals
1468         into the __gnu_cxx::__c99_binding namespace.
1469         (acos, asin, atan, atan2, ceil, cosh, exp, floor, fmod, frexp,
1470         ldexp, log, log10, modf, pow, sinh, tan, tanh): Implement using
1471         GCC's math builtins, i.e. __builtin_foo.
1472         * libmath/stubs.c (acosf, acosl, asinf, asinl, atanf, atanl,
1473         ceilf, ceill, floorf, floorl, fmodf, fmodl, frexpf, frexpl,
1474         ldexpf, ldexpl, modff, modfl): Provide stub implementations.
1475
1476 2003-11-14  Paolo Carlini  <pcarlini@suse.de>
1477
1478         * testsuite/22_locale/locale/cons/12352.cc: Use
1479         __gnu_test::try_named_locale.
1480
1481 2003-11-14  Paolo Carlini  <pcarlini@suse.de>
1482
1483         * docs/html/ext/howto.html: Add entries for DR 63, 75
1484         and 305; tweak entries for DR 60 and 328.
1485
1486 2003-11-13  Douglas Gregor  <gregod@cs.rpi.edu>
1487
1488         * docs/html/debug.html: Users are allowed to specialize in
1489         namespace __gnu_debug, unlike in the Apple version of the debug
1490         mode. Clear up a confusing double-negative. Note that
1491         std::basic_string does provide extra debugging capabilities, but
1492         not safe iterators.
1493         * include/bits/basic_string.tcc: Make sure there's never an
1494         ambiguity when calling __is_null_pointer. 
1495         * include/debug/deque: (deque::erase) Properly handle invalidation
1496         when erasing at the end of the deque.
1497         * include/debug/vector: (vector::swap): Swap _M_guaranteed_capacity. 
1498         (vector::clear): Set the guaranteed capacity to 0.
1499         * testsuite/23_containers/deque/invalidation/4.cc: (test04): Test
1500         iterator invalidation when erasing at the end of the deque.
1501
1502 2003-11-13  Paolo Carlini  <pcarlini@suse.de>
1503             Petur Runolfsson  <peturr02@ru.is>
1504
1505         PR libstdc++/13007
1506         * include/bits/fstream.tcc (imbue): Don't touch the stored
1507         locale.
1508         * include/std/std_streambuf.h (imbue): According to the
1509         standard, base class version does nothing.
1510         (pubimbue): Store the locale.
1511         * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: New.
1512         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: New.
1513         * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Tweak.
1514         * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
1515         * testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc: New.
1516         * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: New.
1517         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc: New.
1518         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: New.
1519
1520 2003-11-13  Petur Runolfsson  <peturr02@ru.is>
1521
1522         PR libstdc++/12594
1523         * include/bits/ostream.tcc
1524         (basic_ostream::operator<<(basic_ostream& (*)(basic_ostream&)),
1525         basic_ostream::operator<<(basic_ios& (*)(basic_ios&)),
1526         basic_ostream::operator<<(ios_base& (*)(ios_base&))):
1527         Implement the resolution of DR 60 (TC): These are not formatted
1528         output functions so don't construct sentry objects and don't
1529         catch exceptions.
1530         (basic_ostream::put, basic_ostream::write): Implement the
1531         resolution of DR 63 (TC) by catching exceptions and setting
1532         badbit.
1533         (basic_ostream::flush): Implement the resolution of DR 60 (TC):
1534         This is not an unformatted output function so don't construct
1535         a sentry object.
1536         * testsuite/testsuite_io.h (sync_streambuf): Define.
1537         * testsuite/27_io/basic_ostream/flush/char/2.cc: New test.
1538         * testsuite/27_io/basic_ostream/inserters_other/char/5.cc: New test.
1539         * testsuite/27_io/basic_ostream/put/char/1.cc: New test.
1540         * testsuite/27_io/basic_ostream/write/char/1.cc: New test.
1541         
1542 2003-11-13  Paolo Carlini  <pcarlini@suse.de>
1543
1544         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1:
1545         Fix, closely following the testcase included in the PR.
1546         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2: Ditto.
1547         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3: Ditto.
1548         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4: Ditto.
1549
1550 2003-11-13  Jonathan Wakely <redi@gcc.gnu.org>
1551
1552         * docs/html/17_intro/configury.html: XHTML tweak.
1553
1554 2003-11-13  Jonathan Wakely <redi@gcc.gnu.org>
1555
1556         * docs/html/debug_mode.html: XHTML fixes.
1557
1558 2003-11-12  Benjamin Kosnik  <bkoz@redhat.com>
1559
1560         * docs/html/debug_mode.html: Update.
1561         * docs/html/17_intro/TODO: Update.
1562
1563 2003-11-12  Benjamin Kosnik  <bkoz@redhat.com>
1564
1565         * include/bits/c++config: Move using directive...
1566         * include/debug/formatter.h: ...here.
1567
1568 2003-11-12  Carlo Wood  <carlo@alinoe.com>
1569
1570         PR libstdc++/12947
1571         * bits/demangle.h
1572         (_GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS): Added.
1573         (_GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME): Added.
1574         (session<Allocator>::next_peek() const): Added.
1575         (decode_non_negative_decimal_integer(string_type&)):
1576         Renamed from decode_decimal_integer(string_type&).
1577         (session<Allocator>::decode_nested_name):
1578         Decode <template_param> as well.
1579         (session<Allocator>::add_substitution):
1580         Handle <template-param> for <nested-name>'s.
1581         (enum xary_nt): Added.
1582         (struct entry_st): Added member `xary_nt type' instead of `bool unary'.
1583         (symbol_name_table_c): Updated for `entry_st::type' and additional
1584         operators (unary `operator+' and `sizeof(type)').
1585         (offset_table_c): Updated for new operators (causing a new hash map).
1586         (decode_operator_name): Match the updated hash map.
1587         (session<Allocator>::decode_expression):
1588         Support for `sizeof ([typename] type)' (st),
1589         dependent names (sr) and casting operator (cv).  Handle
1590         `entry_st::type'.  Handle _GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS
1591         and _GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME.
1592         (session<Allocator>::decode_type_with_postfix):
1593         Support `extern "C"' function types (FY).
1594         * testsuite/demangle/regression/cw-16.cc: Added tests for the
1595         added functionality.
1596         * testsuite/demangle/regression/3111-2.cc: sizeof now has a space
1597         appended.
1598
1599 2003-11-11  Paolo Carlini  <pcarlini@suse.de>
1600
1601         PR libstdc++/12875
1602         * include/bits/fstream.tcc (setbuf): Don't do anything
1603         after open(), in particular don't discard data.
1604         (_M_allocate_internal_buffer): Tweak to not allocate memory
1605         in case the buffer is provided by the user via setbuf.
1606         * include/ext/stdio_filebuf.h: Tweak comment.
1607         * testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc: New.
1608         * testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc: Likewise.
1609         * testsuite/27_io/basic_filebuf/setbuf/char/2.cc: Tweak, now
1610         setbuf does nothing after open().
1611         * testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Likewise.
1612
1613 2003-11-11  Doug Gregor  <gregod@cs.rpi.edu>
1614
1615         * docs/html/debug.html: Document libstdc++ debug mode.
1616         * docs/html/debug_mode.html: Document libstdc++ debug mode design.
1617         * docs/html/test.html: Document how to test under debug mode.
1618         * docs/html/17_intro/howto.html: Document debug-mode macros.
1619         * include/Makefile.am: Install debug-mode headers.
1620         * src/Makefile.am: Include debug.cc.
1621         * include/bits/basic_string.tcc: 
1622           (basic_string::_S_construct): Fix NULL pointer check.
1623           (__is_null_pointer): New.
1624           Add precondition annotations.
1625         * include/bits/stream_iterator.h (istream_iterator,
1626         ostream_iterator): Added precondition annotations.
1627         * include/bits/streambuf_iterator.h (istreambuf_iterator): Ditto.
1628         * include/bits/stl_queue.h (queue, priority_queue): Ditto.
1629         * include/bits/stl_stack.h (stack): Ditto.
1630         * include/bits/basic_string.h (basic_string): Ditto.
1631         * include/bits/basic_string.tcc (basic_string): Ditto.
1632         * include/std/std_memory.h (auto_ptr): Ditto.
1633         * include/std/std_valarray.h (valarray): Ditto.
1634         * include/bits/stl_algo.h: Added algorithm precondition
1635         annotations.
1636         * include/bits/stl_algobase.h: Added algorithm precondition
1637         annotations.
1638         * include/bits/stl_numeric.h: Ditto.
1639         * include/ext/algorithm: Added algorithm precondition
1640         annotations. 
1641         (__is_heap): Moved away from here.
1642         * include/bits/stl_heap.h: Added algorithm precondition
1643         annotations. 
1644         (__is_heap): Moved to the top of this file.
1645         (__is_heap): Added iterator range overloads.
1646         * testsuite/20_util/auto_ptr_neg.cc: Fix line numbers to match up
1647         with changes in std_memory.h.
1648         * testsuite/23_containers/list/operators/4.cc: Don't verify
1649         performance guarantees when in debug mode.
1650         * testsuite/23_containers/bitset/invalidation/1.cc: New.
1651         * testsuite/23_containers/deque/invalidation/1.cc: New.
1652         * testsuite/23_containers/deque/invalidation/2.cc: New.
1653         * testsuite/23_containers/deque/invalidation/3.cc: New.
1654         * testsuite/23_containers/deque/invalidation/4.cc: New.
1655         * testsuite/23_containers/list/invalidation/1.cc: New.
1656         * testsuite/23_containers/list/invalidation/2.cc: New.
1657         * testsuite/23_containers/list/invalidation/3.cc: New.
1658         * testsuite/23_containers/list/invalidation/4.cc: New.
1659         * testsuite/23_containers/map/invalidation/1.cc: New.
1660         * testsuite/23_containers/map/invalidation/2.cc: New.
1661         * testsuite/23_containers/multimap/invalidation/1.cc: New.
1662         * testsuite/23_containers/multimap/invalidation/2.cc: New.
1663         * testsuite/23_containers/multiset/invalidation/1.cc: New.
1664         * testsuite/23_containers/multiset/invalidation/2.cc: New.
1665         * testsuite/23_containers/set/invalidation/1.cc: New.
1666         * testsuite/23_containers/set/invalidation/2.cc: New.
1667         * testsuite/23_containers/vector/invalidation/1.cc: New.
1668         * testsuite/23_containers/vector/invalidation/2.cc: New.
1669         * testsuite/23_containers/vector/invalidation/3.cc: New.
1670         * testsuite/23_containers/vector/invalidation/4.cc: New.
1671         * testsuite/25_algorithms/heap.cc: Don't verify
1672         performance guarantees when in debug mode.
1673         * include/debug/bitset: New.
1674         * include/debug/debug.h: New.
1675         * include/debug/deque: New.
1676         * include/debug/formatter.h: New.
1677         * include/debug/hash_map: New.
1678         * include/debug/hash_map.h: New.        
1679         * include/debug/hash_multimap.h: New.
1680         * include/debug/hash_set: New.
1681         * include/debug/hash_set.h: New.
1682         * include/debug/hash_multiset.h: New.   
1683         * include/debug/list: New.
1684         * include/debug/map: New.
1685         * include/debug/map.h: New.
1686         * include/debug/multimap.h: New.
1687         * include/debug/multiset.h: New.        
1688         * include/debug/safe_base.h: New.
1689         * include/debug/safe_iterator.h: New.
1690         * include/debug/safe_iterator.tcc: New.
1691         * include/debug/safe_sequence.h: New.
1692         * include/debug/set: New.
1693         * include/debug/set.h: New.     
1694         * include/debug/string: New.
1695         * include/debug/vector: New.
1696         * src/debug.cc: New.
1697         * config/linker-map.gnu: Add debug mode symbols.
1698         
1699 2003-11-11  Benjamin Kosnik  <bkoz@redhat.com>
1700
1701         * src/string-inst.cc: Tweak namespaces.
1702         * src/misc-inst.cc: Same.
1703         * docs/html/debug.html: Edits.
1704         * config/link-map.gnu: Remove cruft.
1705
1706         * include/bits/c++config: Add in namespace associations.
1707         * include/std/std_bitset.h: Adjust namespace to __gnu_norm,
1708         comment tweaks.
1709         * include/bits/deque.tcc: Same.
1710         * include/bits/list.tcc: Same.
1711         * include/bits/stl_bvector.h: Same.
1712         * include/bits/stl_deque.h: Same.
1713         * include/bits/stl_list.h: Same.
1714         * include/bits/stl_map.h: Same.
1715         * include/bits/stl_multimap.h: Same.
1716         * include/bits/stl_multiset.h: Same.
1717         * include/bits/stl_set.h: Same.
1718         * include/bits/stl_vector.h: Same.
1719         * include/bits/vector.tcc: Same.
1720
1721         * include/std/std_algorithm.h: Remove markup comments.
1722         * include/std/std_functional.h: Same.
1723         * include/std/std_iterator.h: Same.
1724         * include/std/std_numeric.h: Same.
1725         * include/std/std_utility.h: Same.
1726         * include/bits/stl_queue.h: Formatting tweaks.
1727         * include/bits/stl_stack.h: Same.
1728         * include/std/std_deque.h: Include debugging version in debug mode.
1729         * include/std/std_list.h: Same.
1730         * include/std/std_map.h: Same.
1731         * include/std/std_set.h: Same.
1732         * include/std/std_vector.h: Same.       
1733         * include/std/std_queue.h: Use deque, vector.
1734         * include/std/std_stack.h: Same.
1735
1736 2003-11-09  Paolo Carlini  <pcarlini@suse.de>
1737
1738         * include/bits/locale_facets.tcc (_M_insert_int,
1739         _M_insert_float): Move a couple of vars inside an if block.
1740
1741 2003-11-09  Paolo Carlini  <pcarlini@suse.de>
1742
1743         PR libstdc++/12971
1744         * include/bits/locale_facets.tcc
1745         (money_put::do_put(..., long double)): Fix conversion
1746         specification as per DR 328 [WP].
1747         * testsuite/22_locale/money_put/put/char/12971.cc: Add.
1748         * testsuite/22_locale/money_put/put/wchar_t/12971.cc: Ditto.
1749         * docs/html/ext/howto.html: Add entry for DR 328.
1750
1751 2003-11-08  Paolo Carlini  <pcarlini@suse.de>
1752
1753         PR libstdc++/12967
1754         * include/bits/list.tcc (merge): Implement resolution of
1755         DR 300 [WP].
1756         * docs/html/ext/howto.html: Add entry for DR 300; tweak entry
1757         for DR 231.
1758
1759         * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
1760         Import R27.
1761
1762 2003-11-07  Jonathan Wakely  <redi@gcc.gnu.org>
1763
1764         * libsupc++/vec.cc: Conform to C++STYLE.
1765
1766 2003-11-07  Carlo Wood  <carlo@alinoe.com>
1767
1768         PR libstdc++/12736
1769         * bits/demangle.h (qualifier_list<Allocator>::decode_KVrA): Added.
1770         (qualifier_list<Allocator>::decode_qualifiers): Collect concatenated
1771         K, V, r and A qualifiers before processing them as a group.
1772         * testsuite/demangle/abi_text/01.cc: Reordered CV-qualifiers.
1773         * testsuite/demangle/regression/cw-16.cc: New.
1774
1775 2003-11-07  Robert Millan  <robertmh@gnu.org>
1776
1777         * configure.host: Add kfreebsd*-gnu and knetbsd*-gnu.
1778         * crossconfig.m4: Likewise.
1779         * configure: Regenerate.
1780
1781 2003-11-07  Carlo Wood  <carlo@alinoe.com>
1782
1783         * include/bits/demangle.h
1784         (qualifier_list<Allocator>::decode_qualifiers(string_type&,
1785         string_type&, bool member_function_pointer_qualifiers):
1786         Always separate the '[' of an array type with a space from
1787         what is left of it, except when that is the closing bracket
1788         of another array dimension.
1789
1790 2003-11-07  Carlo Wood  <carlo@alinoe.com>
1791
1792         * include/bits/demangle.h
1793         (qualifier_list<Allocator>::decode_qualifiers(string_type&,
1794         string_type&, bool) const): Made const.
1795         (qualifier_list<Allocator>::M_printing_suppressed): Added mutable.
1796         (_GLIBCXX_DEMANGLER_DOUT_ENTERING3, _GLIBCXX_DEMANGLER_RETURN3,
1797         std::ostream& operator<<(std::ostream&, qualifier const&),
1798         std::ostream& operator<<(std::ostream&, qualifier_list const&),
1799         qualifier_list<Allocator>::decode_qualifiers(string_type&,
1800         string_type&, bool) const,
1801         session<Allocator>::decode_type_with_postfix(string_type&,
1802         string_type&, qualifier_list<Allocator>*))
1803         Added and/or changed debug-only hooks and code.
1804
1805 2003-11-04  Jeffrey D. Oldham  <oldham@codesourcery.com>
1806
1807         * libsupc++/vec.cc (__cxa_vec_delete2): If given a NULL pointer,
1808         immediately return.  This reflects a C++ ABI change 2003 Nov 03.
1809         (__cxa_vec_delete3): Likewise.
1810         
1811 2003-11-03  Petur Runolfsson  <peturr02@ru.is>
1812
1813         PR libstdc++/12790
1814         * include/bits/fstream.tcc: Delete _M_last_overflowed.
1815         (basic_filebuf::basic_filebuf): Initialize _M_state_last.
1816         (basic_filebuf::open, basic_filebuf::close): Assign
1817         _M_state_beg to _M_state_cur and _M_state_last.
1818         (basic_filebuf::close): Call _M_terminate_output to handle
1819         unshift and flushing.
1820         (basic_filebuf::underflow): Assign _M_state_last, throw
1821         exception instead of calling abort when codecvt::max_length()
1822         is bad.
1823         (basic_filebuf::seekoff): Use _M_state_last when calling
1824         codecvt::length(), pass correct state to _M_seek.
1825         (basic_filebuf::seekpos): Pass __pos.state() to _M_seek.
1826         (basic_filebuf::_M_seek): Add __state_type parameter,
1827         set _M_state_cur correctly, store the resulting state in
1828         the return value and use _M_terminate_output to handle
1829         flushing and unshift.
1830         (basic_filebuf::_M_terminate_output): Flush contents of
1831         output buffer, if any, then call codecvt::unshift as
1832         needed and output the result.
1833         (basic_filebuf::sync): Move here, don't modify _M_writing
1834         or _M_reading.
1835         
1836         * include/std/std_fstream.h
1837         (basic_filebuf::_M_state_last): Declare it.
1838         (basic_filebuf::_M_last_overflowed): Delete.
1839         (basic_filebuf::_M_seek): Add __state_type parameter.
1840         (basic_filebuf::sync): Declare only.
1841         (basic_filebuf::_M_output_unshift): Delete.
1842         (basic_filebuf::_M_terminate_output): Declare it.
1843         
1844         * testsuite/testsuite_character.h:
1845         Define character class and state class plus char_traits and
1846         codecvt specializations for same for testing support for
1847         stateful encodings.
1848         
1849         * testsuite/27_io/basic_filebuf/close/12790-1.cc,
1850         * testsuite/27_io/basic_filebuf/close/char/12790-1.cc,
1851         * testsuite/27_io/basic_filebuf/close/char/12790-2.cc,
1852         * testsuite/27_io/basic_filebuf/close/char/12790-3.cc,
1853         * testsuite/27_io/basic_filebuf/close/char/12790-4.cc,
1854         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc,
1855         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc,
1856         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc,
1857         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc,
1858         * testsuite/27_io/basic_filebuf/open/12790-1.cc,
1859         * testsuite/27_io/basic_filebuf/seekoff/12790-1.cc,
1860         * testsuite/27_io/basic_filebuf/seekoff/12790-2.cc,
1861         * testsuite/27_io/basic_filebuf/seekoff/12790-3.cc,
1862         * testsuite/27_io/basic_filebuf/seekoff/12790-4.cc,
1863         * testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc,
1864         * testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc,
1865         * testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc,
1866         * testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc,
1867         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc,
1868         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc,
1869         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc,
1870         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc,
1871         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc,
1872         * testsuite/27_io/basic_filebuf/seekpos/12790-1.cc,
1873         * testsuite/27_io/basic_filebuf/seekpos/12790-2.cc,
1874         * testsuite/27_io/basic_filebuf/seekpos/12790-3.cc,
1875         * testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc,
1876         * testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc,
1877         * testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc,
1878         * testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc,
1879         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc,
1880         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc,
1881         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc,
1882         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc,
1883         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc,
1884         * testsuite/27_io/basic_filebuf/sync/char/1.cc,
1885         * testsuite/27_io/basic_filebuf/sync/wchar_t/1.cc:
1886         New tests.
1887
1888         * testsuite/27_io/basic_filebuf/3.cc,
1889         * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc,
1890         * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc,
1891         * testsuite/27_io/basic_fstream/3.cc,
1892         * testsuite/27_io/basic_ifstream/3.cc,
1893         * testsuite/27_io/basic_ofstream/3.cc:
1894         Use streamoff as off_type and fpos<state_type> as pos_type.
1895
1896         * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc,
1897         * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc:
1898         Check that sync does *not* set _M_writing to false.
1899
1900 2003-11-03  Anthony Green  <green@redhat.com>
1901
1902         * libmath/stubs.c (sqrtf, sqrtl): Reorder so they appear before
1903         they're used.
1904
1905 2003-11-03  Benjamin Kosnik  <bkoz@redhat.com>
1906
1907         * include/bits/locale_facets.h (time_get::_M_extract_name): Add
1908         ctype argument. 
1909         * include/bits/locale_facets.tcc: Same, use it to allow
1910         capitalized names.
1911         
1912         * include/bits/fstream.tcc: Spacing tweak.
1913         * include/bits/istream.tcc: Same.
1914         * include/bits/ostream.tcc: Same.
1915
1916 2003-10-30  Paolo Carlini  <pcarlini@suse.de>
1917
1918         * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
1919         __mod is only assigned, never used its value, remove it.
1920
1921 2003-10-29  Paolo Carlini  <pcarlini@suse.de>
1922
1923         * include/bits/locale_facets.tcc (time_get::do_get_year):
1924         Absolutely avoid dereferencing end iterators.
1925         (time_put::put): Minor clean up.
1926
1927         * include/bits/locale_facets.tcc: Cosmetic reformattings.
1928
1929 2003-10-29  Paolo Carlini  <pcarlini@suse.de>
1930
1931         * include/bits/locale_facets.tcc (num_get::_M_extract_float):
1932         Revert the last commit, is not correct, sorry.
1933         
1934 2003-10-29  Paolo Carlini  <pcarlini@suse.de>
1935
1936         * config/locale/generic/c_locale.cc: Add back <cmath> and
1937         <cstdlib>.
1938
1939         * include/bits/locale_facets.tcc (num_get::_M_extract_float):
1940         Clean up.
1941
1942 2003-10-29  Paolo Carlini  <pcarlini@suse.de>
1943
1944         * include/bits/locale_facets.tcc (time_put::put): Absolutely
1945         avoid dereferencing end iterators; clean up.
1946
1947         * include/bits/locale_facets.tcc (num_get::_M_extract_float,
1948         num_get::_M_extract_int): Minor tweak.
1949
1950 2003-10-29  Paolo Carlini  <pcarlini@suse.de>
1951
1952         * include/bits/locale_facets.tcc: Remove some unnecessary
1953         includes.
1954         * config/locale/generic/c_locale.cc: Include <cerrno> here.
1955         * config/locale/gnu/c_locale.cc: Likewise.
1956
1957 2003-10-28  Paolo Carlini  <pcarlini@suse.de>
1958
1959         * include/bits/locale_facets.tcc
1960         (money_get<>::do_get(..., string_type&)): Absolutely avoid
1961         dereferencing end iterators; general clean up.
1962
1963 2003-10-28  Paolo Carlini  <pcarlini@suse.de>
1964
1965         * include/bits/locale_facets.tcc (time_get::_M_extract_num):
1966         Absolutely avoid dereferencing end iterators.
1967         (time_get::_M_extract_name): Likewise.
1968
1969         * include/bits/locale_facets.tcc
1970         (time_get::_M_extract_via_format, case 'e'): Don't try to
1971         be smart wrt returning the right __beg in case of parse
1972         error, time_get::_M_extract_num must be fixed instead.
1973
1974 2003-10-27  Paolo Carlini  <pcarlini@suse.de>
1975
1976         PR libstdc++/12778
1977         * acinclude.m4 (GLIBCXX_CHECK_LFS): Use the C++ compiler.
1978         * aclocal.m4: Regenerate.
1979         * configure: Regenerate.
1980
1981 2003-10-27  Benjamin Kosnik  <bkoz@redhat.com>
1982         
1983         * docs/html/17_intro/TODO: Add links.
1984         * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
1985         Uncomment.
1986         
1987 2003-10-27  Paolo Carlini  <pcarlini@suse.de>
1988
1989         PR libstdc++/12750
1990         * include/bits/locale_facets.tcc
1991         (time_get::_M_extract_via_format): Deal with code 'e'.
1992         * testsuite/22_locale/time_get/get_date/char/12750.cc: New.
1993         * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Ditto.
1994
1995         * include/bits/locale_facets.tcc
1996         (time_get::_M_extract_via_format): Tweak to absolutely avoid
1997         dereferencing end iterators.
1998
1999         * include/bits/locale_facets.h (__verify_grouping):
2000         Const-ify second parameter.
2001         * include/bits/locale_facets.tcc (__verify_grouping): Ditto.
2002         * src/locale-inst.cc (__verify_grouping): Ditto.
2003
2004 2003-10-27  Paolo Carlini  <pcarlini@suse.de>
2005
2006         * include/bits/locale_facets.tcc (num_get::_M_extract_float):
2007         Various things: 1- Avoid absolutely end iterator dereferences;
2008         2- Improve performance-wise the code skipping leading zeros;
2009         3- Fix two bugs wrt early bail out in case of parsing errors
2010         (see testcases); 4- General clean up.
2011         (num_get::_M_extract_int): Likewise, except 3-. Additionally,
2012         use __builtin_expect to favor base 10 inputs.
2013         * testsuite/22_locale/num_get/get/char/7.cc: New.
2014         * testsuite/22_locale/num_get/get/wchar_t/7.cc: Ditto.
2015
2016 2003-10-26  Paolo Carlini  <pcarlini@suse.de>
2017
2018         * testsuite/22_locale/money_put/put/char/1.cc: Clean up.
2019         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Ditto.
2020
2021 2003-10-25  Paolo Carlini  <pcarlini@suse.de>
2022
2023         * include/bits/locale_facets.tcc (num_get::_M_extract_int):
2024         __pos in only incremented, never used its value, remove it.
2025
2026 2003-10-24  Robert Millan  <robertmh@gnu.org>
2027
2028         * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Add kfreebsd*-gnu
2029         and knetbsd*-gnu.
2030         * aclocal.m4:  Regenerated.
2031         * configure:  Regenerated.
2032
2033 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
2034
2035         * include/bits/locale_facets.tcc (money_get::do_get(...,
2036         long double&): Properly size the temporary buffer.
2037         * testsuite/22_locale/money_get/get/char/11.cc: New.
2038         * testsuite/22_locale/money_get/get/wchar_t/11.cc: Ditto.
2039
2040         * include/bits/locale_facets.tcc (num_put::_M_group_int,
2041         num_put::_M_group_float, money_put::do_put(..., const
2042         string_type&), collate::do_compare, collate::do_transform):
2043         Prefer basic_string::data() to c_str() when the '\0'
2044         terminator is not really needed.
2045
2046 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
2047
2048         * include/bits/locale_facets.tcc (__verify_grouping):
2049         Prefer '=' to an unnecessary '&='.
2050
2051 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
2052
2053         * include/bits/basic_ios.tcc (copyfmt(const basic_ios&)):
2054         Tweak my fix for libstdc++/12657.
2055
2056 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
2057
2058         * include/bits/locale_facets.tcc (money_get::do_get(...,
2059         string_type&): Minor tweak to the previous commit.
2060
2061 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
2062
2063         * include/bits/locale_facets.tcc (money_get::do_get(...,
2064         string_type&): Disregard the previous commit: doesn't hurt but
2065         doesn't accomplish anything useful either. This is the right
2066         one, speeding up greatly the function in case of early fail.
2067
2068 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
2069
2070         * include/bits/locale_facets.tcc (money_get::do_get(...,
2071         string_type&): Move an if block, thus minimizing the amount
2072         of code processed anyway when __tmp_units.size() == 0.
2073
2074 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
2075
2076         * include/bits/locale_facets.tcc
2077         (time_get<>::_M_extract_via_format): Deal with case 'C' too,
2078         equivalent to 'y'.
2079
2080 2003-10-23  Benjamin Kosnik  <bkoz@redhat.com>
2081
2082         * docs/html/documentation.html: Add a pointer to the doxygen style
2083         guide.
2084         * docs/html/17_intro/TODO: Update.
2085         * docs/html/test.html: Add instructions for running a subset of
2086         tests, update.
2087
2088 2003-10-23  Paolo Carlini  <pcarlini@suse.de>
2089
2090         * include/bits/locale_facets.tcc (money_get<>::do_get(...,
2091         string_type&)): Use find_first_not_of to strip leading
2092         zeros; if __tmp_units == "0" never prefix it with '-';
2093         always fail if __tmp_units is empty.
2094         * testsuite/22_locale/money_get/get/char/10.cc: New.
2095         * testsuite/22_locale/money_get/get/wchar_t/10.cc: Ditto.
2096
2097 2003-10-23  Phil Edwards  <phil@codesourcery.com>
2098
2099         * config/os/vxworks/ctype_noninline.h:  Adjust ctor to match
2100         2003-10-21 change.
2101
2102 2003-10-22  Paolo Carlini  <pcarlini@suse.de>
2103
2104         * include/bits/locale_facets.tcc (__int_to_char): Remove
2105         the const int parameter.
2106         (_M_insert_int): Update caller.
2107         * src/locale-inst.cc (__int_to_char): Update instantiations.    
2108
2109 2003-10-22  Benjamin Kosnik  <bkoz@redhat.com>
2110
2111         * include/bits/locale_facets.h: Correct byname facets for "C"
2112         locale.
2113         * config/locale/generic/ctype_members.cc: Same.
2114         * config/locale/generic/messages_members.h: Same.
2115         * config/locale/gnu/ctype_members.cc: Same.
2116         * config/locale/gnu/messages_members.h: Same.
2117         * include/bits/codecvt.h: Same.
2118         * src/ctype.cc: Same.
2119         * testsuite/22_locale/codecvt_byname/1.cc: New.
2120         * testsuite/22_locale/collate/1.cc: Edit.
2121         * testsuite/22_locale/collate_byname/1.cc: Derivation tests, move to...
2122         * testsuite/22_locale/collate_byname/named_equivalence.cc: ...here.
2123         * testsuite/22_locale/ctype/1.cc: Derivation tests.
2124         * testsuite/22_locale/ctype/11844.cc: Move...
2125         * testsuite/22_locale/ctype_base/11844.cc: ...here.
2126         * testsuite/22_locale/ctype_base/1.cc: Move mask bits here.
2127         * testsuite/22_locale/ctype_byname/1.cc: Name.
2128         * testsuite/22_locale/messages_byname/1.cc: New.
2129         * testsuite/22_locale/messages_byname/named_equivalence.cc: New.
2130         * testsuite/22_locale/moneypunct_byname/1.cc: Derivation test.
2131         * testsuite/22_locale/moneypunct_byname/named_equivalence.cc: New.
2132         * testsuite/22_locale/numpunct/1.cc: Edit.
2133         * testsuite/22_locale/numpunct_byname/2.cc: Move...
2134         * testsuite/22_locale/numpunct/members/char/3.cc: ...here.
2135         * testsuite/22_locale/numpunct_byname/1.cc: Derivation tests.
2136         * testsuite/22_locale/numpunct_byname/named_equivalence.cc: New.
2137
2138 2003-10-22  Paolo Carlini  <pcarlini@suse.de>
2139
2140         PR libstdc++/8610
2141         * acinclude.m4 (GLIBCXX_CHECK_INT64_T): New macro,
2142         checking for the availability of int64_t.
2143         (GLIBCXX_CHECK_LFS): New macro, checking for LFS support.
2144         * configure.ac: Call here.
2145         * acconfig.h: Add undef for the corresponding symbols.
2146         * config/io/basic_file_stdio.cc (__basic_file<char>::open):
2147         Depending on _GLIBCXX_USE_LFS, call fopen64 or fopen.
2148         (__basic_file<char>::seekoff): Likewise, call lseek64 when
2149         available, otherwise lseek, checking the __off parameter.
2150         * include/bits/postypes.h: Typedef __streamoff_base_type
2151         to int64_t if available, otherwise long long.
2152         * aclocal.m4: Regenerate.
2153         * config.h.in: Likewise.
2154         * configure: Likewise.
2155
2156         * acinclude.m4 (GLIBCXX_CHECK_POLL, GLIBCXX_CHECK_WRITEV):
2157         Use AC_TRY_LINK instead of AC_TRY_COMPILE.
2158         
2159 2003-10-22  Paolo Carlini  <pcarlini@suse.de>
2160
2161         PR libstdc++/12657
2162         * include/bits/basic_ios.tcc (copyfmt(const basic_ios&)):
2163         Implement resolution of DR 292 (WP).
2164         * docs/html/ext/howto.html: Add entry for DR 292.
2165
2166 2003-10-21  Benjamin Kosnik  <bkoz@redhat.com>
2167
2168         * include/ext/mt_allocator.h: Change include to gthr.h.
2169         * include/ext/rope: Same. Add _Refcount_base definitions.
2170         * include/ext/pool_allocator.h: Adjust namespaces.
2171         * include/bits/stl_threads.h (_Refcount_base): Move.
2172         Put remaining into namespace __gnu_cxx.
2173         
2174 2003-10-21  Benjamin Kosnik  <bkoz@redhat.com>
2175  
2176         PR libstdc++/9858
2177         * include/bits/locale_facets.h (ctype<char>): Remove
2178         __ctype_abstract_base.
2179         (ctype<char>::do_is): Remove.
2180         (ctype<char>::do_scan_is): Remove.
2181         * src/ctype.cc: Same. Inline the rest.
2182         * testsuite/22_locale/ctype/is/char/9858.cc: New.
2183         * config/os/aix/ctype_noninline.h: Adjust ctor.
2184         * config/os/bsd/freebsd/ctype_noninline.h: Same.
2185         * config/os/bsd/netbsd/ctype_noninline.h: Same.
2186         * config/os/djgpp/ctype_noninline.h: Same.
2187         * config/os/generic/ctype_noninline.h: Same.
2188         * config/os/gnu-linux/ctype_noninline.h: Same.
2189         * config/os/hpux/ctype_noninline.h: Same.
2190         * config/os/irix/irix5.2/ctype_noninline.h: Same.
2191         * config/os/irix/irix6.5/ctype_noninline.h: Same.
2192         * config/os/mingw32/ctype_noninline.h: Same.
2193         * config/os/newlib/ctype_noninline.h: Same.
2194         * config/os/qnx/qnx6.1/ctype_noninline.h: Same.
2195         * config/os/solaris/solaris2.5/ctype_noninline.h: Same.
2196         * config/os/solaris/solaris2.6/ctype_noninline.h: Same.
2197         * config/os/solaris/solaris2.7/ctype_noninline.h: Same.
2198         * config/os/windiss/ctype_noninline.h: Same.
2199
2200 2003-10-21  Paolo Carlini  <pcarlini@suse.de>
2201
2202         * src/locale.cc: Tweak a comment.
2203         * src/localename.cc: Move a comment.
2204
2205 2003-10-20  Benjamin Kosnik  <bkoz@redhat.com>
2206  
2207         PR libstdc++/10081
2208         * testsuite_hooks.h: Add pod_type, ctype and numpunct specializations.
2209         * testsuite_hooks.cc: Same.
2210         * 22_locale/numpunct/members/pod/1.cc: Edit.
2211         * 22_locale/numpunct/members/pod/2.cc: Same.
2212         * 27_io/basic_istream/sentry/char/3983-fstream.cc: Move ...
2213         * 27_io/basic_istream/sentry/char/3983-sstream.cc: Move ...
2214         * 27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc: Here.
2215         * 27_io/basic_istream/extractors_character/pod/3983-2.cc: Here.
2216         * 27_io/basic_istream/extractors_other/pod/3983-3.cc: Here.
2217         * 27_io/basic_ostream/sentry/char/3983-fstream.cc: Remove.
2218         * 27_io/basic_ostream/sentry/char/3983-sstream.cc: Remove.
2219         * 27_io/basic_istream/sentry/pod/1.cc: New.
2220         * 27_io/basic_ostream/sentry/pod/1.cc: New.
2221         * 21_strings/basic_string/inserters_extractors/pod/10081-in.cc: New.
2222         * 21_strings/basic_string/inserters_extractors/pod/10081-out.cc: New.
2223
2224 2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2225
2226         * config/cpu/mips/atomicity.h (__atomic_add): Use _ABIO32 instead
2227         of external _MIPS_SIM_ABI32.
2228
2229 2003-10-20  Phil Edwards  <phil@codesourcery.com>
2230
2231         * configure.ac:  Fix comment typo.
2232         * configure.host:  Add vxworks to host_os switch.
2233         * crossconfig.m4:  Remove old commented os_include_dir variables
2234         left over from autotools transition.
2235         (*-vxworks):  New stanza.
2236         (*-windiss):  Add missing symbols.
2237         * configure:  Regenerate.
2238         * config/os/vxworks/ctype_base.h, config/os/vxworks/ctype_inline.h,
2239         config/os/vxworks/ctype_noninline.h, config/os/vxworks/os_defines.h:
2240         New files.
2241         * config/os/windiss/os_defines.h:  Define __C9X__.
2242
2243 2003-10-19  David Edelsohn  <edelsohn@gnu.org>
2244
2245         PR other/12506
2246         * configure.host (aix4,aix*): Define os_include_dir to os/generic.
2247
2248 2003-10-18  Andreas Tobler  <a.tobler@schweiz.ch>
2249
2250         * src/locale.cc (locale::_S_initialize): Re-apply workaround a
2251         confusion of the use of the gthr API when __gthread_active_p()
2252         returns true.
2253
2254 2003-10-17  Benjamin Kosnik  <bkoz@redhat.com>
2255  
2256         * src/Makefile.am: Add new files.
2257         * src/Makefile.in: Regenerate.
2258         * src/globals.cc: Split into..
2259         * src/globals_io.cc: New.
2260         * src/globals_locale.cc: New.
2261         * src/ios.cc: Split into...
2262         * src/ios_init.cc: New.
2263         * src/ios_locale.cc: New.
2264         * src/locale-inst.cc: Split into..
2265         * src/wlocale-inst.cc: New.
2266         * src/locale-misc-inst.cc: New.
2267         * src/locale.cc, src/localename: Split into...
2268         * src/locale_facets.cc: New.
2269         * src/locale_init.cc: New.
2270         * src/wstring-inst.cc: Add copyright info.
2271
2272 2003-10-16  Petur Runolfsson  <peturr02@ru.is>
2273
2274         PR libstdc++/11450
2275         PR libstdc++/11543
2276         PR libstdc++/12065
2277         * config/io/basic_file_stdio.cc (__basic_file::seekoff):
2278         Change return value from streampos to streamoff.
2279         (__basic_file::seekpos): Delete.
2280         * config/io/basic_file_stdio.h: Same.
2281         * config/io/c_io_stdio.h: Remove streamoff and wstreamsize typedefs.
2282         * include/Makefile.am (bits_headers): Add bits/postypes.h.
2283         * include/bits/char_traits.h: Include bits/postypes.h instead of
2284         bits/fpos.h.
2285         * include/bits/fstream.tcc (basic_filebuf::open,
2286         basic_filebuf::pbackfail): Don't use < or >= to compare pos_type
2287         values, use == and != instead.
2288         (basic_filebuf::_M_seek): Use explicit conversion from streamoff
2289         to pos_type.
2290         (basic_filebuf::imbue):  Don't use ! on pos_type values, use
2291         == instead. Don't use __check_facet(_M_codecvt) unless is_open().
2292         * include/bits/postypes.h: New file.
2293         Add __streamoff_base_type typedef, streamsize.
2294         (streamoff, streampos, wstreampos): Define typedefs, with
2295         streamoff defined as...
2296         (streamoff): New class. Document implementation defined
2297         aspects.
2298         (fpos): New implementation. Document implementation defined
2299         aspects.
2300         * include/bits/sstream.tcc (basic_stringbuf::seekpos): Use
2301         explicit conversion from pos_type to off_type.
2302         * include/std/std_iosfwd.h: Include bits/postypes.h instead
2303         of bits/fpos.h.
2304         * testsuite/27_io/basic_filebuf/seekoff/char/11543.cc: New test.
2305         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc: New test.
2306         * testsuite/27_io/fpos/11450.cc: New test.
2307         * testsuite/27_io/fpos/mbstate_t/12065.cc: New test.
2308         * testsuite/27_io/fpos/mbstate_t/4_neg.cc: New test.
2309         * testsuite/27_io/types/3.cc: New test.
2310
2311 2003-10-16  Benjamin Kosnik  <bkoz@redhat.com>
2312
2313         * configure.host: Remove fpos_include_dir.
2314         * configure.ac: Remove FPOS_INC_SRCDIR.
2315         * configure: Regenerate.
2316         * acinclude.m4 (GLIBCXX_ENABLE_CSTDIO): Remove FPOS_H.
2317         * aclocal.m4: Regenerate.
2318         * include/Makefile.am (host_headers): Remove fpos.h.
2319         (bits_headers): Add postypes.h.
2320         * include/Makefile.in: Regenerate.
2321         * config/os/gnu-linux/fposh: Remove.
2322         * config/os/generic/fpos.h: Remove.
2323
2324         * testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Fixup.
2325         * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Same.
2326         * testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Same.
2327         * testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Same.
2328         * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Same.
2329         * testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Same.
2330         * testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Same.
2331         * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Same.
2332         * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Same.
2333         * testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Same.
2334         * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Same.
2335         * testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Same.
2336         * testsuite/27_io/basic_istream/seekg/char/2.cc: Same.
2337         * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Same.
2338         * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Same.
2339         * testsuite/27_io/fpos/mbstate_t/3.cc: Same.
2340         * testsuite/27_io/objects/char/10.cc: Same.
2341
2342 2003-10-16  Paolo Carlini  <pcarlini@suse.de>
2343
2344         * src/locale.cc (locale::locale(const char*)): ... one
2345         more comparison missed in the previous commit.
2346
2347 2003-10-16  Benjamin Kosnik  <bkoz@redhat.com>
2348
2349         * acconfig.h: Add HAVE_DRAND48.
2350         * crossconfig.m4: Remove ISATTY.
2351         * aclocal.m4: Regenerated.
2352         * config.h.in: Regenerated.
2353         * configure: Regenerated.
2354         
2355 2003-10-16  Bernardo Innocenti  <bernie@develer.com>
2356
2357         * config/cpu/m68k/atomicity.h (__exchange_and_add): Use TAS on
2358         __mcf5400__. Don't rely on __mc68000__ to detect a bare 68000.
2359         Document SMP safeness of asm macros.
2360
2361 2003-10-16  Paolo Carlini  <pcarlini@suse.de>
2362
2363         * src/locale.cc (locale::locale(const char*)): Tweak
2364         a couple of comparisons to use basic_string operators.
2365
2366 2003-10-16  Paolo Carlini  <pcarlini@suse.de>
2367
2368         PR libstdc++/12540
2369         * config/locale/gnu/monetary_members.cc
2370         (moneypunct<wchar_t, true/false>::_M_initialize_moneypunct):
2371         Don't leak memory if new throws.
2372         * src/locale.cc (locale::locale(const char*)): In order not
2373         to leak memory in case new throws, use a basic_string type
2374         for __res too and avoid strdup.
2375
2376 2003-10-14  Jeff Bailey  <jbailey@nisa.net>
2377         
2378         PR libstdc++/12562
2379         * crossconfig.m4: Share the config between *-linux* and *-gnu*.
2380         * configure: Regenerate.
2381
2382 2003-10-14  Carlo Wood  <carlo@alinoe.com>
2383
2384         PR libstdc++/12600
2385         * include/bits/demangle.h (session<Allocator>::
2386           decode_unqualified_name(string_type& output)): Fail on a
2387           <operator-name> when decoding <template-argument>.
2388         * testsuite/demangle/regression/cw-15.cc: New.
2389
2390 2003-10-14  Paolo Carlini  <pcarlini@unitus.it>
2391
2392         PR libstdc++/11480
2393         * include/bits/stl_algo.h (unique): Fix.
2394         * testsuite/25_algorithms/unique.cc: Move to unique/1.cc.
2395         * testsuite/25_algorithms/unique/11480.cc: New, from the PR.
2396         * testsuite/25_algorithms/unique/2.cc: New.
2397
2398 2003-10-14  Paolo Carlini  <pcarlini@unitus.it>
2399
2400         * src/localename.cc (_M_replace_categories, M_replace_facet):
2401         Const-ify a couple of variables.
2402
2403 2003-10-14  Petur Runolfsson  <peturr02@ru.is>
2404             Andreas Tobler  <a.tobler@schweiz.ch>
2405
2406         * src/locale.cc (locale::_S_initialize): Workaround a confusion
2407         of the use of the gthr API when __gthread_active_p() returns true.
2408
2409 2003-10-12  Petur Runolfsson  <peturr02@ru.is>
2410             Paolo Carlini  <pcarlini@unitus.it>
2411
2412         PR libstdc++/11460
2413         * src/strstream.cc (pbackfail): Fix to use to_int_type.
2414         * testsuite/backward/11460.cc: New, from the PR.
2415
2416 2003-10-12  Paolo Carlini  <pcarlini@unitus.it>
2417
2418         * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
2419         Change #ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS to a comment.
2420         * include/bits/basic_string.tcc: Likewise.
2421         * include/bits/ios_base.h: Likewise.
2422         * include/bits/istream.tcc: Likewise.
2423         * include/bits/locale_facets.tcc: Likewise.
2424         * include/bits/ostream.tcc: Likewise.
2425         * include/bits/stl_function.h: Likewise.
2426         * include/bits/stl_multiset.h: Likewise.
2427         * include/bits/stl_pair.h: Likewise.
2428         * include/bits/stl_set.h: Likewise.
2429         * include/bits/streambuf_iterator.h
2430         * include/std/std_iosfwd.h: Likewise.
2431         * include/std/std_istream.h: Likewise.
2432         * include/std/std_sstream.h: Likewise.
2433         * include/std/std_streambuf.h: Likewise.
2434         * src/ios.cc: Likewise.
2435         * include/bits/c++config:
2436         Comment out #define _GLIBCXX_RESOLVE_LIB_DEFECTS 1.
2437         * testsuite/27_io/ios_base/cons/assign_neg.cc: Tweak a
2438         dg-error directive due to removal of a blank line.
2439         * testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
2440
2441 2003-10-12  Andreas Tobler  <a.tobler@schweiz.ch>
2442             Paolo Carlini  <pcarlini@unitus.it>
2443
2444         PR libstdc++/11844/11740 (cont)
2445         * config/os/generic/ctype_inline.h (ctype<char>::is):
2446         Generically, use a bitmasksize of 15 (instead of 10);
2447         Fix the logic to actually return (M & m) != 0 as per
2448         22.2.1.1.2.
2449
2450 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
2451
2452         * crossconfig.m4 (*-uclinux*): New target.
2453         * configure: Regenerate.
2454
2455 2003-10-10  Paolo Carlini  <pcarlini@unitus.it>
2456
2457         * include/bits/ostream.tcc (operator<<(basic_ostream&, _CharT))
2458         Avoid unnecessarily calling __builtin_alloca and dealing
2459         explicitly with width() smaller than zero.
2460         (operator<<(basic_ostream&, char), operator<<(basic_ostream&,
2461         const _CharT*), operator<<(basic_ostream<_CharT, _Traits>&,
2462         const char*), operator<<(basic_ostream<char, _Traits>&,
2463         const char*), operator<<(basic_ostream, const basic_string&)):
2464         Likewise.
2465
2466 2003-10-09  Benjamin Kosnik  <bkoz@redhat.com>
2467
2468         * config/linker-map.gnu: Make more *_type_info bits visible.
2469         Move new/delete bits back into GLIBCXX space.
2470
2471         * include/bits/locale_classes.h: Move _M_id out of line, so that
2472         locale::id::_S_highwater can be removed from the export list.
2473         * src/locale.cc (locale::id::_M_id): Define.
2474         
2475 2003-10-09  Andreas Tobler  <a.tobler@schweiz.ch>
2476
2477         * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_64 for
2478         SPARC64.
2479
2480 2003-10-09  Paolo Carlini  <pcarlini@unitus.it>
2481
2482         PR libstdc++/11844
2483         * config/os/aix/ctype_base.h: Fix 'alnum' and 'graph'
2484         to conform to the requirements of 22.2.1.
2485         * config/os/bsd/freebsd/ctype_base.h: Likewise.
2486         * config/os/djgpp/ctype_base.h: Likewise.
2487         * config/os/generic/ctype_base.h: Likewise.
2488         * config/os/gnu-linux/ctype_base.h: Likewise.
2489         * config/os/hpux/ctype_base.h: Likewise.
2490         * config/os/irix/irix6.5/ctype_base.h: Likewise.
2491         * config/os/solaris/solaris2.6/ctype_base.h: Likewise.
2492         * config/os/solaris/solaris2.7/ctype_base.h: Likewise.
2493         * testsuite/22_locale/ctype/11844.cc: New.
2494
2495         * config/locale/generic/ctype_members.cc (do_is):
2496         Generically, use a bitmasksize of 15 (instead of 10), since
2497         we don't know the numerical encoding of the various categories
2498         in the underlying /usr/include/ctype.h.
2499
2500 2003-10-09  Benjamin Kosnik  <bkoz@redhat.com>
2501
2502         * src/string-inst.cc: Prune.
2503         * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
2504         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
2505         
2506 2003-10-09  Petur Runolfsson  <peturr02@ru.is>
2507
2508         * src/io-inst.cc: Don't include iostream.
2509         * include/bits/ios_base.h (ios_base::failure): Use string.
2510         * src/Makefile.am: Add ios_failure.cc.
2511         * src/Makefile.in: Regenerate.
2512         * src/ios.cc: Move ios_base::failure definitions to...
2513         * src/ios_failure.cc: ...here. New.
2514
2515 2003-10-09  Petur Runolfsson  <peturr02@ru.is>
2516
2517         PR libstdc++/9874
2518         * include/bits/fstream.tcc (basic_filebuf::seekoff):
2519         Move code needed for both seekoff and seekpos...
2520         (basic_filebuf::_M_seek): ...here. New function.
2521         (basic_filebuf::seekpos): Don't call seekoff, call _M_seek.
2522         * include/std/std_fstream.h (basic_filebuf::_M_seek): Declare it.
2523         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: New test.
2524
2525         * testsuite/22_locale/locale/cons/12438.cc: Increase memory limit.
2526
2527 2003-10-08  Paolo Carlini  <pcarlini@unitus.it>
2528
2529         * include/bits/locale_facets.tcc: More minor cosmetic
2530         changes and const-ifications of some variables.
2531
2532 2003-10-07  Paolo Carlini  <pcarlini@unitus.it>
2533
2534         * include/bits/locale_facets.tcc: Minor cosmetic changes
2535         and const-ifications of some variables.
2536
2537         * include/bits/locale_facets.tcc
2538         (money_get::do_get(..., string_type&)): Simplify an if-else.
2539
2540 2003-10-06  Paolo Carlini  <pcarlini@unitus.it>
2541
2542         PR libstdc++/11740
2543         * config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_is):
2544         Fix to actually return (M & m) != 0 as per 22.2.1.1.2.
2545         * config/locale/generic/ctype_members.cc: Same.
2546         * testsuite/22_locale/ctype/is/wchar_t/11740.cc: New.
2547
2548 2003-10-06  Paolo Carlini  <pcarlini@unitus.it>
2549
2550         * include/bits/locale_facets.tcc (__pad<>::_S_pad):
2551         Improve performance-wise: avoid one traits::copy, avoid
2552         the __builtin_alloca, streamline.
2553
2554 2003-10-05  Paolo Carlini  <pcarlini@unitus.it>
2555
2556         * include/bits/locale_facets.tcc
2557         (num_put::do_put(..., bool)): Prefer ?: to if-else.
2558         (time_get::_M_extract_name): Qualify min with std::.
2559         (__pad<>::_S_pad): Constify two variables; simplify an
2560         if-else statement factoring out some code.
2561
2562         * include/bits/locale_facets.tcc: Minor cosmetic changes.
2563
2564 2003-10-04  Paolo Carlini  <pcarlini@unitus.it>
2565
2566         * include/bits/locale_facets.tcc (num_get::_M_extract_float):
2567         Constify a couple of variables.
2568         (num_get::do_get(..., bool&)): Constify __c; prefer *__beg,
2569         ++__beg to *__beg++.
2570
2571 2003-10-04  Paolo Carlini  <pcarlini@unitus.it>
2572             Petur Runolfsson  <peturr02@ru.is>
2573
2574         * include/ext/stdio_sync_filebuf.h: Don't include the whole
2575         <fstream>, only <streambuf> and <cstdio>.
2576
2577 2003-10-04  Paolo Carlini  <pcarlini@unitus.it>
2578
2579         PR libstdc++/12206
2580         * include/bits/fstream.tcc (imbue): In case a codecvt facet
2581         is not available, set _M_codecvt = 0.
2582         * testsuite/27_io/basic_filebuf/imbue/12206.cc: New.
2583
2584 2003-10-02  Harald Boehme  <boehme@informatik.hu-berlin.de>
2585
2586         PR libstdc++/12451
2587         * libsupc++/cxxabi.h: Move forward declaration of __class_type_info.
2588         
2589 2003-10-02  Benjamin Kosnik  <bkoz@redhat.com>
2590
2591         * include/bits/locale_classes.h (locale::facet::_S_get_c_name): Add.
2592         * src/locale.cc: Define.
2593         * src/localename.cc: Use it.
2594         * config/locale/generic/time_members.h: Same.
2595         * config/locale/gnu/messages_members.h: Same.
2596         * config/locale/gnu/time_members.h: Same.
2597
2598 2003-10-02  Paolo Carlini  <pcarlini@unitus.it>
2599
2600         PR libstdc++/12232
2601         * include/bits/fstream.tcc (seekoff): Ignore the openmode
2602         argument; simplify.
2603         * config/io/basic_file_stdio.h (__basic_file<char>::seekoff,
2604         seekpos): Remove the openmode argument.
2605         * config/io/basic_file_stdio.cc (__basic_file<char>::seekoff,
2606         seekpos): Remove redundant placeholder for the openmode argument.
2607         * testsuite/27_io/basic_filebuf/seekoff/char/12232.cc: New.
2608         * testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Tweak.
2609         * testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc: Likewise.
2610         * testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Likewise.
2611         * testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc: Likewise.
2612
2613 2003-10-02  Benjamin Kosnik  <bkoz@redhat.com>
2614
2615         * src/locale.cc (locale::_S_initialize): Use __gthread_active_p.
2616         (locale::facet::_S_get_c_locale): Same.
2617         
2618 2003-10-02  Benjamin Kosnik  <bkoz@redhat.com>
2619
2620         * config/linker-map.gnu: Export _S_get_c_locale instead of
2621         _S_c_locale object.
2622
2623 2003-10-02  Petur Runolfsson  <peturr02@ru.is>
2624
2625         * config/locale/generic/c_locale.cc
2626         (category_names, locale::_S_categories): Const qualify.
2627         * config/locale/gnu/c_locale.cc: Same.
2628         * config/locale/generic/time_members.h (__timepunct::__timepunct):
2629         Copy string contents before assigning to _M_name_timepunct,
2630         qualify strcpy and strlen with std::.
2631         * config/locale/gnu/time_members.h: Same.
2632         * config/locale/gnu/messages_members.h (messages::messages):
2633         Copy string contents before assigning to _M_name_messages,
2634         qualify strcpy and strlen with std::.
2635         * config/os/gnu-linux/ctype_noninline.h
2636         (ctype<char>::classic_table()): Don't call locale::classic().
2637         * include/bits/locale_classes.h
2638         (locale::_S_categories): Const qualify. 
2639         (locale::_S_once, locale::_S_initialize_once,
2640         locale::facet::_S_once, locale::facet::_S_initialize_once,
2641         locale::facet::_S_get_c_locale): Declare.
2642         (locale::_S_initialize): Don't define.
2643         (locale::facet::_S_c_locale): Make private.
2644         (locale::facet::_S_c_name): Same, const qualify.
2645         (locale::_Impl::_Impl(facet**, size_t, bool)): Drop unused
2646         parameters, add throw() specifier.
2647         * include/bits/locale_facets.h (__timepunct::_M_name_timepunct,
2648         messages::_M_name_messages): Const qualify.
2649         * src/locale.cc
2650         (locale::_S_once, locale::facet::_S_once): Define.
2651         (locale::classic): Move initialization code...
2652         (locale::_S_initialize_once): ...here.  
2653         (locale::_S_initialize): Call _S_initialize_once through
2654         __gthread_once.
2655         (locale::facet::_S_initialize_once): Initialize _S_c_locale.
2656         (locale::facet::_S_get_c_locale): Call _S_initialize_once through
2657         __gthread_once before returning _S_c_locale.
2658         * src/localename.cc (locale::_Impl::_Impl(facet**, size_t, bool)):
2659         Drop unused parameters, add throw() specifier, don't initialize
2660         locale::facet::_S_c_locale and _S_c_name.
2661         
2662         * config/locale/generic/messages_members.h:
2663         Replace _S_c_locale with _S_get_c_locale().
2664         * config/locale/gnu/c_locale.cc: Same.
2665         * config/locale/gnu/messages_members.h: Same.
2666         * config/locale/gnu/numeric_members.cc: Same.
2667         * config/locale/gnu/time_members.cc: Same.
2668         * config/os/gnu-linux/ctype_noninline.h: Same.
2669         * include/bits/locale_facets.h: Same.
2670         * include/bits/locale_facets.tcc: Same.
2671         * src/codecvt.cc: Same.
2672         * src/ctype.cc: Same.
2673
2674 2003-10-02  Carlo Wood  <carlo@alinoe.com>
2675
2676         * include/bits/demangle.h (demangle<Allocator>::symbol(char const*)):
2677         Decode symbols that start with _GLOBAL_[ID]_ differently: the
2678         trailing part ends with a terminating zero and is not necessarily an
2679         encoding.
2680         * src/demangle.cc (): Same.
2681         * testsuite/demangle/regression/cw-13.cc: Adjust for new output.
2682
2683 2003-10-02  Paolo Carlini  <pcarlini@unitus.it>
2684
2685         * testsuite/22_locale/locale/cons/12438.cc: Use
2686         __gnu_test::try_named_locale("").
2687
2688 2003-10-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2689
2690         * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_0): Define.
2691         (GLIBCXX_CHECK_STDLIB_SUPPORT): Use it to test for lrand48
2692         instead of drand48.
2693         * acconfig.h (HAVE_DRAND48): Renamed to HAVE_LRAND48.
2694         * crossconfig.m4 (*-freebsd*): Define HAVE_LRAND48 instead of
2695         HAVE_DRAND48.
2696         * config.h.in, configure: Regenerate.
2697         * include/bits/stl_algo.h: Use _GLIBCXX_HAVE_LRAND48 to guard
2698         lrand48 use.
2699
2700 2003-10-01  Nathan Myers  <ncm@cantrip.org>
2701
2702         * include/bits/locale_facets.tcc (time_put::put): Avoid
2703         expensive *__s++, in favor of *__s, ++__s.
2704
2705 2003-10-01  Paolo Carlini  <pcarlini@unitus.it>
2706
2707         * include/bits/locale_facets.tcc (time_put::put): Minor
2708         tweak to the previous commit.
2709
2710 2003-10-01  Paolo Carlini  <pcarlini@unitus.it>
2711
2712         PR libstdc++/12439
2713         * include/bits/locale_facets.tcc (time_put::put): Deal
2714         with the three issues pointed out by the PR.
2715         * testsuite/22_locale/time_put/put/char/12439_1.cc: New.
2716         * testsuite/22_locale/time_put/put/char/12439_3.cc: New.
2717         * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: New.
2718         * testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: New.
2719         * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: New.
2720
2721 2003-09-30  Paolo Carlini  <pcarlini@unitus.it>
2722
2723         * include/bits/stl_algo.h: Minor cosmetic reformattings.
2724
2725 2003-09-30  Paolo Carlini  <pcarlini@unitus.it>
2726
2727         * include/bits/stl_algo.h (search_n): Tweak, to spare the
2728         first --__n.
2729
2730 2003-09-30  Paolo Carlini  <pcarlini@unitus.it>
2731
2732         * testsuite/22_locale/locale/cons/12352.cc: Explicitly
2733         qualify exception name.
2734
2735 2003-09-30  Paolo Carlini  <pcarlini@unitus.it>
2736
2737         PR libstdc++/12438
2738         * include/bits/locale_facets.tcc (locale::combine): Don't
2739         leak memory if _M_replace_facet throws.
2740         * testsuite/22_locale/locale/cons/12438.cc: New, from the PR.
2741
2742         * include/bits/locale_classes.h (locale::locale(const locale&,
2743         _Facet*)): Tweak, use consistently _M_remove_reference.
2744
2745 2003-09-30  Paolo Carlini  <pcarlini@unitus.it>
2746
2747         PR libstdc++/12352 (cont)
2748         * src/localename.cc (locale::_Impl::_Impl(const char*, size_t)):
2749         Don't leak __cloc; don't leak if any of the _M_init_facet(...)
2750         calls fail.
2751         (locale::_Impl::_Impl(const _Impl&, size_t)): Tweak.
2752         (locale::_Impl::~_Impl): Don't do anything if !_M_facets,
2753         !_M_caches, !_M_names.
2754
2755 2003-09-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2756
2757         * configure.host: Handle Solaris 2.5 micro releases explicitly.
2758         Remove wildcards from Solaris 2.6, 7-9: there were no
2759         micro releases.
2760         Treat Solaris 10 and up like 7-9.
2761
2762 2003-09-29  Paolo Carlini  <pcarlini@unitus.it>
2763
2764         * include/bits/stl_algo.h (search_n): Improve the previous
2765         fix as suggested by Martin.
2766
2767 2003-09-29  Paolo Carlini  <pcarlini@unitus.it>
2768
2769         PR libstdc++/12296
2770         * include/bits/istream.tcc (peek): Set eofbit if sgetc
2771         returns eof.
2772         * testsuite/27_io/basic_istream/peek/char/12296.cc:
2773         New, from the PR.
2774
2775 2003-09-29  Nathan Myers  <ncm@cantrip.org>
2776             Paolo Carlini  <pcarlini@unitus.it>
2777
2778         PR libstdc++/11400
2779         * include/bits/stl_algo.h (search_n):
2780         Use iterator_traits<>::difference_type for __n.
2781         * testsuite/25_algorithms/search_n/11400.cc: New, from the PR.
2782
2783 2003-09-29  Paolo Carlini  <pcarlini@unitus.it>
2784
2785         * testsuite/22_locale/locale/cons/12352.cc:
2786         Use __attribute__((unused)) for test.
2787
2788 2003-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
2789
2790         * testsuite/22_locale/time_put/put/char/2.cc (test_02): Allow either 
2791         "Son" or "So" as abbreviated name for Sunday in de_DE locale.
2792         * testsuite/22_locale/time_put/put/wchar_t/2.cc (test_02): Likewise.
2793
2794 2003-09-26  Brad Spencer  <spencer@infointeractive.com>
2795
2796         * testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc:
2797         Explicitly qualify exceptions.
2798         * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: Same.
2799         * testsuite/27_io/basic_istream/sentry/char/3983-sstream.cc: Same.
2800         * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
2801         * testsuite/27_io/basic_ostream/sentry/char/3983-sstream.cc: Same.
2802         
2803 2003-09-25  Paolo Carlini  <pcarlini@unitus.it>
2804
2805         PR libstdc++/12352
2806         * src/localename.cc (locale::_Impl::_Impl(const _Impl&,
2807         size_t)): Don't leak if memory allocations for _M_facets,
2808         _M_caches, and _M_names fail.
2809         (locale::_Impl::_Impl(const char*, size_t)): Ditto.
2810         (locale::_Impl::_M_replace_categories(const _Impl*,
2811         category)): Ditto.
2812         (locale::_Impl::_M_install_facet(const locale::id*,
2813         const facet*)): Ditto.
2814         * include/bits/locale_classes.h (locale::locale(const locale&,
2815         _Facet*)): Don't leak memory.
2816         * testsuite/22_locale/locale/cons/12352.cc: New, from the PR.
2817
2818         * src/localename.cc (locale::_Impl::_Impl(facet**, size_t,
2819         bool)): Qualify with std:: strcpy, tweak.
2820         * include/bits/locale_classes.h
2821         (locale::_Impl::_M_check_same_name): Qualify strcmp.
2822
2823 2003-09-25  Brad Spencer  <spencer@infointeractive.com>
2824
2825         PR libstdc++/6072
2826         * acinclude.m4: Split out checks for vfwscanf, vswscanf, vwscanf,
2827         wcstof, iswblank.       
2828         * aclocal.m4: Regenerate.
2829         * config.h.in: Regenerate.
2830         * configure: Regenerate.
2831         * crossconfig.m4: Add in wchar_t bits for solaris crosses.
2832         * config/io/basic_file_stdio.cc: Guard unistd.h.
2833         * include/c_compatibility/wchar.h: Guard extra wchar_t functionality.
2834         * include/c_std/std_cwchar.h: Same.
2835         * include/c_std/std_cwctype.h: Same.
2836         
2837 2003-09-25  Benjamin Kosnik  <bkoz@redhat.com>
2838
2839         PR libstdc++/11065
2840         * config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_is): Fix.
2841         * config/locale/generic/ctype_members.cc: Same.
2842         * testsuite/22_locale/ctype/is/char/1.cc: Initialize mask.
2843         * testsuite/22_locale/ctype/is/wchar_t/1.cc: Same.
2844
2845         * config/os/generic/ctype_inline.h: Update.
2846         
2847 2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
2848
2849         * src/Makefile.am (version_dep): New variable.
2850         (libstdc___la_DEPENDENCIES): Use it to add dependency on
2851         libstdc++-symbol.ver only when using symbol versioning.
2852         * src/Makefile.in: Regenerate.
2853
2854 2003-09-23  Benjamin Kosnik  <bkoz@redhat.com>
2855
2856         * include/bits/locale_facets.tcc: Tweak to avoid warnings.
2857         * testsuite/testsuite_hooks.h: Same.
2858         * testsuite/*/*.cc: Same.
2859
2860 2003-09-22  Petur Runolfsson  <peturr02@ru.is>
2861
2862         * include/bits/istream.tcc (basic_istream::read,
2863         basic_istream::readsome, basic_istream::putback,
2864         basic_istream::unget, operator>>(basic_istream, CharT)):
2865         Avoid redundant setstate(failbit) calls when sentry::operator bool()
2866         returns false.
2867
2868 2003-09-22  Carlo Wood  <carlo@alinoe.com>
2869
2870         PR libstdc++/12365
2871         * include/bits/demangle.h (qualifier(int, cv_qualifier_nt,
2872         char const*, int, int)):  Remove unused identifier
2873         cv_qualifier for overloaded constructor.
2874
2875 2003-09-18  Benjamin Kosnik  <bkoz@redhat.com>
2876
2877         PR libstdc++/11504
2878         * acinclude.m4 (GLIBCXX_EXPORT_FLAGS): Add -Wcast-qual to
2879         WARN_FLAGS, remove -Wno-format.
2880         * aclocal.m4: Regenerate.
2881         * configure: Regenerate.
2882
2883 2003-09-18  Petur Runolfsson  <peturr02@ru.is>
2884
2885         * config/io/basic_file_stdio.cc (sys_getc, sys_ungetc): Delete.
2886         * config/io/basic_file_stdio.h: Same.
2887         * include/std/std_fstream.h (__ctype_type): Delete.
2888         * include/std/std_streambuf.h (__ctype_type, __state_type): Delete.
2889         
2890 2003-09-17  Benjamin Kosnik  <bkoz@redhat.com>
2891
2892         PR libstdc++/12239
2893         * configure.host (abi_baseline_pair): Error out on solaris2
2894         configurations without a minor version number.
2895
2896 2003-09-13  Phil Edwards  <phil@codesourcery.com>
2897
2898         * docs/doxygen/run_doxygen:  Clear GENERATE_TAGFILE entirely
2899         if man pages are on.
2900         * docs/doxygen/user.cfg.in:  And here.
2901
2902 2003-09-10  Daniel Jacobowitz  <drow@mvista.com>
2903             Andreas Jaeger <aj@suse.de>
2904
2905         PR libstdc++/12189
2906         * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Don't build
2907         abi_check if cross compiling.
2908         * aclocal.m4: Regenerated.
2909         * configure: Regenerated.
2910
2911 2003-09-10  Jeffrey D. Oldham  <oldham@codesourcery.com>
2912
2913         * libsupc++/vec.cc (__cxa_vec_new2): If the allocator returns
2914         NULL, return NULL.  This reflects a C++ ABI change 2003 Sep 05.
2915         (__cxa_vec_new3): Likewise.
2916
2917 2003-09-10  Petur Runolfsson  <peturr02@ru.is>
2918
2919         * include/bits/fstream.tcc (basic_filebuf::seekoff):
2920         Use codecvt::length to handle variable-width stateless encodings
2921         correctly.
2922         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: New test.
2923         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc: New test.
2924
2925 2003-09-10  Alan Modra  <amodra@bigpond.net.au>
2926
2927         * config/io/basic_file_stdio.cc (_M_open_mode): Assign __p_mode
2928         rather than or'ing.
2929
2930 2003-09-09  Alan Modra  <amodra@bigpond.net.au>
2931
2932         * configure: Regenerate.
2933
2934 2003-09-09  David Edelsohn  <edelsohn@gnu.org>
2935
2936         * src/ios.cc (ios_base::Init::Init): Remove unnecessary
2937         qualifier from _S_synced_with_stdio.
2938
2939 2003-09-09  Bernardo Innocenti  <bernie@develer.com>
2940
2941         * include/c_std/std_cstdlib.h: Avoid using missing C library symbols.
2942
2943 2003-09-04  Petur Runolfsson  <peturr02@ru.is>
2944
2945         PR libstdc++/9028
2946         * include/bits/fstream.tcc
2947         (basic_filebuf::_M_destroy_internal_buffer): Destroy _M_ext_buf.
2948         (basic_filebuf::basic_filebuf): Initialize _M_ext_buf,
2949         _M_ext_buf_size, _M_ext_next and _M_ext_end.
2950         (basic_filebuf::underflow): Handle variable-width stateless
2951         encodings (codecvt::encoding() == 0), including UTF-8.
2952         * include/std/std_fstream.h (basic_filebuf):
2953         Declare _M_ext_buf, _M_ext_buf_size, _M_ext_next, _M_ext_end.
2954         * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: New test.
2955         * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: New test.
2956         * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: New test.
2957         * testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: New test.
2958         * testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: New test.
2959         * testsuite/27_io/objects/wchar_t/12.cc: New test.
2960         * testsuite/27_io/objects/wchar_t/13.cc: New test.
2961
2962 2003-09-04  Jonathan Wakely  <redi@gcc.gnu.org>
2963
2964         * docs/html/faq/index.html: Note that a namespace alias can't be
2965         used when specialising templates in extension namespace.
2966         * docs/html/faq/index.txt: Regenerate.
2967
2968 2003-09-03  Petur Runolfsson  <peturr02@ru.is>
2969
2970         PR libstdc++/12048
2971         * include/ext/stdio_sync_filebuf.h
2972         (stdio_sync_filebuf::_M_unget_buf): Declare it.
2973         (stdio_sync_filebuf::stdio_sync_filebuf): Initialize _M_unget_buf.
2974         (stdio_sync_filebuf::uflow): Store the returned character in
2975         _M_unget_buf.
2976         (stdio_sync_filebuf::pbackfail): If argument is eof(), pass
2977         _M_unget_buf to syncungetc(). Set _M_unget_buf to eof().
2978         (stdio_sync_filebuf<char>::xsgetn): Store last read character in
2979         _M_unget_buf, if any, else eof().
2980         (stdio_sync_filebuf<wchar_t>::xsgetn: Store last read character in
2981         _M_unget_buf, if any, else eof().
2982         * testsuite/27_io/objects/char/12048.cc: Rename to...
2983         * testsuite/27_io/objects/char/12048-1.cc: ...this.
2984         * testsuite/27_io/objects/char/12048-2.cc: New test.
2985         * testsuite/27_io/objects/char/12048-3.cc: New test.
2986         * testsuite/27_io/objects/char/12048-4.cc: New test.
2987         * testsuite/27_io/objects/char/12048-5.cc: New test. XFAIL.
2988         * testsuite/27_io/objects/wchar_t/12048-1.cc: New test.
2989         * testsuite/27_io/objects/wchar_t/12048-2.cc: New test.
2990         * testsuite/27_io/objects/wchar_t/12048-3.cc: New test.
2991         * testsuite/27_io/objects/wchar_t/12048-4.cc: New test.
2992         * testsuite/27_io/objects/wchar_t/12048-5.cc: New test. XFAIL.
2993         * testsuite/ext/stdio_sync_filebuf_char.cc
2994         (test02, test03, test04, test05): New tests.
2995         * testsuite/ext/stdio_sync_filebuf_wchar_t.cc
2996         (test02, test03, test04, test05): New tests.
2997
2998 2003-09-03  Petur Runolfsson  <peturr02@ru.is>
2999
3000         * docs/html/27_io/howto.html: setbuf(0, 0) has no effect on
3001         stringbuf or strstreambuf. Fix typos.
3002
3003 2003-09-02  Phil Edwards  <phil@codesourcery.com>
3004
3005         * acinclude.m4 (GLIBCXX_ENABLE_HOSTED):  #define _GLIBCXX_HOSTED
3006         appropriately.
3007         * config.h.in:  Add _GLIBCXX_HOSTED.
3008         * libsupc++/eh_term_handler.cc:  Test it here; initialize
3009         __terminate_handler to std::abort if freestanding.
3010         * aclocal.m4, configure:  Regenerated.
3011         * docs/html/configopts.html:  Document --disable-hosted-libstdcxx.
3012
3013 2003-08-29  Nathan Myers  <ncm@cantrip.org>
3014         
3015         PR libstdc++/11990      
3016         * include/bits/locale_facets.tcc (__pad): delete dead code.
3017
3018 2003-08-28  Alan Modra  <amodra@bigpond.net.au>
3019
3020         * configure.ac: Test $with_cross_host against $build_alias, not $build.
3021         * configure: Regenerate.
3022
3023 2003-08-27  Petur Runolfsson  <peturr02@ru.is>
3024
3025         * testsuite/27_io/objects/wchar_t/10.cc: Move wcout stuff...
3026         * testsuite/27_io/objects/wchar_t/11.cc: ...here. New file.
3027
3028 2003-08-27  Phil Edwards  <pme@gcc.gnu.org>
3029
3030         * Makefile.am:  Remove trailing whitespace.  Remove needless
3031         "foo = @foo@" assignments.  Replace direct uses of @foo@ with $(foo).
3032         * include/Makefile.am:  Likewise.
3033         * libmath/Makefile.am:  Likewise.
3034         * libsupc++/Makefile.am:  Likewise.
3035         * po/Makefile.am:  Likewise.
3036         * src/Makefile.am:  Likewise.
3037         * testsuite/Makefile.am:  Likewise.
3038
3039         * Makefile.in, include/Makefile.in, libmath/Makefile.in,
3040         libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
3041         testsuite/Makefile.in:  Regenerated.
3042
3043 2003-08-27  Phil Edwards  <pme@gcc.gnu.org>
3044
3045         * acinclude.m4 (GLIBCXX_EXPORT_INCLUDES):  Change quoting of
3046         includedir.
3047         * aclocal.m4, configure:  Regenerate.
3048
3049 2003-08-27  Daniel Jacobowitz  <drow@mvista.com>
3050
3051         * acinclude.m4: Include no-executables.m4.
3052         * configure.ac: Uncomment GCC_NO_EXECUTABLES.
3053         * aclocal.m4: Regenerated.
3054         * configure: Regenerated.
3055
3056 2003-08-27  Daniel Jacobowitz  <drow@mvista.com>
3057
3058         * acinclude.m4: Don't call AC_ISC_POSIX.
3059         * aclocal.m4: Regenerated.
3060         * configure: Regenerated.
3061
3062 2003-08-27  Phil Edwards  <pme@gcc.gnu.org>
3063
3064         * acinclude.m4 (GLIBCXX_CONDITIONAL):  New macro.  Wrap
3065         AM_CONDITIONAL.  Replace all calls to AM_CONDITIONAL with this one.
3066         (GLIBCXX_ENABLE_HOSTED):  New macro, sets new variable is_hosted,
3067         used elsewhere in this file.
3068         (GLIBCXX_EVALUATE_CONDITIONALS):  New macro...
3069         * configure.ac:  ...called here to expand all conditionals.
3070         * Makefile.am:  Conditionalize SUBDIRS on GLIBCXX_HOSTED.
3071         * include/Makefile.am:  Remove redundant gxx_include_dir assignment.
3072         (install-freestanding-headers):  New target, a subset of
3073         install-headers.  Conditionalize install-data-local on GLIBCXX_HOSTED.
3074
3075         * aclocal.m4, configure, Makefile.in, include/Makefile.in,
3076         libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
3077         src/Makefile.in, testsuite/Makefile.in:  Regenerated.
3078
3079 2003-08-26  Phil Edwards  <pme@gcc.gnu.org>
3080
3081         * docs/doxygen/run_doxygen:  Shell fixes.  Remove hardcoded local
3082         pathnames from generated tag file.
3083
3084 2003-08-26  Phil Edwards  <pme@gcc.gnu.org>
3085
3086         * Makefile.am:  Add comment.
3087         * acinclude.m4 (GLIBCXX_CONFIGURE):  Set new glibcxx_SUBDIRS and
3088         SUBDIRS variables.
3089         * configure.ac:  Use them both here, instead of hardcoded lists.
3090
3091         * fragment.am:  Add STAMP varaible.
3092         * include/Makefile.am:  Cosmetic whitespace cleanup.  Use $(LN_S)
3093         instead of @LN_S@.
3094         (stamp-*):  Move file creation rule outside of 'if' branches to
3095         ensure the stamp-* files are actually updated.  Use $(STAMP).
3096         * src/Makefile.am:  Remove now-nonexistant variable.
3097         * libsupc++/Makefile.am:  Likewise.  Snap the assignment chain
3098         for -prefer-pic.
3099         * po/Makefile.am:  Include same fragment as all the others.
3100
3101         * aclocal.m4, configure, Makefile.in, include/Makefile.in,
3102         libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in:  Regenerated.
3103
3104 2003-08-26  Loren J. Rittle  <ljrittle@acm.org>
3105
3106         * testsuite/data/cin_unget-1.txt: New.
3107         * testsuite/27_io/objects/char/12048.cc: New.
3108
3109 2003-08-25  Zack Weinberg  <zack@codesourcery.com>
3110
3111         * config/os/hpux/os_defines.h: Unconditionally define
3112         _GLIBCXX_GTHREAD_USE_WEAK to 0.
3113
3114 2003-08-19  Geoffrey Keating  <geoffk@apple.com>
3115
3116         * crossconfig.m4 (*-darwin*): Add a large and boring stanza for
3117         crosses to Darwin targets.
3118         * configure: Regenerate.
3119
3120 2003-08-19  Petur Runolfsson  <peturr02@ru.is>
3121
3122         * include/ext/ropeimpl.h: #include <ostream> instead of <iostream>
3123
3124 2003-08-17  Phil Edwards  <pme@gcc.gnu.org>
3125
3126         * configure.ac:  GCC_NO_EXECUTABLES was supposed to be commented
3127         in the patch from 3 minutes ago.  Boy, is my face red.
3128         * configure:  At least I remembered to regenerate this.
3129
3130 2003-08-17  Phil Edwards  <pme@gcc.gnu.org>
3131
3132         * acinclude.m4 (GLIBCXX_EXPORT_INCLUDES):  Remove LIBMATH_INCLUDES
3133         and LIBSUPCXX_INCLUDES.  Re-purpose TOPLEVEL_INCLUDES to refer to
3134         things from the top level.
3135         * configure.ac (GLIBCXX_IS_NATIVE):  Determine earlier and re-order.
3136         Comment out the conditionals for CANADIAN and GLIBCXX_BUILD_LIBMATH
3137         (currently unused).  Strip the fake-VPATH shell fragment from
3138         automake-generated rules, if present.
3139         * linkage.m4:  Add comment.
3140
3141         * fragment.am:  New file, containing factored-out common settings.
3142         (AM_CPPFLAGS):  Absorb the deprecated INCLUDES variable contents.
3143         * Makefile.am:  Include fragment.am.  Remove common variables.
3144         * include/Makefile.am:  Likewise.
3145         * libmath/Makefile.am:  Likewise.
3146         * libsupc++/Makefile.am:  Likewise.
3147         * po/Makefile.am:  Likewise.  Print rules during check.
3148         * src/Makefile.am:  Likewise.
3149         * testsuite/Makefile.am:  Likewise.
3150
3151         * aclocal.m4, configure, Makefile.in, include/Makefile.in,
3152         libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
3153         src/Makefile.in, testsuite/Makefile.in:  Regenerate.
3154
3155 2003-08-11  John Levon  <levon@movementarian.org>
3156
3157         * docs/html/ext/howto/guide.html (GLIBCXX_FORCE_NEW): Update
3158         remaining places for the name change from GLIBCPP_FORCE_NEW
3159         to GLIBCXX_FORCE_NEW
3160
3161 2003-08-11  Benjamin Kosnik  <bkoz@redhat.com>
3162
3163         * include/bits/basic_ios.h: Remove *_iter typedefs, change num*
3164         typedefs to num_*.
3165         * include/bits/basic_ios.tcc: Same.
3166         * include/bits/istream.tcc: Same.
3167         * include/bits/locale_facets.h: Same.
3168         * include/bits/ostream.tcc: Same.
3169         * include/std/std_istream.h: Same.
3170         * include/std/std_ostream.h: Same.
3171         * testsuite/26_numerics/complex_inserters_extractors.cc: Fix.
3172
3173         * include/ext/rope: Remove build warning.
3174
3175 2003-08-11  Andreas Jaeger  <aj@suse.de>
3176
3177         * include/Makefile.am (stamp-c_base): Add dependency on stamp-bits
3178         to make SMP-safe.
3179         * include/Makefile.in: Regenerated.
3180
3181 2003-08-11  Phil Edwards  <pme@gcc.gnu.org>
3182
3183         * acinclude.m4 (GLIBCXX_CONFIGURE):  Unprecious CC and CFLAGS
3184         when calling AC_PROG_CC.
3185         * aclocal.m4, configure:  Regenerate.
3186
3187 2003-08-11  Phil Edwards  <pme@gcc.gnu.org>
3188
3189         * acinclude.m4:  Properly quote variable which will be expanded
3190         inside makefiles.  Use CXX instead of CC to extract compiler info.
3191         * configure.ac (AC_INIT):  Use the new 4-arg form to finally get the
3192         correct form in PACKAGE.
3193         * aclocal.m4, configure:  Regenerate.
3194
3195 2003-08-08  Benjamin Kosnik  <bkoz@redhat.com>
3196
3197         * testsuite/Makefile.am (check-abi): Change libstdc++-v3 to libstdc++.
3198         (check-abi-verbose): Same.
3199         * testsuite/testsuite_performance.h (report_performance): Same.
3200
3201 2003-08-08  Loren J. Rittle  <ljrittle@acm.org>
3202
3203         * testsuite/testsuite_performance.h (__FreeBSD__): Add fake mallinfo.
3204
3205 2003-08-07  Doug Gregor  <dgregor@apple.com>
3206
3207         * include/bits/char_traits.h (char_traits::not_eof): Match operand
3208         types in ? :.
3209
3210 2003-08-07  Bernardo Innocenti  <bernie@develer.com>
3211
3212         PR libstdc++/11784
3213         * libstdc++-v3/config/cpu/m68k/atomicity.h (__exchange_and_add):
3214         Replace variants with new BSET-based version.
3215
3216 2003-08-07  Carlo Wood  <carlo@alinoe.com>
3217
3218         * include/bits/demangle.h: Do not use cctype functions that depend
3219         on locale.
3220
3221 2003-08-05  Phil Edwards  <pme@gcc.gnu.org>
3222
3223         * configure.in:  Rename...
3224         * configure.ac:  ...to this.
3225         * docs/html/17_intro/porting.texi:  Update name.
3226
3227         * docs/html/17_intro/porting.html:  Regenerate.
3228         * config.h.in, Makefile.in, include/Makefile.in, libmath/Makefile.in,
3229         libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
3230         testsuite/Makefile.in:  Regenerate (picks up new dependancy).
3231
3232 2003-08-05  Phil Edwards  <pme@gcc.gnu.org>
3233
3234         * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS):  Put down the crack
3235         pipe, open the window to let out the fumes, redo the option-handling
3236         logic to properly execute the detection test.
3237         * aclocal.m4, configure:  Regenerate.
3238
3239 2003-08-04  Phil Edwards  <pme@gcc.gnu.org>
3240
3241         Convert to new autotools.
3242         * acconfig.h:  Update with correct names.
3243         * configure.host (ATOMICITYH):  Rename to atomicity_include_dir.
3244         (qnx6.[12]*):  'q' comes before 's', not after 'w'.
3245         * configure.in:  Update.  Split hardcoded cross-configury settings
3246         out to...
3247         * crossconfig.m4:  ...here.  New file.  Contents untouched.
3248         * acinclude.m4:  Reorganize and rewrite as needed.  Split large
3249         chunks out to...
3250         * linkage.m4:  ...here.  New file.  Math and stdlib linkage tests.
3251         Contents untouched.
3252         * scripts/testsuite_flags.in:  Update.
3253
3254         * Makefile.am:  Remove unneeded AUTOMAKE_OPTIONS settings and other
3255         variables (already generated by automake).
3256         * include/Makefile.am:  Ditto.
3257         * libmath/Makefile.am:  Ditto.
3258         * libsupc++/Makefile.am:  Ditto.
3259         * po/Makefile.am:  Ditto.
3260         * src/Makefile.am:  Ditto.
3261
3262         * aclocal.m4:  Regenerate using new versions.
3263         * config.h.in:  Ditto.
3264         * configure:  Ditto.
3265         * Makefile.in:  Ditto.
3266         * include/Makefile.in:  Ditto.
3267         * libmath/Makefile.in:  Ditto.
3268         * libsupc++/Makefile.in:  Ditto.
3269         * po/Makefile.in:  Ditto.
3270         * src/Makefile.in:  Ditto.
3271         * testsuite/Makefile.in:  Ditto.
3272
3273 2003-08-04  Phil Edwards  <pme@gcc.gnu.org>
3274
3275         * po/libstdc++.pot:  Re-extract/regenerate.
3276
3277 2003-08-04  Phil Edwards  <pme@gcc.gnu.org>
3278
3279         * testsuite/Makefile.am (DEJATOOL,EXPECT,RUNTEST,RUNTESTFLAGS):
3280         Remove unneeded variable assignments.  Leave them for automake.
3281         * testsuite/lib/libstdc++-v3.exp:  Rename...
3282         * testsuite/lib/libstdc++.exp:  ...to this.  Adjust function names
3283         accordingly.
3284         * testsuite/libstdc++-v3.dg/dg.exp:  Rename...
3285         * testsuite/libstdc++-dg/normal.exp:  ...to this.  Adjust function
3286         names accordingly.
3287
3288 2003-08-04  Phil Edwards  <pme@gcc.gnu.org>
3289
3290         * docs/doxygen/guide.html:  run_doxygen uses bash.
3291         * docs/doxygen/mainpage.html:  We'll be shipping tag files.
3292         * docs/doxygen/run_doxygen:  Tweaks and improvements.
3293         * docs/doxygen/user.cfg.in:  Set GENERATE_TAGFILE.
3294         * docs/html/install.html:  Update autoconf/automake requirements.
3295         * docs/html/test.html:  Add section describing DejaGNU support.
3296         * docs/html/17_intro/confdeps.dot:  New file, generates...
3297         * docs/html/17_intro/confdeps.png:  ...this new file.
3298         * docs/html/Makefile:  Generated here.
3299         * docs/html/17_intro/configury.html:  New file.
3300
3301 2003-07-31  Phil Edwards  <pme@gcc.gnu.org>
3302
3303         * testsuite/lib/libstdc++-v3-dg.exp:  Rename...
3304         * testsuite/lib/libstdc++-v3.exp:  ...to this.
3305         * testsuite/libstdc++-v3.dg/dg.exp:  No special case needed now.
3306
3307 2003-07-31  Doug Gregor  <dgregor@apple.com>
3308
3309         Add user specialization tests.
3310         * testsuite/23_containers/deque/1.cc: New.
3311         * testsuite/23_containers/list/1.cc: New.
3312         * testsuite/23_containers/map/1.cc: New.
3313         * testsuite/23_containers/multimap/1.cc: New.
3314         * testsuite/23_containers/multiset/1.cc: New.
3315         * testsuite/23_containers/set/1.cc: New.
3316         * testsuite/23_containers/vector/1.cc: New.
3317
3318 2003-07-31  Benjamin Kosnik  <bkoz@redhat.com>
3319
3320         Reshuffle 23_containers testsuite.
3321         * 23_containers/adaptors.cc, bitset_ctor.cc,bitset_members.cc,
3322         bitset_shift.cc, deque_ctor.cc, deque_operators.cc,
3323         list_capacity.cc, list_ctor.cc, list_modifiers.cc, list_operators.cc,
3324         map_insert.cc, map_operators.cc, map_operators_neg.cc, multiset.cc,
3325         set_operators_neg.cc, vector_bool.cc, vector_capacity.cc,
3326         vector_ctor.cc, vector_element_access.cc, vector_modifiers.cc,
3327         vector_resize.cc: Split into...
3328         * 23_containers/bitset/cons/1.cc: New.
3329         * 23_containers/bitset/cons/6282.cc: New.
3330         * 23_containers/bitset/count/6124.cc: New.
3331         * 23_containers/bitset/operations/1.cc: New.
3332         * 23_containers/bitset/operations/2.cc: New.
3333         * 23_containers/bitset/test/1.cc: New.
3334         * 23_containers/bitset/to_ulong/1.cc: New.
3335         * 23_containers/deque/cons/1.cc: New.
3336         * 23_containers/deque/cons/2.cc: New.
3337         * 23_containers/deque/operators/1.cc: New.
3338         * 23_containers/list/capacity/1.cc: New.
3339         * 23_containers/list/cons/1.cc: New.
3340         * 23_containers/list/cons/2.cc: New.
3341         * 23_containers/list/cons/3.cc: New.
3342         * 23_containers/list/cons/4.cc: New.
3343         * 23_containers/list/cons/5.cc: New.
3344         * 23_containers/list/cons/6.cc: New.
3345         * 23_containers/list/cons/7.cc: New.
3346         * 23_containers/list/cons/8.cc: New.
3347         * 23_containers/list/cons/9.cc: New.
3348         * 23_containers/list/modifiers/1.cc: New.
3349         * 23_containers/list/modifiers/2.cc: New.
3350         * 23_containers/list/modifiers/3.cc: New.
3351         * 23_containers/list/operators/1.cc: New.
3352         * 23_containers/list/operators/2.cc: New.
3353         * 23_containers/list/operators/3.cc: New.
3354         * 23_containers/list/operators/4.cc: New.
3355         * 23_containers/map/insert/1.cc: New.
3356         * 23_containers/map/operators/1.cc: New.
3357         * 23_containers/map/operators/1_neg.cc: New.
3358         * 23_containers/multiset/insert/1.cc: New.
3359         * 23_containers/priority_queue/members/7161.cc: New.
3360         * 23_containers/queue/members/7157.cc: New.
3361         * 23_containers/set/operators/1_neg.cc: New.
3362         * 23_containers/stack/members/7158.cc: New.
3363         * 23_containers/vector/bool/1.cc: New.
3364         * 23_containers/vector/bool/6886.cc: New.
3365         * 23_containers/vector/capacity/1.cc: New.
3366         * 23_containers/vector/capacity/2.cc: New.
3367         * 23_containers/vector/capacity/8230.cc: New.
3368         * 23_containers/vector/cons/1.cc: New.
3369         * 23_containers/vector/cons/2.cc: New.
3370         * 23_containers/vector/cons/3.cc: New.
3371         * 23_containers/vector/cons/4.cc: New.
3372         * 23_containers/vector/cons/6513.cc: New.
3373         * 23_containers/vector/element_access/1.cc: New.
3374         * 23_containers/vector/modifiers/1.cc: New.
3375         * 23_containers/vector/modifiers/2.cc: New.
3376         * 23_containers/vector/resize/1.cc: New.
3377
3378 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3379
3380         * testsuite/thread/pthread1.cc: Add alpha*-*-osf* to dg-do run,
3381         dg-options.
3382         * testsuite/thread/pthread2.cc: Likewise.
3383         * testsuite/thread/pthread3.cc: Likewise.
3384         * testsuite/thread/pthread4.cc: Likewise.
3385         * testsuite/thread/pthread5.cc: Likewise.
3386         * testsuite/thread/pthread6.cc: Likewise.
3387         * testsuite/thread/pthread7-rope.cc: Likewise.
3388
3389 2003-07-30  Phil Edwards  <pme@gcc.gnu.org>
3390
3391         * include/bits/c++config:  Partial reversion (comment placement) of
3392         previous patch.
3393
3394 2003-07-30  Benjamin Kosnik  <bkoz@redhat.com>
3395
3396         * include/bits/c++config (_GLIBCXX_FULLY_COMPLIANT_HEADERS): Remove.
3397         (_GLIBCXX_NO_TEMPLATE_EXPORT): To _GLIBCXX_EXPORT_TEMPLATE.
3398         (_GLIBCXX_AT_AT): Remove.
3399         (__USE_MALLOC): Remove.
3400         * include/std/std_fstream.h: Modify.
3401         * include/bits/basic_ios.h: Same.
3402         * include/bits/valarray_array.h: Same.
3403         * include/c_std/std_cmath.h: Same.
3404         * include/c_std/cmath.tcc: Same.
3405         * include/std/std_vector.h: Same.
3406         * include/std/std_string.h: Same.
3407         * include/std/std_stack.h: Same.
3408         * include/std/std_queue.h: Same.
3409         * include/std/std_list.h: Same.
3410         * include/std/std_deque.h: Same.
3411         * include/std/std_streambuf.h: Same.
3412         * include/std/std_sstream.h: Same.
3413         * include/std/std_ostream.h: Same.
3414         * include/std/std_istream.h: Same.
3415         * include/bits/valarray_array.tcc: Same, format.
3416
3417         * include/c/std_cctype.h: Fix include guards.
3418         * include/c/std_cerrno.h: Same.
3419         * include/c/std_cfloat.h: Same.
3420         * include/c/std_climits.h: Same.
3421         * include/c/std_clocale.h: Same.
3422         * include/c/std_cmath.h: Same.
3423         * include/c/std_csetjmp.h: Same.
3424         * include/c/std_csignal.h: Same.
3425         * include/c/std_cstdarg.h: Same.
3426         * include/c/std_cstddef.h: Same.
3427         * include/c/std_cstdio.h: Same.
3428         * include/c/std_cstdlib.h: Same.
3429         * include/c/std_cstring.h: Same.
3430         * include/c/std_ctime.h: Same.
3431         * include/c/std_cwchar.h: Same.
3432         * include/c/std_cwctype.h: Same.
3433         * include/c_std/cmath.tcc: Same.
3434         * include/c_std/std_cmath.h: Same.
3435
3436 2003-07-30  Gawain Bolton  <gp.bolton@computer.org>
3437
3438         PR libstdc++/11504.
3439         * include/bits/stl_tree.h: Replace C-style casts with C++-style
3440         casts.  Changes to avoid casting away constness.  Eliminate
3441         _Rb_tree_base_iterator class.  Change _Rb_tree_iterator to use
3442         initialization lists.  Move out implementation of __black_count()
3443         to...
3444         * src/stl_tree.cc: ...here and rename _Rb_tree_black_count().
3445         Rename_Rb_tree_base_iterator::_M_increment() to
3446         _Rb_tree_increment and _Rb_tree_base_iterator::_M_decrement() to
3447         _Rb_tree_decrement.
3448         * config/linker-map.gnu: Add and change symbols here.
3449
3450 2003-07-30  Jonathan Wakely  <redi@gcc.gnu.org>
3451
3452         * docs/html/22_locale/howto.html: Use locale::classic() instead
3453         of locale("C").
3454
3455 2003-07-28  Benjamin Kosnik  <bkoz@redhat.com>
3456
3457         * testsuite/testsuite_hooks.h: Remove list include.
3458         (func_callback): Define as unique type, not std::list.
3459         Change DEBUG_ASSERT to _GLIBCXX_ASSERT.
3460         * testsuite/libstdc++-v3.dg/dg.exp: Same.
3461         * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Same.
3462         * testsuite/23_containers/bitset_ctor.cc:
3463         * testsuite/17_intro/header_ciso646.cc: Remove DEBUG_ASSERT.
3464         * testsuite/18_support/numeric_limits.cc: Same.
3465         * testsuite/21_strings/basic_string/append/char/1.cc: Same.
3466         * testsuite/21_strings/basic_string/append/wchar_t/1.cc: Same.
3467         * testsuite/21_strings/basic_string/compare/char/1.cc: Same.
3468         * testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Same.
3469         * testsuite/21_strings/basic_string/element_access/char/1.cc: Same.
3470         * testsuite/21_strings/basic_string/element_access/char/2.cc: Same.
3471         * testsuite/21_strings/basic_string/element_access/char/3.cc: Same.
3472         * testsuite/21_strings/basic_string/element_access/wchar_t/1.cc: Same.
3473         * testsuite/21_strings/basic_string/element_access/wchar_t/2.cc: Same.
3474         * testsuite/21_strings/basic_string/element_access/wchar_t/3.cc: Same.
3475         * testsuite/21_strings/basic_string/find/char/1.cc: Same.
3476         * testsuite/21_strings/basic_string/find/char/2.cc: Same.
3477         * testsuite/21_strings/basic_string/find/char/3.cc: Same.
3478         * testsuite/21_strings/basic_string/find/wchar_t/1.cc: Same.
3479         * testsuite/21_strings/basic_string/find/wchar_t/2.cc: Same.
3480         * testsuite/21_strings/basic_string/find/wchar_t/3.cc: Same.
3481         * testsuite/21_strings/basic_string/insert/char/1.cc: Same.
3482         * testsuite/21_strings/basic_string/insert/char/2.cc: Same.
3483         * testsuite/21_strings/basic_string/insert/wchar_t/1.cc: Same.
3484         * testsuite/21_strings/basic_string/insert/wchar_t/2.cc: Same.
3485         * testsuite/21_strings/basic_string/inserters_extractors/char/1.cc:
3486         * testsuite/21_strings/basic_string/inserters_extractors/char/4.cc:
3487         * testsuite/21_strings/basic_string/inserters_extractors/char/5.cc:
3488         * testsuite/21_strings/basic_string/inserters_extractors/char/6.cc:
3489         * testsuite/21_strings/basic_string/inserters_extractors/char/7.cc:
3490         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc:
3491         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc:
3492         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc:
3493         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc:
3494         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc:
3495         * testsuite/21_strings/basic_string/operators/char/1.cc: Same.
3496         * testsuite/21_strings/basic_string/operators/char/2.cc: Same.
3497         * testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Same.
3498         * testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Same.
3499         * testsuite/21_strings/basic_string/replace/char/1.cc: Same.
3500         * testsuite/21_strings/basic_string/replace/wchar_t/1.cc: Same.
3501         * testsuite/21_strings/basic_string/rfind/char/1.cc: Same.
3502         * testsuite/21_strings/basic_string/rfind/char/2.cc: Same.
3503         * testsuite/21_strings/basic_string/rfind/char/3.cc: Same.
3504         * testsuite/21_strings/basic_string/rfind/wchar_t/1.cc: Same.
3505         * testsuite/21_strings/basic_string/rfind/wchar_t/2.cc: Same.
3506         * testsuite/21_strings/basic_string/rfind/wchar_t/3.cc: Same.
3507         * testsuite/21_strings/basic_string/substr/char/1.cc: Same.
3508         * testsuite/21_strings/basic_string/substr/wchar_t/1.cc: Same.
3509         * testsuite/23_containers/bitset_ctor.cc: Same.
3510         * testsuite/23_containers/bitset_shift.cc: Same.
3511         * testsuite/23_containers/vector_ctor.cc: Same.
3512         * testsuite/23_containers/vector_element_access.cc: Same.
3513         * testsuite/24_iterators/istreambuf_iterator.cc: Same.
3514         * testsuite/24_iterators/iterator.cc: Same.
3515         * testsuite/24_iterators/ostreambuf_iterator.cc: Same.
3516         * testsuite/25_algorithms/lower_bound.cc: Same.
3517         * testsuite/26_numerics/complex_inserters_extractors.cc: Same.
3518         * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc: Same.
3519         * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc: Same.
3520         * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc: Same.
3521         * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc: Same.
3522         * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc: Same.
3523         * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc: Same.
3524         * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc: Same.
3525         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc: Same.
3526         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc: Same.
3527         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
3528         Same.
3529
3530 2003-07-28  Phil Edwards  <pme@gcc.gnu.org>
3531
3532         * docs/doxygen/user.cfg.in, docs/html/abi.txt, docs/html/debug.html,
3533         docs/html/test.html, docs/html/17_intro/headers_cc.txt,
3534         docs/html/17_intro/howto.html, docs/html/ext/howto.html:  Change
3535         GLIBCPP to GLIBCXX (and explain as needed).
3536
3537 2003-07-28  Phil Edwards  <pme@gcc.gnu.org>
3538
3539         * README:  Update.
3540
3541 2003-07-28  Phil Edwards  <pme@gcc.gnu.org>
3542
3543         * testsuite/22_locale/messages/members/char/1.cc,
3544         testsuite/22_locale/messages/members/char/2.cc,
3545         testsuite/22_locale/messages/members/char/3.cc,
3546         testsuite/22_locale/messages_byname/1.cc:  Update comment regarding
3547         the origin of LOCALEDIR.
3548         * testsuite/lib/libstdc++-v3.exp:  New file.
3549
3550 2003-07-25  Benjamin Kosnik  <bkoz@redhat.com>
3551
3552         * include/bits/char_traits.h: Update copyright, tweak.
3553         * testsuite/ext/pod_char_traits.cc: Explicitly qualify namespace
3554         std types.
3555
3556 2003-07-24  Matt Austern  <austern@apple.com>
3557
3558         * /include/bits/char_traits.h (class char_traits): Put all the
3559         real work into the new class template __gnu_cxx::char_traits.
3560         Gave generic definitions for member functions.  Types are taken
3561         from the new class template __gnu_cxx::_Char_types.
3562         * testsuite/21_strings/char_traits/requirements/short/1.cc: New
3563         file.  Test of std::char_traits<short>, which serves as a test of
3564         the char_traits primary template.
3565
3566 2003-07-24  Benjamin Kosnik  <bkoz@redhat.com>
3567
3568         * testsuite/*: Change __gnu_cxx_test to __gnu_test.
3569
3570 2003-07-24  Nathan Myers  <ncm-nospam@cantrip.org>
3571
3572         * testsuite/23_containers/map_operators.cc: Conform to
3573         container requirement as value must be Assignable.
3574
3575 2003-07-23  Alexandre Oliva  <aoliva@redhat.com>
3576
3577         * acinclude.m4 (GLIBCXX_ENABLE_PCH): Rework test such that it
3578         tests not only generation of pch files, but also their use.
3579         * aclocal.m4, configure: Rebuilt.
3580
3581 2003-07-23  Steve Ellcey  <sje@cup.hp.com>
3582
3583         * config/cpu/hppa/atomicity.h: Change
3584         _GLIBCXX_INST_GLIBCXX_ATOMICITY_LOCK to _GLIBCXX_INST_ATOMICITY_LOCK
3585         to match misc-inst.cc
3586
3587 2003-07-23  Steve Ellcey  <sje@cup.hp.com>
3588
3589         * include/c_std/cmath.tcc: Use _GLIBCXX_ prefix on file guard.
3590         * include/c_std/std_cctype.h: Ditto.
3591         * include/c_std/std_cerrno.h: Ditto.
3592         * include/c_std/std_cfloat.h: Ditto.
3593         * include/c_std/std_climits.h: Ditto.
3594         * include/c_std/std_clocale.h: Ditto.
3595         * include/c_std/std_cmath.h: Ditto.
3596         * include/c_std/std_csetjmp.h: Ditto.
3597         * include/c_std/std_csignal.h: Ditto.
3598         * include/c_std/std_cstdarg.h: Ditto.
3599         * include/c_std/std_cstddef.h: Ditto.
3600         * include/c_std/std_cstdio.h: Ditto.
3601         * include/c_std/std_cstdlib.h: Ditto.
3602         * include/c_std/std_cstring.h: Ditto.
3603         * include/c_std/std_ctime.h: Ditto.
3604         * include/c_std/std_cwchar.h: Ditto.
3605         * include/c_std/std_cwctype.h: Ditto.
3606         * include/std/std_algorithm.h: Ditto.
3607         * include/std/std_bitset.h: Ditto.
3608         * include/std/std_complex.h: Ditto.
3609         * include/std/std_deque.h: Ditto.
3610         * include/std/std_fstream.h: Ditto.
3611         * include/std/std_functional.h: Ditto.
3612         * include/std/std_iomanip.h: Ditto.
3613         * include/std/std_ios.h: Ditto.
3614         * include/std/std_iosfwd.h: Ditto.
3615         * include/std/std_iostream.h: Ditto.
3616         * include/std/std_istream.h: Ditto.
3617         * include/std/std_iterator.h: Ditto.
3618         * include/std/std_limits.h: Ditto.
3619         * include/std/std_list.h: Ditto.
3620         * include/std/std_locale.h: Ditto.
3621         * include/std/std_map.h: Ditto.
3622         * include/std/std_memory.h: Ditto.
3623         * include/std/std_numeric.h: Ditto.
3624         * include/std/std_ostream.h: Ditto.
3625         * include/std/std_queue.h: Ditto.
3626         * include/std/std_set.h: Ditto.
3627         * include/std/std_sstream.h: Ditto.
3628         * include/std/std_stack.h: Ditto.
3629         * include/std/std_stdexcept.h: Ditto.
3630         * include/std/std_streambuf.h: Ditto.
3631         * include/std/std_string.h: Ditto.
3632         * include/std/std_utility.h: Ditto.
3633         * include/std/std_valarray.h: Ditto.
3634         * include/std/std_vector.h: Ditto.
3635
3636 2003-07-22  Doug Gregor  <dgregor@apple.com>
3637
3638         * include/bits/basic_string.h (basic_string::insert): Deprecate
3639         GNU extension.
3640
3641 2003-07-21  Benjamin Kosnik  <bkoz@redhat.com>
3642
3643         * scripts/testsuite_flags.in (--build-includes): Remove extraneous
3644         paths for libio.
3645         * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc
3646         (test03): Include typeinfo for bad_cast.
3647         * testsuite/27_io/basic_ostream/sentry/char/3983-sstream.cc: Same.
3648         * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
3649         * testsuite/27_io/basic_istream/sentry/char/3983-sstream.cc: Same.
3650
3651 2003-07-21  Doug Gregor  <dgregor@apple.com>
3652
3653         * include/bits/boost_concept_check.h:
3654         (_EqualityComparableConcept::__constraints): Remove != from the
3655         list of constraints; it is not listed in Table 28 of the C++98
3656         standard.
3657
3658 2003-07-18  Andreas Jaeger  <aj@suse.de>
3659
3660         * config/abi/sparc-linux-gnu/baseline_symbols.txt: New file.
3661         * config/abi/mips-linux-gnu/baseline_symbols.txt: New file.
3662         * config/abi/hppa-linux-gnu/baseline_symbols.txt: New file.
3663         * config/abi/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
3664
3665 2003-07-17  Benjamin Kosnik  <bkoz@redhat.com>
3666
3667         * config/linker-map.gnu: Add __moneypunct_cache, __timepunct_cache.
3668         * config/locale/generic/messages_members.h: Tweaks.
3669         * config/locale/generic/monetary_members.cc
3670         (moneypunct::_M_initialize_moneypunct): Use cache.
3671         (moneypunct::~moneypunct): Delete cache.
3672         * config/locale/generic/time_members.cc:
3673         (__timepunct::_M_initialize_timepunct): Use cache.
3674         * config/locale/generic/time_members.h:
3675         (__timepunct::~__timepunct): Delete cache.
3676         (__timepunct::__timepunct): Set cache.
3677         * config/locale/gnu/messages_members.h: Tweaks.
3678         * config/locale/gnu/monetary_members.cc:
3679         (moneypunct::_M_initialize_moneypunct): Use cache.
3680         (moneypunct::~moneypunct): Delete cache.
3681         * config/locale/gnu/time_members.cc:
3682         (__timepunct::_M_initialize_timepunct): Use cache.
3683         * config/locale/gnu/time_members.h:
3684         (__timepunct::~__timepunct): Delete cache.
3685         (__timepunct::__timepunct): Set cache.
3686         * include/bits/locale_facets.h (__timepunct_cache): New.
3687         (__moneypunct_cache): New.
3688         * include/bits/locale_facets.tcc: Tweak.
3689         * src/locale.cc (__timepunct::_S_timezones): Adjust for cache.
3690         * src/locale-inst.cc: Instantiate caches.
3691         * src/globals.cc: Add "C" caches.
3692         * src/localename.cc: Use external "C" caches.
3693
3694 2003-07-17  Phil Edwards  <pme@gcc.gnu.org>
3695
3696         * docs/doxygen/guide.html:  Fix typo.
3697
3698 2003-07-16  Benjamin Kosnik  <bkoz@redhat.com>
3699
3700         * include/ext/pod_char_traits.h: Add state template argument.
3701
3702 2003-07-16  Benjamin Kosnik  <bkoz@redhat.com>
3703
3704         * include/bits/locale_facets.h (__num_base::_S_atoms_in): Add -+xX.
3705         (num_get::_M_convert_int): To _M_insert_int.
3706         (num_get::_M_convert_float): To _M_insert_float.
3707         * include/bits/locale_facets.tcc (num_get::_M_extract_float):
3708         Use caches for ctype, num_get.
3709         (num_get::_M_extract_int): Same.
3710         (num_get::get(bool)): Same.
3711         (__verify_grouping): Use size_t.
3712         * src/locale-inst.cc: Update.
3713         * src/locale.cc: Adjust _S_atoms_in.
3714
3715 2003-07-16  Phil Edwards  <pme@gcc.gnu.org>
3716
3717         * docs/doxygen/mainpage.html:  Move building/writing instructions...
3718         * docs/doxygen/guide.html:  ...to here.  New file.
3719
3720 2003-07-16  Jonathan Wakely  <redi@gcc.gnu.org>
3721
3722         * docs/html/ext/howto.html: Update URL for SGI STL docs.
3723         * docs/html/faq/index.html: Same.
3724         * docs/html/faq/index.txt: Regenerate.
3725
3726 2003-07-16  Paolo Carlini  <pcarlini@unitus.it>
3727
3728         PR libstdc++/11528
3729         * include/bits/locale_facets.tcc (money_get::do_get):
3730         Strip only _leading_ zeros.
3731         * testsuite/22_locale/money_get/get/char/11528.cc: Add.
3732         * testsuite/22_locale/money_get/get/wchar_t/11528.cc: Add.
3733
3734 2003-07-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3735
3736         * include/ext/hash_map (class hash_multimap): Remove extra
3737         semicolons from __glibcxx_class_requires3 entries.
3738         * include/ext/hash_set (class hash_set): Ditto.
3739         (class hash_multiset): Ditto.
3740
3741 2003-07-15  Petur Runolfsson  <peturr02@ru.is>
3742
3743         * include/bits/char_traits.h (char_traits<wchar_t>::move):
3744         Change last parameter from int_type to size_t.
3745
3746 2003-07-15  Jerry Quinn  <jlquinn@optonline.net>
3747
3748         * include/bits/stl_algo.h (includes, set_union, set_intersection,
3749         set_difference, set_symmetric_difference, max_element, min_element,
3750         next_permutation, prev_permutation, find_first_of, find_end):
3751         Document.
3752         * include/bits/stl_algobase.h (copy,copy_backward):  Clarify overlap
3753         restrictions in docs.
3754         * include/bits/stl_heap.h (push_heap, pop_heap, make_heap, sort_heap):
3755         Document.
3756         * docs/doxygen/doxygroups.cc (setoperations):  New group.
3757
3758 2003-07-15  Jerry Quinn  <jlquinn@optonline.net>
3759
3760         * include/bits/basic_string.h:  Document public functions.
3761         * docs/doxygen/TODO:  Update c21 todo.
3762
3763 2003-07-15  Jerry Quinn  <jlquinn@optonline.net>
3764
3765         * include/bits/stl_list.h:  Document more functions.
3766         * docs/doxygen/TODO:  Update c23 todo.
3767
3768 2003-07-14  Paolo Carlini  <pcarlini@unitus.it>
3769
3770         * config/locale/gnu/c_locale.h (__convert_from_v): One more
3771         qualification.
3772
3773 2003-07-14  Paolo Carlini  <pcarlini@unitus.it>
3774
3775         * include/bits/stl_tempbuf.h: Qualify free with std::.
3776         * src/locale.cc: Include <cstdlib>, qualify getenv.
3777
3778 2003-07-14  Paolo Carlini  <pcarlini@unitus.it>
3779
3780         * config/locale/gnu/c_locale.h (__convert_from_v): Include
3781         <cstdio>. Qualify names.
3782         * config/locale/generic/c_locale.h (__convert_from_v): Ditto.
3783
3784 2003-07-14  Paolo Carlini  <pcarlini@unitus.it>
3785             Nathan C. Myers  <ncm-nospam@cantrip.org>
3786
3787         PR libstdc++/11378
3788         * include/std/std_fstream.h (xsputn): Declare only.
3789         * include/bits/fstream.tcc (xsputn): Define, optimize for the
3790         always_noconv() case: when __n is sufficiently large flush
3791         the buffer and issue a direct write, if possible combining the
3792         two with writev in __basic_file<>::xsputn_2.
3793         * config/io/basic_file_stdio.h (__basic_file<>::xsputn_2):
3794         New, declare.
3795         * config/io/basic_file_stdio.cc (__basic_file<>::xsputn_2):
3796         Define.
3797         * acinclude.m4 (GLIBCXX_CHECK_WRITE): New macro, checking for
3798         the availability of writev in <sys/uio.h>.
3799         * configure.in: Call here.
3800         * acconfig.h: Add undef for the corresponding symbol.
3801         * aclocal.m4: Regenerate.
3802         * configure: Regenerate.
3803         * config.h.in: Regenerate.
3804         * testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Tweak.
3805
3806         * include/std/std_fstream.h (sync): Constify a variable.
3807
3808 2003-07-14  Benjamin Kosnik  <bkoz@redhat.com>
3809
3810         * testsuite/27_io/ios_base/cons/assign_neg.cc: Fix line numbers.
3811         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
3812
3813 2003-07-14  Gabriel Dos Reis  <gcc@integrable-solutions.net>
3814
3815         * config/locale/gnu/c_locale.h (__convert_from_v): Include
3816         <cstring> and <cstdlib>. Qualify names.
3817
3818 2003-07-13  Mark Mitchell  <mark@codesourcery.com>
3819
3820         * config/locale/generic/c_locale.h: Include <cstdlib> and
3821         <cstring>.
3822         * include/bits/boost_concept_check.h: Add this-> to unqualified
3823         method calls.
3824         * include/bits/deque.tcc: Likewise.
3825         * include/bits/locale_facets.h : Likewise.
3826         * include/bits/ostream.tcc: Likewise.
3827         * include/bits/stl_algo.h: Likewise.
3828         * include/bits/stl_bvector.h: Likewise.
3829         * include/bits/stl_deque.h: Likewise.
3830         * include/bits/stl_list.h: Likewise.
3831         * include/bits/stl_tree.h: Likewise.
3832         * include/bits/stl_vector.h: Likewise.
3833         * include/bits/vector.tcc: Likewise.
3834         * include/ext/rope: Likewise.
3835         * include/ext/ropeimpl.h: Likewise.
3836         * include/ext/stdio_filebuf.h: Likewise.
3837
3838 2003-07-11  Jerry Quinn  <jlquinn@optonline.net>
3839
3840         * include/bits/basic_ios.h (copyfmt): Document.
3841         * include/bits/ios_base.h (event, event_callback, register_callback,
3842         xalloc, iword, pword):  Document.
3843         (imbue, ~ios_base): Update docs on callbacks.
3844
3845 2003-07-11  Phil Edwards  <pme@gcc.gnu.org>
3846
3847         * acinclude.m4 (GLIBCC_ENABLE_SYMVERS):  Tweak comments.  Add
3848         warning messages if the environment cannot support symbol versioning.
3849         (port_specific_symbol_file):  It's plural, add an 's' on the end.
3850         * configure.host:  Likewise.
3851         * src/Makefile.am:  Likewise.
3852         * config/linker-map.gnu:  Remove one semicolon, heh.
3853         * scripts/extract_symvers:  Don't assume useful 'export' syntax.
3854         Set LANG as well as LC_ALL for possibly-broken sort(1)s.
3855         * aclocal.m4, configure, src/Makefile.in:  Regenerated.
3856
3857 2003-07-09  Benjamin Kosnik  <bkoz@redhat.com>
3858
3859         * include/bits/locale_facets.tcc: Use function object for
3860         __use_cache instead of template function. Partially specialize for
3861         __numpunct<_CharT>.
3862         * include/bits/locale_classes.h: Update friend declaration for
3863         __use_cache.
3864         (_M_install_cache): No throw exception specs.
3865         * src/locale.cc: Remove __use_cache specializations.
3866         * include/ext/pod_char_traits.h (length): Tweak.
3867         * include/bits/locale_facets.h (__numpunct_cache): Remove
3868         char_type typedef.
3869         * testsuite/testsuite_hooks.h (pod_unsigned_int): Remove.
3870         (pod_long): Remove.
3871         * testsuite/22_locale/numpunct/members/char/cache_1.cc: New.
3872         * testsuite/22_locale/numpunct/members/char/cache_2.cc: New.
3873         * testsuite/22_locale/numpunct/members/wchar_t/cache_1.cc: New.
3874         * testsuite/22_locale/numpunct/members/wchar_t/cache_2.cc: New.
3875         * testsuite/22_locale/numpunct/members/pod/1.cc: New.
3876         * testsuite/22_locale/numpunct/members/pod/2.cc: New.
3877
3878 2003-07-09  Jerry Quinn  <jlquinn@optonline.net>
3879
3880         * src/ios.cc (_M_grow_words):  Fix spelling.
3881
3882 2003-07-09  Gawain Bolton  <gp.bolton@computer.org>
3883
3884         * include/bits/stl_tree.h: Move larger member functions in
3885         _Rb_tree_base_iterator and _Rb_tree_node to...
3886         * src/stl_tree.cc: Here.
3887         * src/Makefile.in: Add stl_tree.cc.
3888         * src/Makefile.in: Regenerated.
3889         * config/linker-map.gnu: Add symbols here.
3890
3891 2003-07-08  Benjamin Kosnik  <bkoz@redhat.com>
3892
3893         * testsuite/ext/pod_char_traits.cc: New.
3894         * include/ext/pod_char_traits.h: New.
3895         * include/Makefile.am (ext_headers): Add pod_char_traits.h.
3896         * include/Makefile.in: Regenerate.
3897         * docs/html/21_strings/howto.html: Update.
3898
3899 2003-07-08  Gawain Bolton  <gp.bolton@computer.org>
3900
3901         * testsuite/performance/list_create_fill_sort.cc: New.
3902
3903 2003-07-08  Benjamin Kosnik  <bkoz@redhat.com>
3904
3905         * config/locale/generic/numeric_members.cc: Correct type info.
3906         * config/locale/gnu/numeric_members.cc: Same.
3907         * include/bits/locale_facets.h: Same.
3908
3909         * include/bits/char_traits.h: Correct spacing.
3910
3911         * src/locale.cc: Wrap to 80 col.
3912
3913 2003-07-07  Paolo Carlini  <pcarlini@unitus.it>
3914
3915         * include/std/std_complex.h: Partially revert last
3916         changes: cmath functions must not be qualified.
3917
3918 2003-07-06  Phil Edwards  <pme@gcc.gnu.org>
3919
3920         * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS):  Do not test for binutils
3921         2.11 with globbing backport fix.
3922         * aclocal.m4, configure:  Regenerated.
3923
3924 2003-07-06  Paolo Carlini  <pcarlini@unitus.it>
3925
3926         * include/std/std_fstream.h (xsputn): Don't call _M_destroy_pback:
3927         if output is at all possible (!_M_reading), cannot be active.
3928
3929         * include/std/std_fstream.h: Tweak comments to doxygen style.
3930
3931 2003-07-06  Paolo Carlini  <pcarlini@unitus.it>
3932
3933         * include/bits/locale_classes.h: Fully qualify standard
3934         functions with std::, thus avoiding Koenig lookup.
3935         * include/bits/locale_facets.tcc: Likewise.
3936         * src/locale.cc: Likewise.
3937         * src/localename.cc: Likewise.
3938
3939 2003-07-06  Phil Edwards  <pme@gcc.gnu.org>
3940
3941         * include/bits/allocator_traits.h:  Fix doxygen markup.
3942         * include/ext/mt_allocator.h:  Likewise.
3943
3944 2003-07-06  Phil Edwards  <pme@gcc.gnu.org>
3945
3946         * testsuite/testsuite_hooks.h:  Guard against a missing unlink().
3947
3948 2003-07-05  Phil Edwards  <pme@gcc.gnu.org>
3949
3950         * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS):  Bump minimal version
3951         requirement.  Add port_specific_symbol_file variable.
3952         * configure.host:  Add docs for port_specific_symbol_file.
3953         Clean up try_cpu block for x86.
3954         * config/linker-map.gnu:  No more "last symbol can't have a
3955         semicolon" kaka.  Add hook for port-specific symbols.
3956         * src/Makefile.am:  Remove trailing whitespace.
3957         (libstdc++-symbol.ver):  Detect the presence of port-specific
3958         symbols, and add them accordingly.
3959
3960         * docs/html/17_intro/porting.texi:  Bring up to date.
3961
3962         * src/Makefile.in, aclocal.m4, configure,
3963         docs/html/17_intro/porting.html:  Regenerated.
3964
3965 2003-07-05  Phil Edwards  <pme@gcc.gnu.org>
3966
3967         * scripts/create_testsuite_files:  New file.
3968         * testsuite/Makefile.am (all-local, check-performance):  Use it.
3969         * testsuite/lib/libstdc++-v3-dg.exp (v3-computer-tests):  Remove.
3970         * testsuite/Makefile.in:  Regenerated.
3971
3972         * testsuite/performance/filebuf_sputc.cc:  Remove the temporary
3973         files at the end.
3974         * testsuite/performance/fstream_seek_write.cc:  Likewise.
3975         * testsuite/performance/ofstream_insert_float.cc:  Likewise.
3976         * testsuite/performance/ofstream_insert_int.cc:  Likewise.
3977         * testsuite/abi_check.cc (main):  Nicer spacing in usage output.
3978
3979 2003-07-05  Gawain Bolton  <gp.bolton@computer.org>
3980
3981         * include/bits/stl_list.h: Performance and memory usage
3982         improvements. In particular, the behaviour of the constructor and
3983         destructor as the list header node is no longer dynamically
3984         allocated/de-allocated.
3985         * include/bits/list.tcc: Likewise.
3986
3987 2003-07-05  Paolo Carlini  <pcarlini@unitus.it>
3988
3989         * include/std/std_complex.h: Fully qualify standard
3990         functions with std::, thus avoiding Koenig lookup.
3991         * include/std/std_memory.h: Likewise.
3992         * include/std/std_valarray.h: Likewise.
3993
3994 2003-07-05  Gawain Bolton  <gp.bolton@computer.org>
3995
3996         * include/bits/stl_tree.h: _Rb_tree_rebalance():  Add local
3997           variable for grandparent and use const
3998
3999 2003-07-05  David Billinghurst <David.Billinghurst@riotinto.com>
4000
4001         * testsuite/27_io/basic_filebuf/close/char/4879.cc: xfail on cygwin
4002         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Ditto
4003         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Ditto
4004         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Ditto
4005         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Ditto
4006         * testsuite/27_io/objects/char/7.cc: Ditto
4007         * testsuite/27_io/objects/char/9661-1.cc: Ditto
4008
4009 2003-07-05  Paolo Carlini  <pcarlini@unitus.it>
4010
4011         * include/std/std_bitset.h: Fully qualify standard
4012         functions with std::, thus avoiding Koenig lookup.
4013
4014         * include/std/std_fstream.h: Change comment to doxygen style.
4015
4016 2003-07-05  Phil Edwards  <pme@gcc.gnu.org>
4017
4018         * include/std/std_limits.h:  More CPP->CXX changes.
4019         * scripts/check_survey.in:  Likewise.
4020
4021 2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
4022
4023         Move from CPP to CXX.
4024         * include/bits/c++config: Move to GLIBCXX from GLIBCPP.
4025         * testsuite/Makefile.am: Same.
4026         * testsuite/Makefile.in: Regenerate.
4027         * po/Makefile.am: Same.
4028         * po/Makefile.in: Regenerate.
4029         * libsupc++/Makefile.am: Same.
4030         * libsupc++/Makefile.in: Regenerate.
4031         * libmath/Makefile.am: Same.
4032         * libmath/Makefile.in: Regenerate.
4033         * include/Makefile.am: Same.
4034         * include/Makefile.in: Regenerate.
4035         * src/Makefile.am: Same.
4036         * src/Makefile.in: Regenerate.
4037         * acconfig.h: Same.
4038         * configure.host: Same.
4039         * configure.in: Same.
4040         * configure: Regenerate.
4041         * acinclude.m4: Same.
4042         * aclocal.m4: Same.
4043         * src: Change all files in this directory.
4044         * testsuite: Same.
4045         * include: Same, standardize include guards.
4046         * config: Same.
4047         * libsupc++: Same.
4048
4049 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
4050
4051         * testsuite/22_locale/collate/compare/wchar_t/2.cc
4052         * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc
4053         * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc
4054         * testsuite/22_locale/collate/hash/wchar_t/2.cc
4055         * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc
4056         * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc
4057         * testsuite/22_locale/collate/transform/wchar_t/2.cc
4058         * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc
4059         * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
4060         XFAIL on all targets.
4061
4062 2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
4063
4064         * acinclude.m4 (GLIBCPP_ENABLE_PCH): Fix missed variable.
4065         * aclocal.m4: Regenerate.
4066         * configure: Regenerate.
4067
4068 2003-07-04  Jerry Quinn  <jlquinn@optonline.net>
4069
4070         * include/bits/locale_facets.tcc (__int_to_char): Move common case
4071         to the top.
4072
4073 2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
4074             Petur Runolfsson  <peturr02@ru.is>
4075
4076         * config/io/basic_file_stdio.cc: Revert.
4077
4078 2003-07-04  Paolo Carlini  <pcarlini@unitus.it>
4079
4080         * include/bits/deque.tcc: Fully qualify standard
4081         functions with std::, thus avoiding Koenig lookup.
4082         * include/bits/gslice_array.h: Likewise.
4083         * include/bits/indirect_array.h: Likewise.
4084         * include/bits/list.tcc: Likewise.
4085         * include/bits/mask_array.h: Likewise.
4086         * include/bits/slice_array.h: Likewise.
4087
4088 2003-07-04  Gawain Bolton  <gbolton@free.fr>
4089
4090         * include/bits/stl_tree.h: Performance and memory usage
4091         improvements.
4092
4093 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
4094
4095         * Makefile.am: Replace PWD with PWD_COMMAND.
4096         * Makefile.in: Regenerated.
4097         * docs/html/Makefile: Likewise.
4098
4099 2003-07-04  Paolo Carlini  <pcarlini@unitus.it>
4100
4101         * include/bits/valarray_array.h: Fully qualify standard
4102         functions with std::, thus avoiding Koenig lookup.
4103         * include/bits/vector.tcc: Likewise.
4104
4105 2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
4106
4107         * include/Makefile.am: Update target_ to host_.
4108         * include/Makefile.in: Regenerate.
4109         * src/Makefile.am: Same.
4110         * src/Makefile.in: Regenerate.
4111
4112         * config/os/gnu-linux/os_defines.h: Remove glibc-2.0 support.
4113
4114 2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
4115
4116         * acinclude.m4 (GLIBCPP_ENABLE_DEBUG_FLAGS): To
4117         --enable-libstdcxx-debug-flags.
4118         (GLIBCPP_ENABLE_DEBUG_FLAGS): To --enable-libstdcxx-debug.
4119         (GLIBCPP_ENABLE_PCH): To --enable-libstdcxx-pch.
4120         * aclocal.m4: Regenerate.
4121         * configure: Same.
4122         * docs/html/configopts.html: Update.
4123
4124 2003-07-04  Paolo Carlini  <pcarlini@unitus.it>
4125
4126         Revert the fix for libstdc++/11378.
4127
4128 2003-07-04  Paolo Carlini  <pcarlini@unitus.it>
4129
4130         PR libstdc++/11378
4131         * include/std/std_fstream.h (xsputn): In the unbuffered case,
4132         provided always_noconv(), issue directly _M_file.xsputn.
4133         * testsuite/performance/filebuf_unbuf_sputn.cc: New.
4134
4135 2003-07-04  Paolo Carlini  <pcarlini@unitus.it>
4136
4137         * include/bits/stl_list.h: Fully qualify standard
4138         functions with std::, thus avoiding Koenig lookup.
4139         * include/bits/stl_queue.h: Likewise.
4140         * include/bits/stl_raw_storage_iter.h: Likewise.
4141         * include/bits/stl_tempbuf.h: Likewise.
4142         * include/bits/stl_tree.h: Likewise.
4143         * include/bits/stl_uninitialized.h: Likewise.
4144         * include/bits/stl_vector.h: Likewise.
4145         * include/ext/rope: Change includes order.
4146
4147 2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
4148
4149         * configure.host (fpos_include_dir): Fix.
4150
4151 2003-07-04  Paolo Carlini  <pcarlini@unitus.it>
4152
4153         * include/bits/stl_heap.h: Fully qualify standard
4154         functions with std::, thus avoiding Koenig lookup.
4155         * include/bits/stl_iterator_base_funcs.h: Likewise.
4156
4157         * include/bits/stl_algo.h: Qualify __iterator_category too.
4158         * include/bits/stl_algobase.h: Likewise.
4159         * include/bits/stl_bvector.h: Likewise.
4160
4161         * include/bits/stl_algo.h: Don't qualify the pair type.
4162
4163 2003-07-03  Benjamin Kosnik  <bkoz@redhat.com>
4164
4165         * include/Makefile.am (target_headers): Add fpos.h
4166         (bits_headers): Remove.
4167         * include/Makefile.in: Regenerate.
4168         * configure.in: Add FPOS_INC_SRCDIR, substitute it.
4169         * configure: Regenerate.
4170         * configure.host: Add fpos_include_dir.
4171         * config/os/gnu-linux/fpos.h: New.
4172         * config/os/generic/fpos.h: Add.
4173         * include/bits/fpos.h: Remove.
4174
4175         * config/io/c_io_stdio.h: Remove fpos_t typedef.
4176
4177         * include/bits/fstream.tcc: Tweaks.
4178         * include/std/std_fstream.h: Same.
4179
4180         * testsuite/27_io/fpos/1.cc (test01): Uncomment. Move to...
4181         * testsuite/27_io/fpos/mbstate_t/1.cc: ...here.
4182         * testsuite/27_io/fpos/mbstate_t/2.cc: Same.
4183         * testsuite/27_io/fpos/mbstate_t/3.cc: Same.
4184         * testsuite/27_io/fpos/1.cc: New.
4185
4186 2003-07-03  Benjamin Kosnik  <bkoz@redhat.com>
4187             Petur Runolfsson  <peturr02@ru.is>
4188
4189         * include/std/std_streambuf.h: Remove _M_pos.
4190         * config/io/basic_file_stdio.h: Use seekpos instead of seekoff.
4191         * config/io/basic_file_stdio.cc: Same, use fseek instead of lseek,
4192         use fread/fwrite instead of read/write.
4193         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Fix.
4194         * testsuite/27_io/basic_filebuf/sputn/char/9339.cc: Close filebufs
4195         before reading again.
4196         * testsuite/27_io/objects/char/6.cc: Tweak.
4197
4198 2003-07-03  David Edelsohn  <edelsohn@gnu.org>
4199
4200         * testsuite/22_locale/num_put/put/char/7.cc: Guard with
4201         _GLIBCPP_USE_WCHAR_T.
4202
4203 2003-07-02  Paolo Carlini  <pcarlini@unitus.it>
4204
4205         * include/bits/basic_string.tcc (_M_replace_aux): Constify
4206         __n1 and __off1.
4207
4208 2003-07-02  Paolo Carlini  <pcarlini@unitus.it>
4209
4210         * include/bits/stl_bvector.h: Fully qualify standard
4211         functions with std::, thus avoiding Koenig lookup.
4212         * include/bits/stl_construct.h: Likewise.
4213         * include/bits/stl_deque.h: Likewise.
4214
4215 2003-07-02  Paolo Carlini  <pcarlini@unitus.it>
4216
4217         * testsuite/22_locale/num_put/put/char/7.cc: Include
4218         <testsuite_hooks.h>, tweak.
4219         * testsuite/22_locale/num_put/put/wchar_t/7.cc: Likewise.
4220
4221 2003-07-01  Phil Edwards  <pme@gcc.gnu.org>
4222
4223         * testsuite/Makefile.am (AM_MAKEFLAGS):  Set to -j1 (affects
4224         check* targets, but not libs/programs).
4225         * testsuite/Makefile.in:  Regenerate.
4226
4227 2003-07-01  Roger Sayle  <roger@eyesopen.com>
4228
4229         * acinclude.m4 (GLIBCPP_CHECK_STDLIB_SUPPORT): Fix typo in CXXFLAGS.
4230         (GLIBCPP_CHECK_MATH_SUPPORT): Likewise.
4231         * aclocal.m4: Regenerate.
4232         * configure: Regenerate.
4233
4234 2003-07-01  Benjamin Kosnik  <bkoz@redhat.com>
4235
4236         * acinclude.m4 (GLIBCPP_ENABLE_PCH): Fix obvious error.
4237         * aclocal.m4: Regenerated.
4238         * configure: Regenerated.
4239
4240 2003-07-01  Paolo Carlini  <pcarlini@unitus.it>
4241
4242         PR libstdc++/11389
4243         * include/bits/fstream.tcc (underflow): For encoding() == 0
4244         don't read more than __buflen chars.
4245         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc: New.
4246         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc: New.
4247         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc: New.
4248         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc: New.
4249
4250 2003-07-01  Jerry Quinn  <jlquinn@optonline.net>
4251
4252         * 22_locale/num_put/put/char/7.cc: New.
4253         * 22_locale/num_put/put/wchar_t/7.cc: New.
4254
4255 2003-06-30  Jerry Quinn  <jlquinn@optonline.net>
4256
4257         * src/locale.cc (__use_cache<numpunct>): Revert previous relocation.
4258         * include/bits/locale_facets.tcc (__use_cache<numpunct>): Ditto.
4259
4260 2003-06-30  Benjamin Kosnik  <bkoz@redhat.com>
4261
4262         * 27_io/basic_filebuf/seekoff/char/1-in.cc: New.
4263         * 27_io/basic_filebuf/seekoff/char/1-io.cc: New.
4264         * 27_io/basic_filebuf/seekoff/char/1-out.cc: New.
4265         * 27_io/basic_filebuf/seekoff/char/2-in.cc: New.
4266         * 27_io/basic_filebuf/seekoff/char/2-io.cc: New.
4267         * 27_io/basic_filebuf/seekoff/char/2-out.cc: New.
4268         * 27_io/basic_filebuf/seekoff/char/2.cc: Remove.
4269         * 27_io/basic_filebuf/seekoff/char/3-in.cc: New.
4270         * 27_io/basic_filebuf/seekoff/char/3-io.cc: Change.
4271         * 27_io/basic_filebuf/seekoff/char/3-out.cc: New.
4272         * 27_io/basic_filebuf/seekoff/char/4-io.cc: Remove.
4273         * 27_io/basic_filebuf/seekpos/char/1-in.cc: New.
4274         * 27_io/basic_filebuf/seekpos/char/1-io.cc: New.
4275         * 27_io/basic_filebuf/seekpos/char/1-out.cc: New.
4276         * 27_io/basic_filebuf/seekpos/char/2-in.cc: New.
4277         * 27_io/basic_filebuf/seekpos/char/2-io.cc: New.
4278         * 27_io/basic_filebuf/seekpos/char/2-out.cc: New.
4279         * 27_io/basic_filebuf/seekpos/char/2.cc: Change.
4280         * 27_io/basic_filebuf/seekpos/char/3-in.cc: New.
4281         * 27_io/basic_filebuf/seekpos/char/3-io.cc: Remove.
4282         * 27_io/basic_filebuf/seekpos/char/3-out.cc: New.
4283         * 27_io/basic_filebuf/seekpos/char/4-io.cc: Remove.
4284         * data/seekoff-1.tst: Remove.
4285         * data/seekoff-1io.tst: New.
4286         * data/seekoff-1out.tst: New.
4287         * data/seekoff-2.tst: Remove.
4288         * data/seekoff-2io.tst: New.
4289         * data/seekoff-2out.tst: New.
4290         * data/seekoff.txt
4291         * data/seekpos-1.tst: Remove.
4292         * data/seekpos-1io.tst: New.
4293         * data/seekpos-1out.tst: New.
4294         * data/seekpos-2.tst: Remove.
4295         * data/seekpos-2io.tst: New.
4296         * data/seekpos-2out.tst: New.
4297         * data/seekpos.txt: New.
4298
4299 2003-06-30  Jerry Quinn  <jlquinn@optonline.net>
4300
4301         * src/locale.cc (__use_cache<numpunct>): Move from here ...
4302         * include/bits/locale_facets.tcc (__use_cache<numpunct>): To
4303         here.
4304
4305 2003-06-30  Paolo Carlini  <pcarlini@unitus.it>
4306
4307         * include/bits/stl_algobase.h: Fully qualify standard
4308         functions with std::, thus avoiding Koenig lookup.
4309
4310 2003-06-30  Doug Gregor <dgregor@apple.com>
4311
4312         * include/bits/locale_facets.tcc (money_get::do_get): Avoid
4313         subscripting empty string.
4314
4315 2003-06-30  Phil Edwards  <pme@gcc.gnu.org>
4316
4317         * testsuite/Makefile.am (check-am):  Do not override.
4318         (baseline_symbols):  Declare as PHONY, so no need to 'touch' it.
4319         * testsuite/Makefile.in:  Regenerate.
4320
4321 2003-06-30  Doug Gregor <dgregor@apple.com>
4322
4323         * testsuite/24_iterators/insert_iterator.cc (test01, test02):
4324         Don't initialize an insert_iterator with a singular iterator.
4325
4326 2003-06-30  Benjamin Kosnik  <bkoz@redhat.com>
4327
4328         * acinclude.m4 (GLIBCPP_ENABLE_PCH): Add bits for --enable-pch.
4329         * aclocal.m4: Regenerate.
4330         * configure.in (GLIBCPP_CHECK_PCH): Move, change to
4331         GLIBCPP_ENABLE_PCH, default to yes.
4332         * configure: Regenerate.
4333         * docs/html/configopts.html: Add --enable-pch.
4334
4335 2003-06-30  Phil Edwards  <pme@gcc.gnu.org>
4336
4337         * testsuite/lib/libstdc++-v3-dg.exp:  Add comments.
4338         (libstdc++-v3-init):  Also set LD_RUN_PATH.
4339
4340 2003-06-30  Paolo Carlini  <pcarlini@unitus.it>
4341
4342         * include/std/std_streambuf.h (_M_mode): Unused by streambuf, move
4343         from here to filebuf and stringbuf.
4344         (~basic_streambuf()): Don't set _M_mode.
4345         (basic_streambuf()): Don't set _M_mode.
4346         * include/std/std_fstream.h (_M_mode): Move here, from streambuf.
4347         (~basic_filebuf()): Clean up.
4348         * include/bits/fstream.tcc (basic_filebuf()): Set _M_mode.
4349         * include/std/std_sstream.h (_M_mode): Move here, from streambuf.
4350         * testsuite/27_io/basic_streambuf/cons/char/1.cc: Don't set _M_mode.
4351         * testsuite/27_io/basic_streambuf/overflow/char/1.cc: Likewise.
4352         * testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise.
4353         * testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Likewise.
4354         * testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise.
4355
4356 2003-06-30  Paolo Carlini  <pcarlini@unitus.it>
4357
4358         * include/std/std_fstream.h (_M_underflow): Remove.
4359         (uflow): Remove, inherited from streambuf.
4360         (underflow): Only declare.
4361         * include/bits/fstream.tcc (_M_underflow): Rename to
4362         underflow, to which is equivalent for __bump == false,
4363         simplify.
4364         * include/std/std_sstream.h (_M_underflow): Remove.
4365         (uflow): Remove, inherited from streambuf.
4366         (underflow): Only declare.
4367         * include/bits/sstream.tcc (_M_underflow): Rename to
4368         underflow, to which is equivalent for __bump == false,
4369         simplify.
4370
4371 2003-06-29  Paolo Carlini  <pcarlini@unitus.it>
4372
4373         * include/bits/stl_algo.h: Fully qualify standard functions
4374         with std::, thus avoiding Koenig lookup.
4375
4376 2003-06-29  Paolo Carlini  <pcarlini@unitus.it>
4377
4378         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc:
4379         Improve type correctness-wise.
4380         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc:
4381         Likewise.
4382         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc:
4383         Likewise.
4384         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc:
4385         Likewise.
4386
4387 2003-06-29  Paolo Carlini  <pcarlini@unitus.it>
4388
4389         * include/std/std_streambuf.h (uflow): According to
4390         27.5.2.4.3,p16, don't check gptr() < egptr().
4391
4392 2003-06-28  Paolo Carlini  <pcarlini@unitus.it>
4393
4394         PR libstdc++/9875
4395         * include/bits/fstream.tcc (seekoff): Fix for encoding() > 0.
4396         (seekpos): Likewise.
4397         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc:
4398         New test.
4399         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc:
4400         New test.
4401
4402 2003-06-27  Benjamin Kosnik  <bkoz@redhat.com>
4403
4404         * testsuite/testsuite_performance.h (__gnu_cxx_test): Change
4405         output name to libstdc++-v3-performance.sum.
4406         * testsuite/Makefile.am (CLEANFILES): Remove .performance.
4407         * testsuite/Makefile.in: Regenerate.
4408
4409 2003-06-27  Matthias Klose  <doko@debian.org>
4410
4411         * testsuite/Makefile.am (check-abi, check-abi-verbose): Save
4412         output of abi-check in libstdc++-v3-abi.sum.
4413         * testsuite/Makefile.in: Regenerate.
4414
4415 2003-06-27  Krister Walfridsson  <cato@df.lth.se>
4416
4417         * config/os/bsd/netbsd/ctype_noninline.h
4418         (_C_ctype_): Declare.
4419         (ctype<char>::classic_table): Return _C_ctype_ + 1.
4420         (ctype<char>::ctype): Use classic_table.
4421
4422 2003-06-27  Paolo Carlini  <pcarlini@unitus.it>
4423             Nathan C. Myers  <ncm-nospam@cantrip.org>
4424
4425         PR libstdc++/9178
4426         * include/bits/fstream.tcc (_M_underflow): Properly estimate
4427         the worst-case number of external bytes for a given get area.
4428         * testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: New.
4429
4430 2003-06-27  Paolo Carlini  <pcarlini@unitus.it>
4431             Petur Runolfsson  <peturr02@ru.is>
4432
4433         PR libstdc++/11305
4434         * include/bits/fstream.tcc (overflow): Properly estimate the
4435         worst-case number of external bytes for a given put area
4436         (by using codecvt::max_length()).
4437         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1: New.
4438         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2: New.
4439         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3: New.
4440         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4: New.
4441
4442 2003-06-27  Nathan Sidwell  <nathan@codesourcery.com>
4443
4444         * config/linker-map.gnu: Remove ; after __numpunct_cache.
4445
4446 2003-06-26  Benjamin Kosnik  <bkoz@redhat.com>
4447
4448         * include/bits/ios_base.h (ios_base::_M_getloc): Return reference
4449         to the imbued locale.
4450         * include/bits/locale_facets.tcc (num_put::_M_convert_int): Use
4451         _M_getloc.
4452         (num_put::_M_convert_float): Use.
4453
4454 2003-06-26  Benjamin Kosnik  <bkoz@redhat.com>
4455             Jerry Quinn  <jlquinn@optonline.net>
4456
4457         * config/linker-map.gnu: Add __numpunct_cache.
4458         * config/locale/gnu/numeric_members.cc
4459         (numpunct::_M_initialize_numpunct): Account for _M_data, fill in
4460         all elements for "C" locale.
4461         (numpunct::~numpunct): Delete _M_data.
4462         * config/locale/generic/numeric_members.cc: Same.
4463         * include/bits/basic_ios.tcc
4464         (basic_ios::init): Remove __locale_cache bits.
4465         (basic_ios::_M_cache_locale): Same.
4466         * include/bits/ios_base.h: Same. Tweaks.
4467         * include/bits/locale_classes.h: Tweaks. Reorder classes.
4468         (__use_cache): Make friends with _Impl, locale.
4469         (_Impl::_M_caches): Add.
4470         (_Impl::_M_install_cache): Add.
4471         * include/bits/locale_facets.h (__numpunct_cache): New.
4472         (numpunct): Encapsulate data members in __numpunct_cache member,
4473         _M_data. Adjust virtuals.
4474         (numpunct::numpunct): New ctor for the same.
4475         (__locale_cache_base): Remove.
4476         (__locale_cache): Remove.
4477         * include/bits/locale_facets.tcc (__use_cache): New function,
4478         specializations.
4479         (num_put::_M_convert_int, _M_convert_float, do_put): Use it.
4480         * src/globals.cc: Add cache_vec, numpunct_cache_c, numpunct_cache_w.
4481         * src/ios.cc (ios_base::ios_base): Remove __locale_cache.
4482         * src/locale-inst.cc: Same. Add __numpunct_cache.
4483         * src/locale.cc: Tweak inlines.
4484         (__use_cache): Define specializations.
4485         * src/localename.cc: Use global bits.
4486         (_Impl::~Impl): Deal with __numpunct_cache destruction.
4487         (_Impl::_Impl): Same. Pre-cache standard numpunct facets.
4488         (_Impl::_M_init_facet): Take into account __numpunct_cache.
4489         * testsuite/27_io/ios_base/cons/assign_neg.cc: Update line numbers.
4490         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
4491
4492 2003-06-26  Nathan C. Myers  <ncm-nospam@cantrip.org>
4493             Paolo Carlini  <pcarlini@unitus.it>
4494
4495         * testsuite/performance/filebuf_copy.cc: New, testing char
4496         by char file copy.
4497
4498 2003-06-26  Paolo Carlini  <pcarlini@unitus.it>
4499             Nathan C. Myers  <ncm-nospam@cantrip.org>
4500
4501         * include/bits/fstream.tcc (_M_underflow): When the actual
4502         end of file is reached, set 'uncommitted' mode to allow a
4503         next write without an intervening seek (see C++98 27.8.1.1,2
4504         and C89 7.9.5.3).
4505         * testsuite/27_io/basic_filebuf/underflow/char/2.cc: New.
4506
4507 2003-06-25  Nathan C. Myers  <ncm-nospam@cantrip.org>
4508
4509         * include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc,
4510         sputc): Move inline, from here...
4511         * include/std/std_streambuf.h: ... to here.
4512
4513         * include/std/std_streambuf.h (snextc, sbumpc, sgetc,
4514         sputbackc, sungetc, sputc): Use __builtin_expect.
4515
4516 2003-06-24  Phil Edwards  <pme@gcc.gnu.org>
4517
4518         * docs/doxygen/mainpage.html:  Use a useful title.
4519
4520 2003-06-24  Benjamin Kosnik  <bkoz@redhat.com>
4521
4522         * docs/html/documentation.html: Remove assignment info.
4523         * docs/html/17_intro/contribute.html: Edits.
4524         * docs/html/17_intro/libstdc++-assign.tx: Remove.
4525
4526         * docs/html/test.html: Update.
4527
4528         * README: Update.
4529
4530 2003-06-24  Benjamin Kosnik  <bkoz@redhat.com>
4531             Ulrich Drepper  <drepper@redhat.com>
4532
4533         * testsuite/testsuite_performance.h: Tweak mallinfo.
4534
4535 2003-06-24  Paolo Carlini  <pcarlini@unitus.it>
4536             Nathan C. Myers  <ncm-nospam@cantrip.org>
4537
4538         * include/std/std_fstream.h (_M_filepos): Remove.
4539         (_M_reading, _M_writing): New, encode the various I/O modes:
4540         'read', 'write' and 'uncommitted'.
4541         (sync): If there is something to flush, do it, then go to
4542         'uncommitted' mode.
4543         * include/bits/fstream.tcc (_M_set_buffer): Overhaul to deal
4544         with three different cases: __off > 0 (upon underflow),
4545         __off == 0 (upon overflow), __off == -1 (upon open, setbuf,
4546         seekoff/pos).
4547         (_M_underflow): Don't call overflow, set _M_reading to true
4548         on success, tweak.
4549         (pbackfail): Set _M_reading to true on pback creation, tweak.
4550         (overflow): Don't seek, deal with overflow in 'uncommitted' mode,
4551         set _M_writing to true on success, tweak.
4552         (seekoff): Simplify, set _M_reading, _M_writing to false, call
4553         _M_set_buffer(-1) ('uncommitted').
4554         (open, close, setbuf): Set _M_reading, _M_writing to false and
4555         call _M_set_buffer(-1), tweak.
4556         (basic_filebuf): Don't set _M_buf_unified.
4557         (_M_destroy_internal_buffer): Don't call setg and setp.
4558         * include/ext/stdio_filebuf.h (stdio_filebuf): Use _M_reading,
4559         _M_writing and _M_set_buffer(-1).
4560         * include/std/std_streambuf.h (_M_move_out_cur, _M_move_in_cur,
4561         _M_out_lim, _M_buf_unified): Remove.
4562         (basic_streambuf): Don't set _M_out_lim and _M_buf_unified.
4563         (setp): Don't set _M_out_lim.
4564         * testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Fix for
4565         the new logic ('read', 'write' and 'uncommitted' modes): e.g.,
4566         upon open the mode is 'uncommitted' and therefore the put area
4567         pointers are null.
4568         * testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: Ditto.
4569         * testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Ditto.
4570         * testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Ditto.
4571         * testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Ditto.
4572         * testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Ditto.
4573         * testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Ditto.
4574         * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Ditto.
4575         * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: Ditto.
4576         * testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Ditto.
4577         * testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: Ditto.
4578         * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Ditto.
4579         * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: Ditto.
4580         * testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Ditto.
4581         * testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Ditto.
4582         * testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc: Ditto.
4583         * testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Ditto.
4584         * testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Ditto.
4585         * testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc: Ditto.
4586         * testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Ditto.
4587         * testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: Ditto.
4588
4589         * include/bits/fstream.tcc (showmanyc): Use only the
4590         documented derivation interface to basic_streambuf (gptr(),
4591         setg(), etc.) to work right with user specializations.
4592         * include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc,
4593         sputc, xsgetn, xsputn, __copy_streambufs): Likewise.
4594         * include/std/std_streambuf.h (in_avail, sgetc, uflow, stossc):
4595         Likewise.
4596         * include/std/std_fstream.h (_M_create_pback, _M_destroy_pback,
4597         xsgetn): Likewise.
4598
4599 2003-06-23  Loren J. Rittle  <ljrittle@acm.org>
4600
4601         * configure.host (freebsd*): Set abi_baseline_pair.
4602         * config/abi/i386-freebsd4/baseline_symbols.txt: Update from 3.2
4603         (at or near first release) to 3.3.
4604         * config/abi/i386-freebsd5/baseline_symbols.txt: New file.
4605         * config/abi/alpha-freebsd5/baseline_symbols.txt: New file.
4606         * config/abi/sparc-freebsd5/baseline_symbols.txt: New file.
4607
4608         * include/ext/mt_allocator.h: Portability.
4609         * testsuite/testsuite_performance.h: Likewise.
4610
4611 2003-06-23  Benjamin Kosnik  <bkoz@redhat.com>
4612
4613         * docs/html/17_intro/libstdc++-assign.txt: Update address.
4614
4615         * testsuite/performance/ifstream_getline.cc: Fix.
4616
4617 2003-06-23  Doug Gregor <dgregor@apple.com>
4618
4619         * include/bits/boost_concept_check.h: Don't use _D or _R for type
4620         names.
4621
4622 2003-06-22  Paolo Carlini  <pcarlini@unitus.it>
4623             Nathan C. Myers  <ncm-nospam@cantrip.org>
4624
4625         * include/std/std_streambuf.h (_M_move_out_cur): _M_out_lim
4626         is now used only for filebuf, when _M_buf_unified is true.
4627         epgtr() plays the role of _M_out_lim but it's only updated
4628         upon overflow, underflow, uflow, seekoff/pos.
4629         * include/bits/sstream.tcc (_M_underflow): New, implements
4630         stringbuf::underflow and uflow.
4631         (seekoff, seekpos): Tweak, use  _M_update_egptr.
4632         * include/std/std_sstream.h (str): Rewrote, deal correctly
4633         with the new logic, in particular, when pptr() > egptr().
4634         (_M_sync): When __testout && !__testin set all the get area
4635         pointers to the current string end.
4636         (_M_update_egptr): New, internal function updating egptr()
4637         to the actual string end.
4638         (_M_underflow): New, declare.
4639         (underflow): Dispatch to _M_underflow(false).
4640         (uflow): Dispatch to _M_underflow(true).
4641
4642         * include/bits/sstream.tcc (pbackfail, overflow, seekoff,
4643         seekpos): Use only the documented derivation interface to
4644         basic_streambuf (gptr(), setg(), etc.) to work right with
4645         user specializations.
4646         * include/std/std_sstream.h (str, _M_sync): Likewise.
4647
4648 2003-06-20  Doug Gregor <dgregor@apple.com>
4649
4650         * testsuite/20_util/auto_ptr.cc: Don't dereference NULL auto_ptr
4651         * testsuite/21_strings/basic_string/replace/char/4.cc: Don't
4652         dereference end iterator.
4653         * testsuite/21_strings/basic_string/replace/wchar_t/4.cc: Same.
4654         * testsuite/22_locale/ctype/narrow/char/1.cc: Don't subscript with
4655         index equal to the length of a string.
4656         * testsuite/22_locale/ctype/narrow/char/2.cc: Same.
4657         * testsuite/22_locale/ctype/narrow/wchar_t/1.cc: Same.
4658         * testsuite/22_locale/ctype/narrow/wchar_t/2.cc: Same.
4659         * testsuite/22_locale/ctype/widen/char/1.cc: Same.
4660         * testsuite/22_locale/ctype/widen/wchar_t/1.cc: Same.
4661         * testsuite/23_containers/list_modifiers.cc: Don't dereference
4662         singular reverse iterator.
4663         * testsuite/23_containers/vector_bool.cc: Don't increment singular
4664         iterator.
4665         * testsuite/24_iterators/rel_ops.cc: Don't compare singular iterator.
4666
4667 2003-06-20  Doug Gregor <dgregor@apple.com>
4668
4669         * include/bits/basic_string.h (basic_string::replace): Dispatch
4670         _InputIterator version based on _Is_integer.
4671         * include/bits/basic_string.tcc (basic_string::replace):
4672         Renamed replace(iterator, iterator, size_type, _CharT) to
4673         _M_replace_aux.
4674         * testsuite/21_strings/basic_string/assign/char/1.cc (test01):
4675         Test basic_string::assign(_InputIterator, _InputIterator),
4676         which calls basic_string::replace(iterator, iterator,
4677         _Input_iterator, _InputIterator).
4678
4679 2003-06-20  Benjamin Kosnik  <bkoz@redhat.com>
4680
4681         * testsuite/testsuite_performance.h (resource_counter): Don't use
4682         mallinfo at the moment.
4683
4684 2003-06-20  Matthias Klose  <doko@debian.org>
4685
4686         * configure.host: Set try_cpu to target_cpu for existing
4687         baseline files.
4688
4689 2003-06-19  Andreas Jaeger  <aj@suse.de>
4690
4691         * testsuite/Makefile.am (extract_symvers): Revert accidental
4692         change.
4693         * testsuite/Makefile.in: Regenerate.
4694
4695         * configure.in: Pass MULTISUBDIR to testsuite/Makefile.
4696         * configure: Regenerated.
4697
4698 2003-06-19  Paolo Carlini  <pcarlini@unitus.it>
4699
4700         * include/std/std_sstream.h (_M_sync): Make non virtual.
4701
4702 2003-06-18  Benjamin Kosnik  <bkoz@redhat.com>
4703
4704         * testsuite/testsuite_performance.h (time_counter): New.
4705         (resource_counter): New.
4706         (report_performance): New.
4707         (start_counters): New.
4708         (stop_counters): New.
4709         (clear_counters): New.
4710         * testsuite/performance/allocator.cc: Instrument.
4711         * testsuite/performance/cout_insert_int.cc: Same.
4712         * testsuite/performance/complex_norm.cc: Same.
4713         * testsuite/performance/filebuf_sputc.cc: New.
4714         * testsuite/performance/fstream_seek_write.cc: Same.
4715         * testsuite/performance/ifstream_getline.cc: Same.
4716         * testsuite/performance/map_create_fill.cc: Same.
4717         * testsuite/performance/ofstream_insert_float.cc: Same.
4718         * testsuite/performance/ofstream_insert_int.cc: Same.
4719         * testsuite/performance/string_append.cc: Convert.
4720         * scripts/check_performance: New.
4721         * testsuite/Makefile.am (check-performance): New.
4722         (CLEANFILES): Add.
4723
4724 2003-06-18  Paolo Carlini  <pcarlini@unitus.it>
4725             Benjamin Kosnik  <bkoz@redhat.com>
4726
4727         * include/std/std_sstream.h (setbuf): Check __n >= 0.
4728         * include/bits/fstream.tcc (setbuf): Tweak.
4729
4730 2003-06-18  Paolo Carlini  <pcarlini@unitus.it>
4731
4732         * include/bits/sstream.tcc (seekoff): We can't seek beyond
4733         _M_out_lim, therefore _M_move_out_cur boils down to simply
4734         updating _M_out_cur.
4735         (seekpos): Likewise, clean up.
4736
4737 2003-06-18  Nathan C. Myers  <ncm-nospam@cantrip.org>
4738             Paolo Carlini  <pcarlini@unitus.it>
4739
4740         * include/bits/fstream.tcc (setbuf): Allow (__s, 1) too,
4741         simply equivalent to the unbuffered case (0, 0) as far as
4742         _M_buf_size is concerned.
4743
4744 2003-06-18  Andreas Jaeger  <aj@suse.de>
4745
4746         * testsuite/Makefile.am (new-abi-baseline): Create baseline
4747         directory.
4748         (baseline_file): Use baseline_dir.
4749         (baseline_dir): New.
4750         (mkinstalldirs): New.
4751
4752         * acinclude.m4: Rename baseline_file to baseline_dir, strip
4753         filename from baseline_dir.
4754
4755         * testsuite/Makefile.in: Regenerated.
4756         * Makefile.in: Regenerated.
4757         * aclocal.m4: Regenerated.
4758         * configure: Regenerated.
4759
4760 2003-06-17  Benjamin Kosnik  <bkoz@redhat.com>
4761
4762         * configure.in: Missed check_survey bit.
4763         * configure: Regenerated.
4764
4765 2003-06-17  Benjamin Kosnik  <bkoz@redhat.com>
4766
4767         * scripts: New.
4768         * config/abi/extract_symvers: Move to...
4769         * scripts/extract_symvers: ...here.
4770         * mkcheck.in: Move to..
4771         * scripts/check_survey.in: ...here.
4772         * testsuite_flags.in: Move to..
4773         * scripts/testsuite_flags.in: ...here.
4774         * configure.in: Change check and testsuite_flags locations.
4775         * configure: Regenerate.
4776         * testsuite/Makefile.am (current_symbols.txt): Change location.
4777         * testsuite/Makefile.in: Regenerate.
4778         * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Modify
4779         location of testsuite_flags.
4780         * Makefile.am (check-script): Move..
4781         (check-script-install): Move...
4782         * testsuite/Makefile.am: ... here.
4783         * testsuite/Makefile.in: Regenerate.
4784         * Makefile.in: Regenerate.
4785
4786 2003-06-17  Benjamin Kosnik  <bkoz@redhat.com>
4787
4788         * config/abi/i486-linux-gnu/baseline_symbols.txt: Update to 3.3.0.
4789
4790 2003-06-16  Benjamin Kosnik  <bkoz@redhat.com>
4791
4792         * Makefile.am (check-abi): Move...
4793         (new-abi-baseline): Move...
4794         * testsuite/Makefile.am: ...here.
4795         (new-abi-baseline): Conditionalize.
4796         (check-abi): Conditionalize.
4797         (check-abi-verbose): New.
4798         * Makefile.in: Regenerate.
4799         * testsuite/Makefile.in: Regenerate.
4800         * configure.in: Consolidate testsuite configure bits.
4801         * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Same.
4802         * configure: Regenerate.
4803         * aclocal.m4: Regenerate.
4804         * testsuite/abi_check.cc: Add --check-verbose.
4805         Only output detailed information if --check-verbose.
4806
4807 2003-06-16  Andreas Jaeger  <aj@suse.de>
4808
4809         * testsuite/abi_check.cc: Create summary report.
4810
4811 2003-06-16  Paolo Carlini  <pcarlini@unitus.it>
4812
4813         * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Fix
4814         for systems with BUFSIZ != 8192.
4815         * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Ditto.
4816         * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc:
4817         Minor tweaks.
4818
4819 2003-06-16  Andreas Jaeger  <aj@suse.de>
4820
4821         * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Make
4822         check-abi multilib aware.
4823         * aclocal.m4: Regenerate.
4824         * configure: Regenerate.
4825
4826 2003-06-16  Benjamin Kosnik  <bkoz@redhat.com>
4827             Andreas Jaeger  <aj@suse.de>
4828
4829         * configure.host: Set x86_64 abi_baseline pair correctly.
4830
4831 2003-06-16  Paolo Carlini  <pcarlini@unitus.it>
4832
4833         * testsuite/27_io/basic_filebuf/sungetc/char/1.cc: Split and
4834         fix for missing seeks between gets and puts into...
4835         * testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc: New.
4836         * testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: New.
4837         * testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: New.
4838         * testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc: New.
4839         * testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: New.
4840         * testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc: New.
4841
4842 2003-06-15  Richard Henderson  <rth@redhat.com>
4843
4844         * config/linker-map.gnu: Export virtual function thunks for
4845         64-bit systems too.
4846
4847 2003-06-13  Benjamin Kosnik  <bkoz@redhat.com>
4848
4849         * config/abi/i686-pc-linux-gnu: To..
4850         * config/abi/i486-linux-gnu: ...this.
4851         * config/abi/alphaev67-unknown-linux-gnu: To..
4852         * config/abi/alpha-linux-gnu: ...this.
4853         * config/abi/ia64-unknown-linux-gnu: To...
4854         * config/abi/ia64-linux-gnu: ...this.
4855         * config/abi/x86_64-unknown-linux-gnu: To...
4856         * config/abi/x86_64-linux-gnu: ...this.
4857         * config/abi/i386-unknown-freebsd4: To...
4858         * config/abi/i386-freebsd4: ...this.
4859         * config/linker-map.gnu: Cleanups, move libsupc++ bits into
4860         CXXABI.
4861         * configure.host: abi_baseline_triplet to abi_baseline_pair.
4862         Simplify cpu bits so that abi_baseline_pair can use the same
4863         cpu configuration.
4864         * acinclude.m4: Same.
4865         * aclocal.m4: Regenerate.
4866         * configure.in: Can't get enable_abi_check to yes unless native.
4867         * configure: Regenerate.
4868
4869 2003-06-13  Paolo Carlini  <pcarlini@unitus.it>
4870
4871         * testsuite/27_io/basic_filebuf/seekoff/char/1.cc: Split and
4872         fix for missing seeks between gets and puts into...
4873         * testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: New.
4874         * testsuite/27_io/basic_filebuf/seekoff/char/4-io.cc: New.
4875         * testsuite/27_io/basic_filebuf/seekpos/char/1.cc: Same, into...
4876         * testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: New.
4877         * testsuite/27_io/basic_filebuf/seekpos/char/4-io.cc: New.
4878         * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Fix
4879         for missing seeks between gets and puts.
4880         * testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: Ditto.
4881         * testsuite/data/seekoff-1.tst: New.
4882         * testsuite/data/seekoff-2.tst: New.
4883         * testsuite/data/seekpos-1.tst: New.
4884         * testsuite/data/seekpos-2.tst: New.
4885
4886 2003-06-13  Nathan C. Myers <ncm-nospam@cantrip.org>
4887
4888         Avoid multi-processor bus contention on increment/decrement-and-
4889         test of the reference count in the empty-string object, by comparing
4890         addresses first, and never touching the reference count of the empty-
4891         string object.
4892         * include/bits/basic_string.h:
4893         (_S_empty_rep_storage): Move into basic_string<>::_Rep for use by its
4894         members.
4895         (_Rep::_S_empty_rep()): New accessor.
4896         (_Rep::_M_length, _Rep::_M_capacity, _Rep::_M_references): Move to
4897         a base class _Rep_base.
4898         (_Rep::_M_dispose, _Rep::_M_refcopy): Check for the empty string.
4899         (basic_string()): Change to use _M_refdata() in place of _M_refcopy(),
4900         since no longer must increment its refcount.
4901         * include/bits/basic_string.tcc:
4902         (_Rep::_M_destroy, _M_leak_hard): Check for the empty string and
4903         return immediately.  The former might be unnecessary.  The latter
4904         prevents begin() and end() from cloning it unnecessarily.
4905         (_S_construct(_InIterator, _InIterator, const _Alloc&,
4906         input_iterator_tag), _S_construct(_InIterator, _InIterator,
4907         const _Alloc&, forward_iterator_tag), _S_construct(size_type, _CharT,
4908         const _Alloc&)): Change to use _M_refdata() in place of _M_refcopy().
4909         (_M_mutate): Check for the empty string and treat it as shared.
4910         This is necessary here because _M_mutate is sometimes called with
4911         all-zero arguments; in all other uses of _M_is_shared, the test comes
4912         out right anyhow.
4913
4914 2003-06-12  Benjamin Kosnik  <bkoz@redhat.com>
4915
4916         * src/allocator-inst.cc: Explicitly instantiate.
4917         * include/ext/pool_allocator.h: Inhibit implicit instantiations.
4918         Tweaks.
4919         * config/linker-map.gnu: Add __pool_alloc bits. Tweaks.
4920
4921 2003-06-11  Benjamin Kosnik  <bkoz@redhat.com>
4922
4923         * acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Simplify.
4924         * aclocal.m4: Regenerate.
4925         * Makefile.am (SUBDIRS): Remove libio.
4926         * Makefile.in: Regenerate.
4927         * configure.in: Same.
4928         * configure: Regenerate.
4929         * config/io/basic_file_libio.cc: Remove.
4930         * config/io/basic_file_libio.h: Remove.
4931         * config/io/c_io_libio_codecvt.c: Remove.
4932         * config/io/c_io_libio.h: Remove.
4933         * libio/*: Remove.
4934         * src/Makefile.am: Same.
4935         * src/Makefile.in: Regenerate.
4936         * docs/html/configopts.html: Edits.
4937         * docs/html/explanations.html: Edits.
4938
4939 2003-06-11  Benjamin Kosnik  <bkoz@redhat.com>
4940
4941         * include/bits/stl_alloc.h (__debug_alloc): Move out.
4942         (__malloc_alloc): Same.
4943         (__pool_alloc): Same.
4944         (__new_alloc): Same.
4945         Rename to..
4946         * include/bits/allocator.h: ...this.
4947         * include/bits/stl_deque.h: Modify comment.
4948         * include/bits/stl_tree.h: Modify include.
4949         * include/std/std_memory.h: Same.
4950         * include/ext/rope: Same.
4951         * include/ext/slist: Same.
4952         * include/std/std_vector.h: Same.
4953         * include/std/std_stack.h: Same.
4954         * include/std/std_queue.h: Same.
4955         * include/std/std_list.h: Same.
4956         * include/std/std_deque.h: Same.
4957         * include/backward/alloc.h: Same.
4958         * include/ext/debug_allocator.h: New.
4959         * include/ext/malloc_allocator.h: New.
4960         * include/ext/pool_allocator.h: New.
4961         * include/ext/new_allocator.h: New.
4962         * include/bits/pthread_allocimpl.h: Remove.
4963         * include/bits/stl_pthread_alloc.h: Remove.
4964         * include/Makefile.am (ext_headers): Add.
4965         * include/Makefile.in: Regenerate.
4966         * src/stl-inst.cc: Use __gnu_cxx namespace.
4967         * src/stl-inst.cc: Move to...
4968         * src/allocator-inst.cc: Here.
4969         * src/Makefile.am (sources): Update.
4970         * src/Makefile.in: Regenerate.
4971         * config/linker-map.gnu: Remove __pool_alloc bits.
4972         * testsuite/ext/headers.cc: Add.
4973         * testsuite/ext/allocators.cc: Fixup.
4974
4975 2003-06-11  Stefan Olsson  <stefan@snon.net>
4976             Ola Rönnerup  <fnolis@home.se>
4977
4978         * include/Makefile.am (ext_headers): Add.
4979         * include/Makefile.in: Regenerate.
4980         * include/ext/mt_allocator.h: New file.
4981
4982 2003-06-10  Paolo Carlini  <pcarlini@unitus.it>
4983
4984         * include/bits/fstream.tcc (close): Clean up a bit.
4985
4986         * include/bits/streambuf.tcc (sbumpc): Clean up a bit.
4987
4988         * include/std/std_fstream.h (_M_destroy_pback): _M_pback_cur_save
4989         - the saved _M_in_cur, that is - cannot be null.
4990         (sync): Constify a variable.
4991
4992         * include/std/std_streambuf.h: Tweak a comment.
4993         (in_avail): Constify a variable.
4994
4995 2003-06-10  Phil Edwards  <pme@gcc.gnu.org>
4996
4997         * docs/html/17_intro/BUGS:  Update from 2.90.8 snapshot.
4998         * docs/html/17_intro/CHECKLIST:  Bring up to date with respect to
4999         correctness of container::iterator typedefs.  Fix whitespace.
5000         * docs/html/20_util/howto.html, docs/html/ext/howto.html:  Add links
5001         to allocator docs.
5002         * docs/html/documentation.html:  Regenerate.
5003
5004         * include/bits/basic_string.h, include/bits/basic_string.tcc,
5005         include/bits/deque.tcc, include/bits/list.tcc, include/bits/stl_algo.h,
5006         include/bits/stl_algobase.h, include/bits/stl_bvector.h,
5007         include/bits/stl_deque.h, include/bits/stl_iterator_base_funcs.h,
5008         include/bits/stl_list.h, include/bits/stl_uninitialized.h,
5009         include/bits/stl_vector.h, include/bits/vector.tcc,
5010         include/ext/algorithm, include/ext/slist, include/std/std_bitset.h:
5011         Change _Iter names to _Iterator, and __pos to __position.
5012
5013         * include/bits/stl_relops.h, include/bits/stl_numeric.h,
5014         include/bits/stl_multiset.h, include/bits/stl_set.h:
5015         Remove emacs markers.
5016
5017         * include/bits/stl_threads.h (_STL_auto_lock):  Add __unused__.
5018
5019 2003-06-10  Paolo Carlini  <pcarlini@unitus.it>
5020
5021         * include/bits/fstream.tcc (overflow): According to
5022         27.5.2.4.5, overflow() returns not_eof(eof()).
5023         * testsuite/27_io/basic_filebuf/overflow/char/2.cc: New.
5024         * testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc: Ditto.
5025
5026 2003-06-10  Paolo Carlini  <pcarlini@unitus.it>
5027
5028         * include/bits/fstream.tcc (_M_underflow): Check overflow return
5029         value; tweak slightly.
5030
5031 2003-06-09  Paolo Carlini  <pcarlini@unitus.it>
5032
5033         * include/bits/fstream.tcc (_M_underflow): Do not special
5034         case the unbuffered case, which really means simply a one char
5035         get area.
5036         (basic_filebuf): Initialize _M_buf_size.
5037         (setbuf): Unbuffered means _M_buf_size == 1, since only
5038         _M_buf_size - 1 == 0 chars are going to be used for the
5039         put area and 1 for the get area.
5040         * include/std/std_streambuf.h (_M_buf_size): Move to basic_filebuf.
5041         (~basic_streambuf): Tweak.
5042         (basic_streambuf): Do not initialize _M_buf_size.
5043         * include/std/std_fstream.h (_M_buf_size): Add from basic_streambuf.
5044         (~basic_filebuf): Tweak.
5045         (_M_set_buffer): Tweak, considering that _M_buf_size == 1 is the
5046         unbuffered situation (i.e., put area pointers NULL).
5047         * include/bits/streambuf.tcc (sbumpc): Clean up.
5048         * testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Split into...
5049         * testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc: New.
5050         * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: New.
5051         * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: New.
5052         * testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc: New.
5053         * testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: New.
5054         * testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: New.
5055
5056 2003-06-09  Phil Edwards  <pme@gcc.gnu.org>
5057
5058         * acinclude.m4:  Move all AM_CONDITIONAL calls out.
5059         (GLIBCPP_CONFIGURE):  Set defaults for variables used in AM_CONDITIONAL
5060         statements.
5061         * configure.in:  Centralize AM_CONDITIONALs so that they are always
5062         run.  Make use of GLIBCPP_IS_CROSS_COMPILING.
5063         * aclocal.m4, configure:  Regenerated.
5064
5065 2003-06-09  Paolo Carlini  <pcarlini@unitus.it>
5066
5067         * docs/html/ext/howto.html ('LWG Issues'):  Add issue 235.
5068
5069 2003-06-06  Nathan Myers  <ncm-nospam@cantrip.org>
5070
5071         * include/bits/stl_iterator.h
5072         (reverse_iterator::reverse_iterator()): Apply DR235: default
5073         constructor default-initializes data member.  Instantiated on a
5074         pointer type, the member has to end up equal to zero.
5075
5076 2003-06-06  Benjamin Kosnik  <bkoz@redhat.com>
5077
5078         * include/bits/stl_alloc.h: Cleanups.
5079         * include/ext/functional: Same.
5080         * include/ext/hash_map: Same.
5081         * include/ext/hash_set: Same.
5082         * include/ext/iterator: Same.
5083         * include/ext/memory: Same.
5084         * include/ext/numeric: Same.
5085         * include/ext/rb_tree: Same.
5086         * include/ext/ropeimpl.h: Same.
5087         * include/ext/slist: Same.
5088         * include/ext/stdio_filebuf.h: Same.
5089         * include/ext/stdio_sync_filebuf.h: Same.
5090         * include/ext/stl_rope.h: Move to...
5091         * include/ext/rope: ...here.
5092         * include/ext/stl_hash_fun.h: Move to...
5093         * include/ext/hash_fun.h: ...here.
5094         * include/ext/stl_hashtable.h: Move to...
5095         * include/ext/hashtable.h: ...here.
5096         * include/backward/hashtable.h: Reflect new names.
5097         * include/Makefile.am: Same.
5098         * include/Makefile.in: Regenerated.
5099
5100 2003-06-05  Benjamin Kosnik  <bkoz@redhat.com>
5101
5102         PR libstdc++/9024
5103         * include/bits/fstream.tcc (_M_underflow): Fix for unbuffered.
5104         * include/bits/stl_algobase.h: Tweak.
5105         * include/std/std_fstream.h: Move _M_buf_size to...
5106         * include/std/std_streambuf.h: ...here. Modify.
5107         * include/bits/streambuf.tcc: Same.
5108         * testsuite/testsuite_hooks.h: Tweak.
5109         * testsuite/testsuite_io.h (constraint_filebuf): New.
5110         * testsuite/27_io/basic_filebuf/sbumpc/char/1.cc: Split into...
5111         * testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: New.
5112         * testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: New.
5113         * testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: New.
5114         * testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: New.
5115         * testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: New.
5116         * testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc: New.
5117         * testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Split into...
5118         * testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: New.
5119         * testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: New.
5120         * testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: New.
5121         * testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: New.
5122         * testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: New.
5123         * testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc: New.
5124         * testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Split into...
5125         * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: New.
5126         * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: New.
5127         * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: New.
5128         * testsuite/27_io/basic_filebuf/sgetn/char/2.cc: Split into...
5129         * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: New.
5130         * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: New.
5131         * testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc: New.
5132         * testsuite/27_io/basic_filebuf/sgetn/char/3.cc: New.
5133         * testsuite/27_io/basic_filebuf/snextc/char/1.cc: Split into...
5134         * testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: New.
5135         * testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: New.
5136         * testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: New.
5137         * testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: New.
5138         * testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: New.
5139         * testsuite/27_io/basic_filebuf/snextc/char/2-out.cc: New.
5140         * testsuite/27_io/basic_filebuf/sputc/char/1.cc: Split into...
5141         * testsuite/27_io/basic_filebuf/sputc/char/1-in.cc: New.
5142         * testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: New.
5143         * testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: New.
5144         * testsuite/27_io/basic_filebuf/sputc/char/2.cc: Split into...
5145         * testsuite/27_io/basic_filebuf/sputc/char/2-in.cc: New.
5146         * testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: New.
5147         * testsuite/27_io/basic_filebuf/sputc/char/2-out.cc: New.
5148         * testsuite/27_io/basic_filebuf/sputn/char/1.cc: Split into...
5149         * testsuite/27_io/basic_filebuf/sputn/char/1-in.cc: New.
5150         * testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: New.
5151         * testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: New.
5152         * testsuite/27_io/basic_filebuf/sputn/char/2-in.cc: New.
5153         * testsuite/27_io/basic_filebuf/sputn/char/2-io.cc: New.
5154         * testsuite/27_io/basic_filebuf/sputn/char/2-out.cc: New.
5155         * testsuite/data/sgetc.txt: New.
5156         * testsuite/data/sgetn.txt: New.
5157
5158 2003-06-05  Paolo Carlini  <pcarlini@unitus.it>
5159
5160         PR libstdc++/11095
5161         * include/bits/istream.tcc (operator>>(basic_istream&, _CharT*)):
5162         Deal with width() smaller than zero.
5163         * include/bits/ostream.tcc (operator<<(basic_ostream&, _CharT),
5164         operator<<(basic_ostream&, char), operator<<(basic_ostream&, const
5165         _CharT*), operator<<(basic_ostream<_CharT, _Traits>&, const
5166         char*), operator<<(basic_ostream<char, _Traits>&, const char*),
5167         operator<<(basic_ostream, const basic_string&)): Likewise.
5168
5169         * testsuite/27_io/basic_istream/extractors_character/char/
5170         (11095-i.cc, 11095-oa.cc, 11095-ob.cc, 11095-oc.cc): New.
5171         * testsuite/27_io/basic_ostream/inserters_character/char/
5172         (11095-oa.cc, 11095-ob.cc, 11095-oc.cc): New.
5173         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
5174         (11095-od.cc, 11095-oe.cc, 11095-of.cc): New.
5175
5176 2003-06-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5177
5178         * acinclude.m4 (GLIBCPP_CHECK_PCH): Only set glibcpp_PCHFLAGS if
5179         .gch compilation works.
5180         * aclocal.m4, configure: Regenerate.
5181         * testsuite_flags.in (--build-cxx): Use glibcpp_PCHFLAGS to
5182         initialize PCHFLAGS.
5183
5184 2003-06-04  Paolo Carlini  <pcarlini@unitus.it>
5185
5186         * include/bits/basic_string.h (_M_fold, insert(iterator, _CharT),
5187         erase(iterator), erase(iterator, iterator), c_str,
5188         compare(const basic_string&)): Constify various variables.
5189         * include/bits/basic_string.tcc (_S_construct(_InIter, _InIter,
5190         const _Alloc&, input_iterator_tag), _M_destroy, _M_mutate,
5191         _S_create, resize, _M_replace, _M_replace_safe,
5192         append(const basic_string&), append(const basic_string&, size_type,
5193         size_type), append(const _CharT*, size_type), append(size_type,
5194         _CharT), operator+(const _CharT*, const basic_string&),
5195         operator+(_CharT, const basic_string&), replace(iterator, iterator,
5196         size_type, _CharT), find(const _CharT*, size_type, size_type),
5197         find(_CharT, size_type), rfind(const _CharT*, size_type, size_type),
5198         rfind(_CharT, size_type), compare(size_type, size_type,
5199         const basic_string&), compare(size_type, size_type,
5200         const basic_string&, size_type, size_type), compare(const _CharT*),
5201         compare(size_type, size_type, const _CharT*), compare(size_type,
5202         size_type, const _CharT*, size_type)): Likewise.
5203
5204 2003-06-03  Benjamin Kosnik  <bkoz@redhat.com>
5205
5206         * include/bits/fstream.tcc (pbackfail): Make a rarely taken
5207         'if' branch less obscure.
5208
5209 2003-06-02  Andrew Pinski  <pinskia@physics.uc.edu>
5210
5211         PR libstdc++/9815
5212         * config/cpu/i386/atomicity.h (__exchange_and_add): add intel
5213         asm case to asm.
5214         * config/cpu/i486/atomicity.h (__exchange_and_add): Likewise.
5215         (__atomic_add): likewise.
5216
5217 2003-06-02  Paolo Carlini  <pcarlini@unitus.it>
5218
5219         * include/bits/sstream.tcc (pbackfail): Minor clean up and
5220         reformatting, consistent with basic_filebuf::pbackfail.
5221
5222 2003-06-02  Richard Kreckel  <Richard.Kreckel@GiNaC.DE>
5223
5224         PR libstdc++/11062
5225         * config/cpu/mips/atomicity.h:  Change __attribute__ ((unused)) to
5226         __attribute__ ((__unused__)).
5227         * config/os/aix/atomicity.h:  Likewise.
5228
5229 2003-06-02  Paolo Carlini  <pcarlini@unitus.it>
5230
5231         PR libstdc++/9761
5232         * include/bits/fstream.tcc (pbackfail): If the pback buffer
5233         is already active don't try to store in it a second char.
5234         * testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc: New.
5235
5236         * include/bits/fstream.tcc (pbackfail): Add unbuffered bits.
5237
5238 2003-06-02  Paolo Carlini  <pcarlini@unitus.it>
5239
5240         * testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: Tweak
5241         line spacing.
5242
5243 2003-06-02  Paolo Carlini  <pcarlini@unitus.it>
5244
5245         * include/std/std_fstream.h (_M_destroy_pback): Use _M_in_beg
5246         instead of unnecessarily taking the address of _M_pback.
5247         (xsgetn): Simplify slightly for a single char pback buffer.
5248
5249 2003-06-02  Paolo Carlini  <pcarlini@unitus.it>
5250
5251         * include/bits/sstream.tcc (seekoff): Remove four unnecessary
5252         variables and two 'if', clean up.
5253
5254 2003-06-02  Paolo Carlini  <pcarlini@unitus.it>
5255
5256         * include/bits/sstream.tcc (seekpos): Test against _M_out_lim
5257         not _M_out_end, since the former actually points to the string
5258         end (vs buffer end).
5259         * testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: New.
5260
5261 2003-05-30  Phil Edwards  <pme@gcc.gnu.org>
5262
5263         * docs/doxygen/filter:  New file.
5264         * docs/doxygen/filter.sed:  New file.
5265         * docs/doxygen/run_doxygen:  Add g flag to sed substitutions.  Duh.
5266         * docs/doxygen/user.cfg.in (INPUT_FILTER):  Point to new filter.
5267         * docs/html/documentation.html:  Fix links to doxygen pages.
5268
5269 2003-05-30  Paolo Carlini  <pcarlini@unitus.it>
5270
5271         * include/bits/fstream.tcc (_M_convert_to_external): Don't
5272         check for __ilen > 0.
5273
5274 2003-05-29  Sylvain Pion  <Sylvain.Pion@mpi-sb.mpg.de>
5275
5276         PR libstdc++/10783
5277         * include/bits/stl_iterator.h (class __normal_iterator):
5278         Don't inherit from iterator, add missing typedefs.
5279
5280 2003-05-29  Paolo Carlini <pcarlini@unitus.it>
5281
5282         * testsuite/24_iterators/reverse_iterator.cc: Split up, as follows.
5283         * testsuite/24_iterators/reverse_iterator/1.cc: New.
5284         * testsuite/24_iterators/reverse_iterator/2.cc: New.
5285         * testsuite/24_iterators/reverse_iterator/3.cc: New, from
5286         PR libstdc++/10783.
5287
5288 2003-05-27  Steve Ellcey  <sje@cup.hp.com>
5289
5290         * config/os/hpux/os_defines.h: Define _LIBUNWIND_STD_ABI if we are
5291         on IA64 HP-UX.
5292         * libsupc++/eh_throw.cc: Don't call _Unwind_Resume_or_Rethrow if
5293         _LIBUNWIND_STD_ABI is set.
5294
5295 2003-05-26  Brendan Kehoe  <brendan@zen.org>
5296
5297         * include/bits/locale_facets.tcc (do_get): Honor $22.2.6.3.3/8 and
5298         make sure the number of digits required after the decimal-point
5299         (if any) is exactly the value returned by frac_digits().
5300         * testsuite/22_locale/money_get/get/char/9.cc: New.
5301         * testsuite/22_locale/money_get/get/wchar_t/9.cc: New.
5302
5303 2003-05-27  Jonathan Wakely  <redi@gcc.gnu.org>
5304
5305         * include/std/std_istream.h, include/std/std_ostream.h: Typo in
5306         comment.
5307
5308 2003-05-26  Benjamin Kosnik  <bkoz@redhat.com>
5309
5310         PR libstdc++/9339
5311         * include/std/std_fstream.h (basic_filebuf::_M_overflow): Remove.
5312         (_M_pback): No array necessary.
5313         * include/bits/fstream.tcc (basic_filebuf::_M_overflow): Add
5314         unbuffered case, coalesec into ...
5315         (basic_filebuf::overflow): ...this.
5316         * testsuite/27_io/basic_filebuf/sputn/char/9339.cc: New.
5317         * testsuite/27_io/basic_filebuf/sputc/char/2.cc: Unbuffered.
5318
5319 2003-05-24  Nathanael Nerode  <neroden@gcc.gnu.org>
5320
5321         * libsupc++/Makefile.am, libsupc++/cxxabi.h, libsupc++/del_op.cc,
5322         libsupc++/del_opnt.cc, libsupc++/del_opv.cc, libsupc++/del_opvnt.cc,
5323         libsupc++/eh_alloc.cc, libsupc++/eh_aux_runtime.cc,
5324         libsupc++/eh_catch.cc, libsupc++/eh_exception.cc,
5325         libsupc++/eh_globals.cc, libsupc++/eh_personality.cc,
5326         libsupc++/eh_term_handler.cc, libsupc++/eh_terminate.cc,
5327         libsupc++/eh_throw.cc, libsupc++/eh_type.cc,
5328         libsupc++/eh_unex_handler.cc, libsupc++/exception,
5329         libsupc++/new, libsupc++/new_handler.cc, libsupc++/new_op.cc,
5330         libsupc++/new_opnt.cc, libsupc++/new_opv.cc, libsupc++/new_opvnt.cc,
5331         libsupc++/pure.cc, libsupc++/tinfo.cc, libsupc++/tinfo2.cc,
5332         libsupc++/typeinfo, libsupc++/unwind-cxx.h, libsupc++/vec.cc:
5333         Replace "GNU CC" with "GCC".
5334
5335         * include/backward/new.h: Replace "GNU CC" with "GCC".
5336
5337 2003-05-22  Benjamin Kosnik  <bkoz@redhat.com>
5338
5339         PR libstdc++/3066.
5340         * configure.in: Switch target to host, don't assume newlib.
5341         (target_alias): Remove.
5342         * configure: Regenerate.
5343         * acinclude.m4: Same.
5344         * aclocal.m4: Regenerate.
5345         * configure.target: Same. Rename to...
5346         * configure.host: This.
5347
5348 2003-05-22  Paolo Carlini  <pcarlini@unitus.it>
5349
5350         * include/std/std_fstream.h (_S_pback_size): Remove definition.
5351         (_M_create_pback(), _M_destroy_pback()): Simplify for a single-char
5352         pback buffer.
5353         * include/bits/fstream.tcc (_S_pback_size): Remove declaration.
5354         * testsuite/27_io/basic_filebuf/3.cc: Remove explicit instantiation
5355         of _S_pback_size for systems with no COMDAT or weak support.
5356         * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: Likewise.
5357         * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: Likewise.
5358         * testsuite/27_io/basic_filebuf/underflow/10096.cc: Likewise.
5359         * testsuite/27_io/basic_fstream/3.cc: Likewise.
5360         * testsuite/27_io/basic_ifstream/3.cc: Likewise.
5361         * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: Likewise.
5362         * testsuite/27_io/basic_ofstream/3.cc: Likewise.
5363         * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Likewise.
5364         * testsuite/27_io/basic_streambuf/3.cc: Likewise.
5365
5366 2003-05-22  Paolo Carlini  <pcarlini@unitus.it>
5367
5368         * include/bits/fstream.tcc (_M_underflow): Simplify:
5369         !__testout implies _M_filepos == _M_in_end, therefore
5370         the first _M_file.seekoff call is never issued.
5371
5372 2003-05-22  Benjamin Kosnik  <bkoz@redhat.com>
5373
5374         * configure.in: Sort cross table.
5375         * configure: Regenerate.
5376
5377 2003-05-22  Brad Spencer  <spencer@infointeractive.com>
5378
5379         PR libstdc++/10106
5380         * configure.in: Add Solaris cross bits.
5381
5382 2003-05-21  Danny Smith  <dannysmith@users.sourceforge.net>
5383
5384         * libstdc++-v3/config/os/mingw32/os_defines.h
5385         (__GTHREAD_HIDE_WIN32API): Define to 1 by defualt.
5386         (NOMINMAX): Define.  Update copyright year.
5387
5388 2003-05-21  Paolo Carlini  <pcarlini@unitus.it>
5389
5390         * include/std/std_fstream.h (_M_set_buffer): Fix indentation.
5391
5392 2003-05-21  Jonathan Wakely  <redi@gcc.gnu.org>
5393
5394         * docs/html/faq/index.html: Fix typo.
5395         * docs/html/faq/index.txt: Regenerate.
5396
5397 2003-05-21  Jonathan Wakely  <redi@gcc.gnu.org>
5398
5399         * docs/html/test.html: Fix markup.
5400
5401 2003-05-21  Danny Smith  <dannysmith@users.sourceforge.net>
5402
5403         * libmath/stubs.c (hypot, hypotf, hypotl): Don't divide by
5404         zero.
5405         Update copyright year.
5406
5407 2003-05-20  Paolo Carlini  <pcarlini@unitus.it>
5408
5409         * testsuite/27_io/basic_filebuf/close/char/4.cc: Fix typo.
5410
5411 2003-05-20  Paolo Carlini  <pcarlini@unitus.it>
5412
5413         * testsuite/27_io/basic_filebuf/close/char/5.cc: New file,
5414         further testing that upon filebuf::close() 27.8.1.1,3 is enforced.
5415
5416 2003-05-20  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5417
5418         * include/bits/stl_alloc.h (__default_alloc_template::_S_chunk_alloc):
5419         Cast via void* to avoid -Wcast-align warnings.
5420         (__default_alloc_template::_S_refill): Likewise.
5421
5422 2003-05-20  Benjamin Kosnik  <bkoz@redhat.com>
5423
5424         * testsuite/README: Move to...
5425         * docs/html/test.html: ...here. Add documentation.
5426         * docs/html/install.html: Move testing bits out..
5427         * docs/html/documentation.html: Add separate testing link.
5428         * testsuite/performance: Add.
5429         * testsuite/performance/allocator.cc: New.
5430         * testsuite/performance/complex_norm.cc: New.
5431         * testsuite/performance/cout_insert_int.cc: New.
5432         * testsuite/performance/fstream_seek_write.cc: New.
5433         * testsuite/performance/ifstream_getline.cc: New.
5434         * testsuite/performance/map_create_fill.cc: New.
5435         * testsuite/performance/ofstream_insert_float.cc: New.
5436         * testsuite/performance/ofstream_insert_int.cc: New.
5437         * testsuite/performance/string_append.cc: New.
5438         * testsuite/lib/libstdc++-v3-dg.exp (v3-compute-tests): Filter
5439         performance tests.
5440
5441 2003-05-20  Gabriel Dos Reis <gdr@integrable-solutions.net>
5442
5443         PR libstdc++/10689
5444         * include/std/std_complex.h (pow): Tidy.
5445
5446 2003-05-19  Paolo Carlini  <pcarlini@unitus.it>
5447
5448         * testsuite/27_io/basic_filebuf/close/char/4.cc: New file, testing
5449         that upon filebuf::close() 27.8.1.1,3 is enforced.
5450
5451 2003-05-15  Loren J. Rittle  <ljrittle@acm.org>
5452
5453         * testsuite/thread/pthread4.cc: Further tweak to avoid fini race.
5454
5455 2003-05-15  Paolo Carlini  <pcarlini@unitus.it>
5456             Nathan Myers  <ncm@cantrip.org>
5457
5458         * include/bits/fstream.tcc (_M_overflow): Rewrote to call
5459         _M_convert_to_external only once (_M_buf_size is now the size of
5460         the put area + 1 for the overflow char of a full area); call
5461         _M_set_buffer instead of _M_set_indeterminate.
5462         (setbuf): Don't accept a buffer smaller than 2 chars.
5463         (_M_underflow): Refill _M_buf_size - 1 chars; call _M_set_buffer,
5464         instead of _M_set_determinate.
5465         (open): Call _M_set_buffer, instead of _M_set_indeterminate.
5466         (seekoff): Likewise.
5467         * include/ext/stdio_filebuf.h (stdio_filebuf(int,
5468         std::ios_base::openmode, bool, size_t),
5469         stdio_filebuf(std::__c_file*, std::ios_base::openmode, size_t):
5470         Likewise.
5471         * include/std/std_fstream.h (_M_set_indeterminate): Remove.
5472         (_M_set_determinate): Rename as _M_set_buffer, _M_buf_size ->
5473         _M_buf_size - 1.
5474         * include/std/std_streambuf.h: Tweak _M_out_lim comment.
5475         * testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Tweak, taking
5476         into account that, for _M_buf_size == BUFSIZ == 8192, the size of
5477         the put area is now BUFSIZ - 1.
5478         * testsuite/ext/stdio_filebuf_2.cc: Tweak, taking into account
5479         that now the smallest _M_buf_size is 2 (still fails, for the same
5480         reason, with 3.2.3)
5481
5482 2003-05-14  Loren J. Rittle  <ljrittle@acm.org>
5483
5484         * testsuite/thread/pthread4.cc: Tweak test.
5485
5486 2003-05-13  Benjamin Kosnik  <bkoz@redhat.com>
5487
5488         * testsuite/27_io/ios_base/cons/copy_neg.cc: Remove
5489         excess errors dg marker, use dg-errors instead.
5490         * testsuite/27_io/ios_base/cons/assign_neg.cc: Same.
5491         * testsuite/20_util/auto_ptr_neg.cc: Same.
5492
5493 2003-05-12  Benjamin Kosnik  <bkoz@redhat.com>
5494
5495         * include/std/std_fstream.h (basic_filebuf::_M_codecvt): Add
5496         cached member.
5497         * include/bits/fstream.tcc (basic_filebuf::basic_filebuf):
5498         Initialize _M_codecvt.
5499         (basic_filebuf::imbue): Same.
5500         (basic_filebuf::showmanyc): Use it.
5501         (basic_filebuf::underflow): Use it.
5502         (basic_filebuf::_M_convert_to_external): Use it.
5503         (basic_filebuf::seekoff): Use it.
5504         (basic_filebuf::imbue): Use it, tweaks.
5505         * include/bits/localefwd.h (__check_facet): New.
5506         * include/bits/locale_classes.h: Tweaks.
5507         * include/bits/locale_facets.tcc: Tweaks.
5508         * include/bits/basic_ios.h (basic_ios::_M_check_facet): Remove.
5509         _M_fctype to _M_ctype, _M_fnumput to _M_num_put, _M_fnumget to
5510         _M_num_get. Change _M_check_facet to __check_facet. Tweaks.
5511         * include/bits/basic_ios.tcc: Same.
5512         * include/bits/istream.tcc: Same.
5513         * include/bits/ostream.tcc: Same.
5514         * include/std/std_streambuf.h: Same.
5515         * testsuite/27_io/basic_filebuf/imbue/char/2.cc: New.
5516         * testsuite/27_io/basic_filebuf/imbue/char/3.cc: New.
5517         * testsuite/27_io/basic_filebuf/imbue/wchar_t/1.cc: New.
5518         * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: New.
5519         * testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: New.
5520         * testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: New.
5521
5522 2003-05-12  Paolo Carlini  <pcarlini@unitus.it>
5523
5524         * testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Remove
5525         unnecessary includes and unused string literals.
5526         * testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Likewise.
5527         * testsuite/27_io/basic_filebuf/sputc/char/1.cc: Likewise.
5528         * testsuite/27_io/basic_filebuf/sputn/char/1.cc: Likewise.
5529         * testsuite/27_io/basic_filebuf/sungetc/char/1.cc: Likewise.
5530
5531 2003-05-12  Benjamin Kosnik  <bkoz@redhat.com>
5532
5533         * include/bits/fstream.tcc (_M_overflow): Remove unbuffered bits.
5534
5535 2003-05-12  Paolo Carlini  <pcarlini@unitus.it>
5536
5537         * include/std/std_fstream.h (_M_convert_to_external): Change
5538         to return bool, take two less streamsize parameters.
5539         * include/bits/fstream.tcc (_M_convert_to_external): Tweak
5540         consistently definition.
5541         (_M_overflow): Adjust call points.
5542
5543 2003-05-12  Benjamin Kosnik  <bkoz@redhat.com>
5544
5545         * testsuite/27_io/basic_filebuf/underflow/10096.cc: Add weak bits.
5546
5547 2003-05-11  Phil Edwards  <pme@gcc.gnu.org>
5548
5549         * testsuite/Makefile.am:  Properly quote /both/ LD_RUN_PATHs.
5550         * testsuite/Makefile.in:  Regenerate.
5551
5552 2003-05-11  Phil Edwards  <pme@gcc.gnu.org>
5553
5554         * testsuite/Makefile.am:  Properly quote LD_RUN_PATH.
5555         * testsuite/Makefile.in:  Regenerate.
5556
5557 2003-05-11  Gabriel Dos Reis <gdr@integrable-solutions.net>
5558
5559         PR libstdc++/3181
5560         * include/c_std/std_cmath.h: #include <bits/cpp_type_traits.h>
5561         (acos): Handle integer argument.
5562         (asin): Likewise.
5563         (atan): Likewise.
5564         (atan2): Likewise.
5565         (ceil): Likewise.
5566         (cos): Likewise.
5567         (cosh): Likewise.
5568         (exp): Likewise.
5569         (fabs): Likewise.
5570         (floor): Likewise.
5571         (frexp): Likewise.
5572         (ldexp): Likewise.
5573         (log): Likewise.
5574         (log10): Likewise.
5575         (sin): Likewise.
5576         (sinh): Likewise.
5577         (sqrt): Likewise.
5578         (tan): Likewise.
5579         (tanh): Likewise.
5580         * include/bits/cpp_type_traits.h (__are_same<>): New traits.
5581         (__enable_if): Likewise.
5582         * testsuite/26_numerics/cmath/overloads.C: New test.
5583
5584 2003-05-10  Petur Runolfsson  <peturr02@ru.is>
5585
5586         PR libstdc++/9027
5587         PR libstdc++/9520
5588         PR libstdc++/10096
5589         * include/bits/fstream.tcc (basic_file::_M_underflow):  Add generic
5590         implementation, based on old wchar_t specialization, add support
5591         for codecvt::in() return value of codecvt_base::noconv, remove
5592         _M_file.sys_ungetc() call.
5593         * include/std/std_fstream.h (basic_file::underflow,
5594         basic_file::uflow, basic_file::_M_underflow):  Remove
5595         specialization declarations, call _M_underflow from generic versions
5596         of underflow and uflow.
5597         * src/fstream.cc (basic_file::underflow, basic_file::uflow,
5598         basic_file::_M_underflow):  Remove specializations.
5599         * src/Makefile.am (sources):  Remove fstream.cc.
5600         * src/Makefile.in:  Regenerated.
5601         * testsuite/27_io/basic_filebuf/underflow/10096.cc:  New test.
5602         * testsuite/27_io/basic_filebuf/underflow/char/1.cc:  New test.
5603         * testsuite/27_io/basic_filebuf/underflow/char/9027.cc:  New test.
5604         * testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc:  New test.
5605
5606 2003-05-10  Benjamin Kosnik  <bkoz@redhat.com>
5607
5608         * include/ext/stdio_filebuf.h (__stdio_filebuf): Remove stack
5609         buffer.
5610         * config/io/basic_file_stdio.h (__basic_file::xsgetn): Remove
5611         unbuffered bits.
5612         (__basic_file::xsputn): Same.
5613         (__basic_file::seekoff): Same.
5614         (__basic_file::seekpos): Same.
5615         (__basic_file::showmanyc): Same.
5616         * config/io/basic_file_stdio.cc: Same.
5617         * include/std/std_fstream.h: Same.
5618         * include/bits/fstream.tcc: Same.
5619         * src/fstream.cc: Same.
5620         * testsuite/27_io/basic_filebuf/sgetn/char/1.cc (test05): Tidy.
5621
5622 2003-05-10  Petur Runolfsson  <peturr02@ru.is>
5623
5624         PR libstdc++/9520
5625         PR libstdc++/9661
5626         PR libstdc++/9662
5627         * include/ext/stdio_sync_filebuf.h:  New file.
5628         (basic_stdiobuf):  New.
5629         * include/Makefile.am (ext_headers): Add ext/stdio_sync_filebuf.h
5630         * include/Makefile.in: Regenerate.
5631         * include/bits/ios_base.h (Init::_S_create_buffers,
5632         Init::_S_destroy_buffers):  Remove declarations.
5633         * src/globals.cc (buf_cout_sync, buf_cin_sync, buf_cerr_sync,
5634         buf_wcout_sync, buf_wcin_sync, buf_wcerr_sync):  Define.
5635         * src/ios.cc (Init::_S_create_buffers,
5636         Init::_S_destroy_buffers):  Remove.
5637         (Init::Init):  Create and use syncronized buffers.
5638         (ios_base::sync_with_stdio):  Destroy syncronized buffers,
5639         create and install unsyncronized buffers.
5640         * testsuite/27_io/objects/char/10.cc:  New test.
5641         * testsuite/27_io/objects/char/9.cc:  New test.
5642         * testsuite/27_io/objects/char/9661-1.cc:  New test.
5643         * testsuite/27_io/objects/char/9661-2_xin.cc:  New test.
5644         * testsuite/27_io/objects/char/9661-2_xin.in:  New.
5645         * testsuite/27_io/objects/wchar_t/1.cc:  New test.
5646         * testsuite/27_io/objects/wchar_t/10.cc:  New test.
5647         * testsuite/27_io/objects/wchar_t/2.cc:  New test.
5648         * testsuite/27_io/objects/wchar_t/2523-1_xin.cc:  New test.
5649         * testsuite/27_io/objects/wchar_t/2523-1_xin.in:  New.
5650         * testsuite/27_io/objects/wchar_t/2523-2_xin.cc:  New test.
5651         * testsuite/27_io/objects/wchar_t/2523-2_xin.in:  New.
5652         * testsuite/27_io/objects/wchar_t/3045.cc:  New test.
5653         * testsuite/27_io/objects/wchar_t/3647.cc:  New test.
5654         * testsuite/27_io/objects/wchar_t/3_xin.cc:  New test.
5655         * testsuite/27_io/objects/wchar_t/3_xin.in:  New.
5656         * testsuite/27_io/objects/wchar_t/4_xin.cc:  New test.
5657         * testsuite/27_io/objects/wchar_t/4_xin.in:  New.
5658         * testsuite/27_io/objects/wchar_t/5.cc:  New test.
5659         * testsuite/27_io/objects/wchar_t/5268.cc:  New test.
5660         * testsuite/27_io/objects/wchar_t/5280_xin.cc:  New test.
5661         * testsuite/27_io/objects/wchar_t/5280_xin.in:  New.
5662         * testsuite/27_io/objects/wchar_t/6.cc:  New test.
5663         * testsuite/27_io/objects/wchar_t/6548_xin.cc:  New test.
5664         * testsuite/27_io/objects/wchar_t/6548_xin.in:  New.
5665         * testsuite/27_io/objects/wchar_t/6648-1_xin.cc:  New test.
5666         * testsuite/27_io/objects/wchar_t/6648-1_xin.in:  New.
5667         * testsuite/27_io/objects/wchar_t/6648-2_xin.cc:  New test.
5668         * testsuite/27_io/objects/wchar_t/6648-2_xin.in:  New.
5669         * testsuite/27_io/objects/wchar_t/7.cc:  New test.
5670         * testsuite/27_io/objects/wchar_t/7744_xin.cc:  New test.
5671         * testsuite/27_io/objects/wchar_t/7744_xin.in:  New.
5672         * testsuite/27_io/objects/wchar_t/8.cc:  New test.
5673         * testsuite/27_io/objects/wchar_t/9_xin.cc:  New test.
5674         * testsuite/27_io/objects/wchar_t/9_xin.in:  New.
5675         * testsuite/27_io/objects/wchar_t/9520.cc:  New test.
5676         * testsuite/27_io/objects/wchar_t/9661-1.cc:  New test.
5677         * testsuite/27_io/objects/wchar_t/9661-2_xin.cc:  New test.
5678         * testsuite/27_io/objects/wchar_t/9661-2_xin.in:  New.
5679         * testsuite/27_io/objects/wchar_t/9662.cc:  New test.
5680         * testsuite/ext/stdiobuf_char.cc:  New test.
5681         * testsuite/ext/stdiobuf_wchar_t.cc:  New test.
5682
5683 2003-05-10  Paolo Carlini  <pcarlini@unitus.it>
5684
5685         * testsuite/27_io/basic_filebuf/close/char/3.cc: Remove
5686         unnecessary includes and unused string literals.
5687         * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
5688
5689 2003-05-08  Paolo Carlini  <pcarlini@unitus.it>
5690
5691         * include/std/std_streambuf.h (setg, setp): Don't touch _M_mode.
5692
5693 2003-05-07  Richard Henderson  <rth@redhat.com>
5694
5695         PR c++/10570
5696         * libsupc++/eh_catch.cc (__cxa_begin_catch): Handle foreign exceptions.
5697         (__cxa_end_catch): Likewise.
5698         * libsupc++/eh_throw.cc (__cxa_rethrow): Likewise.  Use
5699         _Unwind_Resume_or_Rethrow.
5700         * libsupc++/eh_personality.cc (empty_exception_spec): New.
5701         (PERSONALITY_FUNCTION): Don't ignore terminate or catch-all
5702         for _UA_FORCE_UNWIND.  Honor empty filter spec for foreign
5703         exceptions.  Don't push terminate/unexpected to cxa functions.
5704         (__cxa_call_unexpected): Remove foreign exception fixmes.
5705
5706 2003-05-07  Benjamin Kosnik  <bkoz@redhat.com>
5707
5708         * testsuite/27_io/ios_base/cons: New.
5709         * testsuite/27_io/ios_base/cons/assign_neg.cc: New.
5710         * testsuite/27_io/ios_base/cons/copy_neg.cc: New.
5711
5712 2003-05-07  Paolo Carlini  <pcarlini@unitus.it>
5713
5714         * include/std/std_fstream.h (_M_is_indeterminate): Remove.
5715         * src/fstream.cc
5716         (basic_filebuf<char/wchar_t>::_M_underflow): Simplify: either
5717         there is no buffer or __testget == !__testinit.
5718
5719         * src/fstream.cc
5720         (basic_filebuf<char/wchar_t>::_M_underflow): _M_set_determinate()
5721         automatically sets, if appropriate, _M_out_cur == _M_in_cur.
5722
5723         * include/std/std_fstream.h (_M_destroy_pback): Don't set
5724         unnecessarily _M_pback_cur_save and _M_pback_end_save.
5725
5726         * include/std/std_fstream.h (_M_set_determinate): Minor tweak.
5727
5728         * include/std/std_sstream.h (_M_sync): Minor tweak.
5729
5730         * include/bits/fstream.tcc (close): No need to call
5731         _M_destroy_pback, setting _M_pback_init to false suffices
5732         to clean up.
5733
5734 2003-05-06  Benjamin Kosnik  <bkoz@redhat.com>
5735
5736         * include/bits/stl_algo.h: Enums as _S_.
5737         * include/bits/stl_tree.h: Same.
5738         * include/bits/stl_bvector.h: Same.
5739         * include/bits/ios_base.h: Same.
5740         * include/bits/stl_alloc.h: Same.
5741         * include/ext/stl_hashtable.h: Same.
5742         * src/ios.cc: And here.
5743
5744         * include/std/std_sstream.h: Replace _M_really_sync to _M_sync.
5745         * include/bits/sstream.tcc: Same.
5746
5747         * include/bits/basic_ios.h: Correct spacing for '< ctype'.
5748
5749         * include/bits/locale_facets.tcc: Replace __temp to __tmp.
5750
5751         * include/bits/locale_facets.h (__num_base): Remove protected.
5752         Use _S_[io]* names for enumerations.
5753         (_S_format_int): Remove.
5754         * include/bits/locale_facets.tcc: Same.
5755         * src/locale.cc: Same.
5756
5757         * include/std/std_sstream.h (stringbuf::str): Tweak formatting.
5758
5759 2003-05-06  Phil Edwards  <pme@gcc.gnu.org>
5760
5761         * docs/html/faq/index.html (3.10):  Add note about mips atomicity.h.
5762         * docs/html/faq/index.txt:  Regenerated.
5763
5764 2003-05-06  Michael Ritzert <Ritzert@t-online.de>
5765             Matt Kraai <kraai@alumni.cmu.edu>
5766
5767         * include/ext/stl_rope.h (_Rope_RopeRep<>::_M_c_string_lock): Tweak.
5768         And retweak.
5769
5770 2003-05-06  Richard Sandiford  <rsandifo@redhat.com>
5771
5772         * configure.target (mips*): Use the generic atomicity.h by default.
5773
5774 2003-05-05  Loren J. Rittle  <ljrittle@acm.org>
5775             (Inspired by an alternate patch from Danny Smith.)
5776
5777         * include/bits/stl_threads.h (_Atomic_swap): Kill it...
5778         (_Swap_lock_struct<>): ...and the horse it rode in on.
5779         * src/globals.cc (_Swap_lock_struct<>): Likewise.
5780         * include/ext/stl_rope.h (_Rope_RopeRep<>::_M_c_string_lock): New
5781         member to support...
5782         * include/ext/ropeimpl.h (rope<>::c_str): Follow *all* memory
5783         visibility rules related to POSIX threads.
5784         * testsuite/thread/pthread7-rope.cc: New test.
5785
5786 2003-05-04  Paolo Carlini  <pcarlini@unitus.it>
5787
5788         * testsuite/21_strings/basic_string/find/char/3.cc: New
5789         file, testing basic_string<char>::find_first_not_of.
5790         * testsuite/21_strings/basic_string/find/wchar_t/3.cc:
5791         Likewise for basic_string<wchar_t>.
5792
5793 2003-05-03  Loren J. Rittle  <ljrittle@acm.org>
5794
5795         * testsuite/thread/pthread1.cc: Remove special case for FreeBSD.
5796
5797 2003-05-02  Benjamin Kosnik  <bkoz@redhat.com>
5798
5799         * include/Makefile.am (CLEANFILES): Remove PCH files in target
5800         directory.
5801         * include/Makefile.in: Regenerate.
5802
5803 2003-05-02  Paolo Carlini  <pcarlini@unitus.it>
5804
5805         * include/std/std_sstream.h (str()): Tidy.
5806
5807 2003-05-02  Nathan Myers  <ncm@cantrip.org>
5808             Paolo Carlini  <pcarlini@unitus.it>
5809
5810         * include/bits/streambuf.tcc (__copy_streambufs): Rewrote.
5811
5812 2003-05-02  Jonathan Wakely  <redi@gcc.gnu.org>
5813
5814         * include/bits/basic_string.h (swap): Remove redundant template
5815         parameters from declaration of non-template member function.
5816
5817 2003-05-01  Phil Edwards  <pme@gcc.gnu.org>
5818
5819         * acconfig.h (_GLIBCPP_USE_NLS):  New symbol.
5820         * configure.in:  Move libintl.h header test...
5821         * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE):  ...to here.  Gather all
5822         the NLS-related test results into one symbol.
5823         * src/functexcept.cc:  Use it here.
5824         * aclocal.m4, config.h.in, configure:  Regenerated.
5825
5826 2003-05-01  Paolo Carlini  <pcarlini@unitus.it>
5827
5828         * include/bits/sstream.tcc (overflow): Instead of calling
5829         str(), then _M_string.reserve, thus copying the contents
5830         of the current buffer two times, just copy the latter in
5831         a temporary, then use the 'swap trick'.
5832
5833 2003-05-01  Paolo Carlini  <pcarlini@unitus.it>
5834
5835         * include/std/std_sstream.h (str()): Revert the best of the
5836         previous 'improvement', incorrect due to the COW nature of
5837         v3 basic_string; simplify.
5838
5839 2003-05-01  Paolo Carlini  <pcarlini@unitus.it>
5840
5841         * include/bits/streambuf.tcc (__copy_streambufs): Adjust the
5842         type of __avail to ptrdiff_t to avoid signed-unsigned warning.
5843
5844 2003-05-01  Benjamin Kosnik  <bkoz@redhat.com>
5845
5846         * testsuite/abi_check.cc (check_version): Update known versions.
5847         Check added symbols for version_name != base version. Add missing
5848         symbols to incompatible list.
5849
5850 2003-05-01  Benjamin Kosnik  <bkoz@redhat.com>
5851
5852         * acinclude.m4 (GLIBCPP_EXPORT_FLAGS): Remove -Winline.
5853         * aclocal.m4: Regenerated.
5854         * configure: Regenerated.
5855
5856 2003-05-01  Paolo Carlini  <pcarlini@unitus.it>
5857
5858         * include/bits/streambuf.tcc (basic_streambuf::xsgetn):
5859         Const-ify some variables.
5860         (basic_streambuf::xsputn): Likewise; change the type of some
5861         variables to size_t.
5862         (__copy_streambufs): Change some variables to size_t.
5863
5864 2003-05-01  Paolo Carlini  <pcarlini@unitus.it>
5865
5866         * include/std/std_sstream.h (str()): Avoid constructing
5867         a basic_string temporary not only when it would turn out
5868         to be zero-sized but also when identical to the current
5869         _M_string buffer.
5870
5871 2003-05-01  Paolo Carlini  <pcarlini@unitus.it>
5872
5873         * include/ext/stdio_filebuf.h
5874         (stdio_filebuf(int, std::ios_base::openmode, bool, size_t),
5875         stdio_filebuf(std::__c_file*, std::ios_base::openmode, size_t)):
5876         Shorten a bit (-10 lines) by factoring out some code.
5877
5878 2003-04-30  Phil Edwards  <pme@gcc.gnu.org>
5879
5880         * acinclude.m4:  Add bit missing from previous patch.
5881         * aclocal.m4, configure:  Regenerated.
5882
5883 2003-04-29  Phil Edwards  <pme@gcc.gnu.org>
5884
5885         * docs/doxygen/mainpage.html:  Bring up to date.
5886         * docs/doxygen/run_doxygen:  Cosmetic tweaks.  Work around a bug
5887         in Doxygen.
5888         * docs/doxygen/user.cfg.in:  Scanning the precompiled headers
5889         breaks everything.  Don't scan them.
5890         * docs/html/documentation.html:  Point to "Write after approval"
5891         notes.
5892
5893 2003-04-29  Phil Edwards  <pme@gcc.gnu.org>
5894
5895         * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE):  Search for gettext outside
5896         of libc if message translations are being used.  Fix info text in
5897         xieee_1003.1-2001 case.
5898         * aclocal.m4, configure:  Regenerate.
5899
5900 2003-04-29 Joel Sherrill  <joel.sherrill@OARcorp.com>
5901            Loren J. Rittle <ljrittle@acm.org>
5902            Martin v. Loewis  <martin@v.loewis.de>
5903
5904         * config/cpu/i386/atomicity.h: New file.
5905
5906 2003-04-29  Paolo Carlini  <pcarlini@unitus.it>
5907
5908         * include/bits/fstream.tcc (open): Change to single return.
5909
5910 2003-04-29  Paolo Carlini  <pcarlini@unitus.it>
5911
5912         * include/std/std_sstream.h (underflow): Change to single return.
5913
5914 2003-04-28  Paolo Carlini  <pcarlini@unitus.it>
5915
5916         * include/std/std_streambuf.h (_M_buf): is currently
5917         used only for basic_filebuf, therefore move it there.
5918         (basic_streambuf(), ~basic_streambuf()): Adjust.
5919         * include/std/std_fstream.h (_M_buf): Moved here.
5920         * include/std/std_sstream.h (setbuf): Don't set _M_buf,
5921         is actually redundant for basic_stringbuf.
5922         (_M_really_sync): Likewise.
5923         * include/bits/fstream.tcc (basic_filebuf()): Adjust.
5924         * include/bits/sstream.tcc (seekoff): Adjust.
5925
5926 2003-04-28  Benjamin Kosnik  <bkoz@redhat.com>
5927
5928         * src/localename.cc: Standardize exception strings.
5929         * src/locale.cc: Same.
5930         * src/ios.cc: Same.
5931         * include/bits/basic_string.tcc: Same.
5932         * include/bits/basic_ios.tcc: Same.
5933         * include/std/std_bitset.h: Same.
5934         * include/ext/ropeimpl.h: Same.
5935         * include/bits/stl_vector.h: Same.
5936         * include/bits/stl_deque.h: Same.
5937         * include/bits/stl_bvector.h: Same.
5938         * config/locale/generic/c_locale.cc: Same.
5939         * config/locale/gnu/c_locale.cc: Same.
5940         * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Same.
5941
5942         * testsuite/testsuite_hooks.cc (__gnu_cxx_test): Modify.
5943
5944 2003-04-28  Paolo Carlini  <pcarlini@unitus.it>
5945
5946         * include/std/std_streambuf.h (_M_buf_size): is currently
5947         used only for basic_filebuf, therefore move it there.
5948         (basic_streambuf(), ~basic_streambuf()): Adjust.
5949         * include/std/std_fstream.h (_M_buf_size): Moved here.
5950         * include/bits/fstream.tcc (basic_filebuf()): Adjust.
5951
5952 2003-04-28  Paolo Carlini  <pcarlini@unitus.it>
5953
5954         * include/bits/streambuf.tcc (__copy_streambufs): Don't use
5955         _M_buf_size (synced input is now correctly dealt with
5956         elsewhere); when the output buffer is full don't fall back
5957         to a snextc-sputc loop, call overflow instead.
5958
5959 2003-04-28  Paolo Carlini  <pcarlini@unitus.it>
5960
5961         * include/bits/sstream.tcc (pbackfail): Shorten a bit (6 lines)
5962         the innermost 'if' by factoring out some code.
5963
5964 2003-04-28  Phil Edwards  <pme@gcc.gnu.org>
5965
5966         * configure.in:  Test for libintl.h.
5967         * include/bits/c++config:  Define __N for everybody.
5968         * include/bits/basic_string.h, include/bits/stl_bvector.h,
5969         include/bits/stl_deque.h, include/bits/stl_vector.h,
5970         include/std/std_bitset.h:  Wrap all __throw* text with __N.
5971         * po/Makefile.am (pot):  New rule, mostly working.
5972         * src/functexcept.cc:  Call gettext on all __throw* arguments when
5973         -fexceptions is in effect.
5974         * po/Makefile.in, config.h.in, configure:  Regenerate.
5975
5976 2003-04-28  Petur Runolfsson  <peturr02@ru.is>
5977
5978         PR libstdc++/9523
5979         * include/bits/ios_base.h (Init::_S_ios_create,
5980         Init::_S_ios_destroy):  Remove declarations.
5981         (Init::_S_create_buffers,
5982         Init::_S_destroy_buffers):  Declare
5983         * src/ios.cc (Init::_S_ios_create):  Remove
5984         (Init::_S_create_buffers):  Create buffers and add to streams.
5985         (Init::_S_ios_destroy):  Rename to...
5986         (Init::_S_destroy_buffers):  this.
5987         (Init::Init):  Only construct streams once.
5988         (Init::~Init):  Flush streams, don't destroy them.
5989         (ios_base::sync_with_stdio):  Don't destroy streams, only buffers.
5990         * testsuite/27_io/ios_base/sync_with_stdio/9523.cc:  New test.
5991         * testsuite/27_io/objects/char/5.cc:  New test.
5992         * testsuite/27_io/objects/char/5268.cc:  Avoid undefined behavior.
5993         * testsuite/27_io/objects/char/6.cc:  New test.
5994         * testsuite/27_io/objects/char/7.cc:  New test.
5995
5996 2003-04-28  Benjamin Kosnik  <bkoz@redhat.com>
5997
5998         * testsuite/27_io/objects/char/8.cc:  New test.
5999
6000 2003-04-28  Benjamin Kosnik  <bkoz@redhat.com>
6001
6002         * testsuite/22_locale/codecvt/unicode/char.cc: Remove bom usage.
6003         * testsuite/22_locale/codecvt/unicode/wchar_t.cc: Same.
6004
6005 2003-04-27  Benjamin Kosnik  <bkoz@redhat.com>
6006
6007         * include/std/std_fstream.h (basic_filebuf): _M_pback_destroy to
6008         _M_destroy_pback. _M_pback_create to
6009         _M_create_pback. _M_underflow_common to
6010         _M_underflow. _M_really_overflow to _M_overflow.
6011         * include/bits/fstream.tcc: Same.
6012         * src/fstream.cc: Same.
6013         * include/std/std_streambuf.h (basic_streambuf): _M_in_cur_move to
6014         _M_move_in_cur.  _M_out_cur_move to _M_move_out_cur.
6015         * include/bits/streambuf.tcc: Same.
6016         * include/bits/fstream.tcc: Same.
6017         * include/bits/sstream.tcc: Same.
6018
6019 2003-04-27  Benjamin Kosnik  <bkoz@redhat.com>
6020
6021         * include/bits/locale_classes.h (locale::_Impl): Change _M_names
6022         from fixed size array.
6023         (locale): Change _S_categories as well.
6024         Formatting tweaks.
6025         * include/bits/locale_facets.tcc: Tweak.
6026         * config/locale/gnu/c_locale.cc: Assign _S_categories.
6027         * config/locale/generic/c_locale.cc: Same.
6028         * src/locale.cc: Tweak.
6029         * src/globals.cc: Change facet_name to name_vec, add names_c.
6030         * src/localename.cc: Use them.
6031         (locale::_Impl::~_Impl): Destroy _M_names.
6032         (locale::_Impl::_Impl): Create _M_names.
6033
6034 2003-04-27  Andreas Schwab  <schwab@suse.de>
6035
6036         * config/locale/ieee_1003.1-2001/codecvt_specializations.h
6037         (__enc_traits): Use __ibom and __ebom instead of ignoring them.
6038
6039 2003-04-27  Nathan Myers  <ncm@cantrip.org>
6040
6041         Move some basic_string members out of line because
6042         they are too big to reasonably be inline.
6043         * include/bits/basic_string.h
6044         (assign(const basic_string&, size_type, size_type),
6045         assign(const _CharT*, size_type),
6046         insert(size_type, const basic_string&, size_type, size_type),
6047         insert(size_type, const _CharT*, size_type),
6048         replace(size_type, size_type, const _CharT*, size_type)):
6049         Move from here to...
6050         * include/bits/basic_string.tcc: ...here.
6051
6052 2003-04-26  Paolo Carlini  <pcarlini@unitus.it>
6053
6054         * include/bits/fstream.tcc (pbackfail): Shorten a bit (10 lines)
6055         the innermost 'if' by factoring out some code.
6056
6057 2003-04-26  Paolo Carlini  <pcarlini@unitus.it>
6058
6059         * include/bits/streambuf.tcc (__copy_streambufs): Don't
6060         use in_avail(), simplify.
6061
6062 2003-04-26  Paolo Carlini  <pcarlini@unitus.it>
6063
6064         * include/std/std_sstream.h (setbuf): don't set _M_buf_size,
6065         in basic_stringbuf it's unused.
6066
6067         * include/std/std_sstream.h (underflow): consistently use
6068         _M_in_cur, not gptr().
6069
6070 2003-04-25  Ranjit Mathew  <rmathew@hotmail.com>
6071             Phil Edwards  <pme@gcc.gnu.org>
6072
6073         * testsuite_flags.in: Guard against the possibility
6074         of having "xgcc" as a part of a folder name in the
6075         path to the GCC build folder.
6076         * testsuite/Makefile.am: Likewise.
6077         * testsuite/Makefile.in: Regenerated.
6078
6079 2003-04-25  Benjamin Kosnik  <bkoz@redhat.com>
6080
6081         PR libstdc++/10132
6082         * include/std/std_fstream.h (basic_filebuf::is_open): Add throw()
6083         exception specifications.
6084         (basic_filebuf::close): Same.
6085         (basic_filebuf::_M_pback_destroy): Same.
6086         (basic_filebuf::_M_destroy_internal_buffer): Same.
6087         (basic_filebuf): Remove __res_type typedef.
6088         * src/fstream.cc: Same.
6089         * include/bits/fstream.tcc
6090         (basic_filebuf::_M_convert_to_external): Simplify.
6091         (basic_filebuf::seekoff): Use has_facet before use_facet.
6092         (basic_filebuf::close): Add exception specification of throw().
6093         * testsuite/27_io/basic_filebuf/cons: New.
6094         * testsuite/27_io/basic_filebuf/cons/wchar_t: New.
6095         * testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc: New.
6096         * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: New.
6097         * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: New.
6098
6099 2003-04-25  Benjamin Kosnik  <bkoz@redhat.com>
6100
6101         * include/bits/locale_classes.h
6102         (locale::_S_extra_categories_size): Remove.
6103         * src/locale.cc: Remove _S_extra_categories_size.
6104         * src/localename.cc: Same.
6105         * config/locale/gnu/c_locale.cc: Same.
6106         * config/locale/generic/c_locale.cc: Same.
6107
6108 2003-04-24  Richard Sandiford  <rsandifo@redhat.com>
6109
6110         * src/localename.cc (__gnu_cxx::facet_vec): Correct types.
6111
6112 2003-04-24  Phil Edwards  <pme@gcc.gnu.org>
6113
6114         * docs/html/17_intro/howto.html:  Update some links.
6115         * docs/html/18_support/howto.html:  Link doxygen numeric_limits notes.
6116         * docs/html/27_io/howto.html:  Link doxygen stdio_filebuf notes.
6117         * docs/html/ext/howto.html:  Link to demangler notes and API.
6118         * docs/html/faq/index.html:  Remove trailing whitespace.
6119         (1.4, 2.4, 3.8, 4.1):  Bring up to date.
6120         (5.6):  Change to a bulleted list.
6121
6122         * docs/html/faq/index.txt, docs/html/documentation.html,
6123         docs/html/17_intro/porting.html:  Regenerate.
6124
6125 2003-04-23  Paolo Carlini  <pcarlini@unitus.it>
6126
6127         * testsuite/27_io/basic_filebuf/3.cc: _S_pback_size now
6128         belongs to basic_filebuf.
6129         * testsuite/27_io/basic_fstream/3.cc: Likewise.
6130         * testsuite/27_io/basic_ifstream/3.cc: Likewise.
6131         * testsuite/27_io/basic_ios/3.cc: Remove _S_pback_size
6132         instantiation (now belongs to basic_filebuf).
6133         * testsuite/27_io/basic_iostream/3.cc: Likewise.
6134         * testsuite/27_io/basic_istream/3.cc: Likewise.
6135         * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc:
6136         _S_pback_size now belongs to basic_filebuf.
6137         * testsuite/27_io/basic_istringstream/3.cc: Remove _S_pback_size
6138         instantiation (now belongs to basic_filebuf).
6139         * testsuite/27_io/basic_ofstream/3.cc: _S_pback_size now
6140         belongs to basic_filebuf.
6141         * testsuite/27_io/basic_ostream/3.cc: Remove _S_pback_size
6142         instantiation (now belongs to basic_filebuf).
6143         * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc:
6144         _S_pback_size now belongs to basic_filebuf.
6145         * testsuite/27_io/basic_ostringstream/3.cc: Remove _S_pback_size
6146         instantiation (now belongs to basic_filebuf).
6147         * testsuite/27_io/basic_streambuf/3.cc: _S_pback_size now belongs
6148         to basic_filebuf.
6149         * testsuite/27_io/basic_stringbuf/3.cc: Remove _S_pback_size
6150         instantiation (now belongs to basic_filebuf).
6151         * testsuite/27_io/basic_stringstream/3.cc: Likewise.
6152
6153 2003-04-23  Benjamin Kosnik  <bkoz@redhat.com>
6154
6155         * configure.in: Move GLIBCPP_CHECK_PCH before native/cross conditions.
6156         * configure: Regenerated.
6157
6158 2003-04-23  Benjamin Kosnik  <bkoz@redhat.com>
6159
6160         * config/locale/generic/c_locale.h (__convert_from_v): Use
6161         attribute unused.
6162
6163 2003-04-23  Phil Edwards  <pme@gcc.gnu.org>
6164
6165         * docs/html/ext/howto.html ('LWG Issues'):  Add issue 60, partial
6166         implementation only.
6167         * include/bits/istream.tcc (putback, unget, sync, tellg, seekg):
6168         Comment and change to comply with DR 60 and the effect on gcount().
6169         * include/std/std_istream.h:  Update comments.
6170         * testsuite/27_io/basic_istream/putback/char/1.cc (test01):  Add
6171         comments about reasons for tests.  Test sync() against gcount().
6172         * testsuite/27_io/basic_istream/seekg/char/2.cc:  New file, test
6173         for effect on gcount().
6174         * testsuite/27_io/basic_istream/tellg/char/2.cc:  New file, test
6175         for effect on gcount().
6176
6177 2003-04-22  Loren J. Rittle  <ljrittle@acm.org>
6178
6179         * testsuite/27_io/basic_filebuf/close/char/9964.cc (test_07):
6180         Adjust timing.
6181
6182 2003-04-22  Paolo Carlini  <pcarlini@unitus.it>
6183
6184         * include/std/std_streambuf.h (_S_pback_size, _M_pback,
6185         _M_pback_cur_save, _M_pback_end_save, _M_pback_init,
6186         _M_pback_create(), _M_pback_destroy()): Move to basic_filebuf.
6187         (basic_streambuf::basic_streambuf()): Adjust.
6188         * include/std/std_fstream.h (_S_pback_size, _M_pback,
6189         _M_pback_cur_save, _M_pback_end_save, _M_pback_init,
6190         _M_pback_create(), _M_pback_destroy()): Moved here
6191         from basic_streambuf.
6192         * include/bits/fstream.tcc (basic_filebuf::basic_filebuf()):
6193         Adjust.
6194         (basic_filebuf::_S_pback_size): Add declaration.
6195         * include/bits/streambuf.tcc (basic_streambuf::_S_pback_size):
6196         Remove declaration.
6197
6198 2003-04-21  Paolo Carlini  <pcarlini@unitus.it>
6199
6200         Consistently use _M_in_beg instead of eback(), _M_in_cur
6201         instead of gptr(), and so on.
6202         * include/bits/fstream.tcc (pbackfail, imbue): Here.
6203         * include/bits/sstream.tcc (pbackfail, seekoff, seekpos): Ditto.
6204         * include/bits/streambuf.tcc (sbumpc, sputbackc,
6205         __copy_streambufs): Ditto.
6206         * include/std/std_streambuf.h (sgetc): Ditto.
6207
6208 2003-04-21  Paolo Carlini  <pcarlini@unitus.it>
6209
6210         * include/bits/sstream.tcc (pbackfail, overflow):
6211         Formatting fixes.
6212
6213 2003-04-21  Paolo Carlini  <pcarlini@unitus.it>
6214
6215         * include/std/std_streambuf.h (uflow()): It's used only by
6216         basic_stringbuf (i.e., basic_filebuf provide its own uflow()),
6217         therefore do not consider the _M_buf_unified == true case.
6218
6219         * include/std/std_streambuf.h (sgetc()): Restore __ret variable.
6220
6221 2003-04-20  Paolo Carlini  <pcarlini@unitus.it>
6222
6223         * docs/html/ext/howto.html ('LWG Issues'):
6224         Add issues 19, 90, 171, 231, 271.
6225
6226 2003-04-20  Paolo Carlini  <pcarlini@unitus.it>
6227
6228         * include/bits/sstream.tcc (pbackfail): Remove redundant
6229         NULL pointer check from test involving _M_in_*.
6230         (overflow, seekoff, seekpos): Const qualify bool variables.
6231         * include/std/std_sstream.h (underflow): Remove redundant
6232         NULL pointer check from test involving _M_in_*.
6233         (_M_really_sync): Const qualify bool variables.
6234         * src/fstream.cc (_M_underflow_common): Remove redundant
6235         NULL pointer check from test involving _M_in_*, const qualify
6236         bool variables.
6237
6238         * include/std/std_streambuf.h (sgetc): Remove redundant
6239         variable.
6240
6241 2003-04-18  Paolo Carlini  <pcarlini@unitus.it>
6242
6243         According to 5.9 para 2 (second bullet) for pointers p, q
6244         pointing to the same type, with  p == 0 and q == 0, (p < q)
6245         is false.
6246         * include/bits/fstream.tcc (close, overflow, _M_really_overflow,
6247         seekoff): Remove redundant NULL pointer checks from tests
6248         involving _M_out_* and _M_in_*, const qualify bool variables.
6249         (showmanyc, pbackfail, _M_convert_to_external, imbue): Const
6250         qualify bool variables.
6251         * include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc, sputc):
6252         Remove redundant NULL pointer checks from tests involving
6253         _M_out_* and _M_in_*, const qualify bool variables.
6254         * include/std/std_fstream.h (sync): Likewise.
6255         (_M_is_indeterminate): Const qualify bool variables.
6256         * include/std/std_streambuf.h (sgetc, uflow): Remove redundant
6257         NULL pointer checks from tests involving _M_out_* and _M_in_*,
6258         const qualify bool variables.
6259         (_M_in_cur_move, _M_out_cur_move, uflow): Const qualify bool
6260         variables.
6261
6262 2003-04-18  Loren J. Rittle  <ljrittle@acm.org>
6263
6264         * include/c_std/std_cmath.h (C99 FP capture): Only undefine said
6265         C99 FP macros, if actually captured.
6266
6267         * docs/html/17_intro/porting.texi (_GLIBCPP_USE_C99_CHECK): New macro.
6268         (_GLIBCPP_USE_C99_DYNAMIC): New macro.
6269         (_GLIBCPP_USE_C99_LONG_LONG_CHECK): New macro.
6270         (_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC): New macro.
6271         * config/os/bsd/freebsd/os_defines.h (_GLIBCPP_USE_C99_CHECK):
6272         New macro.
6273         (_GLIBCPP_USE_C99_DYNAMIC): New macro.
6274         (_GLIBCPP_USE_C99_LONG_LONG_CHECK): New macro.
6275         (_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC): New macro.
6276         * include/c_std/std_cstdlib.h: Use new macros.
6277         * include/c_std/std_cstdio.h: Use new macros.
6278         * include/c_std/std_cwchar.h: Use new macros.
6279
6280 2003-04-17  Benjamin Kosnik  <bkoz@redhat.com>
6281
6282         PR libstdc++/9555
6283         * include/bits/ostream.tcc: Catch all exceptions for formatted
6284         output, instead of std::exception and derivatives.
6285         * include/bits/istream.tcc: Same.
6286         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc:
6287         * testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc:
6288         * testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc:
6289         * testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc:
6290         * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
6291         * testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc:
6292         New.
6293
6294 2003-04-17  Phil Edwards  <pme@gcc.gnu.org>
6295
6296         * include/bits/c++config:  Minor cosmetic tweaks.
6297
6298 2003-04-17  Loren J. Rittle  <ljrittle@acm.org>
6299
6300         * testsuite_flags.in (PCHFLAGS): Find PCH in new home.
6301         * include/Makefile.am (pch_input): Find in ${target_builddir}.
6302         (pch_output): Rename to...
6303         (pch_output_builddir): ..this.  Find in ${target_builddir}.
6304         (pch_source): Tweak.
6305         (pch_build): Key off a built file.
6306         (pch_output rule): Rename to...
6307         (pch_input rule): ...this.  Produce ${pch_output_builddir}
6308         instead of ${pch_output}.
6309         (install-pch rule): Install ${pch_output_builddir}.
6310         * include/Makefile.in: Regenerated.
6311
6312 2003-04-17  Paolo Carlini  <pcarlini@unitus.it>
6313
6314         * include/std/std_streambuf.h (setp): _M_out_lim, being
6315         the end limit of used put area, is set equal to _M_out_beg.
6316
6317 2003-04-16  Benjamin Kosnik  <bkoz@redhat.com>
6318
6319         * acinclude.m4 (GLIBCPP_CHECK_PCH): New.
6320         * aclocal.m4: Regenerated.
6321         * configure.in: Remove old demangler bits.
6322         Call pch checks.
6323         * configure: Regenerate.
6324         * config.h.in: Regenerate.
6325         * include/Makefile.am (allstamps): Now allstamped.
6326         (allcreated): Define this.
6327         (all-local): Use 'em.
6328         Conditionally define pch_build, pch_install based on
6329         GLIBCPP_BUILD_PCH.
6330         (${pch_output}): New rule.
6331         (install-pch): New rule.
6332         (install-headers): New rule.
6333         (install-data-local): Install headers and conditionally pch.
6334         * include/Makefile.in: Regenerate.
6335         * testsuite_flags.in (--build-cxx): Use pch file.
6336
6337 2003-04-16  Jonathan Wakely  <redi@gcc.gnu.org>
6338
6339         * docs/html/ext/sgiexts.html: Fix path to stylesheet.
6340
6341 2003-04-15  Benjamin Kosnik  <bkoz at redhat dot com>
6342             Paolo Carlini  <pcarlini at unitus dot it>
6343
6344         PR libstdc++/9423
6345         * docs/html/27_io/howto.html
6346         ('The buffering is screwing up my program!'): Explain that
6347         opening counts as an I/O operation.
6348
6349 2003-04-15  Andreas Tobler  <a.tobler@schweiz.ch>
6350
6351         * testsuite/thread/pthread1.cc: Enable for darwin test.
6352         * testsuite/thread/pthread2.cc: Same.
6353         * testsuite/thread/pthread3.cc: Same.
6354         * testsuite/thread/pthread4.cc: Same.
6355         * testsuite/thread/pthread5.cc: Same.
6356         * testsuite/thread/pthread6.cc: Same.
6357
6358 2003-04-15  Loren J. Rittle  <ljrittle@acm.org>
6359
6360         libstdc++/7680
6361         * include/c_std/std_cmath.h (__gnu_cx::__c99_binding): New namespace.
6362         Populate it with multiple legal ways to obtain the C99 float
6363         transcendentals.  Use them instead of direct global reference.
6364         (C99 FP capture): Guard usage with _GLIBCPP_USE_C99_FP_MACROS_DYNAMIC.
6365         * docs/html/17_intro/porting.texi
6366         (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK): New macro.
6367         (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): New macro.
6368         (_GLIBCPP_USE_C99_FP_MACROS_DYNAMIC): New macro.
6369         * config/os/bsd/freebsd/os_defines.h
6370         (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK): New macro.
6371         (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): New macro.
6372         * testsuite/26_numerics/c_math_dynamic.cc: New file.
6373
6374 2003-04-14  Andreas Tobler  <toa@pop.agri.ch>
6375             Benjamin Kosnik  <bkoz@redhat.com>
6376
6377         * config/os/generic/ctype_inline.h: Fix.
6378
6379 2003-04-14  Benjamin Kosnik  <bkoz@redhat.com>
6380
6381         * testsuite/testsuite_hooks.h
6382         (__gnu_cxx_test::run_test_wrapped_generic_locale_exception_catcher):
6383         Change to try_named_locale.
6384         * testsuite/testsuite_hooks.cc (__gnu_cxx_test): Same.
6385
6386         * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Use
6387         try_named_locale.
6388         * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Same.
6389         * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Same.
6390         * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Same.
6391         * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Same.
6392         * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: Same.
6393         * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Same.
6394         * testsuite/22_locale/codecvt/in/wchar_t/3.cc: Same.
6395         * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Same.
6396         * testsuite/22_locale/codecvt/in/wchar_t/7.cc: Same.
6397         * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Same.
6398         * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Same.
6399         * testsuite/22_locale/codecvt/length/wchar_t/2.cc: Same.
6400         * testsuite/22_locale/codecvt/length/wchar_t/3.cc: Same.
6401         * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Same.
6402         * testsuite/22_locale/codecvt/length/wchar_t/7.cc: Same.
6403         * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Same.
6404         * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Same.
6405         * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Same.
6406         * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Same.
6407         * testsuite/22_locale/codecvt/out/wchar_t/3.cc: Same.
6408         * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Same.
6409         * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Same.
6410         * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Same.
6411         * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Same.
6412         * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Same.
6413         * testsuite/22_locale/collate/compare/char/1.cc: Same.
6414         * testsuite/22_locale/collate/compare/char/2.cc: Same.
6415         * testsuite/22_locale/collate/compare/char/3.cc: Same.
6416         * testsuite/22_locale/collate/compare/wchar_t/1.cc: Same.
6417         * testsuite/22_locale/collate/compare/wchar_t/2.cc: Same.
6418         * testsuite/22_locale/collate/compare/wchar_t/3.cc: Same.
6419         * testsuite/22_locale/collate/hash/char/2.cc: Same.
6420         * testsuite/22_locale/collate/hash/wchar_t/2.cc: Same.
6421         * testsuite/22_locale/collate/transform/char/2.cc: Same.
6422         * testsuite/22_locale/collate/transform/char/3.cc: Same.
6423         * testsuite/22_locale/collate/transform/wchar_t/2.cc: Same.
6424         * testsuite/22_locale/collate/transform/wchar_t/3.cc: Same.
6425         * testsuite/22_locale/collate_byname/1.cc: Same.
6426         * testsuite/22_locale/ctype/is/char/2.cc: Same.
6427         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
6428         * testsuite/22_locale/ctype/narrow/wchar_t/3.cc: Same.
6429         * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Same.
6430         * testsuite/22_locale/ctype/widen/wchar_t/3.cc: Same.
6431         * testsuite/22_locale/facet/2.cc: Same.
6432         * testsuite/22_locale/locale/cons/2.cc: Same.
6433         * testsuite/22_locale/locale/cons/4.cc: Same.
6434         * testsuite/22_locale/locale/cons/5.cc: Same.
6435         * testsuite/22_locale/locale/cons/7.cc: Same.
6436         * testsuite/22_locale/locale/cons/7222-c.cc: Same.
6437         * testsuite/22_locale/locale/cons/7222-env.cc: Same.
6438         * testsuite/22_locale/locale/global_locale_objects/2.cc: Same.
6439         * testsuite/22_locale/messages/members/char/1.cc: Same.
6440         * testsuite/22_locale/messages/members/char/2.cc: Same.
6441         * testsuite/22_locale/messages/members/char/3.cc: Same.
6442         * testsuite/22_locale/messages_byname/1.cc: Same.
6443         * testsuite/22_locale/money_get/get/char/1.cc: Same.
6444         * testsuite/22_locale/money_get/get/char/2.cc: Same.
6445         * testsuite/22_locale/money_get/get/char/3.cc: Same.
6446         * testsuite/22_locale/money_get/get/char/4.cc: Same.
6447         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Same.
6448         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Same.
6449         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Same.
6450         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Same.
6451         * testsuite/22_locale/money_put/put/char/1.cc: Same.
6452         * testsuite/22_locale/money_put/put/char/2.cc: Same.
6453         * testsuite/22_locale/money_put/put/char/3.cc: Same.
6454         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Same.
6455         * testsuite/22_locale/money_put/put/wchar_t/2.cc: Same.
6456         * testsuite/22_locale/money_put/put/wchar_t/3.cc: Same.
6457         * testsuite/22_locale/moneypunct/members/char/2.cc: Same.
6458         * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Same.
6459         * testsuite/22_locale/moneypunct_byname/1.cc: Same.
6460         * testsuite/22_locale/num_get/get/char/1.cc: Same.
6461         * testsuite/22_locale/num_get/get/char/2.cc: Same.
6462         * testsuite/22_locale/num_get/get/char/3.cc: Same.
6463         * testsuite/22_locale/num_get/get/char/5.cc: Same.
6464         * testsuite/22_locale/num_get/get/char/6.cc: Same.
6465         * testsuite/22_locale/num_get/get/wchar_t/1.cc: Same.
6466         * testsuite/22_locale/num_get/get/wchar_t/2.cc: Same.
6467         * testsuite/22_locale/num_get/get/wchar_t/3.cc: Same.
6468         * testsuite/22_locale/num_get/get/wchar_t/5.cc: Same.
6469         * testsuite/22_locale/num_get/get/wchar_t/6.cc: Same.
6470         * testsuite/22_locale/num_put/put/char/1.cc: Same.
6471         * testsuite/22_locale/num_put/put/char/2.cc: Same.
6472         * testsuite/22_locale/num_put/put/char/3.cc: Same.
6473         * testsuite/22_locale/num_put/put/char/5.cc: Same.
6474         * testsuite/22_locale/num_put/put/wchar_t/1.cc: Same.
6475         * testsuite/22_locale/num_put/put/wchar_t/2.cc: Same.
6476         * testsuite/22_locale/num_put/put/wchar_t/3.cc: Same.
6477         * testsuite/22_locale/num_put/put/wchar_t/5.cc: Same.
6478         * testsuite/22_locale/numpunct/members/char/1.cc: Same.
6479         * testsuite/22_locale/numpunct/members/char/2.cc: Same.
6480         * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Same.
6481         * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Same.
6482         * testsuite/22_locale/numpunct_byname/1.cc: Same.
6483         * testsuite/22_locale/numpunct_byname/2.cc: Same.
6484         * testsuite/22_locale/time_get/date_order/char/1.cc: Same.
6485         * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Same.
6486         * testsuite/22_locale/time_get/get_date/char/1.cc: Same.
6487         * testsuite/22_locale/time_get/get_date/char/2.cc: Same.
6488         * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Same.
6489         * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Same.
6490         * testsuite/22_locale/time_get/get_monthname/char/1.cc: Same.
6491         * testsuite/22_locale/time_get/get_monthname/char/2.cc: Same.
6492         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Same.
6493         * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Same.
6494         * testsuite/22_locale/time_get/get_time/char/1.cc: Same.
6495         * testsuite/22_locale/time_get/get_time/char/2.cc: Same.
6496         * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Same.
6497         * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Same.
6498         * testsuite/22_locale/time_get/get_weekday/char/1.cc: Same.
6499         * testsuite/22_locale/time_get/get_weekday/char/2.cc: Same.
6500         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Same.
6501         * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Same.
6502         * testsuite/22_locale/time_get/get_year/char/1.cc: Same.
6503         * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Same.
6504         * testsuite/22_locale/time_put/put/char/1.cc: Same.
6505         * testsuite/22_locale/time_put/put/char/2.cc: Same.
6506         * testsuite/22_locale/time_put/put/char/3.cc: Same.
6507         * testsuite/22_locale/time_put/put/char/4.cc: Same.
6508         * testsuite/22_locale/time_put/put/char/5.cc: Same.
6509         * testsuite/22_locale/time_put/put/char/6.cc: Same.
6510         * testsuite/22_locale/time_put/put/char/7.cc: Same.
6511         * testsuite/22_locale/time_put/put/char/8.cc: Same.
6512         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Same.
6513         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Same.
6514         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Same.
6515         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Same.
6516         * testsuite/22_locale/time_put/put/wchar_t/5.cc: Same.
6517         * testsuite/22_locale/time_put/put/wchar_t/6.cc: Same.
6518         * testsuite/22_locale/time_put/put/wchar_t/7.cc: Same.
6519         * testsuite/22_locale/time_put/put/wchar_t/8.cc: Same.
6520         * testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Same.
6521         * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Same.
6522         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc: Same.
6523         * testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Same.
6524         * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Same.
6525
6526 2003-04-14  Andreas Tobler  <toa@pop.agri.ch>
6527
6528         * configure.target (_cpu_incdir_fullpath): Solaris 2.9 uses
6529         solaris includes, not generic.
6530
6531 2003-04-14  Loren J. Rittle  <ljrittle@acm.org>
6532
6533         * testsuite/26_numerics/c99_classification_macros_c.cc: Add XFAIL.
6534
6535         * include/std/std_bitset.h (_M_do_find_next): Fix -Wall nit.
6536         * include/bits/concept_check.h: Fix multi-line comment.
6537         * testsuite/17_intro/headers.cc (dg-options): Add -Wall -Wsystem-header
6538         when target is *-*-freebsd*.
6539
6540 2003-04-14  Nathan Myers  <ncm@cantrip.org>
6541             Paolo Carlini  <pcarlini@unitus.it>
6542
6543         PR libstdc++/9701 (in_avail())
6544         * include/std/std_streambuf.h (in_avail): Simplify, in_avail
6545         doesn't care if there is anything in some putback cell.
6546         * testsuite/27_io/basic_streambuf/in_avail/char/9701-3.cc: Add.
6547
6548         * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Remove some
6549         unused string literals.
6550
6551 2003-04-14  Paolo Carlini  <pcarlini@unitus.it>
6552
6553         * include/bits/fstream.tcc (basic_filebuf::setbuf): Don't set
6554         _M_out_end, _M_set_indeterminate() does it.
6555
6556 2003-04-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6557
6558         * os/hpux/ctype_inline.h: Replace with gnu-linux version.
6559
6560 2003-04-12  David Edelsohn  <edelsohn@gnu.org>
6561
6562         * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc:
6563         Change basic_streambuf instantiation to "unsigned char".
6564         * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
6565
6566 2003-04-12  Paolo Carlini  <pcarlini@unitus.it>
6567
6568         Remove _M_buf_size_opt, use directly _M_buf_size instead.
6569         * include/bits/fstream.tcc
6570         (basic_filebuf::_M_allocate_internal_buffer, setbuf): Remove
6571         references to _M_buf_size_opt.
6572         * include/bits/sstream.tcc (basic_stringbuf::overflow): Likewise.
6573         * include/bits/streambuf.tcc (__copy_streambufs): Likewise, rename
6574         __bufsize to __in_avail and __size_opt to __buf_size.
6575         * include/ext/stdio_filebuf.h (stdio_filebuf::stdio_filebuf): Likewise.
6576         * include/std/std_sstream.h (_M_stringbuf_init, setbuf): Likewise.
6577         * include/std/std_streambuf.h (~basic_streambuf(),
6578         basic_streambuf()): Likewise, remove _M_buf_size_opt member.
6579         * testsuite/27_io/basic_filebuf/close/char/3.cc: Set _M_buf_size.
6580         * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
6581         * testsuite/27_io/basic_filebuf/sbumpc/char/1.cc: Likewise.
6582         * testsuite/27_io/basic_filebuf/seekoff/char/1.cc: Likewise.
6583         * testsuite/27_io/basic_filebuf/seekpos/char/1.cc: Likewise.
6584         * testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Likewise.
6585         * testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Likewise.
6586         * testsuite/27_io/basic_filebuf/snextc/char/1.cc: Likewise.
6587         * testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Likewise.
6588         * testsuite/27_io/basic_filebuf/sputc/char/1.cc: Likewise.
6589         * testsuite/27_io/basic_filebuf/sputn/char/1.cc: Likewise.
6590         * testsuite/27_io/basic_filebuf/sungetc/char/1.cc: Likewise.
6591
6592 2003-04-12  Paolo Carlini  <pcarlini at unitus dot it>
6593
6594         * include/ext/stdio_filebuf.h
6595         (stdio_filebuf::stdio_filebuf(int, openmode, bool, size_t),
6596         stdio_filebuf::stdio_filebuf(__c_file*, openmode, size_t):
6597         _M_buf_size_opt == 0 only means "not to use an allocated buffer"
6598         since a stack-based buffer is used for small values of the size_t
6599         parameter.
6600         * include/bits/fstream.tcc (basic_filebuf::_M_really_overflow).
6601         If _M_buf_size != 0 flush out the buffer (any kind, stack-based too).
6602         * testsuite/ext/stdio_filebuf_2.cc: New testfile.
6603
6604 2003-04-12  Paolo Carlini  <pcarlini@unitus.it>
6605
6606         PR libstdc++/9533
6607         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: New.
6608         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Ditto.
6609
6610 2003-04-11  Benjamin Kosnik  <bkoz@redhat.com>
6611
6612         * testsuite/22_locale/locale/cons/3.cc: Split.
6613         * testsuite/22_locale/locale/cons/7222-c.cc: New.
6614         * testsuite/22_locale/locale/cons/7222-env.cc: New.
6615         Check before trying to create a locale from the environment.
6616         * testsuite/27_io/ios_base/state/1.cc (test02): Use "C" locale.
6617         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
6618         Adjust includes.
6619
6620 2003-04-11  Benjamin Kosnik  <bkoz@redhat.com>
6621
6622         * testsuite/22_locale/ctype/is/char/3.cc (test03): Use the classic
6623         locale to construct this hybrid locale, not the global locale.
6624
6625 2003-04-11  Benjamin Kosnik  <bkoz@redhat.com>
6626
6627         * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: Add
6628         instantiation for AIX.
6629         * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
6630         * testsuite/25_algorithms/min_max.cc: Same.
6631
6632 2003-04-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6633
6634         * basic_file_stdio.cc (__basic_file<char>::close): Don't flush stream
6635         twice.  Always set _M_cfile to 0 when stream was open.
6636
6637 2003-04-09  Benjamin Kosnik  <bkoz@redhat.com>
6638
6639         Reshuffle 27_io testsuite.  
6640         * testsuite/27_io/filebuf.cc,
6641         filebuf_members-1.tst, filebuf_members-1.txt, filebuf_members.cc,
6642         filebuf_virtuals-1.tst, filebuf_virtuals-1.txt,
6643         filebuf_virtuals-2.tst, filebuf_virtuals-3.tst,
6644         filebuf_virtuals.cc, fpos.cc, fstream.cc, fstream_members.cc,
6645         ifstream.cc, ifstream_members-1.tst, ifstream_members-1.txt,
6646         ifstream_members.cc, instantiations.cc, ios.cc,
6647         ios_base_callbacks.cc, ios_base_members_static-1.tst,
6648         ios_base_members_static.cc, ios_base_storage.cc,
6649         ios_base_types.cc, ios_ctor.cc, ios_init.cc,
6650         ios_manip_basefield.cc, ios_manip_fmtflags.cc, ios_members.cc,
6651         iostream.cc, iostream_members.cc, istream.cc,
6652         istream_exception.cc, istream_extractor_char.cc,
6653         istream_extractor_other-1.tst, istream_extractor_other-1.txt,
6654         istream_extractor_other-2.tst, istream_extractor_other.cc,
6655         istream_manip.cc, istream_seeks-1.tst, istream_seeks-1.txt,
6656         istream_seeks-2.tst, istream_seeks-3.tst, istream_seeks.cc,
6657         istream_sentry.cc, istream_unformatted-1.tst,
6658         istream_unformatted-1.txt, istream_unformatted.cc,
6659         istringstream.cc, istringstream_members.cc,
6660         narrow_stream_objects.cc, ofstream.cc, ofstream_members-1.tst,
6661         ofstream_members.cc, ostream.cc, ostream_exception.cc,
6662         ostream_fail.cc, ostream_inserter_arith.cc,
6663         ostream_inserter_char-1.tst, ostream_inserter_char-1.txt,
6664         ostream_inserter_char.cc, ostream_inserter_other-1.tst,
6665         ostream_inserter_other-2.tst, ostream_inserter_other.cc,
6666         ostream_manip.cc, ostream_seeks-1.tst, ostream_seeks.cc,
6667         ostream_sentry.cc, ostream_unformatted.cc, ostringstream.cc,
6668         ostringstream_members.cc, standard_manipulators.cc, streambuf.cc,
6669         streambuf_members.cc, stringbuf.cc, stringbuf_members.cc,
6670         stringbuf_virtuals.cc, stringstream.cc, stringstream_members.cc,
6671         wide_stream_objects.cc, istream_extractor_arith/01.cc,
6672         istream_extractor_arith/02.cc, istream_extractor_arith/03.cc,
6673         istream_extractor_arith/06.cc, istream_extractor_arith/07.cc,
6674         istream_extractor_arith/08.cc, istream_extractor_arith/09.cc,
6675         istream_extractor_arith/10.cc, istream_extractor_arith/11.cc,
6676         istream_extractor_arith/12.cc, istream_extractor_arith/13.cc:
6677         Split into...
6678         * 27_io/basic_filebuf/1.cc: New.
6679         * 27_io/basic_filebuf/2.cc: New.
6680         * 27_io/basic_filebuf/3.cc: New.
6681         * 27_io/basic_filebuf/4.cc: New.
6682         * 27_io/basic_filebuf/close/char/1.cc: New.
6683         * 27_io/basic_filebuf/close/char/2.cc: New.
6684         * 27_io/basic_filebuf/close/char/3.cc: New.
6685         * 27_io/basic_filebuf/close/char/4879.cc: New.
6686         * 27_io/basic_filebuf/close/char/9964.cc: New.
6687         * 27_io/basic_filebuf/imbue/char/1.cc: New.
6688         * 27_io/basic_filebuf/imbue/char/9322.cc: New.
6689         * 27_io/basic_filebuf/in_avail/char/1.cc: New.
6690         * 27_io/basic_filebuf/is_open/char/1.cc: New.
6691         * 27_io/basic_filebuf/open/char/1.cc: New.
6692         * 27_io/basic_filebuf/open/char/2.cc: New.
6693         * 27_io/basic_filebuf/open/char/3.cc: New.
6694         * 27_io/basic_filebuf/open/char/9507.cc: New.
6695         * 27_io/basic_filebuf/overflow/char/1.cc: New.
6696         * 27_io/basic_filebuf/overflow/char/3599.cc: New.
6697         * 27_io/basic_filebuf/overflow/char/9169.cc: New.
6698         * 27_io/basic_filebuf/overflow/char/9182-2.cc: New.
6699         * 27_io/basic_filebuf/overflow/char/9988.cc: New.
6700         * 27_io/basic_filebuf/sbumpc/char/1.cc: New.
6701         * 27_io/basic_filebuf/sbumpc/char/9825.cc: New.
6702         * 27_io/basic_filebuf/seekoff/char/1.cc: New.
6703         * 27_io/basic_filebuf/seekoff/char/2.cc: New.
6704         * 27_io/basic_filebuf/seekpos/char/1.cc: New.
6705         * 27_io/basic_filebuf/seekpos/char/2.cc: New.
6706         * 27_io/basic_filebuf/setbuf/char/1.cc: New.
6707         * 27_io/basic_filebuf/setbuf/char/2.cc: New.
6708         * 27_io/basic_filebuf/setbuf/char/3.cc: New.
6709         * 27_io/basic_filebuf/sgetc/char/1.cc: New.
6710         * 27_io/basic_filebuf/sgetn/char/1.cc: New.
6711         * 27_io/basic_filebuf/sgetn/char/2.cc: New.
6712         * 27_io/basic_filebuf/snextc/char/1.cc: New.
6713         * 27_io/basic_filebuf/sputbackc/char/1.cc: New.
6714         * 27_io/basic_filebuf/sputbackc/char/9425.cc: New.
6715         * 27_io/basic_filebuf/sputc/char/1.cc: New.
6716         * 27_io/basic_filebuf/sputc/char/1057.cc: New.
6717         * 27_io/basic_filebuf/sputc/char/9701-2.cc: New.
6718         * 27_io/basic_filebuf/sputn/char/1.cc: New.
6719         * 27_io/basic_filebuf/sputn/char/1057.cc: New.
6720         * 27_io/basic_filebuf/sputn/char/9701-1.cc: New.
6721         * 27_io/basic_filebuf/sungetc/char/1.cc: New.
6722         * 27_io/basic_filebuf/sync/char/1057.cc: New.
6723         * 27_io/basic_filebuf/sync/char/9182-1.cc: New.
6724         * 27_io/basic_filebuf/underflow/char/10097.cc: New.
6725         * 27_io/basic_fstream/1.cc: New.
6726         * 27_io/basic_fstream/2.cc: New.
6727         * 27_io/basic_fstream/3.cc: New.
6728         * 27_io/basic_fstream/4.cc: New.
6729         * 27_io/basic_fstream/rdbuf/char/2832.cc: New.
6730         * 27_io/basic_ifstream/1.cc: New.
6731         * 27_io/basic_ifstream/2.cc: New.
6732         * 27_io/basic_ifstream/3.cc: New.
6733         * 27_io/basic_ifstream/4.cc: New.
6734         * 27_io/basic_ifstream/cons/char/1.cc: New.
6735         * 27_io/basic_ifstream/open/char/1.cc: New.
6736         * 27_io/basic_ifstream/rdbuf/char/2832.cc: New.
6737         * 27_io/basic_ios/1.cc: New.
6738         * 27_io/basic_ios/2.cc: New.
6739         * 27_io/basic_ios/3.cc: New.
6740         * 27_io/basic_ios/4.cc: New.
6741         * 27_io/basic_ios/clear/char/1.cc: New.
6742         * 27_io/basic_ios/cons/char/1.cc: New.
6743         * 27_io/basic_ios/cons/char/2.cc: New.
6744         * 27_io/basic_ios/cons/char/3.cc: New.
6745         * 27_io/basic_ios/copyfmt/char/1.cc: New.
6746         * 27_io/basic_ios/copyfmt/char/2.cc: New.
6747         * 27_io/basic_ios/exceptions/char/1.cc: New.
6748         * 27_io/basic_ios/locales/char/1.cc: New.
6749         * 27_io/basic_iostream/1.cc: New.
6750         * 27_io/basic_iostream/2.cc: New.
6751         * 27_io/basic_iostream/3.cc: New.
6752         * 27_io/basic_iostream/4.cc: New.
6753         * 27_io/basic_istream/1.cc: New.
6754         * 27_io/basic_istream/2.cc: New.
6755         * 27_io/basic_istream/3.cc: New.
6756         * 27_io/basic_istream/4.cc: New.
6757         * 27_io/basic_istream/exceptions/char/9561.cc: New.
6758         * 27_io/basic_istream/extractors_arithmetic/char/01.cc: New.
6759         * 27_io/basic_istream/extractors_arithmetic/char/02.cc: New.
6760         * 27_io/basic_istream/extractors_arithmetic/char/03.cc: New.
6761         * 27_io/basic_istream/extractors_arithmetic/char/06.cc: New.
6762         * 27_io/basic_istream/extractors_arithmetic/char/07.cc: New.
6763         * 27_io/basic_istream/extractors_arithmetic/char/08.cc: New.
6764         * 27_io/basic_istream/extractors_arithmetic/char/09.cc: New.
6765         * 27_io/basic_istream/extractors_arithmetic/char/10.cc: New.
6766         * 27_io/basic_istream/extractors_arithmetic/char/11.cc: New.
6767         * 27_io/basic_istream/extractors_arithmetic/char/12.cc: New.
6768         * 27_io/basic_istream/extractors_arithmetic/char/13.cc: New.
6769         * 27_io/basic_istream/extractors_character/char/1.cc: New.
6770         * 27_io/basic_istream/extractors_character/char/2.cc: New.
6771         * 27_io/basic_istream/extractors_character/char/3.cc: New.
6772         * 27_io/basic_istream/extractors_character/char/9826.cc: New.
6773         * 27_io/basic_istream/extractors_other/char/1.cc: New.
6774         * 27_io/basic_istream/extractors_other/char/2.cc: New.
6775         * 27_io/basic_istream/extractors_other/char/3.cc: New.
6776         * 27_io/basic_istream/extractors_other/char/9318-in.cc: New.
6777         * 27_io/basic_istream/extractors_other/char/9424-in.cc: New.
6778         * 27_io/basic_istream/get/char/1.cc: New.
6779         * 27_io/basic_istream/get/char/2.cc: New.
6780         * 27_io/basic_istream/getline/char/1.cc: New.
6781         * 27_io/basic_istream/getline/char/2.cc: New.
6782         * 27_io/basic_istream/getline/char/3.cc: New.
6783         * 27_io/basic_istream/ignore/char/1.cc: New.
6784         * 27_io/basic_istream/ignore/char/6360.cc: New.
6785         * 27_io/basic_istream/ignore/char/7220.cc: New.
6786         * 27_io/basic_istream/peek/char/1.cc: New.
6787         * 27_io/basic_istream/peek/char/6414.cc: New.
6788         * 27_io/basic_istream/putback/char/1.cc: New.
6789         * 27_io/basic_istream/read/char/1.cc: New.
6790         * 27_io/basic_istream/read/char/2.cc: New.
6791         * 27_io/basic_istream/read/char/3.cc: New.
6792         * 27_io/basic_istream/readsome/char/6746-1.cc: New.
6793         * 27_io/basic_istream/readsome/char/6746-2.cc: New.
6794         * 27_io/basic_istream/readsome/char/8258.cc: New.
6795         * 27_io/basic_istream/seekg/char/2346-fstream.cc: New.
6796         * 27_io/basic_istream/seekg/char/2346-sstream.cc: New.
6797         * 27_io/basic_istream/seekg/char/8348-1.cc: New.
6798         * 27_io/basic_istream/seekg/char/8348-2.cc: New.
6799         * 27_io/basic_istream/seekg/char/fstream.cc: New.
6800         * 27_io/basic_istream/seekg/char/sstream.cc: New.
6801         * 27_io/basic_istream/sentry/char/1.cc: New.
6802         * 27_io/basic_istream/sentry/char/2.cc: New.
6803         * 27_io/basic_istream/sentry/char/3.cc: New.
6804         * 27_io/basic_istream/sentry/char/3983-fstream.cc: New.
6805         * 27_io/basic_istream/sentry/char/3983-sstream.cc: New.
6806         * 27_io/basic_istream/tellg/char/1.cc: New.
6807         * 27_io/basic_istream/tellg/char/8348.cc: New.
6808         * 27_io/basic_istream/tellg/char/fstream.cc: New.
6809         * 27_io/basic_istream/tellg/char/sstream.cc: New.
6810         * 27_io/basic_istream/ws/char/1.cc: New.
6811         * 27_io/basic_istringstream/1.cc: New.
6812         * 27_io/basic_istringstream/2.cc: New.
6813         * 27_io/basic_istringstream/3.cc: New.
6814         * 27_io/basic_istringstream/4.cc: New.
6815         * 27_io/basic_istringstream/rdbuf/char/2832.cc: New.
6816         * 27_io/basic_istringstream/str/char/1.cc: New.
6817         * 27_io/basic_ofstream/1.cc: New.
6818         * 27_io/basic_ofstream/2.cc: New.
6819         * 27_io/basic_ofstream/3.cc: New.
6820         * 27_io/basic_ofstream/4.cc: New.
6821         * 27_io/basic_ofstream/cons/char/2.cc: New.
6822         * 27_io/basic_ofstream/open/char/1.cc: New.
6823         * 27_io/basic_ofstream/rdbuf/char/2832.cc: New.
6824         * 27_io/basic_ostream/1.cc: New.
6825         * 27_io/basic_ostream/2.cc: New.
6826         * 27_io/basic_ostream/3.cc: New.
6827         * 27_io/basic_ostream/4.cc: New.
6828         * 27_io/basic_ostream/cons/char/9827.cc: New.
6829         * 27_io/basic_ostream/endl/char/1.cc: New.
6830         * 27_io/basic_ostream/ends/char/1.cc: New.
6831         * 27_io/basic_ostream/ends/char/2.cc: New.
6832         * 27_io/basic_ostream/exceptions/char/9561.cc: New.
6833         * 27_io/basic_ostream/flush/char/1.cc: New.
6834         * 27_io/basic_ostream/inserters_arithmetic/char/1.cc: New.
6835         * 27_io/basic_ostream/inserters_arithmetic/char/2.cc: New.
6836         * 27_io/basic_ostream/inserters_arithmetic/char/3.cc: New.
6837         * 27_io/basic_ostream/inserters_arithmetic/char/4.cc: New.
6838         * 27_io/basic_ostream/inserters_arithmetic/char/4402.cc: New.
6839         * 27_io/basic_ostream/inserters_arithmetic/char/5.cc: New.
6840         * 27_io/basic_ostream/inserters_arithmetic/char/6.cc: New.
6841         * 27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc: New.
6842         * 27_io/basic_ostream/inserters_character/char/1.cc: New.
6843         * 27_io/basic_ostream/inserters_character/char/2.cc: New.
6844         * 27_io/basic_ostream/inserters_character/char/3.cc: New.
6845         * 27_io/basic_ostream/inserters_character/char/4.cc: New.
6846         * 27_io/basic_ostream/inserters_character/char/5.cc: New.
6847         * 27_io/basic_ostream/inserters_character/char/6.cc: New.
6848         * 27_io/basic_ostream/inserters_character/char/8.cc: New.
6849         * 27_io/basic_ostream/inserters_character/wchar_t/7.cc: New.
6850         * 27_io/basic_ostream/inserters_character/wchar_t/8.cc: New.
6851         * 27_io/basic_ostream/inserters_other/char/1.cc: New.
6852         * 27_io/basic_ostream/inserters_other/char/2.cc: New.
6853         * 27_io/basic_ostream/inserters_other/char/3.cc: New.
6854         * 27_io/basic_ostream/inserters_other/char/4.cc: New.
6855         * 27_io/basic_ostream/inserters_other/char/9318-out.cc: New.
6856         * 27_io/basic_ostream/inserters_other/char/9424-out.cc: New.
6857         * 27_io/basic_ostream/sentry/char/1.cc: New.
6858         * 27_io/basic_ostream/sentry/char/2.cc: New.
6859         * 27_io/basic_ostream/sentry/char/3983-fstream.cc: New.
6860         * 27_io/basic_ostream/sentry/char/3983-sstream.cc: New.
6861         * 27_io/basic_ostream/tellp/char/1.cc: New.
6862         * 27_io/basic_ostream/tellp/char/2.cc: New.
6863         * 27_io/basic_ostringstream/1.cc: New.
6864         * 27_io/basic_ostringstream/2.cc: New.
6865         * 27_io/basic_ostringstream/3.cc: New.
6866         * 27_io/basic_ostringstream/4.cc: New.
6867         * 27_io/basic_ostringstream/cons/char/3.cc: New.
6868         * 27_io/basic_ostringstream/rdbuf/char/2832.cc: New.
6869         * 27_io/basic_ostringstream/str/char/1.cc: New.
6870         * 27_io/basic_ostringstream/str/char/2.cc: New.
6871         * 27_io/basic_streambuf/1.cc: New.
6872         * 27_io/basic_streambuf/2.cc: New.
6873         * 27_io/basic_streambuf/3.cc: New.
6874         * 27_io/basic_streambuf/cons/char/1.cc: New.
6875         * 27_io/basic_streambuf/imbue/char/1.cc: New.
6876         * 27_io/basic_streambuf/imbue/char/9322.cc: New.
6877         * 27_io/basic_streambuf/overflow/char/1.cc: New.
6878         * 27_io/basic_streambuf/overflow/char/2.cc: New.
6879         * 27_io/basic_streambuf/overflow/char/3599.cc: New.
6880         * 27_io/basic_streambuf/sgetc/char/1.cc: New.
6881         * 27_io/basic_streambuf/sgetn/char/1.cc: New.
6882         * 27_io/basic_streambuf/sputbackc/char/9538.cc: New.
6883         * 27_io/basic_streambuf/sputc/char/1057.cc: New.
6884         * 27_io/basic_streambuf/sputn/char/1.cc: New.
6885         * 27_io/basic_streambuf/sputn/char/1057.cc: New.
6886         * 27_io/basic_streambuf/sync/char/1057.cc: New.
6887         * 27_io/basic_stringbuf/1.cc: New.
6888         * 27_io/basic_stringbuf/2.cc: New.
6889         * 27_io/basic_stringbuf/3.cc: New.
6890         * 27_io/basic_stringbuf/4.cc: New.
6891         * 27_io/basic_stringbuf/5.cc: New.
6892         * 27_io/basic_stringbuf/imbue/char/1.cc: New.
6893         * 27_io/basic_stringbuf/imbue/char/9322.cc: New.
6894         * 27_io/basic_stringbuf/in_avail/char/1.cc: New.
6895         * 27_io/basic_stringbuf/overflow/char/2.cc: New.
6896         * 27_io/basic_stringbuf/overflow/char/3599.cc: New.
6897         * 27_io/basic_stringbuf/overflow/char/9988.cc: New.
6898         * 27_io/basic_stringbuf/sbumpc/char/1.cc: New.
6899         * 27_io/basic_stringbuf/sbumpc/char/9825.cc: New.
6900         * 27_io/basic_stringbuf/seekoff/char/1.cc: New.
6901         * 27_io/basic_stringbuf/seekoff/char/2.cc: New.
6902         * 27_io/basic_stringbuf/seekpos/char/1.cc: New.
6903         * 27_io/basic_stringbuf/seekpos/char/2.cc: New.
6904         * 27_io/basic_stringbuf/setbuf/char/1.cc: New.
6905         * 27_io/basic_stringbuf/setbuf/char/2.cc: New.
6906         * 27_io/basic_stringbuf/setbuf/char/3.cc: New.
6907         * 27_io/basic_stringbuf/sgetc/char/1.cc: New.
6908         * 27_io/basic_stringbuf/sgetn/char/1.cc: New.
6909         * 27_io/basic_stringbuf/snextc/char/1.cc: New.
6910         * 27_io/basic_stringbuf/sputbackc/char/1.cc: New.
6911         * 27_io/basic_stringbuf/sputbackc/char/9425.cc: New.
6912         * 27_io/basic_stringbuf/sputc/char/1.cc: New.
6913         * 27_io/basic_stringbuf/sputc/char/1057.cc: New.
6914         * 27_io/basic_stringbuf/sputc/char/9404-1.cc: New.
6915         * 27_io/basic_stringbuf/sputn/char/1.cc: New.
6916         * 27_io/basic_stringbuf/sputn/char/1057.cc: New.
6917         * 27_io/basic_stringbuf/sputn/char/9404-2.cc: New.
6918         * 27_io/basic_stringbuf/str/char/1.cc: New.
6919         * 27_io/basic_stringbuf/str/char/2.cc: New.
6920         * 27_io/basic_stringbuf/str/char/3.cc: New.
6921         * 27_io/basic_stringbuf/str/char/3955.cc: New.
6922         * 27_io/basic_stringbuf/sungetc/char/1.cc: New.
6923         * 27_io/basic_stringbuf/sync/char/1057.cc: New.
6924         * 27_io/basic_stringstream/1.cc: New.
6925         * 27_io/basic_stringstream/2.cc: New.
6926         * 27_io/basic_stringstream/3.cc: New.
6927         * 27_io/basic_stringstream/4.cc: New.
6928         * 27_io/basic_stringstream/rdbuf/char/2832.cc: New.
6929         * 27_io/basic_stringstream/str/char/1.cc: New.
6930         * 27_io/basic_stringstream/str/char/2.cc: New.
6931         * 27_io/basic_stringstream/str/char/3.cc: New.
6932         * 27_io/basic_stringstream/str/char/4.cc: New.
6933         * 27_io/fpos/1.cc: New.
6934         * 27_io/fpos/2.cc: New.
6935         * 27_io/fpos/3.cc: New.
6936         * 27_io/ios_base/callbacks/1.cc: New.
6937         * 27_io/ios_base/state/1.cc: New.
6938         * 27_io/ios_base/storage/1.cc: New.
6939         * 27_io/ios_base/storage/2.cc: New.
6940         * 27_io/ios_base/storage/3.cc: New.
6941         * 27_io/ios_base/sync_with_stdio/1.cc: New.
6942         * 27_io/ios_base/sync_with_stdio/2.cc: New.
6943         * 27_io/manipulators/adjustfield/char/1.cc: New.
6944         * 27_io/manipulators/adjustfield/char/2.cc: New.
6945         * 27_io/manipulators/basefield/char/1.cc: New.
6946         * 27_io/manipulators/standard/char/1.cc: New.
6947         * 27_io/manipulators/standard/char/2.cc: New.
6948         * 27_io/objects/char/1.cc: New.
6949         * 27_io/objects/char/2.cc: New.
6950         * 27_io/objects/char/2523-1_xin.cc: New.
6951         * 27_io/objects/char/2523-1_xin.in: New.
6952         * 27_io/objects/char/2523-2_xin.cc: New.
6953         * 27_io/objects/char/2523-2_xin.in: New.
6954         * 27_io/objects/char/3045.cc: New.
6955         * 27_io/objects/char/3647.cc: New.
6956         * 27_io/objects/char/3_xin.cc: New.
6957         * 27_io/objects/char/3_xin.in: New.
6958         * 27_io/objects/char/4_xin.cc: New.
6959         * 27_io/objects/char/4_xin.in: New.
6960         * 27_io/objects/char/5268.cc: New.
6961         * 27_io/objects/char/5280_xin.cc: New.
6962         * 27_io/objects/char/5280_xin.in: New.
6963         * 27_io/objects/char/6548_xin.cc: New.
6964         * 27_io/objects/char/6548_xin.in: New.
6965         * 27_io/objects/char/6648-1_xin.cc: New.
6966         * 27_io/objects/char/6648-1_xin.in: New.
6967         * 27_io/objects/char/6648-2_xin.cc: New.
6968         * 27_io/objects/char/6648-2_xin.in: New.
6969         * 27_io/objects/char/7744_xin.cc: New.
6970         * 27_io/objects/char/7744_xin.in: New.
6971         * 27_io/objects/wchar_t/1.cc: New.
6972         * 27_io/types/1.cc: New.
6973         * 27_io/types/2.cc: New.
6974         * data/filebuf_members-1.tst: New.
6975         * data/filebuf_members-1.txt: New.
6976         * data/filebuf_virtuals-1.tst: New.
6977         * data/filebuf_virtuals-1.txt: New.
6978         * data/filebuf_virtuals-2.tst: New.
6979         * data/filebuf_virtuals-3.tst: New.
6980         * data/ifstream_members-1.tst: New.
6981         * data/ifstream_members-1.txt: New.
6982         * data/ios_base_members_static-1.tst: New.
6983         * data/istream_extractor_other-1.tst: New.
6984         * data/istream_extractor_other-1.txt: New.
6985         * data/istream_extractor_other-2.tst: New.
6986         * data/istream_seeks-1.tst: New.
6987         * data/istream_seeks-1.txt: New.
6988         * data/istream_seeks-2.tst: New.
6989         * data/istream_seeks-3.tst: New.
6990         * data/istream_unformatted-1.tst: New.
6991         * data/istream_unformatted-1.txt: New.
6992         * data/ofstream_members-1.tst: New.
6993         * data/ostream_inserter_char-1.tst: New.
6994         * data/ostream_inserter_char-1.txt: New.
6995         * data/ostream_inserter_other-1.tst: New.
6996         * data/ostream_inserter_other-2.tst: New.
6997         * data/ostream_seeks-1.tst: New.
6998
6999 2003-04-09  Benjamin Kosnik  <bkoz@redhat.com>
7000
7001         * include/bits/sstream.tcc (basic_stringbuf::seekpos): Remove
7002         requirement that __mode must be strict input or output.
7003
7004         * include/std/std_streambuf.h (basic_streambuf::setp): Set
7005         _M_out_lim.
7006
7007         * include/std/std_sstream.h (basic_strinbuf::str): Zero length
7008         output string shouldn't core.
7009         (basic_stringbuf::_M_really_sync): Add base argument. Remove rturn
7010         type.
7011         * include/bits/sstream.tcc: Adjust _M_really_sync bits here.
7012
7013         * include/bits/istream.tcc (basic_istream::putback): Set gcount to
7014         zero.
7015
7016 2003-04-09  Benjamin Kosnik  <bkoz@redhat.com>
7017
7018         * testsuite/data: New directory.
7019         * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Modify
7020         to copy files from the testsuite data directory.
7021         (libstdc++-v3-list-sourcefiles): Add another test list filter, for
7022         testfiles containing _xin, which now means this is an interactive
7023         test and should be run with the interactive dejagnu hooks.
7024         * testsuite/Makefile.am: Remove testsuite_* files.
7025         * testsuite/Makefile.in: Regenerate.
7026
7027 2003-04-09  Zack Weinberg  <zack@codesourcery.com>
7028
7029         * docs/html/install.html: Document complete list of locales
7030         required by test suite.  Document procedure for installing
7031         said locales under Debian.  Solicit instructions for other
7032         operating systems.
7033
7034 2003-04-08  Alexandre Oliva  <aoliva@redhat.com>
7035
7036         * include/bits/sstream.tcc (overflow): Make sure operands of min
7037         and max have the same type.
7038
7039 2003-04-04  Jerry Quinn  <jlquinn@optonline.net>
7040
7041         PR libstdc++/10276
7042         * src/ios.cc (ios_base::_M_init): Remove _M_callbacks
7043         initialization.
7044
7045 2003-03-31  Paolo Carlini  <pcarlini@unitus.it>
7046
7047         * include/std/std_streambuf.h (_M_out_buf_size()): Remove.
7048         * include/bits/fstream.tcc (_M_allocate_internal_buffer):
7049         Don't set _M_out_end.
7050         (basic_filebuf::overflow): Replace _M_out_buf_size() with
7051         this->_M_out_cur && this->_M_out_cur < this->_M_out_end.
7052         * include/bits/sstream.tcc (basic_stringbuf::overflow):
7053         Replace _M_out_buf_size() with this->_M_out_cur < this->_M_out_end;
7054         * include/bits/streambuf.tcc (basic_streambuf::sputc):
7055         Replace _M_out_buf_size() with _M_out_cur && _M_out_cur < _M_out_end.
7056         (basic_streambuf::xsputn): Replace _M_out_buf_size() with
7057         _M_out_end - _M_out_cur.
7058         (__copy_streambufs): Likewise.
7059         * include/std/std_fstream.h (_M_set_determinate): Set
7060         _M_out_end here.
7061
7062 2003-03-30  Paolo Carlini  <pcarlini@unitus.it>
7063
7064         * include/bits/fstream.tcc (basic_filebuf::showmanyc,
7065         _M_convert_to_external, _M_really_overflow, seekoff): Fix
7066         test for synced buffer.
7067         * include/std/std_fstream.h (sync): Likewise.
7068         * src/fstream.cc (basic_filebuf<char>::_M_underflow_common,
7069         basic_filebuf<wchar_t>::_M_underflow_common): Likewise.
7070
7071 2003-03-28  Benjamin Kosnik  <bkoz@redhat.com>
7072
7073         * include/std/std_sstream.h (basic_istringstream): Adjust
7074         initialization.
7075         (basic_ostringstream): Same.
7076         (basic_stringstream): Same.
7077         * include/std/std_fstream.h (basic_ifstream): Adjust initialization.
7078         (basic_ofstream): Same.
7079         (basic_fstream): Same.
7080         * include/std/std_ostream.h (basic_ostrem): Add protected ctor
7081         that does not call init.
7082         * include/std/std_istream.h (basic_istream): Same.
7083         (basic_iostream): Construct istream, ostream uninitialized, use
7084         init to initialize just once. Add protected ctor that does not
7085         call init.
7086
7087 2003-03-28  Paolo Carlini  <pcarlini@unitus.it>
7088             Nathan Myers  <ncm@cantrip.org>
7089
7090         PR libstdc++/9533
7091         * include/bits/fstream.tcc (basic_filebuf<>::open): Don't
7092         call underflow().
7093         (basic_filebuf<>::showmanyc): Use the information provided
7094         by codecvt and __basic_file<>::showmanyc_helper to implement
7095         a non-trivial showmanyc.
7096         * config/io/basic_file_stdio.h
7097         (__basic_file<>::showmanyc_helper): New, declare.
7098         * config/io/basic_file_stdio.cc
7099         (__basic_file<>::showmanyc_helper): Define.
7100         (__basic_file<>::_M_open_mode): Don't set O_NONBLOCK.
7101         (__basic_file<char>::open): Don't call fcntl().
7102         * acinclude.m4 (GLIBCPP_CHECK_S_ISREG_OR_S_IFREG,
7103         GLIBCPP_CHECK_POLL): New macros.
7104         * configure.in: Call here.
7105         * acconfig.h: Add #undefs for the corresponding symbols.
7106         * aclocal.m4: Regenerate.
7107         * configure: Regenerate.
7108         * config.h.in: Regenerate.
7109
7110 2003-03-24  Benjamin Kosnik  <bkoz@redhat.com>
7111
7112         * config/linker-map.gnu: Remove string export restrictions.
7113
7114 2003-03-24  Paolo Carlini  <pcarlini@unitus.it>
7115
7116         * testsuite/21_strings/basic_string/find/char/1.cc: Remove
7117         find_first_of, find_last_of and find_last_not_of tests.
7118         * testsuite/21_strings/basic_string/find/char/2.cc: find_first_of
7119         tests here, new file.
7120         * testsuite/21_strings/basic_string/find/wchar_t/1.cc: Likewise,
7121         remove wchar_t find_first_of, find_last_of and find_last_not_of tests.
7122         * testsuite/21_strings/basic_string/find/wchar_t/2.cc: Likewise,
7123         wchar_t find_first_of tests here, new file.
7124         * testsuite/21_strings/basic_string/rfind/char/2.cc: find_last_of
7125         tests here.
7126         * testsuite/21_strings/basic_string/rfind/char/3.cc: find_last_not_of
7127         tests here.
7128         * testsuite/21_strings/basic_string/rfind/wchar_t/2.cc: likewise,
7129         wchar_t find_last_of tests here.
7130         * testsuite/21_strings/basic_string/rfind/wchar_t/3.cc: likewise,
7131         wchar_t find_last_not_of tests here.
7132
7133 2003-03-22  Loren J. Rittle  <ljrittle@acm.org>
7134
7135         * config/os/hpux/ctype_noninline.h (ctype<char>::classic_table):
7136         Correct return value.
7137
7138 2003-03-21  Jerry Quinn  <jlquinn@optonline.net>
7139
7140         PR libstdc++/5730
7141         * include/bits/c++config (_GLIBCPP_FAST_MATH): Define.
7142         * include/std/std_complex.h (norm):  Use faster,
7143         less accurate computation for builtin float types under --fast-math.
7144
7145 2003-03-21  Magnus Fromreide  <gnats@magfr.user.lysator.liu.se>
7146
7147         * testsuite/testsuite_hooks.h: Fix warning nits.
7148
7149 2003-03-19  Alexandre Oliva  <aoliva@redhat.com>
7150
7151         * config/cpu/mips/atomicity.h (__exchange_and_add, __atomic_add):
7152         Only .set mips2 for the o32 ABI.
7153
7154 2003-03-19  Paolo Carlini  <pcarlini@unitus.it>
7155
7156         * testsuite/21_strings/char_traits/requirements/char/1.cc:
7157         Test char not wchar_t.
7158
7159 2003-03-18  Paolo Carlini  <pcarlini@unitus.it>
7160
7161         * testsuite/21_strings/basic_string/append/wchar_t/1.cc:
7162         Correct size, taking into account sizeof(wchar_t).
7163
7164 2003-03-18  Paolo Carlini  <pcarlini@unitus.it>
7165
7166         Reshuffle 21_strings testsuite.
7167         * testsuite/21_strings/append.cc, c_strings.cc, invariants.cc,
7168         assign.cc, ctor_copy_dtor.cc, nonmember.cc, capacity.cc,
7169         element_access.cc, operations.cc, char_traits_requirements.cc,
7170         find.cc, replace.cc, char_traits_typedefs.cc, insert.cc, rfind.cc,
7171         compare.cc, inserters_extractors.cc, substr.cc: Split up, add
7172         wchar_t tests as follows.
7173         * 21_strings/basic_string/append/char/1.cc: New.
7174         * 21_strings/basic_string/append/wchar_t/1.cc: New.
7175         * 21_strings/basic_string/assign/char/1.cc: New.
7176         * 21_strings/basic_string/assign/char/2.cc: New.
7177         * 21_strings/basic_string/assign/char/3.cc: New.
7178         * 21_strings/basic_string/assign/wchar_t/1.cc: New.
7179         * 21_strings/basic_string/assign/wchar_t/2.cc: New.
7180         * 21_strings/basic_string/assign/wchar_t/3.cc: New.
7181         * 21_strings/basic_string/capacity/1.cc: New.
7182         * 21_strings/basic_string/capacity/char/1.cc: New.
7183         * 21_strings/basic_string/capacity/char/2.cc: New.
7184         * 21_strings/basic_string/capacity/wchar_t/1.cc: New.
7185         * 21_strings/basic_string/capacity/wchar_t/2.cc: New.
7186         * 21_strings/basic_string/compare/char/1.cc: New.
7187         * 21_strings/basic_string/compare/wchar_t/1.cc: New.
7188         * 21_strings/basic_string/cons/char/1.cc: New.
7189         * 21_strings/basic_string/cons/char/2.cc: New.
7190         * 21_strings/basic_string/cons/char/3.cc: New.
7191         * 21_strings/basic_string/cons/char/4.cc: New.
7192         * 21_strings/basic_string/cons/char/5.cc: New.
7193         * 21_strings/basic_string/cons/wchar_t/1.cc: New.
7194         * 21_strings/basic_string/cons/wchar_t/2.cc: New.
7195         * 21_strings/basic_string/cons/wchar_t/3.cc: New.
7196         * 21_strings/basic_string/cons/wchar_t/4.cc: New.
7197         * 21_strings/basic_string/cons/wchar_t/5.cc: New.
7198         * 21_strings/basic_string/element_access/char/1.cc: New.
7199         * 21_strings/basic_string/element_access/char/2.cc: New.
7200         * 21_strings/basic_string/element_access/char/3.cc: New.
7201         * 21_strings/basic_string/element_access/wchar_t/1.cc: New.
7202         * 21_strings/basic_string/element_access/wchar_t/2.cc: New.
7203         * 21_strings/basic_string/element_access/wchar_t/3.cc: New.
7204         * 21_strings/basic_string/find/char/1.cc: New.
7205         * 21_strings/basic_string/find/wchar_t/1.cc: New.
7206         * 21_strings/basic_string/insert/char/1.cc: New.
7207         * 21_strings/basic_string/insert/char/2.cc: New.
7208         * 21_strings/basic_string/insert/wchar_t/1.cc: New.
7209         * 21_strings/basic_string/insert/wchar_t/2.cc: New.
7210         * 21_strings/basic_string/inserters_extractors/char/1.cc: New.
7211         * 21_strings/basic_string/inserters_extractors/char/4.cc: New.
7212         * 21_strings/basic_string/inserters_extractors/char/5.cc: New.
7213         * 21_strings/basic_string/inserters_extractors/char/6.cc: New.
7214         * 21_strings/basic_string/inserters_extractors/char/7.cc: New.
7215         * 21_strings/basic_string/inserters_extractors/char/8.cc: New.
7216         * 21_strings/basic_string/inserters_extractors/char/9.cc: New.
7217         * 21_strings/basic_string/inserters_extractors/wchar_t/1.cc: New.
7218         * 21_strings/basic_string/inserters_extractors/wchar_t/4.cc: New.
7219         * 21_strings/basic_string/inserters_extractors/wchar_t/5.cc: New.
7220         * 21_strings/basic_string/inserters_extractors/wchar_t/6.cc: New.
7221         * 21_strings/basic_string/inserters_extractors/wchar_t/7.cc: New.
7222         * 21_strings/basic_string/inserters_extractors/wchar_t/8.cc: New.
7223         * 21_strings/basic_string/inserters_extractors/wchar_t/9.cc: New.
7224         * 21_strings/basic_string/operators/char/1.cc: New.
7225         * 21_strings/basic_string/operators/char/2.cc: New.
7226         * 21_strings/basic_string/operators/wchar_t/1.cc: New.
7227         * 21_strings/basic_string/operators/wchar_t/2.cc: New.
7228         * 21_strings/basic_string/replace/char/1.cc: New.
7229         * 21_strings/basic_string/replace/char/2.cc: New.
7230         * 21_strings/basic_string/replace/char/3.cc: New.
7231         * 21_strings/basic_string/replace/char/4.cc: New.
7232         * 21_strings/basic_string/replace/char/5.cc: New.
7233         * 21_strings/basic_string/replace/wchar_t/1.cc: New.
7234         * 21_strings/basic_string/replace/wchar_t/2.cc: New.
7235         * 21_strings/basic_string/replace/wchar_t/3.cc: New.
7236         * 21_strings/basic_string/replace/wchar_t/4.cc: New.
7237         * 21_strings/basic_string/replace/wchar_t/5.cc: New.
7238         * 21_strings/basic_string/rfind/char/1.cc: New.
7239         * 21_strings/basic_string/rfind/char/2.cc: New.
7240         * 21_strings/basic_string/rfind/char/3.cc: New.
7241         * 21_strings/basic_string/rfind/wchar_t/1.cc: New.
7242         * 21_strings/basic_string/rfind/wchar_t/2.cc: New.
7243         * 21_strings/basic_string/rfind/wchar_t/3.cc: New.
7244         * 21_strings/basic_string/substr/char/1.cc: New.
7245         * 21_strings/basic_string/substr/wchar_t/1.cc: New.
7246         * 21_strings/c_strings/char/1.cc: New.
7247         * 21_strings/c_strings/char/2.cc: New.
7248         * 21_strings/c_strings/wchar_t/1.cc: New.
7249         * 21_strings/c_strings/wchar_t/2.cc: New.
7250         * 21_strings/char_traits/requirements/char/1.cc: New.
7251         * 21_strings/char_traits/requirements/wchar_t/1.cc: New.
7252         * 21_strings/char_traits/typedefs/char/1.cc: New.
7253
7254 2003-03-17  Paolo Carlini  <pcarlini@unitus.it>
7255             Petur Runolfsson  <peturr02@ru.is>
7256
7257         PR libstdc++/10097
7258         * src/fstream.cc (basic_filebuf<char>::_M_underflow_common,
7259         basic_filebuf<wchar_t>::_M_underflow_common):
7260         if (gptr() < egptr()) return *gptr().
7261         * testsuite/27_io/filebuf_virtuals.cc (test16): Add.
7262
7263         * testsuite/27_io/filebuf_members.cc (test_04): Minor
7264         changes: unlink fifo before making it, fix spelling error.
7265
7266 2003-03-17  Benjamin Kosnik  <bkoz@redhat.com>
7267
7268         * testsuite/Makefile.am (CLEANFILES): Add tmp*.
7269         * testsuite/Makefile.in: Regenerate.
7270         * testsuite/27_io/filebuf_members.cc: Consistently name tmp files.
7271         Cleanups.
7272
7273 2003-03-17  Petur Runolfsson  <peturr02@ru.is>
7274
7275         PR libstdc++/9964
7276         * include/bits/fstream.tcc (basic_filebuf::close):
7277         Always close file, even when write fails.
7278         * testsuite/27_io/filebuf_members.cc (test_07):  New test.
7279
7280 2003-03-17  Danny Smith  <dannysmith@users.sourceforge.net>
7281
7282         * libsupc++/Makefile.am (C_COMPILE): Remove.
7283         (LTCOMPILE): Likewise.
7284         * libsupc++/Makefile.in: Regenerate.
7285
7286 2003-03-14  Benjamin Kosnik  <bkoz@redhat.com>
7287
7288         * testsuite/23_containers/bitset_members.cc: Add test variable.
7289         * testsuite/23_containers/map_insert.cc: Same.
7290         * testsuite/22_locale/ctype/cons/char/1.cc: Same.
7291         * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc: Same.
7292         * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Same.
7293         * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Same.
7294         * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Same.
7295         * testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc: Same.
7296         * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Same.
7297         * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Same.
7298         * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Same.
7299         * testsuite/27_io/istream_exception.cc: Same.
7300         * testsuite/27_io/filebuf_virtuals.cc: Same.
7301         * testsuite/27_io/stringbuf_virtuals.cc: Same.
7302         * testsuite/27_io/ostream_inserter_arith.cc: Same.
7303         * testsuite/26_numerics/valarray_operators.cc: Same.
7304         * testsuite/26_numerics/slice.cc: Same.
7305         * testsuite/26_numerics/slice_array_assignment.cc: Same.
7306         * testsuite/24_iterators/istream_iterator.cc: Same.
7307         * mkcheck.in (TESTS_FILE): Use dejagnu-generated file if possible.
7308
7309 2003-03-14  Petur Runolfsson  <peturr02@ru.is>
7310
7311         PR libstdc++/9581
7312         PR libstdc++/9870
7313         * config/locale/generic/ctype_members.cc,
7314         * config/locale/gnu/ctype_members.cc
7315         (ctype<wchar_t>::do_widen(char)):  Cast argument to
7316         unsigned char before passing to btowc.
7317         (ctype<wchar_t>::do_widen(const char*, const char*, wchar_t*)):
7318         Convert characters with btowc instead of mbsrtowcs.
7319         (ctype<wchar_t>::do_narrow(const wchar_t*, const wchar_t*,
7320         char, char*):
7321         Convert characters with wctob instead of wcsrtombs.
7322         * testsuite/22_locale/ctype/narrow/wchar_t/3.cc:  New test.
7323         * testsuite/22_locale/ctype/widen/wchar_t/2.cc:  New test.
7324         * testsuite/22_locale/ctype/widen/wchar_t/3.cc:  New test.
7325
7326 2003-03-14  Benjamin Kosnik  <bkoz@redhat.com>
7327
7328         * include/stdc++.h: New.
7329         * libsupc++/exception_defines.h (__EXCEPTION_DEFINES_H): Add guard.
7330         * include/Makefile.am (stamp-std-precompile): Generate stdc++.h.gch
7331         * include/Makefile.in: Regenerate.
7332         * testsuite_flags.in (--build-cxx): Add, but don't use PCHFLAGS.
7333         (--cxxflags): Put -g -O2 here.
7334         * testsuite/libstdc++-v3.dg/dg.exp: Remove -g -O2 here.
7335
7336 2003-03-14  Loren J. Rittle  <ljrittle@acm.org>
7337
7338         * testsuite/testsuite_hooks.h: Suppress runtime exception thrown by
7339         missing named locale.
7340
7341 2003-03-14  Andreas Schwab  <schwab@suse.de>
7342
7343         * configure.in: Only append to makefiles that are newly created to
7344         avoid multiple multi-do/multi-clean rules.
7345         * configure: Rebuilt.
7346
7347 2003-03-13  Jonathan Wakely  <redi@gcc.gnu.org>
7348
7349         * docs/html/configopts.html, docs/html/documentation.html,
7350         docs/html/explanations.html, docs/html/install.html,
7351         docs/html/19_diagnostics/howto.html, docs/html/faq/index.html: Fix
7352         invalid XHTML and make page header style consistent.
7353
7354 2003-03-12  Jonathan Wakely  <redi@gcc.gnu.org>
7355
7356         * docs/html/faq/index.html: Explain memory "leaks" due to allocators.
7357         * docs/html/faq/index.txt: Regenerate.
7358         * docs/html/debug.html: Add a bit to allocator text and fix XHTML.
7359
7360 2003-03-12  Andreas Schwab  <schwab@suse.de>
7361
7362         * acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Avoid trailing /. in
7363         glibcpp_toolexeclibdir.
7364         * aclocal.m4, configure: Rebuilt.
7365
7366 2003-03-11  Jonathan Wakely  <redi@gcc.gnu.org>
7367
7368         * docs/html/faq/index.html: Update text about location of headers.
7369         * docs/html/faq/index.txt: Regenerate.
7370
7371 2003-03-11  Carlo Wood  <carlo@alinoe.com>
7372
7373         * include/bits/demangle.h: Prepend accessors of
7374         class qualifier with 'get_' in order to fix warnings
7375         when compiling with -Wshadow.
7376
7377 2003-03-11  Loren J. Rittle  <ljrittle@acm.org>
7378
7379         * config/os/bsd/freebsd/ctype_inline.h:  Support _M_table
7380         when so installed.
7381         * testsuite/22_locale/ctype/cons/char/1.cc: Fix typo.
7382
7383         * testsuite/testsuite_hooks.h (run_tests_wrapped_env): Do not
7384         report lack of setenv().
7385
7386 2003-03-09  Paolo Carlini  <pcarlini@unitus.it>
7387
7388         * config/io/basic_file_stdio.cc: include <unistd.h>.
7389
7390 2003-03-09  Paolo Carlini  <pcarlini@unitus.it>
7391             Nathan Myers  <ncm@cantrip.org>
7392
7393         PR libstdc++/7744
7394         * config/io/basic_file_stdio.h (__basic_file<>::xsgetn, xsputn,
7395         seekoff, seekpos): Add a boolean parameter __stdio.
7396         * config/io/basic_file_stdio.cc (__basic_file<>::xsgetn, xsputn,
7397         seekoff, seekpos): If __stdio == true, use fread (fwrite, fseek/ftell,
7398         fseek/ftell, respectively), otherwise read (write, lseek, lseek,
7399         respectively).
7400         * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external,
7401         _M_really_overflow, seekoff): Use the boolean parameter in the calls.
7402         * include/std/std_fstream.h (sync): Likewise.
7403         * src/fstream.cc (basic_filebuf<>::_M_underflow_common): Likewise.
7404         * src/ios.cc (ios_base::Init::_S_ios_create(bool)): Revert
7405         libstdc++/8399 commit involving isatty(0).
7406         * acinclude.m4 (GLIBCPP_CHECK_UNISTD_DECL_AND_LINKAGE_1): Remove.
7407         (GLIBCPP_CHECK_UNISTD_SUPPORT): Remove
7408         * configure.in: Remove call.
7409         * aclocal.m4: Regenerate.
7410         * config.h.in: Regenerate.
7411         * configure: Regenerate.
7412         * testsuite/27_io/narrow_stream_objects.cc (test11): Add.
7413
7414 2003-03-09  Paolo Carlini  <pcarlini@unitus.it>
7415
7416         PR libstdc++/9988
7417         * include/bits/fstream.tcc (overflow): don't write EOF to file.
7418         * testsuite/27_io/filebuf_virtuals.cc (test15): Add.
7419
7420 2003-03-08  Jerry Quinn  <jlquinn@optonline.net>
7421
7422         PR libstdc++/9561
7423         * include/bits/basic_ios.h (_M_setstate): New.
7424         * include/bits/ostream.tcc (operator<<): Use it.
7425         * include/bits/istream.tcc (operator>>): Use it.
7426         * include/std/std_ostream.h (operator<<): Make friends.
7427         * include/std/std_istream.h (operator>>): Make friends.
7428         * testsuite/27_io/ostream_exception.cc,
7429         testsuite/27_io/istream_exception.cc: New tests.
7430
7431 2003-03-08  Benjamin Kosnik  <bkoz@redhat.com>
7432
7433         * include/bits/locale_facets.tcc: Fix typo.
7434
7435 2003-03-08  Loren J. Rittle  <ljrittle@acm.org>
7436
7437         * testsuite/26_numerics/c99_classification_macros_c.cc: Tweak test.
7438
7439         * config/locale/generic/c_locale.cc
7440         (locale::facet::_S_create_c_locale): Throw runtime exception when
7441         unsupported language is specified.
7442         * testsuite/testsuite_hooks.h
7443         (run_test_wrapped_generic_locale_exception_catcher): New function.
7444         * testsuite/testsuite_hooks.cc (run_tests_wrapped_locale):
7445         Suppress runtime exception thrown by generic implementation.
7446         (run_tests_wrapped_env): Likewise.
7447         (run_test_wrapped_generic_locale_exception_catcher): New function.
7448         * testsuite/22_locale/collate/compare/char/1.cc: New test wrap.
7449         * testsuite/22_locale/collate/compare/char/2.cc: New test wrap.
7450         * testsuite/22_locale/collate/compare/char/3.cc: New test wrap.
7451         * testsuite/22_locale/collate/hash/char/2.cc: New test wrap.
7452         * testsuite/22_locale/collate/transform/char/2.cc: New test wrap.
7453         * testsuite/22_locale/collate/transform/char/3.cc: New test wrap.
7454         * testsuite/22_locale/collate_byname/1.cc: New test wrap.
7455         * testsuite/22_locale/ctype/is/char/2.cc: New test wrap.
7456         * testsuite/22_locale/facet/2.cc: New test wrap.
7457         * testsuite/22_locale/locale/cons/4.cc: New test wrap.
7458         * testsuite/22_locale/locale/cons/5.cc: New test wrap.
7459         * testsuite/22_locale/locale/cons/7.cc: New test wrap.
7460         * testsuite/22_locale/messages/members/char/1.cc: New test wrap.
7461         * testsuite/22_locale/messages/members/char/2.cc: New test wrap.
7462         * testsuite/22_locale/messages/members/char/3.cc: New test wrap.
7463         * testsuite/22_locale/messages_byname/1.cc: New test wrap.
7464         * testsuite/22_locale/money_get/get/char/1.cc: New test wrap.
7465         * testsuite/22_locale/money_get/get/char/2.cc: New test wrap.
7466         * testsuite/22_locale/money_get/get/char/3.cc: New test wrap.
7467         * testsuite/22_locale/money_get/get/char/4.cc: New test wrap.
7468         * testsuite/22_locale/money_put/put/char/1.cc: New test wrap.
7469         * testsuite/22_locale/money_put/put/char/2.cc: New test wrap.
7470         * testsuite/22_locale/money_put/put/char/3.cc: New test wrap.
7471         * testsuite/22_locale/moneypunct/members/char/2.cc: New test wrap.
7472         * testsuite/22_locale/moneypunct_byname/1.cc: New test wrap.
7473         * testsuite/22_locale/num_get/get/char/1.cc: New test wrap.
7474         * testsuite/22_locale/num_get/get/char/2.cc: New test wrap.
7475         * testsuite/22_locale/num_get/get/char/3.cc: New test wrap.
7476         * testsuite/22_locale/num_get/get/char/5.cc: New test wrap.
7477         * testsuite/22_locale/num_get/get/char/6.cc: New test wrap.
7478         * testsuite/22_locale/num_put/put/char/1.cc: New test wrap.
7479         * testsuite/22_locale/num_put/put/char/2.cc: New test wrap.
7480         * testsuite/22_locale/num_put/put/char/3.cc: New test wrap.
7481         * testsuite/22_locale/num_put/put/char/5.cc: New test wrap.
7482         * testsuite/22_locale/numpunct/members/char/1.cc: New test wrap.
7483         * testsuite/22_locale/numpunct/members/char/2.cc: New test wrap.
7484         * testsuite/22_locale/numpunct_byname/1.cc: New test wrap.
7485         * testsuite/22_locale/numpunct_byname/2.cc: New test wrap.
7486         * testsuite/22_locale/time_get/date_order/char/1.cc: New test wrap.
7487         * testsuite/22_locale/time_get/get_date/char/1.cc: New test wrap.
7488         * testsuite/22_locale/time_get/get_date/char/2.cc: New test wrap.
7489         * testsuite/22_locale/time_get/get_monthname/char/1.cc: New test wrap.
7490         * testsuite/22_locale/time_get/get_monthname/char/2.cc: New test wrap.
7491         * testsuite/22_locale/time_get/get_time/char/1.cc: New test wrap.
7492         * testsuite/22_locale/time_get/get_time/char/2.cc: New test wrap.
7493         * testsuite/22_locale/time_get/get_weekday/char/1.cc: New test wrap.
7494         * testsuite/22_locale/time_get/get_weekday/char/2.cc: New test wrap.
7495         * testsuite/22_locale/time_get/get_year/char/1.cc: New test wrap.
7496         * testsuite/22_locale/time_put/put/char/1.cc: New test wrap.
7497         * testsuite/22_locale/time_put/put/char/2.cc: New test wrap.
7498         * testsuite/22_locale/time_put/put/char/3.cc: New test wrap.
7499         * testsuite/22_locale/time_put/put/char/4.cc: New test wrap.
7500         * testsuite/22_locale/time_put/put/char/5.cc: New test wrap.
7501         * testsuite/22_locale/time_put/put/char/6.cc: New test wrap.
7502         * testsuite/22_locale/time_put/put/char/7.cc: New test wrap.
7503         * testsuite/22_locale/time_put/put/char/8.cc: New test wrap.
7504         * testsuite/27_io/filebuf_virtuals.cc: New test wrap.
7505         * testsuite/27_io/ios_members.cc: New test wrap.
7506         * testsuite/27_io/ostream_inserter_arith.cc (test02): Make void.
7507         New test wrap.
7508         * testsuite/27_io/streambuf_members.cc: New test wrap.
7509         * testsuite/27_io/stringbuf_virtuals.cc: New test wrap.
7510
7511 2003-03-08  Paolo Carlini <pcarlini@unitus.it>
7512             Petur Runolfsson  <peturr02@ru.is>
7513
7514         PR libstdc++/9424
7515         * include/bits/streambuf.tcc (__copy_streambufs): Use
7516         sgetn-sputn only when sputn cannot fail, otherwise fall back
7517         to safe snextc-sputc.
7518         * testsuite/27_io/streambuf_members.cc (test11, test12): Add.
7519
7520 2003-03-08  Jerry Quinn  <jlquinn@optonline.net>
7521
7522         * include/bits/locale_facets.tcc (num_put::do_put(bool)): Use
7523         locale cache for truename and falsename.
7524
7525 2003-03-08  Jerry Quinn  <jlquinn@optonline.net>
7526
7527         * src/ios.cc (ios_base::ios_base): Correct order of _M_word and
7528         _M_word_size initialization.
7529
7530 2003-03-07  Paolo Carlini  <pcarlini@unitus.it>
7531
7532         * include/bits/fstream.tcc (_M_convert_to_external):
7533         Set __elen to zero if codecvt::out eventually fails.
7534
7535 2003-03-07  Paolo Carlini  <pcarlini@unitus.it>
7536
7537         PR libstdc++/9182
7538         * include/bits/fstream.tcc (_M_really_overflow): Check
7539         for _M_convert_to_external possible failures.
7540         * include/std/std_fstream.h (sync): Check _M_really_overflow
7541         return value and return -1 in case of failure.
7542         * testsuite/27_io/filebuf_virtuals.cc (test13, test14): Add.
7543
7544 2003-03-07  Paolo Carlini  <pcarlini@unitus.it>
7545
7546         PR libstdc++/9826
7547         * include/bits/istream.tcc (operator>>(_CharT*),
7548         operator>>(basic_string&), ws): Pass a char_type to __ctype.is.
7549         * testsuite/27_io/stringstream.cc (test02): Add.
7550
7551         * include/bits/istream.tcc (operator>>(_CharT*)):
7552         Assign a char_type to *__s.
7553
7554 2003-03-07  Petur Runolfsson  <peturr02@ru.is>
7555
7556         PR libstdc++/9817
7557         * include/bits/locale_facets.tcc
7558         (collate::do_compare, collate::do_transform):
7559         Handle nul characters in input.
7560         * testsuite/22_locale/collate/compare/char/3.cc:  New test.
7561         * testsuite/22_locale/collate/compare/wchar_t/3.cc:  New test.
7562         * testsuite/22_locale/collate/transform/char/3.cc:  New test.
7563         * testsuite/22_locale/collate/transform/wchar_t/3.cc:  New test.
7564
7565 2003-03-07  Jerry Quinn  <jlquinn@optonline.net>
7566
7567         * include/bits/streambuf_iterator.h (_M_put): Set _M_failed if
7568         sputn fails.
7569         * testsuite/27_io/ostream_fail.cc: New test.
7570
7571 2003-03-07  Matthias Klose  <doko@debian.org>
7572
7573         * Makefile.am (AM_MAKEFLAGS): Also pass gxx_include_dir.
7574         FLAGS_TO_PASS: Set to AM_MAKEFLAGS
7575         * Makefile.in: Regenerate.
7576         * libsupc++/Makefile.am: Express glibcppinstalldir in terms
7577         of gxx_include_dir.
7578         AM_MAKEFLAGS: Pass gxx_include_dir.
7579         * libsupc++/Makefile.in: Regenerate.
7580
7581 2003-03-06  Jerry Quinn  <jlquinn@optonline.net>
7582
7583         * testsuite/27_io/ios_base_storage.cc (test02): Set exception
7584         mask.  Test setting small-numbered pword and iword slots.  Test
7585         behavior at limit of numeric_limits::max.  Check that values are
7586         still good after failures.
7587
7588 2003-03-06  Jerry Quinn  <jlquinn@optonline.net>
7589
7590         * src/ios.cc (ios_base::_M_init): Remove _M_word_size.
7591         (ios_base::ios_base): Set _M_word, _M_word_size.
7592         (ios_base::~ios_base): Remove redundant test.
7593         * testsuite/27_io/ios_base_storage.cc (test03): New.
7594
7595 2003-03-04  Alexandre Oliva  <aoliva@redhat.com>
7596
7597         * src/strstream.cc, include/bits/basic_string.tcc: Remove
7598         incorrect whitespace added in my previous change.
7599
7600 2003-03-05  Carlo Wood  <carlo@alinoe.com>
7601
7602         * include/bits/ios_base.h(ios_base::Init::_S_initialized()): Added
7603         _S_initialized() in order to allow debugging libraries to detect
7604         when the std streams are initialized from an overloaded operator
7605         new.
7606
7607 2003-03-05  Benjamin Kosnik  <bkoz@redhat.com>
7608
7609         * libsupc++/demangle.h: Move to..
7610         * include/bits/demangle.h: ...here.
7611         * src/demangle.cc: Adjust include.
7612         * include/Makefile.am (bits_headers): Add.
7613         * include/Makefile.in: Regenerate.
7614
7615 2003-03-04  Benjamin Kosnik  <bkoz@redhat.com>
7616
7617         * src/globals.cc: Clarify comments, remove c_locale_imp_compat.
7618
7619         * config/linker-map.gnu: Filter typeinfo and vtable info.
7620
7621 2003-03-04  Jerry Quinn  <jlquinn@optonline.net>
7622
7623         * src/ios.cc (ios_base::_M_grow_words): Don't delete _M_word on
7624         new failure.  Throw exception if badbit and exception mask when ix
7625         >= numeric_limits<int>::max().
7626
7627 2003-03-04  Alexandre Oliva  <aoliva@redhat.com>
7628
7629         * src/strstream.cc (strstreambuf::overflow): Make sure operands of
7630         min and max have the same type.
7631         * include/bits/basic_string.tcc (append, rfind, compare): Likewise.
7632
7633 2003-03-04  Benjamin Kosnik  <bkoz@redhat.com>
7634
7635         * include/Makefile.am (allstamps): Remove stamp-std-precompile.
7636         * include/Makefile.in: Regenerate.
7637
7638 2003-03-03  Benjamin Kosnik  <bkoz@redhat.com>
7639
7640         * testsuite/abi_check.cc (report_symbol_info): Add version info.
7641
7642         * config/linker-map.gnu: Hide more stuff.
7643         * include/Makefile.am: Cleanups.
7644         * include/Makefile.in: Regenerate.
7645
7646 2003-02-27  Jerry Quinn  <jlquinn@optonline.net>
7647
7648         * config/locale/generic/messages_members.h (messages::messages):
7649         Remove name from unused parameter.
7650
7651 2003-02-27  Benjamin Kosnik  <bkoz@redhat.com>
7652
7653         * src/Makefile.am (sources): Add demangle.cc.
7654         (demangle.o): Add.
7655         (demangle.lo): Add.
7656         * src/Makefile.in: Regenerate.
7657         * libsupc++/Makefile.am: Remove old __cxa_demangle bits.
7658         * libsupc++/Makefile.in: Regenerate.
7659
7660         * testsuite/testsuite_hooks.h
7661         (__gnu_cxx_test::verify_demangle): New.
7662         * testsuite/testsuite_hooks.cc: Define.
7663
7664 2003-02-27  Carlo Wood  <carlo@alinoe.com>
7665
7666         * src/demangle.cc: New.
7667         * libsupc++/demangle.h: New.
7668
7669 2003-02-27  Benjamin Kosnik  <bkoz@redhat.com>
7670             Carlo Wood  <carlo@alinoe.com>
7671
7672         * testsuite/demangle/abi_examples/01.cc: New.
7673         * testsuite/demangle/abi_examples/02.cc: New.
7674         * testsuite/demangle/abi_examples/03.cc: New.
7675         * testsuite/demangle/abi_examples/04.cc: New.
7676         * testsuite/demangle/abi_examples/05.cc: New.
7677         * testsuite/demangle/abi_examples/06.cc: New.
7678         * testsuite/demangle/abi_examples/07.cc: New.
7679         * testsuite/demangle/abi_examples/08.cc: New.
7680         * testsuite/demangle/abi_examples/09.cc: New.
7681         * testsuite/demangle/abi_examples/10.cc: New.
7682         * testsuite/demangle/abi_examples/11.cc: New.
7683         * testsuite/demangle/abi_examples/12.cc: New.
7684         * testsuite/demangle/abi_examples/13.cc: New.
7685         * testsuite/demangle/abi_examples/14.cc: New.
7686         * testsuite/demangle/abi_examples/15.cc: New.
7687         * testsuite/demangle/abi_examples/16.cc: New.
7688         * testsuite/demangle/abi_examples/17.cc: New.
7689         * testsuite/demangle/abi_examples/18.cc: New.
7690         * testsuite/demangle/abi_examples/19.cc: New.
7691         * testsuite/demangle/abi_examples/20.cc: New.
7692         * testsuite/demangle/abi_examples/21.cc: New.
7693         * testsuite/demangle/abi_examples/22.cc: New.
7694         * testsuite/demangle/abi_examples/23.cc: New.
7695         * testsuite/demangle/abi_examples/24.cc: New.
7696         * testsuite/demangle/abi_examples/25.cc: New.
7697         * testsuite/demangle/abi_examples/26.cc: New.
7698         * testsuite/demangle/abi_text/01.cc: New.
7699         * testsuite/demangle/abi_text/02.cc: New.
7700         * testsuite/demangle/abi_text/03.cc: New.
7701         * testsuite/demangle/abi_text/04.cc: New.
7702         * testsuite/demangle/abi_text/05.cc: New.
7703         * testsuite/demangle/abi_text/06.cc: New.
7704         * testsuite/demangle/abi_text/07.cc: New.
7705         * testsuite/demangle/abi_text/08.cc: New.
7706         * testsuite/demangle/abi_text/09.cc: New.
7707         * testsuite/demangle/abi_text/10.cc: New.
7708         * testsuite/demangle/abi_text/11.cc: New.
7709         * testsuite/demangle/abi_text/12.cc: New.
7710         * testsuite/demangle/abi_text/13.cc: New.
7711         * testsuite/demangle/abi_text/14.cc: New.
7712         * testsuite/demangle/regression/3111-1.cc: New.
7713         * testsuite/demangle/regression/3111-2.cc: New.
7714         * testsuite/demangle/regression/7986-01.cc: New.
7715         * testsuite/demangle/regression/7986-02.cc: New.
7716         * testsuite/demangle/regression/7986-03.cc: New.
7717         * testsuite/demangle/regression/7986-04.cc: New.
7718         * testsuite/demangle/regression/7986-05.cc: New.
7719         * testsuite/demangle/regression/7986-06.cc: New.
7720         * testsuite/demangle/regression/7986-07.cc: New.
7721         * testsuite/demangle/regression/7986-08.cc: New.
7722         * testsuite/demangle/regression/7986-09.cc: New.
7723         * testsuite/demangle/regression/7986-10.cc: New.
7724         * testsuite/demangle/regression/7986-11.cc: New.
7725         * testsuite/demangle/regression/7986-12.cc: New.
7726         * testsuite/demangle/regression/7986.cc: New.
7727         * testsuite/demangle/regression/8897.cc: New.
7728         * testsuite/demangle/regression/cw-01.cc: New.
7729         * testsuite/demangle/regression/cw-02.cc: New.
7730         * testsuite/demangle/regression/cw-03.cc: New.
7731         * testsuite/demangle/regression/cw-04.cc: New.
7732         * testsuite/demangle/regression/cw-05.cc: New.
7733         * testsuite/demangle/regression/cw-06.cc: New.
7734         * testsuite/demangle/regression/cw-07.cc: New.
7735         * testsuite/demangle/regression/cw-08.cc: New.
7736         * testsuite/demangle/regression/cw-09.cc: New.
7737         * testsuite/demangle/regression/cw-10.cc: New.
7738         * testsuite/demangle/regression/cw-11.cc: New.
7739         * testsuite/demangle/regression/cw-12.cc: New.
7740         * testsuite/demangle/regression/cw-13.cc: New.
7741         * testsuite/demangle/regression/cw-14.cc: New.
7742         * testsuite/demangle/regression/old.cc: New.
7743
7744 2003-02-25  Phil Edwards  <pme@gcc.gnu.org>
7745
7746         * docs/doxygen/Intro.3:  Update with new (proper) names.
7747         * docs/doxygen/TODO:  Update.
7748         * docs/doxygen/run_doxygen:  More comments, fix up man pages.
7749         Fake entries for standard typedefs.
7750         * docs/doxygen/user.cfg.in:  Turn INLINE_INHERITED_MEMB back on.
7751         * docs/html/documentation.html:  Top-level man page is now called
7752         C++Intro.
7753         * include/std/std_limits.h:  Doxygenate.
7754
7755 2003-02-25  Scott Snyder  <snyder@fnal.gov>
7756
7757         PR libstdc++/9811
7758         * include/bits/stl_map.h (lower_bound, upper_bound, equal_range):
7759         Correct documentation.
7760         * include/bits/stl_multimap.h (lower_bound, upper_bound,
7761         equal_range): Likewise.
7762
7763 2003-02-24  Paolo Carlini  <pcarlini@unitus.it>
7764
7765         PR libstdc++/9825
7766         * src/fstream.cc
7767         (basic_filebuf<char/wchar_t>::_M_underflow_common): When
7768         __bump is true (uflow), always increment the read pointer
7769         (_M_in_cur) before returning successfully.
7770         * testsuite/27_io/filebuf_virtuals.cc (test12): Add.
7771
7772 2003-02-24  Paolo Carlini <pcarlini@unitus.it>
7773             Nathan Myers <ncm@cantrip.org>
7774
7775         PR libstdc++/9404, PR libstdc++/9701 (partial)
7776         (aka pptr == epptr implies overflow)
7777         * include/bits/fstream.tcc (_M_allocate_internal_buffer):
7778         Consistently, _M_out_end points to the end of the buffer just
7779         created.
7780         (overflow): Tweak to use _M_out_buf_size().
7781         (_M_convert_to_external): The role of the old _M_out_end is
7782         now played by _M_out_lim.
7783         (_M_really_overflow): Likewise.
7784         (seekoff): Likewise.
7785         (setbuf): _M_out_end points to the end of the external buffer.
7786         * include/bits/sstream.tcc (overflow): Rewrote, taking into
7787         account the resolution of DR 169 (TC).
7788         (seekoff): Use _M_string.capacity(); ios_base::end is now _M_out_lim.
7789         (seekpos): Use _M_string.capacity(); tweak.
7790         * include/bits/streambuf.tcc (sputc, xsputn): Remove comments.
7791         * include/std/std_fstream.h (sync): The role of the old
7792         _M_out_end is now played by _M_out_lim.
7793         (_M_set_indeterminate): Use _M_set_determinate.
7794         (_M_set_determinate): _M_out_end is now _M_out_lim.
7795         (_M_is_indeterminate): Likewise.
7796         * include/std/std_sstream.h (str()): _M_out_end is now _M_out_lim.
7797         (_M_stringbuf_init): Don't set _M_buf_size, unused for sstreams,
7798         which have the information readily available as _M_string.capacity();
7799         for ate and app modes, pass the string size to _M_really_sync.
7800         (_M_really_sync): Consistently set _M_out_end and _M_out_lim, to
7801         point to the end of the buffer (i.e., epptr) and to the string end,
7802         respectively.
7803         * include/std/std_streambuf.h: tweak comments, add _M_out_lim,
7804         which points to the right limit of the used put area.
7805         (_M_out_cur_move): The role of the old _M_out_end is now played
7806         by _M_out_lim.
7807         (_M_out_buf_size): Simplify: now (when _M_out_cur) return simply
7808         _M_out_end  - _M_out_cur (i.e., pptr), _very_ close to the letter
7809         of the standard.
7810         (basic_streambuf()): Initialize _M_out_lim too.
7811         * testsuite/27_io/filebuf_virtuals.cc (test10): Trivial tweak.
7812         * testsuite/27_io/filebuf_virtuals.cc (test11): Add.
7813         * testsuite/27_io/stringbuf_virtuals.cc (test09): Add.
7814
7815 2003-02-24  Benjamin Kosnik  <bkoz@redhat.com>
7816
7817         * testsuite/27_io/ios_base_storage.cc (main): Call
7818         set_memory_limits.
7819
7820 2003-02-21  Jerry Quinn  <jlquinn@optonline.net>
7821
7822         * include/bits/locale_facets.tcc (_M_convert_float): Replace
7823         numpunct facet accesses with data from __locale_cache.
7824
7825 2003-02-20  Phil Edwards  <pme@gcc.gnu.org>
7826
7827         * docs/html/faq/index.html (3.9):  New note, wchar_t on FreeBSD.
7828         * docs/html/faq/index.txt:  Regenerate.
7829
7830 2003-02-20  Phil Edwards  <pme@gcc.gnu.org>
7831
7832         * config/linker-map.gnu:  Also export locking symbols needed for the
7833         generic atomicity.h case.
7834
7835 2003-02-20  Alexandre Oliva  <aoliva@redhat.com>
7836
7837         * configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to
7838         config.status.
7839         * configure: Rebuilt.
7840
7841 2003-02-19  Paolo Carlini  <pcarlini@unitus.it>
7842
7843         * include/bits/sstream.tcc (overflow): According to
7844         27.7.1.3, p5, actual output is performed by sputc(c).
7845
7846 2003-02-19  Phil Edwards  <pme@gcc.gnu.org>
7847
7848         PR libstdc++/9582
7849         * include/bits/stl_alloc.h:  Remove all traces of assert().
7850
7851 2003-02-18  Paolo Carlini  <pcarlini@unitus.it>
7852
7853         * include/std/std_sstream.h (str()): the size of the
7854         current string may be different from the initial one
7855         whenever _M_out_end > _M_out_beg.
7856         * testsuite/27_io/stringbuf_members.cc (test07): Add.
7857
7858 2003-02-18  Paolo Carlini  <pcarlini@unitus.it>
7859
7860         PR libstdc++/9582
7861         * include/bits/stl_alloc.h (__pool_alloc::allocate): Remove assert.
7862
7863 2003-02-17  Benjamin Kosnik  <bkoz@redhat.com>
7864
7865         * include/bits/basic_ios.tcc (copyfmt): Copy locale data as well.
7866         * testsuite/27_io/ios_members.cc (test03): New.
7867
7868 2003-02-17  Jerry Quinn  <jlquinn@optonline.net>
7869
7870         * include/bits/basic_ios.h (basic_ios::_M_cache_locale): Declare.
7871         (basic_ios::_M_cache_facets): Move into above.
7872         * include/bits/basic_ios.tcc (basic_ios::copyfmt): Rebuild locale
7873         cache.
7874         (basic_ios::imbue): Force locale cache to be built.
7875         (basic_ios::_M_init): Create and initialize locale cache.
7876         * include/bits/ios_base.h (__locale_cache_base): Declare.
7877         (ios_base::_M_locale_cache): New.
7878         (ios_base::_M_cache): Define.
7879         * include/bits/locale_facets.h: (__num_base): Fix comment.  Add
7880         _S_end.
7881         (__locale_cache_base,__locale_cache<_CharT>):  New classes.
7882         (__locale_cache<char>, __locale_cache<wchar_t>): New specializations.
7883         * include/bits/locale_facets.tcc (num_put::_M_convert_int): Use locale
7884         cache literal string, grouping flag, thousands separator.
7885         (__locale_cache<_CharT>::__locale_cache): New.
7886         (__locale_cache<_CharT>::_M_init): New.
7887         * src/ios.cc: Clear _M_locale_cache in constructor.
7888         * src/locale-inst.cc (__locale_cache<char>, __locale_cache<_char_t>):
7889         New.
7890
7891 2003-02-17  Paolo Carlini  <pcarlini@unitus.it>
7892
7893         * src/locale-inst.cc: Do not include <cassert>.
7894         * src/locale.cc: Likewise.
7895
7896 2003-02-17  Paolo Carlini  <pcarlini@unitus.it>
7897
7898         PR libstdc++/9580
7899         * include/std/std_fstream.h: Declare underflow and uflow
7900         specializations, change generic definitions to do nothing.
7901         * src/fstream.cc: Add underflow and uflow specializations.
7902
7903 2003-02-17  Paolo Carlini  <pcarlini@unitus.it>
7904
7905         PR libstdc++/9169
7906         * include/bits/fstream.tcc (_M_convert_to_external):
7907         Deal correctly with noconv, as prescribed by 27.8.1.4,p8.
7908         * testsuite/27_io/filebuf_virtuals.cc (test10): Add.
7909
7910 2003-02-13  Benjamin Kosnik  <bkoz@redhat.com>
7911
7912         * include/bits/c++config (_GLIBCPP_EXTERN_TEMPLATE): Define.
7913         * include/bits/basic_ios.tcc: Guard use of extern template.
7914         * include/std/std_iomanip.h: Same.
7915         * include/bits/streambuf.tcc: Same.
7916         * include/bits/stl_alloc.h: Same.
7917         * include/bits/locale_facets.tcc: Same.
7918         * include/bits/ostream.tcc: Same.
7919         * include/bits/istream.tcc: Same.
7920         * include/bits/fstream.tcc: Same.
7921         * include/bits/basic_string.tcc: Same.
7922
7923 2003-02-13  Paolo Carlini  <pcarlini@unitus.it>
7924
7925         * include/bits/ostream.tcc (sentry::sentry): Improve
7926         performance-wise the fix for libstdc++/9563.
7927
7928 2003-02-12  Phil Edwards  <pme@gcc.gnu.org>
7929
7930         * config/cpu/generic/atomicity.h (_Atomic_add_mutex):  Fix declaration.
7931         (_GLIBCPP_NEED_GENERIC_MUTEX):  Define for this file.
7932         (_Atomic_add_mutex_once, __gthread_atomic_add_mutex_once):  Declare
7933         when we don't have static mutex initialization.
7934         (__exchange_and_add):  Use _Atomic_add_mutex_once.
7935         * src/misc-inst.cc:  Definitions of all the above.
7936
7937 2003-02-12  Paolo Carlini  <pcarlini@unitus.it>
7938
7939         PR libstdc++/9563
7940         * include/bits/ostream.tcc (sentry::sentry): Check
7941         the state of the stream after the preparation.
7942         * testsuite/27_io/ostream_sentry.cc (test02): Add.
7943
7944 2003-02-11  Benjamin Kosnik  <bkoz@redhat.com>
7945
7946         * include/Makefile.am (stamp-std-precompile): Add rule.
7947         * include/Makefile.in: Regenerated.
7948
7949 2003-02-11 Jerry Quinn  <jlquinn@optonline.net>
7950            Benjamin Kosnik  <benjamin@redhat.com>
7951
7952         * include/bits/locale_facets.h (__num_base): Add _S_atoms_out.
7953         Add indexes into this array.
7954         (__num_base::_S_atoms): To _S_atoms_in.
7955         (num_put::_M_insert): Rename to _M_pad.
7956         (num_put::_M_convert_int): Adjust remove __mod, __modl arguments.
7957         (num_put::_M_widen_int): Rename to _M_group_int.
7958         (num_put::_M_widen_float): Rename to _M_group_float.
7959         * include/bits/locale_facets.tcc (__int_to_char): New inline
7960         function and adapter functions.
7961         (num_put::_M_group_int): Streamline.
7962         (num_put::_M_group_float): Streamline.
7963         (num_put::_M_convert_int): Remove unused parameter names. Choose
7964         large enough buffer for text.  Use __int_to_char instead of
7965         __convert_from_v.  Formatted text is now at the end of the buffer.
7966         (num_put::_M_convert_float): Preliminary fixups.
7967         * src/locale-inst.cc (__convert_from_v<long long>): Add ifdef.
7968         (__int_to_char<unsigned long long>): Same.
7969         (__int_to_char<char, unsigned long>): New.
7970         (__int_to_char<char, unsigned long long>): New.
7971         (__int_to_char<wchar_t, unsigned long>): New.
7972         (__int_to_char<wchar_t, unsigned long long>): New.
7973
7974 2003-02-11  Scott Snyder  <snyder@fnal.gov>
7975
7976         PR libstdc++/9659
7977         * include/bits/fstream.tcc (seekoff): Avoid operator+
7978         for pos_type.
7979
7980 2003-02-11  Paolo Carlini  <pcarlini@unitus.it>
7981
7982         PR libstdc++/9320
7983         * include/ext/stdio_filebuf.h
7984         (stdio_filebuf(int, std::ios_base::openmode, bool, int_type),
7985         stdio_filebuf(std::__c_file*, std::ios_base::openmode, int_type)):
7986         Change to take a __size parameter of type size_t, not
7987         of type (template parameter dependent) int_type.
7988         * src/ios.cc (ios_base::Init::_S_ios_create): Change type of
7989         size vars to size_t.
7990         * testsuite/ext/stdio_filebuf.cc: Add.
7991
7992 2003-02-11  Paolo Carlini  <pcarlini@unitus.it>
7993             Petur Runolfsson  <peturr02@ru.is>
7994
7995         PR libstdc++/9318
7996         * include/bits/streambuf.tcc (__copy_streambufs):
7997         Don't conditionalize the copy to __testput.
7998         * testsuite/27_io/streambuf_members.cc (test09, test10): Add.
7999
8000 2002-02-11  DJ Delorie  <dj@redhat.com>
8001
8002         * acinclude.m4: Check for native targets that can't link at
8003         this point in the build.
8004         * aclocal.m4: Regenerate.
8005         * configure: Regenerate.
8006
8007 2003-02-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
8008
8009         * hppa/atomicity.h (__Atomicity_lock<__inst>::_S_atomicity_lock):
8010         Correct alignment.
8011         (__exchange_and_add, __atomic_add): Use PA 2.0 ordered store to reset
8012         lock.
8013
8014 2003-02-07  Paolo Carlini  <pcarlini@unitus.it>
8015
8016         * testsuite/27_io/filebuf_virtuals.cc (test08): Fix for
8017         unsigned char platforms.
8018
8019 2003-02-06  Paolo Carlini  <pcarlini@unitus.it>
8020
8021         PR libstdc++/9562
8022         * include/std/std_istream.h
8023         (basic_istream::sentry::operator bool()): Make const.
8024         * include/std/std_ostream.h
8025         (basic_ostream::sentry::operator bool()): Likewise.
8026         * testsuite/27_io/istream_sentry.cc (test03): Add.
8027         * testsuite/27_io/ostream_sentry.cc: Add.
8028
8029 2003-02-06  Paolo Carlini  <pcarlini@unitus.it>
8030
8031         PR libstdc++/9548
8032         Implement resolution of DR 231 (Ready)
8033         * include/bits/locale_facets.h (__num_base::_S_format_float):
8034         Change declaration: return void, remove __prec parameter.
8035         * src/locale.cc (__num_base::_S_format_float): Implement
8036         resolution of DR 231.
8037         * include/bits/locale_facets.tcc (num_put::_M_convert_float):
8038         Tweak uses. Check for negative precision.
8039         * testsuite/22_locale/num_put/put/char/6.cc: Add
8040         * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
8041
8042 2003-02-06  Peter Soetens  <peter.soetens@mech.kuleuven.ac.be>
8043
8044         * config/io/basic_file_libio.h: Fixups.
8045         * config/io/c_io_libio.h: Same.
8046         * libio/Makefile.am: Same.
8047         * libio/Makefile.in: Regenerated.
8048
8049 2003-02-06  Benjamin Kosnik  <bkoz@redhat.com>
8050
8051         * testsuite/22_locale/codecvt/encoding/wchar_t/1.cc (test01):
8052         Explicitly use the "C" locale.
8053         * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc (test01): Same.
8054
8055 2003-02-06  Petur Runolfsson  <peturr02@ru.is>
8056
8057         DR 75
8058         DR 305
8059         PR libstdc++/9028 (partial)
8060         PR libstdc++/9224
8061         PR libstdc++/9246
8062         PR libstdc++/9247
8063
8064         * src/codecvt.cc
8065         (codecvt<wchar_t, char, mbstate_t>::do_encoding,
8066         codecvt<wchar_t, char, mbstate_t>::do_length,
8067         codecvt<wchar_t, char, mbstate_t>::do_max_length):
8068         Move...
8069         * config/locale/generic/codecvt_members.cc:  ...here.
8070         * config/locale/gnu/codecvt_members.cc:  ...and here.
8071
8072         * config/locale/generic/codecvt_members.cc,
8073         * config/locale/gnu/codecvt_members.cc
8074         (codecvt<wchar_t, char, mbstate_t>::do_encoding
8075         codecvt<wchar_t, char, mbstate_t>::do_in,
8076         codecvt<wchar_t, char, mbstate_t>::do_length,
8077         codecvt<wchar_t, char, mbstate_t>::do_max_length,
8078         codecvt<wchar_t, char, mbstate_t>::do_out):
8079         New implementation that handles stateless encodings,
8080         including UTF-8.
8081
8082         * config/locale/generic/codecvt_members.cc,
8083         * config/locale/gnu/codecvt_members.cc,
8084         * config/locale/ieee_1003.1-2001/codecvt_specializations.h,
8085         * include/bits/codecvt.h,
8086         * src/codecvt.cc
8087         (codecvt::length, codecvt::do_length):
8088         Change type of first argument of length and do_length from
8089         'const state_type&' to 'state_type&' according to DR 75.
8090
8091         * testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc:  Cleanup.
8092         * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc:  New test.
8093         * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc:  New test.
8094         * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc:  New test.
8095         * testsuite/22_locale/codecvt/encoding/wchar_t/1.cc:
8096         Cleanup and check for correct return value from encoding
8097         for "C" locale.
8098         * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc:  New test.
8099         * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc:  New test.
8100         * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc:  New test.
8101         * testsuite/22_locale/codecvt/in/wchar_t/1.cc:  Cleanup.
8102         * testsuite/22_locale/codecvt/in/wchar_t/2.cc:  New test.
8103         * testsuite/22_locale/codecvt/in/wchar_t/3.cc:  New test.
8104         * testsuite/22_locale/codecvt/in/wchar_t/4.cc:  New test.
8105         * testsuite/22_locale/codecvt/in/wchar_t/5.cc:  New test.
8106         * testsuite/22_locale/codecvt/in/wchar_t/6.cc:  New test.
8107         * testsuite/22_locale/codecvt/in/wchar_t/7.cc:  New test.
8108         * testsuite/22_locale/codecvt/in/wchar_t/8.cc:  New test.
8109         * testsuite/22_locale/codecvt/in/wchar_t/9.cc:  New test.
8110         * testsuite/22_locale/codecvt/length/char/1.cc:  Cleanup.
8111         * testsuite/22_locale/codecvt/length/char/2.cc:  New test.
8112         * testsuite/22_locale/codecvt/length/wchar_t/1.cc:  Cleanup.
8113         * testsuite/22_locale/codecvt/length/wchar_t/2.cc:  New test.
8114         * testsuite/22_locale/codecvt/length/wchar_t/3.cc:  New test.
8115         * testsuite/22_locale/codecvt/length/wchar_t/4.cc:  New test.
8116         * testsuite/22_locale/codecvt/length/wchar_t/5.cc:  New test.
8117         * testsuite/22_locale/codecvt/length/wchar_t/6.cc:  New test.
8118         * testsuite/22_locale/codecvt/length/wchar_t/7.cc:  New test.
8119         * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc:  Cleanup.
8120         * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc:  New test.
8121         * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc:  New test.
8122         * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc:  New test.
8123         * testsuite/22_locale/codecvt/out/wchar_t/1.cc:  Cleanup.
8124         * testsuite/22_locale/codecvt/out/wchar_t/2.cc:  New test.
8125         * testsuite/22_locale/codecvt/out/wchar_t/3.cc:  New test.
8126         * testsuite/22_locale/codecvt/out/wchar_t/4.cc:  New test.
8127         * testsuite/22_locale/codecvt/out/wchar_t/5.cc:  New test.
8128         * testsuite/22_locale/codecvt/out/wchar_t/6.cc:  New test.
8129         * testsuite/22_locale/codecvt/out/wchar_t/7.cc:  New test.
8130         * testsuite/22_locale/codecvt/unicode/1.cc:  New test.
8131         * testsuite/22_locale/codecvt/unshift/wchar_t/1.cc:  Cleanup.
8132         * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc:  New test.
8133         * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc:  New test.
8134         * testsuite/22_locale/codecvt/unshfit/wchar_t/4.cc:  New test.
8135
8136 2003-02-05  Benjamin Kosnik  <bkoz@redhat.com>
8137
8138         * include/bits/locale_facets.tcc (time_put::do_put): Use __write.
8139         (money_put::do_put): Same.
8140
8141 2003-02-05  Jerry Quinn  <jlquinn@optonline.net>
8142
8143         * include/bits/ios_base.h (ios_base): Document reserved storage.
8144
8145         * include/bits/locale_facets.h: (struct __pad): Comment on
8146         implementation.
8147         (__verify_grouping): Same.
8148         (__add_grouping): Same.
8149         * include/bits/locale_facets.tcc (__verify_grouping): Move
8150         comments to declaration.
8151         (__add_grouping): Same.
8152
8153         * include/bits/locale_facets.tcc:
8154         (__write<_CharT, _OutIter>): New function.
8155         (__write<_CharT>): New function specialization.
8156         (num_put::_M_insert): Remove explicit loop over iterator.  Use
8157         __write.
8158         (num_put::_M_widen_float): Remove __basefield.
8159         (num_put::_M_widen_int): Move __basefield to within grouping block.
8160
8161         * include/bits/streambuf_iterator.h: Include <streambuf>.
8162         (ostreambuf_iterator::_M_put): Add.
8163
8164 2003-02-05  Paolo Carlini  <pcarlini@unitus.it>
8165
8166         * testsuite/26_numerics/valarray_name_lookup.cc: Fix typo.
8167
8168 2003-02-04  Nathan Myers  <ncm@cantrip.org>
8169
8170         * testsuite/25_algorithms/min_max.cc (test02): Add.
8171
8172 2003-02-04  Paolo Carlini  <pcarlini@unitus.it>
8173
8174         PR libstdc++/9439, PR libstdc++/9425
8175         * config/io/basic_file_stdio.cc
8176         (__basic_file<char>::seekoff, seekpos): Return -1L if
8177         fseek fails.
8178         * include/bits/fstream.tcc (basic_filebuf::seekoff):
8179         Check _M_file.seekoff return value; always return
8180         pos_type(off_type(-1)) in case of failure.
8181         (basic_filebuf::pbackfail): Check this->seekoff return
8182         value and return traits_type::eof() in case of failure.
8183         * testsuite/27_io/filebuf_virtuals.cc (test09): Add.
8184
8185 2003-02-04  Jerry Quinn  <jlquinn@optonline.net>
8186
8187         * include/std/std_ostream.h (ostream::_M_write): Declare.
8188         * ostream.tcc (ostream::_M_write): Define.
8189         (basic_ostream::write): Use it.
8190         (operator<<(basic_ostream, _CharT)): Ditto.
8191         (operator<<(basic_ostream, char)): Ditto.
8192         (operator<<(basic_ostream, _CharT*)): Ditto.
8193         (operator<<(basic_ostream, char*)): Ditto.
8194         (operator<<(basic_ostream, basic_string)): Ditto.
8195
8196 2003-02-04  Benjamin Kosnik  <bkoz@redhat.com>
8197
8198         * testsuite/26_numerics/valarray_name_lookup.cc: Fix.
8199
8200 2002-02-04  Jonathan Wakely  <redi@gcc.gnu.org>
8201
8202         * docs/html/27_io/howto.html: Link to Dietmar Kuehl's IOStream page,
8203         add HTML comment about updating links if numbering changes.
8204
8205 2003-02-04  Paolo Carlini  <pcarlini@unitus.it>
8206
8207         PR libstdc++/9538
8208         * include/bits/streambuf.tcc (sputbackc): Access
8209         this->gptr()[-1] only if _M_in_beg < _M_in_cur.
8210         * testsuite/27_io/filebuf_virtuals.cc (test08): Add.
8211
8212 2003-02-04  Paolo Carlini  <pcarlini@unitus.it>
8213
8214         PR libstdc++/9507
8215         * include/bits/fstream.tcc (open): If the 'ate' repositioning
8216         operation fails, calls close _and_ returns a null pointer
8217         to indicate failure (27.8.1.3,4).
8218         * testsuite/27_io/filebuf_members.cc (test_06): Add.
8219
8220 2003-02-04  Petur Runolfsson  <peturr02@ru.is>
8221
8222         * testsuite/27_io/filebuf_members.cc (test_04): Remove exit(0).
8223
8224 2002-02-04  Jonathan Wakely  <redi@gcc.gnu.org>
8225
8226         * docs/html/27_io/howto.html: New section on stdio_filebuf.
8227         * docs/html/ext/howto.html: Move stdio_filebuf notes to 27_io.
8228         * docs/html/documentation.html: Regenerate.
8229
8230 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
8231
8232         * docs/html/17_intro/porting.texi: Update to GFDL 1.2.
8233         * docs/html/17_intro/porting.html: Regenerate.
8234
8235 2003-02-03  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
8236             Phil Edwards  <pme@gcc.gnu.org>
8237
8238         * include/std/std_bitset.h:  Replace CHAR_BIT with __CHAR_BIT__, use
8239         numeric_limits for bits-per-word values.
8240         (_Base_bitset::_M_do_count, _Base_bitset<1>::_M_do_count):
8241         Use __builtin_popcountl instead.
8242         (_Base_bitset::_M_do_find_first, _Base_bitset::_M_do_find_next,
8243         _Base_bitset<1>::_M_do_find_first, _Base_bitset<1>::_M_do_find_next):
8244         Use __builtin_ctzl instead.
8245         (_S_bit_count, _S_first_one):  Remove.
8246         * config/linker-map.gnu (GLIBCPP_3.4):  Remove std::_S_bit_count.
8247         * src/Makefile.am (sources):  Remove bitset.cc.
8248         * src/bitset.cc:  Delete file.
8249         * src/Makefile.in:  Regenerate.
8250
8251 2003-02-03  Phil Edwards  <pme@gcc.gnu.org>
8252
8253         PR libstdc++/9527, PR libstdc++/8713
8254         * docs/html/install.html:  Mention glibc version requirement.
8255         * docs/html/faq/index.html (3.8):  New note, glibc 2.2.5+ is needed
8256         with 3.2.1+ (formatting bugfixes).
8257         * docs/html/faq/index.txt:  Regenerate.
8258
8259 2003-02-03  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
8260
8261         PR libstdc++/9234
8262         * include/bits/valarray_before.h (_UnBase::operator[]): Apply unary
8263         operator.
8264
8265         * include/bits/valarray_before.h (__not_equal_to): Use != instead
8266         of ==.
8267
8268         * testsuite/26_numerics/valarray_operators.cc: New test.
8269
8270 2003-02-01  Phil Edwards  <pme@gcc.gnu.org>
8271
8272         * docs/html/faq/index.html:  Correct link to libg++ information.
8273         * docs/html/faq/index.txt:  Regenerated.
8274
8275 2003-02-01  Paolo Carlini  <pcarlini@unitus.it>
8276             Benjamin Kosnik  <bkoz@redhat.com>
8277
8278         Const correctness issue:
8279         http://gcc.gnu.org/ml/libstdc++/2003-01/msg00370.html
8280         * include/bits/locale_classes.h
8281         (locale::_Impl::_M_facets): Change type to const facet**.
8282         (locale::_Impl::_M_install_facet): Change declaration to
8283         take const facet*.
8284         (locale::facet::_M_references): Make mutable.
8285         (locale::facet::_M_add_reference): Declare const.
8286         (locale::facet::_M_remove_reference): Likewise.
8287         * include/bits/locale_facets.tcc
8288         (use_facet(const locale&)): Tweak for const facet** _M_facets.
8289         (has_facet(const locale&)): Likewise.
8290         * src/locale.cc
8291         (locale::facet::_M_add_reference): Adjust definition.
8292         (locale::facet::_M_remove_reference): Likewise.
8293         * src/localename.cc
8294         (locale::_Impl::_Impl(const _Impl&, size_t)): Tweak for
8295         const facet** _M_facets.
8296         (locale::_Impl::_Impl(const char*, size_t)): Likewise.
8297         (locale::_Impl::_Impl(facet**, size_t, bool)): Likewise.
8298         (locale::_Impl::_M_install_facet): Adjust definition to take
8299         const facet* and for const facet** _M_facets.
8300         * testsuite/22_locale/locale/cons/8.cc: Add.
8301
8302 2003-01-29  Mark Mitchell  <mark@codesourcery.com>
8303
8304         * include/std/std_limits.h (numeric_limits<float>::has_infinity):
8305         Use __FLT_HAS_INIFINITY__ to initialize.
8306         (numeric_limits<float>::has_quiet_NaN): Likewise.
8307         (numeric_limits<double>::has_infinity): Use __DBL_HAS_INIFINITY__
8308         to initialize.
8309         (numeric_limits<double>::has_quiet_NaN): Likewise.
8310         (numeric_limits<long double>::has_infinity): Use
8311         __LDBL_HAS_INIFINITY__ to initialize.
8312         (numeric_limits<long_double>::has_quiet_NaN): Likewise.
8313
8314 2003-01-28  Nathan Sidwell  <nathan@codesourcery.com>
8315
8316         PR c++/9433
8317         * libsupc++/tinfo.cc (__vmi_class_type_info::__do_dyncast): Cope
8318         with bases which are very ambiguous.
8319
8320 2003-01-28  Danny Smith  <dannysmith@users.sourceforge.net>
8321
8322         * src/Makefile.am (CONFIG_CXXFLAGS): Reverse order of
8323         @EXTRA_CXX_FLAGS@ @SECTION_FLAGS@.
8324         * libsupc++/Makefile.am (CONFIG_CXXFLAGS): Likewise.
8325         * src/Makefile.in: Regenerate.
8326         * libsupc++/Makefile.in: Regenerate.
8327
8328 2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
8329
8330         * acinclude.m4 (glibcpp_toolexeclibdir): Instead of
8331         $(MULTISUBDIR), use `$CC -print-multi-os-directory`, unless
8332         version_specific_libs is enabled.
8333         * aclocal.m4, configure: Rebuilt.
8334
8335 2003-01-24  Nathan Sidwell  <nathan@codesourcery.com>
8336
8337         * include/bits/valarray_meta.h: Remove, split into ...
8338         * include/bits/valarray_before.h: ... this, and ...
8339         * include/bits/valarray_after.h: ... this.
8340         * include/std/std_valarray.h: Adjust.
8341         * include/Makefile.am (bits_headers): Adjust.
8342         * include/Makefile.in: Regenerate.
8343
8344 2003-01-24  Andreas Schwab  <schwab@suse.de>
8345
8346         * config/linker-map.gnu: Fix for size_t variance.
8347
8348 2003-01-23  Petur Runolfsson  <peturr02@ru.is>
8349
8350         PR libstdc++/9322
8351         * include/std/std_streambuf.h
8352         (basic_streambuf::basic_streambuf,
8353         basic_streambuf::~basic_streambuf,
8354         basic_streambuf::getloc, basic_streambuf::imbue):
8355         Remove _M_buf_locale_init
8356         * include/bits/fstream.tcc (basic_filebuf::imbue):  Likewise
8357         * testsuite/27_io/filebuf_virtuals.cc (test08):  Add.
8358         * testsuite/27_io/streambuf_members.cc (test08):  Add.
8359         * testsuite/27_io/stringbuf_virtuals.cc (test08):  Add.
8360
8361 2003-01-23  Benjamin Kosnik  <bkoz@redhat.com>
8362
8363         Revert include ordering.
8364         * config/locale/generic/c_locale.h: Add include guards.
8365         * config/locale/gnu/c_locale.h: Same.
8366         * include/bits/locale_classes.h: Remove cctype include.
8367         * include/std/std_iosfwd.h: Add c++locale.h, cctype includes.
8368         * include/std/std_fstream.h: Remove streambuf include.
8369         * include/std/std_sstream.h: Remove streambuf include.
8370
8371 2003-01-23  Benjamin Kosnik  <bkoz@redhat.com>
8372
8373         * configure.in (libtool_VERSION): To 6:0:0.
8374         * configure: Regenerated.
8375         * config/linker-map.gnu: Clean.
8376
8377         * src/misc-inst.cc: Remove instantiations.
8378
8379         * include/bits/stl_alloc.h (__malloc_alloc_template):
8380         To __malloc_alloc.
8381         (__default_alloc_template): To __pool_alloc.
8382         * src/stl-inst.cc: Same.
8383         * include/backward/alloc.h: Update.
8384         * testsuite/ext/allocators.cc: Update.
8385
8386         * src/globals.cc (__gnu_cxx): Remove _GLIBCPP_ASM_SYMVER. Should
8387         really try to remove these if possible.
8388         * src/locale.cc (std): Same.
8389
8390         * testsuite/abi_check.cc (check_version): Add.
8391
8392 2003-01-22  Benjamin Kosnik  <bkoz@redhat.com>
8393             Sysoltsev Slawa  <Vyatcheslav.Sysoltsev@intel.com>
8394             Mark Mitchell  <mark@codesourcery.com>
8395
8396         PR libstdc++/9269
8397         * include/std/std_fstream.h (basic_filebuf::uflow): Declare.
8398         (basic_filebuf::underflow): Declare.
8399         Move definitions.
8400
8401 2003-01-22  Benjamin Kosnik  <bkoz@redhat.com>
8402
8403         * include/bits/locale_facets.h: Move non-facet classes requiring
8404         <string> to...
8405         * include/bits/locale_classes.h: New.
8406         * include/bits/Makefile.am (bits_headers_src): Add locale_classes.h.
8407         * include/bits/Makefile.in: Regenerate.
8408
8409         * include/bits/locale_facets.tcc (__convert_from_v): Move to...
8410         * config/locale/gnu/c_locale.h: ...here.
8411         * config/locale/generic/c_locale.h: Same.
8412
8413         * include/bits/locale_facets.tcc: Move declarations to...
8414         * include/bits/locale_facets.h: ...here.
8415         * include/bits/basic_ios.h: Tweak includes accordingly.
8416         * include/std/std_sstream.h: Add streambuf include.
8417         * include/std/std_fstream.h: Ditto.
8418         * include/std/std_locale.h: Add locale_classes.h include.
8419         * include/std/std_iosfwd.h: Tweak.
8420         * src/concept-inst.cc: Add iterator include.
8421
8422         * config/linker-map.gnu: Specify __cxa functions, mark __cxa_dyn_*
8423         bits as unexported in the future.
8424
8425 2003-01-21  Benjamin Kosnik  <bkoz@redhat.com>
8426
8427         Reshuffle 22_locale testsuite.
8428         * 22_locale/(codecvt.cc money_get.cc
8429         codecvt_members_char_char.cc money_get_members_char.cc
8430         codecvt_members_unicode_char.cc money_get_members_wchar_t.cc
8431         codecvt_members_unicode_wchar_t.cc moneypunct_byname.cc
8432         codecvt_members_wchar_t_char.cc moneypunct.cc collate_byname.cc
8433         moneypunct_members_char.cc collate.cc moneypunct_members_wchar_t.cc
8434         collate_members_char.cc money_put.cc collate_members_wchar_t.cc
8435         money_put_members_char.cc ctor_copy_dtor.cc
8436         money_put_members_wchar_t.cc ctype.cc num_get.cc ctype_is_char.cc
8437         num_get_members_char.cc ctype_is_wchar_t.cc num_get_members_wchar_t.cc
8438         ctype_members_char.cc numpunct_byname.cc ctype_members_wchar_t.cc
8439         numpunct.cc ctype_narrow_char.cc numpunct_members_char.cc
8440         ctype_narrow_wchar_t.cc numpunct_members_wchar_t.cc ctype_scan_char.cc
8441         num_put.cc ctype_scan_wchar_t.cc num_put_members_char.cc
8442         ctype_to_char.cc num_put_members_wchar_t.cc ctype_to_wchar_t.cc
8443         operators.cc ctype_widen_char.cc static_members.cc
8444         ctype_widen_wchar_t.cc time_get.cc facet.cc time_get_members_char.cc
8445         global_templates.cc time_get_members_wchar_t.cc, members.cc,
8446         time_put.cc, messages_byname.cc, time_put_members_char.cc,
8447         messages.cc, time_put_members_wchar_t.cc, messages_members_char.cc):
8448         Split up into individual test cases...
8449         * 22_locale/codecvt/1.cc: New.
8450         * 22_locale/codecvt/2.cc: New.
8451         * 22_locale/codecvt/always_noconv/char/1.cc: New.
8452         * 22_locale/codecvt/always_noconv/char/wrapped_env.cc: New.
8453         * 22_locale/codecvt/always_noconv/char/wrapped_locale.cc: New.
8454         * 22_locale/codecvt/always_noconv/wchar_t/1.cc: New.
8455         * 22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc: New.
8456         * 22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc: New.
8457         * 22_locale/codecvt/encoding/char/1.cc: New.
8458         * 22_locale/codecvt/encoding/char/wrapped_env.cc: New.
8459         * 22_locale/codecvt/encoding/char/wrapped_locale.cc: New.
8460         * 22_locale/codecvt/encoding/wchar_t/1.cc: New.
8461         * 22_locale/codecvt/encoding/wchar_t/wrapped_env.cc: New.
8462         * 22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc: New.
8463         * 22_locale/codecvt/in/char/1.cc: New.
8464         * 22_locale/codecvt/in/char/wrapped_env.cc: New.
8465         * 22_locale/codecvt/in/char/wrapped_locale.cc: New.
8466         * 22_locale/codecvt/in/wchar_t/1.cc: New.
8467         * 22_locale/codecvt/in/wchar_t/wrapped_env.cc: New.
8468         * 22_locale/codecvt/in/wchar_t/wrapped_locale.cc: New.
8469         * 22_locale/codecvt/length/char/1.cc: New.
8470         * 22_locale/codecvt/length/char/wrapped_env.cc: New.
8471         * 22_locale/codecvt/length/char/wrapped_locale.cc: New.
8472         * 22_locale/codecvt/length/wchar_t/1.cc: New.
8473         * 22_locale/codecvt/length/wchar_t/wrapped_env.cc: New.
8474         * 22_locale/codecvt/length/wchar_t/wrapped_locale.cc: New.
8475         * 22_locale/codecvt/max_length/char/1.cc: New.
8476         * 22_locale/codecvt/max_length/char/wrapped_env.cc: New.
8477         * 22_locale/codecvt/max_length/char/wrapped_locale.cc: New.
8478         * 22_locale/codecvt/max_length/wchar_t/1.cc: New.
8479         * 22_locale/codecvt/max_length/wchar_t/wrapped_env.cc: New.
8480         * 22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc: New.
8481         * 22_locale/codecvt/out/char/1.cc: New.
8482         * 22_locale/codecvt/out/char/wrapped_env.cc: New.
8483         * 22_locale/codecvt/out/char/wrapped_locale.cc: New.
8484         * 22_locale/codecvt/out/wchar_t/1.cc: New.
8485         * 22_locale/codecvt/out/wchar_t/wrapped_env.cc: New.
8486         * 22_locale/codecvt/out/wchar_t/wrapped_locale.cc: New.
8487         * 22_locale/codecvt/unicode/char.cc: New.
8488         * 22_locale/codecvt/unicode/wchar_t.cc: New.
8489         * 22_locale/codecvt/unshift/char/1.cc: New.
8490         * 22_locale/codecvt/unshift/char/wrapped_env.cc: New.
8491         * 22_locale/codecvt/unshift/char/wrapped_locale.cc: New.
8492         * 22_locale/codecvt/unshift/wchar_t/1.cc: New.
8493         * 22_locale/codecvt/unshift/wchar_t/wrapped_env.cc: New.
8494         * 22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc: New.
8495         * 22_locale/collate/1.cc: New.
8496         * 22_locale/collate/2.cc: New.
8497         * 22_locale/collate/compare/char/1.cc: New.
8498         * 22_locale/collate/compare/char/2.cc: New.
8499         * 22_locale/collate/compare/char/wrapped_env.cc: New.
8500         * 22_locale/collate/compare/char/wrapped_locale.cc: New.
8501         * 22_locale/collate/compare/wchar_t/1.cc: New.
8502         * 22_locale/collate/compare/wchar_t/2.cc: New.
8503         * 22_locale/collate/compare/wchar_t/wrapped_env.cc: New.
8504         * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: New.
8505         * 22_locale/collate/hash/char/1.cc: New.
8506         * 22_locale/collate/hash/char/2.cc: New.
8507         * 22_locale/collate/hash/char/wrapped_env.cc: New.
8508         * 22_locale/collate/hash/char/wrapped_locale.cc: New.
8509         * 22_locale/collate/hash/wchar_t/1.cc: New.
8510         * 22_locale/collate/hash/wchar_t/2.cc: New.
8511         * 22_locale/collate/hash/wchar_t/wrapped_env.cc: New.
8512         * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: New.
8513         * 22_locale/collate/transform/char/2.cc: New.
8514         * 22_locale/collate/transform/char/wrapped_env.cc: New.
8515         * 22_locale/collate/transform/char/wrapped_locale.cc: New.
8516         * 22_locale/collate/transform/wchar_t/2.cc: New.
8517         * 22_locale/collate/transform/wchar_t/wrapped_env.cc: New.
8518         * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: New.
8519         * 22_locale/collate_byname/1.cc: New.
8520         * 22_locale/ctype/1.cc: New.
8521         * 22_locale/ctype/2.cc: New.
8522         * 22_locale/ctype/cons/char/1.cc: New.
8523         * 22_locale/ctype/cons/char/wrapped_env.cc: New.
8524         * 22_locale/ctype/cons/char/wrapped_locale.cc: New.
8525         * 22_locale/ctype/is/char/1.cc: New.
8526         * 22_locale/ctype/is/char/2.cc: New.
8527         * 22_locale/ctype/is/char/3.cc: New.
8528         * 22_locale/ctype/is/char/wrapped_env.cc: New.
8529         * 22_locale/ctype/is/char/wrapped_locale.cc: New.
8530         * 22_locale/ctype/is/wchar_t/1.cc: New.
8531         * 22_locale/ctype/is/wchar_t/2.cc: New.
8532         * 22_locale/ctype/is/wchar_t/wrapped_env.cc: New.
8533         * 22_locale/ctype/is/wchar_t/wrapped_locale.cc: New.
8534         * 22_locale/ctype/narrow/char/1.cc: New.
8535         * 22_locale/ctype/narrow/char/2.cc: New.
8536         * 22_locale/ctype/narrow/char/wrapped_env.cc: New.
8537         * 22_locale/ctype/narrow/char/wrapped_locale.cc: New.
8538         * 22_locale/ctype/narrow/wchar_t/1.cc: New.
8539         * 22_locale/ctype/narrow/wchar_t/2.cc: New.
8540         * 22_locale/ctype/narrow/wchar_t/wrapped_env.cc: New.
8541         * 22_locale/ctype/narrow/wchar_t/wrapped_locale.cc: New.
8542         * 22_locale/ctype/scan/char/1.cc: New.
8543         * 22_locale/ctype/scan/char/wrapped_env.cc: New.
8544         * 22_locale/ctype/scan/char/wrapped_locale.cc: New.
8545         * 22_locale/ctype/scan/wchar_t/1.cc: New.
8546         * 22_locale/ctype/scan/wchar_t/wrapped_env.cc: New.
8547         * 22_locale/ctype/scan/wchar_t/wrapped_locale.cc: New.
8548         * 22_locale/ctype/to/char/1.cc: New.
8549         * 22_locale/ctype/to/char/wrapped_env.cc: New.
8550         * 22_locale/ctype/to/char/wrapped_locale.cc: New.
8551         * 22_locale/ctype/to/wchar_t/1.cc: New.
8552         * 22_locale/ctype/to/wchar_t/wrapped_env.cc: New.
8553         * 22_locale/ctype/to/wchar_t/wrapped_locale.cc: New.
8554         * 22_locale/ctype/widen/char/1.cc: New.
8555         * 22_locale/ctype/widen/char/wrapped_env.cc: New.
8556         * 22_locale/ctype/widen/char/wrapped_locale.cc: New.
8557         * 22_locale/ctype/widen/wchar_t/1.cc: New.
8558         * 22_locale/ctype/widen/wchar_t/wrapped_env.cc: New.
8559         * 22_locale/ctype/widen/wchar_t/wrapped_locale.cc: New.
8560         * 22_locale/facet/1.cc: New.
8561         * 22_locale/facet/2.cc: New.
8562         * 22_locale/global_templates/1.cc: New.
8563         * 22_locale/locale/cons/1.cc: New.
8564         * 22_locale/locale/cons/2.cc: New.
8565         * 22_locale/locale/cons/3.cc: New.
8566         * 22_locale/locale/cons/4.cc: New.
8567         * 22_locale/locale/cons/5.cc: New.
8568         * 22_locale/locale/cons/6.cc: New.
8569         * 22_locale/locale/cons/7.cc: New.
8570         * 22_locale/locale/global_locale_objects/1.cc: New.
8571         * 22_locale/locale/global_locale_objects/2.cc: New.
8572         * 22_locale/locale/global_locale_objects/3.cc: New.
8573         * 22_locale/locale/operations/1.cc: New.
8574         * 22_locale/locale/operations/2.cc: New.
8575         * 22_locale/messages/1.cc: New.
8576         * 22_locale/messages/2.cc: New.
8577         * 22_locale/messages/members/char/1.cc: New.
8578         * 22_locale/messages/members/char/2.cc: New.
8579         * 22_locale/messages/members/char/3.cc: New.
8580         * 22_locale/messages/members/char/wrapped_env.cc: New.
8581         * 22_locale/messages/members/char/wrapped_locale.cc: New.
8582         * 22_locale/messages_byname/1.cc: New.
8583         * 22_locale/money_get/1.cc: New.
8584         * 22_locale/money_get/2.cc: New.
8585         * 22_locale/money_get/get/char/1.cc: New.
8586         * 22_locale/money_get/get/char/2.cc: New.
8587         * 22_locale/money_get/get/char/3.cc: New.
8588         * 22_locale/money_get/get/char/4.cc: New.
8589         * 22_locale/money_get/get/char/5.cc: New.
8590         * 22_locale/money_get/get/char/6.cc: New.
8591         * 22_locale/money_get/get/char/7.cc: New.
8592         * 22_locale/money_get/get/char/8.cc: New.
8593         * 22_locale/money_get/get/char/wrapped_env.cc: New.
8594         * 22_locale/money_get/get/char/wrapped_locale.cc: New.
8595         * 22_locale/money_get/get/wchar_t/1.cc: New.
8596         * 22_locale/money_get/get/wchar_t/2.cc: New.
8597         * 22_locale/money_get/get/wchar_t/3.cc: New.
8598         * 22_locale/money_get/get/wchar_t/4.cc: New.
8599         * 22_locale/money_get/get/wchar_t/5.cc: New.
8600         * 22_locale/money_get/get/wchar_t/6.cc: New.
8601         * 22_locale/money_get/get/wchar_t/7.cc: New.
8602         * 22_locale/money_get/get/wchar_t/8.cc: New.
8603         * 22_locale/money_get/get/wchar_t/wrapped_env.cc: New.
8604         * 22_locale/money_get/get/wchar_t/wrapped_locale.cc: New.
8605         * 22_locale/money_put/1.cc: New.
8606         * 22_locale/money_put/2.cc: New.
8607         * 22_locale/money_put/put/char/1.cc: New.
8608         * 22_locale/money_put/put/char/2.cc: New.
8609         * 22_locale/money_put/put/char/3.cc: New.
8610         * 22_locale/money_put/put/char/4.cc: New.
8611         * 22_locale/money_put/put/char/5.cc: New.
8612         * 22_locale/money_put/put/char/6.cc: New.
8613         * 22_locale/money_put/put/char/wrapped_env.cc: New.
8614         * 22_locale/money_put/put/char/wrapped_locale.cc: New.
8615         * 22_locale/money_put/put/wchar_t/1.cc: New.
8616         * 22_locale/money_put/put/wchar_t/2.cc: New.
8617         * 22_locale/money_put/put/wchar_t/3.cc: New.
8618         * 22_locale/money_put/put/wchar_t/4.cc: New.
8619         * 22_locale/money_put/put/wchar_t/5.cc: New.
8620         * 22_locale/money_put/put/wchar_t/6.cc: New.
8621         * 22_locale/money_put/put/wchar_t/wrapped_env.cc: New.
8622         * 22_locale/money_put/put/wchar_t/wrapped_locale.cc: New.
8623         * 22_locale/moneypunct/1.cc: New.
8624         * 22_locale/moneypunct/2.cc: New.
8625         * 22_locale/moneypunct/3.cc: New.
8626         * 22_locale/moneypunct/members/char/1.cc: New.
8627         * 22_locale/moneypunct/members/char/2.cc: New.
8628         * 22_locale/moneypunct/members/char/wrapped_env.cc: New.
8629         * 22_locale/moneypunct/members/char/wrapped_locale.cc: New.
8630         * 22_locale/moneypunct/members/wchar_t/1.cc: New.
8631         * 22_locale/moneypunct/members/wchar_t/2.cc: New.
8632         * 22_locale/moneypunct/members/wchar_t/wrapped_env.cc: New.
8633         * 22_locale/moneypunct/members/wchar_t/wrapped_locale.cc: New.
8634         * 22_locale/moneypunct_byname/1.cc: New.
8635         * 22_locale/num_get/1.cc: New.
8636         * 22_locale/num_get/2.cc: New.
8637         * 22_locale/num_get/get/char/1.cc: New.
8638         * 22_locale/num_get/get/char/2.cc: New.
8639         * 22_locale/num_get/get/char/3.cc: New.
8640         * 22_locale/num_get/get/char/4.cc: New.
8641         * 22_locale/num_get/get/char/5.cc: New.
8642         * 22_locale/num_get/get/char/6.cc: New.
8643         * 22_locale/num_get/get/char/wrapped_env.cc: New.
8644         * 22_locale/num_get/get/char/wrapped_locale.cc: New.
8645         * 22_locale/num_get/get/wchar_t/1.cc: New.
8646         * 22_locale/num_get/get/wchar_t/2.cc: New.
8647         * 22_locale/num_get/get/wchar_t/3.cc: New.
8648         * 22_locale/num_get/get/wchar_t/4.cc: New.
8649         * 22_locale/num_get/get/wchar_t/5.cc: New.
8650         * 22_locale/num_get/get/wchar_t/6.cc: New.
8651         * 22_locale/num_get/get/wchar_t/wrapped_env.cc: New.
8652         * 22_locale/num_get/get/wchar_t/wrapped_locale.cc: New.
8653         * 22_locale/num_put/1.cc: New.
8654         * 22_locale/num_put/2.cc: New.
8655         * 22_locale/num_put/put/char/1.cc: New.
8656         * 22_locale/num_put/put/char/2.cc: New.
8657         * 22_locale/num_put/put/char/3.cc: New.
8658         * 22_locale/num_put/put/char/4.cc: New.
8659         * 22_locale/num_put/put/char/5.cc: New.
8660         * 22_locale/num_put/put/char/wrapped_env.cc: New.
8661         * 22_locale/num_put/put/char/wrapped_locale.cc: New.
8662         * 22_locale/num_put/put/wchar_t/1.cc: New.
8663         * 22_locale/num_put/put/wchar_t/2.cc: New.
8664         * 22_locale/num_put/put/wchar_t/3.cc: New.
8665         * 22_locale/num_put/put/wchar_t/4.cc: New.
8666         * 22_locale/num_put/put/wchar_t/5.cc: New.
8667         * 22_locale/num_put/put/wchar_t/wrapped_env.cc: New.
8668         * 22_locale/num_put/put/wchar_t/wrapped_locale.cc: New.
8669         * 22_locale/numpunct/1.cc: New.
8670         * 22_locale/numpunct/2.cc: New.
8671         * 22_locale/numpunct/members/char/1.cc: New.
8672         * 22_locale/numpunct/members/char/2.cc: New.
8673         * 22_locale/numpunct/members/char/wrapped_env.cc: New.
8674         * 22_locale/numpunct/members/char/wrapped_locale.cc: New.
8675         * 22_locale/numpunct/members/wchar_t/1.cc: New.
8676         * 22_locale/numpunct/members/wchar_t/2.cc: New.
8677         * 22_locale/numpunct/members/wchar_t/wrapped_env.cc: New.
8678         * 22_locale/numpunct/members/wchar_t/wrapped_locale.cc: New.
8679         * 22_locale/numpunct_byname/1.cc: New.
8680         * 22_locale/numpunct_byname/2.cc: New.
8681         * 22_locale/time_get/1.cc: New.
8682         * 22_locale/time_get/2.cc: New.
8683         * 22_locale/time_get/date_order/char/1.cc: New.
8684         * 22_locale/time_get/date_order/char/wrapped_env.cc: New.
8685         * 22_locale/time_get/date_order/char/wrapped_locale.cc: New.
8686         * 22_locale/time_get/date_order/wchar_t/1.cc: New.
8687         * 22_locale/time_get/date_order/wchar_t/wrapped_env.cc: New.
8688         * 22_locale/time_get/date_order/wchar_t/wrapped_locale.cc: New.
8689         * 22_locale/time_get/get_date/char/1.cc: New.
8690         * 22_locale/time_get/get_date/char/2.cc: New.
8691         * 22_locale/time_get/get_date/char/3.cc: New.
8692         * 22_locale/time_get/get_date/char/wrapped_env.cc: New.
8693         * 22_locale/time_get/get_date/char/wrapped_locale.cc: New.
8694         * 22_locale/time_get/get_date/wchar_t/1.cc: New.
8695         * 22_locale/time_get/get_date/wchar_t/2.cc: New.
8696         * 22_locale/time_get/get_date/wchar_t/3.cc: New.
8697         * 22_locale/time_get/get_date/wchar_t/wrapped_env.cc: New.
8698         * 22_locale/time_get/get_date/wchar_t/wrapped_locale.cc: New.
8699         * 22_locale/time_get/get_monthname/char/1.cc: New.
8700         * 22_locale/time_get/get_monthname/char/2.cc: New.
8701         * 22_locale/time_get/get_monthname/char/3.cc: New.
8702         * 22_locale/time_get/get_monthname/char/wrapped_env.cc: New.
8703         * 22_locale/time_get/get_monthname/char/wrapped_locale.cc: New.
8704         * 22_locale/time_get/get_monthname/wchar_t/1.cc: New.
8705         * 22_locale/time_get/get_monthname/wchar_t/2.cc: New.
8706         * 22_locale/time_get/get_monthname/wchar_t/3.cc: New.
8707         * 22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc: New.
8708         * 22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc: New.
8709         * 22_locale/time_get/get_time/char/1.cc: New.
8710         * 22_locale/time_get/get_time/char/2.cc: New.
8711         * 22_locale/time_get/get_time/char/3.cc: New.
8712         * 22_locale/time_get/get_time/char/wrapped_env.cc: New.
8713         * 22_locale/time_get/get_time/char/wrapped_locale.cc: New.
8714         * 22_locale/time_get/get_time/wchar_t/1.cc: New.
8715         * 22_locale/time_get/get_time/wchar_t/2.cc: New.
8716         * 22_locale/time_get/get_time/wchar_t/3.cc: New.
8717         * 22_locale/time_get/get_time/wchar_t/wrapped_env.cc: New.
8718         * 22_locale/time_get/get_time/wchar_t/wrapped_locale.cc: New.
8719         * 22_locale/time_get/get_weekday/char/1.cc: New.
8720         * 22_locale/time_get/get_weekday/char/2.cc: New.
8721         * 22_locale/time_get/get_weekday/char/3.cc: New.
8722         * 22_locale/time_get/get_weekday/char/wrapped_env.cc: New.
8723         * 22_locale/time_get/get_weekday/char/wrapped_locale.cc: New.
8724         * 22_locale/time_get/get_weekday/wchar_t/1.cc: New.
8725         * 22_locale/time_get/get_weekday/wchar_t/2.cc: New.
8726         * 22_locale/time_get/get_weekday/wchar_t/3.cc: New.
8727         * 22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc: New.
8728         * 22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc: New.
8729         * 22_locale/time_get/get_year/char/1.cc: New.
8730         * 22_locale/time_get/get_year/char/3.cc: New.
8731         * 22_locale/time_get/get_year/char/wrapped_env.cc: New.
8732         * 22_locale/time_get/get_year/char/wrapped_locale.cc: New.
8733         * 22_locale/time_get/get_year/wchar_t/1.cc: New.
8734         * 22_locale/time_get/get_year/wchar_t/3.cc: New.
8735         * 22_locale/time_get/get_year/wchar_t/wrapped_env.cc: New.
8736         * 22_locale/time_get/get_year/wchar_t/wrapped_locale.cc: New.
8737         * 22_locale/time_put/1.cc: New.
8738         * 22_locale/time_put/2.cc: New.
8739         * 22_locale/time_put/put/char/1.cc: New.
8740         * 22_locale/time_put/put/char/10.cc: New.
8741         * 22_locale/time_put/put/char/2.cc: New.
8742         * 22_locale/time_put/put/char/3.cc: New.
8743         * 22_locale/time_put/put/char/4.cc: New.
8744         * 22_locale/time_put/put/char/5.cc: New.
8745         * 22_locale/time_put/put/char/6.cc: New.
8746         * 22_locale/time_put/put/char/7.cc: New.
8747         * 22_locale/time_put/put/char/8.cc: New.
8748         * 22_locale/time_put/put/char/9.cc: New.
8749         * 22_locale/time_put/put/char/wrapped_env.cc: New.
8750         * 22_locale/time_put/put/char/wrapped_locale.cc: New.
8751         * 22_locale/time_put/put/wchar_t/1.cc: New.
8752         * 22_locale/time_put/put/wchar_t/10.cc: New.
8753         * 22_locale/time_put/put/wchar_t/2.cc: New.
8754         * 22_locale/time_put/put/wchar_t/3.cc: New.
8755         * 22_locale/time_put/put/wchar_t/4.cc: New.
8756         * 22_locale/time_put/put/wchar_t/5.cc: New.
8757         * 22_locale/time_put/put/wchar_t/6.cc: New.
8758         * 22_locale/time_put/put/wchar_t/7.cc: New.
8759         * 22_locale/time_put/put/wchar_t/8.cc: New.
8760         * 22_locale/time_put/put/wchar_t/9.cc: New.
8761         * 22_locale/time_put/put/wchar_t/wrapped_env.cc: New.
8762         * 22_locale/time_put/put/wchar_t/wrapped_locale.cc: New.
8763
8764 2003-01-16  Jeffrey D. Oldham  <oldham@codesourcery.com>
8765
8766         * config/locale/generic/messages_members.h
8767         (messages_byname<_CharT>::messages_byname): Use this-> to refer to
8768         unqualified members of base clasess.
8769
8770 2003-01-16  Mark Mitchell  <mark@codesourcery.com>
8771             Jeffrey Oldham <oldham@codesourcery.com>
8772
8773         * config/locale/gnu/messages_members.h: Use this-> to refer to
8774         unqualified members of base clasess.
8775         * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Likewise.
8776         * include/bits/codecvt.h: Likewise.
8777         * include/bits/deque.tcc: Likewise.
8778         * include/bits/fstream.tcc: Likewise.
8779         * include/bits/istream.tcc: Likewise.
8780         * include/bits/list.tcc: Likewise.
8781         * include/bits/locale_facets.h: Likewise.
8782         * include/bits/ostream.tcc: Likewise.
8783         * include/bits/sstream.tcc: Likewise.
8784         * include/bits/stl_bvector.h: Likewise.
8785         * include/bits/stl_deque.h: Likewise.
8786         * include/bits/stl_list.h: Likewise.
8787         * include/bits/stl_tree.h: Likewise.
8788         * include/bits/stl_vector.h: Likewise.
8789         * include/bits/vector.tcc: Likewise.
8790         * include/ext/ropeimpl.h: Likewise.
8791         * include/ext/stdio_filebuf.h: Likewise.
8792         * include/ext/stl_rope.h: Likewise.
8793         * include/std/std_fstream.h: Likewise.
8794         * include/std/std_sstream.h: Likewise.
8795
8796 2003-01-15  Phil Edwards  <pme@gcc.gnu.org>
8797
8798         * include/bits/basic_string.tcc (_S_string_copy): Unused, remove.
8799
8800 2003-01-15  Benjamin Kosnik  <bkoz@redhat.com>
8801
8802         * acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Substitute
8803         GLIBCPP_TEST_WCHAR_T if building wchar_t bits in the library.
8804         * aclocal.m4: Regenerate.
8805         * configure: Regenerate.
8806         * testsuite/Makefile.am (all-local): Add conditional rule to
8807         generate testsuite_wchar_t.
8808         * testsuite/Makefile.in: Regenerate.
8809         * testsuite/lib/libstdc++-v3-dg.exp
8810         (libstdc++-v3-list-sourcefiles): Remove wchar_t files if
8811         testsuite_wchar_t is not present in the build directory.
8812         * testsuite/libstdc++-v3.dg/dg.exp: Add -g -O2 to DEFAULT_CXXFLAGS.
8813         Remove setulimit bits.
8814         * testsuite/26_numerics/complex_value.cc: Set to noopts.
8815         * testsuite/Makefile.am (CLEANFILES): Add.
8816         * testsuite/Makefile.in: Regenerate.
8817
8818 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8819
8820         * config/os/hpux/os_defines.h (_GLIBCPP_GTHREAD_USE_WEAK): Define for
8821         __hppa__.
8822
8823 2003-01-14  Jeffrey D. Oldham  <oldham@codesourcery.com>
8824
8825         Further conform g++'s __vmi_class_type_info to the C++ ABI
8826         specification.
8827         * libsupc++/cxxabi.h
8828         (__vmi_class_type_info::__flags_masks): Remove enumerations not
8829         required by the specification.
8830
8831 2003-01-12  Benjamin Kosnik  <bkoz@redhat.com>
8832
8833         Renames, namespaces for testsuite utilities.
8834         * testsuite/testsuite_hooks.h: Put into namespace __gnu_cxx_test.
8835         (gnu_allocator_tracker): Rename to allocation_tracker.
8836         (gnu_new_allocator): Rename to tracker_alloc.
8837         (__set_testsuite_memlimit): Rename to set_memory_limits.
8838         (gnu_assignment_operator): Rename to assignment_operator.
8839         (gnu_destructor): Rename to destructor.
8840         (gnu_copy_tracker): Rename to copy_tracker.
8841         (gnu_char, gnu_int, gnu_long): Rename to pod_char, pod_int, pod_long.
8842         (run_tests_wrapped_locale): New.
8843         (run_tests_wrapped_env): New.
8844         * testsuite/testsuite_hooks.cc: Same.
8845         (class locale_data): Add.
8846         (class enviornment_variable): Add.
8847         (class not_found): Add.
8848         * testsuite/testsuite_allocator.h: Same.
8849         * testsuite/testsuite_allocator.cc: Same.
8850         * testsuite/23_containers/deque_ctor.cc
8851         (test_copy_ctor_exception_safety): Change gnu_allocator_tracker to
8852         allocation_tracker.
8853         Change gnu_new_allocator to tracker_alloc.
8854         Change gnu_counting_struct to counter.
8855         Change gnu_copy_tracker to copy_tracker.
8856         Change gnu_copy_constructor to copy_constructor.
8857         Change gnu_assignment_operator to assignment_operator.
8858         Inject.
8859         * testsuite/23_containers/vector_capacity.cc: Same.
8860         * testsuite/23_containers/vector_ctor.cc (test01): Same.
8861         * testsuite/23_containers/list_modifiers.cc: Change
8862         gnu_copy_tracker to copy_tracker.
8863         * testsuite/21_strings/ctor_copy_dtor.cc (main): Change
8864         __set_testsuite_memlimit to set_memory_limits.
8865         * testsuite/21_strings/insert.cc (main): Same.
8866         * testsuite/27_io/filebuf.cc: Change gnu_char to pod_char.
8867         * testsuite/27_io/stringstream.cc: Same.
8868         * testsuite/27_io/stringbuf.cc: Same.
8869         * testsuite/27_io/streambuf.cc: Same.
8870         * testsuite/27_io/ostream.cc: Same.
8871         * testsuite/27_io/istream.cc: Same.
8872         * testsuite/27_io/fstream.cc: Same.
8873         * testsuite/lib/libstdc++-v3-dg.exp
8874         (libstdc++-v3-list-sourcefiles): Additionally handle files two and
8875         three levels deeper in glob patterns.
8876
8877 2003-01-11  Phil Edwards  <pme@gcc.gnu.org>
8878
8879         * docs/doxygen/tables.html:  Finished now.
8880         * docs/doxygen/user.cfg.in:  Update to latest version of Doxygen.
8881         * include/bits/basic_ios.h (basic_ios::rdbuf):  Add example to
8882         comments.
8883
8884         * include/bits/deque.tcc, include/bits/stl_alloc.h,
8885         include/bits/stl_deque.h, include/bits/stl_list.h,
8886         include/bits/stl_vector.h:  Remove _GLIBCPP_DEPRECATED bits scheduled
8887         for 3.4 removal.
8888
8889 2003-01-09  Benjamin Kosnik  <bkoz@redhat.com>
8890
8891         * configure.in: Revert.
8892         * configure: Regenerate.
8893
8894 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
8895
8896         * include/Makefile.am (install-data-local): Prepend
8897         $(DESTDIR) to destination paths in all (un)installation
8898         commands.  Use ${c_base_builddir} and ${std_builddir}
8899         as destination subdirectories to achieve consistency with
8900         preceding mkinstalldirs commands.  No effect because both
8901         variables contain "." only.
8902         * include/Makefile.in: Regenerate.
8903
8904 2003-01-08  Benjamin Kosnik  <bkoz@redhat.com>
8905
8906         * include/Makefile.am (stamp-*): Add checks for existing stamps.
8907         * include/Makefile.in: Regenerate.
8908
8909         * acinclude.m4 (GLIBCPP_ENABLE_DEBUG): Correct comment.
8910         * aclocal.m4: Regenerate.
8911
8912         * configure.in: Don't add new multi-do rules every time the
8913         directory is reconfigured.
8914         * configure: Regenerate.
8915
8916 2003-01-08  Brad Spencer  <spencer@infointeractive.com>
8917             Nathan Myers  <ncm@cantrip.org>
8918
8919         * src/Makefile.am (stamp-debug): Clean.
8920         * src/Makefile.in: Regenerate.
8921
8922 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
8923
8924         PR libstdc++/8707
8925         * Makefile.am (distclean-multi): Fix.
8926         * Makefile.in: Regenerate.
8927
8928 2003-01-06  Benjamin Kosnik  <bkoz@redhat.com>
8929
8930         * include/bits/locale_facets.h (messages): Move ctor, dtor
8931         definitions to..
8932         (__timepunct): Same.
8933         * config/locale/gnu/messages_members.h (messages): Add dtor, ctor
8934         definitions. Conditionalize for GNU systems.
8935         * config/locale/generic/messages_members.h (messages): Add dtor, ctor
8936         definitions.
8937         * config/locale/gnu/time_members.h (messages): New. Add dtor, ctor
8938         definitions. Conditionalize for GNU systems.
8939         * config/locale/generic/time_members.h (messages): New. Add dtor, ctor
8940         definitions.
8941         * include/bits/localefwd.h (locale::facet::_S_c_name): Add.
8942         * src/locale.cc: Define.
8943         * src/localename.cc (locale::_Impl::_Impl(facet**, size_t, bool):
8944         Use it.
8945         * config/locale/gnu/time_members.h: Use it.
8946         * config/locale/gnu/messages_members.h: Use it.
8947         * config/linker-map.gnu: Add locale::facets details.
8948         * include/Makefile.am (target_headers_extra): Add time_members.h.
8949         * include/Makefile.in: Regenerate.
8950         * acinclude.m4: Export CTIME_H.
8951         * aclocal.m4: Regenerate.
8952         * configure: Regnerate.
8953
8954 2003-01-06  Paolo Carlini  <pcarlini@unitus.it>
8955
8956         * src/codecvt.cc
8957         (codecvt<char, char, mbstate_t>::do_in, do_out):
8958         Tweak parameters to avoid unused parameter warnings.
8959
8960 2003-01-06  Paolo Carlini  <pcarlini@unitus.it>
8961
8962         PR libstdc++/9151
8963         * include/bits/locale_facets.cc (num_put::_M_convert_float):
8964         Limit __prec to digits10 + 2, not digits10 + 1, taking into
8965         account the possibility of %{g,G} conversion specifiers
8966         inside _S_format_float.
8967         * testsuite/27_io/ostream_inserter_arith.cc (test06): Add.
8968
8969 2003-01-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8970
8971         * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init,
8972         libstdc++-v3-list-sourcefiles): Additionally handle files one
8973         level deeper in glob patterns.
8974
8975         * testsuite/27_io/istream_extractor_arith.cc: Delete, split...
8976         * testsuite/27_io/istream_extractor_arith/01.cc,
8977         testsuite/27_io/istream_extractor_arith/02.cc,
8978         testsuite/27_io/istream_extractor_arith/03.cc,
8979         testsuite/27_io/istream_extractor_arith/06.cc,
8980         testsuite/27_io/istream_extractor_arith/07.cc,
8981         testsuite/27_io/istream_extractor_arith/08.cc,
8982         testsuite/27_io/istream_extractor_arith/09.cc,
8983         testsuite/27_io/istream_extractor_arith/10.cc,
8984         testsuite/27_io/istream_extractor_arith/11.cc,
8985         testsuite/27_io/istream_extractor_arith/12.cc,
8986         testsuite/27_io/istream_extractor_arith/13.cc: ... to new files.
8987         * testsuite/27_io/istream_extractor_arith/12.cc: Add XFAIL for
8988         sparc*-*-solaris2*.
8989
8990 2003-01-05  Paolo Carlini <pcarlini@unitus.it>
8991
8992         PR libstdc++/9168
8993         * src/codecvt.cc
8994         (codecvt<char, char, mbstate_t>::do_in, do_out):
8995         Implement the resolution of DR19 (TC).
8996         * testsuite/22_locale/codecvt_members_char_char.cc
8997         (test01): Tweak.
8998
8999 2003-01-02  Jason Merrill  <jason@redhat.com>
9000
9001         * config/cpu/i486/atomicity.h (__exchange_and_add, __atomic_add):
9002         *__mem is also an output.
9003         * config/cpu/m68k/atomicity.h (__exchange_and_add): Likewise.