]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/l4re-core/libstdc++-v3/contrib/libstdc++-v3-4.9/ChangeLog-2003
Update
[l4.git] / l4 / pkg / l4re-core / libstdc++-v3 / contrib / libstdc++-v3-4.9 / ChangeLog-2003
1 2003-12-31  Paolo Carlini  <pcarlini@suse.de>
2
3         * include/bits/locale_facets.tcc (num_get::_M_extract_int,
4         num_get::_M_extract_float): According to 22.2.2.1.2, p8-9,
5         _first_ look for thousands_sep, then for decimal_point and
6         finally for digits.
7         (num_get::_M_extract_float): After the decimal_point or
8         'e'/'E', decimal_point and thousands_sep just break out the
9         parsing loop.
10         * testsuite/22_locale/num_get/get/char/11.cc: Add tests.
11         * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
12
13 2003-12-30  Paolo Carlini  <pcarlini@suse.de>
14
15         PR libstdc++/13369
16         * include/bits/locale_facets.tcc (__verify_grouping):
17         Fix to deal properly with __grouping_tmp.size() >
18         __grouping.size().
19         * testsuite/22_locale/num_get/get/char/13.cc: New.
20         * testsuite/22_locale/num_get/get/wchar_t/13.cc: Ditto.
21
22 2003-12-29  Jerry Quinn  <jlquinn@optonline.net>
23
24         * include/bits/locale_facets.h (ctype.narrow,widen): Add cast.
25
26 2003-12-29  Paolo Carlini  <pcarlini@suse.de>
27
28         * acinclude.m4 (GLIBCXX_CHECK_LFS): Add -fno-exceptions
29         to CXXFLAGS.
30         * aclocal.m4: Regenerate.
31         * configure: Likewise.
32
33 2003-12-29  Mark Mitchell  <mark@codesourcery.com>
34
35         * acconfig.h: Add _GLIBCXX_USE_C99_MATH.
36         * acinclude.m4 (GLIBCXX_ENABLE_C99): Define GLIBCXX_USE_C99_MATH.
37         * configure.ac: Define HAVE_S_ISREG and HAVE_S_IFREG when
38         targeting newlib.
39         * aclocal.m4: Regenerated.
40         * config.h.in: Likewise.
41         * configure: Likewise.
42         * Makefile.in: Likewise.
43         * include/Makefile.in: Likewise.
44         * libmath/Makefile.in: Likewise.
45         * libsupc++/Makefile.in: Likewise.
46         * testsuite/Makefile.in: Likewise.
47         * src/Makefile.in: Likewise.
48         * po/Makefile.in: Likewise.
49         * include/c_std/std_cmath.h (_GLIBCXX_USE_C99): Replace with ...
50         (_GLIBCXX_USE_C99_MATH): ... this.
51
52         * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: XFAIL for
53         arm-none-elf.
54         * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise.
55         * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise.
56         * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise.
57         * testsuite/27_io/basic_istream/readsome/char/6476-2.cc: Likewise.
58         * testsuite/27_io/objects/char/9.cc: Likewise.
59         * testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise.
60
61 2003-12-28  Paolo Carlini  <pcarlini@suse.de>
62
63         * include/ext/pool_allocator.h (class __pool_alloc): Use
64         operator new and operator delete.
65
66 2003-12-24  Andrew Pinski  <pinskia@physics.uc.edu>
67
68         * config/cpu/i386/atomicity.h (__exchange_and_add): Fix output
69         constraint.
70
71         PR libstdc++/13480
72         * config/cpu/i386/atomicity.h: Split up read-write memory operand.
73
74 2003-12-23  Benjamin Kosnik  <bkoz@redhat.com>
75
76         * include/ext/new_allocator.h (new_allocator): Proper allocator class.
77         (__new_alloc): Delete.
78         * include/ext/malloc_allocator.h (malloc_allocator): Same.
79         (__malloc_alloc): Delete.
80         * include/ext/mt_allocator.h: Same, but weakly.
81         * include/ext/debug_allocator.h: Convert to the new style.
82         * include/ext/pool_allocator.h: Use global new and delete directly.
83         * include/backward/alloc.h: Don't inject malloc_allocator, or
84         debug_allocator.
85         * testsuite/ext/allocators.cc: Minimal fixups for usage of new
86         classes.  Comment out tests with __pool_alloc for now.
87         * testsuite/performance/allocator.cc: Same.
88
89 2003-12-22  Matt Austern  <austern@apple.com>
90
91         * include/bits/stl_bvector.h (_Bvector_alloc_base): Eliminate.
92         (_Bvector_base): Inherit directly from word allocator.
93         * include/bits/stl_tree.h (_Rb_tree_alloc_base): Eliminate.
94         (_Rb_tree_base): Eliminate.
95         (_Rb_tree): Inherit directly from node allocator.
96         * include/ext/slist (_Alist_alloc_base): Eliminate.
97         (_Slist_base): Inherit direcly from node allocator.
98
99 2003-12-22  Benjamin Kosnik  <bkoz@redhat.com>
100
101         * testsuite/18_support/numeric_limits.cc: Add _GLIBCXX_ASSERT to
102         dg-options in testcases that use VERIFY.
103         * testsuite/23_containers/vector/invalidation/1.cc: Same.
104         * testsuite/23_containers/vector/invalidation/2.cc: Same.
105         * testsuite/23_containers/vector/invalidation/3.cc: Same.
106         * testsuite/23_containers/vector/invalidation/4.cc: Same.
107         * testsuite/23_containers/vector/resize/1.cc: Same.
108         * testsuite/26_numerics/complex_value.cc: Same.
109         * testsuite/27_io/ios_base/storage/1.cc: Same.
110         * testsuite/27_io/ios_base/storage/2.cc: Same.
111         * testsuite/27_io/ios_base/storage/3.cc: Same.
112         * testsuite/27_io/manipulators/standard/char/2.cc: Same.
113         * testsuite/backward/11460.cc: Same.
114         * testsuite/backward/strstream_members.cc: Same.
115
116         * include/ext/hash_set (class hash_multiset): Fix typo.
117
118 2003-12-22  Benjamin Kosnik  <bkoz@redhat.com>
119
120         * testsuite/27_io/objects/char/5.cc: Don't use stdc++.h.gch.
121         * testsuite/27_io/objects/wchar_t/5.cc: Same.
122         * docs/html/test.html: Add docs for constructing test files that
123         don't use stdc++.h.gch.
124         * scripts/testsuite_flags.in (PCHFLAGS): Move to --cxxpchflags.
125         * testsuite/libstdc++-dg/normal.exp: Compute DEFAULT_CXXFLAGS
126         differently.
127
128         * include/bits/ios_base.h (ios_base::Init::_S_initialized): Remove.
129         * src/ios_init.cc: Same.
130         * config/linker-map.gnu: Same.
131         * testsuite/27_io/ios_base/cons/copy_neg.cc: Adjust line numbers.
132         * testsuite/27_io/ios_base/cons/assign_neg.cc: Same.
133
134 2003-12-22  Andrew Pinski  <pinskia@physics.uc.edu>
135
136         PR libstdc++/13462
137         * include/bits/stl_multiset.h (__gnu_norm::multiset): Define pointer
138         as allocator's pointer, likewise for reference, const_pointer, and
139         const_reference.
140         * include/bits/stl_set.h (__gnu_norm::set): Likewise.
141         * include/ext/hash_set (__gnu_ext::hash_set): Likewise.
142         (__gnu_ext::hash_multiset): Likewise.
143
144 2003-12-22  Paolo Carlini  <pcarlini@suse.de>
145
146         * include/bits/locale_facets.tcc (num_get::_M_extract_int,
147         num_get::_M_extract_float): According to 22.2.2.1.2, p8-9,
148         first look for decimal_point and thousands_sep, when parsing
149         sign, leading zeros (and 0, Ox, 0X for integer types) too.
150         * testsuite/22_locale/num_get/get/char/12.cc: New.
151         * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
152
153         * testsuite/22_locale/num_get/get/char/11.cc: Add a comment.
154         * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
155
156 2003-12-20  Jason Merrill  <jason@redhat.com>
157
158         * config/cpu/powerpc/atomicity.h: Fix oversight in previous
159         change.
160
161 2003-12-20  Jerry Quinn  <jlquinn@optonline.net>
162
163         * docs/doxygen/TODO: Update.
164         * include/bits/locale_classes.h (locale, facet, id): Document.
165         * include/bits/locale_facets.tcc (has_facet, use_facet): Document.
166
167 2003-12-19  Jason Merrill  <jason@redhat.com>
168
169         * config/cpu/cris/atomicity.h: Remove memory clobbers.
170         * config/cpu/mips/atomicity.h: Likewise.
171         * config/cpu/i486/atomicity.h: Remove memory clobbers.
172         Split up read-write memory operand.
173         * config/cpu/m68k/atomicity.h: Likewise.
174         * config/cpu/powerpc/atomicity.h: Make memory I/O explicit.
175         * config/cpu/s390/atomicity.h: Likewise.
176         * config/cpu/sparc/atomicity.h: Likewise.
177
178 2003-12-20  Carlo Wood  <carlo@alinoe.com>
179
180         * bits/demangle.h
181         namespace __gnu_cxx::demangler
182         (session<Allocator>::decode_encoding): Put the postfix
183         of the return type of (member) functions after the function
184         instead of after the return type.
185
186 2003-12-19  Jerry Quinn  <jlquinn@optonline.net>
187
188         * include/bits/locale_facet.h
189         (__ctype_abstract_base,ctype<charT>,ctype<char>,ctype<wchar_t>):
190         Document.
191
192 2003-12-19  Paolo Carlini  <pcarlini@suse.de>
193
194         * include/bits/locale_facets.tcc (num_get::_M_extract_int,
195         num_get::_M_extract_float): According to 22.2.2.1.2, p8-9,
196         first look for decimal_point and thousands_sep.
197         * testsuite/22_locale/num_get/get/char/11.cc: New.
198         * testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.
199
200 2003-12-19  Paolo Carlini  <pcarlini@suse.de>
201
202         * include/bits/locale_facets.tcc (num_get::_M_extract_float):
203         When __found_sci becomes true stop eating thousands separators
204         and the decimal radix separator.
205         * testsuite/22_locale/num_get/get/char/9.cc: New.
206         * testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.
207
208         * config/locale/generic/c_locale.cc (__convert_to_v): Don't
209         check that *__sanity == '\0': parsing may stop earlier, still
210         be successful.
211         * config/locale/gnu/c_locale.cc: Likewise.
212         * testsuite/22_locale/num_get/get/char/10.cc: New.
213         * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
214         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
215         Tweak in one place accordingly.
216
217         * testsuite/22_locale/money_get/get/char/1.cc: Fix typo.
218         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
219
220 2003-12-18  Benjamin Kosnik  <bkoz@redhat.com>
221
222         * include/bits/stl_list.h: Formatting tweaks.
223         * include/bits/list.tcc: Same.
224
225 2003-12-18  Matt Austern  <austern@apple.com>
226
227         * include/bits/demangle.h: Fix allocator type correctness,
228         i.e. make sure that when we instantiate a container with a value
229         type and an allocator, the allocator's value type matches the
230         container's.
231         * include/bits/stl_deque.h (_Deque_alloc_base): Eliminate.
232         (_Deque_base): inherit directly from the deque's allocator.  Use
233         rebinding instead of _Alloc_traits.  Pick up data members from
234         _Deque_alloc_base.
235         * include/bits/stl_list.h (_List_alloc_base): Eliminate.
236         (_List_base): Inherit directly from the list's allocator.  Use
237         rebinding instead of _Alloc_traits.  Pick up data members from
238         _List_alloc_base.
239         * include/bits/stl_vector.h (_Vector_alloc_base): Eliminate
240         (_Vector_base): Inherit directly from the vector's allocator.  Use
241         rebinding instead of _Alloc_traits.  Pick up data members from
242         _Vector_alloc_base.
243         * include/ext/hashtable.h: Fix allocator type correctness (the
244         vector of buckets must be passed an allocator for objects of
245         type _Node*).  Use rebinding instead of _Alloc_traits.
246
247 2003-12-17  Paolo Carlini  <pcarlini@suse.de>
248
249         * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
250         Use narrow to get from __format[__i] a char __c representing a
251         formatting code, don't use it to compare *__beg to __format[__i].
252         * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: New.
253
254 2003-12-17  Paolo Carlini  <pcarlini@suse.de>
255
256         * testsuite/performance/container_benchmark.cc: Tweak outputs.
257
258         * testsuite/performance/list_create_fill_sort.cc: Shrink a
259         bit some outputs.
260
261         * testsuite/testsuite_performance.h: Widen a few output fields.
262
263         * testsuite/performance/ifstream_extract_int.cc: New.
264
265 2003-12-16  Phil Edwards  <phil@codesourcery.com>
266
267         * configure.ac (AM_INIT_AUTOMAKE):  Don't warn about GNU Make.
268         * configure:  Regenerated.
269         * Makefile.am (check-%):  New catch-all forwarding target.
270         * Makefile.in:  Regenerated.
271
272 2003-12-16  Paolo Carlini  <pcarlini@suse.de>
273
274         * testsuite/performance/container_benchmark.cc: New, a
275         benchmark developed by Bjarne Stroustrup and Alexander
276         Stepanov and made available with no restrictions.
277
278         * testsuite/testsuite_performance.h (report_header): New,
279         useful to produce header lines in the reports.
280
281 2003-12-16  Jonathan Wakely  <redi@gcc.gnu.org>
282
283         * docs/html/21_strings/howto.html: Document shrink-to-fit reserve().
284         * docs/html/faq/index.html: Reducing vector's capacity() to size().
285         * docs/html/documentation.html, docs/html/faq/index.txt: Regenerate.
286
287 2003-12-16  Paolo Carlini  <pcarlini@suse.de>
288
289         * testsuite/performance/narrow_widen_char.cc: Tweak the
290         number of iterations for each test.
291         * testsuite/performance/narrow_widen_wchar_t.cc: Add a
292         missing clear_counters.
293
294 2003-12-16  Paolo Carlini  <pcarlini@suse.de>
295
296         PR libstdc++/11723
297         * include/bits/locale_facets.h: Add _M_bit and _M_wmask,
298         used to speed up the computation of ctype::do_is.
299         * config/locale/generic/ctype_members.cc
300         (_M_initialize_ctype): Fill _M_bit and _M_wmask.
301         (ctype::do_is): Use _M_bit and _M_wmask.
302         * config/locale/gnu/ctype_members.cc: Likewise.
303         * testsuite/performance/is_wchar_t.cc: New.
304
305         * testsuite/performance/narrow_widen_wchar_t.cc: Tweak
306         string literal (incorrect citation ;)
307
308         * include/bits/locale_facets.h: Minor tweaks, const
309         correctness, unsigned -> size_t.
310
311 2003-12-16  Jerry Quinn  <jlquinn@optonline.net>
312
313         * include/bits/locale_facets.h (widen, narrow):  Uncomment the
314         intended code.
315
316 2003-12-15  Jerry Quinn  <jlquinn@optonline.net>
317
318         * config/os/aix/ctype_noninline.h,
319         config/os/bsd/freebsd/ctype_noninline.h,
320         config/os/bsd/netbsd/ctype_noninline.h,
321         config/os/djgpp/ctype_noninline.h,
322         config/os/generic/ctype_noninline.h,
323         config/os/gnu-linux/ctype_noninline.h,
324         config/os/hpux/ctype_noninline.h,
325         config/os/irix/irix5.2/ctype_noninline.h,
326         config/os/irix/irix6.5/ctype_noninline.h,
327         config/os/mingw32/ctype_noninline.h,
328         config/os/newlib/ctype_noninline.h,
329         config/os/qnx/qnx6.1/ctype_noninline.h,
330         config/os/solaris/solaris2.5/ctype_noninline.h,
331         config/os/solaris/solaris2.6/ctype_noninline.h,
332         config/os/solaris/solaris2.7/ctype_noninline.h,
333         config/os/vxworks/ctype_noninline.h,
334         config/os/windiss/ctype_noninline.h (ctype):  Initialize
335         _M_narrow, _M_widen.
336         * include/bits/locale_facets.h (_M_widen, _M_widen_ok,
337         _M_narrow, _M_narrow_ok): New.
338         (widen, narrow): Use tables to bypass virtual functions.
339         (_M_widen_init, _M_narrow_init): New.
340
341 2003-12-15  Carlo Wood  <carlo@alinoe.com>
342
343         * include/bits/ios_base.h (Init::_S_initialized): Change into
344         declaration.
345         * src/ios_init.cc (Init::_S_initialized): Add definition.
346
347 2003-12-15  Benjamin Kosnik  <bkoz@redhat.com>
348
349         PR libstdc++/12658
350         * include/Makefile.am (bits_headers): Add concurrence.h.
351         * include/Makefile.in: Regenerated.
352         * include/bits/concurrence.h: New.
353         * src/locale_init.cc: Use it.
354         (locale::locale): Lock critical regions.
355         (locale::global): Same.
356
357 2003-12-15  Benjamin Kosnik  <bkoz@redhat.com>
358
359         * include/bits/basic_string.h: Change _*_references to _*_refcount.
360         * include/bits/locale_classes.h: Same.
361         * src/locale.cc: Same.
362         * src/locale_name.cc: Same.
363         * src/locale_init.cc: Same.
364
365 2003-12-15  Benjamin Kosnik  <bkoz@redhat.com>
366
367         PR libstdc++/12855
368         * include/bits/ios_base.h (Init::_S_ios_base_init): Change to
369         _S_refcount, make atomic.
370         * src/ios.cc: Adjust definition.
371         * src/ios_init.cc (ios_base::Init::Init): Use __exchange_and_add,
372         and __atomic_add.
373         (ios_base::Init::~Init): Same.
374         * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
375         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
376
377 2003-12-15  Paolo Carlini  <pcarlini@suse.de>
378
379         * include/bits/locale_facets.tcc (num_get::do_get(bool&)):
380         Fail as soon as the begins of both truename and falsename
381         stop to match; always leave __beg one position beyond the
382         last char successfully matched.
383         * testsuite/22_locale/num_get/get/char/8.cc: New.
384         * testsuite/22_locale/num_get/get/wchar_t/8.cc: Likewise.
385
386 2003-12-15  Paolo Carlini  <pcarlini@suse.de>
387
388         * include/bits/locale_facets.h (_M_widen): Reserve space
389         for all the possible widened chars.
390         * config/locale/generic/ctype_members.cc (_M_initialize_ctype):
391         Compute at construction time all the possible widened chars.
392         (do_widen): Tweak, simplify.
393         * config/locale/gnu/ctype_members.cc: Likewise.
394         * testsuite/performance/narrow_widen_wchar_t.cc: Add tests
395         for the array versions.
396
397 2003-12-12  Paolo Carlini  <pcarlini@suse.de>
398             Benjamin Kosnik  <bkoz@redhat.com>
399
400         PR libstdc++/13341
401         * include/bits/locale_facets.h (ctype<wchar_t>): Declare
402         _M_initialize_ctype() and _M_narrow_ok, _M_narrow and _M_widen.
403         * src/ctype.cc (ctype<wchar_t>::ctype(size_t),
404         ctype<wchar_t>::ctype(__c_locale, size_t)): Use
405         _M_initialize_ctype to fill _M_narrow and _M_widen.
406         (ctype_byname<wchar_t>::ctype_byname(const char*, size_t)):
407         Likewise.
408         * config/locale/generic/ctype_members.cc (do_narrow, do_widen)
409         Use _M_narrow and _M_widen when possible, instead of calling
410         wctob and btowc, respectively.
411         (_M_initialize_ctype): Define, it fills at construction time
412         _M_narrow and _M_widen.
413         * config/locale/gnu/ctype_members.cc: Likewise.
414         * testsuite/performance/narrow_widen_wchar_t.cc: New.
415
416 2003-12-12  Jonathan Wakely  <redi@gcc.gnu.org>
417
418         * docs/html/faq/index.txt: Regenerate after adding <link> tags.
419
420 2003-12-11  Neil Ferguson  <nferguso@eso.org>
421             Paolo Carlini  <pcarlini@suse.de>
422
423         * include/bits/basic_string.tcc (reserve): Allow shrink-to-fit.
424         * testsuite/21_strings/basic_string/capacity/1.cc: Tweak.
425         * testsuite/21_strings/basic_string/capacity/char/1.cc: Ditto.
426         * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Ditto.
427
428 2003-12-10  Benjamin Kosnik  <bkoz@redhat.com>
429
430         PR libstdc++/6243
431         * testsuite/lib/libstdc++.exp (v3-init): Add
432         original_ld_library_path, calculate ld_library path, set
433         LD_LIBRARY_PATH to both. Based on libjava.exp.
434
435 2003-12-10  Benjamin Kosnik  <bkoz@redhat.com>
436             Alexandre Oliva  <aoliva@redhat.com>
437
438         PR libstdc++/11612
439         * testsuite/Makefile.am (GLIBCXX_DIR): New.
440         (GLIBGCC_DIR): New.
441         (CXXLINK): Use both with -R so libtool links the correct libs.
442
443 2003-12-10  Paolo Carlini  <pcarlini@suse.de>
444
445         PR libstdc++/13217
446         * include/bits/fstream.tcc (underflow): Deal gracefully with
447         read errors: throw ios_base::failure.
448
449 2003-12-10  Benjamin Kosnik  <bkoz@redhat.com>
450
451         PR libstdc++/10063
452         * config/io/basic_file_stdio.cc (__basic_file::sys_open): Sync.
453         * testsuite/ext/stdio_filebuf/char/10063-1.cc: New.
454         * testsuite/ext/stdio_filebuf/char/10063-2.cc: New.
455
456 2003-12-10  Paolo Carlini  <pcarlini@suse.de>
457
458         * include/bits/locale_facets.tcc (num_put::do_put(void*)):
459         Remove the try/catch, not necessary.
460
461 2003-12-10  Paolo Carlini  <pcarlini@suse.de>
462
463         * testsuite/22_locale/locale/cons/12438.cc: Tweak memory
464         limit and iterations to avoid spurious failures on some
465         64 bit machines.
466
467 2003-12-09  Benjamin Kosnik  <bkoz@redhat.com>
468
469         * config/linker-map.gnu: Remove private ios_base members from
470         export list.
471
472         * config/cpu/alpha/atomicity.h: Consistently format.
473         * config/cpu/cris/atomicity.h: Same.
474         * config/cpu/generic/atomicity.h: Same.
475         * config/cpu/hppa/atomicity.h: Same.
476         * config/cpu/i386/atomicity.h: Same.
477         * config/cpu/i486/atomicity.h: Same.
478         * config/cpu/ia64/atomicity.h: Same.
479         * config/cpu/m68k/atomicity.h: Same.
480         * config/cpu/mips/atomicity.h: Same.
481         * config/cpu/powerpc/atomicity.h: Same.
482         * config/cpu/s390/atomicity.h: Same.
483         * config/cpu/sparc/atomicity.h: Same.
484
485 2003-12-09  Benjamin Kosnik  <bkoz@redhat.com>
486
487         PR libstdc++/13296
488         * acinclude.m4 (GLIBCXX_ENABLE_LIBUNWIND_EXCEPTIONS): Remove.
489         * aclocal.m4: Regenerate.
490         * configure.ac: Remove call to GLIBCXX_ENABLE_LIBUNWIND_EXCEPTIONS.
491         * conigure: Regenerate.
492         * src/Makefile.am (libstdc___la_LDFLAGS): Remove LIBUNWIND_FLAGS.
493         * src/Makefile.in: Regenerate.
494         * docs/html/17_intro/configury.html: Modify.
495
496 2003-12-09  Paolo Carlini  <pcaelini@suse.de>
497
498         * include/bits/demangle.h (struct implementation_details):
499         Keep in comments the names of the unused parameters.
500
501 2003-12-09  Paolo Carlini  <pcaelini@suse.de>
502
503         * include/bits/demangle.h (struct implementation_details):
504         Fix unused parameters warning.
505
506 2003-12-09  Paolo Carlini  <pcarlini@suse.de>
507
508         * include/bits/locale_facets.tcc (num_get::_M_extract_int):
509         Slightly streamline the code dealing with overflows and the
510         parsing of the sign.
511
512 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
513
514         * include/ext/algorithm, include/ext/debug_allocator.h,
515         include/ext/enc_filebuf.h, include/ext/functional,
516         include/ext/hash_fun.h, include/ext/hash_map, include/ext/hash_set,
517         include/ext/hashtable.h, include/ext/iterator,
518         include/ext/malloc_allocator.h, include/ext/memory,
519         include/ext/mt_allocator.h, include/ext/numeric,
520         include/ext/pod_char_traits.h, include/ext/pool_allocator.h,
521         include/ext/rb_tree, include/ext/rope, include/ext/ropeimpl.h,
522         include/ext/slist, include/ext/stdio_filebuf.h,
523         include/ext/stdio_sync_filebuf.h: Remove trailing whitespace.
524
525 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
526
527         * include/debug/bitset, include/debug/debug.h, include/debug/deque,
528         include/debug/formatter.h, include/debug/hash_map.h,
529         include/debug/hash_multimap.h, include/debug/hash_multiset.h,
530         include/debug/hash_set, include/debug/hash_set.h, include/debug/list,
531         include/debug/map.h, include/debug/multimap.h,
532         include/debug/multiset.h, include/debug/safe_base.h,
533         include/debug/safe_iterator.h, include/debug/safe_iterator.tcc,
534         include/debug/safe_sequence.h, include/debug/set.h,
535         include/debug/string, include/debug/vector: Remove trailing whitespace.
536
537 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
538
539         * include/c_compatibility/iso646.h, include/c_compatibility/limits.h,
540         include/c_compatibility/locale.h, include/c_compatibility/stdio.h,
541         include/c_compatibility/string.h, include/c_compatibility/time.h,
542         include/c_compatibility/wchar.h, include/c_compatibility/wctype.h:
543         Remove trailing whitespace.
544
545 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
546
547         * include/c_std/cmath.tcc, include/c_std/std_cassert.h,
548         include/c_std/std_cctype.h, include/c_std/std_cmath.h,
549         include/c_std/std_cstddef.h, include/c_std/std_cstdio.h,
550         include/c_std/std_cstdlib.h, include/c_std/std_cstring.h,
551         include/c_std/std_cwchar.h, include/c_std/std_cwctype.h:
552         Remove trailing whitespace.
553
554 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
555
556         * include/c/std_cctype.h, include/c/std_cmath.h,
557         include/c/std_cstdlib.h include/c/std_cwchar.h,
558         include/c/std_cwctype.h: Remove trailing whitespace.
559
560 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
561
562         * include/backward/algo.h, include/backward/algobase.h,
563         include/backward/alloc.h, include/backward/complex.h,
564         include/backward/defalloc.h, include/backward/function.h,
565         include/backward/iterator.h, include/backward/new.h,
566         include/backward/ostream.h, include/backward/queue.h,
567         include/backward/rope.h, include/backward/stream.h,
568         include/backward/streambuf.h, include/backward/strstream,
569         include/backward/tempbuf.h, include/backward/tree.h,
570         include/backward/vector.h: Remove trailing whitespace.
571
572 2003-12-08  Paolo Carlini  <pcarlini@suse.de>
573
574         * config/locale/generic/c_locale.cc (__convert_to_v(long&),
575         __convert_to_v(unsigned long&), __convert_to_v(long long&),
576         __convert_to_v(unsigned long long&): Remove.
577         (__convert_to_v(float&), __convert_to_v(double&),
578         __convert_to_v(long double&)): Remove last unused parameter.
579         * config/locale/gnu/c_locale.cc: Likewise.
580         * include/bits/locale_facets.h: Likewise.
581         (num_get::_M_extract_int): Update declaration.
582         (class __num_base): Tweak _S_ie and _S_iE according to the
583         _S_atoms_in changes.
584         * include/bits/locale_facets.tcc (num_get::_M_extract_int):
585         Provide directly the final _ValueT, not a string: accumulate
586         the result checking for overflow at each digit.
587         (num_get::do_get(bool&), num_get::do_get(long&),
588         num_get::do_get(unsigned short&), num_get::do_get(unsigned int&),
589         num_get::do_get(unsigned long&), num_get::do_get(long long&),
590         num_get::do_get(unsigned long long&), num_get::do_get(void*&)):
591         Use the new _M_extract_int, simplify.
592         * src/locale-inst.cc (num_get::_M_extract_int(long&),
593         num_get::_M_extract_int(unsigned short&),
594         num_get::_M_extract_int(unsigned int&),
595         num_get::_M_extract_int(unsigned long&),
596         num_get::_M_extract_int(long long&),
597         num_get::_M_extract_int(unsigned long long&): Instantiate.
598         * src/locale_facets.cc (__num_base::_S_atoms_in): Reorder
599         the chars in the natural order: abcdefABCDEF.
600
601 2003-12-08  David S. Miller  <davem@redhat.com>
602
603         PR libstdc++/12496
604         * config/cpu/sparc/atomicity.h (__exchange_and_add, __atomic_add):
605         Extend increment to _Atomic_word before giving to assembler.
606
607 2003-12-06  Benjamin Kosnik  <bkoz@redhat.com>
608
609         * testsuite/ext/enc_filebuf/char/13189.cc: Guard for __enc_traits.
610         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
611
612 2003-12-06  Benjamin Kosnik  <bkoz@redhat.com>
613
614         PR libstdc++/11691
615         * include/ext/stdio_filebuf.h (stdio_filebuf::stdio_filebuf):
616         Remove __del argument to file descriptor constructor.
617         * config/io/basic_file_stdio.h (__basic_file::sys_open): Remove
618         bool argument.
619         * config/io/basic_file_stdio.cc: Same.
620
621 2003-12-05  Benjamin Kosnik  <bkoz@redhat.com>
622
623         PR libstdc++/13189
624         * include/ext/enc_filebuf.h: Fix.
625         * include/bits/fstream.tcc: Tweak formatting.
626         * include/bits/postypes.h: Same.
627         * include/bits/sstream.tcc: Same.
628         * include/bits/streambuf.tcc: Same.
629         * testsuite/ext/stdio_filebuf.cc: Split.
630         * testsuite/ext/stdio_filebuf_2.cc: Split.
631         * testsuite/ext/stdio_sync_filebuf_char.cc: Split.
632         * testsuite/ext/stdio_sync_filebuf_wchar_t.cc: Split.
633         * testsuite/ext/enc_filebuf/char/13189.cc: New.
634         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: New.
635         * testsuite/ext/stdio_filebuf/char/1.cc: New.
636         * testsuite/ext/stdio_filebuf/char/2.cc: New.
637         * testsuite/ext/stdio_sync_filebuf/char/1.cc: New.
638         * testsuite/ext/stdio_sync_filebuf/char/12048-1.cc: New.
639         * testsuite/ext/stdio_sync_filebuf/char/12048-2.cc: New.
640         * testsuite/ext/stdio_sync_filebuf/char/12048-3.cc: New.
641         * testsuite/ext/stdio_sync_filebuf/char/12048-4.cc: New.
642         * testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: New.
643         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc: New.
644         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc: New.
645         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc: New.
646         * testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc: New.
647
648 2003-12-05  Carlo Wood  <carlo@alinoe.com>
649
650         PR libstdc++/13045
651         * bits/demangle.h
652         namespace __gnu_cxx::demangler
653         (enum substitution_nt): Removed trailing comma.
654         (implementation_details): Added.
655         (session<Allocator>::M_implementation_details): Added.
656         (session<Allocator>::session): Pass implementation_details.
657         (session<Allocator>::decode_encoding): Same.
658         (session<Allocator>::decode_real): Added.
659         (_GLIBCXX_DEMANGLER_STYLE_VOID _GLIBCXX_DEMANGLER_STYLE_LITERAL
660         _GLIBCXX_DEMANGLER_STYLE_LITERAL_INT
661         _GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS
662         _GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME): Replaced with
663         implementation_details equivalent.
664         (session<Allocator>::decode_expression):
665         Use M_implementation_details instead of macros. Add extra parentheses
666         around 'larger than' operator in expressions in template arguments.
667         (session<Allocator>::decode_bare_function_type): Idem.
668         (session<Allocator>::decode_literal):
669         Idem, and call decode_real for floating literals.
670         (session<Allocator>::decode_type_with_postfix): Put the postfix
671         of the return type of (member) functions after the function
672         instead of after the return type.  Also, put a space after the
673         prefix of qualified function pointers: "int (* const<space>".
674         * src/demangle.cc: include most dependent header file first.
675         * testsuite/demangle/regression/cw-16.cc: Updated two
676         and added three tests.
677
678 2003-12-04  Benjamin Kosnik  <bkoz@redhat.com>
679
680         PR libstdc++/13284
681         * include/bits/stl_algo.h (__random_number): Remove.
682         (random_shuffle): Use rand, as permitted by DR 395.
683         * include/ext/algorithm: Same.
684         * linkage.m4 (GLIBCXX_CHECK_STDLIB_SUPPORT): Remove lrand48.
685         * acconfig.h: Same.
686         * crossconfig.m4: Remove HAVE_DRAND48, HAVE_LRAND48.
687         * config.h.in: Regenerated.
688         * configure: Same.
689         * aclocal.m4: Same.
690
691 2003-12-04  Paolo Carlini  <pcarlini@suse.de>
692
693         PR libstdc++/12653
694         * include/std/std_bitset.h (operator>>): Implement resolution
695         of DR 303 [WP]: use widen('0') and widen('1').
696         * docs/html/ext/howto.html: Add an entry for DR 303.
697
698         * include/std/std_bitset.h (operator>>): Implement the common
699         requirements of formatted input functions (27.6.1.2.1).
700
701         * include/std/std_bitset.h (operator>>): Set the failbit when
702         nothing was extracted and _Nb != 0.
703         * testsuite/23_containers/bitset/input/1.cc: New.
704
705 2003-12-03  Paolo Carlini  <pcarlini@suse.de>
706
707         PR libstdc++/12791
708         * include/bits/locale_facets.tcc (time_get::_M_extract_num):
709         Rewrite, stop the parsing as soon as a digit cannot possibly
710         lead to a final number within the bounds; otherwise, simplify,
711         avoiding __ctype.is() and atoi().
712         * testsuite/22_locale/time_get/get_date/char/12791.cc: New.
713         * testsuite/22_locale/time_get/get_date/wchar_t/12791.cc: New.
714
715         * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
716         Minor tweak: a 4-digit integer cannot be bigger than 9999.
717
718         * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Use
719         type-correct wchar_t string literals.
720         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Ditto.
721         * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Ditto.
722         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Ditto.
723         * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Ditto.
724
725 2003-12-02  Paolo Carlini  <pcarlini@suse.de>
726
727         * include/bits/locale_facets.tcc (time_get::do_get_year):
728         Avoid using a basic_string and calling a full blown strtol
729         (via __convert_to_v) for simple 2 or 4 digits, base 10,
730         positive integers; simplify.
731
732 2003-12-02  Paolo Carlini  <pcarlini@suse.de>
733
734         * config/locale/gnu/monetary_members.cc
735         (money_base::_S_construct_pattern): For case 3: and 4:
736         exchanging 'if (__precedes)' and 'if (__space)' allows
737         to factor out a few more assignments.
738
739 2003-12-01  Benjamin Kosnik  <bkoz@redhat.com>
740
741         * include/bits/basic_ios.h (basic_ios::setstate): Revert.
742         * include/bits/istream.tcc: Only call setstate if __err != goodbit.
743         * include/bits/ostream.tcc: Same.
744         * testsuite/27_io/basic_ios/exceptions/char/2.cc: New.
745
746         * testsuite/testsuite_io.h (__gnu_test::fail_streambuf): Make
747         internal buffer non-static.
748
749 2003-12-01  Benjamin Kosnik  <bkoz@redhat.com>
750
751         * docs/html/17_intro/C++STYLE: Add exception bits.
752         * include/bits/fstream.tcc: Add location info to exception strings.
753
754         * include/bits/stl_construct.h: Formatting tweaks.
755
756 2003-12-01  Paolo Carlini  <pcarlini@suse.de>
757
758         PR libstdc++/10378
759         * include/bits/allocator.h (allocator::construct): Implement
760         resolution of DR 402 [Ready] (in Revision 28).
761         * include/bits/allocator_traits.h (__allocator::construct):
762         Likewise.
763         * include/bits/stl_construct.h (_Construct): Likewise.
764         * testsuite/20_util/allocator_members.cc: Move to...
765         * testsuite/20_util/allocator/1.cc: ... here.
766         * testsuite/20_util/allocator/10378.cc: New.
767         * docs/html/ext/howto.html: Add an entry for DR 402.
768
769 2003-11-30  Paolo Carlini  <pcarlini@suse.de>
770
771         * config/locale/gnu/codecvt_members.cc (codecvt::do_in,
772         codecvt::do_length): More minor tweaks.
773
774 2003-11-30  Paolo Carlini  <pcarlini@suse.de>
775
776         * config/locale/gnu/codecvt_members.cc (codecvt::do_in):
777         Minor stylistic tweak.
778
779 2003-11-30  Paolo Carlini  <pcarlini@suse.de>
780
781         * include/bits/locale_facets.tcc (num_put::do_put(..., bool)):
782         Minor tweaks, consistent with the style used in other facets.
783
784 2003-11-29  Paolo Carlini  <pcarlini@suse.de>
785
786         * include/bits/fstream.tcc (underflow): Minor tweaks in
787         preparation for libstdc++/13217.
788
789 2003-11-29  Paolo Carlini  <pcarlini@suse.de>
790
791         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc:
792         Tweak for a few small problems (fix timings, use VERIFY..)
793
794 2003-11-28  Paolo Carlini  <pcarlini@suse.de>
795
796         * testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc: Remove.
797         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: New,
798         the original third testcase for libstdc++/13171 belong here.
799
800 2003-11-28  Paolo Carlini  <pcarlini@suse.de>
801
802         * testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc:
803         Remove extraneous wchar_t lines.
804
805 2003-11-27  Paolo Carlini  <pcarlini@suse.de>
806
807         PR libstdc++/11544
808         PR libstdc++/11603
809         * include/bits/fstream.tcc (underflow): Throw ios_base::failure
810         upon incomplete or invalid byte sequences in the file.
811         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc: New.
812         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc: New.
813         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc: New.
814
815 2003-11-27  Paolo Carlini  <pcarlini@suse.de>
816
817         * include/std/std_streambuf.h (__copy_streambufs): Remove
818         the first, unused, basic_ios<> parameter.
819         * src/streambuf-inst.cc: Likewise.
820         * include/bits/streambuf.tcc: Likewise.
821         * include/bits/istream.tcc (operator>>(__streambuf_type*)):
822         Tweak accordingly the call.
823         * include/bits/ostream.tcc (operator<<(__streambuf_type*)):
824         Likewise.
825
826         * include/bits/streambuf.tcc (__copy_streambufs): Remove
827         redundant try/catch.
828
829 2003-11-26  Benjamin Kosnik  <bkoz@redhat.com>
830
831         PR libstdc++/9371
832         PR libstdc++/9546
833         PR libstdc++/10093
834         PR libstdc++/10095
835         * include/bits/basic_ios.h (basic_ios::setstate): Elide if goodbit.
836         (basic_ios::_M_setstate): Consolidate common error handling code.
837         * include/bits/basic_ios.tcc: Tweak.
838         * include/bits/fstream.tcc: Tweak.
839         * include/bits/istream.tcc: Use _M_setstate for common exception
840         handling. Move setstate calls after catch.
841         (basic_istream::tellg): Check for exceptions thrown by streambuf
842         virtual functions.
843         (basic_istream::seekg): Same.
844         * include/bits/ostream.tcc: Same, but for ostream.
845         (basic_ostream::flush): Check for exceptions thrown by streambuf
846         virtual functions.
847         (basic_istream::tellp): Same.
848         (basic_istream::seekp): Same.
849         * include/bits/locale_facets.tcc: Tweak.
850         * include/bits/streambuf.tcc: Tweak.
851         (__copy_streambufs): Propagate exceptions.
852         * testsuite/testsuite_io.h (fail_streambuf): New.
853         (fail_num_get): New.
854         (fail_num_put): New.
855         (facet_error): New.
856         (underflow_error): New.
857         (overflow_error): New.
858         (positioning_error): New.
859         * testsuite/27_io/basic_istream/exceptions/char/9561.cc: Tweak.
860         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
861         exceptions_badbit_throw.cc, exceptions_failbit.cc,
862         exceptions_failbit_throw.cc: New.
863         * testsuite/27_io/basic_istream/extractors_other/char/
864         error_failbit.cc, exceptions_badbit_throw.cc,
865         exceptions_failbit_throw.cc, exceptions_null.cc: New.
866         * testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc:
867         New.
868         * testsuite/27_io/basic_istream/tellg/char/exceptions_badbit_throw.cc:
869         New.
870         * testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc:
871         New.
872         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/
873         exceptions_badbit_throw.cc, exceptions_failbit_throw.cc: New.
874         * testsuite/27_io/basic_ostream/inserters_other/char/
875         error_failbit.cc, exceptions_badbit_throw.cc,
876         exceptions_failbit_throw.cc, exceptions_null.cc: New.
877         * testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc:
878         New.
879         * testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc:
880         New.
881
882 2003-11-26  Benjamin Kosnik  <bkoz@redhat.com>
883
884         PR libstdc++/12297
885         * include/bits/istream.tcc
886         (basic_istream::sentry::sentry): Set failbit and eofbit when eof.
887         * testsuite/27_io/basic_istream/sentry/char/12297.cc: New.
888
889 2003-11-26  Paolo Carlini  <pcarlini@suse.de>
890             Petur Runolfsson  <peturr02@ru.is>
891
892         PR libstdc++/13171
893         * include/bits/fstream.tcc (imbue): Relax the conditions under
894         which the function succeeds: allow for two consecutive calls with
895         the same name; state dependent encodings are ok even after open
896         if at the beginning of the file; don't check seekoff return value
897         (pipes, cin, cout, etc...)
898         * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: New.
899         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: New.
900         * testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc: New.
901         * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: New.
902         * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Tweak comment.
903         * testsuite/27_io/basic_filebuf/imbue/char/3.cc: Likewise.
904         * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Tweak comment.
905         * testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: Likewise.
906
907         * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: More
908         correctly use the UTF-8 locale appearing in the PR.
909
910 2003-11-26  Paolo Carlini  <pcarlini@suse.de>
911
912         * include/bits/locale_facets.h
913         (__numpunct_cache<>::_M_cache): Avoid zeroing _M_grouping,
914         _M_truename and _M_falsename: the constructor always does
915         it immediately before the _M_cache call.
916
917 2003-11-25  Paolo Carlini  <pcarlini@suse.de>
918
919         * config/locale/gnu/codecvt_members.cc (codecvt::do_length):
920         Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the
921         former is very fast, but stops if encounters a NUL.
922         (codecvt::do_out): Tweaks.
923         (codecvt::do_in): Tweaks, improve the code dealing with errors.
924         * testsuite/performance/wchar_t_length.cc: New.
925
926 2003-11-24  Paolo Carlini  <pcarlini@suse.de>
927
928         * config/locale/gnu/codecvt_members.cc (codecvt::do_in):
929         Rewrite, using both mbsnrtowcs and mbrtowc in a loop: the
930         former is very fast, but stops if encounters a NUL.
931         (codecvt::do_out): Tweak.
932         * testsuite/performance/wchar_t_in.cc: New.
933
934 2003-11-24  Paolo Carlini  <pcarlini@suse.de>
935
936         * include/bits/locale_facets.h
937         (__numpunct_cache<>::_M_cache): Set _M_allocated at the beginning
938         in order to avoid memory leaks; simplify a bit.
939
940 2003-11-24  Benjamin Kosnik  <bkoz@redhat.com>
941
942         * include/bits/streambuf_iterator.h (ostreambuf_iterator): Remove
943         non-standard throw specs.
944         * testsuite/24_iterators/istreambuf_iterator.cc: Split into...
945         * testsuite/24_iterators/istreambuf_iterator/1.cc
946         * testsuite/24_iterators/istreambuf_iterator/2.cc
947         * testsuite/24_iterators/istreambuf_iterator/2627.cc
948         * testsuite/24_iterators/ostreambuf_iterator.cc: Split into...
949         * testsuite/24_iterators/ostreambuf_iterator/1.cc
950         * testsuite/24_iterators/ostreambuf_iterator/2.cc
951
952         * testsuite/24_iterators/reverse_iterator/1.cc: Just compile,
953         don't link.
954
955         * include/bits/allocator.h: Formatting tweak.
956
957 2003-11-24  Paolo Carlini  <pcarlini@suse.de>
958
959         * src/locale_init.cc: Cosmetic reformatting.
960
961 2003-11-23  Paolo Carlini  <pcarlini@suse.de>
962
963         * include/bits/locale_facets.tcc (__add_grouping):
964         Cosmetic reformatting.
965
966 2003-11-23  Paolo Carlini  <pcarlini@suse.de>
967
968         * include/bits/locale_facets.tcc (_M_extract_float,
969         _M_extract_int): Remove a wrong comment and simplify
970         the corresponding code using char_traits::find().
971
972 2003-11-22  Paolo Carlini  <pcarlini@suse.de>
973
974         * config/locale/gnu/monetary_members.cc
975         (money_base::_S_construct_pattern): Factor out two assignments.
976
977 2003-11-22  Paolo Carlini  <pcarlini@suse.de>
978
979         * include/bits/istream.tcc (getline(basic_string<>&)):
980         Fix error in comment of the previous commit.
981
982 2003-11-22  Paolo Carlini  <pcarlini@suse.de>
983
984         PR libstdc++/12593
985         * include/bits/istream.tcc (operator>>(basic_string<>&),
986         getline(basic_string<>&)): Implement resolution of DR 91 [WP];
987         fix some minor issues with the exit conditions.
988         * docs/html/ext/howto.html: Add an entry for DR 91.
989
990 2003-11-21  Paolo Carlini  <pcarlini@suse.de>
991
992         * config/locale/gnu/monetary_members.cc
993         (money_base::_S_construct_pattern): Factor out an assignment.
994
995 2003-11-21  Paolo Carlini  <pcarlini@suse.de>
996
997         PR libstdc++/12882 (partial)
998         * acinclude.m4 (GLIBCXX_CHECK_LFS): Check fseeko64
999         and ftello64 too.
1000         * include/ext/stdio_sync_filebuf.h (seekoff): Use fseeko64
1001         and ftello64 if available.
1002         * aclocal.m4: Regenerate.
1003         * configure: Ditto.
1004
1005 2003-11-20  Benjamin Kosnik  <bkoz@redhat.com>
1006
1007         * include/debug/formatter.h: Use _Tp as template argument.
1008         * src/debug.cc: Same, instantiate std::size_t.
1009
1010 2003-11-20  Benjamin Kosnik  <bkoz@redhat.com>
1011
1012         PR libstdc++/13109
1013         * include/debug/formatter.h (_Error_formatter::_M_format_word): New.
1014         * src/debug.cc (__gnu_debug): Format.
1015         (_Error_formatter::_M_format_word): Define, use, instantiate.
1016
1017 2003-11-20  Paolo Carlini  <pcarlini@suse.de>
1018
1019         PR libstdc++/11602
1020         * config/locale/gnu/codecvt_members.cc (codecvt::do_out):
1021         Rewrite, using both wcsnrtombs and wcrtomb in a loop: the
1022         former is very fast, but stops if encounters a NUL.
1023         * testsuite/performance/wchar_t_out.cc: New, from the PR.
1024
1025 2003-11-19  Paolo Carlini  <pcarlini@suse.de>
1026
1027         * config/locale/gnu/codecvt_members.cc (do_out): If
1028         we can upper bound the total number of external chars
1029         to something smaller than __to_end - __to, avoid the
1030         temporary buffer, the memcopy and simplify the loop.
1031         * config/locale/generic/codecvt_members.cc (do_out):
1032         Likewise.
1033
1034 2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
1035
1036         * testsuite/lib/libstdc++.exp: Add DYLD_LIBRARY_PATH for darwin.
1037         * testsuite/libstdc++-dg/normal.exp: Add -multiply_defined suppress
1038         flag.
1039
1040 2003-11-18  Jonathan Wakely  <redi@gcc.gnu.org>
1041
1042         * docs/html/configopts.html, docs/html/debug.html,
1043         docs/html/documentation.html, docs/html/explanations.html,
1044         docs/html/install.html, docs/html/17_intro/contribute.html,
1045         docs/html/17_intro/howto.html, docs/html/17_intro/license.html,
1046         docs/html/18_support/howto.html, docs/html/19_diagnostics/howto.html,
1047         docs/html/20_util/howto.html, docs/html/21_strings/howto.html,
1048         docs/html/22_locale/codecvt.html, docs/html/22_locale/ctype.html,
1049         docs/html/22_locale/howto.html, docs/html/22_locale/locale.html,
1050         docs/html/22_locale/messages.html, docs/html/23_containers/howto.html,
1051         docs/html/24_iterators/howto.html, docs/html/25_algorithms/howto.html,
1052         docs/html/26_numerics/howto.html, docs/html/27_io/howto.html,
1053         docs/html/ext/howto.html, docs/html/ext/sgiexts.html: Add <link> tags.
1054
1055 2003-11-18  Paolo Carlini  <pcarlini@suse.de>
1056
1057         PR libstdc++/12868
1058         * include/bits/fstream.tcc (imbue): For encodings != -1 it's
1059         always ok to imbue a new locale, provided seekoff(0, cur, ...)
1060         doesn't fail, of course.
1061         (underflow): In order for the above to work, deal gracefully
1062         with _M_codecvt->in returning codecvt_base::error while
1063         (__ilen = __iend - this->eback()) > 0: it just means __ilen
1064         correctly converted internal characters before an error.
1065         * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: New.
1066
1067 2003-11-17  Paolo Carlini  <pcarlini@suse.de>
1068
1069         * include/bits/locale_facets.tcc: Fix typo in comment.
1070
1071 2003-11-17  Paolo Carlini  <pcarlini@suse.de>
1072
1073         * testsuite/22_locale/num_put/put/char/8.cc: New test,
1074         summarizing the discussion ensuing libstdc++/12988.
1075         * testsuite/22_locale/num_put/put/wchar_t/8.cc: Ditto.
1076
1077 2003-11-15  Paolo Carlini  <pcarlini@suse.de>
1078
1079         * include/std/std_fstream.h: Tweak a comment.
1080
1081 2003-11-15  Roger Sayle  <roger@eyesopen.com>
1082
1083         * include/c_std/std_cmath.h: Don't import C99's float transcendentals
1084         into the __gnu_cxx::__c99_binding namespace.
1085         (acos, asin, atan, atan2, ceil, cosh, exp, floor, fmod, frexp,
1086         ldexp, log, log10, modf, pow, sinh, tan, tanh): Implement using
1087         GCC's math builtins, i.e. __builtin_foo.
1088         * libmath/stubs.c (acosf, acosl, asinf, asinl, atanf, atanl,
1089         ceilf, ceill, floorf, floorl, fmodf, fmodl, frexpf, frexpl,
1090         ldexpf, ldexpl, modff, modfl): Provide stub implementations.
1091
1092 2003-11-14  Paolo Carlini  <pcarlini@suse.de>
1093
1094         * testsuite/22_locale/locale/cons/12352.cc: Use
1095         __gnu_test::try_named_locale.
1096
1097 2003-11-14  Paolo Carlini  <pcarlini@suse.de>
1098
1099         * docs/html/ext/howto.html: Add entries for DR 63, 75
1100         and 305; tweak entries for DR 60 and 328.
1101
1102 2003-11-13  Douglas Gregor  <gregod@cs.rpi.edu>
1103
1104         * docs/html/debug.html: Users are allowed to specialize in
1105         namespace __gnu_debug, unlike in the Apple version of the debug
1106         mode. Clear up a confusing double-negative. Note that
1107         std::basic_string does provide extra debugging capabilities, but
1108         not safe iterators.
1109         * include/bits/basic_string.tcc: Make sure there's never an
1110         ambiguity when calling __is_null_pointer.
1111         * include/debug/deque: (deque::erase) Properly handle invalidation
1112         when erasing at the end of the deque.
1113         * include/debug/vector: (vector::swap): Swap _M_guaranteed_capacity.
1114         (vector::clear): Set the guaranteed capacity to 0.
1115         * testsuite/23_containers/deque/invalidation/4.cc: (test04): Test
1116         iterator invalidation when erasing at the end of the deque.
1117
1118 2003-11-13  Paolo Carlini  <pcarlini@suse.de>
1119             Petur Runolfsson  <peturr02@ru.is>
1120
1121         PR libstdc++/13007
1122         * include/bits/fstream.tcc (imbue): Don't touch the stored
1123         locale.
1124         * include/std/std_streambuf.h (imbue): According to the
1125         standard, base class version does nothing.
1126         (pubimbue): Store the locale.
1127         * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: New.
1128         * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: New.
1129         * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Tweak.
1130         * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
1131         * testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc: New.
1132         * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: New.
1133         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc: New.
1134         * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: New.
1135
1136 2003-11-13  Petur Runolfsson  <peturr02@ru.is>
1137
1138         PR libstdc++/12594
1139         * include/bits/ostream.tcc
1140         (basic_ostream::operator<<(basic_ostream& (*)(basic_ostream&)),
1141         basic_ostream::operator<<(basic_ios& (*)(basic_ios&)),
1142         basic_ostream::operator<<(ios_base& (*)(ios_base&))):
1143         Implement the resolution of DR 60 (TC): These are not formatted
1144         output functions so don't construct sentry objects and don't
1145         catch exceptions.
1146         (basic_ostream::put, basic_ostream::write): Implement the
1147         resolution of DR 63 (TC) by catching exceptions and setting
1148         badbit.
1149         (basic_ostream::flush): Implement the resolution of DR 60 (TC):
1150         This is not an unformatted output function so don't construct
1151         a sentry object.
1152         * testsuite/testsuite_io.h (sync_streambuf): Define.
1153         * testsuite/27_io/basic_ostream/flush/char/2.cc: New test.
1154         * testsuite/27_io/basic_ostream/inserters_other/char/5.cc: New test.
1155         * testsuite/27_io/basic_ostream/put/char/1.cc: New test.
1156         * testsuite/27_io/basic_ostream/write/char/1.cc: New test.
1157
1158 2003-11-13  Paolo Carlini  <pcarlini@suse.de>
1159
1160         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1:
1161         Fix, closely following the testcase included in the PR.
1162         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2: Ditto.
1163         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3: Ditto.
1164         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4: Ditto.
1165
1166 2003-11-13  Jonathan Wakely <redi@gcc.gnu.org>
1167
1168         * docs/html/17_intro/configury.html: XHTML tweak.
1169
1170 2003-11-13  Jonathan Wakely <redi@gcc.gnu.org>
1171
1172         * docs/html/debug_mode.html: XHTML fixes.
1173
1174 2003-11-12  Benjamin Kosnik  <bkoz@redhat.com>
1175
1176         * docs/html/debug_mode.html: Update.
1177         * docs/html/17_intro/TODO: Update.
1178
1179 2003-11-12  Benjamin Kosnik  <bkoz@redhat.com>
1180
1181         * include/bits/c++config: Move using directive...
1182         * include/debug/formatter.h: ...here.
1183
1184 2003-11-12  Carlo Wood  <carlo@alinoe.com>
1185
1186         PR libstdc++/12947
1187         * bits/demangle.h
1188         (_GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS): Added.
1189         (_GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME): Added.
1190         (session<Allocator>::next_peek() const): Added.
1191         (decode_non_negative_decimal_integer(string_type&)):
1192         Renamed from decode_decimal_integer(string_type&).
1193         (session<Allocator>::decode_nested_name):
1194         Decode <template_param> as well.
1195         (session<Allocator>::add_substitution):
1196         Handle <template-param> for <nested-name>'s.
1197         (enum xary_nt): Added.
1198         (struct entry_st): Added member `xary_nt type' instead of `bool unary'.
1199         (symbol_name_table_c): Updated for `entry_st::type' and additional
1200         operators (unary `operator+' and `sizeof(type)').
1201         (offset_table_c): Updated for new operators (causing a new hash map).
1202         (decode_operator_name): Match the updated hash map.
1203         (session<Allocator>::decode_expression):
1204         Support for `sizeof ([typename] type)' (st),
1205         dependent names (sr) and casting operator (cv).  Handle
1206         `entry_st::type'.  Handle _GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS
1207         and _GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME.
1208         (session<Allocator>::decode_type_with_postfix):
1209         Support `extern "C"' function types (FY).
1210         * testsuite/demangle/regression/cw-16.cc: Added tests for the
1211         added functionality.
1212         * testsuite/demangle/regression/3111-2.cc: sizeof now has a space
1213         appended.
1214
1215 2003-11-11  Paolo Carlini  <pcarlini@suse.de>
1216
1217         PR libstdc++/12875
1218         * include/bits/fstream.tcc (setbuf): Don't do anything
1219         after open(), in particular don't discard data.
1220         (_M_allocate_internal_buffer): Tweak to not allocate memory
1221         in case the buffer is provided by the user via setbuf.
1222         * include/ext/stdio_filebuf.h: Tweak comment.
1223         * testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc: New.
1224         * testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc: Likewise.
1225         * testsuite/27_io/basic_filebuf/setbuf/char/2.cc: Tweak, now
1226         setbuf does nothing after open().
1227         * testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Likewise.
1228
1229 2003-11-11  Doug Gregor  <gregod@cs.rpi.edu>
1230
1231         * docs/html/debug.html: Document libstdc++ debug mode.
1232         * docs/html/debug_mode.html: Document libstdc++ debug mode design.
1233         * docs/html/test.html: Document how to test under debug mode.
1234         * docs/html/17_intro/howto.html: Document debug-mode macros.
1235         * include/Makefile.am: Install debug-mode headers.
1236         * src/Makefile.am: Include debug.cc.
1237         * include/bits/basic_string.tcc:
1238         (basic_string::_S_construct): Fix NULL pointer check.
1239         (__is_null_pointer): New.
1240         Add precondition annotations.
1241         * include/bits/stream_iterator.h (istream_iterator,
1242         ostream_iterator): Added precondition annotations.
1243         * include/bits/streambuf_iterator.h (istreambuf_iterator): Ditto.
1244         * include/bits/stl_queue.h (queue, priority_queue): Ditto.
1245         * include/bits/stl_stack.h (stack): Ditto.
1246         * include/bits/basic_string.h (basic_string): Ditto.
1247         * include/bits/basic_string.tcc (basic_string): Ditto.
1248         * include/std/std_memory.h (auto_ptr): Ditto.
1249         * include/std/std_valarray.h (valarray): Ditto.
1250         * include/bits/stl_algo.h: Added algorithm precondition
1251         annotations.
1252         * include/bits/stl_algobase.h: Added algorithm precondition
1253         annotations.
1254         * include/bits/stl_numeric.h: Ditto.
1255         * include/ext/algorithm: Added algorithm precondition
1256         annotations.
1257         (__is_heap): Moved away from here.
1258         * include/bits/stl_heap.h: Added algorithm precondition
1259         annotations.
1260         (__is_heap): Moved to the top of this file.
1261         (__is_heap): Added iterator range overloads.
1262         * testsuite/20_util/auto_ptr_neg.cc: Fix line numbers to match up
1263         with changes in std_memory.h.
1264         * testsuite/23_containers/list/operators/4.cc: Don't verify
1265         performance guarantees when in debug mode.
1266         * testsuite/23_containers/bitset/invalidation/1.cc: New.
1267         * testsuite/23_containers/deque/invalidation/1.cc: New.
1268         * testsuite/23_containers/deque/invalidation/2.cc: New.
1269         * testsuite/23_containers/deque/invalidation/3.cc: New.
1270         * testsuite/23_containers/deque/invalidation/4.cc: New.
1271         * testsuite/23_containers/list/invalidation/1.cc: New.
1272         * testsuite/23_containers/list/invalidation/2.cc: New.
1273         * testsuite/23_containers/list/invalidation/3.cc: New.
1274         * testsuite/23_containers/list/invalidation/4.cc: New.
1275         * testsuite/23_containers/map/invalidation/1.cc: New.
1276         * testsuite/23_containers/map/invalidation/2.cc: New.
1277         * testsuite/23_containers/multimap/invalidation/1.cc: New.
1278         * testsuite/23_containers/multimap/invalidation/2.cc: New.
1279         * testsuite/23_containers/multiset/invalidation/1.cc: New.
1280         * testsuite/23_containers/multiset/invalidation/2.cc: New.
1281         * testsuite/23_containers/set/invalidation/1.cc: New.
1282         * testsuite/23_containers/set/invalidation/2.cc: New.
1283         * testsuite/23_containers/vector/invalidation/1.cc: New.
1284         * testsuite/23_containers/vector/invalidation/2.cc: New.
1285         * testsuite/23_containers/vector/invalidation/3.cc: New.
1286         * testsuite/23_containers/vector/invalidation/4.cc: New.
1287         * testsuite/25_algorithms/heap.cc: Don't verify
1288         performance guarantees when in debug mode.
1289         * include/debug/bitset: New.
1290         * include/debug/debug.h: New.
1291         * include/debug/deque: New.
1292         * include/debug/formatter.h: New.
1293         * include/debug/hash_map: New.
1294         * include/debug/hash_map.h: New.
1295         * include/debug/hash_multimap.h: New.
1296         * include/debug/hash_set: New.
1297         * include/debug/hash_set.h: New.
1298         * include/debug/hash_multiset.h: New.
1299         * include/debug/list: New.
1300         * include/debug/map: New.
1301         * include/debug/map.h: New.
1302         * include/debug/multimap.h: New.
1303         * include/debug/multiset.h: New.
1304         * include/debug/safe_base.h: New.
1305         * include/debug/safe_iterator.h: New.
1306         * include/debug/safe_iterator.tcc: New.
1307         * include/debug/safe_sequence.h: New.
1308         * include/debug/set: New.
1309         * include/debug/set.h: New.
1310         * include/debug/string: New.
1311         * include/debug/vector: New.
1312         * src/debug.cc: New.
1313         * config/linker-map.gnu: Add debug mode symbols.
1314
1315 2003-11-11  Benjamin Kosnik  <bkoz@redhat.com>
1316
1317         * src/string-inst.cc: Tweak namespaces.
1318         * src/misc-inst.cc: Same.
1319         * docs/html/debug.html: Edits.
1320         * config/link-map.gnu: Remove cruft.
1321
1322         * include/bits/c++config: Add in namespace associations.
1323         * include/std/std_bitset.h: Adjust namespace to __gnu_norm,
1324         comment tweaks.
1325         * include/bits/deque.tcc: Same.
1326         * include/bits/list.tcc: Same.
1327         * include/bits/stl_bvector.h: Same.
1328         * include/bits/stl_deque.h: Same.
1329         * include/bits/stl_list.h: Same.
1330         * include/bits/stl_map.h: Same.
1331         * include/bits/stl_multimap.h: Same.
1332         * include/bits/stl_multiset.h: Same.
1333         * include/bits/stl_set.h: Same.
1334         * include/bits/stl_vector.h: Same.
1335         * include/bits/vector.tcc: Same.
1336
1337         * include/std/std_algorithm.h: Remove markup comments.
1338         * include/std/std_functional.h: Same.
1339         * include/std/std_iterator.h: Same.
1340         * include/std/std_numeric.h: Same.
1341         * include/std/std_utility.h: Same.
1342         * include/bits/stl_queue.h: Formatting tweaks.
1343         * include/bits/stl_stack.h: Same.
1344         * include/std/std_deque.h: Include debugging version in debug mode.
1345         * include/std/std_list.h: Same.
1346         * include/std/std_map.h: Same.
1347         * include/std/std_set.h: Same.
1348         * include/std/std_vector.h: Same.
1349         * include/std/std_queue.h: Use deque, vector.
1350         * include/std/std_stack.h: Same.
1351
1352 2003-11-09  Paolo Carlini  <pcarlini@suse.de>
1353
1354         * include/bits/locale_facets.tcc (_M_insert_int,
1355         _M_insert_float): Move a couple of vars inside an if block.
1356
1357 2003-11-09  Paolo Carlini  <pcarlini@suse.de>
1358
1359         PR libstdc++/12971
1360         * include/bits/locale_facets.tcc
1361         (money_put::do_put(..., long double)): Fix conversion
1362         specification as per DR 328 [WP].
1363         * testsuite/22_locale/money_put/put/char/12971.cc: Add.
1364         * testsuite/22_locale/money_put/put/wchar_t/12971.cc: Ditto.
1365         * docs/html/ext/howto.html: Add entry for DR 328.
1366
1367 2003-11-08  Paolo Carlini  <pcarlini@suse.de>
1368
1369         PR libstdc++/12967
1370         * include/bits/list.tcc (merge): Implement resolution of
1371         DR 300 [WP].
1372         * docs/html/ext/howto.html: Add entry for DR 300; tweak entry
1373         for DR 231.
1374
1375         * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
1376         Import R27.
1377
1378 2003-11-07  Jonathan Wakely  <redi@gcc.gnu.org>
1379
1380         * libsupc++/vec.cc: Conform to C++STYLE.
1381
1382 2003-11-07  Carlo Wood  <carlo@alinoe.com>
1383
1384         PR libstdc++/12736
1385         * bits/demangle.h (qualifier_list<Allocator>::decode_KVrA): Added.
1386         (qualifier_list<Allocator>::decode_qualifiers): Collect concatenated
1387         K, V, r and A qualifiers before processing them as a group.
1388         * testsuite/demangle/abi_text/01.cc: Reordered CV-qualifiers.
1389         * testsuite/demangle/regression/cw-16.cc: New.
1390
1391 2003-11-07  Robert Millan  <robertmh@gnu.org>
1392
1393         * configure.host: Add kfreebsd*-gnu and knetbsd*-gnu.
1394         * crossconfig.m4: Likewise.
1395         * configure: Regenerate.
1396
1397 2003-11-07  Carlo Wood  <carlo@alinoe.com>
1398
1399         * include/bits/demangle.h
1400         (qualifier_list<Allocator>::decode_qualifiers(string_type&,
1401         string_type&, bool member_function_pointer_qualifiers):
1402         Always separate the '[' of an array type with a space from
1403         what is left of it, except when that is the closing bracket
1404         of another array dimension.
1405
1406 2003-11-07  Carlo Wood  <carlo@alinoe.com>
1407
1408         * include/bits/demangle.h
1409         (qualifier_list<Allocator>::decode_qualifiers(string_type&,
1410         string_type&, bool) const): Made const.
1411         (qualifier_list<Allocator>::M_printing_suppressed): Added mutable.
1412         (_GLIBCXX_DEMANGLER_DOUT_ENTERING3, _GLIBCXX_DEMANGLER_RETURN3,
1413         std::ostream& operator<<(std::ostream&, qualifier const&),
1414         std::ostream& operator<<(std::ostream&, qualifier_list const&),
1415         qualifier_list<Allocator>::decode_qualifiers(string_type&,
1416         string_type&, bool) const,
1417         session<Allocator>::decode_type_with_postfix(string_type&,
1418         string_type&, qualifier_list<Allocator>*))
1419         Added and/or changed debug-only hooks and code.
1420
1421 2003-11-04  Jeffrey D. Oldham  <oldham@codesourcery.com>
1422
1423         * libsupc++/vec.cc (__cxa_vec_delete2): If given a NULL pointer,
1424         immediately return.  This reflects a C++ ABI change 2003 Nov 03.
1425         (__cxa_vec_delete3): Likewise.
1426
1427 2003-11-03  Petur Runolfsson  <peturr02@ru.is>
1428
1429         PR libstdc++/12790
1430         * include/bits/fstream.tcc: Delete _M_last_overflowed.
1431         (basic_filebuf::basic_filebuf): Initialize _M_state_last.
1432         (basic_filebuf::open, basic_filebuf::close): Assign
1433         _M_state_beg to _M_state_cur and _M_state_last.
1434         (basic_filebuf::close): Call _M_terminate_output to handle
1435         unshift and flushing.
1436         (basic_filebuf::underflow): Assign _M_state_last, throw
1437         exception instead of calling abort when codecvt::max_length()
1438         is bad.
1439         (basic_filebuf::seekoff): Use _M_state_last when calling
1440         codecvt::length(), pass correct state to _M_seek.
1441         (basic_filebuf::seekpos): Pass __pos.state() to _M_seek.
1442         (basic_filebuf::_M_seek): Add __state_type parameter,
1443         set _M_state_cur correctly, store the resulting state in
1444         the return value and use _M_terminate_output to handle
1445         flushing and unshift.
1446         (basic_filebuf::_M_terminate_output): Flush contents of
1447         output buffer, if any, then call codecvt::unshift as
1448         needed and output the result.
1449         (basic_filebuf::sync): Move here, don't modify _M_writing
1450         or _M_reading.
1451
1452         * include/std/std_fstream.h
1453         (basic_filebuf::_M_state_last): Declare it.
1454         (basic_filebuf::_M_last_overflowed): Delete.
1455         (basic_filebuf::_M_seek): Add __state_type parameter.
1456         (basic_filebuf::sync): Declare only.
1457         (basic_filebuf::_M_output_unshift): Delete.
1458         (basic_filebuf::_M_terminate_output): Declare it.
1459
1460         * testsuite/testsuite_character.h:
1461         Define character class and state class plus char_traits and
1462         codecvt specializations for same for testing support for
1463         stateful encodings.
1464
1465         * testsuite/27_io/basic_filebuf/close/12790-1.cc,
1466         * testsuite/27_io/basic_filebuf/close/char/12790-1.cc,
1467         * testsuite/27_io/basic_filebuf/close/char/12790-2.cc,
1468         * testsuite/27_io/basic_filebuf/close/char/12790-3.cc,
1469         * testsuite/27_io/basic_filebuf/close/char/12790-4.cc,
1470         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc,
1471         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc,
1472         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc,
1473         * testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc,
1474         * testsuite/27_io/basic_filebuf/open/12790-1.cc,
1475         * testsuite/27_io/basic_filebuf/seekoff/12790-1.cc,
1476         * testsuite/27_io/basic_filebuf/seekoff/12790-2.cc,
1477         * testsuite/27_io/basic_filebuf/seekoff/12790-3.cc,
1478         * testsuite/27_io/basic_filebuf/seekoff/12790-4.cc,
1479         * testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc,
1480         * testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc,
1481         * testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc,
1482         * testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc,
1483         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc,
1484         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc,
1485         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc,
1486         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc,
1487         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc,
1488         * testsuite/27_io/basic_filebuf/seekpos/12790-1.cc,
1489         * testsuite/27_io/basic_filebuf/seekpos/12790-2.cc,
1490         * testsuite/27_io/basic_filebuf/seekpos/12790-3.cc,
1491         * testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc,
1492         * testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc,
1493         * testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc,
1494         * testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc,
1495         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc,
1496         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc,
1497         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc,
1498         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc,
1499         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc,
1500         * testsuite/27_io/basic_filebuf/sync/char/1.cc,
1501         * testsuite/27_io/basic_filebuf/sync/wchar_t/1.cc:
1502         New tests.
1503
1504         * testsuite/27_io/basic_filebuf/3.cc,
1505         * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc,
1506         * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc,
1507         * testsuite/27_io/basic_fstream/3.cc,
1508         * testsuite/27_io/basic_ifstream/3.cc,
1509         * testsuite/27_io/basic_ofstream/3.cc:
1510         Use streamoff as off_type and fpos<state_type> as pos_type.
1511
1512         * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc,
1513         * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc:
1514         Check that sync does *not* set _M_writing to false.
1515
1516 2003-11-03  Anthony Green  <green@redhat.com>
1517
1518         * libmath/stubs.c (sqrtf, sqrtl): Reorder so they appear before
1519         they're used.
1520
1521 2003-11-03  Benjamin Kosnik  <bkoz@redhat.com>
1522
1523         * include/bits/locale_facets.h (time_get::_M_extract_name): Add
1524         ctype argument.
1525         * include/bits/locale_facets.tcc: Same, use it to allow
1526         capitalized names.
1527
1528         * include/bits/fstream.tcc: Spacing tweak.
1529         * include/bits/istream.tcc: Same.
1530         * include/bits/ostream.tcc: Same.
1531
1532 2003-10-30  Paolo Carlini  <pcarlini@suse.de>
1533
1534         * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
1535         __mod is only assigned, never used its value, remove it.
1536
1537 2003-10-29  Paolo Carlini  <pcarlini@suse.de>
1538
1539         * include/bits/locale_facets.tcc (time_get::do_get_year):
1540         Absolutely avoid dereferencing end iterators.
1541         (time_put::put): Minor clean up.
1542
1543         * include/bits/locale_facets.tcc: Cosmetic reformattings.
1544
1545 2003-10-29  Paolo Carlini  <pcarlini@suse.de>
1546
1547         * include/bits/locale_facets.tcc (num_get::_M_extract_float):
1548         Revert the last commit, is not correct, sorry.
1549
1550 2003-10-29  Paolo Carlini  <pcarlini@suse.de>
1551
1552         * config/locale/generic/c_locale.cc: Add back <cmath> and
1553         <cstdlib>.
1554
1555         * include/bits/locale_facets.tcc (num_get::_M_extract_float):
1556         Clean up.
1557
1558 2003-10-29  Paolo Carlini  <pcarlini@suse.de>
1559
1560         * include/bits/locale_facets.tcc (time_put::put): Absolutely
1561         avoid dereferencing end iterators; clean up.
1562
1563         * include/bits/locale_facets.tcc (num_get::_M_extract_float,
1564         num_get::_M_extract_int): Minor tweak.
1565
1566 2003-10-29  Paolo Carlini  <pcarlini@suse.de>
1567
1568         * include/bits/locale_facets.tcc: Remove some unnecessary
1569         includes.
1570         * config/locale/generic/c_locale.cc: Include <cerrno> here.
1571         * config/locale/gnu/c_locale.cc: Likewise.
1572
1573 2003-10-28  Paolo Carlini  <pcarlini@suse.de>
1574
1575         * include/bits/locale_facets.tcc
1576         (money_get<>::do_get(..., string_type&)): Absolutely avoid
1577         dereferencing end iterators; general clean up.
1578
1579 2003-10-28  Paolo Carlini  <pcarlini@suse.de>
1580
1581         * include/bits/locale_facets.tcc (time_get::_M_extract_num):
1582         Absolutely avoid dereferencing end iterators.
1583         (time_get::_M_extract_name): Likewise.
1584
1585         * include/bits/locale_facets.tcc
1586         (time_get::_M_extract_via_format, case 'e'): Don't try to
1587         be smart wrt returning the right __beg in case of parse
1588         error, time_get::_M_extract_num must be fixed instead.
1589
1590 2003-10-27  Paolo Carlini  <pcarlini@suse.de>
1591
1592         PR libstdc++/12778
1593         * acinclude.m4 (GLIBCXX_CHECK_LFS): Use the C++ compiler.
1594         * aclocal.m4: Regenerate.
1595         * configure: Regenerate.
1596
1597 2003-10-27  Benjamin Kosnik  <bkoz@redhat.com>
1598
1599         * docs/html/17_intro/TODO: Add links.
1600         * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
1601         Uncomment.
1602
1603 2003-10-27  Paolo Carlini  <pcarlini@suse.de>
1604
1605         PR libstdc++/12750
1606         * include/bits/locale_facets.tcc
1607         (time_get::_M_extract_via_format): Deal with code 'e'.
1608         * testsuite/22_locale/time_get/get_date/char/12750.cc: New.
1609         * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Ditto.
1610
1611         * include/bits/locale_facets.tcc
1612         (time_get::_M_extract_via_format): Tweak to absolutely avoid
1613         dereferencing end iterators.
1614
1615         * include/bits/locale_facets.h (__verify_grouping):
1616         Const-ify second parameter.
1617         * include/bits/locale_facets.tcc (__verify_grouping): Ditto.
1618         * src/locale-inst.cc (__verify_grouping): Ditto.
1619
1620 2003-10-27  Paolo Carlini  <pcarlini@suse.de>
1621
1622         * include/bits/locale_facets.tcc (num_get::_M_extract_float):
1623         Various things: 1- Avoid absolutely end iterator dereferences;
1624         2- Improve performance-wise the code skipping leading zeros;
1625         3- Fix two bugs wrt early bail out in case of parsing errors
1626         (see testcases); 4- General clean up.
1627         (num_get::_M_extract_int): Likewise, except 3-. Additionally,
1628         use __builtin_expect to favor base 10 inputs.
1629         * testsuite/22_locale/num_get/get/char/7.cc: New.
1630         * testsuite/22_locale/num_get/get/wchar_t/7.cc: Ditto.
1631
1632 2003-10-26  Paolo Carlini  <pcarlini@suse.de>
1633
1634         * testsuite/22_locale/money_put/put/char/1.cc: Clean up.
1635         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Ditto.
1636
1637 2003-10-25  Paolo Carlini  <pcarlini@suse.de>
1638
1639         * include/bits/locale_facets.tcc (num_get::_M_extract_int):
1640         __pos in only incremented, never used its value, remove it.
1641
1642 2003-10-24  Robert Millan  <robertmh@gnu.org>
1643
1644         * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Add kfreebsd*-gnu
1645         and knetbsd*-gnu.
1646         * aclocal.m4:  Regenerated.
1647         * configure:  Regenerated.
1648
1649 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
1650
1651         * include/bits/locale_facets.tcc (money_get::do_get(...,
1652         long double&): Properly size the temporary buffer.
1653         * testsuite/22_locale/money_get/get/char/11.cc: New.
1654         * testsuite/22_locale/money_get/get/wchar_t/11.cc: Ditto.
1655
1656         * include/bits/locale_facets.tcc (num_put::_M_group_int,
1657         num_put::_M_group_float, money_put::do_put(..., const
1658         string_type&), collate::do_compare, collate::do_transform):
1659         Prefer basic_string::data() to c_str() when the '\0'
1660         terminator is not really needed.
1661
1662 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
1663
1664         * include/bits/locale_facets.tcc (__verify_grouping):
1665         Prefer '=' to an unnecessary '&='.
1666
1667 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
1668
1669         * include/bits/basic_ios.tcc (copyfmt(const basic_ios&)):
1670         Tweak my fix for libstdc++/12657.
1671
1672 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
1673
1674         * include/bits/locale_facets.tcc (money_get::do_get(...,
1675         string_type&): Minor tweak to the previous commit.
1676
1677 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
1678
1679         * include/bits/locale_facets.tcc (money_get::do_get(...,
1680         string_type&): Disregard the previous commit: doesn't hurt but
1681         doesn't accomplish anything useful either. This is the right
1682         one, speeding up greatly the function in case of early fail.
1683
1684 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
1685
1686         * include/bits/locale_facets.tcc (money_get::do_get(...,
1687         string_type&): Move an if block, thus minimizing the amount
1688         of code processed anyway when __tmp_units.size() == 0.
1689
1690 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
1691
1692         * include/bits/locale_facets.tcc
1693         (time_get<>::_M_extract_via_format): Deal with case 'C' too,
1694         equivalent to 'y'.
1695
1696 2003-10-23  Benjamin Kosnik  <bkoz@redhat.com>
1697
1698         * docs/html/documentation.html: Add a pointer to the doxygen style
1699         guide.
1700         * docs/html/17_intro/TODO: Update.
1701         * docs/html/test.html: Add instructions for running a subset of
1702         tests, update.
1703
1704 2003-10-23  Paolo Carlini  <pcarlini@suse.de>
1705
1706         * include/bits/locale_facets.tcc (money_get<>::do_get(...,
1707         string_type&)): Use find_first_not_of to strip leading
1708         zeros; if __tmp_units == "0" never prefix it with '-';
1709         always fail if __tmp_units is empty.
1710         * testsuite/22_locale/money_get/get/char/10.cc: New.
1711         * testsuite/22_locale/money_get/get/wchar_t/10.cc: Ditto.
1712
1713 2003-10-23  Phil Edwards  <phil@codesourcery.com>
1714
1715         * config/os/vxworks/ctype_noninline.h:  Adjust ctor to match
1716         2003-10-21 change.
1717
1718 2003-10-22  Paolo Carlini  <pcarlini@suse.de>
1719
1720         * include/bits/locale_facets.tcc (__int_to_char): Remove
1721         the const int parameter.
1722         (_M_insert_int): Update caller.
1723         * src/locale-inst.cc (__int_to_char): Update instantiations.
1724
1725 2003-10-22  Benjamin Kosnik  <bkoz@redhat.com>
1726
1727         * include/bits/locale_facets.h: Correct byname facets for "C"
1728         locale.
1729         * config/locale/generic/ctype_members.cc: Same.
1730         * config/locale/generic/messages_members.h: Same.
1731         * config/locale/gnu/ctype_members.cc: Same.
1732         * config/locale/gnu/messages_members.h: Same.
1733         * include/bits/codecvt.h: Same.
1734         * src/ctype.cc: Same.
1735         * testsuite/22_locale/codecvt_byname/1.cc: New.
1736         * testsuite/22_locale/collate/1.cc: Edit.
1737         * testsuite/22_locale/collate_byname/1.cc: Derivation tests, move to...
1738         * testsuite/22_locale/collate_byname/named_equivalence.cc: ...here.
1739         * testsuite/22_locale/ctype/1.cc: Derivation tests.
1740         * testsuite/22_locale/ctype/11844.cc: Move...
1741         * testsuite/22_locale/ctype_base/11844.cc: ...here.
1742         * testsuite/22_locale/ctype_base/1.cc: Move mask bits here.
1743         * testsuite/22_locale/ctype_byname/1.cc: Name.
1744         * testsuite/22_locale/messages_byname/1.cc: New.
1745         * testsuite/22_locale/messages_byname/named_equivalence.cc: New.
1746         * testsuite/22_locale/moneypunct_byname/1.cc: Derivation test.
1747         * testsuite/22_locale/moneypunct_byname/named_equivalence.cc: New.
1748         * testsuite/22_locale/numpunct/1.cc: Edit.
1749         * testsuite/22_locale/numpunct_byname/2.cc: Move...
1750         * testsuite/22_locale/numpunct/members/char/3.cc: ...here.
1751         * testsuite/22_locale/numpunct_byname/1.cc: Derivation tests.
1752         * testsuite/22_locale/numpunct_byname/named_equivalence.cc: New.
1753
1754 2003-10-22  Paolo Carlini  <pcarlini@suse.de>
1755
1756         PR libstdc++/8610
1757         * acinclude.m4 (GLIBCXX_CHECK_INT64_T): New macro,
1758         checking for the availability of int64_t.
1759         (GLIBCXX_CHECK_LFS): New macro, checking for LFS support.
1760         * configure.ac: Call here.
1761         * acconfig.h: Add undef for the corresponding symbols.
1762         * config/io/basic_file_stdio.cc (__basic_file<char>::open):
1763         Depending on _GLIBCXX_USE_LFS, call fopen64 or fopen.
1764         (__basic_file<char>::seekoff): Likewise, call lseek64 when
1765         available, otherwise lseek, checking the __off parameter.
1766         * include/bits/postypes.h: Typedef __streamoff_base_type
1767         to int64_t if available, otherwise long long.
1768         * aclocal.m4: Regenerate.
1769         * config.h.in: Likewise.
1770         * configure: Likewise.
1771
1772         * acinclude.m4 (GLIBCXX_CHECK_POLL, GLIBCXX_CHECK_WRITEV):
1773         Use AC_TRY_LINK instead of AC_TRY_COMPILE.
1774
1775 2003-10-22  Paolo Carlini  <pcarlini@suse.de>
1776
1777         PR libstdc++/12657
1778         * include/bits/basic_ios.tcc (copyfmt(const basic_ios&)):
1779         Implement resolution of DR 292 (WP).
1780         * docs/html/ext/howto.html: Add entry for DR 292.
1781
1782 2003-10-21  Benjamin Kosnik  <bkoz@redhat.com>
1783
1784         * include/ext/mt_allocator.h: Change include to gthr.h.
1785         * include/ext/rope: Same. Add _Refcount_base definitions.
1786         * include/ext/pool_allocator.h: Adjust namespaces.
1787         * include/bits/stl_threads.h (_Refcount_base): Move.
1788         Put remaining into namespace __gnu_cxx.
1789
1790 2003-10-21  Benjamin Kosnik  <bkoz@redhat.com>
1791
1792         PR libstdc++/9858
1793         * include/bits/locale_facets.h (ctype<char>): Remove
1794         __ctype_abstract_base.
1795         (ctype<char>::do_is): Remove.
1796         (ctype<char>::do_scan_is): Remove.
1797         * src/ctype.cc: Same. Inline the rest.
1798         * testsuite/22_locale/ctype/is/char/9858.cc: New.
1799         * config/os/aix/ctype_noninline.h: Adjust ctor.
1800         * config/os/bsd/freebsd/ctype_noninline.h: Same.
1801         * config/os/bsd/netbsd/ctype_noninline.h: Same.
1802         * config/os/djgpp/ctype_noninline.h: Same.
1803         * config/os/generic/ctype_noninline.h: Same.
1804         * config/os/gnu-linux/ctype_noninline.h: Same.
1805         * config/os/hpux/ctype_noninline.h: Same.
1806         * config/os/irix/irix5.2/ctype_noninline.h: Same.
1807         * config/os/irix/irix6.5/ctype_noninline.h: Same.
1808         * config/os/mingw32/ctype_noninline.h: Same.
1809         * config/os/newlib/ctype_noninline.h: Same.
1810         * config/os/qnx/qnx6.1/ctype_noninline.h: Same.
1811         * config/os/solaris/solaris2.5/ctype_noninline.h: Same.
1812         * config/os/solaris/solaris2.6/ctype_noninline.h: Same.
1813         * config/os/solaris/solaris2.7/ctype_noninline.h: Same.
1814         * config/os/windiss/ctype_noninline.h: Same.
1815
1816 2003-10-21  Paolo Carlini  <pcarlini@suse.de>
1817
1818         * src/locale.cc: Tweak a comment.
1819         * src/localename.cc: Move a comment.
1820
1821 2003-10-20  Benjamin Kosnik  <bkoz@redhat.com>
1822
1823         PR libstdc++/10081
1824         * testsuite_hooks.h: Add pod_type, ctype and numpunct specializations.
1825         * testsuite_hooks.cc: Same.
1826         * 22_locale/numpunct/members/pod/1.cc: Edit.
1827         * 22_locale/numpunct/members/pod/2.cc: Same.
1828         * 27_io/basic_istream/sentry/char/3983-fstream.cc: Move ...
1829         * 27_io/basic_istream/sentry/char/3983-sstream.cc: Move ...
1830         * 27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc: Here.
1831         * 27_io/basic_istream/extractors_character/pod/3983-2.cc: Here.
1832         * 27_io/basic_istream/extractors_other/pod/3983-3.cc: Here.
1833         * 27_io/basic_ostream/sentry/char/3983-fstream.cc: Remove.
1834         * 27_io/basic_ostream/sentry/char/3983-sstream.cc: Remove.
1835         * 27_io/basic_istream/sentry/pod/1.cc: New.
1836         * 27_io/basic_ostream/sentry/pod/1.cc: New.
1837         * 21_strings/basic_string/inserters_extractors/pod/10081-in.cc: New.
1838         * 21_strings/basic_string/inserters_extractors/pod/10081-out.cc: New.
1839
1840 2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1841
1842         * config/cpu/mips/atomicity.h (__atomic_add): Use _ABIO32 instead
1843         of external _MIPS_SIM_ABI32.
1844
1845 2003-10-20  Phil Edwards  <phil@codesourcery.com>
1846
1847         * configure.ac:  Fix comment typo.
1848         * configure.host:  Add vxworks to host_os switch.
1849         * crossconfig.m4:  Remove old commented os_include_dir variables
1850         left over from autotools transition.
1851         (*-vxworks):  New stanza.
1852         (*-windiss):  Add missing symbols.
1853         * configure:  Regenerate.
1854         * config/os/vxworks/ctype_base.h, config/os/vxworks/ctype_inline.h,
1855         config/os/vxworks/ctype_noninline.h, config/os/vxworks/os_defines.h:
1856         New files.
1857         * config/os/windiss/os_defines.h:  Define __C9X__.
1858
1859 2003-10-19  David Edelsohn  <edelsohn@gnu.org>
1860
1861         PR other/12506
1862         * configure.host (aix4,aix*): Define os_include_dir to os/generic.
1863
1864 2003-10-18  Andreas Tobler  <a.tobler@schweiz.ch>
1865
1866         * src/locale.cc (locale::_S_initialize): Re-apply workaround a
1867         confusion of the use of the gthr API when __gthread_active_p()
1868         returns true.
1869
1870 2003-10-17  Benjamin Kosnik  <bkoz@redhat.com>
1871
1872         * src/Makefile.am: Add new files.
1873         * src/Makefile.in: Regenerate.
1874         * src/globals.cc: Split into..
1875         * src/globals_io.cc: New.
1876         * src/globals_locale.cc: New.
1877         * src/ios.cc: Split into...
1878         * src/ios_init.cc: New.
1879         * src/ios_locale.cc: New.
1880         * src/locale-inst.cc: Split into..
1881         * src/wlocale-inst.cc: New.
1882         * src/locale-misc-inst.cc: New.
1883         * src/locale.cc, src/localename: Split into...
1884         * src/locale_facets.cc: New.
1885         * src/locale_init.cc: New.
1886         * src/wstring-inst.cc: Add copyright info.
1887
1888 2003-10-16  Petur Runolfsson  <peturr02@ru.is>
1889
1890         PR libstdc++/11450
1891         PR libstdc++/11543
1892         PR libstdc++/12065
1893         * config/io/basic_file_stdio.cc (__basic_file::seekoff):
1894         Change return value from streampos to streamoff.
1895         (__basic_file::seekpos): Delete.
1896         * config/io/basic_file_stdio.h: Same.
1897         * config/io/c_io_stdio.h: Remove streamoff and wstreamsize typedefs.
1898         * include/Makefile.am (bits_headers): Add bits/postypes.h.
1899         * include/bits/char_traits.h: Include bits/postypes.h instead of
1900         bits/fpos.h.
1901         * include/bits/fstream.tcc (basic_filebuf::open,
1902         basic_filebuf::pbackfail): Don't use < or >= to compare pos_type
1903         values, use == and != instead.
1904         (basic_filebuf::_M_seek): Use explicit conversion from streamoff
1905         to pos_type.
1906         (basic_filebuf::imbue):  Don't use ! on pos_type values, use
1907         == instead. Don't use __check_facet(_M_codecvt) unless is_open().
1908         * include/bits/postypes.h: New file.
1909         Add __streamoff_base_type typedef, streamsize.
1910         (streamoff, streampos, wstreampos): Define typedefs, with
1911         streamoff defined as...
1912         (streamoff): New class. Document implementation defined
1913         aspects.
1914         (fpos): New implementation. Document implementation defined
1915         aspects.
1916         * include/bits/sstream.tcc (basic_stringbuf::seekpos): Use
1917         explicit conversion from pos_type to off_type.
1918         * include/std/std_iosfwd.h: Include bits/postypes.h instead
1919         of bits/fpos.h.
1920         * testsuite/27_io/basic_filebuf/seekoff/char/11543.cc: New test.
1921         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc: New test.
1922         * testsuite/27_io/fpos/11450.cc: New test.
1923         * testsuite/27_io/fpos/mbstate_t/12065.cc: New test.
1924         * testsuite/27_io/fpos/mbstate_t/4_neg.cc: New test.
1925         * testsuite/27_io/types/3.cc: New test.
1926
1927 2003-10-16  Benjamin Kosnik  <bkoz@redhat.com>
1928
1929         * configure.host: Remove fpos_include_dir.
1930         * configure.ac: Remove FPOS_INC_SRCDIR.
1931         * configure: Regenerate.
1932         * acinclude.m4 (GLIBCXX_ENABLE_CSTDIO): Remove FPOS_H.
1933         * aclocal.m4: Regenerate.
1934         * include/Makefile.am (host_headers): Remove fpos.h.
1935         (bits_headers): Add postypes.h.
1936         * include/Makefile.in: Regenerate.
1937         * config/os/gnu-linux/fposh: Remove.
1938         * config/os/generic/fpos.h: Remove.
1939
1940         * testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Fixup.
1941         * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Same.
1942         * testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Same.
1943         * testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Same.
1944         * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Same.
1945         * testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Same.
1946         * testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Same.
1947         * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Same.
1948         * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Same.
1949         * testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Same.
1950         * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Same.
1951         * testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Same.
1952         * testsuite/27_io/basic_istream/seekg/char/2.cc: Same.
1953         * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Same.
1954         * testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Same.
1955         * testsuite/27_io/fpos/mbstate_t/3.cc: Same.
1956         * testsuite/27_io/objects/char/10.cc: Same.
1957
1958 2003-10-16  Paolo Carlini  <pcarlini@suse.de>
1959
1960         * src/locale.cc (locale::locale(const char*)): ... one
1961         more comparison missed in the previous commit.
1962
1963 2003-10-16  Benjamin Kosnik  <bkoz@redhat.com>
1964
1965         * acconfig.h: Add HAVE_DRAND48.
1966         * crossconfig.m4: Remove ISATTY.
1967         * aclocal.m4: Regenerated.
1968         * config.h.in: Regenerated.
1969         * configure: Regenerated.
1970
1971 2003-10-16  Bernardo Innocenti  <bernie@develer.com>
1972
1973         * config/cpu/m68k/atomicity.h (__exchange_and_add): Use TAS on
1974         __mcf5400__. Don't rely on __mc68000__ to detect a bare 68000.
1975         Document SMP safeness of asm macros.
1976
1977 2003-10-16  Paolo Carlini  <pcarlini@suse.de>
1978
1979         * src/locale.cc (locale::locale(const char*)): Tweak
1980         a couple of comparisons to use basic_string operators.
1981
1982 2003-10-16  Paolo Carlini  <pcarlini@suse.de>
1983
1984         PR libstdc++/12540
1985         * config/locale/gnu/monetary_members.cc
1986         (moneypunct<wchar_t, true/false>::_M_initialize_moneypunct):
1987         Don't leak memory if new throws.
1988         * src/locale.cc (locale::locale(const char*)): In order not
1989         to leak memory in case new throws, use a basic_string type
1990         for __res too and avoid strdup.
1991
1992 2003-10-14  Jeff Bailey  <jbailey@nisa.net>
1993
1994         PR libstdc++/12562
1995         * crossconfig.m4: Share the config between *-linux* and *-gnu*.
1996         * configure: Regenerate.
1997
1998 2003-10-14  Carlo Wood  <carlo@alinoe.com>
1999
2000         PR libstdc++/12600
2001         * include/bits/demangle.h (session<Allocator>::
2002           decode_unqualified_name(string_type& output)): Fail on a
2003           <operator-name> when decoding <template-argument>.
2004         * testsuite/demangle/regression/cw-15.cc: New.
2005
2006 2003-10-14  Paolo Carlini  <pcarlini@unitus.it>
2007
2008         PR libstdc++/11480
2009         * include/bits/stl_algo.h (unique): Fix.
2010         * testsuite/25_algorithms/unique.cc: Move to unique/1.cc.
2011         * testsuite/25_algorithms/unique/11480.cc: New, from the PR.
2012         * testsuite/25_algorithms/unique/2.cc: New.
2013
2014 2003-10-14  Paolo Carlini  <pcarlini@unitus.it>
2015
2016         * src/localename.cc (_M_replace_categories, M_replace_facet):
2017         Const-ify a couple of variables.
2018
2019 2003-10-14  Petur Runolfsson  <peturr02@ru.is>
2020             Andreas Tobler  <a.tobler@schweiz.ch>
2021
2022         * src/locale.cc (locale::_S_initialize): Workaround a confusion
2023         of the use of the gthr API when __gthread_active_p() returns true.
2024
2025 2003-10-12  Petur Runolfsson  <peturr02@ru.is>
2026             Paolo Carlini  <pcarlini@unitus.it>
2027
2028         PR libstdc++/11460
2029         * src/strstream.cc (pbackfail): Fix to use to_int_type.
2030         * testsuite/backward/11460.cc: New, from the PR.
2031
2032 2003-10-12  Paolo Carlini  <pcarlini@unitus.it>
2033
2034         * config/locale/ieee_1003.1-2001/codecvt_specializations.h:
2035         Change #ifdef _GLIBCXX_RESOLVE_LIB_DEFECTS to a comment.
2036         * include/bits/basic_string.tcc: Likewise.
2037         * include/bits/ios_base.h: Likewise.
2038         * include/bits/istream.tcc: Likewise.
2039         * include/bits/locale_facets.tcc: Likewise.
2040         * include/bits/ostream.tcc: Likewise.
2041         * include/bits/stl_function.h: Likewise.
2042         * include/bits/stl_multiset.h: Likewise.
2043         * include/bits/stl_pair.h: Likewise.
2044         * include/bits/stl_set.h: Likewise.
2045         * include/bits/streambuf_iterator.h
2046         * include/std/std_iosfwd.h: Likewise.
2047         * include/std/std_istream.h: Likewise.
2048         * include/std/std_sstream.h: Likewise.
2049         * include/std/std_streambuf.h: Likewise.
2050         * src/ios.cc: Likewise.
2051         * include/bits/c++config:
2052         Comment out #define _GLIBCXX_RESOLVE_LIB_DEFECTS 1.
2053         * testsuite/27_io/ios_base/cons/assign_neg.cc: Tweak a
2054         dg-error directive due to removal of a blank line.
2055         * testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
2056
2057 2003-10-12  Andreas Tobler  <a.tobler@schweiz.ch>
2058             Paolo Carlini  <pcarlini@unitus.it>
2059
2060         PR libstdc++/11844/11740 (cont)
2061         * config/os/generic/ctype_inline.h (ctype<char>::is):
2062         Generically, use a bitmasksize of 15 (instead of 10);
2063         Fix the logic to actually return (M & m) != 0 as per
2064         22.2.1.1.2.
2065
2066 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
2067
2068         * crossconfig.m4 (*-uclinux*): New target.
2069         * configure: Regenerate.
2070
2071 2003-10-10  Paolo Carlini  <pcarlini@unitus.it>
2072
2073         * include/bits/ostream.tcc (operator<<(basic_ostream&, _CharT))
2074         Avoid unnecessarily calling __builtin_alloca and dealing
2075         explicitly with width() smaller than zero.
2076         (operator<<(basic_ostream&, char), operator<<(basic_ostream&,
2077         const _CharT*), operator<<(basic_ostream<_CharT, _Traits>&,
2078         const char*), operator<<(basic_ostream<char, _Traits>&,
2079         const char*), operator<<(basic_ostream, const basic_string&)):
2080         Likewise.
2081
2082 2003-10-09  Benjamin Kosnik  <bkoz@redhat.com>
2083
2084         * config/linker-map.gnu: Make more *_type_info bits visible.
2085         Move new/delete bits back into GLIBCXX space.
2086
2087         * include/bits/locale_classes.h: Move _M_id out of line, so that
2088         locale::id::_S_highwater can be removed from the export list.
2089         * src/locale.cc (locale::id::_M_id): Define.
2090
2091 2003-10-09  Andreas Tobler  <a.tobler@schweiz.ch>
2092
2093         * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_64 for
2094         SPARC64.
2095
2096 2003-10-09  Paolo Carlini  <pcarlini@unitus.it>
2097
2098         PR libstdc++/11844
2099         * config/os/aix/ctype_base.h: Fix 'alnum' and 'graph'
2100         to conform to the requirements of 22.2.1.
2101         * config/os/bsd/freebsd/ctype_base.h: Likewise.
2102         * config/os/djgpp/ctype_base.h: Likewise.
2103         * config/os/generic/ctype_base.h: Likewise.
2104         * config/os/gnu-linux/ctype_base.h: Likewise.
2105         * config/os/hpux/ctype_base.h: Likewise.
2106         * config/os/irix/irix6.5/ctype_base.h: Likewise.
2107         * config/os/solaris/solaris2.6/ctype_base.h: Likewise.
2108         * config/os/solaris/solaris2.7/ctype_base.h: Likewise.
2109         * testsuite/22_locale/ctype/11844.cc: New.
2110
2111         * config/locale/generic/ctype_members.cc (do_is):
2112         Generically, use a bitmasksize of 15 (instead of 10), since
2113         we don't know the numerical encoding of the various categories
2114         in the underlying /usr/include/ctype.h.
2115
2116 2003-10-09  Benjamin Kosnik  <bkoz@redhat.com>
2117
2118         * src/string-inst.cc: Prune.
2119         * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
2120         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
2121
2122 2003-10-09  Petur Runolfsson  <peturr02@ru.is>
2123
2124         * src/io-inst.cc: Don't include iostream.
2125         * include/bits/ios_base.h (ios_base::failure): Use string.
2126         * src/Makefile.am: Add ios_failure.cc.
2127         * src/Makefile.in: Regenerate.
2128         * src/ios.cc: Move ios_base::failure definitions to...
2129         * src/ios_failure.cc: ...here. New.
2130
2131 2003-10-09  Petur Runolfsson  <peturr02@ru.is>
2132
2133         PR libstdc++/9874
2134         * include/bits/fstream.tcc (basic_filebuf::seekoff):
2135         Move code needed for both seekoff and seekpos...
2136         (basic_filebuf::_M_seek): ...here. New function.
2137         (basic_filebuf::seekpos): Don't call seekoff, call _M_seek.
2138         * include/std/std_fstream.h (basic_filebuf::_M_seek): Declare it.
2139         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: New test.
2140
2141         * testsuite/22_locale/locale/cons/12438.cc: Increase memory limit.
2142
2143 2003-10-08  Paolo Carlini  <pcarlini@unitus.it>
2144
2145         * include/bits/locale_facets.tcc: More minor cosmetic
2146         changes and const-ifications of some variables.
2147
2148 2003-10-07  Paolo Carlini  <pcarlini@unitus.it>
2149
2150         * include/bits/locale_facets.tcc: Minor cosmetic changes
2151         and const-ifications of some variables.
2152
2153         * include/bits/locale_facets.tcc
2154         (money_get::do_get(..., string_type&)): Simplify an if-else.
2155
2156 2003-10-06  Paolo Carlini  <pcarlini@unitus.it>
2157
2158         PR libstdc++/11740
2159         * config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_is):
2160         Fix to actually return (M & m) != 0 as per 22.2.1.1.2.
2161         * config/locale/generic/ctype_members.cc: Same.
2162         * testsuite/22_locale/ctype/is/wchar_t/11740.cc: New.
2163
2164 2003-10-06  Paolo Carlini  <pcarlini@unitus.it>
2165
2166         * include/bits/locale_facets.tcc (__pad<>::_S_pad):
2167         Improve performance-wise: avoid one traits::copy, avoid
2168         the __builtin_alloca, streamline.
2169
2170 2003-10-05  Paolo Carlini  <pcarlini@unitus.it>
2171
2172         * include/bits/locale_facets.tcc
2173         (num_put::do_put(..., bool)): Prefer ?: to if-else.
2174         (time_get::_M_extract_name): Qualify min with std::.
2175         (__pad<>::_S_pad): Constify two variables; simplify an
2176         if-else statement factoring out some code.
2177
2178         * include/bits/locale_facets.tcc: Minor cosmetic changes.
2179
2180 2003-10-04  Paolo Carlini  <pcarlini@unitus.it>
2181
2182         * include/bits/locale_facets.tcc (num_get::_M_extract_float):
2183         Constify a couple of variables.
2184         (num_get::do_get(..., bool&)): Constify __c; prefer *__beg,
2185         ++__beg to *__beg++.
2186
2187 2003-10-04  Paolo Carlini  <pcarlini@unitus.it>
2188             Petur Runolfsson  <peturr02@ru.is>
2189
2190         * include/ext/stdio_sync_filebuf.h: Don't include the whole
2191         <fstream>, only <streambuf> and <cstdio>.
2192
2193 2003-10-04  Paolo Carlini  <pcarlini@unitus.it>
2194
2195         PR libstdc++/12206
2196         * include/bits/fstream.tcc (imbue): In case a codecvt facet
2197         is not available, set _M_codecvt = 0.
2198         * testsuite/27_io/basic_filebuf/imbue/12206.cc: New.
2199
2200 2003-10-02  Harald Boehme  <boehme@informatik.hu-berlin.de>
2201
2202         PR libstdc++/12451
2203         * libsupc++/cxxabi.h: Move forward declaration of __class_type_info.
2204
2205 2003-10-02  Benjamin Kosnik  <bkoz@redhat.com>
2206
2207         * include/bits/locale_classes.h (locale::facet::_S_get_c_name): Add.
2208         * src/locale.cc: Define.
2209         * src/localename.cc: Use it.
2210         * config/locale/generic/time_members.h: Same.
2211         * config/locale/gnu/messages_members.h: Same.
2212         * config/locale/gnu/time_members.h: Same.
2213
2214 2003-10-02  Paolo Carlini  <pcarlini@unitus.it>
2215
2216         PR libstdc++/12232
2217         * include/bits/fstream.tcc (seekoff): Ignore the openmode
2218         argument; simplify.
2219         * config/io/basic_file_stdio.h (__basic_file<char>::seekoff,
2220         seekpos): Remove the openmode argument.
2221         * config/io/basic_file_stdio.cc (__basic_file<char>::seekoff,
2222         seekpos): Remove redundant placeholder for the openmode argument.
2223         * testsuite/27_io/basic_filebuf/seekoff/char/12232.cc: New.
2224         * testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc: Tweak.
2225         * testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc: Likewise.
2226         * testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc: Likewise.
2227         * testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc: Likewise.
2228
2229 2003-10-02  Benjamin Kosnik  <bkoz@redhat.com>
2230
2231         * src/locale.cc (locale::_S_initialize): Use __gthread_active_p.
2232         (locale::facet::_S_get_c_locale): Same.
2233
2234 2003-10-02  Benjamin Kosnik  <bkoz@redhat.com>
2235
2236         * config/linker-map.gnu: Export _S_get_c_locale instead of
2237         _S_c_locale object.
2238
2239 2003-10-02  Petur Runolfsson  <peturr02@ru.is>
2240
2241         * config/locale/generic/c_locale.cc
2242         (category_names, locale::_S_categories): Const qualify.
2243         * config/locale/gnu/c_locale.cc: Same.
2244         * config/locale/generic/time_members.h (__timepunct::__timepunct):
2245         Copy string contents before assigning to _M_name_timepunct,
2246         qualify strcpy and strlen with std::.
2247         * config/locale/gnu/time_members.h: Same.
2248         * config/locale/gnu/messages_members.h (messages::messages):
2249         Copy string contents before assigning to _M_name_messages,
2250         qualify strcpy and strlen with std::.
2251         * config/os/gnu-linux/ctype_noninline.h
2252         (ctype<char>::classic_table()): Don't call locale::classic().
2253         * include/bits/locale_classes.h
2254         (locale::_S_categories): Const qualify.
2255         (locale::_S_once, locale::_S_initialize_once,
2256         locale::facet::_S_once, locale::facet::_S_initialize_once,
2257         locale::facet::_S_get_c_locale): Declare.
2258         (locale::_S_initialize): Don't define.
2259         (locale::facet::_S_c_locale): Make private.
2260         (locale::facet::_S_c_name): Same, const qualify.
2261         (locale::_Impl::_Impl(facet**, size_t, bool)): Drop unused
2262         parameters, add throw() specifier.
2263         * include/bits/locale_facets.h (__timepunct::_M_name_timepunct,
2264         messages::_M_name_messages): Const qualify.
2265         * src/locale.cc
2266         (locale::_S_once, locale::facet::_S_once): Define.
2267         (locale::classic): Move initialization code...
2268         (locale::_S_initialize_once): ...here.
2269         (locale::_S_initialize): Call _S_initialize_once through
2270         __gthread_once.
2271         (locale::facet::_S_initialize_once): Initialize _S_c_locale.
2272         (locale::facet::_S_get_c_locale): Call _S_initialize_once through
2273         __gthread_once before returning _S_c_locale.
2274         * src/localename.cc (locale::_Impl::_Impl(facet**, size_t, bool)):
2275         Drop unused parameters, add throw() specifier, don't initialize
2276         locale::facet::_S_c_locale and _S_c_name.
2277
2278         * config/locale/generic/messages_members.h:
2279         Replace _S_c_locale with _S_get_c_locale().
2280         * config/locale/gnu/c_locale.cc: Same.
2281         * config/locale/gnu/messages_members.h: Same.
2282         * config/locale/gnu/numeric_members.cc: Same.
2283         * config/locale/gnu/time_members.cc: Same.
2284         * config/os/gnu-linux/ctype_noninline.h: Same.
2285         * include/bits/locale_facets.h: Same.
2286         * include/bits/locale_facets.tcc: Same.
2287         * src/codecvt.cc: Same.
2288         * src/ctype.cc: Same.
2289
2290 2003-10-02  Carlo Wood  <carlo@alinoe.com>
2291
2292         * include/bits/demangle.h (demangle<Allocator>::symbol(char const*)):
2293         Decode symbols that start with _GLOBAL_[ID]_ differently: the
2294         trailing part ends with a terminating zero and is not necessarily an
2295         encoding.
2296         * src/demangle.cc (): Same.
2297         * testsuite/demangle/regression/cw-13.cc: Adjust for new output.
2298
2299 2003-10-02  Paolo Carlini  <pcarlini@unitus.it>
2300
2301         * testsuite/22_locale/locale/cons/12438.cc: Use
2302         __gnu_test::try_named_locale("").
2303
2304 2003-10-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2305
2306         * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_0): Define.
2307         (GLIBCXX_CHECK_STDLIB_SUPPORT): Use it to test for lrand48
2308         instead of drand48.
2309         * acconfig.h (HAVE_DRAND48): Renamed to HAVE_LRAND48.
2310         * crossconfig.m4 (*-freebsd*): Define HAVE_LRAND48 instead of
2311         HAVE_DRAND48.
2312         * config.h.in, configure: Regenerate.
2313         * include/bits/stl_algo.h: Use _GLIBCXX_HAVE_LRAND48 to guard
2314         lrand48 use.
2315
2316 2003-10-01  Nathan Myers  <ncm@cantrip.org>
2317
2318         * include/bits/locale_facets.tcc (time_put::put): Avoid
2319         expensive *__s++, in favor of *__s, ++__s.
2320
2321 2003-10-01  Paolo Carlini  <pcarlini@unitus.it>
2322
2323         * include/bits/locale_facets.tcc (time_put::put): Minor
2324         tweak to the previous commit.
2325
2326 2003-10-01  Paolo Carlini  <pcarlini@unitus.it>
2327
2328         PR libstdc++/12439
2329         * include/bits/locale_facets.tcc (time_put::put): Deal
2330         with the three issues pointed out by the PR.
2331         * testsuite/22_locale/time_put/put/char/12439_1.cc: New.
2332         * testsuite/22_locale/time_put/put/char/12439_3.cc: New.
2333         * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: New.
2334         * testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: New.
2335         * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: New.
2336
2337 2003-09-30  Paolo Carlini  <pcarlini@unitus.it>
2338
2339         * include/bits/stl_algo.h: Minor cosmetic reformattings.
2340
2341 2003-09-30  Paolo Carlini  <pcarlini@unitus.it>
2342
2343         * include/bits/stl_algo.h (search_n): Tweak, to spare the
2344         first --__n.
2345
2346 2003-09-30  Paolo Carlini  <pcarlini@unitus.it>
2347
2348         * testsuite/22_locale/locale/cons/12352.cc: Explicitly
2349         qualify exception name.
2350
2351 2003-09-30  Paolo Carlini  <pcarlini@unitus.it>
2352
2353         PR libstdc++/12438
2354         * include/bits/locale_facets.tcc (locale::combine): Don't
2355         leak memory if _M_replace_facet throws.
2356         * testsuite/22_locale/locale/cons/12438.cc: New, from the PR.
2357
2358         * include/bits/locale_classes.h (locale::locale(const locale&,
2359         _Facet*)): Tweak, use consistently _M_remove_reference.
2360
2361 2003-09-30  Paolo Carlini  <pcarlini@unitus.it>
2362
2363         PR libstdc++/12352 (cont)
2364         * src/localename.cc (locale::_Impl::_Impl(const char*, size_t)):
2365         Don't leak __cloc; don't leak if any of the _M_init_facet(...)
2366         calls fail.
2367         (locale::_Impl::_Impl(const _Impl&, size_t)): Tweak.
2368         (locale::_Impl::~_Impl): Don't do anything if !_M_facets,
2369         !_M_caches, !_M_names.
2370
2371 2003-09-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2372
2373         * configure.host: Handle Solaris 2.5 micro releases explicitly.
2374         Remove wildcards from Solaris 2.6, 7-9: there were no
2375         micro releases.
2376         Treat Solaris 10 and up like 7-9.
2377
2378 2003-09-29  Paolo Carlini  <pcarlini@unitus.it>
2379
2380         * include/bits/stl_algo.h (search_n): Improve the previous
2381         fix as suggested by Martin.
2382
2383 2003-09-29  Paolo Carlini  <pcarlini@unitus.it>
2384
2385         PR libstdc++/12296
2386         * include/bits/istream.tcc (peek): Set eofbit if sgetc
2387         returns eof.
2388         * testsuite/27_io/basic_istream/peek/char/12296.cc:
2389         New, from the PR.
2390
2391 2003-09-29  Nathan Myers  <ncm@cantrip.org>
2392             Paolo Carlini  <pcarlini@unitus.it>
2393
2394         PR libstdc++/11400
2395         * include/bits/stl_algo.h (search_n):
2396         Use iterator_traits<>::difference_type for __n.
2397         * testsuite/25_algorithms/search_n/11400.cc: New, from the PR.
2398
2399 2003-09-29  Paolo Carlini  <pcarlini@unitus.it>
2400
2401         * testsuite/22_locale/locale/cons/12352.cc:
2402         Use __attribute__((unused)) for test.
2403
2404 2003-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
2405
2406         * testsuite/22_locale/time_put/put/char/2.cc (test_02): Allow either
2407         "Son" or "So" as abbreviated name for Sunday in de_DE locale.
2408         * testsuite/22_locale/time_put/put/wchar_t/2.cc (test_02): Likewise.
2409
2410 2003-09-26  Brad Spencer  <spencer@infointeractive.com>
2411
2412         * testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc:
2413         Explicitly qualify exceptions.
2414         * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: Same.
2415         * testsuite/27_io/basic_istream/sentry/char/3983-sstream.cc: Same.
2416         * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
2417         * testsuite/27_io/basic_ostream/sentry/char/3983-sstream.cc: Same.
2418
2419 2003-09-25  Paolo Carlini  <pcarlini@unitus.it>
2420
2421         PR libstdc++/12352
2422         * src/localename.cc (locale::_Impl::_Impl(const _Impl&,
2423         size_t)): Don't leak if memory allocations for _M_facets,
2424         _M_caches, and _M_names fail.
2425         (locale::_Impl::_Impl(const char*, size_t)): Ditto.
2426         (locale::_Impl::_M_replace_categories(const _Impl*,
2427         category)): Ditto.
2428         (locale::_Impl::_M_install_facet(const locale::id*,
2429         const facet*)): Ditto.
2430         * include/bits/locale_classes.h (locale::locale(const locale&,
2431         _Facet*)): Don't leak memory.
2432         * testsuite/22_locale/locale/cons/12352.cc: New, from the PR.
2433
2434         * src/localename.cc (locale::_Impl::_Impl(facet**, size_t,
2435         bool)): Qualify with std:: strcpy, tweak.
2436         * include/bits/locale_classes.h
2437         (locale::_Impl::_M_check_same_name): Qualify strcmp.
2438
2439 2003-09-25  Brad Spencer  <spencer@infointeractive.com>
2440
2441         PR libstdc++/6072
2442         * acinclude.m4: Split out checks for vfwscanf, vswscanf, vwscanf,
2443         wcstof, iswblank.
2444         * aclocal.m4: Regenerate.
2445         * config.h.in: Regenerate.
2446         * configure: Regenerate.
2447         * crossconfig.m4: Add in wchar_t bits for solaris crosses.
2448         * config/io/basic_file_stdio.cc: Guard unistd.h.
2449         * include/c_compatibility/wchar.h: Guard extra wchar_t functionality.
2450         * include/c_std/std_cwchar.h: Same.
2451         * include/c_std/std_cwctype.h: Same.
2452
2453 2003-09-25  Benjamin Kosnik  <bkoz@redhat.com>
2454
2455         PR libstdc++/11065
2456         * config/locale/gnu/ctype_members.cc (ctype<wchar_t>::do_is): Fix.
2457         * config/locale/generic/ctype_members.cc: Same.
2458         * testsuite/22_locale/ctype/is/char/1.cc: Initialize mask.
2459         * testsuite/22_locale/ctype/is/wchar_t/1.cc: Same.
2460
2461         * config/os/generic/ctype_inline.h: Update.
2462
2463 2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
2464
2465         * src/Makefile.am (version_dep): New variable.
2466         (libstdc___la_DEPENDENCIES): Use it to add dependency on
2467         libstdc++-symbol.ver only when using symbol versioning.
2468         * src/Makefile.in: Regenerate.
2469
2470 2003-09-23  Benjamin Kosnik  <bkoz@redhat.com>
2471
2472         * include/bits/locale_facets.tcc: Tweak to avoid warnings.
2473         * testsuite/testsuite_hooks.h: Same.
2474         * testsuite/*/*.cc: Same.
2475
2476 2003-09-22  Petur Runolfsson  <peturr02@ru.is>
2477
2478         * include/bits/istream.tcc (basic_istream::read,
2479         basic_istream::readsome, basic_istream::putback,
2480         basic_istream::unget, operator>>(basic_istream, CharT)):
2481         Avoid redundant setstate(failbit) calls when sentry::operator bool()
2482         returns false.
2483
2484 2003-09-22  Carlo Wood  <carlo@alinoe.com>
2485
2486         PR libstdc++/12365
2487         * include/bits/demangle.h (qualifier(int, cv_qualifier_nt,
2488         char const*, int, int)):  Remove unused identifier
2489         cv_qualifier for overloaded constructor.
2490
2491 2003-09-18  Benjamin Kosnik  <bkoz@redhat.com>
2492
2493         PR libstdc++/11504
2494         * acinclude.m4 (GLIBCXX_EXPORT_FLAGS): Add -Wcast-qual to
2495         WARN_FLAGS, remove -Wno-format.
2496         * aclocal.m4: Regenerate.
2497         * configure: Regenerate.
2498
2499 2003-09-18  Petur Runolfsson  <peturr02@ru.is>
2500
2501         * config/io/basic_file_stdio.cc (sys_getc, sys_ungetc): Delete.
2502         * config/io/basic_file_stdio.h: Same.
2503         * include/std/std_fstream.h (__ctype_type): Delete.
2504         * include/std/std_streambuf.h (__ctype_type, __state_type): Delete.
2505
2506 2003-09-17  Benjamin Kosnik  <bkoz@redhat.com>
2507
2508         PR libstdc++/12239
2509         * configure.host (abi_baseline_pair): Error out on solaris2
2510         configurations without a minor version number.
2511
2512 2003-09-13  Phil Edwards  <phil@codesourcery.com>
2513
2514         * docs/doxygen/run_doxygen:  Clear GENERATE_TAGFILE entirely
2515         if man pages are on.
2516         * docs/doxygen/user.cfg.in:  And here.
2517
2518 2003-09-10  Daniel Jacobowitz  <drow@mvista.com>
2519             Andreas Jaeger <aj@suse.de>
2520
2521         PR libstdc++/12189
2522         * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Don't build
2523         abi_check if cross compiling.
2524         * aclocal.m4: Regenerated.
2525         * configure: Regenerated.
2526
2527 2003-09-10  Jeffrey D. Oldham  <oldham@codesourcery.com>
2528
2529         * libsupc++/vec.cc (__cxa_vec_new2): If the allocator returns
2530         NULL, return NULL.  This reflects a C++ ABI change 2003 Sep 05.
2531         (__cxa_vec_new3): Likewise.
2532
2533 2003-09-10  Petur Runolfsson  <peturr02@ru.is>
2534
2535         * include/bits/fstream.tcc (basic_filebuf::seekoff):
2536         Use codecvt::length to handle variable-width stateless encodings
2537         correctly.
2538         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: New test.
2539         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc: New test.
2540
2541 2003-09-10  Alan Modra  <amodra@bigpond.net.au>
2542
2543         * config/io/basic_file_stdio.cc (_M_open_mode): Assign __p_mode
2544         rather than or'ing.
2545
2546 2003-09-09  Alan Modra  <amodra@bigpond.net.au>
2547
2548         * configure: Regenerate.
2549
2550 2003-09-09  David Edelsohn  <edelsohn@gnu.org>
2551
2552         * src/ios.cc (ios_base::Init::Init): Remove unnecessary
2553         qualifier from _S_synced_with_stdio.
2554
2555 2003-09-09  Bernardo Innocenti  <bernie@develer.com>
2556
2557         * include/c_std/std_cstdlib.h: Avoid using missing C library symbols.
2558
2559 2003-09-04  Petur Runolfsson  <peturr02@ru.is>
2560
2561         PR libstdc++/9028
2562         * include/bits/fstream.tcc
2563         (basic_filebuf::_M_destroy_internal_buffer): Destroy _M_ext_buf.
2564         (basic_filebuf::basic_filebuf): Initialize _M_ext_buf,
2565         _M_ext_buf_size, _M_ext_next and _M_ext_end.
2566         (basic_filebuf::underflow): Handle variable-width stateless
2567         encodings (codecvt::encoding() == 0), including UTF-8.
2568         * include/std/std_fstream.h (basic_filebuf):
2569         Declare _M_ext_buf, _M_ext_buf_size, _M_ext_next, _M_ext_end.
2570         * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: New test.
2571         * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: New test.
2572         * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: New test.
2573         * testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: New test.
2574         * testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: New test.
2575         * testsuite/27_io/objects/wchar_t/12.cc: New test.
2576         * testsuite/27_io/objects/wchar_t/13.cc: New test.
2577
2578 2003-09-04  Jonathan Wakely  <redi@gcc.gnu.org>
2579
2580         * docs/html/faq/index.html: Note that a namespace alias can't be
2581         used when specialising templates in extension namespace.
2582         * docs/html/faq/index.txt: Regenerate.
2583
2584 2003-09-03  Petur Runolfsson  <peturr02@ru.is>
2585
2586         PR libstdc++/12048
2587         * include/ext/stdio_sync_filebuf.h
2588         (stdio_sync_filebuf::_M_unget_buf): Declare it.
2589         (stdio_sync_filebuf::stdio_sync_filebuf): Initialize _M_unget_buf.
2590         (stdio_sync_filebuf::uflow): Store the returned character in
2591         _M_unget_buf.
2592         (stdio_sync_filebuf::pbackfail): If argument is eof(), pass
2593         _M_unget_buf to syncungetc(). Set _M_unget_buf to eof().
2594         (stdio_sync_filebuf<char>::xsgetn): Store last read character in
2595         _M_unget_buf, if any, else eof().
2596         (stdio_sync_filebuf<wchar_t>::xsgetn: Store last read character in
2597         _M_unget_buf, if any, else eof().
2598         * testsuite/27_io/objects/char/12048.cc: Rename to...
2599         * testsuite/27_io/objects/char/12048-1.cc: ...this.
2600         * testsuite/27_io/objects/char/12048-2.cc: New test.
2601         * testsuite/27_io/objects/char/12048-3.cc: New test.
2602         * testsuite/27_io/objects/char/12048-4.cc: New test.
2603         * testsuite/27_io/objects/char/12048-5.cc: New test. XFAIL.
2604         * testsuite/27_io/objects/wchar_t/12048-1.cc: New test.
2605         * testsuite/27_io/objects/wchar_t/12048-2.cc: New test.
2606         * testsuite/27_io/objects/wchar_t/12048-3.cc: New test.
2607         * testsuite/27_io/objects/wchar_t/12048-4.cc: New test.
2608         * testsuite/27_io/objects/wchar_t/12048-5.cc: New test. XFAIL.
2609         * testsuite/ext/stdio_sync_filebuf_char.cc
2610         (test02, test03, test04, test05): New tests.
2611         * testsuite/ext/stdio_sync_filebuf_wchar_t.cc
2612         (test02, test03, test04, test05): New tests.
2613
2614 2003-09-03  Petur Runolfsson  <peturr02@ru.is>
2615
2616         * docs/html/27_io/howto.html: setbuf(0, 0) has no effect on
2617         stringbuf or strstreambuf. Fix typos.
2618
2619 2003-09-02  Phil Edwards  <phil@codesourcery.com>
2620
2621         * acinclude.m4 (GLIBCXX_ENABLE_HOSTED):  #define _GLIBCXX_HOSTED
2622         appropriately.
2623         * config.h.in:  Add _GLIBCXX_HOSTED.
2624         * libsupc++/eh_term_handler.cc:  Test it here; initialize
2625         __terminate_handler to std::abort if freestanding.
2626         * aclocal.m4, configure:  Regenerated.
2627         * docs/html/configopts.html:  Document --disable-hosted-libstdcxx.
2628
2629 2003-08-29  Nathan Myers  <ncm@cantrip.org>
2630
2631         PR libstdc++/11990
2632         * include/bits/locale_facets.tcc (__pad): delete dead code.
2633
2634 2003-08-28  Alan Modra  <amodra@bigpond.net.au>
2635
2636         * configure.ac: Test $with_cross_host against $build_alias, not $build.
2637         * configure: Regenerate.
2638
2639 2003-08-27  Petur Runolfsson  <peturr02@ru.is>
2640
2641         * testsuite/27_io/objects/wchar_t/10.cc: Move wcout stuff...
2642         * testsuite/27_io/objects/wchar_t/11.cc: ...here. New file.
2643
2644 2003-08-27  Phil Edwards  <pme@gcc.gnu.org>
2645
2646         * Makefile.am:  Remove trailing whitespace.  Remove needless
2647         "foo = @foo@" assignments.  Replace direct uses of @foo@ with $(foo).
2648         * include/Makefile.am:  Likewise.
2649         * libmath/Makefile.am:  Likewise.
2650         * libsupc++/Makefile.am:  Likewise.
2651         * po/Makefile.am:  Likewise.
2652         * src/Makefile.am:  Likewise.
2653         * testsuite/Makefile.am:  Likewise.
2654
2655         * Makefile.in, include/Makefile.in, libmath/Makefile.in,
2656         libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
2657         testsuite/Makefile.in:  Regenerated.
2658
2659 2003-08-27  Phil Edwards  <pme@gcc.gnu.org>
2660
2661         * acinclude.m4 (GLIBCXX_EXPORT_INCLUDES):  Change quoting of
2662         includedir.
2663         * aclocal.m4, configure:  Regenerate.
2664
2665 2003-08-27  Daniel Jacobowitz  <drow@mvista.com>
2666
2667         * acinclude.m4: Include no-executables.m4.
2668         * configure.ac: Uncomment GCC_NO_EXECUTABLES.
2669         * aclocal.m4: Regenerated.
2670         * configure: Regenerated.
2671
2672 2003-08-27  Daniel Jacobowitz  <drow@mvista.com>
2673
2674         * acinclude.m4: Don't call AC_ISC_POSIX.
2675         * aclocal.m4: Regenerated.
2676         * configure: Regenerated.
2677
2678 2003-08-27  Phil Edwards  <pme@gcc.gnu.org>
2679
2680         * acinclude.m4 (GLIBCXX_CONDITIONAL):  New macro.  Wrap
2681         AM_CONDITIONAL.  Replace all calls to AM_CONDITIONAL with this one.
2682         (GLIBCXX_ENABLE_HOSTED):  New macro, sets new variable is_hosted,
2683         used elsewhere in this file.
2684         (GLIBCXX_EVALUATE_CONDITIONALS):  New macro...
2685         * configure.ac:  ...called here to expand all conditionals.
2686         * Makefile.am:  Conditionalize SUBDIRS on GLIBCXX_HOSTED.
2687         * include/Makefile.am:  Remove redundant gxx_include_dir assignment.
2688         (install-freestanding-headers):  New target, a subset of
2689         install-headers.  Conditionalize install-data-local on GLIBCXX_HOSTED.
2690
2691         * aclocal.m4, configure, Makefile.in, include/Makefile.in,
2692         libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
2693         src/Makefile.in, testsuite/Makefile.in:  Regenerated.
2694
2695 2003-08-26  Phil Edwards  <pme@gcc.gnu.org>
2696
2697         * docs/doxygen/run_doxygen:  Shell fixes.  Remove hardcoded local
2698         pathnames from generated tag file.
2699
2700 2003-08-26  Phil Edwards  <pme@gcc.gnu.org>
2701
2702         * Makefile.am:  Add comment.
2703         * acinclude.m4 (GLIBCXX_CONFIGURE):  Set new glibcxx_SUBDIRS and
2704         SUBDIRS variables.
2705         * configure.ac:  Use them both here, instead of hardcoded lists.
2706
2707         * fragment.am:  Add STAMP varaible.
2708         * include/Makefile.am:  Cosmetic whitespace cleanup.  Use $(LN_S)
2709         instead of @LN_S@.
2710         (stamp-*):  Move file creation rule outside of 'if' branches to
2711         ensure the stamp-* files are actually updated.  Use $(STAMP).
2712         * src/Makefile.am:  Remove now-nonexistant variable.
2713         * libsupc++/Makefile.am:  Likewise.  Snap the assignment chain
2714         for -prefer-pic.
2715         * po/Makefile.am:  Include same fragment as all the others.
2716
2717         * aclocal.m4, configure, Makefile.in, include/Makefile.in,
2718         libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in:  Regenerated.
2719
2720 2003-08-26  Loren J. Rittle  <ljrittle@acm.org>
2721
2722         * testsuite/data/cin_unget-1.txt: New.
2723         * testsuite/27_io/objects/char/12048.cc: New.
2724
2725 2003-08-25  Zack Weinberg  <zack@codesourcery.com>
2726
2727         * config/os/hpux/os_defines.h: Unconditionally define
2728         _GLIBCXX_GTHREAD_USE_WEAK to 0.
2729
2730 2003-08-19  Geoffrey Keating  <geoffk@apple.com>
2731
2732         * crossconfig.m4 (*-darwin*): Add a large and boring stanza for
2733         crosses to Darwin targets.
2734         * configure: Regenerate.
2735
2736 2003-08-19  Petur Runolfsson  <peturr02@ru.is>
2737
2738         * include/ext/ropeimpl.h: #include <ostream> instead of <iostream>
2739
2740 2003-08-17  Phil Edwards  <pme@gcc.gnu.org>
2741
2742         * configure.ac:  GCC_NO_EXECUTABLES was supposed to be commented
2743         in the patch from 3 minutes ago.  Boy, is my face red.
2744         * configure:  At least I remembered to regenerate this.
2745
2746 2003-08-17  Phil Edwards  <pme@gcc.gnu.org>
2747
2748         * acinclude.m4 (GLIBCXX_EXPORT_INCLUDES):  Remove LIBMATH_INCLUDES
2749         and LIBSUPCXX_INCLUDES.  Re-purpose TOPLEVEL_INCLUDES to refer to
2750         things from the top level.
2751         * configure.ac (GLIBCXX_IS_NATIVE):  Determine earlier and re-order.
2752         Comment out the conditionals for CANADIAN and GLIBCXX_BUILD_LIBMATH
2753         (currently unused).  Strip the fake-VPATH shell fragment from
2754         automake-generated rules, if present.
2755         * linkage.m4:  Add comment.
2756
2757         * fragment.am:  New file, containing factored-out common settings.
2758         (AM_CPPFLAGS):  Absorb the deprecated INCLUDES variable contents.
2759         * Makefile.am:  Include fragment.am.  Remove common variables.
2760         * include/Makefile.am:  Likewise.
2761         * libmath/Makefile.am:  Likewise.
2762         * libsupc++/Makefile.am:  Likewise.
2763         * po/Makefile.am:  Likewise.  Print rules during check.
2764         * src/Makefile.am:  Likewise.
2765         * testsuite/Makefile.am:  Likewise.
2766
2767         * aclocal.m4, configure, Makefile.in, include/Makefile.in,
2768         libmath/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
2769         src/Makefile.in, testsuite/Makefile.in:  Regenerate.
2770
2771 2003-08-11  John Levon  <levon@movementarian.org>
2772
2773         * docs/html/ext/howto/guide.html (GLIBCXX_FORCE_NEW): Update
2774         remaining places for the name change from GLIBCPP_FORCE_NEW
2775         to GLIBCXX_FORCE_NEW
2776
2777 2003-08-11  Benjamin Kosnik  <bkoz@redhat.com>
2778
2779         * include/bits/basic_ios.h: Remove *_iter typedefs, change num*
2780         typedefs to num_*.
2781         * include/bits/basic_ios.tcc: Same.
2782         * include/bits/istream.tcc: Same.
2783         * include/bits/locale_facets.h: Same.
2784         * include/bits/ostream.tcc: Same.
2785         * include/std/std_istream.h: Same.
2786         * include/std/std_ostream.h: Same.
2787         * testsuite/26_numerics/complex_inserters_extractors.cc: Fix.
2788
2789         * include/ext/rope: Remove build warning.
2790
2791 2003-08-11  Andreas Jaeger  <aj@suse.de>
2792
2793         * include/Makefile.am (stamp-c_base): Add dependency on stamp-bits
2794         to make SMP-safe.
2795         * include/Makefile.in: Regenerated.
2796
2797 2003-08-11  Phil Edwards  <pme@gcc.gnu.org>
2798
2799         * acinclude.m4 (GLIBCXX_CONFIGURE):  Unprecious CC and CFLAGS
2800         when calling AC_PROG_CC.
2801         * aclocal.m4, configure:  Regenerate.
2802
2803 2003-08-11  Phil Edwards  <pme@gcc.gnu.org>
2804
2805         * acinclude.m4:  Properly quote variable which will be expanded
2806         inside makefiles.  Use CXX instead of CC to extract compiler info.
2807         * configure.ac (AC_INIT):  Use the new 4-arg form to finally get the
2808         correct form in PACKAGE.
2809         * aclocal.m4, configure:  Regenerate.
2810
2811 2003-08-08  Benjamin Kosnik  <bkoz@redhat.com>
2812
2813         * testsuite/Makefile.am (check-abi): Change libstdc++-v3 to libstdc++.
2814         (check-abi-verbose): Same.
2815         * testsuite/testsuite_performance.h (report_performance): Same.
2816
2817 2003-08-08  Loren J. Rittle  <ljrittle@acm.org>
2818
2819         * testsuite/testsuite_performance.h (__FreeBSD__): Add fake mallinfo.
2820
2821 2003-08-07  Doug Gregor  <dgregor@apple.com>
2822
2823         * include/bits/char_traits.h (char_traits::not_eof): Match operand
2824         types in ? :.
2825
2826 2003-08-07  Bernardo Innocenti  <bernie@develer.com>
2827
2828         PR libstdc++/11784
2829         * libstdc++-v3/config/cpu/m68k/atomicity.h (__exchange_and_add):
2830         Replace variants with new BSET-based version.
2831
2832 2003-08-07  Carlo Wood  <carlo@alinoe.com>
2833
2834         * include/bits/demangle.h: Do not use cctype functions that depend
2835         on locale.
2836
2837 2003-08-05  Phil Edwards  <pme@gcc.gnu.org>
2838
2839         * configure.in:  Rename...
2840         * configure.ac:  ...to this.
2841         * docs/html/17_intro/porting.texi:  Update name.
2842
2843         * docs/html/17_intro/porting.html:  Regenerate.
2844         * config.h.in, Makefile.in, include/Makefile.in, libmath/Makefile.in,
2845         libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
2846         testsuite/Makefile.in:  Regenerate (picks up new dependancy).
2847
2848 2003-08-05  Phil Edwards  <pme@gcc.gnu.org>
2849
2850         * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS):  Put down the crack
2851         pipe, open the window to let out the fumes, redo the option-handling
2852         logic to properly execute the detection test.
2853         * aclocal.m4, configure:  Regenerate.
2854
2855 2003-08-04  Phil Edwards  <pme@gcc.gnu.org>
2856
2857         Convert to new autotools.
2858         * acconfig.h:  Update with correct names.
2859         * configure.host (ATOMICITYH):  Rename to atomicity_include_dir.
2860         (qnx6.[12]*):  'q' comes before 's', not after 'w'.
2861         * configure.in:  Update.  Split hardcoded cross-configury settings
2862         out to...
2863         * crossconfig.m4:  ...here.  New file.  Contents untouched.
2864         * acinclude.m4:  Reorganize and rewrite as needed.  Split large
2865         chunks out to...
2866         * linkage.m4:  ...here.  New file.  Math and stdlib linkage tests.
2867         Contents untouched.
2868         * scripts/testsuite_flags.in:  Update.
2869
2870         * Makefile.am:  Remove unneeded AUTOMAKE_OPTIONS settings and other
2871         variables (already generated by automake).
2872         * include/Makefile.am:  Ditto.
2873         * libmath/Makefile.am:  Ditto.
2874         * libsupc++/Makefile.am:  Ditto.
2875         * po/Makefile.am:  Ditto.
2876         * src/Makefile.am:  Ditto.
2877
2878         * aclocal.m4:  Regenerate using new versions.
2879         * config.h.in:  Ditto.
2880         * configure:  Ditto.
2881         * Makefile.in:  Ditto.
2882         * include/Makefile.in:  Ditto.
2883         * libmath/Makefile.in:  Ditto.
2884         * libsupc++/Makefile.in:  Ditto.
2885         * po/Makefile.in:  Ditto.
2886         * src/Makefile.in:  Ditto.
2887         * testsuite/Makefile.in:  Ditto.
2888
2889 2003-08-04  Phil Edwards  <pme@gcc.gnu.org>
2890
2891         * po/libstdc++.pot:  Re-extract/regenerate.
2892
2893 2003-08-04  Phil Edwards  <pme@gcc.gnu.org>
2894
2895         * testsuite/Makefile.am (DEJATOOL,EXPECT,RUNTEST,RUNTESTFLAGS):
2896         Remove unneeded variable assignments.  Leave them for automake.
2897         * testsuite/lib/libstdc++-v3.exp:  Rename...
2898         * testsuite/lib/libstdc++.exp:  ...to this.  Adjust function names
2899         accordingly.
2900         * testsuite/libstdc++-v3.dg/dg.exp:  Rename...
2901         * testsuite/libstdc++-dg/normal.exp:  ...to this.  Adjust function
2902         names accordingly.
2903
2904 2003-08-04  Phil Edwards  <pme@gcc.gnu.org>
2905
2906         * docs/doxygen/guide.html:  run_doxygen uses bash.
2907         * docs/doxygen/mainpage.html:  We'll be shipping tag files.
2908         * docs/doxygen/run_doxygen:  Tweaks and improvements.
2909         * docs/doxygen/user.cfg.in:  Set GENERATE_TAGFILE.
2910         * docs/html/install.html:  Update autoconf/automake requirements.
2911         * docs/html/test.html:  Add section describing DejaGNU support.
2912         * docs/html/17_intro/confdeps.dot:  New file, generates...
2913         * docs/html/17_intro/confdeps.png:  ...this new file.
2914         * docs/html/Makefile:  Generated here.
2915         * docs/html/17_intro/configury.html:  New file.
2916
2917 2003-07-31  Phil Edwards  <pme@gcc.gnu.org>
2918
2919         * testsuite/lib/libstdc++-v3-dg.exp:  Rename...
2920         * testsuite/lib/libstdc++-v3.exp:  ...to this.
2921         * testsuite/libstdc++-v3.dg/dg.exp:  No special case needed now.
2922
2923 2003-07-31  Doug Gregor  <dgregor@apple.com>
2924
2925         Add user specialization tests.
2926         * testsuite/23_containers/deque/1.cc: New.
2927         * testsuite/23_containers/list/1.cc: New.
2928         * testsuite/23_containers/map/1.cc: New.
2929         * testsuite/23_containers/multimap/1.cc: New.
2930         * testsuite/23_containers/multiset/1.cc: New.
2931         * testsuite/23_containers/set/1.cc: New.
2932         * testsuite/23_containers/vector/1.cc: New.
2933
2934 2003-07-31  Benjamin Kosnik  <bkoz@redhat.com>
2935
2936         Reshuffle 23_containers testsuite.
2937         * 23_containers/adaptors.cc, bitset_ctor.cc,bitset_members.cc,
2938         bitset_shift.cc, deque_ctor.cc, deque_operators.cc,
2939         list_capacity.cc, list_ctor.cc, list_modifiers.cc, list_operators.cc,
2940         map_insert.cc, map_operators.cc, map_operators_neg.cc, multiset.cc,
2941         set_operators_neg.cc, vector_bool.cc, vector_capacity.cc,
2942         vector_ctor.cc, vector_element_access.cc, vector_modifiers.cc,
2943         vector_resize.cc: Split into...
2944         * 23_containers/bitset/cons/1.cc: New.
2945         * 23_containers/bitset/cons/6282.cc: New.
2946         * 23_containers/bitset/count/6124.cc: New.
2947         * 23_containers/bitset/operations/1.cc: New.
2948         * 23_containers/bitset/operations/2.cc: New.
2949         * 23_containers/bitset/test/1.cc: New.
2950         * 23_containers/bitset/to_ulong/1.cc: New.
2951         * 23_containers/deque/cons/1.cc: New.
2952         * 23_containers/deque/cons/2.cc: New.
2953         * 23_containers/deque/operators/1.cc: New.
2954         * 23_containers/list/capacity/1.cc: New.
2955         * 23_containers/list/cons/1.cc: New.
2956         * 23_containers/list/cons/2.cc: New.
2957         * 23_containers/list/cons/3.cc: New.
2958         * 23_containers/list/cons/4.cc: New.
2959         * 23_containers/list/cons/5.cc: New.
2960         * 23_containers/list/cons/6.cc: New.
2961         * 23_containers/list/cons/7.cc: New.
2962         * 23_containers/list/cons/8.cc: New.
2963         * 23_containers/list/cons/9.cc: New.
2964         * 23_containers/list/modifiers/1.cc: New.
2965         * 23_containers/list/modifiers/2.cc: New.
2966         * 23_containers/list/modifiers/3.cc: New.
2967         * 23_containers/list/operators/1.cc: New.
2968         * 23_containers/list/operators/2.cc: New.
2969         * 23_containers/list/operators/3.cc: New.
2970         * 23_containers/list/operators/4.cc: New.
2971         * 23_containers/map/insert/1.cc: New.
2972         * 23_containers/map/operators/1.cc: New.
2973         * 23_containers/map/operators/1_neg.cc: New.
2974         * 23_containers/multiset/insert/1.cc: New.
2975         * 23_containers/priority_queue/members/7161.cc: New.
2976         * 23_containers/queue/members/7157.cc: New.
2977         * 23_containers/set/operators/1_neg.cc: New.
2978         * 23_containers/stack/members/7158.cc: New.
2979         * 23_containers/vector/bool/1.cc: New.
2980         * 23_containers/vector/bool/6886.cc: New.
2981         * 23_containers/vector/capacity/1.cc: New.
2982         * 23_containers/vector/capacity/2.cc: New.
2983         * 23_containers/vector/capacity/8230.cc: New.
2984         * 23_containers/vector/cons/1.cc: New.
2985         * 23_containers/vector/cons/2.cc: New.
2986         * 23_containers/vector/cons/3.cc: New.
2987         * 23_containers/vector/cons/4.cc: New.
2988         * 23_containers/vector/cons/6513.cc: New.
2989         * 23_containers/vector/element_access/1.cc: New.
2990         * 23_containers/vector/modifiers/1.cc: New.
2991         * 23_containers/vector/modifiers/2.cc: New.
2992         * 23_containers/vector/resize/1.cc: New.
2993
2994 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2995
2996         * testsuite/thread/pthread1.cc: Add alpha*-*-osf* to dg-do run,
2997         dg-options.
2998         * testsuite/thread/pthread2.cc: Likewise.
2999         * testsuite/thread/pthread3.cc: Likewise.
3000         * testsuite/thread/pthread4.cc: Likewise.
3001         * testsuite/thread/pthread5.cc: Likewise.
3002         * testsuite/thread/pthread6.cc: Likewise.
3003         * testsuite/thread/pthread7-rope.cc: Likewise.
3004
3005 2003-07-30  Phil Edwards  <pme@gcc.gnu.org>
3006
3007         * include/bits/c++config:  Partial reversion (comment placement) of
3008         previous patch.
3009
3010 2003-07-30  Benjamin Kosnik  <bkoz@redhat.com>
3011
3012         * include/bits/c++config (_GLIBCXX_FULLY_COMPLIANT_HEADERS): Remove.
3013         (_GLIBCXX_NO_TEMPLATE_EXPORT): To _GLIBCXX_EXPORT_TEMPLATE.
3014         (_GLIBCXX_AT_AT): Remove.
3015         (__USE_MALLOC): Remove.
3016         * include/std/std_fstream.h: Modify.
3017         * include/bits/basic_ios.h: Same.
3018         * include/bits/valarray_array.h: Same.
3019         * include/c_std/std_cmath.h: Same.
3020         * include/c_std/cmath.tcc: Same.
3021         * include/std/std_vector.h: Same.
3022         * include/std/std_string.h: Same.
3023         * include/std/std_stack.h: Same.
3024         * include/std/std_queue.h: Same.
3025         * include/std/std_list.h: Same.
3026         * include/std/std_deque.h: Same.
3027         * include/std/std_streambuf.h: Same.
3028         * include/std/std_sstream.h: Same.
3029         * include/std/std_ostream.h: Same.
3030         * include/std/std_istream.h: Same.
3031         * include/bits/valarray_array.tcc: Same, format.
3032
3033         * include/c/std_cctype.h: Fix include guards.
3034         * include/c/std_cerrno.h: Same.
3035         * include/c/std_cfloat.h: Same.
3036         * include/c/std_climits.h: Same.
3037         * include/c/std_clocale.h: Same.
3038         * include/c/std_cmath.h: Same.
3039         * include/c/std_csetjmp.h: Same.
3040         * include/c/std_csignal.h: Same.
3041         * include/c/std_cstdarg.h: Same.
3042         * include/c/std_cstddef.h: Same.
3043         * include/c/std_cstdio.h: Same.
3044         * include/c/std_cstdlib.h: Same.
3045         * include/c/std_cstring.h: Same.
3046         * include/c/std_ctime.h: Same.
3047         * include/c/std_cwchar.h: Same.
3048         * include/c/std_cwctype.h: Same.
3049         * include/c_std/cmath.tcc: Same.
3050         * include/c_std/std_cmath.h: Same.
3051
3052 2003-07-30  Gawain Bolton  <gp.bolton@computer.org>
3053
3054         PR libstdc++/11504.
3055         * include/bits/stl_tree.h: Replace C-style casts with C++-style
3056         casts.  Changes to avoid casting away constness.  Eliminate
3057         _Rb_tree_base_iterator class.  Change _Rb_tree_iterator to use
3058         initialization lists.  Move out implementation of __black_count()
3059         to...
3060         * src/stl_tree.cc: ...here and rename _Rb_tree_black_count().
3061         Rename_Rb_tree_base_iterator::_M_increment() to
3062         _Rb_tree_increment and _Rb_tree_base_iterator::_M_decrement() to
3063         _Rb_tree_decrement.
3064         * config/linker-map.gnu: Add and change symbols here.
3065
3066 2003-07-30  Jonathan Wakely  <redi@gcc.gnu.org>
3067
3068         * docs/html/22_locale/howto.html: Use locale::classic() instead
3069         of locale("C").
3070
3071 2003-07-28  Benjamin Kosnik  <bkoz@redhat.com>
3072
3073         * testsuite/testsuite_hooks.h: Remove list include.
3074         (func_callback): Define as unique type, not std::list.
3075         Change DEBUG_ASSERT to _GLIBCXX_ASSERT.
3076         * testsuite/libstdc++-v3.dg/dg.exp: Same.
3077         * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Same.
3078         * testsuite/23_containers/bitset_ctor.cc:
3079         * testsuite/17_intro/header_ciso646.cc: Remove DEBUG_ASSERT.
3080         * testsuite/18_support/numeric_limits.cc: Same.
3081         * testsuite/21_strings/basic_string/append/char/1.cc: Same.
3082         * testsuite/21_strings/basic_string/append/wchar_t/1.cc: Same.
3083         * testsuite/21_strings/basic_string/compare/char/1.cc: Same.
3084         * testsuite/21_strings/basic_string/compare/wchar_t/1.cc: Same.
3085         * testsuite/21_strings/basic_string/element_access/char/1.cc: Same.
3086         * testsuite/21_strings/basic_string/element_access/char/2.cc: Same.
3087         * testsuite/21_strings/basic_string/element_access/char/3.cc: Same.
3088         * testsuite/21_strings/basic_string/element_access/wchar_t/1.cc: Same.
3089         * testsuite/21_strings/basic_string/element_access/wchar_t/2.cc: Same.
3090         * testsuite/21_strings/basic_string/element_access/wchar_t/3.cc: Same.
3091         * testsuite/21_strings/basic_string/find/char/1.cc: Same.
3092         * testsuite/21_strings/basic_string/find/char/2.cc: Same.
3093         * testsuite/21_strings/basic_string/find/char/3.cc: Same.
3094         * testsuite/21_strings/basic_string/find/wchar_t/1.cc: Same.
3095         * testsuite/21_strings/basic_string/find/wchar_t/2.cc: Same.
3096         * testsuite/21_strings/basic_string/find/wchar_t/3.cc: Same.
3097         * testsuite/21_strings/basic_string/insert/char/1.cc: Same.
3098         * testsuite/21_strings/basic_string/insert/char/2.cc: Same.
3099         * testsuite/21_strings/basic_string/insert/wchar_t/1.cc: Same.
3100         * testsuite/21_strings/basic_string/insert/wchar_t/2.cc: Same.
3101         * testsuite/21_strings/basic_string/inserters_extractors/char/1.cc:
3102         * testsuite/21_strings/basic_string/inserters_extractors/char/4.cc:
3103         * testsuite/21_strings/basic_string/inserters_extractors/char/5.cc:
3104         * testsuite/21_strings/basic_string/inserters_extractors/char/6.cc:
3105         * testsuite/21_strings/basic_string/inserters_extractors/char/7.cc:
3106         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc:
3107         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc:
3108         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc:
3109         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc:
3110         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc:
3111         * testsuite/21_strings/basic_string/operators/char/1.cc: Same.
3112         * testsuite/21_strings/basic_string/operators/char/2.cc: Same.
3113         * testsuite/21_strings/basic_string/operators/wchar_t/1.cc: Same.
3114         * testsuite/21_strings/basic_string/operators/wchar_t/2.cc: Same.
3115         * testsuite/21_strings/basic_string/replace/char/1.cc: Same.
3116         * testsuite/21_strings/basic_string/replace/wchar_t/1.cc: Same.
3117         * testsuite/21_strings/basic_string/rfind/char/1.cc: Same.
3118         * testsuite/21_strings/basic_string/rfind/char/2.cc: Same.
3119         * testsuite/21_strings/basic_string/rfind/char/3.cc: Same.
3120         * testsuite/21_strings/basic_string/rfind/wchar_t/1.cc: Same.
3121         * testsuite/21_strings/basic_string/rfind/wchar_t/2.cc: Same.
3122         * testsuite/21_strings/basic_string/rfind/wchar_t/3.cc: Same.
3123         * testsuite/21_strings/basic_string/substr/char/1.cc: Same.
3124         * testsuite/21_strings/basic_string/substr/wchar_t/1.cc: Same.
3125         * testsuite/23_containers/bitset_ctor.cc: Same.
3126         * testsuite/23_containers/bitset_shift.cc: Same.
3127         * testsuite/23_containers/vector_ctor.cc: Same.
3128         * testsuite/23_containers/vector_element_access.cc: Same.
3129         * testsuite/24_iterators/istreambuf_iterator.cc: Same.
3130         * testsuite/24_iterators/iterator.cc: Same.
3131         * testsuite/24_iterators/ostreambuf_iterator.cc: Same.
3132         * testsuite/25_algorithms/lower_bound.cc: Same.
3133         * testsuite/26_numerics/complex_inserters_extractors.cc: Same.
3134         * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc: Same.
3135         * testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc: Same.
3136         * testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc: Same.
3137         * testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc: Same.
3138         * testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc: Same.
3139         * testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc: Same.
3140         * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc: Same.
3141         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc: Same.
3142         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc: Same.
3143         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
3144         Same.
3145
3146 2003-07-28  Phil Edwards  <pme@gcc.gnu.org>
3147
3148         * docs/doxygen/user.cfg.in, docs/html/abi.txt, docs/html/debug.html,
3149         docs/html/test.html, docs/html/17_intro/headers_cc.txt,
3150         docs/html/17_intro/howto.html, docs/html/ext/howto.html:  Change
3151         GLIBCPP to GLIBCXX (and explain as needed).
3152
3153 2003-07-28  Phil Edwards  <pme@gcc.gnu.org>
3154
3155         * README:  Update.
3156
3157 2003-07-28  Phil Edwards  <pme@gcc.gnu.org>
3158
3159         * testsuite/22_locale/messages/members/char/1.cc,
3160         testsuite/22_locale/messages/members/char/2.cc,
3161         testsuite/22_locale/messages/members/char/3.cc,
3162         testsuite/22_locale/messages_byname/1.cc:  Update comment regarding
3163         the origin of LOCALEDIR.
3164         * testsuite/lib/libstdc++-v3.exp:  New file.
3165
3166 2003-07-25  Benjamin Kosnik  <bkoz@redhat.com>
3167
3168         * include/bits/char_traits.h: Update copyright, tweak.
3169         * testsuite/ext/pod_char_traits.cc: Explicitly qualify namespace
3170         std types.
3171
3172 2003-07-24  Matt Austern  <austern@apple.com>
3173
3174         * /include/bits/char_traits.h (class char_traits): Put all the
3175         real work into the new class template __gnu_cxx::char_traits.
3176         Gave generic definitions for member functions.  Types are taken
3177         from the new class template __gnu_cxx::_Char_types.
3178         * testsuite/21_strings/char_traits/requirements/short/1.cc: New
3179         file.  Test of std::char_traits<short>, which serves as a test of
3180         the char_traits primary template.
3181
3182 2003-07-24  Benjamin Kosnik  <bkoz@redhat.com>
3183
3184         * testsuite/*: Change __gnu_cxx_test to __gnu_test.
3185
3186 2003-07-24  Nathan Myers  <ncm-nospam@cantrip.org>
3187
3188         * testsuite/23_containers/map_operators.cc: Conform to
3189         container requirement as value must be Assignable.
3190
3191 2003-07-23  Alexandre Oliva  <aoliva@redhat.com>
3192
3193         * acinclude.m4 (GLIBCXX_ENABLE_PCH): Rework test such that it
3194         tests not only generation of pch files, but also their use.
3195         * aclocal.m4, configure: Rebuilt.
3196
3197 2003-07-23  Steve Ellcey  <sje@cup.hp.com>
3198
3199         * config/cpu/hppa/atomicity.h: Change
3200         _GLIBCXX_INST_GLIBCXX_ATOMICITY_LOCK to _GLIBCXX_INST_ATOMICITY_LOCK
3201         to match misc-inst.cc
3202
3203 2003-07-23  Steve Ellcey  <sje@cup.hp.com>
3204
3205         * include/c_std/cmath.tcc: Use _GLIBCXX_ prefix on file guard.
3206         * include/c_std/std_cctype.h: Ditto.
3207         * include/c_std/std_cerrno.h: Ditto.
3208         * include/c_std/std_cfloat.h: Ditto.
3209         * include/c_std/std_climits.h: Ditto.
3210         * include/c_std/std_clocale.h: Ditto.
3211         * include/c_std/std_cmath.h: Ditto.
3212         * include/c_std/std_csetjmp.h: Ditto.
3213         * include/c_std/std_csignal.h: Ditto.
3214         * include/c_std/std_cstdarg.h: Ditto.
3215         * include/c_std/std_cstddef.h: Ditto.
3216         * include/c_std/std_cstdio.h: Ditto.
3217         * include/c_std/std_cstdlib.h: Ditto.
3218         * include/c_std/std_cstring.h: Ditto.
3219         * include/c_std/std_ctime.h: Ditto.
3220         * include/c_std/std_cwchar.h: Ditto.
3221         * include/c_std/std_cwctype.h: Ditto.
3222         * include/std/std_algorithm.h: Ditto.
3223         * include/std/std_bitset.h: Ditto.
3224         * include/std/std_complex.h: Ditto.
3225         * include/std/std_deque.h: Ditto.
3226         * include/std/std_fstream.h: Ditto.
3227         * include/std/std_functional.h: Ditto.
3228         * include/std/std_iomanip.h: Ditto.
3229         * include/std/std_ios.h: Ditto.
3230         * include/std/std_iosfwd.h: Ditto.
3231         * include/std/std_iostream.h: Ditto.
3232         * include/std/std_istream.h: Ditto.
3233         * include/std/std_iterator.h: Ditto.
3234         * include/std/std_limits.h: Ditto.
3235         * include/std/std_list.h: Ditto.
3236         * include/std/std_locale.h: Ditto.
3237         * include/std/std_map.h: Ditto.
3238         * include/std/std_memory.h: Ditto.
3239         * include/std/std_numeric.h: Ditto.
3240         * include/std/std_ostream.h: Ditto.
3241         * include/std/std_queue.h: Ditto.
3242         * include/std/std_set.h: Ditto.
3243         * include/std/std_sstream.h: Ditto.
3244         * include/std/std_stack.h: Ditto.
3245         * include/std/std_stdexcept.h: Ditto.
3246         * include/std/std_streambuf.h: Ditto.
3247         * include/std/std_string.h: Ditto.
3248         * include/std/std_utility.h: Ditto.
3249         * include/std/std_valarray.h: Ditto.
3250         * include/std/std_vector.h: Ditto.
3251
3252 2003-07-22  Doug Gregor  <dgregor@apple.com>
3253
3254         * include/bits/basic_string.h (basic_string::insert): Deprecate
3255         GNU extension.
3256
3257 2003-07-21  Benjamin Kosnik  <bkoz@redhat.com>
3258
3259         * scripts/testsuite_flags.in (--build-includes): Remove extraneous
3260         paths for libio.
3261         * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc
3262         (test03): Include typeinfo for bad_cast.
3263         * testsuite/27_io/basic_ostream/sentry/char/3983-sstream.cc: Same.
3264         * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
3265         * testsuite/27_io/basic_istream/sentry/char/3983-sstream.cc: Same.
3266
3267 2003-07-21  Doug Gregor  <dgregor@apple.com>
3268
3269         * include/bits/boost_concept_check.h:
3270         (_EqualityComparableConcept::__constraints): Remove != from the
3271         list of constraints; it is not listed in Table 28 of the C++98
3272         standard.
3273
3274 2003-07-18  Andreas Jaeger  <aj@suse.de>
3275
3276         * config/abi/sparc-linux-gnu/baseline_symbols.txt: New file.
3277         * config/abi/mips-linux-gnu/baseline_symbols.txt: New file.
3278         * config/abi/hppa-linux-gnu/baseline_symbols.txt: New file.
3279         * config/abi/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
3280
3281 2003-07-17  Benjamin Kosnik  <bkoz@redhat.com>
3282
3283         * config/linker-map.gnu: Add __moneypunct_cache, __timepunct_cache.
3284         * config/locale/generic/messages_members.h: Tweaks.
3285         * config/locale/generic/monetary_members.cc
3286         (moneypunct::_M_initialize_moneypunct): Use cache.
3287         (moneypunct::~moneypunct): Delete cache.
3288         * config/locale/generic/time_members.cc:
3289         (__timepunct::_M_initialize_timepunct): Use cache.
3290         * config/locale/generic/time_members.h:
3291         (__timepunct::~__timepunct): Delete cache.
3292         (__timepunct::__timepunct): Set cache.
3293         * config/locale/gnu/messages_members.h: Tweaks.
3294         * config/locale/gnu/monetary_members.cc:
3295         (moneypunct::_M_initialize_moneypunct): Use cache.
3296         (moneypunct::~moneypunct): Delete cache.
3297         * config/locale/gnu/time_members.cc:
3298         (__timepunct::_M_initialize_timepunct): Use cache.
3299         * config/locale/gnu/time_members.h:
3300         (__timepunct::~__timepunct): Delete cache.
3301         (__timepunct::__timepunct): Set cache.
3302         * include/bits/locale_facets.h (__timepunct_cache): New.
3303         (__moneypunct_cache): New.
3304         * include/bits/locale_facets.tcc: Tweak.
3305         * src/locale.cc (__timepunct::_S_timezones): Adjust for cache.
3306         * src/locale-inst.cc: Instantiate caches.
3307         * src/globals.cc: Add "C" caches.
3308         * src/localename.cc: Use external "C" caches.
3309
3310 2003-07-17  Phil Edwards  <pme@gcc.gnu.org>
3311
3312         * docs/doxygen/guide.html:  Fix typo.
3313
3314 2003-07-16  Benjamin Kosnik  <bkoz@redhat.com>
3315
3316         * include/ext/pod_char_traits.h: Add state template argument.
3317
3318 2003-07-16  Benjamin Kosnik  <bkoz@redhat.com>
3319
3320         * include/bits/locale_facets.h (__num_base::_S_atoms_in): Add -+xX.
3321         (num_get::_M_convert_int): To _M_insert_int.
3322         (num_get::_M_convert_float): To _M_insert_float.
3323         * include/bits/locale_facets.tcc (num_get::_M_extract_float):
3324         Use caches for ctype, num_get.
3325         (num_get::_M_extract_int): Same.
3326         (num_get::get(bool)): Same.
3327         (__verify_grouping): Use size_t.
3328         * src/locale-inst.cc: Update.
3329         * src/locale.cc: Adjust _S_atoms_in.
3330
3331 2003-07-16  Phil Edwards  <pme@gcc.gnu.org>
3332
3333         * docs/doxygen/mainpage.html:  Move building/writing instructions...
3334         * docs/doxygen/guide.html:  ...to here.  New file.
3335
3336 2003-07-16  Jonathan Wakely  <redi@gcc.gnu.org>
3337
3338         * docs/html/ext/howto.html: Update URL for SGI STL docs.
3339         * docs/html/faq/index.html: Same.
3340         * docs/html/faq/index.txt: Regenerate.
3341
3342 2003-07-16  Paolo Carlini  <pcarlini@unitus.it>
3343
3344         PR libstdc++/11528
3345         * include/bits/locale_facets.tcc (money_get::do_get):
3346         Strip only _leading_ zeros.
3347         * testsuite/22_locale/money_get/get/char/11528.cc: Add.
3348         * testsuite/22_locale/money_get/get/wchar_t/11528.cc: Add.
3349
3350 2003-07-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3351
3352         * include/ext/hash_map (class hash_multimap): Remove extra
3353         semicolons from __glibcxx_class_requires3 entries.
3354         * include/ext/hash_set (class hash_set): Ditto.
3355         (class hash_multiset): Ditto.
3356
3357 2003-07-15  Petur Runolfsson  <peturr02@ru.is>
3358
3359         * include/bits/char_traits.h (char_traits<wchar_t>::move):
3360         Change last parameter from int_type to size_t.
3361
3362 2003-07-15  Jerry Quinn  <jlquinn@optonline.net>
3363
3364         * include/bits/stl_algo.h (includes, set_union, set_intersection,
3365         set_difference, set_symmetric_difference, max_element, min_element,
3366         next_permutation, prev_permutation, find_first_of, find_end):
3367         Document.
3368         * include/bits/stl_algobase.h (copy,copy_backward):  Clarify overlap
3369         restrictions in docs.
3370         * include/bits/stl_heap.h (push_heap, pop_heap, make_heap, sort_heap):
3371         Document.
3372         * docs/doxygen/doxygroups.cc (setoperations):  New group.
3373
3374 2003-07-15  Jerry Quinn  <jlquinn@optonline.net>
3375
3376         * include/bits/basic_string.h:  Document public functions.
3377         * docs/doxygen/TODO:  Update c21 todo.
3378
3379 2003-07-15  Jerry Quinn  <jlquinn@optonline.net>
3380
3381         * include/bits/stl_list.h:  Document more functions.
3382         * docs/doxygen/TODO:  Update c23 todo.
3383
3384 2003-07-14  Paolo Carlini  <pcarlini@unitus.it>
3385
3386         * config/locale/gnu/c_locale.h (__convert_from_v): One more
3387         qualification.
3388
3389 2003-07-14  Paolo Carlini  <pcarlini@unitus.it>
3390
3391         * include/bits/stl_tempbuf.h: Qualify free with std::.
3392         * src/locale.cc: Include <cstdlib>, qualify getenv.
3393
3394 2003-07-14  Paolo Carlini  <pcarlini@unitus.it>
3395
3396         * config/locale/gnu/c_locale.h (__convert_from_v): Include
3397         <cstdio>. Qualify names.
3398         * config/locale/generic/c_locale.h (__convert_from_v): Ditto.
3399
3400 2003-07-14  Paolo Carlini  <pcarlini@unitus.it>
3401             Nathan C. Myers  <ncm-nospam@cantrip.org>
3402
3403         PR libstdc++/11378
3404         * include/std/std_fstream.h (xsputn): Declare only.
3405         * include/bits/fstream.tcc (xsputn): Define, optimize for the
3406         always_noconv() case: when __n is sufficiently large flush
3407         the buffer and issue a direct write, if possible combining the
3408         two with writev in __basic_file<>::xsputn_2.
3409         * config/io/basic_file_stdio.h (__basic_file<>::xsputn_2):
3410         New, declare.
3411         * config/io/basic_file_stdio.cc (__basic_file<>::xsputn_2):
3412         Define.
3413         * acinclude.m4 (GLIBCXX_CHECK_WRITE): New macro, checking for
3414         the availability of writev in <sys/uio.h>.
3415         * configure.in: Call here.
3416         * acconfig.h: Add undef for the corresponding symbol.
3417         * aclocal.m4: Regenerate.
3418         * configure: Regenerate.
3419         * config.h.in: Regenerate.
3420         * testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Tweak.
3421
3422         * include/std/std_fstream.h (sync): Constify a variable.
3423
3424 2003-07-14  Benjamin Kosnik  <bkoz@redhat.com>
3425
3426         * testsuite/27_io/ios_base/cons/assign_neg.cc: Fix line numbers.
3427         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
3428
3429 2003-07-14  Gabriel Dos Reis  <gcc@integrable-solutions.net>
3430
3431         * config/locale/gnu/c_locale.h (__convert_from_v): Include
3432         <cstring> and <cstdlib>. Qualify names.
3433
3434 2003-07-13  Mark Mitchell  <mark@codesourcery.com>
3435
3436         * config/locale/generic/c_locale.h: Include <cstdlib> and
3437         <cstring>.
3438         * include/bits/boost_concept_check.h: Add this-> to unqualified
3439         method calls.
3440         * include/bits/deque.tcc: Likewise.
3441         * include/bits/locale_facets.h : Likewise.
3442         * include/bits/ostream.tcc: Likewise.
3443         * include/bits/stl_algo.h: Likewise.
3444         * include/bits/stl_bvector.h: Likewise.
3445         * include/bits/stl_deque.h: Likewise.
3446         * include/bits/stl_list.h: Likewise.
3447         * include/bits/stl_tree.h: Likewise.
3448         * include/bits/stl_vector.h: Likewise.
3449         * include/bits/vector.tcc: Likewise.
3450         * include/ext/rope: Likewise.
3451         * include/ext/ropeimpl.h: Likewise.
3452         * include/ext/stdio_filebuf.h: Likewise.
3453
3454 2003-07-11  Jerry Quinn  <jlquinn@optonline.net>
3455
3456         * include/bits/basic_ios.h (copyfmt): Document.
3457         * include/bits/ios_base.h (event, event_callback, register_callback,
3458         xalloc, iword, pword):  Document.
3459         (imbue, ~ios_base): Update docs on callbacks.
3460
3461 2003-07-11  Phil Edwards  <pme@gcc.gnu.org>
3462
3463         * acinclude.m4 (GLIBCC_ENABLE_SYMVERS):  Tweak comments.  Add
3464         warning messages if the environment cannot support symbol versioning.
3465         (port_specific_symbol_file):  It's plural, add an 's' on the end.
3466         * configure.host:  Likewise.
3467         * src/Makefile.am:  Likewise.
3468         * config/linker-map.gnu:  Remove one semicolon, heh.
3469         * scripts/extract_symvers:  Don't assume useful 'export' syntax.
3470         Set LANG as well as LC_ALL for possibly-broken sort(1)s.
3471         * aclocal.m4, configure, src/Makefile.in:  Regenerated.
3472
3473 2003-07-09  Benjamin Kosnik  <bkoz@redhat.com>
3474
3475         * include/bits/locale_facets.tcc: Use function object for
3476         __use_cache instead of template function. Partially specialize for
3477         __numpunct<_CharT>.
3478         * include/bits/locale_classes.h: Update friend declaration for
3479         __use_cache.
3480         (_M_install_cache): No throw exception specs.
3481         * src/locale.cc: Remove __use_cache specializations.
3482         * include/ext/pod_char_traits.h (length): Tweak.
3483         * include/bits/locale_facets.h (__numpunct_cache): Remove
3484         char_type typedef.
3485         * testsuite/testsuite_hooks.h (pod_unsigned_int): Remove.
3486         (pod_long): Remove.
3487         * testsuite/22_locale/numpunct/members/char/cache_1.cc: New.
3488         * testsuite/22_locale/numpunct/members/char/cache_2.cc: New.
3489         * testsuite/22_locale/numpunct/members/wchar_t/cache_1.cc: New.
3490         * testsuite/22_locale/numpunct/members/wchar_t/cache_2.cc: New.
3491         * testsuite/22_locale/numpunct/members/pod/1.cc: New.
3492         * testsuite/22_locale/numpunct/members/pod/2.cc: New.
3493
3494 2003-07-09  Jerry Quinn  <jlquinn@optonline.net>
3495
3496         * src/ios.cc (_M_grow_words):  Fix spelling.
3497
3498 2003-07-09  Gawain Bolton  <gp.bolton@computer.org>
3499
3500         * include/bits/stl_tree.h: Move larger member functions in
3501         _Rb_tree_base_iterator and _Rb_tree_node to...
3502         * src/stl_tree.cc: Here.
3503         * src/Makefile.in: Add stl_tree.cc.
3504         * src/Makefile.in: Regenerated.
3505         * config/linker-map.gnu: Add symbols here.
3506
3507 2003-07-08  Benjamin Kosnik  <bkoz@redhat.com>
3508
3509         * testsuite/ext/pod_char_traits.cc: New.
3510         * include/ext/pod_char_traits.h: New.
3511         * include/Makefile.am (ext_headers): Add pod_char_traits.h.
3512         * include/Makefile.in: Regenerate.
3513         * docs/html/21_strings/howto.html: Update.
3514
3515 2003-07-08  Gawain Bolton  <gp.bolton@computer.org>
3516
3517         * testsuite/performance/list_create_fill_sort.cc: New.
3518
3519 2003-07-08  Benjamin Kosnik  <bkoz@redhat.com>
3520
3521         * config/locale/generic/numeric_members.cc: Correct type info.
3522         * config/locale/gnu/numeric_members.cc: Same.
3523         * include/bits/locale_facets.h: Same.
3524
3525         * include/bits/char_traits.h: Correct spacing.
3526
3527         * src/locale.cc: Wrap to 80 col.
3528
3529 2003-07-07  Paolo Carlini  <pcarlini@unitus.it>
3530
3531         * include/std/std_complex.h: Partially revert last
3532         changes: cmath functions must not be qualified.
3533
3534 2003-07-06  Phil Edwards  <pme@gcc.gnu.org>
3535
3536         * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS):  Do not test for binutils
3537         2.11 with globbing backport fix.
3538         * aclocal.m4, configure:  Regenerated.
3539
3540 2003-07-06  Paolo Carlini  <pcarlini@unitus.it>
3541
3542         * include/std/std_fstream.h (xsputn): Don't call _M_destroy_pback:
3543         if output is at all possible (!_M_reading), cannot be active.
3544
3545         * include/std/std_fstream.h: Tweak comments to doxygen style.
3546
3547 2003-07-06  Paolo Carlini  <pcarlini@unitus.it>
3548
3549         * include/bits/locale_classes.h: Fully qualify standard
3550         functions with std::, thus avoiding Koenig lookup.
3551         * include/bits/locale_facets.tcc: Likewise.
3552         * src/locale.cc: Likewise.
3553         * src/localename.cc: Likewise.
3554
3555 2003-07-06  Phil Edwards  <pme@gcc.gnu.org>
3556
3557         * include/bits/allocator_traits.h:  Fix doxygen markup.
3558         * include/ext/mt_allocator.h:  Likewise.
3559
3560 2003-07-06  Phil Edwards  <pme@gcc.gnu.org>
3561
3562         * testsuite/testsuite_hooks.h:  Guard against a missing unlink().
3563
3564 2003-07-05  Phil Edwards  <pme@gcc.gnu.org>
3565
3566         * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS):  Bump minimal version
3567         requirement.  Add port_specific_symbol_file variable.
3568         * configure.host:  Add docs for port_specific_symbol_file.
3569         Clean up try_cpu block for x86.
3570         * config/linker-map.gnu:  No more "last symbol can't have a
3571         semicolon" kaka.  Add hook for port-specific symbols.
3572         * src/Makefile.am:  Remove trailing whitespace.
3573         (libstdc++-symbol.ver):  Detect the presence of port-specific
3574         symbols, and add them accordingly.
3575
3576         * docs/html/17_intro/porting.texi:  Bring up to date.
3577
3578         * src/Makefile.in, aclocal.m4, configure,
3579         docs/html/17_intro/porting.html:  Regenerated.
3580
3581 2003-07-05  Phil Edwards  <pme@gcc.gnu.org>
3582
3583         * scripts/create_testsuite_files:  New file.
3584         * testsuite/Makefile.am (all-local, check-performance):  Use it.
3585         * testsuite/lib/libstdc++-v3-dg.exp (v3-computer-tests):  Remove.
3586         * testsuite/Makefile.in:  Regenerated.
3587
3588         * testsuite/performance/filebuf_sputc.cc:  Remove the temporary
3589         files at the end.
3590         * testsuite/performance/fstream_seek_write.cc:  Likewise.
3591         * testsuite/performance/ofstream_insert_float.cc:  Likewise.
3592         * testsuite/performance/ofstream_insert_int.cc:  Likewise.
3593         * testsuite/abi_check.cc (main):  Nicer spacing in usage output.
3594
3595 2003-07-05  Gawain Bolton  <gp.bolton@computer.org>
3596
3597         * include/bits/stl_list.h: Performance and memory usage
3598         improvements. In particular, the behaviour of the constructor and
3599         destructor as the list header node is no longer dynamically
3600         allocated/de-allocated.
3601         * include/bits/list.tcc: Likewise.
3602
3603 2003-07-05  Paolo Carlini  <pcarlini@unitus.it>
3604
3605         * include/std/std_complex.h: Fully qualify standard
3606         functions with std::, thus avoiding Koenig lookup.
3607         * include/std/std_memory.h: Likewise.
3608         * include/std/std_valarray.h: Likewise.
3609
3610 2003-07-05  Gawain Bolton  <gp.bolton@computer.org>
3611
3612         * include/bits/stl_tree.h: _Rb_tree_rebalance():  Add local
3613           variable for grandparent and use const
3614
3615 2003-07-05  David Billinghurst <David.Billinghurst@riotinto.com>
3616
3617         * testsuite/27_io/basic_filebuf/close/char/4879.cc: xfail on cygwin
3618         * testsuite/27_io/basic_filebuf/close/char/9964.cc: Ditto
3619         * testsuite/27_io/basic_filebuf/open/char/9507.cc: Ditto
3620         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Ditto
3621         * testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Ditto
3622         * testsuite/27_io/objects/char/7.cc: Ditto
3623         * testsuite/27_io/objects/char/9661-1.cc: Ditto
3624
3625 2003-07-05  Paolo Carlini  <pcarlini@unitus.it>
3626
3627         * include/std/std_bitset.h: Fully qualify standard
3628         functions with std::, thus avoiding Koenig lookup.
3629
3630         * include/std/std_fstream.h: Change comment to doxygen style.
3631
3632 2003-07-05  Phil Edwards  <pme@gcc.gnu.org>
3633
3634         * include/std/std_limits.h:  More CPP->CXX changes.
3635         * scripts/check_survey.in:  Likewise.
3636
3637 2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
3638
3639         Move from CPP to CXX.
3640         * include/bits/c++config: Move to GLIBCXX from GLIBCPP.
3641         * testsuite/Makefile.am: Same.
3642         * testsuite/Makefile.in: Regenerate.
3643         * po/Makefile.am: Same.
3644         * po/Makefile.in: Regenerate.
3645         * libsupc++/Makefile.am: Same.
3646         * libsupc++/Makefile.in: Regenerate.
3647         * libmath/Makefile.am: Same.
3648         * libmath/Makefile.in: Regenerate.
3649         * include/Makefile.am: Same.
3650         * include/Makefile.in: Regenerate.
3651         * src/Makefile.am: Same.
3652         * src/Makefile.in: Regenerate.
3653         * acconfig.h: Same.
3654         * configure.host: Same.
3655         * configure.in: Same.
3656         * configure: Regenerate.
3657         * acinclude.m4: Same.
3658         * aclocal.m4: Same.
3659         * src: Change all files in this directory.
3660         * testsuite: Same.
3661         * include: Same, standardize include guards.
3662         * config: Same.
3663         * libsupc++: Same.
3664
3665 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
3666
3667         * testsuite/22_locale/collate/compare/wchar_t/2.cc
3668         * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc
3669         * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc
3670         * testsuite/22_locale/collate/hash/wchar_t/2.cc
3671         * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc
3672         * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc
3673         * testsuite/22_locale/collate/transform/wchar_t/2.cc
3674         * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc
3675         * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
3676         XFAIL on all targets.
3677
3678 2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
3679
3680         * acinclude.m4 (GLIBCPP_ENABLE_PCH): Fix missed variable.
3681         * aclocal.m4: Regenerate.
3682         * configure: Regenerate.
3683
3684 2003-07-04  Jerry Quinn  <jlquinn@optonline.net>
3685
3686         * include/bits/locale_facets.tcc (__int_to_char): Move common case
3687         to the top.
3688
3689 2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
3690             Petur Runolfsson  <peturr02@ru.is>
3691
3692         * config/io/basic_file_stdio.cc: Revert.
3693
3694 2003-07-04  Paolo Carlini  <pcarlini@unitus.it>
3695
3696         * include/bits/deque.tcc: Fully qualify standard
3697         functions with std::, thus avoiding Koenig lookup.
3698         * include/bits/gslice_array.h: Likewise.
3699         * include/bits/indirect_array.h: Likewise.
3700         * include/bits/list.tcc: Likewise.
3701         * include/bits/mask_array.h: Likewise.
3702         * include/bits/slice_array.h: Likewise.
3703
3704 2003-07-04  Gawain Bolton  <gbolton@free.fr>
3705
3706         * include/bits/stl_tree.h: Performance and memory usage
3707         improvements.
3708
3709 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
3710
3711         * Makefile.am: Replace PWD with PWD_COMMAND.
3712         * Makefile.in: Regenerated.
3713         * docs/html/Makefile: Likewise.
3714
3715 2003-07-04  Paolo Carlini  <pcarlini@unitus.it>
3716
3717         * include/bits/valarray_array.h: Fully qualify standard
3718         functions with std::, thus avoiding Koenig lookup.
3719         * include/bits/vector.tcc: Likewise.
3720
3721 2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
3722
3723         * include/Makefile.am: Update target_ to host_.
3724         * include/Makefile.in: Regenerate.
3725         * src/Makefile.am: Same.
3726         * src/Makefile.in: Regenerate.
3727
3728         * config/os/gnu-linux/os_defines.h: Remove glibc-2.0 support.
3729
3730 2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
3731
3732         * acinclude.m4 (GLIBCPP_ENABLE_DEBUG_FLAGS): To
3733         --enable-libstdcxx-debug-flags.
3734         (GLIBCPP_ENABLE_DEBUG_FLAGS): To --enable-libstdcxx-debug.
3735         (GLIBCPP_ENABLE_PCH): To --enable-libstdcxx-pch.
3736         * aclocal.m4: Regenerate.
3737         * configure: Same.
3738         * docs/html/configopts.html: Update.
3739
3740 2003-07-04  Paolo Carlini  <pcarlini@unitus.it>
3741
3742         Revert the fix for libstdc++/11378.
3743
3744 2003-07-04  Paolo Carlini  <pcarlini@unitus.it>
3745
3746         PR libstdc++/11378
3747         * include/std/std_fstream.h (xsputn): In the unbuffered case,
3748         provided always_noconv(), issue directly _M_file.xsputn.
3749         * testsuite/performance/filebuf_unbuf_sputn.cc: New.
3750
3751 2003-07-04  Paolo Carlini  <pcarlini@unitus.it>
3752
3753         * include/bits/stl_list.h: Fully qualify standard
3754         functions with std::, thus avoiding Koenig lookup.
3755         * include/bits/stl_queue.h: Likewise.
3756         * include/bits/stl_raw_storage_iter.h: Likewise.
3757         * include/bits/stl_tempbuf.h: Likewise.
3758         * include/bits/stl_tree.h: Likewise.
3759         * include/bits/stl_uninitialized.h: Likewise.
3760         * include/bits/stl_vector.h: Likewise.
3761         * include/ext/rope: Change includes order.
3762
3763 2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
3764
3765         * configure.host (fpos_include_dir): Fix.
3766
3767 2003-07-04  Paolo Carlini  <pcarlini@unitus.it>
3768
3769         * include/bits/stl_heap.h: Fully qualify standard
3770         functions with std::, thus avoiding Koenig lookup.
3771         * include/bits/stl_iterator_base_funcs.h: Likewise.
3772
3773         * include/bits/stl_algo.h: Qualify __iterator_category too.
3774         * include/bits/stl_algobase.h: Likewise.
3775         * include/bits/stl_bvector.h: Likewise.
3776
3777         * include/bits/stl_algo.h: Don't qualify the pair type.
3778
3779 2003-07-03  Benjamin Kosnik  <bkoz@redhat.com>
3780
3781         * include/Makefile.am (target_headers): Add fpos.h
3782         (bits_headers): Remove.
3783         * include/Makefile.in: Regenerate.
3784         * configure.in: Add FPOS_INC_SRCDIR, substitute it.
3785         * configure: Regenerate.
3786         * configure.host: Add fpos_include_dir.
3787         * config/os/gnu-linux/fpos.h: New.
3788         * config/os/generic/fpos.h: Add.
3789         * include/bits/fpos.h: Remove.
3790
3791         * config/io/c_io_stdio.h: Remove fpos_t typedef.
3792
3793         * include/bits/fstream.tcc: Tweaks.
3794         * include/std/std_fstream.h: Same.
3795
3796         * testsuite/27_io/fpos/1.cc (test01): Uncomment. Move to...
3797         * testsuite/27_io/fpos/mbstate_t/1.cc: ...here.
3798         * testsuite/27_io/fpos/mbstate_t/2.cc: Same.
3799         * testsuite/27_io/fpos/mbstate_t/3.cc: Same.
3800         * testsuite/27_io/fpos/1.cc: New.
3801
3802 2003-07-03  Benjamin Kosnik  <bkoz@redhat.com>
3803             Petur Runolfsson  <peturr02@ru.is>
3804
3805         * include/std/std_streambuf.h: Remove _M_pos.
3806         * config/io/basic_file_stdio.h: Use seekpos instead of seekoff.
3807         * config/io/basic_file_stdio.cc: Same, use fseek instead of lseek,
3808         use fread/fwrite instead of read/write.
3809         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Fix.
3810         * testsuite/27_io/basic_filebuf/sputn/char/9339.cc: Close filebufs
3811         before reading again.
3812         * testsuite/27_io/objects/char/6.cc: Tweak.
3813
3814 2003-07-03  David Edelsohn  <edelsohn@gnu.org>
3815
3816         * testsuite/22_locale/num_put/put/char/7.cc: Guard with
3817         _GLIBCPP_USE_WCHAR_T.
3818
3819 2003-07-02  Paolo Carlini  <pcarlini@unitus.it>
3820
3821         * include/bits/basic_string.tcc (_M_replace_aux): Constify
3822         __n1 and __off1.
3823
3824 2003-07-02  Paolo Carlini  <pcarlini@unitus.it>
3825
3826         * include/bits/stl_bvector.h: Fully qualify standard
3827         functions with std::, thus avoiding Koenig lookup.
3828         * include/bits/stl_construct.h: Likewise.
3829         * include/bits/stl_deque.h: Likewise.
3830
3831 2003-07-02  Paolo Carlini  <pcarlini@unitus.it>
3832
3833         * testsuite/22_locale/num_put/put/char/7.cc: Include
3834         <testsuite_hooks.h>, tweak.
3835         * testsuite/22_locale/num_put/put/wchar_t/7.cc: Likewise.
3836
3837 2003-07-01  Phil Edwards  <pme@gcc.gnu.org>
3838
3839         * testsuite/Makefile.am (AM_MAKEFLAGS):  Set to -j1 (affects
3840         check* targets, but not libs/programs).
3841         * testsuite/Makefile.in:  Regenerate.
3842
3843 2003-07-01  Roger Sayle  <roger@eyesopen.com>
3844
3845         * acinclude.m4 (GLIBCPP_CHECK_STDLIB_SUPPORT): Fix typo in CXXFLAGS.
3846         (GLIBCPP_CHECK_MATH_SUPPORT): Likewise.
3847         * aclocal.m4: Regenerate.
3848         * configure: Regenerate.
3849
3850 2003-07-01  Benjamin Kosnik  <bkoz@redhat.com>
3851
3852         * acinclude.m4 (GLIBCPP_ENABLE_PCH): Fix obvious error.
3853         * aclocal.m4: Regenerated.
3854         * configure: Regenerated.
3855
3856 2003-07-01  Paolo Carlini  <pcarlini@unitus.it>
3857
3858         PR libstdc++/11389
3859         * include/bits/fstream.tcc (underflow): For encoding() == 0
3860         don't read more than __buflen chars.
3861         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc: New.
3862         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc: New.
3863         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc: New.
3864         * testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc: New.
3865
3866 2003-07-01  Jerry Quinn  <jlquinn@optonline.net>
3867
3868         * 22_locale/num_put/put/char/7.cc: New.
3869         * 22_locale/num_put/put/wchar_t/7.cc: New.
3870
3871 2003-06-30  Jerry Quinn  <jlquinn@optonline.net>
3872
3873         * src/locale.cc (__use_cache<numpunct>): Revert previous relocation.
3874         * include/bits/locale_facets.tcc (__use_cache<numpunct>): Ditto.
3875
3876 2003-06-30  Benjamin Kosnik  <bkoz@redhat.com>
3877
3878         * 27_io/basic_filebuf/seekoff/char/1-in.cc: New.
3879         * 27_io/basic_filebuf/seekoff/char/1-io.cc: New.
3880         * 27_io/basic_filebuf/seekoff/char/1-out.cc: New.
3881         * 27_io/basic_filebuf/seekoff/char/2-in.cc: New.
3882         * 27_io/basic_filebuf/seekoff/char/2-io.cc: New.
3883         * 27_io/basic_filebuf/seekoff/char/2-out.cc: New.
3884         * 27_io/basic_filebuf/seekoff/char/2.cc: Remove.
3885         * 27_io/basic_filebuf/seekoff/char/3-in.cc: New.
3886         * 27_io/basic_filebuf/seekoff/char/3-io.cc: Change.
3887         * 27_io/basic_filebuf/seekoff/char/3-out.cc: New.
3888         * 27_io/basic_filebuf/seekoff/char/4-io.cc: Remove.
3889         * 27_io/basic_filebuf/seekpos/char/1-in.cc: New.
3890         * 27_io/basic_filebuf/seekpos/char/1-io.cc: New.
3891         * 27_io/basic_filebuf/seekpos/char/1-out.cc: New.
3892         * 27_io/basic_filebuf/seekpos/char/2-in.cc: New.
3893         * 27_io/basic_filebuf/seekpos/char/2-io.cc: New.
3894         * 27_io/basic_filebuf/seekpos/char/2-out.cc: New.
3895         * 27_io/basic_filebuf/seekpos/char/2.cc: Change.
3896         * 27_io/basic_filebuf/seekpos/char/3-in.cc: New.
3897         * 27_io/basic_filebuf/seekpos/char/3-io.cc: Remove.
3898         * 27_io/basic_filebuf/seekpos/char/3-out.cc: New.
3899         * 27_io/basic_filebuf/seekpos/char/4-io.cc: Remove.
3900         * data/seekoff-1.tst: Remove.
3901         * data/seekoff-1io.tst: New.
3902         * data/seekoff-1out.tst: New.
3903         * data/seekoff-2.tst: Remove.
3904         * data/seekoff-2io.tst: New.
3905         * data/seekoff-2out.tst: New.
3906         * data/seekoff.txt
3907         * data/seekpos-1.tst: Remove.
3908         * data/seekpos-1io.tst: New.
3909         * data/seekpos-1out.tst: New.
3910         * data/seekpos-2.tst: Remove.
3911         * data/seekpos-2io.tst: New.
3912         * data/seekpos-2out.tst: New.
3913         * data/seekpos.txt: New.
3914
3915 2003-06-30  Jerry Quinn  <jlquinn@optonline.net>
3916
3917         * src/locale.cc (__use_cache<numpunct>): Move from here ...
3918         * include/bits/locale_facets.tcc (__use_cache<numpunct>): To
3919         here.
3920
3921 2003-06-30  Paolo Carlini  <pcarlini@unitus.it>
3922
3923         * include/bits/stl_algobase.h: Fully qualify standard
3924         functions with std::, thus avoiding Koenig lookup.
3925
3926 2003-06-30  Doug Gregor <dgregor@apple.com>
3927
3928         * include/bits/locale_facets.tcc (money_get::do_get): Avoid
3929         subscripting empty string.
3930
3931 2003-06-30  Phil Edwards  <pme@gcc.gnu.org>
3932
3933         * testsuite/Makefile.am (check-am):  Do not override.
3934         (baseline_symbols):  Declare as PHONY, so no need to 'touch' it.
3935         * testsuite/Makefile.in:  Regenerate.
3936
3937 2003-06-30  Doug Gregor <dgregor@apple.com>
3938
3939         * testsuite/24_iterators/insert_iterator.cc (test01, test02):
3940         Don't initialize an insert_iterator with a singular iterator.
3941
3942 2003-06-30  Benjamin Kosnik  <bkoz@redhat.com>
3943
3944         * acinclude.m4 (GLIBCPP_ENABLE_PCH): Add bits for --enable-pch.
3945         * aclocal.m4: Regenerate.
3946         * configure.in (GLIBCPP_CHECK_PCH): Move, change to
3947         GLIBCPP_ENABLE_PCH, default to yes.
3948         * configure: Regenerate.
3949         * docs/html/configopts.html: Add --enable-pch.
3950
3951 2003-06-30  Phil Edwards  <pme@gcc.gnu.org>
3952
3953         * testsuite/lib/libstdc++-v3-dg.exp:  Add comments.
3954         (libstdc++-v3-init):  Also set LD_RUN_PATH.
3955
3956 2003-06-30  Paolo Carlini  <pcarlini@unitus.it>
3957
3958         * include/std/std_streambuf.h (_M_mode): Unused by streambuf, move
3959         from here to filebuf and stringbuf.
3960         (~basic_streambuf()): Don't set _M_mode.
3961         (basic_streambuf()): Don't set _M_mode.
3962         * include/std/std_fstream.h (_M_mode): Move here, from streambuf.
3963         (~basic_filebuf()): Clean up.
3964         * include/bits/fstream.tcc (basic_filebuf()): Set _M_mode.
3965         * include/std/std_sstream.h (_M_mode): Move here, from streambuf.
3966         * testsuite/27_io/basic_streambuf/cons/char/1.cc: Don't set _M_mode.
3967         * testsuite/27_io/basic_streambuf/overflow/char/1.cc: Likewise.
3968         * testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise.
3969         * testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Likewise.
3970         * testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise.
3971
3972 2003-06-30  Paolo Carlini  <pcarlini@unitus.it>
3973
3974         * include/std/std_fstream.h (_M_underflow): Remove.
3975         (uflow): Remove, inherited from streambuf.
3976         (underflow): Only declare.
3977         * include/bits/fstream.tcc (_M_underflow): Rename to
3978         underflow, to which is equivalent for __bump == false,
3979         simplify.
3980         * include/std/std_sstream.h (_M_underflow): Remove.
3981         (uflow): Remove, inherited from streambuf.
3982         (underflow): Only declare.
3983         * include/bits/sstream.tcc (_M_underflow): Rename to
3984         underflow, to which is equivalent for __bump == false,
3985         simplify.
3986
3987 2003-06-29  Paolo Carlini  <pcarlini@unitus.it>
3988
3989         * include/bits/stl_algo.h: Fully qualify standard functions
3990         with std::, thus avoiding Koenig lookup.
3991
3992 2003-06-29  Paolo Carlini  <pcarlini@unitus.it>
3993
3994         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc:
3995         Improve type correctness-wise.
3996         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc:
3997         Likewise.
3998         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc:
3999         Likewise.
4000         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc:
4001         Likewise.
4002
4003 2003-06-29  Paolo Carlini  <pcarlini@unitus.it>
4004
4005         * include/std/std_streambuf.h (uflow): According to
4006         27.5.2.4.3,p16, don't check gptr() < egptr().
4007
4008 2003-06-28  Paolo Carlini  <pcarlini@unitus.it>
4009
4010         PR libstdc++/9875
4011         * include/bits/fstream.tcc (seekoff): Fix for encoding() > 0.
4012         (seekpos): Likewise.
4013         * testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc:
4014         New test.
4015         * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc:
4016         New test.
4017
4018 2003-06-27  Benjamin Kosnik  <bkoz@redhat.com>
4019
4020         * testsuite/testsuite_performance.h (__gnu_cxx_test): Change
4021         output name to libstdc++-v3-performance.sum.
4022         * testsuite/Makefile.am (CLEANFILES): Remove .performance.
4023         * testsuite/Makefile.in: Regenerate.
4024
4025 2003-06-27  Matthias Klose  <doko@debian.org>
4026
4027         * testsuite/Makefile.am (check-abi, check-abi-verbose): Save
4028         output of abi-check in libstdc++-v3-abi.sum.
4029         * testsuite/Makefile.in: Regenerate.
4030
4031 2003-06-27  Krister Walfridsson  <cato@df.lth.se>
4032
4033         * config/os/bsd/netbsd/ctype_noninline.h
4034         (_C_ctype_): Declare.
4035         (ctype<char>::classic_table): Return _C_ctype_ + 1.
4036         (ctype<char>::ctype): Use classic_table.
4037
4038 2003-06-27  Paolo Carlini  <pcarlini@unitus.it>
4039             Nathan C. Myers  <ncm-nospam@cantrip.org>
4040
4041         PR libstdc++/9178
4042         * include/bits/fstream.tcc (_M_underflow): Properly estimate
4043         the worst-case number of external bytes for a given get area.
4044         * testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: New.
4045
4046 2003-06-27  Paolo Carlini  <pcarlini@unitus.it>
4047             Petur Runolfsson  <peturr02@ru.is>
4048
4049         PR libstdc++/11305
4050         * include/bits/fstream.tcc (overflow): Properly estimate the
4051         worst-case number of external bytes for a given put area
4052         (by using codecvt::max_length()).
4053         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1: New.
4054         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2: New.
4055         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3: New.
4056         * testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4: New.
4057
4058 2003-06-27  Nathan Sidwell  <nathan@codesourcery.com>
4059
4060         * config/linker-map.gnu: Remove ; after __numpunct_cache.
4061
4062 2003-06-26  Benjamin Kosnik  <bkoz@redhat.com>
4063
4064         * include/bits/ios_base.h (ios_base::_M_getloc): Return reference
4065         to the imbued locale.
4066         * include/bits/locale_facets.tcc (num_put::_M_convert_int): Use
4067         _M_getloc.
4068         (num_put::_M_convert_float): Use.
4069
4070 2003-06-26  Benjamin Kosnik  <bkoz@redhat.com>
4071             Jerry Quinn  <jlquinn@optonline.net>
4072
4073         * config/linker-map.gnu: Add __numpunct_cache.
4074         * config/locale/gnu/numeric_members.cc
4075         (numpunct::_M_initialize_numpunct): Account for _M_data, fill in
4076         all elements for "C" locale.
4077         (numpunct::~numpunct): Delete _M_data.
4078         * config/locale/generic/numeric_members.cc: Same.
4079         * include/bits/basic_ios.tcc
4080         (basic_ios::init): Remove __locale_cache bits.
4081         (basic_ios::_M_cache_locale): Same.
4082         * include/bits/ios_base.h: Same. Tweaks.
4083         * include/bits/locale_classes.h: Tweaks. Reorder classes.
4084         (__use_cache): Make friends with _Impl, locale.
4085         (_Impl::_M_caches): Add.
4086         (_Impl::_M_install_cache): Add.
4087         * include/bits/locale_facets.h (__numpunct_cache): New.
4088         (numpunct): Encapsulate data members in __numpunct_cache member,
4089         _M_data. Adjust virtuals.
4090         (numpunct::numpunct): New ctor for the same.
4091         (__locale_cache_base): Remove.
4092         (__locale_cache): Remove.
4093         * include/bits/locale_facets.tcc (__use_cache): New function,
4094         specializations.
4095         (num_put::_M_convert_int, _M_convert_float, do_put): Use it.
4096         * src/globals.cc: Add cache_vec, numpunct_cache_c, numpunct_cache_w.
4097         * src/ios.cc (ios_base::ios_base): Remove __locale_cache.
4098         * src/locale-inst.cc: Same. Add __numpunct_cache.
4099         * src/locale.cc: Tweak inlines.
4100         (__use_cache): Define specializations.
4101         * src/localename.cc: Use global bits.
4102         (_Impl::~Impl): Deal with __numpunct_cache destruction.
4103         (_Impl::_Impl): Same. Pre-cache standard numpunct facets.
4104         (_Impl::_M_init_facet): Take into account __numpunct_cache.
4105         * testsuite/27_io/ios_base/cons/assign_neg.cc: Update line numbers.
4106         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
4107
4108 2003-06-26  Nathan C. Myers  <ncm-nospam@cantrip.org>
4109             Paolo Carlini  <pcarlini@unitus.it>
4110
4111         * testsuite/performance/filebuf_copy.cc: New, testing char
4112         by char file copy.
4113
4114 2003-06-26  Paolo Carlini  <pcarlini@unitus.it>
4115             Nathan C. Myers  <ncm-nospam@cantrip.org>
4116
4117         * include/bits/fstream.tcc (_M_underflow): When the actual
4118         end of file is reached, set 'uncommitted' mode to allow a
4119         next write without an intervening seek (see C++98 27.8.1.1,2
4120         and C89 7.9.5.3).
4121         * testsuite/27_io/basic_filebuf/underflow/char/2.cc: New.
4122
4123 2003-06-25  Nathan C. Myers  <ncm-nospam@cantrip.org>
4124
4125         * include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc,
4126         sputc): Move inline, from here...
4127         * include/std/std_streambuf.h: ... to here.
4128
4129         * include/std/std_streambuf.h (snextc, sbumpc, sgetc,
4130         sputbackc, sungetc, sputc): Use __builtin_expect.
4131
4132 2003-06-24  Phil Edwards  <pme@gcc.gnu.org>
4133
4134         * docs/doxygen/mainpage.html:  Use a useful title.
4135
4136 2003-06-24  Benjamin Kosnik  <bkoz@redhat.com>
4137
4138         * docs/html/documentation.html: Remove assignment info.
4139         * docs/html/17_intro/contribute.html: Edits.
4140         * docs/html/17_intro/libstdc++-assign.tx: Remove.
4141
4142         * docs/html/test.html: Update.
4143
4144         * README: Update.
4145
4146 2003-06-24  Benjamin Kosnik  <bkoz@redhat.com>
4147             Ulrich Drepper  <drepper@redhat.com>
4148
4149         * testsuite/testsuite_performance.h: Tweak mallinfo.
4150
4151 2003-06-24  Paolo Carlini  <pcarlini@unitus.it>
4152             Nathan C. Myers  <ncm-nospam@cantrip.org>
4153
4154         * include/std/std_fstream.h (_M_filepos): Remove.
4155         (_M_reading, _M_writing): New, encode the various I/O modes:
4156         'read', 'write' and 'uncommitted'.
4157         (sync): If there is something to flush, do it, then go to
4158         'uncommitted' mode.
4159         * include/bits/fstream.tcc (_M_set_buffer): Overhaul to deal
4160         with three different cases: __off > 0 (upon underflow),
4161         __off == 0 (upon overflow), __off == -1 (upon open, setbuf,
4162         seekoff/pos).
4163         (_M_underflow): Don't call overflow, set _M_reading to true
4164         on success, tweak.
4165         (pbackfail): Set _M_reading to true on pback creation, tweak.
4166         (overflow): Don't seek, deal with overflow in 'uncommitted' mode,
4167         set _M_writing to true on success, tweak.
4168         (seekoff): Simplify, set _M_reading, _M_writing to false, call
4169         _M_set_buffer(-1) ('uncommitted').
4170         (open, close, setbuf): Set _M_reading, _M_writing to false and
4171         call _M_set_buffer(-1), tweak.
4172         (basic_filebuf): Don't set _M_buf_unified.
4173         (_M_destroy_internal_buffer): Don't call setg and setp.
4174         * include/ext/stdio_filebuf.h (stdio_filebuf): Use _M_reading,
4175         _M_writing and _M_set_buffer(-1).
4176         * include/std/std_streambuf.h (_M_move_out_cur, _M_move_in_cur,
4177         _M_out_lim, _M_buf_unified): Remove.
4178         (basic_streambuf): Don't set _M_out_lim and _M_buf_unified.
4179         (setp): Don't set _M_out_lim.
4180         * testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Fix for
4181         the new logic ('read', 'write' and 'uncommitted' modes): e.g.,
4182         upon open the mode is 'uncommitted' and therefore the put area
4183         pointers are null.
4184         * testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: Ditto.
4185         * testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: Ditto.
4186         * testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: Ditto.
4187         * testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Ditto.
4188         * testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Ditto.
4189         * testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: Ditto.
4190         * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Ditto.
4191         * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: Ditto.
4192         * testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Ditto.
4193         * testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: Ditto.
4194         * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Ditto.
4195         * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: Ditto.
4196         * testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: Ditto.
4197         * testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: Ditto.
4198         * testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc: Ditto.
4199         * testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Ditto.
4200         * testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: Ditto.
4201         * testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc: Ditto.
4202         * testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Ditto.
4203         * testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: Ditto.
4204
4205         * include/bits/fstream.tcc (showmanyc): Use only the
4206         documented derivation interface to basic_streambuf (gptr(),
4207         setg(), etc.) to work right with user specializations.
4208         * include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc,
4209         sputc, xsgetn, xsputn, __copy_streambufs): Likewise.
4210         * include/std/std_streambuf.h (in_avail, sgetc, uflow, stossc):
4211         Likewise.
4212         * include/std/std_fstream.h (_M_create_pback, _M_destroy_pback,
4213         xsgetn): Likewise.
4214
4215 2003-06-23  Loren J. Rittle  <ljrittle@acm.org>
4216
4217         * configure.host (freebsd*): Set abi_baseline_pair.
4218         * config/abi/i386-freebsd4/baseline_symbols.txt: Update from 3.2
4219         (at or near first release) to 3.3.
4220         * config/abi/i386-freebsd5/baseline_symbols.txt: New file.
4221         * config/abi/alpha-freebsd5/baseline_symbols.txt: New file.
4222         * config/abi/sparc-freebsd5/baseline_symbols.txt: New file.
4223
4224         * include/ext/mt_allocator.h: Portability.
4225         * testsuite/testsuite_performance.h: Likewise.
4226
4227 2003-06-23  Benjamin Kosnik  <bkoz@redhat.com>
4228
4229         * docs/html/17_intro/libstdc++-assign.txt: Update address.
4230
4231         * testsuite/performance/ifstream_getline.cc: Fix.
4232
4233 2003-06-23  Doug Gregor <dgregor@apple.com>
4234
4235         * include/bits/boost_concept_check.h: Don't use _D or _R for type
4236         names.
4237
4238 2003-06-22  Paolo Carlini  <pcarlini@unitus.it>
4239             Nathan C. Myers  <ncm-nospam@cantrip.org>
4240
4241         * include/std/std_streambuf.h (_M_move_out_cur): _M_out_lim
4242         is now used only for filebuf, when _M_buf_unified is true.
4243         epgtr() plays the role of _M_out_lim but it's only updated
4244         upon overflow, underflow, uflow, seekoff/pos.
4245         * include/bits/sstream.tcc (_M_underflow): New, implements
4246         stringbuf::underflow and uflow.
4247         (seekoff, seekpos): Tweak, use  _M_update_egptr.
4248         * include/std/std_sstream.h (str): Rewrote, deal correctly
4249         with the new logic, in particular, when pptr() > egptr().
4250         (_M_sync): When __testout && !__testin set all the get area
4251         pointers to the current string end.
4252         (_M_update_egptr): New, internal function updating egptr()
4253         to the actual string end.
4254         (_M_underflow): New, declare.
4255         (underflow): Dispatch to _M_underflow(false).
4256         (uflow): Dispatch to _M_underflow(true).
4257
4258         * include/bits/sstream.tcc (pbackfail, overflow, seekoff,
4259         seekpos): Use only the documented derivation interface to
4260         basic_streambuf (gptr(), setg(), etc.) to work right with
4261         user specializations.
4262         * include/std/std_sstream.h (str, _M_sync): Likewise.
4263
4264 2003-06-20  Doug Gregor <dgregor@apple.com>
4265
4266         * testsuite/20_util/auto_ptr.cc: Don't dereference NULL auto_ptr
4267         * testsuite/21_strings/basic_string/replace/char/4.cc: Don't
4268         dereference end iterator.
4269         * testsuite/21_strings/basic_string/replace/wchar_t/4.cc: Same.
4270         * testsuite/22_locale/ctype/narrow/char/1.cc: Don't subscript with
4271         index equal to the length of a string.
4272         * testsuite/22_locale/ctype/narrow/char/2.cc: Same.
4273         * testsuite/22_locale/ctype/narrow/wchar_t/1.cc: Same.
4274         * testsuite/22_locale/ctype/narrow/wchar_t/2.cc: Same.
4275         * testsuite/22_locale/ctype/widen/char/1.cc: Same.
4276         * testsuite/22_locale/ctype/widen/wchar_t/1.cc: Same.
4277         * testsuite/23_containers/list_modifiers.cc: Don't dereference
4278         singular reverse iterator.
4279         * testsuite/23_containers/vector_bool.cc: Don't increment singular
4280         iterator.
4281         * testsuite/24_iterators/rel_ops.cc: Don't compare singular iterator.
4282
4283 2003-06-20  Doug Gregor <dgregor@apple.com>
4284
4285         * include/bits/basic_string.h (basic_string::replace): Dispatch
4286         _InputIterator version based on _Is_integer.
4287         * include/bits/basic_string.tcc (basic_string::replace):
4288         Renamed replace(iterator, iterator, size_type, _CharT) to
4289         _M_replace_aux.
4290         * testsuite/21_strings/basic_string/assign/char/1.cc (test01):
4291         Test basic_string::assign(_InputIterator, _InputIterator),
4292         which calls basic_string::replace(iterator, iterator,
4293         _Input_iterator, _InputIterator).
4294
4295 2003-06-20  Benjamin Kosnik  <bkoz@redhat.com>
4296
4297         * testsuite/testsuite_performance.h (resource_counter): Don't use
4298         mallinfo at the moment.
4299
4300 2003-06-20  Matthias Klose  <doko@debian.org>
4301
4302         * configure.host: Set try_cpu to target_cpu for existing
4303         baseline files.
4304
4305 2003-06-19  Andreas Jaeger  <aj@suse.de>
4306
4307         * testsuite/Makefile.am (extract_symvers): Revert accidental
4308         change.
4309         * testsuite/Makefile.in: Regenerate.
4310
4311         * configure.in: Pass MULTISUBDIR to testsuite/Makefile.
4312         * configure: Regenerated.
4313
4314 2003-06-19  Paolo Carlini  <pcarlini@unitus.it>
4315
4316         * include/std/std_sstream.h (_M_sync): Make non virtual.
4317
4318 2003-06-18  Benjamin Kosnik  <bkoz@redhat.com>
4319
4320         * testsuite/testsuite_performance.h (time_counter): New.
4321         (resource_counter): New.
4322         (report_performance): New.
4323         (start_counters): New.
4324         (stop_counters): New.
4325         (clear_counters): New.
4326         * testsuite/performance/allocator.cc: Instrument.
4327         * testsuite/performance/cout_insert_int.cc: Same.
4328         * testsuite/performance/complex_norm.cc: Same.
4329         * testsuite/performance/filebuf_sputc.cc: New.
4330         * testsuite/performance/fstream_seek_write.cc: Same.
4331         * testsuite/performance/ifstream_getline.cc: Same.
4332         * testsuite/performance/map_create_fill.cc: Same.
4333         * testsuite/performance/ofstream_insert_float.cc: Same.
4334         * testsuite/performance/ofstream_insert_int.cc: Same.
4335         * testsuite/performance/string_append.cc: Convert.
4336         * scripts/check_performance: New.
4337         * testsuite/Makefile.am (check-performance): New.
4338         (CLEANFILES): Add.
4339
4340 2003-06-18  Paolo Carlini  <pcarlini@unitus.it>
4341             Benjamin Kosnik  <bkoz@redhat.com>
4342
4343         * include/std/std_sstream.h (setbuf): Check __n >= 0.
4344         * include/bits/fstream.tcc (setbuf): Tweak.
4345
4346 2003-06-18  Paolo Carlini  <pcarlini@unitus.it>
4347
4348         * include/bits/sstream.tcc (seekoff): We can't seek beyond
4349         _M_out_lim, therefore _M_move_out_cur boils down to simply
4350         updating _M_out_cur.
4351         (seekpos): Likewise, clean up.
4352
4353 2003-06-18  Nathan C. Myers  <ncm-nospam@cantrip.org>
4354             Paolo Carlini  <pcarlini@unitus.it>
4355
4356         * include/bits/fstream.tcc (setbuf): Allow (__s, 1) too,
4357         simply equivalent to the unbuffered case (0, 0) as far as
4358         _M_buf_size is concerned.
4359
4360 2003-06-18  Andreas Jaeger  <aj@suse.de>
4361
4362         * testsuite/Makefile.am (new-abi-baseline): Create baseline
4363         directory.
4364         (baseline_file): Use baseline_dir.
4365         (baseline_dir): New.
4366         (mkinstalldirs): New.
4367
4368         * acinclude.m4: Rename baseline_file to baseline_dir, strip
4369         filename from baseline_dir.
4370
4371         * testsuite/Makefile.in: Regenerated.
4372         * Makefile.in: Regenerated.
4373         * aclocal.m4: Regenerated.
4374         * configure: Regenerated.
4375
4376 2003-06-17  Benjamin Kosnik  <bkoz@redhat.com>
4377
4378         * configure.in: Missed check_survey bit.
4379         * configure: Regenerated.
4380
4381 2003-06-17  Benjamin Kosnik  <bkoz@redhat.com>
4382
4383         * scripts: New.
4384         * config/abi/extract_symvers: Move to...
4385         * scripts/extract_symvers: ...here.
4386         * mkcheck.in: Move to..
4387         * scripts/check_survey.in: ...here.
4388         * testsuite_flags.in: Move to..
4389         * scripts/testsuite_flags.in: ...here.
4390         * configure.in: Change check and testsuite_flags locations.
4391         * configure: Regenerate.
4392         * testsuite/Makefile.am (current_symbols.txt): Change location.
4393         * testsuite/Makefile.in: Regenerate.
4394         * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Modify
4395         location of testsuite_flags.
4396         * Makefile.am (check-script): Move..
4397         (check-script-install): Move...
4398         * testsuite/Makefile.am: ... here.
4399         * testsuite/Makefile.in: Regenerate.
4400         * Makefile.in: Regenerate.
4401
4402 2003-06-17  Benjamin Kosnik  <bkoz@redhat.com>
4403
4404         * config/abi/i486-linux-gnu/baseline_symbols.txt: Update to 3.3.0.
4405
4406 2003-06-16  Benjamin Kosnik  <bkoz@redhat.com>
4407
4408         * Makefile.am (check-abi): Move...
4409         (new-abi-baseline): Move...
4410         * testsuite/Makefile.am: ...here.
4411         (new-abi-baseline): Conditionalize.
4412         (check-abi): Conditionalize.
4413         (check-abi-verbose): New.
4414         * Makefile.in: Regenerate.
4415         * testsuite/Makefile.in: Regenerate.
4416         * configure.in: Consolidate testsuite configure bits.
4417         * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Same.
4418         * configure: Regenerate.
4419         * aclocal.m4: Regenerate.
4420         * testsuite/abi_check.cc: Add --check-verbose.
4421         Only output detailed information if --check-verbose.
4422
4423 2003-06-16  Andreas Jaeger  <aj@suse.de>
4424
4425         * testsuite/abi_check.cc: Create summary report.
4426
4427 2003-06-16  Paolo Carlini  <pcarlini@unitus.it>
4428
4429         * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Fix
4430         for systems with BUFSIZ != 8192.
4431         * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Ditto.
4432         * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc:
4433         Minor tweaks.
4434
4435 2003-06-16  Andreas Jaeger  <aj@suse.de>
4436
4437         * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Make
4438         check-abi multilib aware.
4439         * aclocal.m4: Regenerate.
4440         * configure: Regenerate.
4441
4442 2003-06-16  Benjamin Kosnik  <bkoz@redhat.com>
4443             Andreas Jaeger  <aj@suse.de>
4444
4445         * configure.host: Set x86_64 abi_baseline pair correctly.
4446
4447 2003-06-16  Paolo Carlini  <pcarlini@unitus.it>
4448
4449         * testsuite/27_io/basic_filebuf/sungetc/char/1.cc: Split and
4450         fix for missing seeks between gets and puts into...
4451         * testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc: New.
4452         * testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: New.
4453         * testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc: New.
4454         * testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc: New.
4455         * testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: New.
4456         * testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc: New.
4457
4458 2003-06-15  Richard Henderson  <rth@redhat.com>
4459
4460         * config/linker-map.gnu: Export virtual function thunks for
4461         64-bit systems too.
4462
4463 2003-06-13  Benjamin Kosnik  <bkoz@redhat.com>
4464
4465         * config/abi/i686-pc-linux-gnu: To..
4466         * config/abi/i486-linux-gnu: ...this.
4467         * config/abi/alphaev67-unknown-linux-gnu: To..
4468         * config/abi/alpha-linux-gnu: ...this.
4469         * config/abi/ia64-unknown-linux-gnu: To...
4470         * config/abi/ia64-linux-gnu: ...this.
4471         * config/abi/x86_64-unknown-linux-gnu: To...
4472         * config/abi/x86_64-linux-gnu: ...this.
4473         * config/abi/i386-unknown-freebsd4: To...
4474         * config/abi/i386-freebsd4: ...this.
4475         * config/linker-map.gnu: Cleanups, move libsupc++ bits into
4476         CXXABI.
4477         * configure.host: abi_baseline_triplet to abi_baseline_pair.
4478         Simplify cpu bits so that abi_baseline_pair can use the same
4479         cpu configuration.
4480         * acinclude.m4: Same.
4481         * aclocal.m4: Regenerate.
4482         * configure.in: Can't get enable_abi_check to yes unless native.
4483         * configure: Regenerate.
4484
4485 2003-06-13  Paolo Carlini  <pcarlini@unitus.it>
4486
4487         * testsuite/27_io/basic_filebuf/seekoff/char/1.cc: Split and
4488         fix for missing seeks between gets and puts into...
4489         * testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc: New.
4490         * testsuite/27_io/basic_filebuf/seekoff/char/4-io.cc: New.
4491         * testsuite/27_io/basic_filebuf/seekpos/char/1.cc: Same, into...
4492         * testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc: New.
4493         * testsuite/27_io/basic_filebuf/seekpos/char/4-io.cc: New.
4494         * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: Fix
4495         for missing seeks between gets and puts.
4496         * testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: Ditto.
4497         * testsuite/data/seekoff-1.tst: New.
4498         * testsuite/data/seekoff-2.tst: New.
4499         * testsuite/data/seekpos-1.tst: New.
4500         * testsuite/data/seekpos-2.tst: New.
4501
4502 2003-06-13  Nathan C. Myers <ncm-nospam@cantrip.org>
4503
4504         Avoid multi-processor bus contention on increment/decrement-and-
4505         test of the reference count in the empty-string object, by comparing
4506         addresses first, and never touching the reference count of the empty-
4507         string object.
4508         * include/bits/basic_string.h:
4509         (_S_empty_rep_storage): Move into basic_string<>::_Rep for use by its
4510         members.
4511         (_Rep::_S_empty_rep()): New accessor.
4512         (_Rep::_M_length, _Rep::_M_capacity, _Rep::_M_references): Move to
4513         a base class _Rep_base.
4514         (_Rep::_M_dispose, _Rep::_M_refcopy): Check for the empty string.
4515         (basic_string()): Change to use _M_refdata() in place of _M_refcopy(),
4516         since no longer must increment its refcount.
4517         * include/bits/basic_string.tcc:
4518         (_Rep::_M_destroy, _M_leak_hard): Check for the empty string and
4519         return immediately.  The former might be unnecessary.  The latter
4520         prevents begin() and end() from cloning it unnecessarily.
4521         (_S_construct(_InIterator, _InIterator, const _Alloc&,
4522         input_iterator_tag), _S_construct(_InIterator, _InIterator,
4523         const _Alloc&, forward_iterator_tag), _S_construct(size_type, _CharT,
4524         const _Alloc&)): Change to use _M_refdata() in place of _M_refcopy().
4525         (_M_mutate): Check for the empty string and treat it as shared.
4526         This is necessary here because _M_mutate is sometimes called with
4527         all-zero arguments; in all other uses of _M_is_shared, the test comes
4528         out right anyhow.
4529
4530 2003-06-12  Benjamin Kosnik  <bkoz@redhat.com>
4531
4532         * src/allocator-inst.cc: Explicitly instantiate.
4533         * include/ext/pool_allocator.h: Inhibit implicit instantiations.
4534         Tweaks.
4535         * config/linker-map.gnu: Add __pool_alloc bits. Tweaks.
4536
4537 2003-06-11  Benjamin Kosnik  <bkoz@redhat.com>
4538
4539         * acinclude.m4 (GLIBCPP_ENABLE_CSTDIO): Simplify.
4540         * aclocal.m4: Regenerate.
4541         * Makefile.am (SUBDIRS): Remove libio.
4542         * Makefile.in: Regenerate.
4543         * configure.in: Same.
4544         * configure: Regenerate.
4545         * config/io/basic_file_libio.cc: Remove.
4546         * config/io/basic_file_libio.h: Remove.
4547         * config/io/c_io_libio_codecvt.c: Remove.
4548         * config/io/c_io_libio.h: Remove.
4549         * libio/*: Remove.
4550         * src/Makefile.am: Same.
4551         * src/Makefile.in: Regenerate.
4552         * docs/html/configopts.html: Edits.
4553         * docs/html/explanations.html: Edits.
4554
4555 2003-06-11  Benjamin Kosnik  <bkoz@redhat.com>
4556
4557         * include/bits/stl_alloc.h (__debug_alloc): Move out.
4558         (__malloc_alloc): Same.
4559         (__pool_alloc): Same.
4560         (__new_alloc): Same.
4561         Rename to..
4562         * include/bits/allocator.h: ...this.
4563         * include/bits/stl_deque.h: Modify comment.
4564         * include/bits/stl_tree.h: Modify include.
4565         * include/std/std_memory.h: Same.
4566         * include/ext/rope: Same.
4567         * include/ext/slist: Same.
4568         * include/std/std_vector.h: Same.
4569         * include/std/std_stack.h: Same.
4570         * include/std/std_queue.h: Same.
4571         * include/std/std_list.h: Same.
4572         * include/std/std_deque.h: Same.
4573         * include/backward/alloc.h: Same.
4574         * include/ext/debug_allocator.h: New.
4575         * include/ext/malloc_allocator.h: New.
4576         * include/ext/pool_allocator.h: New.
4577         * include/ext/new_allocator.h: New.
4578         * include/bits/pthread_allocimpl.h: Remove.
4579         * include/bits/stl_pthread_alloc.h: Remove.
4580         * include/Makefile.am (ext_headers): Add.
4581         * include/Makefile.in: Regenerate.
4582         * src/stl-inst.cc: Use __gnu_cxx namespace.
4583         * src/stl-inst.cc: Move to...
4584         * src/allocator-inst.cc: Here.
4585         * src/Makefile.am (sources): Update.
4586         * src/Makefile.in: Regenerate.
4587         * config/linker-map.gnu: Remove __pool_alloc bits.
4588         * testsuite/ext/headers.cc: Add.
4589         * testsuite/ext/allocators.cc: Fixup.
4590
4591 2003-06-11  Stefan Olsson  <stefan@snon.net>
4592             Ola Rönnerup  <fnolis@home.se>
4593
4594         * include/Makefile.am (ext_headers): Add.
4595         * include/Makefile.in: Regenerate.
4596         * include/ext/mt_allocator.h: New file.
4597
4598 2003-06-10  Paolo Carlini  <pcarlini@unitus.it>
4599
4600         * include/bits/fstream.tcc (close): Clean up a bit.
4601
4602         * include/bits/streambuf.tcc (sbumpc): Clean up a bit.
4603
4604         * include/std/std_fstream.h (_M_destroy_pback): _M_pback_cur_save
4605         - the saved _M_in_cur, that is - cannot be null.
4606         (sync): Constify a variable.
4607
4608         * include/std/std_streambuf.h: Tweak a comment.
4609         (in_avail): Constify a variable.
4610
4611 2003-06-10  Phil Edwards  <pme@gcc.gnu.org>
4612
4613         * docs/html/17_intro/BUGS:  Update from 2.90.8 snapshot.
4614         * docs/html/17_intro/CHECKLIST:  Bring up to date with respect to
4615         correctness of container::iterator typedefs.  Fix whitespace.
4616         * docs/html/20_util/howto.html, docs/html/ext/howto.html:  Add links
4617         to allocator docs.
4618         * docs/html/documentation.html:  Regenerate.
4619
4620         * include/bits/basic_string.h, include/bits/basic_string.tcc,
4621         include/bits/deque.tcc, include/bits/list.tcc, include/bits/stl_algo.h,
4622         include/bits/stl_algobase.h, include/bits/stl_bvector.h,
4623         include/bits/stl_deque.h, include/bits/stl_iterator_base_funcs.h,
4624         include/bits/stl_list.h, include/bits/stl_uninitialized.h,
4625         include/bits/stl_vector.h, include/bits/vector.tcc,
4626         include/ext/algorithm, include/ext/slist, include/std/std_bitset.h:
4627         Change _Iter names to _Iterator, and __pos to __position.
4628
4629         * include/bits/stl_relops.h, include/bits/stl_numeric.h,
4630         include/bits/stl_multiset.h, include/bits/stl_set.h:
4631         Remove emacs markers.
4632
4633         * include/bits/stl_threads.h (_STL_auto_lock):  Add __unused__.
4634
4635 2003-06-10  Paolo Carlini  <pcarlini@unitus.it>
4636
4637         * include/bits/fstream.tcc (overflow): According to
4638         27.5.2.4.5, overflow() returns not_eof(eof()).
4639         * testsuite/27_io/basic_filebuf/overflow/char/2.cc: New.
4640         * testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc: Ditto.
4641
4642 2003-06-10  Paolo Carlini  <pcarlini@unitus.it>
4643
4644         * include/bits/fstream.tcc (_M_underflow): Check overflow return
4645         value; tweak slightly.
4646
4647 2003-06-09  Paolo Carlini  <pcarlini@unitus.it>
4648
4649         * include/bits/fstream.tcc (_M_underflow): Do not special
4650         case the unbuffered case, which really means simply a one char
4651         get area.
4652         (basic_filebuf): Initialize _M_buf_size.
4653         (setbuf): Unbuffered means _M_buf_size == 1, since only
4654         _M_buf_size - 1 == 0 chars are going to be used for the
4655         put area and 1 for the get area.
4656         * include/std/std_streambuf.h (_M_buf_size): Move to basic_filebuf.
4657         (~basic_streambuf): Tweak.
4658         (basic_streambuf): Do not initialize _M_buf_size.
4659         * include/std/std_fstream.h (_M_buf_size): Add from basic_streambuf.
4660         (~basic_filebuf): Tweak.
4661         (_M_set_buffer): Tweak, considering that _M_buf_size == 1 is the
4662         unbuffered situation (i.e., put area pointers NULL).
4663         * include/bits/streambuf.tcc (sbumpc): Clean up.
4664         * testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Split into...
4665         * testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc: New.
4666         * testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc: New.
4667         * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: New.
4668         * testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc: New.
4669         * testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc: New.
4670         * testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: New.
4671
4672 2003-06-09  Phil Edwards  <pme@gcc.gnu.org>
4673
4674         * acinclude.m4:  Move all AM_CONDITIONAL calls out.
4675         (GLIBCPP_CONFIGURE):  Set defaults for variables used in AM_CONDITIONAL
4676         statements.
4677         * configure.in:  Centralize AM_CONDITIONALs so that they are always
4678         run.  Make use of GLIBCPP_IS_CROSS_COMPILING.
4679         * aclocal.m4, configure:  Regenerated.
4680
4681 2003-06-09  Paolo Carlini  <pcarlini@unitus.it>
4682
4683         * docs/html/ext/howto.html ('LWG Issues'):  Add issue 235.
4684
4685 2003-06-06  Nathan Myers  <ncm-nospam@cantrip.org>
4686
4687         * include/bits/stl_iterator.h
4688         (reverse_iterator::reverse_iterator()): Apply DR235: default
4689         constructor default-initializes data member.  Instantiated on a
4690         pointer type, the member has to end up equal to zero.
4691
4692 2003-06-06  Benjamin Kosnik  <bkoz@redhat.com>
4693
4694         * include/bits/stl_alloc.h: Cleanups.
4695         * include/ext/functional: Same.
4696         * include/ext/hash_map: Same.
4697         * include/ext/hash_set: Same.
4698         * include/ext/iterator: Same.
4699         * include/ext/memory: Same.
4700         * include/ext/numeric: Same.
4701         * include/ext/rb_tree: Same.
4702         * include/ext/ropeimpl.h: Same.
4703         * include/ext/slist: Same.
4704         * include/ext/stdio_filebuf.h: Same.
4705         * include/ext/stdio_sync_filebuf.h: Same.
4706         * include/ext/stl_rope.h: Move to...
4707         * include/ext/rope: ...here.
4708         * include/ext/stl_hash_fun.h: Move to...
4709         * include/ext/hash_fun.h: ...here.
4710         * include/ext/stl_hashtable.h: Move to...
4711         * include/ext/hashtable.h: ...here.
4712         * include/backward/hashtable.h: Reflect new names.
4713         * include/Makefile.am: Same.
4714         * include/Makefile.in: Regenerated.
4715
4716 2003-06-05  Benjamin Kosnik  <bkoz@redhat.com>
4717
4718         PR libstdc++/9024
4719         * include/bits/fstream.tcc (_M_underflow): Fix for unbuffered.
4720         * include/bits/stl_algobase.h: Tweak.
4721         * include/std/std_fstream.h: Move _M_buf_size to...
4722         * include/std/std_streambuf.h: ...here. Modify.
4723         * include/bits/streambuf.tcc: Same.
4724         * testsuite/testsuite_hooks.h: Tweak.
4725         * testsuite/testsuite_io.h (constraint_filebuf): New.
4726         * testsuite/27_io/basic_filebuf/sbumpc/char/1.cc: Split into...
4727         * testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: New.
4728         * testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: New.
4729         * testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc: New.
4730         * testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: New.
4731         * testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: New.
4732         * testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc: New.
4733         * testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Split into...
4734         * testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: New.
4735         * testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: New.
4736         * testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc: New.
4737         * testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: New.
4738         * testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: New.
4739         * testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc: New.
4740         * testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Split into...
4741         * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: New.
4742         * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: New.
4743         * testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc: New.
4744         * testsuite/27_io/basic_filebuf/sgetn/char/2.cc: Split into...
4745         * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: New.
4746         * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: New.
4747         * testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc: New.
4748         * testsuite/27_io/basic_filebuf/sgetn/char/3.cc: New.
4749         * testsuite/27_io/basic_filebuf/snextc/char/1.cc: Split into...
4750         * testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: New.
4751         * testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: New.
4752         * testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: New.
4753         * testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: New.
4754         * testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: New.
4755         * testsuite/27_io/basic_filebuf/snextc/char/2-out.cc: New.
4756         * testsuite/27_io/basic_filebuf/sputc/char/1.cc: Split into...
4757         * testsuite/27_io/basic_filebuf/sputc/char/1-in.cc: New.
4758         * testsuite/27_io/basic_filebuf/sputc/char/1-io.cc: New.
4759         * testsuite/27_io/basic_filebuf/sputc/char/1-out.cc: New.
4760         * testsuite/27_io/basic_filebuf/sputc/char/2.cc: Split into...
4761         * testsuite/27_io/basic_filebuf/sputc/char/2-in.cc: New.
4762         * testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: New.
4763         * testsuite/27_io/basic_filebuf/sputc/char/2-out.cc: New.
4764         * testsuite/27_io/basic_filebuf/sputn/char/1.cc: Split into...
4765         * testsuite/27_io/basic_filebuf/sputn/char/1-in.cc: New.
4766         * testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: New.
4767         * testsuite/27_io/basic_filebuf/sputn/char/1-out.cc: New.
4768         * testsuite/27_io/basic_filebuf/sputn/char/2-in.cc: New.
4769         * testsuite/27_io/basic_filebuf/sputn/char/2-io.cc: New.
4770         * testsuite/27_io/basic_filebuf/sputn/char/2-out.cc: New.
4771         * testsuite/data/sgetc.txt: New.
4772         * testsuite/data/sgetn.txt: New.
4773
4774 2003-06-05  Paolo Carlini  <pcarlini@unitus.it>
4775
4776         PR libstdc++/11095
4777         * include/bits/istream.tcc (operator>>(basic_istream&, _CharT*)):
4778         Deal with width() smaller than zero.
4779         * include/bits/ostream.tcc (operator<<(basic_ostream&, _CharT),
4780         operator<<(basic_ostream&, char), operator<<(basic_ostream&, const
4781         _CharT*), operator<<(basic_ostream<_CharT, _Traits>&, const
4782         char*), operator<<(basic_ostream<char, _Traits>&, const char*),
4783         operator<<(basic_ostream, const basic_string&)): Likewise.
4784
4785         * testsuite/27_io/basic_istream/extractors_character/char/
4786         (11095-i.cc, 11095-oa.cc, 11095-ob.cc, 11095-oc.cc): New.
4787         * testsuite/27_io/basic_ostream/inserters_character/char/
4788         (11095-oa.cc, 11095-ob.cc, 11095-oc.cc): New.
4789         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/
4790         (11095-od.cc, 11095-oe.cc, 11095-of.cc): New.
4791
4792 2003-06-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4793
4794         * acinclude.m4 (GLIBCPP_CHECK_PCH): Only set glibcpp_PCHFLAGS if
4795         .gch compilation works.
4796         * aclocal.m4, configure: Regenerate.
4797         * testsuite_flags.in (--build-cxx): Use glibcpp_PCHFLAGS to
4798         initialize PCHFLAGS.
4799
4800 2003-06-04  Paolo Carlini  <pcarlini@unitus.it>
4801
4802         * include/bits/basic_string.h (_M_fold, insert(iterator, _CharT),
4803         erase(iterator), erase(iterator, iterator), c_str,
4804         compare(const basic_string&)): Constify various variables.
4805         * include/bits/basic_string.tcc (_S_construct(_InIter, _InIter,
4806         const _Alloc&, input_iterator_tag), _M_destroy, _M_mutate,
4807         _S_create, resize, _M_replace, _M_replace_safe,
4808         append(const basic_string&), append(const basic_string&, size_type,
4809         size_type), append(const _CharT*, size_type), append(size_type,
4810         _CharT), operator+(const _CharT*, const basic_string&),
4811         operator+(_CharT, const basic_string&), replace(iterator, iterator,
4812         size_type, _CharT), find(const _CharT*, size_type, size_type),
4813         find(_CharT, size_type), rfind(const _CharT*, size_type, size_type),
4814         rfind(_CharT, size_type), compare(size_type, size_type,
4815         const basic_string&), compare(size_type, size_type,
4816         const basic_string&, size_type, size_type), compare(const _CharT*),
4817         compare(size_type, size_type, const _CharT*), compare(size_type,
4818         size_type, const _CharT*, size_type)): Likewise.
4819
4820 2003-06-03  Benjamin Kosnik  <bkoz@redhat.com>
4821
4822         * include/bits/fstream.tcc (pbackfail): Make a rarely taken
4823         'if' branch less obscure.
4824
4825 2003-06-02  Andrew Pinski  <pinskia@physics.uc.edu>
4826
4827         PR libstdc++/9815
4828         * config/cpu/i386/atomicity.h (__exchange_and_add): add intel
4829         asm case to asm.
4830         * config/cpu/i486/atomicity.h (__exchange_and_add): Likewise.
4831         (__atomic_add): likewise.
4832
4833 2003-06-02  Paolo Carlini  <pcarlini@unitus.it>
4834
4835         * include/bits/sstream.tcc (pbackfail): Minor clean up and
4836         reformatting, consistent with basic_filebuf::pbackfail.
4837
4838 2003-06-02  Richard Kreckel  <Richard.Kreckel@GiNaC.DE>
4839
4840         PR libstdc++/11062
4841         * config/cpu/mips/atomicity.h:  Change __attribute__ ((unused)) to
4842         __attribute__ ((__unused__)).
4843         * config/os/aix/atomicity.h:  Likewise.
4844
4845 2003-06-02  Paolo Carlini  <pcarlini@unitus.it>
4846
4847         PR libstdc++/9761
4848         * include/bits/fstream.tcc (pbackfail): If the pback buffer
4849         is already active don't try to store in it a second char.
4850         * testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc: New.
4851
4852         * include/bits/fstream.tcc (pbackfail): Add unbuffered bits.
4853
4854 2003-06-02  Paolo Carlini  <pcarlini@unitus.it>
4855
4856         * testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: Tweak
4857         line spacing.
4858
4859 2003-06-02  Paolo Carlini  <pcarlini@unitus.it>
4860
4861         * include/std/std_fstream.h (_M_destroy_pback): Use _M_in_beg
4862         instead of unnecessarily taking the address of _M_pback.
4863         (xsgetn): Simplify slightly for a single char pback buffer.
4864
4865 2003-06-02  Paolo Carlini  <pcarlini@unitus.it>
4866
4867         * include/bits/sstream.tcc (seekoff): Remove four unnecessary
4868         variables and two 'if', clean up.
4869
4870 2003-06-02  Paolo Carlini  <pcarlini@unitus.it>
4871
4872         * include/bits/sstream.tcc (seekpos): Test against _M_out_lim
4873         not _M_out_end, since the former actually points to the string
4874         end (vs buffer end).
4875         * testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: New.
4876
4877 2003-05-30  Phil Edwards  <pme@gcc.gnu.org>
4878
4879         * docs/doxygen/filter:  New file.
4880         * docs/doxygen/filter.sed:  New file.
4881         * docs/doxygen/run_doxygen:  Add g flag to sed substitutions.  Duh.
4882         * docs/doxygen/user.cfg.in (INPUT_FILTER):  Point to new filter.
4883         * docs/html/documentation.html:  Fix links to doxygen pages.
4884
4885 2003-05-30  Paolo Carlini  <pcarlini@unitus.it>
4886
4887         * include/bits/fstream.tcc (_M_convert_to_external): Don't
4888         check for __ilen > 0.
4889
4890 2003-05-29  Sylvain Pion  <Sylvain.Pion@mpi-sb.mpg.de>
4891
4892         PR libstdc++/10783
4893         * include/bits/stl_iterator.h (class __normal_iterator):
4894         Don't inherit from iterator, add missing typedefs.
4895
4896 2003-05-29  Paolo Carlini <pcarlini@unitus.it>
4897
4898         * testsuite/24_iterators/reverse_iterator.cc: Split up, as follows.
4899         * testsuite/24_iterators/reverse_iterator/1.cc: New.
4900         * testsuite/24_iterators/reverse_iterator/2.cc: New.
4901         * testsuite/24_iterators/reverse_iterator/3.cc: New, from
4902         PR libstdc++/10783.
4903
4904 2003-05-27  Steve Ellcey  <sje@cup.hp.com>
4905
4906         * config/os/hpux/os_defines.h: Define _LIBUNWIND_STD_ABI if we are
4907         on IA64 HP-UX.
4908         * libsupc++/eh_throw.cc: Don't call _Unwind_Resume_or_Rethrow if
4909         _LIBUNWIND_STD_ABI is set.
4910
4911 2003-05-26  Brendan Kehoe  <brendan@zen.org>
4912
4913         * include/bits/locale_facets.tcc (do_get): Honor $22.2.6.3.3/8 and
4914         make sure the number of digits required after the decimal-point
4915         (if any) is exactly the value returned by frac_digits().
4916         * testsuite/22_locale/money_get/get/char/9.cc: New.
4917         * testsuite/22_locale/money_get/get/wchar_t/9.cc: New.
4918
4919 2003-05-27  Jonathan Wakely  <redi@gcc.gnu.org>
4920
4921         * include/std/std_istream.h, include/std/std_ostream.h: Typo in
4922         comment.
4923
4924 2003-05-26  Benjamin Kosnik  <bkoz@redhat.com>
4925
4926         PR libstdc++/9339
4927         * include/std/std_fstream.h (basic_filebuf::_M_overflow): Remove.
4928         (_M_pback): No array necessary.
4929         * include/bits/fstream.tcc (basic_filebuf::_M_overflow): Add
4930         unbuffered case, coalesec into ...
4931         (basic_filebuf::overflow): ...this.
4932         * testsuite/27_io/basic_filebuf/sputn/char/9339.cc: New.
4933         * testsuite/27_io/basic_filebuf/sputc/char/2.cc: Unbuffered.
4934
4935 2003-05-24  Nathanael Nerode  <neroden@gcc.gnu.org>
4936
4937         * libsupc++/Makefile.am, libsupc++/cxxabi.h, libsupc++/del_op.cc,
4938         libsupc++/del_opnt.cc, libsupc++/del_opv.cc, libsupc++/del_opvnt.cc,
4939         libsupc++/eh_alloc.cc, libsupc++/eh_aux_runtime.cc,
4940         libsupc++/eh_catch.cc, libsupc++/eh_exception.cc,
4941         libsupc++/eh_globals.cc, libsupc++/eh_personality.cc,
4942         libsupc++/eh_term_handler.cc, libsupc++/eh_terminate.cc,
4943         libsupc++/eh_throw.cc, libsupc++/eh_type.cc,
4944         libsupc++/eh_unex_handler.cc, libsupc++/exception,
4945         libsupc++/new, libsupc++/new_handler.cc, libsupc++/new_op.cc,
4946         libsupc++/new_opnt.cc, libsupc++/new_opv.cc, libsupc++/new_opvnt.cc,
4947         libsupc++/pure.cc, libsupc++/tinfo.cc, libsupc++/tinfo2.cc,
4948         libsupc++/typeinfo, libsupc++/unwind-cxx.h, libsupc++/vec.cc:
4949         Replace "GNU CC" with "GCC".
4950
4951         * include/backward/new.h: Replace "GNU CC" with "GCC".
4952
4953 2003-05-22  Benjamin Kosnik  <bkoz@redhat.com>
4954
4955         PR libstdc++/3066.
4956         * configure.in: Switch target to host, don't assume newlib.
4957         (target_alias): Remove.
4958         * configure: Regenerate.
4959         * acinclude.m4: Same.
4960         * aclocal.m4: Regenerate.
4961         * configure.target: Same. Rename to...
4962         * configure.host: This.
4963
4964 2003-05-22  Paolo Carlini  <pcarlini@unitus.it>
4965
4966         * include/std/std_fstream.h (_S_pback_size): Remove definition.
4967         (_M_create_pback(), _M_destroy_pback()): Simplify for a single-char
4968         pback buffer.
4969         * include/bits/fstream.tcc (_S_pback_size): Remove declaration.
4970         * testsuite/27_io/basic_filebuf/3.cc: Remove explicit instantiation
4971         of _S_pback_size for systems with no COMDAT or weak support.
4972         * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: Likewise.
4973         * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: Likewise.
4974         * testsuite/27_io/basic_filebuf/underflow/10096.cc: Likewise.
4975         * testsuite/27_io/basic_fstream/3.cc: Likewise.
4976         * testsuite/27_io/basic_ifstream/3.cc: Likewise.
4977         * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: Likewise.
4978         * testsuite/27_io/basic_ofstream/3.cc: Likewise.
4979         * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Likewise.
4980         * testsuite/27_io/basic_streambuf/3.cc: Likewise.
4981
4982 2003-05-22  Paolo Carlini  <pcarlini@unitus.it>
4983
4984         * include/bits/fstream.tcc (_M_underflow): Simplify:
4985         !__testout implies _M_filepos == _M_in_end, therefore
4986         the first _M_file.seekoff call is never issued.
4987
4988 2003-05-22  Benjamin Kosnik  <bkoz@redhat.com>
4989
4990         * configure.in: Sort cross table.
4991         * configure: Regenerate.
4992
4993 2003-05-22  Brad Spencer  <spencer@infointeractive.com>
4994
4995         PR libstdc++/10106
4996         * configure.in: Add Solaris cross bits.
4997
4998 2003-05-21  Danny Smith  <dannysmith@users.sourceforge.net>
4999
5000         * libstdc++-v3/config/os/mingw32/os_defines.h
5001         (__GTHREAD_HIDE_WIN32API): Define to 1 by defualt.
5002         (NOMINMAX): Define.  Update copyright year.
5003
5004 2003-05-21  Paolo Carlini  <pcarlini@unitus.it>
5005
5006         * include/std/std_fstream.h (_M_set_buffer): Fix indentation.
5007
5008 2003-05-21  Jonathan Wakely  <redi@gcc.gnu.org>
5009
5010         * docs/html/faq/index.html: Fix typo.
5011         * docs/html/faq/index.txt: Regenerate.
5012
5013 2003-05-21  Jonathan Wakely  <redi@gcc.gnu.org>
5014
5015         * docs/html/test.html: Fix markup.
5016
5017 2003-05-21  Danny Smith  <dannysmith@users.sourceforge.net>
5018
5019         * libmath/stubs.c (hypot, hypotf, hypotl): Don't divide by
5020         zero.
5021         Update copyright year.
5022
5023 2003-05-20  Paolo Carlini  <pcarlini@unitus.it>
5024
5025         * testsuite/27_io/basic_filebuf/close/char/4.cc: Fix typo.
5026
5027 2003-05-20  Paolo Carlini  <pcarlini@unitus.it>
5028
5029         * testsuite/27_io/basic_filebuf/close/char/5.cc: New file,
5030         further testing that upon filebuf::close() 27.8.1.1,3 is enforced.
5031
5032 2003-05-20  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5033
5034         * include/bits/stl_alloc.h (__default_alloc_template::_S_chunk_alloc):
5035         Cast via void* to avoid -Wcast-align warnings.
5036         (__default_alloc_template::_S_refill): Likewise.
5037
5038 2003-05-20  Benjamin Kosnik  <bkoz@redhat.com>
5039
5040         * testsuite/README: Move to...
5041         * docs/html/test.html: ...here. Add documentation.
5042         * docs/html/install.html: Move testing bits out..
5043         * docs/html/documentation.html: Add separate testing link.
5044         * testsuite/performance: Add.
5045         * testsuite/performance/allocator.cc: New.
5046         * testsuite/performance/complex_norm.cc: New.
5047         * testsuite/performance/cout_insert_int.cc: New.
5048         * testsuite/performance/fstream_seek_write.cc: New.
5049         * testsuite/performance/ifstream_getline.cc: New.
5050         * testsuite/performance/map_create_fill.cc: New.
5051         * testsuite/performance/ofstream_insert_float.cc: New.
5052         * testsuite/performance/ofstream_insert_int.cc: New.
5053         * testsuite/performance/string_append.cc: New.
5054         * testsuite/lib/libstdc++-v3-dg.exp (v3-compute-tests): Filter
5055         performance tests.
5056
5057 2003-05-20  Gabriel Dos Reis <gdr@integrable-solutions.net>
5058
5059         PR libstdc++/10689
5060         * include/std/std_complex.h (pow): Tidy.
5061
5062 2003-05-19  Paolo Carlini  <pcarlini@unitus.it>
5063
5064         * testsuite/27_io/basic_filebuf/close/char/4.cc: New file, testing
5065         that upon filebuf::close() 27.8.1.1,3 is enforced.
5066
5067 2003-05-15  Loren J. Rittle  <ljrittle@acm.org>
5068
5069         * testsuite/thread/pthread4.cc: Further tweak to avoid fini race.
5070
5071 2003-05-15  Paolo Carlini  <pcarlini@unitus.it>
5072             Nathan Myers  <ncm@cantrip.org>
5073
5074         * include/bits/fstream.tcc (_M_overflow): Rewrote to call
5075         _M_convert_to_external only once (_M_buf_size is now the size of
5076         the put area + 1 for the overflow char of a full area); call
5077         _M_set_buffer instead of _M_set_indeterminate.
5078         (setbuf): Don't accept a buffer smaller than 2 chars.
5079         (_M_underflow): Refill _M_buf_size - 1 chars; call _M_set_buffer,
5080         instead of _M_set_determinate.
5081         (open): Call _M_set_buffer, instead of _M_set_indeterminate.
5082         (seekoff): Likewise.
5083         * include/ext/stdio_filebuf.h (stdio_filebuf(int,
5084         std::ios_base::openmode, bool, size_t),
5085         stdio_filebuf(std::__c_file*, std::ios_base::openmode, size_t):
5086         Likewise.
5087         * include/std/std_fstream.h (_M_set_indeterminate): Remove.
5088         (_M_set_determinate): Rename as _M_set_buffer, _M_buf_size ->
5089         _M_buf_size - 1.
5090         * include/std/std_streambuf.h: Tweak _M_out_lim comment.
5091         * testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Tweak, taking
5092         into account that, for _M_buf_size == BUFSIZ == 8192, the size of
5093         the put area is now BUFSIZ - 1.
5094         * testsuite/ext/stdio_filebuf_2.cc: Tweak, taking into account
5095         that now the smallest _M_buf_size is 2 (still fails, for the same
5096         reason, with 3.2.3)
5097
5098 2003-05-14  Loren J. Rittle  <ljrittle@acm.org>
5099
5100         * testsuite/thread/pthread4.cc: Tweak test.
5101
5102 2003-05-13  Benjamin Kosnik  <bkoz@redhat.com>
5103
5104         * testsuite/27_io/ios_base/cons/copy_neg.cc: Remove
5105         excess errors dg marker, use dg-errors instead.
5106         * testsuite/27_io/ios_base/cons/assign_neg.cc: Same.
5107         * testsuite/20_util/auto_ptr_neg.cc: Same.
5108
5109 2003-05-12  Benjamin Kosnik  <bkoz@redhat.com>
5110
5111         * include/std/std_fstream.h (basic_filebuf::_M_codecvt): Add
5112         cached member.
5113         * include/bits/fstream.tcc (basic_filebuf::basic_filebuf):
5114         Initialize _M_codecvt.
5115         (basic_filebuf::imbue): Same.
5116         (basic_filebuf::showmanyc): Use it.
5117         (basic_filebuf::underflow): Use it.
5118         (basic_filebuf::_M_convert_to_external): Use it.
5119         (basic_filebuf::seekoff): Use it.
5120         (basic_filebuf::imbue): Use it, tweaks.
5121         * include/bits/localefwd.h (__check_facet): New.
5122         * include/bits/locale_classes.h: Tweaks.
5123         * include/bits/locale_facets.tcc: Tweaks.
5124         * include/bits/basic_ios.h (basic_ios::_M_check_facet): Remove.
5125         _M_fctype to _M_ctype, _M_fnumput to _M_num_put, _M_fnumget to
5126         _M_num_get. Change _M_check_facet to __check_facet. Tweaks.
5127         * include/bits/basic_ios.tcc: Same.
5128         * include/bits/istream.tcc: Same.
5129         * include/bits/ostream.tcc: Same.
5130         * include/std/std_streambuf.h: Same.
5131         * testsuite/27_io/basic_filebuf/imbue/char/2.cc: New.
5132         * testsuite/27_io/basic_filebuf/imbue/char/3.cc: New.
5133         * testsuite/27_io/basic_filebuf/imbue/wchar_t/1.cc: New.
5134         * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: New.
5135         * testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc: New.
5136         * testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: New.
5137
5138 2003-05-12  Paolo Carlini  <pcarlini@unitus.it>
5139
5140         * testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Remove
5141         unnecessary includes and unused string literals.
5142         * testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Likewise.
5143         * testsuite/27_io/basic_filebuf/sputc/char/1.cc: Likewise.
5144         * testsuite/27_io/basic_filebuf/sputn/char/1.cc: Likewise.
5145         * testsuite/27_io/basic_filebuf/sungetc/char/1.cc: Likewise.
5146
5147 2003-05-12  Benjamin Kosnik  <bkoz@redhat.com>
5148
5149         * include/bits/fstream.tcc (_M_overflow): Remove unbuffered bits.
5150
5151 2003-05-12  Paolo Carlini  <pcarlini@unitus.it>
5152
5153         * include/std/std_fstream.h (_M_convert_to_external): Change
5154         to return bool, take two less streamsize parameters.
5155         * include/bits/fstream.tcc (_M_convert_to_external): Tweak
5156         consistently definition.
5157         (_M_overflow): Adjust call points.
5158
5159 2003-05-12  Benjamin Kosnik  <bkoz@redhat.com>
5160
5161         * testsuite/27_io/basic_filebuf/underflow/10096.cc: Add weak bits.
5162
5163 2003-05-11  Phil Edwards  <pme@gcc.gnu.org>
5164
5165         * testsuite/Makefile.am:  Properly quote /both/ LD_RUN_PATHs.
5166         * testsuite/Makefile.in:  Regenerate.
5167
5168 2003-05-11  Phil Edwards  <pme@gcc.gnu.org>
5169
5170         * testsuite/Makefile.am:  Properly quote LD_RUN_PATH.
5171         * testsuite/Makefile.in:  Regenerate.
5172
5173 2003-05-11  Gabriel Dos Reis <gdr@integrable-solutions.net>
5174
5175         PR libstdc++/3181
5176         * include/c_std/std_cmath.h: #include <bits/cpp_type_traits.h>
5177         (acos): Handle integer argument.
5178         (asin): Likewise.
5179         (atan): Likewise.
5180         (atan2): Likewise.
5181         (ceil): Likewise.
5182         (cos): Likewise.
5183         (cosh): Likewise.
5184         (exp): Likewise.
5185         (fabs): Likewise.
5186         (floor): Likewise.
5187         (frexp): Likewise.
5188         (ldexp): Likewise.
5189         (log): Likewise.
5190         (log10): Likewise.
5191         (sin): Likewise.
5192         (sinh): Likewise.
5193         (sqrt): Likewise.
5194         (tan): Likewise.
5195         (tanh): Likewise.
5196         * include/bits/cpp_type_traits.h (__are_same<>): New traits.
5197         (__enable_if): Likewise.
5198         * testsuite/26_numerics/cmath/overloads.C: New test.
5199
5200 2003-05-10  Petur Runolfsson  <peturr02@ru.is>
5201
5202         PR libstdc++/9027
5203         PR libstdc++/9520
5204         PR libstdc++/10096
5205         * include/bits/fstream.tcc (basic_file::_M_underflow):  Add generic
5206         implementation, based on old wchar_t specialization, add support
5207         for codecvt::in() return value of codecvt_base::noconv, remove
5208         _M_file.sys_ungetc() call.
5209         * include/std/std_fstream.h (basic_file::underflow,
5210         basic_file::uflow, basic_file::_M_underflow):  Remove
5211         specialization declarations, call _M_underflow from generic versions
5212         of underflow and uflow.
5213         * src/fstream.cc (basic_file::underflow, basic_file::uflow,
5214         basic_file::_M_underflow):  Remove specializations.
5215         * src/Makefile.am (sources):  Remove fstream.cc.
5216         * src/Makefile.in:  Regenerated.
5217         * testsuite/27_io/basic_filebuf/underflow/10096.cc:  New test.
5218         * testsuite/27_io/basic_filebuf/underflow/char/1.cc:  New test.
5219         * testsuite/27_io/basic_filebuf/underflow/char/9027.cc:  New test.
5220         * testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc:  New test.
5221
5222 2003-05-10  Benjamin Kosnik  <bkoz@redhat.com>
5223
5224         * include/ext/stdio_filebuf.h (__stdio_filebuf): Remove stack
5225         buffer.
5226         * config/io/basic_file_stdio.h (__basic_file::xsgetn): Remove
5227         unbuffered bits.
5228         (__basic_file::xsputn): Same.
5229         (__basic_file::seekoff): Same.
5230         (__basic_file::seekpos): Same.
5231         (__basic_file::showmanyc): Same.
5232         * config/io/basic_file_stdio.cc: Same.
5233         * include/std/std_fstream.h: Same.
5234         * include/bits/fstream.tcc: Same.
5235         * src/fstream.cc: Same.
5236         * testsuite/27_io/basic_filebuf/sgetn/char/1.cc (test05): Tidy.
5237
5238 2003-05-10  Petur Runolfsson  <peturr02@ru.is>
5239
5240         PR libstdc++/9520
5241         PR libstdc++/9661
5242         PR libstdc++/9662
5243         * include/ext/stdio_sync_filebuf.h:  New file.
5244         (basic_stdiobuf):  New.
5245         * include/Makefile.am (ext_headers): Add ext/stdio_sync_filebuf.h
5246         * include/Makefile.in: Regenerate.
5247         * include/bits/ios_base.h (Init::_S_create_buffers,
5248         Init::_S_destroy_buffers):  Remove declarations.
5249         * src/globals.cc (buf_cout_sync, buf_cin_sync, buf_cerr_sync,
5250         buf_wcout_sync, buf_wcin_sync, buf_wcerr_sync):  Define.
5251         * src/ios.cc (Init::_S_create_buffers,
5252         Init::_S_destroy_buffers):  Remove.
5253         (Init::Init):  Create and use syncronized buffers.
5254         (ios_base::sync_with_stdio):  Destroy syncronized buffers,
5255         create and install unsyncronized buffers.
5256         * testsuite/27_io/objects/char/10.cc:  New test.
5257         * testsuite/27_io/objects/char/9.cc:  New test.
5258         * testsuite/27_io/objects/char/9661-1.cc:  New test.
5259         * testsuite/27_io/objects/char/9661-2_xin.cc:  New test.
5260         * testsuite/27_io/objects/char/9661-2_xin.in:  New.
5261         * testsuite/27_io/objects/wchar_t/1.cc:  New test.
5262         * testsuite/27_io/objects/wchar_t/10.cc:  New test.
5263         * testsuite/27_io/objects/wchar_t/2.cc:  New test.
5264         * testsuite/27_io/objects/wchar_t/2523-1_xin.cc:  New test.
5265         * testsuite/27_io/objects/wchar_t/2523-1_xin.in:  New.
5266         * testsuite/27_io/objects/wchar_t/2523-2_xin.cc:  New test.
5267         * testsuite/27_io/objects/wchar_t/2523-2_xin.in:  New.
5268         * testsuite/27_io/objects/wchar_t/3045.cc:  New test.
5269         * testsuite/27_io/objects/wchar_t/3647.cc:  New test.
5270         * testsuite/27_io/objects/wchar_t/3_xin.cc:  New test.
5271         * testsuite/27_io/objects/wchar_t/3_xin.in:  New.
5272         * testsuite/27_io/objects/wchar_t/4_xin.cc:  New test.
5273         * testsuite/27_io/objects/wchar_t/4_xin.in:  New.
5274         * testsuite/27_io/objects/wchar_t/5.cc:  New test.
5275         * testsuite/27_io/objects/wchar_t/5268.cc:  New test.
5276         * testsuite/27_io/objects/wchar_t/5280_xin.cc:  New test.
5277         * testsuite/27_io/objects/wchar_t/5280_xin.in:  New.
5278         * testsuite/27_io/objects/wchar_t/6.cc:  New test.
5279         * testsuite/27_io/objects/wchar_t/6548_xin.cc:  New test.
5280         * testsuite/27_io/objects/wchar_t/6548_xin.in:  New.
5281         * testsuite/27_io/objects/wchar_t/6648-1_xin.cc:  New test.
5282         * testsuite/27_io/objects/wchar_t/6648-1_xin.in:  New.
5283         * testsuite/27_io/objects/wchar_t/6648-2_xin.cc:  New test.
5284         * testsuite/27_io/objects/wchar_t/6648-2_xin.in:  New.
5285         * testsuite/27_io/objects/wchar_t/7.cc:  New test.
5286         * testsuite/27_io/objects/wchar_t/7744_xin.cc:  New test.
5287         * testsuite/27_io/objects/wchar_t/7744_xin.in:  New.
5288         * testsuite/27_io/objects/wchar_t/8.cc:  New test.
5289         * testsuite/27_io/objects/wchar_t/9_xin.cc:  New test.
5290         * testsuite/27_io/objects/wchar_t/9_xin.in:  New.
5291         * testsuite/27_io/objects/wchar_t/9520.cc:  New test.
5292         * testsuite/27_io/objects/wchar_t/9661-1.cc:  New test.
5293         * testsuite/27_io/objects/wchar_t/9661-2_xin.cc:  New test.
5294         * testsuite/27_io/objects/wchar_t/9661-2_xin.in:  New.
5295         * testsuite/27_io/objects/wchar_t/9662.cc:  New test.
5296         * testsuite/ext/stdiobuf_char.cc:  New test.
5297         * testsuite/ext/stdiobuf_wchar_t.cc:  New test.
5298
5299 2003-05-10  Paolo Carlini  <pcarlini@unitus.it>
5300
5301         * testsuite/27_io/basic_filebuf/close/char/3.cc: Remove
5302         unnecessary includes and unused string literals.
5303         * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
5304
5305 2003-05-08  Paolo Carlini  <pcarlini@unitus.it>
5306
5307         * include/std/std_streambuf.h (setg, setp): Don't touch _M_mode.
5308
5309 2003-05-07  Richard Henderson  <rth@redhat.com>
5310
5311         PR c++/10570
5312         * libsupc++/eh_catch.cc (__cxa_begin_catch): Handle foreign exceptions.
5313         (__cxa_end_catch): Likewise.
5314         * libsupc++/eh_throw.cc (__cxa_rethrow): Likewise.  Use
5315         _Unwind_Resume_or_Rethrow.
5316         * libsupc++/eh_personality.cc (empty_exception_spec): New.
5317         (PERSONALITY_FUNCTION): Don't ignore terminate or catch-all
5318         for _UA_FORCE_UNWIND.  Honor empty filter spec for foreign
5319         exceptions.  Don't push terminate/unexpected to cxa functions.
5320         (__cxa_call_unexpected): Remove foreign exception fixmes.
5321
5322 2003-05-07  Benjamin Kosnik  <bkoz@redhat.com>
5323
5324         * testsuite/27_io/ios_base/cons: New.
5325         * testsuite/27_io/ios_base/cons/assign_neg.cc: New.
5326         * testsuite/27_io/ios_base/cons/copy_neg.cc: New.
5327
5328 2003-05-07  Paolo Carlini  <pcarlini@unitus.it>
5329
5330         * include/std/std_fstream.h (_M_is_indeterminate): Remove.
5331         * src/fstream.cc
5332         (basic_filebuf<char/wchar_t>::_M_underflow): Simplify: either
5333         there is no buffer or __testget == !__testinit.
5334
5335         * src/fstream.cc
5336         (basic_filebuf<char/wchar_t>::_M_underflow): _M_set_determinate()
5337         automatically sets, if appropriate, _M_out_cur == _M_in_cur.
5338
5339         * include/std/std_fstream.h (_M_destroy_pback): Don't set
5340         unnecessarily _M_pback_cur_save and _M_pback_end_save.
5341
5342         * include/std/std_fstream.h (_M_set_determinate): Minor tweak.
5343
5344         * include/std/std_sstream.h (_M_sync): Minor tweak.
5345
5346         * include/bits/fstream.tcc (close): No need to call
5347         _M_destroy_pback, setting _M_pback_init to false suffices
5348         to clean up.
5349
5350 2003-05-06  Benjamin Kosnik  <bkoz@redhat.com>
5351
5352         * include/bits/stl_algo.h: Enums as _S_.
5353         * include/bits/stl_tree.h: Same.
5354         * include/bits/stl_bvector.h: Same.
5355         * include/bits/ios_base.h: Same.
5356         * include/bits/stl_alloc.h: Same.
5357         * include/ext/stl_hashtable.h: Same.
5358         * src/ios.cc: And here.
5359
5360         * include/std/std_sstream.h: Replace _M_really_sync to _M_sync.
5361         * include/bits/sstream.tcc: Same.
5362
5363         * include/bits/basic_ios.h: Correct spacing for '< ctype'.
5364
5365         * include/bits/locale_facets.tcc: Replace __temp to __tmp.
5366
5367         * include/bits/locale_facets.h (__num_base): Remove protected.
5368         Use _S_[io]* names for enumerations.
5369         (_S_format_int): Remove.
5370         * include/bits/locale_facets.tcc: Same.
5371         * src/locale.cc: Same.
5372
5373         * include/std/std_sstream.h (stringbuf::str): Tweak formatting.
5374
5375 2003-05-06  Phil Edwards  <pme@gcc.gnu.org>
5376
5377         * docs/html/faq/index.html (3.10):  Add note about mips atomicity.h.
5378         * docs/html/faq/index.txt:  Regenerated.
5379
5380 2003-05-06  Michael Ritzert <Ritzert@t-online.de>
5381             Matt Kraai <kraai@alumni.cmu.edu>
5382
5383         * include/ext/stl_rope.h (_Rope_RopeRep<>::_M_c_string_lock): Tweak.
5384         And retweak.
5385
5386 2003-05-06  Richard Sandiford  <rsandifo@redhat.com>
5387
5388         * configure.target (mips*): Use the generic atomicity.h by default.
5389
5390 2003-05-05  Loren J. Rittle  <ljrittle@acm.org>
5391             (Inspired by an alternate patch from Danny Smith.)
5392
5393         * include/bits/stl_threads.h (_Atomic_swap): Kill it...
5394         (_Swap_lock_struct<>): ...and the horse it rode in on.
5395         * src/globals.cc (_Swap_lock_struct<>): Likewise.
5396         * include/ext/stl_rope.h (_Rope_RopeRep<>::_M_c_string_lock): New
5397         member to support...
5398         * include/ext/ropeimpl.h (rope<>::c_str): Follow *all* memory
5399         visibility rules related to POSIX threads.
5400         * testsuite/thread/pthread7-rope.cc: New test.
5401
5402 2003-05-04  Paolo Carlini  <pcarlini@unitus.it>
5403
5404         * testsuite/21_strings/basic_string/find/char/3.cc: New
5405         file, testing basic_string<char>::find_first_not_of.
5406         * testsuite/21_strings/basic_string/find/wchar_t/3.cc:
5407         Likewise for basic_string<wchar_t>.
5408
5409 2003-05-03  Loren J. Rittle  <ljrittle@acm.org>
5410
5411         * testsuite/thread/pthread1.cc: Remove special case for FreeBSD.
5412
5413 2003-05-02  Benjamin Kosnik  <bkoz@redhat.com>
5414
5415         * include/Makefile.am (CLEANFILES): Remove PCH files in target
5416         directory.
5417         * include/Makefile.in: Regenerate.
5418
5419 2003-05-02  Paolo Carlini  <pcarlini@unitus.it>
5420
5421         * include/std/std_sstream.h (str()): Tidy.
5422
5423 2003-05-02  Nathan Myers  <ncm@cantrip.org>
5424             Paolo Carlini  <pcarlini@unitus.it>
5425
5426         * include/bits/streambuf.tcc (__copy_streambufs): Rewrote.
5427
5428 2003-05-02  Jonathan Wakely  <redi@gcc.gnu.org>
5429
5430         * include/bits/basic_string.h (swap): Remove redundant template
5431         parameters from declaration of non-template member function.
5432
5433 2003-05-01  Phil Edwards  <pme@gcc.gnu.org>
5434
5435         * acconfig.h (_GLIBCPP_USE_NLS):  New symbol.
5436         * configure.in:  Move libintl.h header test...
5437         * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE):  ...to here.  Gather all
5438         the NLS-related test results into one symbol.
5439         * src/functexcept.cc:  Use it here.
5440         * aclocal.m4, config.h.in, configure:  Regenerated.
5441
5442 2003-05-01  Paolo Carlini  <pcarlini@unitus.it>
5443
5444         * include/bits/sstream.tcc (overflow): Instead of calling
5445         str(), then _M_string.reserve, thus copying the contents
5446         of the current buffer two times, just copy the latter in
5447         a temporary, then use the 'swap trick'.
5448
5449 2003-05-01  Paolo Carlini  <pcarlini@unitus.it>
5450
5451         * include/std/std_sstream.h (str()): Revert the best of the
5452         previous 'improvement', incorrect due to the COW nature of
5453         v3 basic_string; simplify.
5454
5455 2003-05-01  Paolo Carlini  <pcarlini@unitus.it>
5456
5457         * include/bits/streambuf.tcc (__copy_streambufs): Adjust the
5458         type of __avail to ptrdiff_t to avoid signed-unsigned warning.
5459
5460 2003-05-01  Benjamin Kosnik  <bkoz@redhat.com>
5461
5462         * testsuite/abi_check.cc (check_version): Update known versions.
5463         Check added symbols for version_name != base version. Add missing
5464         symbols to incompatible list.
5465
5466 2003-05-01  Benjamin Kosnik  <bkoz@redhat.com>
5467
5468         * acinclude.m4 (GLIBCPP_EXPORT_FLAGS): Remove -Winline.
5469         * aclocal.m4: Regenerated.
5470         * configure: Regenerated.
5471
5472 2003-05-01  Paolo Carlini  <pcarlini@unitus.it>
5473
5474         * include/bits/streambuf.tcc (basic_streambuf::xsgetn):
5475         Const-ify some variables.
5476         (basic_streambuf::xsputn): Likewise; change the type of some
5477         variables to size_t.
5478         (__copy_streambufs): Change some variables to size_t.
5479
5480 2003-05-01  Paolo Carlini  <pcarlini@unitus.it>
5481
5482         * include/std/std_sstream.h (str()): Avoid constructing
5483         a basic_string temporary not only when it would turn out
5484         to be zero-sized but also when identical to the current
5485         _M_string buffer.
5486
5487 2003-05-01  Paolo Carlini  <pcarlini@unitus.it>
5488
5489         * include/ext/stdio_filebuf.h
5490         (stdio_filebuf(int, std::ios_base::openmode, bool, size_t),
5491         stdio_filebuf(std::__c_file*, std::ios_base::openmode, size_t)):
5492         Shorten a bit (-10 lines) by factoring out some code.
5493
5494 2003-04-30  Phil Edwards  <pme@gcc.gnu.org>
5495
5496         * acinclude.m4:  Add bit missing from previous patch.
5497         * aclocal.m4, configure:  Regenerated.
5498
5499 2003-04-29  Phil Edwards  <pme@gcc.gnu.org>
5500
5501         * docs/doxygen/mainpage.html:  Bring up to date.
5502         * docs/doxygen/run_doxygen:  Cosmetic tweaks.  Work around a bug
5503         in Doxygen.
5504         * docs/doxygen/user.cfg.in:  Scanning the precompiled headers
5505         breaks everything.  Don't scan them.
5506         * docs/html/documentation.html:  Point to "Write after approval"
5507         notes.
5508
5509 2003-04-29  Phil Edwards  <pme@gcc.gnu.org>
5510
5511         * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE):  Search for gettext outside
5512         of libc if message translations are being used.  Fix info text in
5513         xieee_1003.1-2001 case.
5514         * aclocal.m4, configure:  Regenerate.
5515
5516 2003-04-29 Joel Sherrill  <joel.sherrill@OARcorp.com>
5517            Loren J. Rittle <ljrittle@acm.org>
5518            Martin v. Löwis  <martin@v.loewis.de>
5519
5520         * config/cpu/i386/atomicity.h: New file.
5521
5522 2003-04-29  Paolo Carlini  <pcarlini@unitus.it>
5523
5524         * include/bits/fstream.tcc (open): Change to single return.
5525
5526 2003-04-29  Paolo Carlini  <pcarlini@unitus.it>
5527
5528         * include/std/std_sstream.h (underflow): Change to single return.
5529
5530 2003-04-28  Paolo Carlini  <pcarlini@unitus.it>
5531
5532         * include/std/std_streambuf.h (_M_buf): is currently
5533         used only for basic_filebuf, therefore move it there.
5534         (basic_streambuf(), ~basic_streambuf()): Adjust.
5535         * include/std/std_fstream.h (_M_buf): Moved here.
5536         * include/std/std_sstream.h (setbuf): Don't set _M_buf,
5537         is actually redundant for basic_stringbuf.
5538         (_M_really_sync): Likewise.
5539         * include/bits/fstream.tcc (basic_filebuf()): Adjust.
5540         * include/bits/sstream.tcc (seekoff): Adjust.
5541
5542 2003-04-28  Benjamin Kosnik  <bkoz@redhat.com>
5543
5544         * src/localename.cc: Standardize exception strings.
5545         * src/locale.cc: Same.
5546         * src/ios.cc: Same.
5547         * include/bits/basic_string.tcc: Same.
5548         * include/bits/basic_ios.tcc: Same.
5549         * include/std/std_bitset.h: Same.
5550         * include/ext/ropeimpl.h: Same.
5551         * include/bits/stl_vector.h: Same.
5552         * include/bits/stl_deque.h: Same.
5553         * include/bits/stl_bvector.h: Same.
5554         * config/locale/generic/c_locale.cc: Same.
5555         * config/locale/gnu/c_locale.cc: Same.
5556         * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Same.
5557
5558         * testsuite/testsuite_hooks.cc (__gnu_cxx_test): Modify.
5559
5560 2003-04-28  Paolo Carlini  <pcarlini@unitus.it>
5561
5562         * include/std/std_streambuf.h (_M_buf_size): is currently
5563         used only for basic_filebuf, therefore move it there.
5564         (basic_streambuf(), ~basic_streambuf()): Adjust.
5565         * include/std/std_fstream.h (_M_buf_size): Moved here.
5566         * include/bits/fstream.tcc (basic_filebuf()): Adjust.
5567
5568 2003-04-28  Paolo Carlini  <pcarlini@unitus.it>
5569
5570         * include/bits/streambuf.tcc (__copy_streambufs): Don't use
5571         _M_buf_size (synced input is now correctly dealt with
5572         elsewhere); when the output buffer is full don't fall back
5573         to a snextc-sputc loop, call overflow instead.
5574
5575 2003-04-28  Paolo Carlini  <pcarlini@unitus.it>
5576
5577         * include/bits/sstream.tcc (pbackfail): Shorten a bit (6 lines)
5578         the innermost 'if' by factoring out some code.
5579
5580 2003-04-28  Phil Edwards  <pme@gcc.gnu.org>
5581
5582         * configure.in:  Test for libintl.h.
5583         * include/bits/c++config:  Define __N for everybody.
5584         * include/bits/basic_string.h, include/bits/stl_bvector.h,
5585         include/bits/stl_deque.h, include/bits/stl_vector.h,
5586         include/std/std_bitset.h:  Wrap all __throw* text with __N.
5587         * po/Makefile.am (pot):  New rule, mostly working.
5588         * src/functexcept.cc:  Call gettext on all __throw* arguments when
5589         -fexceptions is in effect.
5590         * po/Makefile.in, config.h.in, configure:  Regenerate.
5591
5592 2003-04-28  Petur Runolfsson  <peturr02@ru.is>
5593
5594         PR libstdc++/9523
5595         * include/bits/ios_base.h (Init::_S_ios_create,
5596         Init::_S_ios_destroy):  Remove declarations.
5597         (Init::_S_create_buffers,
5598         Init::_S_destroy_buffers):  Declare
5599         * src/ios.cc (Init::_S_ios_create):  Remove
5600         (Init::_S_create_buffers):  Create buffers and add to streams.
5601         (Init::_S_ios_destroy):  Rename to...
5602         (Init::_S_destroy_buffers):  this.
5603         (Init::Init):  Only construct streams once.
5604         (Init::~Init):  Flush streams, don't destroy them.
5605         (ios_base::sync_with_stdio):  Don't destroy streams, only buffers.
5606         * testsuite/27_io/ios_base/sync_with_stdio/9523.cc:  New test.
5607         * testsuite/27_io/objects/char/5.cc:  New test.
5608         * testsuite/27_io/objects/char/5268.cc:  Avoid undefined behavior.
5609         * testsuite/27_io/objects/char/6.cc:  New test.
5610         * testsuite/27_io/objects/char/7.cc:  New test.
5611
5612 2003-04-28  Benjamin Kosnik  <bkoz@redhat.com>
5613
5614         * testsuite/27_io/objects/char/8.cc:  New test.
5615
5616 2003-04-28  Benjamin Kosnik  <bkoz@redhat.com>
5617
5618         * testsuite/22_locale/codecvt/unicode/char.cc: Remove bom usage.
5619         * testsuite/22_locale/codecvt/unicode/wchar_t.cc: Same.
5620
5621 2003-04-27  Benjamin Kosnik  <bkoz@redhat.com>
5622
5623         * include/std/std_fstream.h (basic_filebuf): _M_pback_destroy to
5624         _M_destroy_pback. _M_pback_create to
5625         _M_create_pback. _M_underflow_common to
5626         _M_underflow. _M_really_overflow to _M_overflow.
5627         * include/bits/fstream.tcc: Same.
5628         * src/fstream.cc: Same.
5629         * include/std/std_streambuf.h (basic_streambuf): _M_in_cur_move to
5630         _M_move_in_cur.  _M_out_cur_move to _M_move_out_cur.
5631         * include/bits/streambuf.tcc: Same.
5632         * include/bits/fstream.tcc: Same.
5633         * include/bits/sstream.tcc: Same.
5634
5635 2003-04-27  Benjamin Kosnik  <bkoz@redhat.com>
5636
5637         * include/bits/locale_classes.h (locale::_Impl): Change _M_names
5638         from fixed size array.
5639         (locale): Change _S_categories as well.
5640         Formatting tweaks.
5641         * include/bits/locale_facets.tcc: Tweak.
5642         * config/locale/gnu/c_locale.cc: Assign _S_categories.
5643         * config/locale/generic/c_locale.cc: Same.
5644         * src/locale.cc: Tweak.
5645         * src/globals.cc: Change facet_name to name_vec, add names_c.
5646         * src/localename.cc: Use them.
5647         (locale::_Impl::~_Impl): Destroy _M_names.
5648         (locale::_Impl::_Impl): Create _M_names.
5649
5650 2003-04-27  Andreas Schwab  <schwab@suse.de>
5651
5652         * config/locale/ieee_1003.1-2001/codecvt_specializations.h
5653         (__enc_traits): Use __ibom and __ebom instead of ignoring them.
5654
5655 2003-04-27  Nathan Myers  <ncm@cantrip.org>
5656
5657         Move some basic_string members out of line because
5658         they are too big to reasonably be inline.
5659         * include/bits/basic_string.h
5660         (assign(const basic_string&, size_type, size_type),
5661         assign(const _CharT*, size_type),
5662         insert(size_type, const basic_string&, size_type, size_type),
5663         insert(size_type, const _CharT*, size_type),
5664         replace(size_type, size_type, const _CharT*, size_type)):
5665         Move from here to...
5666         * include/bits/basic_string.tcc: ...here.
5667
5668 2003-04-26  Paolo Carlini  <pcarlini@unitus.it>
5669
5670         * include/bits/fstream.tcc (pbackfail): Shorten a bit (10 lines)
5671         the innermost 'if' by factoring out some code.
5672
5673 2003-04-26  Paolo Carlini  <pcarlini@unitus.it>
5674
5675         * include/bits/streambuf.tcc (__copy_streambufs): Don't
5676         use in_avail(), simplify.
5677
5678 2003-04-26  Paolo Carlini  <pcarlini@unitus.it>
5679
5680         * include/std/std_sstream.h (setbuf): don't set _M_buf_size,
5681         in basic_stringbuf it's unused.
5682
5683         * include/std/std_sstream.h (underflow): consistently use
5684         _M_in_cur, not gptr().
5685
5686 2003-04-25  Ranjit Mathew  <rmathew@hotmail.com>
5687             Phil Edwards  <pme@gcc.gnu.org>
5688
5689         * testsuite_flags.in: Guard against the possibility
5690         of having "xgcc" as a part of a folder name in the
5691         path to the GCC build folder.
5692         * testsuite/Makefile.am: Likewise.
5693         * testsuite/Makefile.in: Regenerated.
5694
5695 2003-04-25  Benjamin Kosnik  <bkoz@redhat.com>
5696
5697         PR libstdc++/10132
5698         * include/std/std_fstream.h (basic_filebuf::is_open): Add throw()
5699         exception specifications.
5700         (basic_filebuf::close): Same.
5701         (basic_filebuf::_M_pback_destroy): Same.
5702         (basic_filebuf::_M_destroy_internal_buffer): Same.
5703         (basic_filebuf): Remove __res_type typedef.
5704         * src/fstream.cc: Same.
5705         * include/bits/fstream.tcc
5706         (basic_filebuf::_M_convert_to_external): Simplify.
5707         (basic_filebuf::seekoff): Use has_facet before use_facet.
5708         (basic_filebuf::close): Add exception specification of throw().
5709         * testsuite/27_io/basic_filebuf/cons: New.
5710         * testsuite/27_io/basic_filebuf/cons/wchar_t: New.
5711         * testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc: New.
5712         * testsuite/27_io/basic_filebuf/seekoff/10132-2.cc: New.
5713         * testsuite/27_io/basic_filebuf/seekpos/10132-3.cc: New.
5714
5715 2003-04-25  Benjamin Kosnik  <bkoz@redhat.com>
5716
5717         * include/bits/locale_classes.h
5718         (locale::_S_extra_categories_size): Remove.
5719         * src/locale.cc: Remove _S_extra_categories_size.
5720         * src/localename.cc: Same.
5721         * config/locale/gnu/c_locale.cc: Same.
5722         * config/locale/generic/c_locale.cc: Same.
5723
5724 2003-04-24  Richard Sandiford  <rsandifo@redhat.com>
5725
5726         * src/localename.cc (__gnu_cxx::facet_vec): Correct types.
5727
5728 2003-04-24  Phil Edwards  <pme@gcc.gnu.org>
5729
5730         * docs/html/17_intro/howto.html:  Update some links.
5731         * docs/html/18_support/howto.html:  Link doxygen numeric_limits notes.
5732         * docs/html/27_io/howto.html:  Link doxygen stdio_filebuf notes.
5733         * docs/html/ext/howto.html:  Link to demangler notes and API.
5734         * docs/html/faq/index.html:  Remove trailing whitespace.
5735         (1.4, 2.4, 3.8, 4.1):  Bring up to date.
5736         (5.6):  Change to a bulleted list.
5737
5738         * docs/html/faq/index.txt, docs/html/documentation.html,
5739         docs/html/17_intro/porting.html:  Regenerate.
5740
5741 2003-04-23  Paolo Carlini  <pcarlini@unitus.it>
5742
5743         * testsuite/27_io/basic_filebuf/3.cc: _S_pback_size now
5744         belongs to basic_filebuf.
5745         * testsuite/27_io/basic_fstream/3.cc: Likewise.
5746         * testsuite/27_io/basic_ifstream/3.cc: Likewise.
5747         * testsuite/27_io/basic_ios/3.cc: Remove _S_pback_size
5748         instantiation (now belongs to basic_filebuf).
5749         * testsuite/27_io/basic_iostream/3.cc: Likewise.
5750         * testsuite/27_io/basic_istream/3.cc: Likewise.
5751         * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc:
5752         _S_pback_size now belongs to basic_filebuf.
5753         * testsuite/27_io/basic_istringstream/3.cc: Remove _S_pback_size
5754         instantiation (now belongs to basic_filebuf).
5755         * testsuite/27_io/basic_ofstream/3.cc: _S_pback_size now
5756         belongs to basic_filebuf.
5757         * testsuite/27_io/basic_ostream/3.cc: Remove _S_pback_size
5758         instantiation (now belongs to basic_filebuf).
5759         * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc:
5760         _S_pback_size now belongs to basic_filebuf.
5761         * testsuite/27_io/basic_ostringstream/3.cc: Remove _S_pback_size
5762         instantiation (now belongs to basic_filebuf).
5763         * testsuite/27_io/basic_streambuf/3.cc: _S_pback_size now belongs
5764         to basic_filebuf.
5765         * testsuite/27_io/basic_stringbuf/3.cc: Remove _S_pback_size
5766         instantiation (now belongs to basic_filebuf).
5767         * testsuite/27_io/basic_stringstream/3.cc: Likewise.
5768
5769 2003-04-23  Benjamin Kosnik  <bkoz@redhat.com>
5770
5771         * configure.in: Move GLIBCPP_CHECK_PCH before native/cross conditions.
5772         * configure: Regenerated.
5773
5774 2003-04-23  Benjamin Kosnik  <bkoz@redhat.com>
5775
5776         * config/locale/generic/c_locale.h (__convert_from_v): Use
5777         attribute unused.
5778
5779 2003-04-23  Phil Edwards  <pme@gcc.gnu.org>
5780
5781         * docs/html/ext/howto.html ('LWG Issues'):  Add issue 60, partial
5782         implementation only.
5783         * include/bits/istream.tcc (putback, unget, sync, tellg, seekg):
5784         Comment and change to comply with DR 60 and the effect on gcount().
5785         * include/std/std_istream.h:  Update comments.
5786         * testsuite/27_io/basic_istream/putback/char/1.cc (test01):  Add
5787         comments about reasons for tests.  Test sync() against gcount().
5788         * testsuite/27_io/basic_istream/seekg/char/2.cc:  New file, test
5789         for effect on gcount().
5790         * testsuite/27_io/basic_istream/tellg/char/2.cc:  New file, test
5791         for effect on gcount().
5792
5793 2003-04-22  Loren J. Rittle  <ljrittle@acm.org>
5794
5795         * testsuite/27_io/basic_filebuf/close/char/9964.cc (test_07):
5796         Adjust timing.
5797
5798 2003-04-22  Paolo Carlini  <pcarlini@unitus.it>
5799
5800         * include/std/std_streambuf.h (_S_pback_size, _M_pback,
5801         _M_pback_cur_save, _M_pback_end_save, _M_pback_init,
5802         _M_pback_create(), _M_pback_destroy()): Move to basic_filebuf.
5803         (basic_streambuf::basic_streambuf()): Adjust.
5804         * include/std/std_fstream.h (_S_pback_size, _M_pback,
5805         _M_pback_cur_save, _M_pback_end_save, _M_pback_init,
5806         _M_pback_create(), _M_pback_destroy()): Moved here
5807         from basic_streambuf.
5808         * include/bits/fstream.tcc (basic_filebuf::basic_filebuf()):
5809         Adjust.
5810         (basic_filebuf::_S_pback_size): Add declaration.
5811         * include/bits/streambuf.tcc (basic_streambuf::_S_pback_size):
5812         Remove declaration.
5813
5814 2003-04-21  Paolo Carlini  <pcarlini@unitus.it>
5815
5816         Consistently use _M_in_beg instead of eback(), _M_in_cur
5817         instead of gptr(), and so on.
5818         * include/bits/fstream.tcc (pbackfail, imbue): Here.
5819         * include/bits/sstream.tcc (pbackfail, seekoff, seekpos): Ditto.
5820         * include/bits/streambuf.tcc (sbumpc, sputbackc,
5821         __copy_streambufs): Ditto.
5822         * include/std/std_streambuf.h (sgetc): Ditto.
5823
5824 2003-04-21  Paolo Carlini  <pcarlini@unitus.it>
5825
5826         * include/bits/sstream.tcc (pbackfail, overflow):
5827         Formatting fixes.
5828
5829 2003-04-21  Paolo Carlini  <pcarlini@unitus.it>
5830
5831         * include/std/std_streambuf.h (uflow()): It's used only by
5832         basic_stringbuf (i.e., basic_filebuf provide its own uflow()),
5833         therefore do not consider the _M_buf_unified == true case.
5834
5835         * include/std/std_streambuf.h (sgetc()): Restore __ret variable.
5836
5837 2003-04-20  Paolo Carlini  <pcarlini@unitus.it>
5838
5839         * docs/html/ext/howto.html ('LWG Issues'):
5840         Add issues 19, 90, 171, 231, 271.
5841
5842 2003-04-20  Paolo Carlini  <pcarlini@unitus.it>
5843
5844         * include/bits/sstream.tcc (pbackfail): Remove redundant
5845         NULL pointer check from test involving _M_in_*.
5846         (overflow, seekoff, seekpos): Const qualify bool variables.
5847         * include/std/std_sstream.h (underflow): Remove redundant
5848         NULL pointer check from test involving _M_in_*.
5849         (_M_really_sync): Const qualify bool variables.
5850         * src/fstream.cc (_M_underflow_common): Remove redundant
5851         NULL pointer check from test involving _M_in_*, const qualify
5852         bool variables.
5853
5854         * include/std/std_streambuf.h (sgetc): Remove redundant
5855         variable.
5856
5857 2003-04-18  Paolo Carlini  <pcarlini@unitus.it>
5858
5859         According to 5.9 para 2 (second bullet) for pointers p, q
5860         pointing to the same type, with  p == 0 and q == 0, (p < q)
5861         is false.
5862         * include/bits/fstream.tcc (close, overflow, _M_really_overflow,
5863         seekoff): Remove redundant NULL pointer checks from tests
5864         involving _M_out_* and _M_in_*, const qualify bool variables.
5865         (showmanyc, pbackfail, _M_convert_to_external, imbue): Const
5866         qualify bool variables.
5867         * include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc, sputc):
5868         Remove redundant NULL pointer checks from tests involving
5869         _M_out_* and _M_in_*, const qualify bool variables.
5870         * include/std/std_fstream.h (sync): Likewise.
5871         (_M_is_indeterminate): Const qualify bool variables.
5872         * include/std/std_streambuf.h (sgetc, uflow): Remove redundant
5873         NULL pointer checks from tests involving _M_out_* and _M_in_*,
5874         const qualify bool variables.
5875         (_M_in_cur_move, _M_out_cur_move, uflow): Const qualify bool
5876         variables.
5877
5878 2003-04-18  Loren J. Rittle  <ljrittle@acm.org>
5879
5880         * include/c_std/std_cmath.h (C99 FP capture): Only undefine said
5881         C99 FP macros, if actually captured.
5882
5883         * docs/html/17_intro/porting.texi (_GLIBCPP_USE_C99_CHECK): New macro.
5884         (_GLIBCPP_USE_C99_DYNAMIC): New macro.
5885         (_GLIBCPP_USE_C99_LONG_LONG_CHECK): New macro.
5886         (_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC): New macro.
5887         * config/os/bsd/freebsd/os_defines.h (_GLIBCPP_USE_C99_CHECK):
5888         New macro.
5889         (_GLIBCPP_USE_C99_DYNAMIC): New macro.
5890         (_GLIBCPP_USE_C99_LONG_LONG_CHECK): New macro.
5891         (_GLIBCPP_USE_C99_LONG_LONG_DYNAMIC): New macro.
5892         * include/c_std/std_cstdlib.h: Use new macros.
5893         * include/c_std/std_cstdio.h: Use new macros.
5894         * include/c_std/std_cwchar.h: Use new macros.
5895
5896 2003-04-17  Benjamin Kosnik  <bkoz@redhat.com>
5897
5898         PR libstdc++/9555
5899         * include/bits/ostream.tcc: Catch all exceptions for formatted
5900         output, instead of std::exception and derivatives.
5901         * include/bits/istream.tcc: Same.
5902         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc:
5903         * testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc:
5904         * testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc:
5905         * testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc:
5906         * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
5907         * testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc:
5908         New.
5909
5910 2003-04-17  Phil Edwards  <pme@gcc.gnu.org>
5911
5912         * include/bits/c++config:  Minor cosmetic tweaks.
5913
5914 2003-04-17  Loren J. Rittle  <ljrittle@acm.org>
5915
5916         * testsuite_flags.in (PCHFLAGS): Find PCH in new home.
5917         * include/Makefile.am (pch_input): Find in ${target_builddir}.
5918         (pch_output): Rename to...
5919         (pch_output_builddir): ..this.  Find in ${target_builddir}.
5920         (pch_source): Tweak.
5921         (pch_build): Key off a built file.
5922         (pch_output rule): Rename to...
5923         (pch_input rule): ...this.  Produce ${pch_output_builddir}
5924         instead of ${pch_output}.
5925         (install-pch rule): Install ${pch_output_builddir}.
5926         * include/Makefile.in: Regenerated.
5927
5928 2003-04-17  Paolo Carlini  <pcarlini@unitus.it>
5929
5930         * include/std/std_streambuf.h (setp): _M_out_lim, being
5931         the end limit of used put area, is set equal to _M_out_beg.
5932
5933 2003-04-16  Benjamin Kosnik  <bkoz@redhat.com>
5934
5935         * acinclude.m4 (GLIBCPP_CHECK_PCH): New.
5936         * aclocal.m4: Regenerated.
5937         * configure.in: Remove old demangler bits.
5938         Call pch checks.
5939         * configure: Regenerate.
5940         * config.h.in: Regenerate.
5941         * include/Makefile.am (allstamps): Now allstamped.
5942         (allcreated): Define this.
5943         (all-local): Use 'em.
5944         Conditionally define pch_build, pch_install based on
5945         GLIBCPP_BUILD_PCH.
5946         (${pch_output}): New rule.
5947         (install-pch): New rule.
5948         (install-headers): New rule.
5949         (install-data-local): Install headers and conditionally pch.
5950         * include/Makefile.in: Regenerate.
5951         * testsuite_flags.in (--build-cxx): Use pch file.
5952
5953 2003-04-16  Jonathan Wakely  <redi@gcc.gnu.org>
5954
5955         * docs/html/ext/sgiexts.html: Fix path to stylesheet.
5956
5957 2003-04-15  Benjamin Kosnik  <bkoz at redhat dot com>
5958             Paolo Carlini  <pcarlini at unitus dot it>
5959
5960         PR libstdc++/9423
5961         * docs/html/27_io/howto.html
5962         ('The buffering is screwing up my program!'): Explain that
5963         opening counts as an I/O operation.
5964
5965 2003-04-15  Andreas Tobler  <a.tobler@schweiz.ch>
5966
5967         * testsuite/thread/pthread1.cc: Enable for darwin test.
5968         * testsuite/thread/pthread2.cc: Same.
5969         * testsuite/thread/pthread3.cc: Same.
5970         * testsuite/thread/pthread4.cc: Same.
5971         * testsuite/thread/pthread5.cc: Same.
5972         * testsuite/thread/pthread6.cc: Same.
5973
5974 2003-04-15  Loren J. Rittle  <ljrittle@acm.org>
5975
5976         libstdc++/7680
5977         * include/c_std/std_cmath.h (__gnu_cx::__c99_binding): New namespace.
5978         Populate it with multiple legal ways to obtain the C99 float
5979         transcendentals.  Use them instead of direct global reference.
5980         (C99 FP capture): Guard usage with _GLIBCPP_USE_C99_FP_MACROS_DYNAMIC.
5981         * docs/html/17_intro/porting.texi
5982         (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK): New macro.
5983         (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): New macro.
5984         (_GLIBCPP_USE_C99_FP_MACROS_DYNAMIC): New macro.
5985         * config/os/bsd/freebsd/os_defines.h
5986         (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK): New macro.
5987         (_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): New macro.
5988         * testsuite/26_numerics/c_math_dynamic.cc: New file.
5989
5990 2003-04-14  Andreas Tobler  <toa@pop.agri.ch>
5991             Benjamin Kosnik  <bkoz@redhat.com>
5992
5993         * config/os/generic/ctype_inline.h: Fix.
5994
5995 2003-04-14  Benjamin Kosnik  <bkoz@redhat.com>
5996
5997         * testsuite/testsuite_hooks.h
5998         (__gnu_cxx_test::run_test_wrapped_generic_locale_exception_catcher):
5999         Change to try_named_locale.
6000         * testsuite/testsuite_hooks.cc (__gnu_cxx_test): Same.
6001
6002         * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Use
6003         try_named_locale.
6004         * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Same.
6005         * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Same.
6006         * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Same.
6007         * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Same.
6008         * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc: Same.
6009         * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Same.
6010         * testsuite/22_locale/codecvt/in/wchar_t/3.cc: Same.
6011         * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Same.
6012         * testsuite/22_locale/codecvt/in/wchar_t/7.cc: Same.
6013         * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Same.
6014         * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Same.
6015         * testsuite/22_locale/codecvt/length/wchar_t/2.cc: Same.
6016         * testsuite/22_locale/codecvt/length/wchar_t/3.cc: Same.
6017         * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Same.
6018         * testsuite/22_locale/codecvt/length/wchar_t/7.cc: Same.
6019         * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Same.
6020         * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Same.
6021         * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Same.
6022         * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Same.
6023         * testsuite/22_locale/codecvt/out/wchar_t/3.cc: Same.
6024         * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Same.
6025         * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Same.
6026         * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Same.
6027         * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Same.
6028         * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Same.
6029         * testsuite/22_locale/collate/compare/char/1.cc: Same.
6030         * testsuite/22_locale/collate/compare/char/2.cc: Same.
6031         * testsuite/22_locale/collate/compare/char/3.cc: Same.
6032         * testsuite/22_locale/collate/compare/wchar_t/1.cc: Same.
6033         * testsuite/22_locale/collate/compare/wchar_t/2.cc: Same.
6034         * testsuite/22_locale/collate/compare/wchar_t/3.cc: Same.
6035         * testsuite/22_locale/collate/hash/char/2.cc: Same.
6036         * testsuite/22_locale/collate/hash/wchar_t/2.cc: Same.
6037         * testsuite/22_locale/collate/transform/char/2.cc: Same.
6038         * testsuite/22_locale/collate/transform/char/3.cc: Same.
6039         * testsuite/22_locale/collate/transform/wchar_t/2.cc: Same.
6040         * testsuite/22_locale/collate/transform/wchar_t/3.cc: Same.
6041         * testsuite/22_locale/collate_byname/1.cc: Same.
6042         * testsuite/22_locale/ctype/is/char/2.cc: Same.
6043         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
6044         * testsuite/22_locale/ctype/narrow/wchar_t/3.cc: Same.
6045         * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Same.
6046         * testsuite/22_locale/ctype/widen/wchar_t/3.cc: Same.
6047         * testsuite/22_locale/facet/2.cc: Same.
6048         * testsuite/22_locale/locale/cons/2.cc: Same.
6049         * testsuite/22_locale/locale/cons/4.cc: Same.
6050         * testsuite/22_locale/locale/cons/5.cc: Same.
6051         * testsuite/22_locale/locale/cons/7.cc: Same.
6052         * testsuite/22_locale/locale/cons/7222-c.cc: Same.
6053         * testsuite/22_locale/locale/cons/7222-env.cc: Same.
6054         * testsuite/22_locale/locale/global_locale_objects/2.cc: Same.
6055         * testsuite/22_locale/messages/members/char/1.cc: Same.
6056         * testsuite/22_locale/messages/members/char/2.cc: Same.
6057         * testsuite/22_locale/messages/members/char/3.cc: Same.
6058         * testsuite/22_locale/messages_byname/1.cc: Same.
6059         * testsuite/22_locale/money_get/get/char/1.cc: Same.
6060         * testsuite/22_locale/money_get/get/char/2.cc: Same.
6061         * testsuite/22_locale/money_get/get/char/3.cc: Same.
6062         * testsuite/22_locale/money_get/get/char/4.cc: Same.
6063         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Same.
6064         * testsuite/22_locale/money_get/get/wchar_t/2.cc: Same.
6065         * testsuite/22_locale/money_get/get/wchar_t/3.cc: Same.
6066         * testsuite/22_locale/money_get/get/wchar_t/4.cc: Same.
6067         * testsuite/22_locale/money_put/put/char/1.cc: Same.
6068         * testsuite/22_locale/money_put/put/char/2.cc: Same.
6069         * testsuite/22_locale/money_put/put/char/3.cc: Same.
6070         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Same.
6071         * testsuite/22_locale/money_put/put/wchar_t/2.cc: Same.
6072         * testsuite/22_locale/money_put/put/wchar_t/3.cc: Same.
6073         * testsuite/22_locale/moneypunct/members/char/2.cc: Same.
6074         * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Same.
6075         * testsuite/22_locale/moneypunct_byname/1.cc: Same.
6076         * testsuite/22_locale/num_get/get/char/1.cc: Same.
6077         * testsuite/22_locale/num_get/get/char/2.cc: Same.
6078         * testsuite/22_locale/num_get/get/char/3.cc: Same.
6079         * testsuite/22_locale/num_get/get/char/5.cc: Same.
6080         * testsuite/22_locale/num_get/get/char/6.cc: Same.
6081         * testsuite/22_locale/num_get/get/wchar_t/1.cc: Same.
6082         * testsuite/22_locale/num_get/get/wchar_t/2.cc: Same.
6083         * testsuite/22_locale/num_get/get/wchar_t/3.cc: Same.
6084         * testsuite/22_locale/num_get/get/wchar_t/5.cc: Same.
6085         * testsuite/22_locale/num_get/get/wchar_t/6.cc: Same.
6086         * testsuite/22_locale/num_put/put/char/1.cc: Same.
6087         * testsuite/22_locale/num_put/put/char/2.cc: Same.
6088         * testsuite/22_locale/num_put/put/char/3.cc: Same.
6089         * testsuite/22_locale/num_put/put/char/5.cc: Same.
6090         * testsuite/22_locale/num_put/put/wchar_t/1.cc: Same.
6091         * testsuite/22_locale/num_put/put/wchar_t/2.cc: Same.
6092         * testsuite/22_locale/num_put/put/wchar_t/3.cc: Same.
6093         * testsuite/22_locale/num_put/put/wchar_t/5.cc: Same.
6094         * testsuite/22_locale/numpunct/members/char/1.cc: Same.
6095         * testsuite/22_locale/numpunct/members/char/2.cc: Same.
6096         * testsuite/22_locale/numpunct/members/wchar_t/1.cc: Same.
6097         * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Same.
6098         * testsuite/22_locale/numpunct_byname/1.cc: Same.
6099         * testsuite/22_locale/numpunct_byname/2.cc: Same.
6100         * testsuite/22_locale/time_get/date_order/char/1.cc: Same.
6101         * testsuite/22_locale/time_get/date_order/wchar_t/1.cc: Same.
6102         * testsuite/22_locale/time_get/get_date/char/1.cc: Same.
6103         * testsuite/22_locale/time_get/get_date/char/2.cc: Same.
6104         * testsuite/22_locale/time_get/get_date/wchar_t/1.cc: Same.
6105         * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Same.
6106         * testsuite/22_locale/time_get/get_monthname/char/1.cc: Same.
6107         * testsuite/22_locale/time_get/get_monthname/char/2.cc: Same.
6108         * testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc: Same.
6109         * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Same.
6110         * testsuite/22_locale/time_get/get_time/char/1.cc: Same.
6111         * testsuite/22_locale/time_get/get_time/char/2.cc: Same.
6112         * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Same.
6113         * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Same.
6114         * testsuite/22_locale/time_get/get_weekday/char/1.cc: Same.
6115         * testsuite/22_locale/time_get/get_weekday/char/2.cc: Same.
6116         * testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc: Same.
6117         * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Same.
6118         * testsuite/22_locale/time_get/get_year/char/1.cc: Same.
6119         * testsuite/22_locale/time_get/get_year/wchar_t/1.cc: Same.
6120         * testsuite/22_locale/time_put/put/char/1.cc: Same.
6121         * testsuite/22_locale/time_put/put/char/2.cc: Same.
6122         * testsuite/22_locale/time_put/put/char/3.cc: Same.
6123         * testsuite/22_locale/time_put/put/char/4.cc: Same.
6124         * testsuite/22_locale/time_put/put/char/5.cc: Same.
6125         * testsuite/22_locale/time_put/put/char/6.cc: Same.
6126         * testsuite/22_locale/time_put/put/char/7.cc: Same.
6127         * testsuite/22_locale/time_put/put/char/8.cc: Same.
6128         * testsuite/22_locale/time_put/put/wchar_t/1.cc: Same.
6129         * testsuite/22_locale/time_put/put/wchar_t/2.cc: Same.
6130         * testsuite/22_locale/time_put/put/wchar_t/3.cc: Same.
6131         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Same.
6132         * testsuite/22_locale/time_put/put/wchar_t/5.cc: Same.
6133         * testsuite/22_locale/time_put/put/wchar_t/6.cc: Same.
6134         * testsuite/22_locale/time_put/put/wchar_t/7.cc: Same.
6135         * testsuite/22_locale/time_put/put/wchar_t/8.cc: Same.
6136         * testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Same.
6137         * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Same.
6138         * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc: Same.
6139         * testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Same.
6140         * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Same.
6141
6142 2003-04-14  Andreas Tobler  <toa@pop.agri.ch>
6143
6144         * configure.target (_cpu_incdir_fullpath): Solaris 2.9 uses
6145         solaris includes, not generic.
6146
6147 2003-04-14  Loren J. Rittle  <ljrittle@acm.org>
6148
6149         * testsuite/26_numerics/c99_classification_macros_c.cc: Add XFAIL.
6150
6151         * include/std/std_bitset.h (_M_do_find_next): Fix -Wall nit.
6152         * include/bits/concept_check.h: Fix multi-line comment.
6153         * testsuite/17_intro/headers.cc (dg-options): Add -Wall -Wsystem-header
6154         when target is *-*-freebsd*.
6155
6156 2003-04-14  Nathan Myers  <ncm@cantrip.org>
6157             Paolo Carlini  <pcarlini@unitus.it>
6158
6159         PR libstdc++/9701 (in_avail())
6160         * include/std/std_streambuf.h (in_avail): Simplify, in_avail
6161         doesn't care if there is anything in some putback cell.
6162         * testsuite/27_io/basic_streambuf/in_avail/char/9701-3.cc: Add.
6163
6164         * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Remove some
6165         unused string literals.
6166
6167 2003-04-14  Paolo Carlini  <pcarlini@unitus.it>
6168
6169         * include/bits/fstream.tcc (basic_filebuf::setbuf): Don't set
6170         _M_out_end, _M_set_indeterminate() does it.
6171
6172 2003-04-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6173
6174         * os/hpux/ctype_inline.h: Replace with gnu-linux version.
6175
6176 2003-04-12  David Edelsohn  <edelsohn@gnu.org>
6177
6178         * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc:
6179         Change basic_streambuf instantiation to "unsigned char".
6180         * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
6181
6182 2003-04-12  Paolo Carlini  <pcarlini@unitus.it>
6183
6184         Remove _M_buf_size_opt, use directly _M_buf_size instead.
6185         * include/bits/fstream.tcc
6186         (basic_filebuf::_M_allocate_internal_buffer, setbuf): Remove
6187         references to _M_buf_size_opt.
6188         * include/bits/sstream.tcc (basic_stringbuf::overflow): Likewise.
6189         * include/bits/streambuf.tcc (__copy_streambufs): Likewise, rename
6190         __bufsize to __in_avail and __size_opt to __buf_size.
6191         * include/ext/stdio_filebuf.h (stdio_filebuf::stdio_filebuf): Likewise.
6192         * include/std/std_sstream.h (_M_stringbuf_init, setbuf): Likewise.
6193         * include/std/std_streambuf.h (~basic_streambuf(),
6194         basic_streambuf()): Likewise, remove _M_buf_size_opt member.
6195         * testsuite/27_io/basic_filebuf/close/char/3.cc: Set _M_buf_size.
6196         * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
6197         * testsuite/27_io/basic_filebuf/sbumpc/char/1.cc: Likewise.
6198         * testsuite/27_io/basic_filebuf/seekoff/char/1.cc: Likewise.
6199         * testsuite/27_io/basic_filebuf/seekpos/char/1.cc: Likewise.
6200         * testsuite/27_io/basic_filebuf/sgetc/char/1.cc: Likewise.
6201         * testsuite/27_io/basic_filebuf/sgetn/char/1.cc: Likewise.
6202         * testsuite/27_io/basic_filebuf/snextc/char/1.cc: Likewise.
6203         * testsuite/27_io/basic_filebuf/sputbackc/char/1.cc: Likewise.
6204         * testsuite/27_io/basic_filebuf/sputc/char/1.cc: Likewise.
6205         * testsuite/27_io/basic_filebuf/sputn/char/1.cc: Likewise.
6206         * testsuite/27_io/basic_filebuf/sungetc/char/1.cc: Likewise.
6207
6208 2003-04-12  Paolo Carlini  <pcarlini at unitus dot it>
6209
6210         * include/ext/stdio_filebuf.h
6211         (stdio_filebuf::stdio_filebuf(int, openmode, bool, size_t),
6212         stdio_filebuf::stdio_filebuf(__c_file*, openmode, size_t):
6213         _M_buf_size_opt == 0 only means "not to use an allocated buffer"
6214         since a stack-based buffer is used for small values of the size_t
6215         parameter.
6216         * include/bits/fstream.tcc (basic_filebuf::_M_really_overflow).
6217         If _M_buf_size != 0 flush out the buffer (any kind, stack-based too).
6218         * testsuite/ext/stdio_filebuf_2.cc: New testfile.
6219
6220 2003-04-12  Paolo Carlini  <pcarlini@unitus.it>
6221
6222         PR libstdc++/9533
6223         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: New.
6224         * testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc: Ditto.
6225
6226 2003-04-11  Benjamin Kosnik  <bkoz@redhat.com>
6227
6228         * testsuite/22_locale/locale/cons/3.cc: Split.
6229         * testsuite/22_locale/locale/cons/7222-c.cc: New.
6230         * testsuite/22_locale/locale/cons/7222-env.cc: New.
6231         Check before trying to create a locale from the environment.
6232         * testsuite/27_io/ios_base/state/1.cc (test02): Use "C" locale.
6233         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
6234         Adjust includes.
6235
6236 2003-04-11  Benjamin Kosnik  <bkoz@redhat.com>
6237
6238         * testsuite/22_locale/ctype/is/char/3.cc (test03): Use the classic
6239         locale to construct this hybrid locale, not the global locale.
6240
6241 2003-04-11  Benjamin Kosnik  <bkoz@redhat.com>
6242
6243         * testsuite/27_io/basic_istream/sentry/char/3983-fstream.cc: Add
6244         instantiation for AIX.
6245         * testsuite/27_io/basic_ostream/sentry/char/3983-fstream.cc: Same.
6246         * testsuite/25_algorithms/min_max.cc: Same.
6247
6248 2003-04-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6249
6250         * basic_file_stdio.cc (__basic_file<char>::close): Don't flush stream
6251         twice.  Always set _M_cfile to 0 when stream was open.
6252
6253 2003-04-09  Benjamin Kosnik  <bkoz@redhat.com>
6254
6255         Reshuffle 27_io testsuite.
6256         * testsuite/27_io/filebuf.cc,
6257         filebuf_members-1.tst, filebuf_members-1.txt, filebuf_members.cc,
6258         filebuf_virtuals-1.tst, filebuf_virtuals-1.txt,
6259         filebuf_virtuals-2.tst, filebuf_virtuals-3.tst,
6260         filebuf_virtuals.cc, fpos.cc, fstream.cc, fstream_members.cc,
6261         ifstream.cc, ifstream_members-1.tst, ifstream_members-1.txt,
6262         ifstream_members.cc, instantiations.cc, ios.cc,
6263         ios_base_callbacks.cc, ios_base_members_static-1.tst,
6264         ios_base_members_static.cc, ios_base_storage.cc,
6265         ios_base_types.cc, ios_ctor.cc, ios_init.cc,
6266         ios_manip_basefield.cc, ios_manip_fmtflags.cc, ios_members.cc,
6267         iostream.cc, iostream_members.cc, istream.cc,
6268         istream_exception.cc, istream_extractor_char.cc,
6269         istream_extractor_other-1.tst, istream_extractor_other-1.txt,
6270         istream_extractor_other-2.tst, istream_extractor_other.cc,
6271         istream_manip.cc, istream_seeks-1.tst, istream_seeks-1.txt,
6272         istream_seeks-2.tst, istream_seeks-3.tst, istream_seeks.cc,
6273         istream_sentry.cc, istream_unformatted-1.tst,
6274         istream_unformatted-1.txt, istream_unformatted.cc,
6275         istringstream.cc, istringstream_members.cc,
6276         narrow_stream_objects.cc, ofstream.cc, ofstream_members-1.tst,
6277         ofstream_members.cc, ostream.cc, ostream_exception.cc,
6278         ostream_fail.cc, ostream_inserter_arith.cc,
6279         ostream_inserter_char-1.tst, ostream_inserter_char-1.txt,
6280         ostream_inserter_char.cc, ostream_inserter_other-1.tst,
6281         ostream_inserter_other-2.tst, ostream_inserter_other.cc,
6282         ostream_manip.cc, ostream_seeks-1.tst, ostream_seeks.cc,
6283         ostream_sentry.cc, ostream_unformatted.cc, ostringstream.cc,
6284         ostringstream_members.cc, standard_manipulators.cc, streambuf.cc,
6285         streambuf_members.cc, stringbuf.cc, stringbuf_members.cc,
6286         stringbuf_virtuals.cc, stringstream.cc, stringstream_members.cc,
6287         wide_stream_objects.cc, istream_extractor_arith/01.cc,
6288         istream_extractor_arith/02.cc, istream_extractor_arith/03.cc,
6289         istream_extractor_arith/06.cc, istream_extractor_arith/07.cc,
6290         istream_extractor_arith/08.cc, istream_extractor_arith/09.cc,
6291         istream_extractor_arith/10.cc, istream_extractor_arith/11.cc,
6292         istream_extractor_arith/12.cc, istream_extractor_arith/13.cc:
6293         Split into...
6294         * 27_io/basic_filebuf/1.cc: New.
6295         * 27_io/basic_filebuf/2.cc: New.
6296         * 27_io/basic_filebuf/3.cc: New.
6297         * 27_io/basic_filebuf/4.cc: New.
6298         * 27_io/basic_filebuf/close/char/1.cc: New.
6299         * 27_io/basic_filebuf/close/char/2.cc: New.
6300         * 27_io/basic_filebuf/close/char/3.cc: New.
6301         * 27_io/basic_filebuf/close/char/4879.cc: New.
6302         * 27_io/basic_filebuf/close/char/9964.cc: New.
6303         * 27_io/basic_filebuf/imbue/char/1.cc: New.
6304         * 27_io/basic_filebuf/imbue/char/9322.cc: New.
6305         * 27_io/basic_filebuf/in_avail/char/1.cc: New.
6306         * 27_io/basic_filebuf/is_open/char/1.cc: New.
6307         * 27_io/basic_filebuf/open/char/1.cc: New.
6308         * 27_io/basic_filebuf/open/char/2.cc: New.
6309         * 27_io/basic_filebuf/open/char/3.cc: New.
6310         * 27_io/basic_filebuf/open/char/9507.cc: New.
6311         * 27_io/basic_filebuf/overflow/char/1.cc: New.
6312         * 27_io/basic_filebuf/overflow/char/3599.cc: New.
6313         * 27_io/basic_filebuf/overflow/char/9169.cc: New.
6314         * 27_io/basic_filebuf/overflow/char/9182-2.cc: New.
6315         * 27_io/basic_filebuf/overflow/char/9988.cc: New.
6316         * 27_io/basic_filebuf/sbumpc/char/1.cc: New.
6317         * 27_io/basic_filebuf/sbumpc/char/9825.cc: New.
6318         * 27_io/basic_filebuf/seekoff/char/1.cc: New.
6319         * 27_io/basic_filebuf/seekoff/char/2.cc: New.
6320         * 27_io/basic_filebuf/seekpos/char/1.cc: New.
6321         * 27_io/basic_filebuf/seekpos/char/2.cc: New.
6322         * 27_io/basic_filebuf/setbuf/char/1.cc: New.
6323         * 27_io/basic_filebuf/setbuf/char/2.cc: New.
6324         * 27_io/basic_filebuf/setbuf/char/3.cc: New.
6325         * 27_io/basic_filebuf/sgetc/char/1.cc: New.
6326         * 27_io/basic_filebuf/sgetn/char/1.cc: New.
6327         * 27_io/basic_filebuf/sgetn/char/2.cc: New.
6328         * 27_io/basic_filebuf/snextc/char/1.cc: New.
6329         * 27_io/basic_filebuf/sputbackc/char/1.cc: New.
6330         * 27_io/basic_filebuf/sputbackc/char/9425.cc: New.
6331         * 27_io/basic_filebuf/sputc/char/1.cc: New.
6332         * 27_io/basic_filebuf/sputc/char/1057.cc: New.
6333         * 27_io/basic_filebuf/sputc/char/9701-2.cc: New.
6334         * 27_io/basic_filebuf/sputn/char/1.cc: New.
6335         * 27_io/basic_filebuf/sputn/char/1057.cc: New.
6336         * 27_io/basic_filebuf/sputn/char/9701-1.cc: New.
6337         * 27_io/basic_filebuf/sungetc/char/1.cc: New.
6338         * 27_io/basic_filebuf/sync/char/1057.cc: New.
6339         * 27_io/basic_filebuf/sync/char/9182-1.cc: New.
6340         * 27_io/basic_filebuf/underflow/char/10097.cc: New.
6341         * 27_io/basic_fstream/1.cc: New.
6342         * 27_io/basic_fstream/2.cc: New.
6343         * 27_io/basic_fstream/3.cc: New.
6344         * 27_io/basic_fstream/4.cc: New.
6345         * 27_io/basic_fstream/rdbuf/char/2832.cc: New.
6346         * 27_io/basic_ifstream/1.cc: New.
6347         * 27_io/basic_ifstream/2.cc: New.
6348         * 27_io/basic_ifstream/3.cc: New.
6349         * 27_io/basic_ifstream/4.cc: New.
6350         * 27_io/basic_ifstream/cons/char/1.cc: New.
6351         * 27_io/basic_ifstream/open/char/1.cc: New.
6352         * 27_io/basic_ifstream/rdbuf/char/2832.cc: New.
6353         * 27_io/basic_ios/1.cc: New.
6354         * 27_io/basic_ios/2.cc: New.
6355         * 27_io/basic_ios/3.cc: New.
6356         * 27_io/basic_ios/4.cc: New.
6357         * 27_io/basic_ios/clear/char/1.cc: New.
6358         * 27_io/basic_ios/cons/char/1.cc: New.
6359         * 27_io/basic_ios/cons/char/2.cc: New.
6360         * 27_io/basic_ios/cons/char/3.cc: New.
6361         * 27_io/basic_ios/copyfmt/char/1.cc: New.
6362         * 27_io/basic_ios/copyfmt/char/2.cc: New.
6363         * 27_io/basic_ios/exceptions/char/1.cc: New.
6364         * 27_io/basic_ios/locales/char/1.cc: New.
6365         * 27_io/basic_iostream/1.cc: New.
6366         * 27_io/basic_iostream/2.cc: New.
6367         * 27_io/basic_iostream/3.cc: New.
6368         * 27_io/basic_iostream/4.cc: New.
6369         * 27_io/basic_istream/1.cc: New.
6370         * 27_io/basic_istream/2.cc: New.
6371         * 27_io/basic_istream/3.cc: New.
6372         * 27_io/basic_istream/4.cc: New.
6373         * 27_io/basic_istream/exceptions/char/9561.cc: New.
6374         * 27_io/basic_istream/extractors_arithmetic/char/01.cc: New.
6375         * 27_io/basic_istream/extractors_arithmetic/char/02.cc: New.
6376         * 27_io/basic_istream/extractors_arithmetic/char/03.cc: New.
6377         * 27_io/basic_istream/extractors_arithmetic/char/06.cc: New.
6378         * 27_io/basic_istream/extractors_arithmetic/char/07.cc: New.
6379         * 27_io/basic_istream/extractors_arithmetic/char/08.cc: New.
6380         * 27_io/basic_istream/extractors_arithmetic/char/09.cc: New.
6381         * 27_io/basic_istream/extractors_arithmetic/char/10.cc: New.
6382         * 27_io/basic_istream/extractors_arithmetic/char/11.cc: New.
6383         * 27_io/basic_istream/extractors_arithmetic/char/12.cc: New.
6384         * 27_io/basic_istream/extractors_arithmetic/char/13.cc: New.
6385         * 27_io/basic_istream/extractors_character/char/1.cc: New.
6386         * 27_io/basic_istream/extractors_character/char/2.cc: New.
6387         * 27_io/basic_istream/extractors_character/char/3.cc: New.
6388         * 27_io/basic_istream/extractors_character/char/9826.cc: New.
6389         * 27_io/basic_istream/extractors_other/char/1.cc: New.
6390         * 27_io/basic_istream/extractors_other/char/2.cc: New.
6391         * 27_io/basic_istream/extractors_other/char/3.cc: New.
6392         * 27_io/basic_istream/extractors_other/char/9318-in.cc: New.
6393         * 27_io/basic_istream/extractors_other/char/9424-in.cc: New.
6394         * 27_io/basic_istream/get/char/1.cc: New.
6395         * 27_io/basic_istream/get/char/2.cc: New.
6396         * 27_io/basic_istream/getline/char/1.cc: New.
6397         * 27_io/basic_istream/getline/char/2.cc: New.
6398         * 27_io/basic_istream/getline/char/3.cc: New.
6399         * 27_io/basic_istream/ignore/char/1.cc: New.
6400         * 27_io/basic_istream/ignore/char/6360.cc: New.
6401         * 27_io/basic_istream/ignore/char/7220.cc: New.
6402         * 27_io/basic_istream/peek/char/1.cc: New.
6403         * 27_io/basic_istream/peek/char/6414.cc: New.
6404         * 27_io/basic_istream/putback/char/1.cc: New.
6405         * 27_io/basic_istream/read/char/1.cc: New.
6406         * 27_io/basic_istream/read/char/2.cc: New.
6407         * 27_io/basic_istream/read/char/3.cc: New.
6408         * 27_io/basic_istream/readsome/char/6746-1.cc: New.
6409         * 27_io/basic_istream/readsome/char/6746-2.cc: New.
6410         * 27_io/basic_istream/readsome/char/8258.cc: New.
6411         * 27_io/basic_istream/seekg/char/2346-fstream.cc: New.
6412         * 27_io/basic_istream/seekg/char/2346-sstream.cc: New.
6413         * 27_io/basic_istream/seekg/char/8348-1.cc: New.
6414         * 27_io/basic_istream/seekg/char/8348-2.cc: New.
6415         * 27_io/basic_istream/seekg/char/fstream.cc: New.
6416         * 27_io/basic_istream/seekg/char/sstream.cc: New.
6417         * 27_io/basic_istream/sentry/char/1.cc: New.
6418         * 27_io/basic_istream/sentry/char/2.cc: New.
6419         * 27_io/basic_istream/sentry/char/3.cc: New.
6420         * 27_io/basic_istream/sentry/char/3983-fstream.cc: New.
6421         * 27_io/basic_istream/sentry/char/3983-sstream.cc: New.
6422         * 27_io/basic_istream/tellg/char/1.cc: New.
6423         * 27_io/basic_istream/tellg/char/8348.cc: New.
6424         * 27_io/basic_istream/tellg/char/fstream.cc: New.
6425         * 27_io/basic_istream/tellg/char/sstream.cc: New.
6426         * 27_io/basic_istream/ws/char/1.cc: New.
6427         * 27_io/basic_istringstream/1.cc: New.
6428         * 27_io/basic_istringstream/2.cc: New.
6429         * 27_io/basic_istringstream/3.cc: New.
6430         * 27_io/basic_istringstream/4.cc: New.
6431         * 27_io/basic_istringstream/rdbuf/char/2832.cc: New.
6432         * 27_io/basic_istringstream/str/char/1.cc: New.
6433         * 27_io/basic_ofstream/1.cc: New.
6434         * 27_io/basic_ofstream/2.cc: New.
6435         * 27_io/basic_ofstream/3.cc: New.
6436         * 27_io/basic_ofstream/4.cc: New.
6437         * 27_io/basic_ofstream/cons/char/2.cc: New.
6438         * 27_io/basic_ofstream/open/char/1.cc: New.
6439         * 27_io/basic_ofstream/rdbuf/char/2832.cc: New.
6440         * 27_io/basic_ostream/1.cc: New.
6441         * 27_io/basic_ostream/2.cc: New.
6442         * 27_io/basic_ostream/3.cc: New.
6443         * 27_io/basic_ostream/4.cc: New.
6444         * 27_io/basic_ostream/cons/char/9827.cc: New.
6445         * 27_io/basic_ostream/endl/char/1.cc: New.
6446         * 27_io/basic_ostream/ends/char/1.cc: New.
6447         * 27_io/basic_ostream/ends/char/2.cc: New.
6448         * 27_io/basic_ostream/exceptions/char/9561.cc: New.
6449         * 27_io/basic_ostream/flush/char/1.cc: New.
6450         * 27_io/basic_ostream/inserters_arithmetic/char/1.cc: New.
6451         * 27_io/basic_ostream/inserters_arithmetic/char/2.cc: New.
6452         * 27_io/basic_ostream/inserters_arithmetic/char/3.cc: New.
6453         * 27_io/basic_ostream/inserters_arithmetic/char/4.cc: New.
6454         * 27_io/basic_ostream/inserters_arithmetic/char/4402.cc: New.
6455         * 27_io/basic_ostream/inserters_arithmetic/char/5.cc: New.
6456         * 27_io/basic_ostream/inserters_arithmetic/char/6.cc: New.
6457         * 27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc: New.
6458         * 27_io/basic_ostream/inserters_character/char/1.cc: New.
6459         * 27_io/basic_ostream/inserters_character/char/2.cc: New.
6460         * 27_io/basic_ostream/inserters_character/char/3.cc: New.
6461         * 27_io/basic_ostream/inserters_character/char/4.cc: New.
6462         * 27_io/basic_ostream/inserters_character/char/5.cc: New.
6463         * 27_io/basic_ostream/inserters_character/char/6.cc: New.
6464         * 27_io/basic_ostream/inserters_character/char/8.cc: New.
6465         * 27_io/basic_ostream/inserters_character/wchar_t/7.cc: New.
6466         * 27_io/basic_ostream/inserters_character/wchar_t/8.cc: New.
6467         * 27_io/basic_ostream/inserters_other/char/1.cc: New.
6468         * 27_io/basic_ostream/inserters_other/char/2.cc: New.
6469         * 27_io/basic_ostream/inserters_other/char/3.cc: New.
6470         * 27_io/basic_ostream/inserters_other/char/4.cc: New.
6471         * 27_io/basic_ostream/inserters_other/char/9318-out.cc: New.
6472         * 27_io/basic_ostream/inserters_other/char/9424-out.cc: New.
6473         * 27_io/basic_ostream/sentry/char/1.cc: New.
6474         * 27_io/basic_ostream/sentry/char/2.cc: New.
6475         * 27_io/basic_ostream/sentry/char/3983-fstream.cc: New.
6476         * 27_io/basic_ostream/sentry/char/3983-sstream.cc: New.
6477         * 27_io/basic_ostream/tellp/char/1.cc: New.
6478         * 27_io/basic_ostream/tellp/char/2.cc: New.
6479         * 27_io/basic_ostringstream/1.cc: New.
6480         * 27_io/basic_ostringstream/2.cc: New.
6481         * 27_io/basic_ostringstream/3.cc: New.
6482         * 27_io/basic_ostringstream/4.cc: New.
6483         * 27_io/basic_ostringstream/cons/char/3.cc: New.
6484         * 27_io/basic_ostringstream/rdbuf/char/2832.cc: New.
6485         * 27_io/basic_ostringstream/str/char/1.cc: New.
6486         * 27_io/basic_ostringstream/str/char/2.cc: New.
6487         * 27_io/basic_streambuf/1.cc: New.
6488         * 27_io/basic_streambuf/2.cc: New.
6489         * 27_io/basic_streambuf/3.cc: New.
6490         * 27_io/basic_streambuf/cons/char/1.cc: New.
6491         * 27_io/basic_streambuf/imbue/char/1.cc: New.
6492         * 27_io/basic_streambuf/imbue/char/9322.cc: New.
6493         * 27_io/basic_streambuf/overflow/char/1.cc: New.
6494         * 27_io/basic_streambuf/overflow/char/2.cc: New.
6495         * 27_io/basic_streambuf/overflow/char/3599.cc: New.
6496         * 27_io/basic_streambuf/sgetc/char/1.cc: New.
6497         * 27_io/basic_streambuf/sgetn/char/1.cc: New.
6498         * 27_io/basic_streambuf/sputbackc/char/9538.cc: New.
6499         * 27_io/basic_streambuf/sputc/char/1057.cc: New.
6500         * 27_io/basic_streambuf/sputn/char/1.cc: New.
6501         * 27_io/basic_streambuf/sputn/char/1057.cc: New.
6502         * 27_io/basic_streambuf/sync/char/1057.cc: New.
6503         * 27_io/basic_stringbuf/1.cc: New.
6504         * 27_io/basic_stringbuf/2.cc: New.
6505         * 27_io/basic_stringbuf/3.cc: New.
6506         * 27_io/basic_stringbuf/4.cc: New.
6507         * 27_io/basic_stringbuf/5.cc: New.
6508         * 27_io/basic_stringbuf/imbue/char/1.cc: New.
6509         * 27_io/basic_stringbuf/imbue/char/9322.cc: New.
6510         * 27_io/basic_stringbuf/in_avail/char/1.cc: New.
6511         * 27_io/basic_stringbuf/overflow/char/2.cc: New.
6512         * 27_io/basic_stringbuf/overflow/char/3599.cc: New.
6513         * 27_io/basic_stringbuf/overflow/char/9988.cc: New.
6514         * 27_io/basic_stringbuf/sbumpc/char/1.cc: New.
6515         * 27_io/basic_stringbuf/sbumpc/char/9825.cc: New.
6516         * 27_io/basic_stringbuf/seekoff/char/1.cc: New.
6517         * 27_io/basic_stringbuf/seekoff/char/2.cc: New.
6518         * 27_io/basic_stringbuf/seekpos/char/1.cc: New.
6519         * 27_io/basic_stringbuf/seekpos/char/2.cc: New.
6520         * 27_io/basic_stringbuf/setbuf/char/1.cc: New.
6521         * 27_io/basic_stringbuf/setbuf/char/2.cc: New.
6522         * 27_io/basic_stringbuf/setbuf/char/3.cc: New.
6523         * 27_io/basic_stringbuf/sgetc/char/1.cc: New.
6524         * 27_io/basic_stringbuf/sgetn/char/1.cc: New.
6525         * 27_io/basic_stringbuf/snextc/char/1.cc: New.
6526         * 27_io/basic_stringbuf/sputbackc/char/1.cc: New.
6527         * 27_io/basic_stringbuf/sputbackc/char/9425.cc: New.
6528         * 27_io/basic_stringbuf/sputc/char/1.cc: New.
6529         * 27_io/basic_stringbuf/sputc/char/1057.cc: New.
6530         * 27_io/basic_stringbuf/sputc/char/9404-1.cc: New.
6531         * 27_io/basic_stringbuf/sputn/char/1.cc: New.
6532         * 27_io/basic_stringbuf/sputn/char/1057.cc: New.
6533         * 27_io/basic_stringbuf/sputn/char/9404-2.cc: New.
6534         * 27_io/basic_stringbuf/str/char/1.cc: New.
6535         * 27_io/basic_stringbuf/str/char/2.cc: New.
6536         * 27_io/basic_stringbuf/str/char/3.cc: New.
6537         * 27_io/basic_stringbuf/str/char/3955.cc: New.
6538         * 27_io/basic_stringbuf/sungetc/char/1.cc: New.
6539         * 27_io/basic_stringbuf/sync/char/1057.cc: New.
6540         * 27_io/basic_stringstream/1.cc: New.
6541         * 27_io/basic_stringstream/2.cc: New.
6542         * 27_io/basic_stringstream/3.cc: New.
6543         * 27_io/basic_stringstream/4.cc: New.
6544         * 27_io/basic_stringstream/rdbuf/char/2832.cc: New.
6545         * 27_io/basic_stringstream/str/char/1.cc: New.
6546         * 27_io/basic_stringstream/str/char/2.cc: New.
6547         * 27_io/basic_stringstream/str/char/3.cc: New.
6548         * 27_io/basic_stringstream/str/char/4.cc: New.
6549         * 27_io/fpos/1.cc: New.
6550         * 27_io/fpos/2.cc: New.
6551         * 27_io/fpos/3.cc: New.
6552         * 27_io/ios_base/callbacks/1.cc: New.
6553         * 27_io/ios_base/state/1.cc: New.
6554         * 27_io/ios_base/storage/1.cc: New.
6555         * 27_io/ios_base/storage/2.cc: New.
6556         * 27_io/ios_base/storage/3.cc: New.
6557         * 27_io/ios_base/sync_with_stdio/1.cc: New.
6558         * 27_io/ios_base/sync_with_stdio/2.cc: New.
6559         * 27_io/manipulators/adjustfield/char/1.cc: New.
6560         * 27_io/manipulators/adjustfield/char/2.cc: New.
6561         * 27_io/manipulators/basefield/char/1.cc: New.
6562         * 27_io/manipulators/standard/char/1.cc: New.
6563         * 27_io/manipulators/standard/char/2.cc: New.
6564         * 27_io/objects/char/1.cc: New.
6565         * 27_io/objects/char/2.cc: New.
6566         * 27_io/objects/char/2523-1_xin.cc: New.
6567         * 27_io/objects/char/2523-1_xin.in: New.
6568         * 27_io/objects/char/2523-2_xin.cc: New.
6569         * 27_io/objects/char/2523-2_xin.in: New.
6570         * 27_io/objects/char/3045.cc: New.
6571         * 27_io/objects/char/3647.cc: New.
6572         * 27_io/objects/char/3_xin.cc: New.
6573         * 27_io/objects/char/3_xin.in: New.
6574         * 27_io/objects/char/4_xin.cc: New.
6575         * 27_io/objects/char/4_xin.in: New.
6576         * 27_io/objects/char/5268.cc: New.
6577         * 27_io/objects/char/5280_xin.cc: New.
6578         * 27_io/objects/char/5280_xin.in: New.
6579         * 27_io/objects/char/6548_xin.cc: New.
6580         * 27_io/objects/char/6548_xin.in: New.
6581         * 27_io/objects/char/6648-1_xin.cc: New.
6582         * 27_io/objects/char/6648-1_xin.in: New.
6583         * 27_io/objects/char/6648-2_xin.cc: New.
6584         * 27_io/objects/char/6648-2_xin.in: New.
6585         * 27_io/objects/char/7744_xin.cc: New.
6586         * 27_io/objects/char/7744_xin.in: New.
6587         * 27_io/objects/wchar_t/1.cc: New.
6588         * 27_io/types/1.cc: New.
6589         * 27_io/types/2.cc: New.
6590         * data/filebuf_members-1.tst: New.
6591         * data/filebuf_members-1.txt: New.
6592         * data/filebuf_virtuals-1.tst: New.
6593         * data/filebuf_virtuals-1.txt: New.
6594         * data/filebuf_virtuals-2.tst: New.
6595         * data/filebuf_virtuals-3.tst: New.
6596         * data/ifstream_members-1.tst: New.
6597         * data/ifstream_members-1.txt: New.
6598         * data/ios_base_members_static-1.tst: New.
6599         * data/istream_extractor_other-1.tst: New.
6600         * data/istream_extractor_other-1.txt: New.
6601         * data/istream_extractor_other-2.tst: New.
6602         * data/istream_seeks-1.tst: New.
6603         * data/istream_seeks-1.txt: New.
6604         * data/istream_seeks-2.tst: New.
6605         * data/istream_seeks-3.tst: New.
6606         * data/istream_unformatted-1.tst: New.
6607         * data/istream_unformatted-1.txt: New.
6608         * data/ofstream_members-1.tst: New.
6609         * data/ostream_inserter_char-1.tst: New.
6610         * data/ostream_inserter_char-1.txt: New.
6611         * data/ostream_inserter_other-1.tst: New.
6612         * data/ostream_inserter_other-2.tst: New.
6613         * data/ostream_seeks-1.tst: New.
6614
6615 2003-04-09  Benjamin Kosnik  <bkoz@redhat.com>
6616
6617         * include/bits/sstream.tcc (basic_stringbuf::seekpos): Remove
6618         requirement that __mode must be strict input or output.
6619
6620         * include/std/std_streambuf.h (basic_streambuf::setp): Set
6621         _M_out_lim.
6622
6623         * include/std/std_sstream.h (basic_strinbuf::str): Zero length
6624         output string shouldn't core.
6625         (basic_stringbuf::_M_really_sync): Add base argument. Remove rturn
6626         type.
6627         * include/bits/sstream.tcc: Adjust _M_really_sync bits here.
6628
6629         * include/bits/istream.tcc (basic_istream::putback): Set gcount to
6630         zero.
6631
6632 2003-04-09  Benjamin Kosnik  <bkoz@redhat.com>
6633
6634         * testsuite/data: New directory.
6635         * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Modify
6636         to copy files from the testsuite data directory.
6637         (libstdc++-v3-list-sourcefiles): Add another test list filter, for
6638         testfiles containing _xin, which now means this is an interactive
6639         test and should be run with the interactive dejagnu hooks.
6640         * testsuite/Makefile.am: Remove testsuite_* files.
6641         * testsuite/Makefile.in: Regenerate.
6642
6643 2003-04-09  Zack Weinberg  <zack@codesourcery.com>
6644
6645         * docs/html/install.html: Document complete list of locales
6646         required by test suite.  Document procedure for installing
6647         said locales under Debian.  Solicit instructions for other
6648         operating systems.
6649
6650 2003-04-08  Alexandre Oliva  <aoliva@redhat.com>
6651
6652         * include/bits/sstream.tcc (overflow): Make sure operands of min
6653         and max have the same type.
6654
6655 2003-04-04  Jerry Quinn  <jlquinn@optonline.net>
6656
6657         PR libstdc++/10276
6658         * src/ios.cc (ios_base::_M_init): Remove _M_callbacks
6659         initialization.
6660
6661 2003-03-31  Paolo Carlini  <pcarlini@unitus.it>
6662
6663         * include/std/std_streambuf.h (_M_out_buf_size()): Remove.
6664         * include/bits/fstream.tcc (_M_allocate_internal_buffer):
6665         Don't set _M_out_end.
6666         (basic_filebuf::overflow): Replace _M_out_buf_size() with
6667         this->_M_out_cur && this->_M_out_cur < this->_M_out_end.
6668         * include/bits/sstream.tcc (basic_stringbuf::overflow):
6669         Replace _M_out_buf_size() with this->_M_out_cur < this->_M_out_end;
6670         * include/bits/streambuf.tcc (basic_streambuf::sputc):
6671         Replace _M_out_buf_size() with _M_out_cur && _M_out_cur < _M_out_end.
6672         (basic_streambuf::xsputn): Replace _M_out_buf_size() with
6673         _M_out_end - _M_out_cur.
6674         (__copy_streambufs): Likewise.
6675         * include/std/std_fstream.h (_M_set_determinate): Set
6676         _M_out_end here.
6677
6678 2003-03-30  Paolo Carlini  <pcarlini@unitus.it>
6679
6680         * include/bits/fstream.tcc (basic_filebuf::showmanyc,
6681         _M_convert_to_external, _M_really_overflow, seekoff): Fix
6682         test for synced buffer.
6683         * include/std/std_fstream.h (sync): Likewise.
6684         * src/fstream.cc (basic_filebuf<char>::_M_underflow_common,
6685         basic_filebuf<wchar_t>::_M_underflow_common): Likewise.
6686
6687 2003-03-28  Benjamin Kosnik  <bkoz@redhat.com>
6688
6689         * include/std/std_sstream.h (basic_istringstream): Adjust
6690         initialization.
6691         (basic_ostringstream): Same.
6692         (basic_stringstream): Same.
6693         * include/std/std_fstream.h (basic_ifstream): Adjust initialization.
6694         (basic_ofstream): Same.
6695         (basic_fstream): Same.
6696         * include/std/std_ostream.h (basic_ostrem): Add protected ctor
6697         that does not call init.
6698         * include/std/std_istream.h (basic_istream): Same.
6699         (basic_iostream): Construct istream, ostream uninitialized, use
6700         init to initialize just once. Add protected ctor that does not
6701         call init.
6702
6703 2003-03-28  Paolo Carlini  <pcarlini@unitus.it>
6704             Nathan Myers  <ncm@cantrip.org>
6705
6706         PR libstdc++/9533
6707         * include/bits/fstream.tcc (basic_filebuf<>::open): Don't
6708         call underflow().
6709         (basic_filebuf<>::showmanyc): Use the information provided
6710         by codecvt and __basic_file<>::showmanyc_helper to implement
6711         a non-trivial showmanyc.
6712         * config/io/basic_file_stdio.h
6713         (__basic_file<>::showmanyc_helper): New, declare.
6714         * config/io/basic_file_stdio.cc
6715         (__basic_file<>::showmanyc_helper): Define.
6716         (__basic_file<>::_M_open_mode): Don't set O_NONBLOCK.
6717         (__basic_file<char>::open): Don't call fcntl().
6718         * acinclude.m4 (GLIBCPP_CHECK_S_ISREG_OR_S_IFREG,
6719         GLIBCPP_CHECK_POLL): New macros.
6720         * configure.in: Call here.
6721         * acconfig.h: Add #undefs for the corresponding symbols.
6722         * aclocal.m4: Regenerate.
6723         * configure: Regenerate.
6724         * config.h.in: Regenerate.
6725
6726 2003-03-24  Benjamin Kosnik  <bkoz@redhat.com>
6727
6728         * config/linker-map.gnu: Remove string export restrictions.
6729
6730 2003-03-24  Paolo Carlini  <pcarlini@unitus.it>
6731
6732         * testsuite/21_strings/basic_string/find/char/1.cc: Remove
6733         find_first_of, find_last_of and find_last_not_of tests.
6734         * testsuite/21_strings/basic_string/find/char/2.cc: find_first_of
6735         tests here, new file.
6736         * testsuite/21_strings/basic_string/find/wchar_t/1.cc: Likewise,
6737         remove wchar_t find_first_of, find_last_of and find_last_not_of tests.
6738         * testsuite/21_strings/basic_string/find/wchar_t/2.cc: Likewise,
6739         wchar_t find_first_of tests here, new file.
6740         * testsuite/21_strings/basic_string/rfind/char/2.cc: find_last_of
6741         tests here.
6742         * testsuite/21_strings/basic_string/rfind/char/3.cc: find_last_not_of
6743         tests here.
6744         * testsuite/21_strings/basic_string/rfind/wchar_t/2.cc: likewise,
6745         wchar_t find_last_of tests here.
6746         * testsuite/21_strings/basic_string/rfind/wchar_t/3.cc: likewise,
6747         wchar_t find_last_not_of tests here.
6748
6749 2003-03-22  Loren J. Rittle  <ljrittle@acm.org>
6750
6751         * config/os/hpux/ctype_noninline.h (ctype<char>::classic_table):
6752         Correct return value.
6753
6754 2003-03-21  Jerry Quinn  <jlquinn@optonline.net>
6755
6756         PR libstdc++/5730
6757         * include/bits/c++config (_GLIBCPP_FAST_MATH): Define.
6758         * include/std/std_complex.h (norm):  Use faster,
6759         less accurate computation for builtin float types under --fast-math.
6760
6761 2003-03-21  Magnus Fromreide  <gnats@magfr.user.lysator.liu.se>
6762
6763         * testsuite/testsuite_hooks.h: Fix warning nits.
6764
6765 2003-03-19  Alexandre Oliva  <aoliva@redhat.com>
6766
6767         * config/cpu/mips/atomicity.h (__exchange_and_add, __atomic_add):
6768         Only .set mips2 for the o32 ABI.
6769
6770 2003-03-19  Paolo Carlini  <pcarlini@unitus.it>
6771
6772         * testsuite/21_strings/char_traits/requirements/char/1.cc:
6773         Test char not wchar_t.
6774
6775 2003-03-18  Paolo Carlini  <pcarlini@unitus.it>
6776
6777         * testsuite/21_strings/basic_string/append/wchar_t/1.cc:
6778         Correct size, taking into account sizeof(wchar_t).
6779
6780 2003-03-18  Paolo Carlini  <pcarlini@unitus.it>
6781
6782         Reshuffle 21_strings testsuite.
6783         * testsuite/21_strings/append.cc, c_strings.cc, invariants.cc,
6784         assign.cc, ctor_copy_dtor.cc, nonmember.cc, capacity.cc,
6785         element_access.cc, operations.cc, char_traits_requirements.cc,
6786         find.cc, replace.cc, char_traits_typedefs.cc, insert.cc, rfind.cc,
6787         compare.cc, inserters_extractors.cc, substr.cc: Split up, add
6788         wchar_t tests as follows.
6789         * 21_strings/basic_string/append/char/1.cc: New.
6790         * 21_strings/basic_string/append/wchar_t/1.cc: New.
6791         * 21_strings/basic_string/assign/char/1.cc: New.
6792         * 21_strings/basic_string/assign/char/2.cc: New.
6793         * 21_strings/basic_string/assign/char/3.cc: New.
6794         * 21_strings/basic_string/assign/wchar_t/1.cc: New.
6795         * 21_strings/basic_string/assign/wchar_t/2.cc: New.
6796         * 21_strings/basic_string/assign/wchar_t/3.cc: New.
6797         * 21_strings/basic_string/capacity/1.cc: New.
6798         * 21_strings/basic_string/capacity/char/1.cc: New.
6799         * 21_strings/basic_string/capacity/char/2.cc: New.
6800         * 21_strings/basic_string/capacity/wchar_t/1.cc: New.
6801         * 21_strings/basic_string/capacity/wchar_t/2.cc: New.
6802         * 21_strings/basic_string/compare/char/1.cc: New.
6803         * 21_strings/basic_string/compare/wchar_t/1.cc: New.
6804         * 21_strings/basic_string/cons/char/1.cc: New.
6805         * 21_strings/basic_string/cons/char/2.cc: New.
6806         * 21_strings/basic_string/cons/char/3.cc: New.
6807         * 21_strings/basic_string/cons/char/4.cc: New.
6808         * 21_strings/basic_string/cons/char/5.cc: New.
6809         * 21_strings/basic_string/cons/wchar_t/1.cc: New.
6810         * 21_strings/basic_string/cons/wchar_t/2.cc: New.
6811         * 21_strings/basic_string/cons/wchar_t/3.cc: New.
6812         * 21_strings/basic_string/cons/wchar_t/4.cc: New.
6813         * 21_strings/basic_string/cons/wchar_t/5.cc: New.
6814         * 21_strings/basic_string/element_access/char/1.cc: New.
6815         * 21_strings/basic_string/element_access/char/2.cc: New.
6816         * 21_strings/basic_string/element_access/char/3.cc: New.
6817         * 21_strings/basic_string/element_access/wchar_t/1.cc: New.
6818         * 21_strings/basic_string/element_access/wchar_t/2.cc: New.
6819         * 21_strings/basic_string/element_access/wchar_t/3.cc: New.
6820         * 21_strings/basic_string/find/char/1.cc: New.
6821         * 21_strings/basic_string/find/wchar_t/1.cc: New.
6822         * 21_strings/basic_string/insert/char/1.cc: New.
6823         * 21_strings/basic_string/insert/char/2.cc: New.
6824         * 21_strings/basic_string/insert/wchar_t/1.cc: New.
6825         * 21_strings/basic_string/insert/wchar_t/2.cc: New.
6826         * 21_strings/basic_string/inserters_extractors/char/1.cc: New.
6827         * 21_strings/basic_string/inserters_extractors/char/4.cc: New.
6828         * 21_strings/basic_string/inserters_extractors/char/5.cc: New.
6829         * 21_strings/basic_string/inserters_extractors/char/6.cc: New.
6830         * 21_strings/basic_string/inserters_extractors/char/7.cc: New.
6831         * 21_strings/basic_string/inserters_extractors/char/8.cc: New.
6832         * 21_strings/basic_string/inserters_extractors/char/9.cc: New.
6833         * 21_strings/basic_string/inserters_extractors/wchar_t/1.cc: New.
6834         * 21_strings/basic_string/inserters_extractors/wchar_t/4.cc: New.
6835         * 21_strings/basic_string/inserters_extractors/wchar_t/5.cc: New.
6836         * 21_strings/basic_string/inserters_extractors/wchar_t/6.cc: New.
6837         * 21_strings/basic_string/inserters_extractors/wchar_t/7.cc: New.
6838         * 21_strings/basic_string/inserters_extractors/wchar_t/8.cc: New.
6839         * 21_strings/basic_string/inserters_extractors/wchar_t/9.cc: New.
6840         * 21_strings/basic_string/operators/char/1.cc: New.
6841         * 21_strings/basic_string/operators/char/2.cc: New.
6842         * 21_strings/basic_string/operators/wchar_t/1.cc: New.
6843         * 21_strings/basic_string/operators/wchar_t/2.cc: New.
6844         * 21_strings/basic_string/replace/char/1.cc: New.
6845         * 21_strings/basic_string/replace/char/2.cc: New.
6846         * 21_strings/basic_string/replace/char/3.cc: New.
6847         * 21_strings/basic_string/replace/char/4.cc: New.
6848         * 21_strings/basic_string/replace/char/5.cc: New.
6849         * 21_strings/basic_string/replace/wchar_t/1.cc: New.
6850         * 21_strings/basic_string/replace/wchar_t/2.cc: New.
6851         * 21_strings/basic_string/replace/wchar_t/3.cc: New.
6852         * 21_strings/basic_string/replace/wchar_t/4.cc: New.
6853         * 21_strings/basic_string/replace/wchar_t/5.cc: New.
6854         * 21_strings/basic_string/rfind/char/1.cc: New.
6855         * 21_strings/basic_string/rfind/char/2.cc: New.
6856         * 21_strings/basic_string/rfind/char/3.cc: New.
6857         * 21_strings/basic_string/rfind/wchar_t/1.cc: New.
6858         * 21_strings/basic_string/rfind/wchar_t/2.cc: New.
6859         * 21_strings/basic_string/rfind/wchar_t/3.cc: New.
6860         * 21_strings/basic_string/substr/char/1.cc: New.
6861         * 21_strings/basic_string/substr/wchar_t/1.cc: New.
6862         * 21_strings/c_strings/char/1.cc: New.
6863         * 21_strings/c_strings/char/2.cc: New.
6864         * 21_strings/c_strings/wchar_t/1.cc: New.
6865         * 21_strings/c_strings/wchar_t/2.cc: New.
6866         * 21_strings/char_traits/requirements/char/1.cc: New.
6867         * 21_strings/char_traits/requirements/wchar_t/1.cc: New.
6868         * 21_strings/char_traits/typedefs/char/1.cc: New.
6869
6870 2003-03-17  Paolo Carlini  <pcarlini@unitus.it>
6871             Petur Runolfsson  <peturr02@ru.is>
6872
6873         PR libstdc++/10097
6874         * src/fstream.cc (basic_filebuf<char>::_M_underflow_common,
6875         basic_filebuf<wchar_t>::_M_underflow_common):
6876         if (gptr() < egptr()) return *gptr().
6877         * testsuite/27_io/filebuf_virtuals.cc (test16): Add.
6878
6879         * testsuite/27_io/filebuf_members.cc (test_04): Minor
6880         changes: unlink fifo before making it, fix spelling error.
6881
6882 2003-03-17  Benjamin Kosnik  <bkoz@redhat.com>
6883
6884         * testsuite/Makefile.am (CLEANFILES): Add tmp*.
6885         * testsuite/Makefile.in: Regenerate.
6886         * testsuite/27_io/filebuf_members.cc: Consistently name tmp files.
6887         Cleanups.
6888
6889 2003-03-17  Petur Runolfsson  <peturr02@ru.is>
6890
6891         PR libstdc++/9964
6892         * include/bits/fstream.tcc (basic_filebuf::close):
6893         Always close file, even when write fails.
6894         * testsuite/27_io/filebuf_members.cc (test_07):  New test.
6895
6896 2003-03-17  Danny Smith  <dannysmith@users.sourceforge.net>
6897
6898         * libsupc++/Makefile.am (C_COMPILE): Remove.
6899         (LTCOMPILE): Likewise.
6900         * libsupc++/Makefile.in: Regenerate.
6901
6902 2003-03-14  Benjamin Kosnik  <bkoz@redhat.com>
6903
6904         * testsuite/23_containers/bitset_members.cc: Add test variable.
6905         * testsuite/23_containers/map_insert.cc: Same.
6906         * testsuite/22_locale/ctype/cons/char/1.cc: Same.
6907         * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc: Same.
6908         * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Same.
6909         * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Same.
6910         * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc: Same.
6911         * testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc: Same.
6912         * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Same.
6913         * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Same.
6914         * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc: Same.
6915         * testsuite/27_io/istream_exception.cc: Same.
6916         * testsuite/27_io/filebuf_virtuals.cc: Same.
6917         * testsuite/27_io/stringbuf_virtuals.cc: Same.
6918         * testsuite/27_io/ostream_inserter_arith.cc: Same.
6919         * testsuite/26_numerics/valarray_operators.cc: Same.
6920         * testsuite/26_numerics/slice.cc: Same.
6921         * testsuite/26_numerics/slice_array_assignment.cc: Same.
6922         * testsuite/24_iterators/istream_iterator.cc: Same.
6923         * mkcheck.in (TESTS_FILE): Use dejagnu-generated file if possible.
6924
6925 2003-03-14  Petur Runolfsson  <peturr02@ru.is>
6926
6927         PR libstdc++/9581
6928         PR libstdc++/9870
6929         * config/locale/generic/ctype_members.cc,
6930         * config/locale/gnu/ctype_members.cc
6931         (ctype<wchar_t>::do_widen(char)):  Cast argument to
6932         unsigned char before passing to btowc.
6933         (ctype<wchar_t>::do_widen(const char*, const char*, wchar_t*)):
6934         Convert characters with btowc instead of mbsrtowcs.
6935         (ctype<wchar_t>::do_narrow(const wchar_t*, const wchar_t*,
6936         char, char*):
6937         Convert characters with wctob instead of wcsrtombs.
6938         * testsuite/22_locale/ctype/narrow/wchar_t/3.cc:  New test.
6939         * testsuite/22_locale/ctype/widen/wchar_t/2.cc:  New test.
6940         * testsuite/22_locale/ctype/widen/wchar_t/3.cc:  New test.
6941
6942 2003-03-14  Benjamin Kosnik  <bkoz@redhat.com>
6943
6944         * include/stdc++.h: New.
6945         * libsupc++/exception_defines.h (__EXCEPTION_DEFINES_H): Add guard.
6946         * include/Makefile.am (stamp-std-precompile): Generate stdc++.h.gch
6947         * include/Makefile.in: Regenerate.
6948         * testsuite_flags.in (--build-cxx): Add, but don't use PCHFLAGS.
6949         (--cxxflags): Put -g -O2 here.
6950         * testsuite/libstdc++-v3.dg/dg.exp: Remove -g -O2 here.
6951
6952 2003-03-14  Loren J. Rittle  <ljrittle@acm.org>
6953
6954         * testsuite/testsuite_hooks.h: Suppress runtime exception thrown by
6955         missing named locale.
6956
6957 2003-03-14  Andreas Schwab  <schwab@suse.de>
6958
6959         * configure.in: Only append to makefiles that are newly created to
6960         avoid multiple multi-do/multi-clean rules.
6961         * configure: Rebuilt.
6962
6963 2003-03-13  Jonathan Wakely  <redi@gcc.gnu.org>
6964
6965         * docs/html/configopts.html, docs/html/documentation.html,
6966         docs/html/explanations.html, docs/html/install.html,
6967         docs/html/19_diagnostics/howto.html, docs/html/faq/index.html: Fix
6968         invalid XHTML and make page header style consistent.
6969
6970 2003-03-12  Jonathan Wakely  <redi@gcc.gnu.org>
6971
6972         * docs/html/faq/index.html: Explain memory "leaks" due to allocators.
6973         * docs/html/faq/index.txt: Regenerate.
6974         * docs/html/debug.html: Add a bit to allocator text and fix XHTML.
6975
6976 2003-03-12  Andreas Schwab  <schwab@suse.de>
6977
6978         * acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Avoid trailing /. in
6979         glibcpp_toolexeclibdir.
6980         * aclocal.m4, configure: Rebuilt.
6981
6982 2003-03-11  Jonathan Wakely  <redi@gcc.gnu.org>
6983
6984         * docs/html/faq/index.html: Update text about location of headers.
6985         * docs/html/faq/index.txt: Regenerate.
6986
6987 2003-03-11  Carlo Wood  <carlo@alinoe.com>
6988
6989         * include/bits/demangle.h: Prepend accessors of
6990         class qualifier with 'get_' in order to fix warnings
6991         when compiling with -Wshadow.
6992
6993 2003-03-11  Loren J. Rittle  <ljrittle@acm.org>
6994
6995         * config/os/bsd/freebsd/ctype_inline.h:  Support _M_table
6996         when so installed.
6997         * testsuite/22_locale/ctype/cons/char/1.cc: Fix typo.
6998
6999         * testsuite/testsuite_hooks.h (run_tests_wrapped_env): Do not
7000         report lack of setenv().
7001
7002 2003-03-09  Paolo Carlini  <pcarlini@unitus.it>
7003
7004         * config/io/basic_file_stdio.cc: include <unistd.h>.
7005
7006 2003-03-09  Paolo Carlini  <pcarlini@unitus.it>
7007             Nathan Myers  <ncm@cantrip.org>
7008
7009         PR libstdc++/7744
7010         * config/io/basic_file_stdio.h (__basic_file<>::xsgetn, xsputn,
7011         seekoff, seekpos): Add a boolean parameter __stdio.
7012         * config/io/basic_file_stdio.cc (__basic_file<>::xsgetn, xsputn,
7013         seekoff, seekpos): If __stdio == true, use fread (fwrite, fseek/ftell,
7014         fseek/ftell, respectively), otherwise read (write, lseek, lseek,
7015         respectively).
7016         * include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external,
7017         _M_really_overflow, seekoff): Use the boolean parameter in the calls.
7018         * include/std/std_fstream.h (sync): Likewise.
7019         * src/fstream.cc (basic_filebuf<>::_M_underflow_common): Likewise.
7020         * src/ios.cc (ios_base::Init::_S_ios_create(bool)): Revert
7021         libstdc++/8399 commit involving isatty(0).
7022         * acinclude.m4 (GLIBCPP_CHECK_UNISTD_DECL_AND_LINKAGE_1): Remove.
7023         (GLIBCPP_CHECK_UNISTD_SUPPORT): Remove
7024         * configure.in: Remove call.
7025         * aclocal.m4: Regenerate.
7026         * config.h.in: Regenerate.
7027         * configure: Regenerate.
7028         * testsuite/27_io/narrow_stream_objects.cc (test11): Add.
7029
7030 2003-03-09  Paolo Carlini  <pcarlini@unitus.it>
7031
7032         PR libstdc++/9988
7033         * include/bits/fstream.tcc (overflow): don't write EOF to file.
7034         * testsuite/27_io/filebuf_virtuals.cc (test15): Add.
7035
7036 2003-03-08  Jerry Quinn  <jlquinn@optonline.net>
7037
7038         PR libstdc++/9561
7039         * include/bits/basic_ios.h (_M_setstate): New.
7040         * include/bits/ostream.tcc (operator<<): Use it.
7041         * include/bits/istream.tcc (operator>>): Use it.
7042         * include/std/std_ostream.h (operator<<): Make friends.
7043         * include/std/std_istream.h (operator>>): Make friends.
7044         * testsuite/27_io/ostream_exception.cc,
7045         testsuite/27_io/istream_exception.cc: New tests.
7046
7047 2003-03-08  Benjamin Kosnik  <bkoz@redhat.com>
7048
7049         * include/bits/locale_facets.tcc: Fix typo.
7050
7051 2003-03-08  Loren J. Rittle  <ljrittle@acm.org>
7052
7053         * testsuite/26_numerics/c99_classification_macros_c.cc: Tweak test.
7054
7055         * config/locale/generic/c_locale.cc
7056         (locale::facet::_S_create_c_locale): Throw runtime exception when
7057         unsupported language is specified.
7058         * testsuite/testsuite_hooks.h
7059         (run_test_wrapped_generic_locale_exception_catcher): New function.
7060         * testsuite/testsuite_hooks.cc (run_tests_wrapped_locale):
7061         Suppress runtime exception thrown by generic implementation.
7062         (run_tests_wrapped_env): Likewise.
7063         (run_test_wrapped_generic_locale_exception_catcher): New function.
7064         * testsuite/22_locale/collate/compare/char/1.cc: New test wrap.
7065         * testsuite/22_locale/collate/compare/char/2.cc: New test wrap.
7066         * testsuite/22_locale/collate/compare/char/3.cc: New test wrap.
7067         * testsuite/22_locale/collate/hash/char/2.cc: New test wrap.
7068         * testsuite/22_locale/collate/transform/char/2.cc: New test wrap.
7069         * testsuite/22_locale/collate/transform/char/3.cc: New test wrap.
7070         * testsuite/22_locale/collate_byname/1.cc: New test wrap.
7071         * testsuite/22_locale/ctype/is/char/2.cc: New test wrap.
7072         * testsuite/22_locale/facet/2.cc: New test wrap.
7073         * testsuite/22_locale/locale/cons/4.cc: New test wrap.
7074         * testsuite/22_locale/locale/cons/5.cc: New test wrap.
7075         * testsuite/22_locale/locale/cons/7.cc: New test wrap.
7076         * testsuite/22_locale/messages/members/char/1.cc: New test wrap.
7077         * testsuite/22_locale/messages/members/char/2.cc: New test wrap.
7078         * testsuite/22_locale/messages/members/char/3.cc: New test wrap.
7079         * testsuite/22_locale/messages_byname/1.cc: New test wrap.
7080         * testsuite/22_locale/money_get/get/char/1.cc: New test wrap.
7081         * testsuite/22_locale/money_get/get/char/2.cc: New test wrap.
7082         * testsuite/22_locale/money_get/get/char/3.cc: New test wrap.
7083         * testsuite/22_locale/money_get/get/char/4.cc: New test wrap.
7084         * testsuite/22_locale/money_put/put/char/1.cc: New test wrap.
7085         * testsuite/22_locale/money_put/put/char/2.cc: New test wrap.
7086         * testsuite/22_locale/money_put/put/char/3.cc: New test wrap.
7087         * testsuite/22_locale/moneypunct/members/char/2.cc: New test wrap.
7088         * testsuite/22_locale/moneypunct_byname/1.cc: New test wrap.
7089         * testsuite/22_locale/num_get/get/char/1.cc: New test wrap.
7090         * testsuite/22_locale/num_get/get/char/2.cc: New test wrap.
7091         * testsuite/22_locale/num_get/get/char/3.cc: New test wrap.
7092         * testsuite/22_locale/num_get/get/char/5.cc: New test wrap.
7093         * testsuite/22_locale/num_get/get/char/6.cc: New test wrap.
7094         * testsuite/22_locale/num_put/put/char/1.cc: New test wrap.
7095         * testsuite/22_locale/num_put/put/char/2.cc: New test wrap.
7096         * testsuite/22_locale/num_put/put/char/3.cc: New test wrap.
7097         * testsuite/22_locale/num_put/put/char/5.cc: New test wrap.
7098         * testsuite/22_locale/numpunct/members/char/1.cc: New test wrap.
7099         * testsuite/22_locale/numpunct/members/char/2.cc: New test wrap.
7100         * testsuite/22_locale/numpunct_byname/1.cc: New test wrap.
7101         * testsuite/22_locale/numpunct_byname/2.cc: New test wrap.
7102         * testsuite/22_locale/time_get/date_order/char/1.cc: New test wrap.
7103         * testsuite/22_locale/time_get/get_date/char/1.cc: New test wrap.
7104         * testsuite/22_locale/time_get/get_date/char/2.cc: New test wrap.
7105         * testsuite/22_locale/time_get/get_monthname/char/1.cc: New test wrap.
7106         * testsuite/22_locale/time_get/get_monthname/char/2.cc: New test wrap.
7107         * testsuite/22_locale/time_get/get_time/char/1.cc: New test wrap.
7108         * testsuite/22_locale/time_get/get_time/char/2.cc: New test wrap.
7109         * testsuite/22_locale/time_get/get_weekday/char/1.cc: New test wrap.
7110         * testsuite/22_locale/time_get/get_weekday/char/2.cc: New test wrap.
7111         * testsuite/22_locale/time_get/get_year/char/1.cc: New test wrap.
7112         * testsuite/22_locale/time_put/put/char/1.cc: New test wrap.
7113         * testsuite/22_locale/time_put/put/char/2.cc: New test wrap.
7114         * testsuite/22_locale/time_put/put/char/3.cc: New test wrap.
7115         * testsuite/22_locale/time_put/put/char/4.cc: New test wrap.
7116         * testsuite/22_locale/time_put/put/char/5.cc: New test wrap.
7117         * testsuite/22_locale/time_put/put/char/6.cc: New test wrap.
7118         * testsuite/22_locale/time_put/put/char/7.cc: New test wrap.
7119         * testsuite/22_locale/time_put/put/char/8.cc: New test wrap.
7120         * testsuite/27_io/filebuf_virtuals.cc: New test wrap.
7121         * testsuite/27_io/ios_members.cc: New test wrap.
7122         * testsuite/27_io/ostream_inserter_arith.cc (test02): Make void.
7123         New test wrap.
7124         * testsuite/27_io/streambuf_members.cc: New test wrap.
7125         * testsuite/27_io/stringbuf_virtuals.cc: New test wrap.
7126
7127 2003-03-08  Paolo Carlini <pcarlini@unitus.it>
7128             Petur Runolfsson  <peturr02@ru.is>
7129
7130         PR libstdc++/9424
7131         * include/bits/streambuf.tcc (__copy_streambufs): Use
7132         sgetn-sputn only when sputn cannot fail, otherwise fall back
7133         to safe snextc-sputc.
7134         * testsuite/27_io/streambuf_members.cc (test11, test12): Add.
7135
7136 2003-03-08  Jerry Quinn  <jlquinn@optonline.net>
7137
7138         * include/bits/locale_facets.tcc (num_put::do_put(bool)): Use
7139         locale cache for truename and falsename.
7140
7141 2003-03-08  Jerry Quinn  <jlquinn@optonline.net>
7142
7143         * src/ios.cc (ios_base::ios_base): Correct order of _M_word and
7144         _M_word_size initialization.
7145
7146 2003-03-07  Paolo Carlini  <pcarlini@unitus.it>
7147
7148         * include/bits/fstream.tcc (_M_convert_to_external):
7149         Set __elen to zero if codecvt::out eventually fails.
7150
7151 2003-03-07  Paolo Carlini  <pcarlini@unitus.it>
7152
7153         PR libstdc++/9182
7154         * include/bits/fstream.tcc (_M_really_overflow): Check
7155         for _M_convert_to_external possible failures.
7156         * include/std/std_fstream.h (sync): Check _M_really_overflow
7157         return value and return -1 in case of failure.
7158         * testsuite/27_io/filebuf_virtuals.cc (test13, test14): Add.
7159
7160 2003-03-07  Paolo Carlini  <pcarlini@unitus.it>
7161
7162         PR libstdc++/9826
7163         * include/bits/istream.tcc (operator>>(_CharT*),
7164         operator>>(basic_string&), ws): Pass a char_type to __ctype.is.
7165         * testsuite/27_io/stringstream.cc (test02): Add.
7166
7167         * include/bits/istream.tcc (operator>>(_CharT*)):
7168         Assign a char_type to *__s.
7169
7170 2003-03-07  Petur Runolfsson  <peturr02@ru.is>
7171
7172         PR libstdc++/9817
7173         * include/bits/locale_facets.tcc
7174         (collate::do_compare, collate::do_transform):
7175         Handle nul characters in input.
7176         * testsuite/22_locale/collate/compare/char/3.cc:  New test.
7177         * testsuite/22_locale/collate/compare/wchar_t/3.cc:  New test.
7178         * testsuite/22_locale/collate/transform/char/3.cc:  New test.
7179         * testsuite/22_locale/collate/transform/wchar_t/3.cc:  New test.
7180
7181 2003-03-07  Jerry Quinn  <jlquinn@optonline.net>
7182
7183         * include/bits/streambuf_iterator.h (_M_put): Set _M_failed if
7184         sputn fails.
7185         * testsuite/27_io/ostream_fail.cc: New test.
7186
7187 2003-03-07  Matthias Klose  <doko@debian.org>
7188
7189         * Makefile.am (AM_MAKEFLAGS): Also pass gxx_include_dir.
7190         FLAGS_TO_PASS: Set to AM_MAKEFLAGS
7191         * Makefile.in: Regenerate.
7192         * libsupc++/Makefile.am: Express glibcppinstalldir in terms
7193         of gxx_include_dir.
7194         AM_MAKEFLAGS: Pass gxx_include_dir.
7195         * libsupc++/Makefile.in: Regenerate.
7196
7197 2003-03-06  Jerry Quinn  <jlquinn@optonline.net>
7198
7199         * testsuite/27_io/ios_base_storage.cc (test02): Set exception
7200         mask.  Test setting small-numbered pword and iword slots.  Test
7201         behavior at limit of numeric_limits::max.  Check that values are
7202         still good after failures.
7203
7204 2003-03-06  Jerry Quinn  <jlquinn@optonline.net>
7205
7206         * src/ios.cc (ios_base::_M_init): Remove _M_word_size.
7207         (ios_base::ios_base): Set _M_word, _M_word_size.
7208         (ios_base::~ios_base): Remove redundant test.
7209         * testsuite/27_io/ios_base_storage.cc (test03): New.
7210
7211 2003-03-04  Alexandre Oliva  <aoliva@redhat.com>
7212
7213         * src/strstream.cc, include/bits/basic_string.tcc: Remove
7214         incorrect whitespace added in my previous change.
7215
7216 2003-03-05  Carlo Wood  <carlo@alinoe.com>
7217
7218         * include/bits/ios_base.h(ios_base::Init::_S_initialized()): Added
7219         _S_initialized() in order to allow debugging libraries to detect
7220         when the std streams are initialized from an overloaded operator
7221         new.
7222
7223 2003-03-05  Benjamin Kosnik  <bkoz@redhat.com>
7224
7225         * libsupc++/demangle.h: Move to..
7226         * include/bits/demangle.h: ...here.
7227         * src/demangle.cc: Adjust include.
7228         * include/Makefile.am (bits_headers): Add.
7229         * include/Makefile.in: Regenerate.
7230
7231 2003-03-04  Benjamin Kosnik  <bkoz@redhat.com>
7232
7233         * src/globals.cc: Clarify comments, remove c_locale_imp_compat.
7234
7235         * config/linker-map.gnu: Filter typeinfo and vtable info.
7236
7237 2003-03-04  Jerry Quinn  <jlquinn@optonline.net>
7238
7239         * src/ios.cc (ios_base::_M_grow_words): Don't delete _M_word on
7240         new failure.  Throw exception if badbit and exception mask when ix
7241         >= numeric_limits<int>::max().
7242
7243 2003-03-04  Alexandre Oliva  <aoliva@redhat.com>
7244
7245         * src/strstream.cc (strstreambuf::overflow): Make sure operands of
7246         min and max have the same type.
7247         * include/bits/basic_string.tcc (append, rfind, compare): Likewise.
7248
7249 2003-03-04  Benjamin Kosnik  <bkoz@redhat.com>
7250
7251         * include/Makefile.am (allstamps): Remove stamp-std-precompile.
7252         * include/Makefile.in: Regenerate.
7253
7254 2003-03-03  Benjamin Kosnik  <bkoz@redhat.com>
7255
7256         * testsuite/abi_check.cc (report_symbol_info): Add version info.
7257
7258         * config/linker-map.gnu: Hide more stuff.
7259         * include/Makefile.am: Cleanups.
7260         * include/Makefile.in: Regenerate.
7261
7262 2003-02-27  Jerry Quinn  <jlquinn@optonline.net>
7263
7264         * config/locale/generic/messages_members.h (messages::messages):
7265         Remove name from unused parameter.
7266
7267 2003-02-27  Benjamin Kosnik  <bkoz@redhat.com>
7268
7269         * src/Makefile.am (sources): Add demangle.cc.
7270         (demangle.o): Add.
7271         (demangle.lo): Add.
7272         * src/Makefile.in: Regenerate.
7273         * libsupc++/Makefile.am: Remove old __cxa_demangle bits.
7274         * libsupc++/Makefile.in: Regenerate.
7275
7276         * testsuite/testsuite_hooks.h
7277         (__gnu_cxx_test::verify_demangle): New.
7278         * testsuite/testsuite_hooks.cc: Define.
7279
7280 2003-02-27  Carlo Wood  <carlo@alinoe.com>
7281
7282         * src/demangle.cc: New.
7283         * libsupc++/demangle.h: New.
7284
7285 2003-02-27  Benjamin Kosnik  <bkoz@redhat.com>
7286             Carlo Wood  <carlo@alinoe.com>
7287
7288         * testsuite/demangle/abi_examples/01.cc: New.
7289         * testsuite/demangle/abi_examples/02.cc: New.
7290         * testsuite/demangle/abi_examples/03.cc: New.
7291         * testsuite/demangle/abi_examples/04.cc: New.
7292         * testsuite/demangle/abi_examples/05.cc: New.
7293         * testsuite/demangle/abi_examples/06.cc: New.
7294         * testsuite/demangle/abi_examples/07.cc: New.
7295         * testsuite/demangle/abi_examples/08.cc: New.
7296         * testsuite/demangle/abi_examples/09.cc: New.
7297         * testsuite/demangle/abi_examples/10.cc: New.
7298         * testsuite/demangle/abi_examples/11.cc: New.
7299         * testsuite/demangle/abi_examples/12.cc: New.
7300         * testsuite/demangle/abi_examples/13.cc: New.
7301         * testsuite/demangle/abi_examples/14.cc: New.
7302         * testsuite/demangle/abi_examples/15.cc: New.
7303         * testsuite/demangle/abi_examples/16.cc: New.
7304         * testsuite/demangle/abi_examples/17.cc: New.
7305         * testsuite/demangle/abi_examples/18.cc: New.
7306         * testsuite/demangle/abi_examples/19.cc: New.
7307         * testsuite/demangle/abi_examples/20.cc: New.
7308         * testsuite/demangle/abi_examples/21.cc: New.
7309         * testsuite/demangle/abi_examples/22.cc: New.
7310         * testsuite/demangle/abi_examples/23.cc: New.
7311         * testsuite/demangle/abi_examples/24.cc: New.
7312         * testsuite/demangle/abi_examples/25.cc: New.
7313         * testsuite/demangle/abi_examples/26.cc: New.
7314         * testsuite/demangle/abi_text/01.cc: New.
7315         * testsuite/demangle/abi_text/02.cc: New.
7316         * testsuite/demangle/abi_text/03.cc: New.
7317         * testsuite/demangle/abi_text/04.cc: New.
7318         * testsuite/demangle/abi_text/05.cc: New.
7319         * testsuite/demangle/abi_text/06.cc: New.
7320         * testsuite/demangle/abi_text/07.cc: New.
7321         * testsuite/demangle/abi_text/08.cc: New.
7322         * testsuite/demangle/abi_text/09.cc: New.
7323         * testsuite/demangle/abi_text/10.cc: New.
7324         * testsuite/demangle/abi_text/11.cc: New.
7325         * testsuite/demangle/abi_text/12.cc: New.
7326         * testsuite/demangle/abi_text/13.cc: New.
7327         * testsuite/demangle/abi_text/14.cc: New.
7328         * testsuite/demangle/regression/3111-1.cc: New.
7329         * testsuite/demangle/regression/3111-2.cc: New.
7330         * testsuite/demangle/regression/7986-01.cc: New.
7331         * testsuite/demangle/regression/7986-02.cc: New.
7332         * testsuite/demangle/regression/7986-03.cc: New.
7333         * testsuite/demangle/regression/7986-04.cc: New.
7334         * testsuite/demangle/regression/7986-05.cc: New.
7335         * testsuite/demangle/regression/7986-06.cc: New.
7336         * testsuite/demangle/regression/7986-07.cc: New.
7337         * testsuite/demangle/regression/7986-08.cc: New.
7338         * testsuite/demangle/regression/7986-09.cc: New.
7339         * testsuite/demangle/regression/7986-10.cc: New.
7340         * testsuite/demangle/regression/7986-11.cc: New.
7341         * testsuite/demangle/regression/7986-12.cc: New.
7342         * testsuite/demangle/regression/7986.cc: New.
7343         * testsuite/demangle/regression/8897.cc: New.
7344         * testsuite/demangle/regression/cw-01.cc: New.
7345         * testsuite/demangle/regression/cw-02.cc: New.
7346         * testsuite/demangle/regression/cw-03.cc: New.
7347         * testsuite/demangle/regression/cw-04.cc: New.
7348         * testsuite/demangle/regression/cw-05.cc: New.
7349         * testsuite/demangle/regression/cw-06.cc: New.
7350         * testsuite/demangle/regression/cw-07.cc: New.
7351         * testsuite/demangle/regression/cw-08.cc: New.
7352         * testsuite/demangle/regression/cw-09.cc: New.
7353         * testsuite/demangle/regression/cw-10.cc: New.
7354         * testsuite/demangle/regression/cw-11.cc: New.
7355         * testsuite/demangle/regression/cw-12.cc: New.
7356         * testsuite/demangle/regression/cw-13.cc: New.
7357         * testsuite/demangle/regression/cw-14.cc: New.
7358         * testsuite/demangle/regression/old.cc: New.
7359
7360 2003-02-25  Phil Edwards  <pme@gcc.gnu.org>
7361
7362         * docs/doxygen/Intro.3:  Update with new (proper) names.
7363         * docs/doxygen/TODO:  Update.
7364         * docs/doxygen/run_doxygen:  More comments, fix up man pages.
7365         Fake entries for standard typedefs.
7366         * docs/doxygen/user.cfg.in:  Turn INLINE_INHERITED_MEMB back on.
7367         * docs/html/documentation.html:  Top-level man page is now called
7368         C++Intro.
7369         * include/std/std_limits.h:  Doxygenate.
7370
7371 2003-02-25  Scott Snyder  <snyder@fnal.gov>
7372
7373         PR libstdc++/9811
7374         * include/bits/stl_map.h (lower_bound, upper_bound, equal_range):
7375         Correct documentation.
7376         * include/bits/stl_multimap.h (lower_bound, upper_bound,
7377         equal_range): Likewise.
7378
7379 2003-02-24  Paolo Carlini  <pcarlini@unitus.it>
7380
7381         PR libstdc++/9825
7382         * src/fstream.cc
7383         (basic_filebuf<char/wchar_t>::_M_underflow_common): When
7384         __bump is true (uflow), always increment the read pointer
7385         (_M_in_cur) before returning successfully.
7386         * testsuite/27_io/filebuf_virtuals.cc (test12): Add.
7387
7388 2003-02-24  Paolo Carlini <pcarlini@unitus.it>
7389             Nathan Myers <ncm@cantrip.org>
7390
7391         PR libstdc++/9404, PR libstdc++/9701 (partial)
7392         (aka pptr == epptr implies overflow)
7393         * include/bits/fstream.tcc (_M_allocate_internal_buffer):
7394         Consistently, _M_out_end points to the end of the buffer just
7395         created.
7396         (overflow): Tweak to use _M_out_buf_size().
7397         (_M_convert_to_external): The role of the old _M_out_end is
7398         now played by _M_out_lim.
7399         (_M_really_overflow): Likewise.
7400         (seekoff): Likewise.
7401         (setbuf): _M_out_end points to the end of the external buffer.
7402         * include/bits/sstream.tcc (overflow): Rewrote, taking into
7403         account the resolution of DR 169 (TC).
7404         (seekoff): Use _M_string.capacity(); ios_base::end is now _M_out_lim.
7405         (seekpos): Use _M_string.capacity(); tweak.
7406         * include/bits/streambuf.tcc (sputc, xsputn): Remove comments.
7407         * include/std/std_fstream.h (sync): The role of the old
7408         _M_out_end is now played by _M_out_lim.
7409         (_M_set_indeterminate): Use _M_set_determinate.
7410         (_M_set_determinate): _M_out_end is now _M_out_lim.
7411         (_M_is_indeterminate): Likewise.
7412         * include/std/std_sstream.h (str()): _M_out_end is now _M_out_lim.
7413         (_M_stringbuf_init): Don't set _M_buf_size, unused for sstreams,
7414         which have the information readily available as _M_string.capacity();
7415         for ate and app modes, pass the string size to _M_really_sync.
7416         (_M_really_sync): Consistently set _M_out_end and _M_out_lim, to
7417         point to the end of the buffer (i.e., epptr) and to the string end,
7418         respectively.
7419         * include/std/std_streambuf.h: tweak comments, add _M_out_lim,
7420         which points to the right limit of the used put area.
7421         (_M_out_cur_move): The role of the old _M_out_end is now played
7422         by _M_out_lim.
7423         (_M_out_buf_size): Simplify: now (when _M_out_cur) return simply
7424         _M_out_end  - _M_out_cur (i.e., pptr), _very_ close to the letter
7425         of the standard.
7426         (basic_streambuf()): Initialize _M_out_lim too.
7427         * testsuite/27_io/filebuf_virtuals.cc (test10): Trivial tweak.
7428         * testsuite/27_io/filebuf_virtuals.cc (test11): Add.
7429         * testsuite/27_io/stringbuf_virtuals.cc (test09): Add.
7430
7431 2003-02-24  Benjamin Kosnik  <bkoz@redhat.com>
7432
7433         * testsuite/27_io/ios_base_storage.cc (main): Call
7434         set_memory_limits.
7435
7436 2003-02-21  Jerry Quinn  <jlquinn@optonline.net>
7437
7438         * include/bits/locale_facets.tcc (_M_convert_float): Replace
7439         numpunct facet accesses with data from __locale_cache.
7440
7441 2003-02-20  Phil Edwards  <pme@gcc.gnu.org>
7442
7443         * docs/html/faq/index.html (3.9):  New note, wchar_t on FreeBSD.
7444         * docs/html/faq/index.txt:  Regenerate.
7445
7446 2003-02-20  Phil Edwards  <pme@gcc.gnu.org>
7447
7448         * config/linker-map.gnu:  Also export locking symbols needed for the
7449         generic atomicity.h case.
7450
7451 2003-02-20  Alexandre Oliva  <aoliva@redhat.com>
7452
7453         * configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to
7454         config.status.
7455         * configure: Rebuilt.
7456
7457 2003-02-19  Paolo Carlini  <pcarlini@unitus.it>
7458
7459         * include/bits/sstream.tcc (overflow): According to
7460         27.7.1.3, p5, actual output is performed by sputc(c).
7461
7462 2003-02-19  Phil Edwards  <pme@gcc.gnu.org>
7463
7464         PR libstdc++/9582
7465         * include/bits/stl_alloc.h:  Remove all traces of assert().
7466
7467 2003-02-18  Paolo Carlini  <pcarlini@unitus.it>
7468
7469         * include/std/std_sstream.h (str()): the size of the
7470         current string may be different from the initial one
7471         whenever _M_out_end > _M_out_beg.
7472         * testsuite/27_io/stringbuf_members.cc (test07): Add.
7473
7474 2003-02-18  Paolo Carlini  <pcarlini@unitus.it>
7475
7476         PR libstdc++/9582
7477         * include/bits/stl_alloc.h (__pool_alloc::allocate): Remove assert.
7478
7479 2003-02-17  Benjamin Kosnik  <bkoz@redhat.com>
7480
7481         * include/bits/basic_ios.tcc (copyfmt): Copy locale data as well.
7482         * testsuite/27_io/ios_members.cc (test03): New.
7483
7484 2003-02-17  Jerry Quinn  <jlquinn@optonline.net>
7485
7486         * include/bits/basic_ios.h (basic_ios::_M_cache_locale): Declare.
7487         (basic_ios::_M_cache_facets): Move into above.
7488         * include/bits/basic_ios.tcc (basic_ios::copyfmt): Rebuild locale
7489         cache.
7490         (basic_ios::imbue): Force locale cache to be built.
7491         (basic_ios::_M_init): Create and initialize locale cache.
7492         * include/bits/ios_base.h (__locale_cache_base): Declare.
7493         (ios_base::_M_locale_cache): New.
7494         (ios_base::_M_cache): Define.
7495         * include/bits/locale_facets.h: (__num_base): Fix comment.  Add
7496         _S_end.
7497         (__locale_cache_base,__locale_cache<_CharT>):  New classes.
7498         (__locale_cache<char>, __locale_cache<wchar_t>): New specializations.
7499         * include/bits/locale_facets.tcc (num_put::_M_convert_int): Use locale
7500         cache literal string, grouping flag, thousands separator.
7501         (__locale_cache<_CharT>::__locale_cache): New.
7502         (__locale_cache<_CharT>::_M_init): New.
7503         * src/ios.cc: Clear _M_locale_cache in constructor.
7504         * src/locale-inst.cc (__locale_cache<char>, __locale_cache<_char_t>):
7505         New.
7506
7507 2003-02-17  Paolo Carlini  <pcarlini@unitus.it>
7508
7509         * src/locale-inst.cc: Do not include <cassert>.
7510         * src/locale.cc: Likewise.
7511
7512 2003-02-17  Paolo Carlini  <pcarlini@unitus.it>
7513
7514         PR libstdc++/9580
7515         * include/std/std_fstream.h: Declare underflow and uflow
7516         specializations, change generic definitions to do nothing.
7517         * src/fstream.cc: Add underflow and uflow specializations.
7518
7519 2003-02-17  Paolo Carlini  <pcarlini@unitus.it>
7520
7521         PR libstdc++/9169
7522         * include/bits/fstream.tcc (_M_convert_to_external):
7523         Deal correctly with noconv, as prescribed by 27.8.1.4,p8.
7524         * testsuite/27_io/filebuf_virtuals.cc (test10): Add.
7525
7526 2003-02-13  Benjamin Kosnik  <bkoz@redhat.com>
7527
7528         * include/bits/c++config (_GLIBCPP_EXTERN_TEMPLATE): Define.
7529         * include/bits/basic_ios.tcc: Guard use of extern template.
7530         * include/std/std_iomanip.h: Same.
7531         * include/bits/streambuf.tcc: Same.
7532         * include/bits/stl_alloc.h: Same.
7533         * include/bits/locale_facets.tcc: Same.
7534         * include/bits/ostream.tcc: Same.
7535         * include/bits/istream.tcc: Same.
7536         * include/bits/fstream.tcc: Same.
7537         * include/bits/basic_string.tcc: Same.
7538
7539 2003-02-13  Paolo Carlini  <pcarlini@unitus.it>
7540
7541         * include/bits/ostream.tcc (sentry::sentry): Improve
7542         performance-wise the fix for libstdc++/9563.
7543
7544 2003-02-12  Phil Edwards  <pme@gcc.gnu.org>
7545
7546         * config/cpu/generic/atomicity.h (_Atomic_add_mutex):  Fix declaration.
7547         (_GLIBCPP_NEED_GENERIC_MUTEX):  Define for this file.
7548         (_Atomic_add_mutex_once, __gthread_atomic_add_mutex_once):  Declare
7549         when we don't have static mutex initialization.
7550         (__exchange_and_add):  Use _Atomic_add_mutex_once.
7551         * src/misc-inst.cc:  Definitions of all the above.
7552
7553 2003-02-12  Paolo Carlini  <pcarlini@unitus.it>
7554
7555         PR libstdc++/9563
7556         * include/bits/ostream.tcc (sentry::sentry): Check
7557         the state of the stream after the preparation.
7558         * testsuite/27_io/ostream_sentry.cc (test02): Add.
7559
7560 2003-02-11  Benjamin Kosnik  <bkoz@redhat.com>
7561
7562         * include/Makefile.am (stamp-std-precompile): Add rule.
7563         * include/Makefile.in: Regenerated.
7564
7565 2003-02-11 Jerry Quinn  <jlquinn@optonline.net>
7566            Benjamin Kosnik  <benjamin@redhat.com>
7567
7568         * include/bits/locale_facets.h (__num_base): Add _S_atoms_out.
7569         Add indexes into this array.
7570         (__num_base::_S_atoms): To _S_atoms_in.
7571         (num_put::_M_insert): Rename to _M_pad.
7572         (num_put::_M_convert_int): Adjust remove __mod, __modl arguments.
7573         (num_put::_M_widen_int): Rename to _M_group_int.
7574         (num_put::_M_widen_float): Rename to _M_group_float.
7575         * include/bits/locale_facets.tcc (__int_to_char): New inline
7576         function and adapter functions.
7577         (num_put::_M_group_int): Streamline.
7578         (num_put::_M_group_float): Streamline.
7579         (num_put::_M_convert_int): Remove unused parameter names. Choose
7580         large enough buffer for text.  Use __int_to_char instead of
7581         __convert_from_v.  Formatted text is now at the end of the buffer.
7582         (num_put::_M_convert_float): Preliminary fixups.
7583         * src/locale-inst.cc (__convert_from_v<long long>): Add ifdef.
7584         (__int_to_char<unsigned long long>): Same.
7585         (__int_to_char<char, unsigned long>): New.
7586         (__int_to_char<char, unsigned long long>): New.
7587         (__int_to_char<wchar_t, unsigned long>): New.
7588         (__int_to_char<wchar_t, unsigned long long>): New.
7589
7590 2003-02-11  Scott Snyder  <snyder@fnal.gov>
7591
7592         PR libstdc++/9659
7593         * include/bits/fstream.tcc (seekoff): Avoid operator+
7594         for pos_type.
7595
7596 2003-02-11  Paolo Carlini  <pcarlini@unitus.it>
7597
7598         PR libstdc++/9320
7599         * include/ext/stdio_filebuf.h
7600         (stdio_filebuf(int, std::ios_base::openmode, bool, int_type),
7601         stdio_filebuf(std::__c_file*, std::ios_base::openmode, int_type)):
7602         Change to take a __size parameter of type size_t, not
7603         of type (template parameter dependent) int_type.
7604         * src/ios.cc (ios_base::Init::_S_ios_create): Change type of
7605         size vars to size_t.
7606         * testsuite/ext/stdio_filebuf.cc: Add.
7607
7608 2003-02-11  Paolo Carlini  <pcarlini@unitus.it>
7609             Petur Runolfsson  <peturr02@ru.is>
7610
7611         PR libstdc++/9318
7612         * include/bits/streambuf.tcc (__copy_streambufs):
7613         Don't conditionalize the copy to __testput.
7614         * testsuite/27_io/streambuf_members.cc (test09, test10): Add.
7615
7616 2002-02-11  DJ Delorie  <dj@redhat.com>
7617
7618         * acinclude.m4: Check for native targets that can't link at
7619         this point in the build.
7620         * aclocal.m4: Regenerate.
7621         * configure: Regenerate.
7622
7623 2003-02-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
7624
7625         * hppa/atomicity.h (__Atomicity_lock<__inst>::_S_atomicity_lock):
7626         Correct alignment.
7627         (__exchange_and_add, __atomic_add): Use PA 2.0 ordered store to reset
7628         lock.
7629
7630 2003-02-07  Paolo Carlini  <pcarlini@unitus.it>
7631
7632         * testsuite/27_io/filebuf_virtuals.cc (test08): Fix for
7633         unsigned char platforms.
7634
7635 2003-02-06  Paolo Carlini  <pcarlini@unitus.it>
7636
7637         PR libstdc++/9562
7638         * include/std/std_istream.h
7639         (basic_istream::sentry::operator bool()): Make const.
7640         * include/std/std_ostream.h
7641         (basic_ostream::sentry::operator bool()): Likewise.
7642         * testsuite/27_io/istream_sentry.cc (test03): Add.
7643         * testsuite/27_io/ostream_sentry.cc: Add.
7644
7645 2003-02-06  Paolo Carlini  <pcarlini@unitus.it>
7646
7647         PR libstdc++/9548
7648         Implement resolution of DR 231 (Ready)
7649         * include/bits/locale_facets.h (__num_base::_S_format_float):
7650         Change declaration: return void, remove __prec parameter.
7651         * src/locale.cc (__num_base::_S_format_float): Implement
7652         resolution of DR 231.
7653         * include/bits/locale_facets.tcc (num_put::_M_convert_float):
7654         Tweak uses. Check for negative precision.
7655         * testsuite/22_locale/num_put/put/char/6.cc: Add
7656         * testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
7657
7658 2003-02-06  Peter Soetens  <peter.soetens@mech.kuleuven.ac.be>
7659
7660         * config/io/basic_file_libio.h: Fixups.
7661         * config/io/c_io_libio.h: Same.
7662         * libio/Makefile.am: Same.
7663         * libio/Makefile.in: Regenerated.
7664
7665 2003-02-06  Benjamin Kosnik  <bkoz@redhat.com>
7666
7667         * testsuite/22_locale/codecvt/encoding/wchar_t/1.cc (test01):
7668         Explicitly use the "C" locale.
7669         * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc (test01): Same.
7670
7671 2003-02-06  Petur Runolfsson  <peturr02@ru.is>
7672
7673         DR 75
7674         DR 305
7675         PR libstdc++/9028 (partial)
7676         PR libstdc++/9224
7677         PR libstdc++/9246
7678         PR libstdc++/9247
7679
7680         * src/codecvt.cc
7681         (codecvt<wchar_t, char, mbstate_t>::do_encoding,
7682         codecvt<wchar_t, char, mbstate_t>::do_length,
7683         codecvt<wchar_t, char, mbstate_t>::do_max_length):
7684         Move...
7685         * config/locale/generic/codecvt_members.cc:  ...here.
7686         * config/locale/gnu/codecvt_members.cc:  ...and here.
7687
7688         * config/locale/generic/codecvt_members.cc,
7689         * config/locale/gnu/codecvt_members.cc
7690         (codecvt<wchar_t, char, mbstate_t>::do_encoding
7691         codecvt<wchar_t, char, mbstate_t>::do_in,
7692         codecvt<wchar_t, char, mbstate_t>::do_length,
7693         codecvt<wchar_t, char, mbstate_t>::do_max_length,
7694         codecvt<wchar_t, char, mbstate_t>::do_out):
7695         New implementation that handles stateless encodings,
7696         including UTF-8.
7697
7698         * config/locale/generic/codecvt_members.cc,
7699         * config/locale/gnu/codecvt_members.cc,
7700         * config/locale/ieee_1003.1-2001/codecvt_specializations.h,
7701         * include/bits/codecvt.h,
7702         * src/codecvt.cc
7703         (codecvt::length, codecvt::do_length):
7704         Change type of first argument of length and do_length from
7705         'const state_type&' to 'state_type&' according to DR 75.
7706
7707         * testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc:  Cleanup.
7708         * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc:  New test.
7709         * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc:  New test.
7710         * testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc:  New test.
7711         * testsuite/22_locale/codecvt/encoding/wchar_t/1.cc:
7712         Cleanup and check for correct return value from encoding
7713         for "C" locale.
7714         * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc:  New test.
7715         * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc:  New test.
7716         * testsuite/22_locale/codecvt/encoding/wchar_t/4.cc:  New test.
7717         * testsuite/22_locale/codecvt/in/wchar_t/1.cc:  Cleanup.
7718         * testsuite/22_locale/codecvt/in/wchar_t/2.cc:  New test.
7719         * testsuite/22_locale/codecvt/in/wchar_t/3.cc:  New test.
7720         * testsuite/22_locale/codecvt/in/wchar_t/4.cc:  New test.
7721         * testsuite/22_locale/codecvt/in/wchar_t/5.cc:  New test.
7722         * testsuite/22_locale/codecvt/in/wchar_t/6.cc:  New test.
7723         * testsuite/22_locale/codecvt/in/wchar_t/7.cc:  New test.
7724         * testsuite/22_locale/codecvt/in/wchar_t/8.cc:  New test.
7725         * testsuite/22_locale/codecvt/in/wchar_t/9.cc:  New test.
7726         * testsuite/22_locale/codecvt/length/char/1.cc:  Cleanup.
7727         * testsuite/22_locale/codecvt/length/char/2.cc:  New test.
7728         * testsuite/22_locale/codecvt/length/wchar_t/1.cc:  Cleanup.
7729         * testsuite/22_locale/codecvt/length/wchar_t/2.cc:  New test.
7730         * testsuite/22_locale/codecvt/length/wchar_t/3.cc:  New test.
7731         * testsuite/22_locale/codecvt/length/wchar_t/4.cc:  New test.
7732         * testsuite/22_locale/codecvt/length/wchar_t/5.cc:  New test.
7733         * testsuite/22_locale/codecvt/length/wchar_t/6.cc:  New test.
7734         * testsuite/22_locale/codecvt/length/wchar_t/7.cc:  New test.
7735         * testsuite/22_locale/codecvt/max_length/wchar_t/1.cc:  Cleanup.
7736         * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc:  New test.
7737         * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc:  New test.
7738         * testsuite/22_locale/codecvt/max_length/wchar_t/4.cc:  New test.
7739         * testsuite/22_locale/codecvt/out/wchar_t/1.cc:  Cleanup.
7740         * testsuite/22_locale/codecvt/out/wchar_t/2.cc:  New test.
7741         * testsuite/22_locale/codecvt/out/wchar_t/3.cc:  New test.
7742         * testsuite/22_locale/codecvt/out/wchar_t/4.cc:  New test.
7743         * testsuite/22_locale/codecvt/out/wchar_t/5.cc:  New test.
7744         * testsuite/22_locale/codecvt/out/wchar_t/6.cc:  New test.
7745         * testsuite/22_locale/codecvt/out/wchar_t/7.cc:  New test.
7746         * testsuite/22_locale/codecvt/unicode/1.cc:  New test.
7747         * testsuite/22_locale/codecvt/unshift/wchar_t/1.cc:  Cleanup.
7748         * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc:  New test.
7749         * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc:  New test.
7750         * testsuite/22_locale/codecvt/unshfit/wchar_t/4.cc:  New test.
7751
7752 2003-02-05  Benjamin Kosnik  <bkoz@redhat.com>
7753
7754         * include/bits/locale_facets.tcc (time_put::do_put): Use __write.
7755         (money_put::do_put): Same.
7756
7757 2003-02-05  Jerry Quinn  <jlquinn@optonline.net>
7758
7759         * include/bits/ios_base.h (ios_base): Document reserved storage.
7760
7761         * include/bits/locale_facets.h: (struct __pad): Comment on
7762         implementation.
7763         (__verify_grouping): Same.
7764         (__add_grouping): Same.
7765         * include/bits/locale_facets.tcc (__verify_grouping): Move
7766         comments to declaration.
7767         (__add_grouping): Same.
7768
7769         * include/bits/locale_facets.tcc:
7770         (__write<_CharT, _OutIter>): New function.
7771         (__write<_CharT>): New function specialization.
7772         (num_put::_M_insert): Remove explicit loop over iterator.  Use
7773         __write.
7774         (num_put::_M_widen_float): Remove __basefield.
7775         (num_put::_M_widen_int): Move __basefield to within grouping block.
7776
7777         * include/bits/streambuf_iterator.h: Include <streambuf>.
7778         (ostreambuf_iterator::_M_put): Add.
7779
7780 2003-02-05  Paolo Carlini  <pcarlini@unitus.it>
7781
7782         * testsuite/26_numerics/valarray_name_lookup.cc: Fix typo.
7783
7784 2003-02-04  Nathan Myers  <ncm@cantrip.org>
7785
7786         * testsuite/25_algorithms/min_max.cc (test02): Add.
7787
7788 2003-02-04  Paolo Carlini  <pcarlini@unitus.it>
7789
7790         PR libstdc++/9439, PR libstdc++/9425
7791         * config/io/basic_file_stdio.cc
7792         (__basic_file<char>::seekoff, seekpos): Return -1L if
7793         fseek fails.
7794         * include/bits/fstream.tcc (basic_filebuf::seekoff):
7795         Check _M_file.seekoff return value; always return
7796         pos_type(off_type(-1)) in case of failure.
7797         (basic_filebuf::pbackfail): Check this->seekoff return
7798         value and return traits_type::eof() in case of failure.
7799         * testsuite/27_io/filebuf_virtuals.cc (test09): Add.
7800
7801 2003-02-04  Jerry Quinn  <jlquinn@optonline.net>
7802
7803         * include/std/std_ostream.h (ostream::_M_write): Declare.
7804         * ostream.tcc (ostream::_M_write): Define.
7805         (basic_ostream::write): Use it.
7806         (operator<<(basic_ostream, _CharT)): Ditto.
7807         (operator<<(basic_ostream, char)): Ditto.
7808         (operator<<(basic_ostream, _CharT*)): Ditto.
7809         (operator<<(basic_ostream, char*)): Ditto.
7810         (operator<<(basic_ostream, basic_string)): Ditto.
7811
7812 2003-02-04  Benjamin Kosnik  <bkoz@redhat.com>
7813
7814         * testsuite/26_numerics/valarray_name_lookup.cc: Fix.
7815
7816 2002-02-04  Jonathan Wakely  <redi@gcc.gnu.org>
7817
7818         * docs/html/27_io/howto.html: Link to Dietmar Kuehl's IOStream page,
7819         add HTML comment about updating links if numbering changes.
7820
7821 2003-02-04  Paolo Carlini  <pcarlini@unitus.it>
7822
7823         PR libstdc++/9538
7824         * include/bits/streambuf.tcc (sputbackc): Access
7825         this->gptr()[-1] only if _M_in_beg < _M_in_cur.
7826         * testsuite/27_io/filebuf_virtuals.cc (test08): Add.
7827
7828 2003-02-04  Paolo Carlini  <pcarlini@unitus.it>
7829
7830         PR libstdc++/9507
7831         * include/bits/fstream.tcc (open): If the 'ate' repositioning
7832         operation fails, calls close _and_ returns a null pointer
7833         to indicate failure (27.8.1.3,4).
7834         * testsuite/27_io/filebuf_members.cc (test_06): Add.
7835
7836 2003-02-04  Petur Runolfsson  <peturr02@ru.is>
7837
7838         * testsuite/27_io/filebuf_members.cc (test_04): Remove exit(0).
7839
7840 2002-02-04  Jonathan Wakely  <redi@gcc.gnu.org>
7841
7842         * docs/html/27_io/howto.html: New section on stdio_filebuf.
7843         * docs/html/ext/howto.html: Move stdio_filebuf notes to 27_io.
7844         * docs/html/documentation.html: Regenerate.
7845
7846 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
7847
7848         * docs/html/17_intro/porting.texi: Update to GFDL 1.2.
7849         * docs/html/17_intro/porting.html: Regenerate.
7850
7851 2003-02-03  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
7852             Phil Edwards  <pme@gcc.gnu.org>
7853
7854         * include/std/std_bitset.h:  Replace CHAR_BIT with __CHAR_BIT__, use
7855         numeric_limits for bits-per-word values.
7856         (_Base_bitset::_M_do_count, _Base_bitset<1>::_M_do_count):
7857         Use __builtin_popcountl instead.
7858         (_Base_bitset::_M_do_find_first, _Base_bitset::_M_do_find_next,
7859         _Base_bitset<1>::_M_do_find_first, _Base_bitset<1>::_M_do_find_next):
7860         Use __builtin_ctzl instead.
7861         (_S_bit_count, _S_first_one):  Remove.
7862         * config/linker-map.gnu (GLIBCPP_3.4):  Remove std::_S_bit_count.
7863         * src/Makefile.am (sources):  Remove bitset.cc.
7864         * src/bitset.cc:  Delete file.
7865         * src/Makefile.in:  Regenerate.
7866
7867 2003-02-03  Phil Edwards  <pme@gcc.gnu.org>
7868
7869         PR libstdc++/9527, PR libstdc++/8713
7870         * docs/html/install.html:  Mention glibc version requirement.
7871         * docs/html/faq/index.html (3.8):  New note, glibc 2.2.5+ is needed
7872         with 3.2.1+ (formatting bugfixes).
7873         * docs/html/faq/index.txt:  Regenerate.
7874
7875 2003-02-03  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
7876
7877         PR libstdc++/9234
7878         * include/bits/valarray_before.h (_UnBase::operator[]): Apply unary
7879         operator.
7880
7881         * include/bits/valarray_before.h (__not_equal_to): Use != instead
7882         of ==.
7883
7884         * testsuite/26_numerics/valarray_operators.cc: New test.
7885
7886 2003-02-01  Phil Edwards  <pme@gcc.gnu.org>
7887
7888         * docs/html/faq/index.html:  Correct link to libg++ information.
7889         * docs/html/faq/index.txt:  Regenerated.
7890
7891 2003-02-01  Paolo Carlini  <pcarlini@unitus.it>
7892             Benjamin Kosnik  <bkoz@redhat.com>
7893
7894         Const correctness issue:
7895         http://gcc.gnu.org/ml/libstdc++/2003-01/msg00370.html
7896         * include/bits/locale_classes.h
7897         (locale::_Impl::_M_facets): Change type to const facet**.
7898         (locale::_Impl::_M_install_facet): Change declaration to
7899         take const facet*.
7900         (locale::facet::_M_references): Make mutable.
7901         (locale::facet::_M_add_reference): Declare const.
7902         (locale::facet::_M_remove_reference): Likewise.
7903         * include/bits/locale_facets.tcc
7904         (use_facet(const locale&)): Tweak for const facet** _M_facets.
7905         (has_facet(const locale&)): Likewise.
7906         * src/locale.cc
7907         (locale::facet::_M_add_reference): Adjust definition.
7908         (locale::facet::_M_remove_reference): Likewise.
7909         * src/localename.cc
7910         (locale::_Impl::_Impl(const _Impl&, size_t)): Tweak for
7911         const facet** _M_facets.
7912         (locale::_Impl::_Impl(const char*, size_t)): Likewise.
7913         (locale::_Impl::_Impl(facet**, size_t, bool)): Likewise.
7914         (locale::_Impl::_M_install_facet): Adjust definition to take
7915         const facet* and for const facet** _M_facets.
7916         * testsuite/22_locale/locale/cons/8.cc: Add.
7917
7918 2003-01-29  Mark Mitchell  <mark@codesourcery.com>
7919
7920         * include/std/std_limits.h (numeric_limits<float>::has_infinity):
7921         Use __FLT_HAS_INIFINITY__ to initialize.
7922         (numeric_limits<float>::has_quiet_NaN): Likewise.
7923         (numeric_limits<double>::has_infinity): Use __DBL_HAS_INIFINITY__
7924         to initialize.
7925         (numeric_limits<double>::has_quiet_NaN): Likewise.
7926         (numeric_limits<long double>::has_infinity): Use
7927         __LDBL_HAS_INIFINITY__ to initialize.
7928         (numeric_limits<long_double>::has_quiet_NaN): Likewise.
7929
7930 2003-01-28  Nathan Sidwell  <nathan@codesourcery.com>
7931
7932         PR c++/9433
7933         * libsupc++/tinfo.cc (__vmi_class_type_info::__do_dyncast): Cope
7934         with bases which are very ambiguous.
7935
7936 2003-01-28  Danny Smith  <dannysmith@users.sourceforge.net>
7937
7938         * src/Makefile.am (CONFIG_CXXFLAGS): Reverse order of
7939         @EXTRA_CXX_FLAGS@ @SECTION_FLAGS@.
7940         * libsupc++/Makefile.am (CONFIG_CXXFLAGS): Likewise.
7941         * src/Makefile.in: Regenerate.
7942         * libsupc++/Makefile.in: Regenerate.
7943
7944 2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
7945
7946         * acinclude.m4 (glibcpp_toolexeclibdir): Instead of
7947         $(MULTISUBDIR), use `$CC -print-multi-os-directory`, unless
7948         version_specific_libs is enabled.
7949         * aclocal.m4, configure: Rebuilt.
7950
7951 2003-01-24  Nathan Sidwell  <nathan@codesourcery.com>
7952
7953         * include/bits/valarray_meta.h: Remove, split into ...
7954         * include/bits/valarray_before.h: ... this, and ...
7955         * include/bits/valarray_after.h: ... this.
7956         * include/std/std_valarray.h: Adjust.
7957         * include/Makefile.am (bits_headers): Adjust.
7958         * include/Makefile.in: Regenerate.
7959
7960 2003-01-24  Andreas Schwab  <schwab@suse.de>
7961
7962         * config/linker-map.gnu: Fix for size_t variance.
7963
7964 2003-01-23  Petur Runolfsson  <peturr02@ru.is>
7965
7966         PR libstdc++/9322
7967         * include/std/std_streambuf.h
7968         (basic_streambuf::basic_streambuf,
7969         basic_streambuf::~basic_streambuf,
7970         basic_streambuf::getloc, basic_streambuf::imbue):
7971         Remove _M_buf_locale_init
7972         * include/bits/fstream.tcc (basic_filebuf::imbue):  Likewise
7973         * testsuite/27_io/filebuf_virtuals.cc (test08):  Add.
7974         * testsuite/27_io/streambuf_members.cc (test08):  Add.
7975         * testsuite/27_io/stringbuf_virtuals.cc (test08):  Add.
7976
7977 2003-01-23  Benjamin Kosnik  <bkoz@redhat.com>
7978
7979         Revert include ordering.
7980         * config/locale/generic/c_locale.h: Add include guards.
7981         * config/locale/gnu/c_locale.h: Same.
7982         * include/bits/locale_classes.h: Remove cctype include.
7983         * include/std/std_iosfwd.h: Add c++locale.h, cctype includes.
7984         * include/std/std_fstream.h: Remove streambuf include.
7985         * include/std/std_sstream.h: Remove streambuf include.
7986
7987 2003-01-23  Benjamin Kosnik  <bkoz@redhat.com>
7988
7989         * configure.in (libtool_VERSION): To 6:0:0.
7990         * configure: Regenerated.
7991         * config/linker-map.gnu: Clean.
7992
7993         * src/misc-inst.cc: Remove instantiations.
7994
7995         * include/bits/stl_alloc.h (__malloc_alloc_template):
7996         To __malloc_alloc.
7997         (__default_alloc_template): To __pool_alloc.
7998         * src/stl-inst.cc: Same.
7999         * include/backward/alloc.h: Update.
8000         * testsuite/ext/allocators.cc: Update.
8001
8002         * src/globals.cc (__gnu_cxx): Remove _GLIBCPP_ASM_SYMVER. Should
8003         really try to remove these if possible.
8004         * src/locale.cc (std): Same.
8005
8006         * testsuite/abi_check.cc (check_version): Add.
8007
8008 2003-01-22  Benjamin Kosnik  <bkoz@redhat.com>
8009             Sysoltsev Slawa  <Vyatcheslav.Sysoltsev@intel.com>
8010             Mark Mitchell  <mark@codesourcery.com>
8011
8012         PR libstdc++/9269
8013         * include/std/std_fstream.h (basic_filebuf::uflow): Declare.
8014         (basic_filebuf::underflow): Declare.
8015         Move definitions.
8016
8017 2003-01-22  Benjamin Kosnik  <bkoz@redhat.com>
8018
8019         * include/bits/locale_facets.h: Move non-facet classes requiring
8020         <string> to...
8021         * include/bits/locale_classes.h: New.
8022         * include/bits/Makefile.am (bits_headers_src): Add locale_classes.h.
8023         * include/bits/Makefile.in: Regenerate.
8024
8025         * include/bits/locale_facets.tcc (__convert_from_v): Move to...
8026         * config/locale/gnu/c_locale.h: ...here.
8027         * config/locale/generic/c_locale.h: Same.
8028
8029         * include/bits/locale_facets.tcc: Move declarations to...
8030         * include/bits/locale_facets.h: ...here.
8031         * include/bits/basic_ios.h: Tweak includes accordingly.
8032         * include/std/std_sstream.h: Add streambuf include.
8033         * include/std/std_fstream.h: Ditto.
8034         * include/std/std_locale.h: Add locale_classes.h include.
8035         * include/std/std_iosfwd.h: Tweak.
8036         * src/concept-inst.cc: Add iterator include.
8037
8038         * config/linker-map.gnu: Specify __cxa functions, mark __cxa_dyn_*
8039         bits as unexported in the future.
8040
8041 2003-01-21  Benjamin Kosnik  <bkoz@redhat.com>
8042
8043         Reshuffle 22_locale testsuite.
8044         * 22_locale/(codecvt.cc money_get.cc
8045         codecvt_members_char_char.cc money_get_members_char.cc
8046         codecvt_members_unicode_char.cc money_get_members_wchar_t.cc
8047         codecvt_members_unicode_wchar_t.cc moneypunct_byname.cc
8048         codecvt_members_wchar_t_char.cc moneypunct.cc collate_byname.cc
8049         moneypunct_members_char.cc collate.cc moneypunct_members_wchar_t.cc
8050         collate_members_char.cc money_put.cc collate_members_wchar_t.cc
8051         money_put_members_char.cc ctor_copy_dtor.cc
8052         money_put_members_wchar_t.cc ctype.cc num_get.cc ctype_is_char.cc
8053         num_get_members_char.cc ctype_is_wchar_t.cc num_get_members_wchar_t.cc
8054         ctype_members_char.cc numpunct_byname.cc ctype_members_wchar_t.cc
8055         numpunct.cc ctype_narrow_char.cc numpunct_members_char.cc
8056         ctype_narrow_wchar_t.cc numpunct_members_wchar_t.cc ctype_scan_char.cc
8057         num_put.cc ctype_scan_wchar_t.cc num_put_members_char.cc
8058         ctype_to_char.cc num_put_members_wchar_t.cc ctype_to_wchar_t.cc
8059         operators.cc ctype_widen_char.cc static_members.cc
8060         ctype_widen_wchar_t.cc time_get.cc facet.cc time_get_members_char.cc
8061         global_templates.cc time_get_members_wchar_t.cc, members.cc,
8062         time_put.cc, messages_byname.cc, time_put_members_char.cc,
8063         messages.cc, time_put_members_wchar_t.cc, messages_members_char.cc):
8064         Split up into individual test cases...
8065         * 22_locale/codecvt/1.cc: New.
8066         * 22_locale/codecvt/2.cc: New.
8067         * 22_locale/codecvt/always_noconv/char/1.cc: New.
8068         * 22_locale/codecvt/always_noconv/char/wrapped_env.cc: New.
8069         * 22_locale/codecvt/always_noconv/char/wrapped_locale.cc: New.
8070         * 22_locale/codecvt/always_noconv/wchar_t/1.cc: New.
8071         * 22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc: New.
8072         * 22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc: New.
8073         * 22_locale/codecvt/encoding/char/1.cc: New.
8074         * 22_locale/codecvt/encoding/char/wrapped_env.cc: New.
8075         * 22_locale/codecvt/encoding/char/wrapped_locale.cc: New.
8076         * 22_locale/codecvt/encoding/wchar_t/1.cc: New.
8077         * 22_locale/codecvt/encoding/wchar_t/wrapped_env.cc: New.
8078         * 22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc: New.
8079         * 22_locale/codecvt/in/char/1.cc: New.
8080         * 22_locale/codecvt/in/char/wrapped_env.cc: New.
8081         * 22_locale/codecvt/in/char/wrapped_locale.cc: New.
8082         * 22_locale/codecvt/in/wchar_t/1.cc: New.
8083         * 22_locale/codecvt/in/wchar_t/wrapped_env.cc: New.
8084         * 22_locale/codecvt/in/wchar_t/wrapped_locale.cc: New.
8085         * 22_locale/codecvt/length/char/1.cc: New.
8086         * 22_locale/codecvt/length/char/wrapped_env.cc: New.
8087         * 22_locale/codecvt/length/char/wrapped_locale.cc: New.
8088         * 22_locale/codecvt/length/wchar_t/1.cc: New.
8089         * 22_locale/codecvt/length/wchar_t/wrapped_env.cc: New.
8090         * 22_locale/codecvt/length/wchar_t/wrapped_locale.cc: New.
8091         * 22_locale/codecvt/max_length/char/1.cc: New.
8092         * 22_locale/codecvt/max_length/char/wrapped_env.cc: New.
8093         * 22_locale/codecvt/max_length/char/wrapped_locale.cc: New.
8094         * 22_locale/codecvt/max_length/wchar_t/1.cc: New.
8095         * 22_locale/codecvt/max_length/wchar_t/wrapped_env.cc: New.
8096         * 22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc: New.
8097         * 22_locale/codecvt/out/char/1.cc: New.
8098         * 22_locale/codecvt/out/char/wrapped_env.cc: New.
8099         * 22_locale/codecvt/out/char/wrapped_locale.cc: New.
8100         * 22_locale/codecvt/out/wchar_t/1.cc: New.
8101         * 22_locale/codecvt/out/wchar_t/wrapped_env.cc: New.
8102         * 22_locale/codecvt/out/wchar_t/wrapped_locale.cc: New.
8103         * 22_locale/codecvt/unicode/char.cc: New.
8104         * 22_locale/codecvt/unicode/wchar_t.cc: New.
8105         * 22_locale/codecvt/unshift/char/1.cc: New.
8106         * 22_locale/codecvt/unshift/char/wrapped_env.cc: New.
8107         * 22_locale/codecvt/unshift/char/wrapped_locale.cc: New.
8108         * 22_locale/codecvt/unshift/wchar_t/1.cc: New.
8109         * 22_locale/codecvt/unshift/wchar_t/wrapped_env.cc: New.
8110         * 22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc: New.
8111         * 22_locale/collate/1.cc: New.
8112         * 22_locale/collate/2.cc: New.
8113         * 22_locale/collate/compare/char/1.cc: New.
8114         * 22_locale/collate/compare/char/2.cc: New.
8115         * 22_locale/collate/compare/char/wrapped_env.cc: New.
8116         * 22_locale/collate/compare/char/wrapped_locale.cc: New.
8117         * 22_locale/collate/compare/wchar_t/1.cc: New.
8118         * 22_locale/collate/compare/wchar_t/2.cc: New.
8119         * 22_locale/collate/compare/wchar_t/wrapped_env.cc: New.
8120         * 22_locale/collate/compare/wchar_t/wrapped_locale.cc: New.
8121         * 22_locale/collate/hash/char/1.cc: New.
8122         * 22_locale/collate/hash/char/2.cc: New.
8123         * 22_locale/collate/hash/char/wrapped_env.cc: New.
8124         * 22_locale/collate/hash/char/wrapped_locale.cc: New.
8125         * 22_locale/collate/hash/wchar_t/1.cc: New.
8126         * 22_locale/collate/hash/wchar_t/2.cc: New.
8127         * 22_locale/collate/hash/wchar_t/wrapped_env.cc: New.
8128         * 22_locale/collate/hash/wchar_t/wrapped_locale.cc: New.
8129         * 22_locale/collate/transform/char/2.cc: New.
8130         * 22_locale/collate/transform/char/wrapped_env.cc: New.
8131         * 22_locale/collate/transform/char/wrapped_locale.cc: New.
8132         * 22_locale/collate/transform/wchar_t/2.cc: New.
8133         * 22_locale/collate/transform/wchar_t/wrapped_env.cc: New.
8134         * 22_locale/collate/transform/wchar_t/wrapped_locale.cc: New.
8135         * 22_locale/collate_byname/1.cc: New.
8136         * 22_locale/ctype/1.cc: New.
8137         * 22_locale/ctype/2.cc: New.
8138         * 22_locale/ctype/cons/char/1.cc: New.
8139         * 22_locale/ctype/cons/char/wrapped_env.cc: New.
8140         * 22_locale/ctype/cons/char/wrapped_locale.cc: New.
8141         * 22_locale/ctype/is/char/1.cc: New.
8142         * 22_locale/ctype/is/char/2.cc: New.
8143         * 22_locale/ctype/is/char/3.cc: New.
8144         * 22_locale/ctype/is/char/wrapped_env.cc: New.
8145         * 22_locale/ctype/is/char/wrapped_locale.cc: New.
8146         * 22_locale/ctype/is/wchar_t/1.cc: New.
8147         * 22_locale/ctype/is/wchar_t/2.cc: New.
8148         * 22_locale/ctype/is/wchar_t/wrapped_env.cc: New.
8149         * 22_locale/ctype/is/wchar_t/wrapped_locale.cc: New.
8150         * 22_locale/ctype/narrow/char/1.cc: New.
8151         * 22_locale/ctype/narrow/char/2.cc: New.
8152         * 22_locale/ctype/narrow/char/wrapped_env.cc: New.
8153         * 22_locale/ctype/narrow/char/wrapped_locale.cc: New.
8154         * 22_locale/ctype/narrow/wchar_t/1.cc: New.
8155         * 22_locale/ctype/narrow/wchar_t/2.cc: New.
8156         * 22_locale/ctype/narrow/wchar_t/wrapped_env.cc: New.
8157         * 22_locale/ctype/narrow/wchar_t/wrapped_locale.cc: New.
8158         * 22_locale/ctype/scan/char/1.cc: New.
8159         * 22_locale/ctype/scan/char/wrapped_env.cc: New.
8160         * 22_locale/ctype/scan/char/wrapped_locale.cc: New.
8161         * 22_locale/ctype/scan/wchar_t/1.cc: New.
8162         * 22_locale/ctype/scan/wchar_t/wrapped_env.cc: New.
8163         * 22_locale/ctype/scan/wchar_t/wrapped_locale.cc: New.
8164         * 22_locale/ctype/to/char/1.cc: New.
8165         * 22_locale/ctype/to/char/wrapped_env.cc: New.
8166         * 22_locale/ctype/to/char/wrapped_locale.cc: New.
8167         * 22_locale/ctype/to/wchar_t/1.cc: New.
8168         * 22_locale/ctype/to/wchar_t/wrapped_env.cc: New.
8169         * 22_locale/ctype/to/wchar_t/wrapped_locale.cc: New.
8170         * 22_locale/ctype/widen/char/1.cc: New.
8171         * 22_locale/ctype/widen/char/wrapped_env.cc: New.
8172         * 22_locale/ctype/widen/char/wrapped_locale.cc: New.
8173         * 22_locale/ctype/widen/wchar_t/1.cc: New.
8174         * 22_locale/ctype/widen/wchar_t/wrapped_env.cc: New.
8175         * 22_locale/ctype/widen/wchar_t/wrapped_locale.cc: New.
8176         * 22_locale/facet/1.cc: New.
8177         * 22_locale/facet/2.cc: New.
8178         * 22_locale/global_templates/1.cc: New.
8179         * 22_locale/locale/cons/1.cc: New.
8180         * 22_locale/locale/cons/2.cc: New.
8181         * 22_locale/locale/cons/3.cc: New.
8182         * 22_locale/locale/cons/4.cc: New.
8183         * 22_locale/locale/cons/5.cc: New.
8184         * 22_locale/locale/cons/6.cc: New.
8185         * 22_locale/locale/cons/7.cc: New.
8186         * 22_locale/locale/global_locale_objects/1.cc: New.
8187         * 22_locale/locale/global_locale_objects/2.cc: New.
8188         * 22_locale/locale/global_locale_objects/3.cc: New.
8189         * 22_locale/locale/operations/1.cc: New.
8190         * 22_locale/locale/operations/2.cc: New.
8191         * 22_locale/messages/1.cc: New.
8192         * 22_locale/messages/2.cc: New.
8193         * 22_locale/messages/members/char/1.cc: New.
8194         * 22_locale/messages/members/char/2.cc: New.
8195         * 22_locale/messages/members/char/3.cc: New.
8196         * 22_locale/messages/members/char/wrapped_env.cc: New.
8197         * 22_locale/messages/members/char/wrapped_locale.cc: New.
8198         * 22_locale/messages_byname/1.cc: New.
8199         * 22_locale/money_get/1.cc: New.
8200         * 22_locale/money_get/2.cc: New.
8201         * 22_locale/money_get/get/char/1.cc: New.
8202         * 22_locale/money_get/get/char/2.cc: New.
8203         * 22_locale/money_get/get/char/3.cc: New.
8204         * 22_locale/money_get/get/char/4.cc: New.
8205         * 22_locale/money_get/get/char/5.cc: New.
8206         * 22_locale/money_get/get/char/6.cc: New.
8207         * 22_locale/money_get/get/char/7.cc: New.
8208         * 22_locale/money_get/get/char/8.cc: New.
8209         * 22_locale/money_get/get/char/wrapped_env.cc: New.
8210         * 22_locale/money_get/get/char/wrapped_locale.cc: New.
8211         * 22_locale/money_get/get/wchar_t/1.cc: New.
8212         * 22_locale/money_get/get/wchar_t/2.cc: New.
8213         * 22_locale/money_get/get/wchar_t/3.cc: New.
8214         * 22_locale/money_get/get/wchar_t/4.cc: New.
8215         * 22_locale/money_get/get/wchar_t/5.cc: New.
8216         * 22_locale/money_get/get/wchar_t/6.cc: New.
8217         * 22_locale/money_get/get/wchar_t/7.cc: New.
8218         * 22_locale/money_get/get/wchar_t/8.cc: New.
8219         * 22_locale/money_get/get/wchar_t/wrapped_env.cc: New.
8220         * 22_locale/money_get/get/wchar_t/wrapped_locale.cc: New.
8221         * 22_locale/money_put/1.cc: New.
8222         * 22_locale/money_put/2.cc: New.
8223         * 22_locale/money_put/put/char/1.cc: New.
8224         * 22_locale/money_put/put/char/2.cc: New.
8225         * 22_locale/money_put/put/char/3.cc: New.
8226         * 22_locale/money_put/put/char/4.cc: New.
8227         * 22_locale/money_put/put/char/5.cc: New.
8228         * 22_locale/money_put/put/char/6.cc: New.
8229         * 22_locale/money_put/put/char/wrapped_env.cc: New.
8230         * 22_locale/money_put/put/char/wrapped_locale.cc: New.
8231         * 22_locale/money_put/put/wchar_t/1.cc: New.
8232         * 22_locale/money_put/put/wchar_t/2.cc: New.
8233         * 22_locale/money_put/put/wchar_t/3.cc: New.
8234         * 22_locale/money_put/put/wchar_t/4.cc: New.
8235         * 22_locale/money_put/put/wchar_t/5.cc: New.
8236         * 22_locale/money_put/put/wchar_t/6.cc: New.
8237         * 22_locale/money_put/put/wchar_t/wrapped_env.cc: New.
8238         * 22_locale/money_put/put/wchar_t/wrapped_locale.cc: New.
8239         * 22_locale/moneypunct/1.cc: New.
8240         * 22_locale/moneypunct/2.cc: New.
8241         * 22_locale/moneypunct/3.cc: New.
8242         * 22_locale/moneypunct/members/char/1.cc: New.
8243         * 22_locale/moneypunct/members/char/2.cc: New.
8244         * 22_locale/moneypunct/members/char/wrapped_env.cc: New.
8245         * 22_locale/moneypunct/members/char/wrapped_locale.cc: New.
8246         * 22_locale/moneypunct/members/wchar_t/1.cc: New.
8247         * 22_locale/moneypunct/members/wchar_t/2.cc: New.
8248         * 22_locale/moneypunct/members/wchar_t/wrapped_env.cc: New.
8249         * 22_locale/moneypunct/members/wchar_t/wrapped_locale.cc: New.
8250         * 22_locale/moneypunct_byname/1.cc: New.
8251         * 22_locale/num_get/1.cc: New.
8252         * 22_locale/num_get/2.cc: New.
8253         * 22_locale/num_get/get/char/1.cc: New.
8254         * 22_locale/num_get/get/char/2.cc: New.
8255         * 22_locale/num_get/get/char/3.cc: New.
8256         * 22_locale/num_get/get/char/4.cc: New.
8257         * 22_locale/num_get/get/char/5.cc: New.
8258         * 22_locale/num_get/get/char/6.cc: New.
8259         * 22_locale/num_get/get/char/wrapped_env.cc: New.
8260         * 22_locale/num_get/get/char/wrapped_locale.cc: New.
8261         * 22_locale/num_get/get/wchar_t/1.cc: New.
8262         * 22_locale/num_get/get/wchar_t/2.cc: New.
8263         * 22_locale/num_get/get/wchar_t/3.cc: New.
8264         * 22_locale/num_get/get/wchar_t/4.cc: New.
8265         * 22_locale/num_get/get/wchar_t/5.cc: New.
8266         * 22_locale/num_get/get/wchar_t/6.cc: New.
8267         * 22_locale/num_get/get/wchar_t/wrapped_env.cc: New.
8268         * 22_locale/num_get/get/wchar_t/wrapped_locale.cc: New.
8269         * 22_locale/num_put/1.cc: New.
8270         * 22_locale/num_put/2.cc: New.
8271         * 22_locale/num_put/put/char/1.cc: New.
8272         * 22_locale/num_put/put/char/2.cc: New.
8273         * 22_locale/num_put/put/char/3.cc: New.
8274         * 22_locale/num_put/put/char/4.cc: New.
8275         * 22_locale/num_put/put/char/5.cc: New.
8276         * 22_locale/num_put/put/char/wrapped_env.cc: New.
8277         * 22_locale/num_put/put/char/wrapped_locale.cc: New.
8278         * 22_locale/num_put/put/wchar_t/1.cc: New.
8279         * 22_locale/num_put/put/wchar_t/2.cc: New.
8280         * 22_locale/num_put/put/wchar_t/3.cc: New.
8281         * 22_locale/num_put/put/wchar_t/4.cc: New.
8282         * 22_locale/num_put/put/wchar_t/5.cc: New.
8283         * 22_locale/num_put/put/wchar_t/wrapped_env.cc: New.
8284         * 22_locale/num_put/put/wchar_t/wrapped_locale.cc: New.
8285         * 22_locale/numpunct/1.cc: New.
8286         * 22_locale/numpunct/2.cc: New.
8287         * 22_locale/numpunct/members/char/1.cc: New.
8288         * 22_locale/numpunct/members/char/2.cc: New.
8289         * 22_locale/numpunct/members/char/wrapped_env.cc: New.
8290         * 22_locale/numpunct/members/char/wrapped_locale.cc: New.
8291         * 22_locale/numpunct/members/wchar_t/1.cc: New.
8292         * 22_locale/numpunct/members/wchar_t/2.cc: New.
8293         * 22_locale/numpunct/members/wchar_t/wrapped_env.cc: New.
8294         * 22_locale/numpunct/members/wchar_t/wrapped_locale.cc: New.
8295         * 22_locale/numpunct_byname/1.cc: New.
8296         * 22_locale/numpunct_byname/2.cc: New.
8297         * 22_locale/time_get/1.cc: New.
8298         * 22_locale/time_get/2.cc: New.
8299         * 22_locale/time_get/date_order/char/1.cc: New.
8300         * 22_locale/time_get/date_order/char/wrapped_env.cc: New.
8301         * 22_locale/time_get/date_order/char/wrapped_locale.cc: New.
8302         * 22_locale/time_get/date_order/wchar_t/1.cc: New.
8303         * 22_locale/time_get/date_order/wchar_t/wrapped_env.cc: New.
8304         * 22_locale/time_get/date_order/wchar_t/wrapped_locale.cc: New.
8305         * 22_locale/time_get/get_date/char/1.cc: New.
8306         * 22_locale/time_get/get_date/char/2.cc: New.
8307         * 22_locale/time_get/get_date/char/3.cc: New.
8308         * 22_locale/time_get/get_date/char/wrapped_env.cc: New.
8309         * 22_locale/time_get/get_date/char/wrapped_locale.cc: New.
8310         * 22_locale/time_get/get_date/wchar_t/1.cc: New.
8311         * 22_locale/time_get/get_date/wchar_t/2.cc: New.
8312         * 22_locale/time_get/get_date/wchar_t/3.cc: New.
8313         * 22_locale/time_get/get_date/wchar_t/wrapped_env.cc: New.
8314         * 22_locale/time_get/get_date/wchar_t/wrapped_locale.cc: New.
8315         * 22_locale/time_get/get_monthname/char/1.cc: New.
8316         * 22_locale/time_get/get_monthname/char/2.cc: New.
8317         * 22_locale/time_get/get_monthname/char/3.cc: New.
8318         * 22_locale/time_get/get_monthname/char/wrapped_env.cc: New.
8319         * 22_locale/time_get/get_monthname/char/wrapped_locale.cc: New.
8320         * 22_locale/time_get/get_monthname/wchar_t/1.cc: New.
8321         * 22_locale/time_get/get_monthname/wchar_t/2.cc: New.
8322         * 22_locale/time_get/get_monthname/wchar_t/3.cc: New.
8323         * 22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc: New.
8324         * 22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc: New.
8325         * 22_locale/time_get/get_time/char/1.cc: New.
8326         * 22_locale/time_get/get_time/char/2.cc: New.
8327         * 22_locale/time_get/get_time/char/3.cc: New.
8328         * 22_locale/time_get/get_time/char/wrapped_env.cc: New.
8329         * 22_locale/time_get/get_time/char/wrapped_locale.cc: New.
8330         * 22_locale/time_get/get_time/wchar_t/1.cc: New.
8331         * 22_locale/time_get/get_time/wchar_t/2.cc: New.
8332         * 22_locale/time_get/get_time/wchar_t/3.cc: New.
8333         * 22_locale/time_get/get_time/wchar_t/wrapped_env.cc: New.
8334         * 22_locale/time_get/get_time/wchar_t/wrapped_locale.cc: New.
8335         * 22_locale/time_get/get_weekday/char/1.cc: New.
8336         * 22_locale/time_get/get_weekday/char/2.cc: New.
8337         * 22_locale/time_get/get_weekday/char/3.cc: New.
8338         * 22_locale/time_get/get_weekday/char/wrapped_env.cc: New.
8339         * 22_locale/time_get/get_weekday/char/wrapped_locale.cc: New.
8340         * 22_locale/time_get/get_weekday/wchar_t/1.cc: New.
8341         * 22_locale/time_get/get_weekday/wchar_t/2.cc: New.
8342         * 22_locale/time_get/get_weekday/wchar_t/3.cc: New.
8343         * 22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc: New.
8344         * 22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc: New.
8345         * 22_locale/time_get/get_year/char/1.cc: New.
8346         * 22_locale/time_get/get_year/char/3.cc: New.
8347         * 22_locale/time_get/get_year/char/wrapped_env.cc: New.
8348         * 22_locale/time_get/get_year/char/wrapped_locale.cc: New.
8349         * 22_locale/time_get/get_year/wchar_t/1.cc: New.
8350         * 22_locale/time_get/get_year/wchar_t/3.cc: New.
8351         * 22_locale/time_get/get_year/wchar_t/wrapped_env.cc: New.
8352         * 22_locale/time_get/get_year/wchar_t/wrapped_locale.cc: New.
8353         * 22_locale/time_put/1.cc: New.
8354         * 22_locale/time_put/2.cc: New.
8355         * 22_locale/time_put/put/char/1.cc: New.
8356         * 22_locale/time_put/put/char/10.cc: New.
8357         * 22_locale/time_put/put/char/2.cc: New.
8358         * 22_locale/time_put/put/char/3.cc: New.
8359         * 22_locale/time_put/put/char/4.cc: New.
8360         * 22_locale/time_put/put/char/5.cc: New.
8361         * 22_locale/time_put/put/char/6.cc: New.
8362         * 22_locale/time_put/put/char/7.cc: New.
8363         * 22_locale/time_put/put/char/8.cc: New.
8364         * 22_locale/time_put/put/char/9.cc: New.
8365         * 22_locale/time_put/put/char/wrapped_env.cc: New.
8366         * 22_locale/time_put/put/char/wrapped_locale.cc: New.
8367         * 22_locale/time_put/put/wchar_t/1.cc: New.
8368         * 22_locale/time_put/put/wchar_t/10.cc: New.
8369         * 22_locale/time_put/put/wchar_t/2.cc: New.
8370         * 22_locale/time_put/put/wchar_t/3.cc: New.
8371         * 22_locale/time_put/put/wchar_t/4.cc: New.
8372         * 22_locale/time_put/put/wchar_t/5.cc: New.
8373         * 22_locale/time_put/put/wchar_t/6.cc: New.
8374         * 22_locale/time_put/put/wchar_t/7.cc: New.
8375         * 22_locale/time_put/put/wchar_t/8.cc: New.
8376         * 22_locale/time_put/put/wchar_t/9.cc: New.
8377         * 22_locale/time_put/put/wchar_t/wrapped_env.cc: New.
8378         * 22_locale/time_put/put/wchar_t/wrapped_locale.cc: New.
8379
8380 2003-01-16  Jeffrey D. Oldham  <oldham@codesourcery.com>
8381
8382         * config/locale/generic/messages_members.h
8383         (messages_byname<_CharT>::messages_byname): Use this-> to refer to
8384         unqualified members of base clasess.
8385
8386 2003-01-16  Mark Mitchell  <mark@codesourcery.com>
8387             Jeffrey Oldham <oldham@codesourcery.com>
8388
8389         * config/locale/gnu/messages_members.h: Use this-> to refer to
8390         unqualified members of base clasess.
8391         * config/locale/ieee_1003.1-2001/codecvt_specializations.h: Likewise.
8392         * include/bits/codecvt.h: Likewise.
8393         * include/bits/deque.tcc: Likewise.
8394         * include/bits/fstream.tcc: Likewise.
8395         * include/bits/istream.tcc: Likewise.
8396         * include/bits/list.tcc: Likewise.
8397         * include/bits/locale_facets.h: Likewise.
8398         * include/bits/ostream.tcc: Likewise.
8399         * include/bits/sstream.tcc: Likewise.
8400         * include/bits/stl_bvector.h: Likewise.
8401         * include/bits/stl_deque.h: Likewise.
8402         * include/bits/stl_list.h: Likewise.
8403         * include/bits/stl_tree.h: Likewise.
8404         * include/bits/stl_vector.h: Likewise.
8405         * include/bits/vector.tcc: Likewise.
8406         * include/ext/ropeimpl.h: Likewise.
8407         * include/ext/stdio_filebuf.h: Likewise.
8408         * include/ext/stl_rope.h: Likewise.
8409         * include/std/std_fstream.h: Likewise.
8410         * include/std/std_sstream.h: Likewise.
8411
8412 2003-01-15  Phil Edwards  <pme@gcc.gnu.org>
8413
8414         * include/bits/basic_string.tcc (_S_string_copy): Unused, remove.
8415
8416 2003-01-15  Benjamin Kosnik  <bkoz@redhat.com>
8417
8418         * acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Substitute
8419         GLIBCPP_TEST_WCHAR_T if building wchar_t bits in the library.
8420         * aclocal.m4: Regenerate.
8421         * configure: Regenerate.
8422         * testsuite/Makefile.am (all-local): Add conditional rule to
8423         generate testsuite_wchar_t.
8424         * testsuite/Makefile.in: Regenerate.
8425         * testsuite/lib/libstdc++-v3-dg.exp
8426         (libstdc++-v3-list-sourcefiles): Remove wchar_t files if
8427         testsuite_wchar_t is not present in the build directory.
8428         * testsuite/libstdc++-v3.dg/dg.exp: Add -g -O2 to DEFAULT_CXXFLAGS.
8429         Remove setulimit bits.
8430         * testsuite/26_numerics/complex_value.cc: Set to noopts.
8431         * testsuite/Makefile.am (CLEANFILES): Add.
8432         * testsuite/Makefile.in: Regenerate.
8433
8434 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8435
8436         * config/os/hpux/os_defines.h (_GLIBCPP_GTHREAD_USE_WEAK): Define for
8437         __hppa__.
8438
8439 2003-01-14  Jeffrey D. Oldham  <oldham@codesourcery.com>
8440
8441         Further conform g++'s __vmi_class_type_info to the C++ ABI
8442         specification.
8443         * libsupc++/cxxabi.h
8444         (__vmi_class_type_info::__flags_masks): Remove enumerations not
8445         required by the specification.
8446
8447 2003-01-12  Benjamin Kosnik  <bkoz@redhat.com>
8448
8449         Renames, namespaces for testsuite utilities.
8450         * testsuite/testsuite_hooks.h: Put into namespace __gnu_cxx_test.
8451         (gnu_allocator_tracker): Rename to allocation_tracker.
8452         (gnu_new_allocator): Rename to tracker_alloc.
8453         (__set_testsuite_memlimit): Rename to set_memory_limits.
8454         (gnu_assignment_operator): Rename to assignment_operator.
8455         (gnu_destructor): Rename to destructor.
8456         (gnu_copy_tracker): Rename to copy_tracker.
8457         (gnu_char, gnu_int, gnu_long): Rename to pod_char, pod_int, pod_long.
8458         (run_tests_wrapped_locale): New.
8459         (run_tests_wrapped_env): New.
8460         * testsuite/testsuite_hooks.cc: Same.
8461         (class locale_data): Add.
8462         (class enviornment_variable): Add.
8463         (class not_found): Add.
8464         * testsuite/testsuite_allocator.h: Same.
8465         * testsuite/testsuite_allocator.cc: Same.
8466         * testsuite/23_containers/deque_ctor.cc
8467         (test_copy_ctor_exception_safety): Change gnu_allocator_tracker to
8468         allocation_tracker.
8469         Change gnu_new_allocator to tracker_alloc.
8470         Change gnu_counting_struct to counter.
8471         Change gnu_copy_tracker to copy_tracker.
8472         Change gnu_copy_constructor to copy_constructor.
8473         Change gnu_assignment_operator to assignment_operator.
8474         Inject.
8475         * testsuite/23_containers/vector_capacity.cc: Same.
8476         * testsuite/23_containers/vector_ctor.cc (test01): Same.
8477         * testsuite/23_containers/list_modifiers.cc: Change
8478         gnu_copy_tracker to copy_tracker.
8479         * testsuite/21_strings/ctor_copy_dtor.cc (main): Change
8480         __set_testsuite_memlimit to set_memory_limits.
8481         * testsuite/21_strings/insert.cc (main): Same.
8482         * testsuite/27_io/filebuf.cc: Change gnu_char to pod_char.
8483         * testsuite/27_io/stringstream.cc: Same.
8484         * testsuite/27_io/stringbuf.cc: Same.
8485         * testsuite/27_io/streambuf.cc: Same.
8486         * testsuite/27_io/ostream.cc: Same.
8487         * testsuite/27_io/istream.cc: Same.
8488         * testsuite/27_io/fstream.cc: Same.
8489         * testsuite/lib/libstdc++-v3-dg.exp
8490         (libstdc++-v3-list-sourcefiles): Additionally handle files two and
8491         three levels deeper in glob patterns.
8492
8493 2003-01-11  Phil Edwards  <pme@gcc.gnu.org>
8494
8495         * docs/doxygen/tables.html:  Finished now.
8496         * docs/doxygen/user.cfg.in:  Update to latest version of Doxygen.
8497         * include/bits/basic_ios.h (basic_ios::rdbuf):  Add example to
8498         comments.
8499
8500         * include/bits/deque.tcc, include/bits/stl_alloc.h,
8501         include/bits/stl_deque.h, include/bits/stl_list.h,
8502         include/bits/stl_vector.h:  Remove _GLIBCPP_DEPRECATED bits scheduled
8503         for 3.4 removal.
8504
8505 2003-01-09  Benjamin Kosnik  <bkoz@redhat.com>
8506
8507         * configure.in: Revert.
8508         * configure: Regenerate.
8509
8510 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
8511
8512         * include/Makefile.am (install-data-local): Prepend
8513         $(DESTDIR) to destination paths in all (un)installation
8514         commands.  Use ${c_base_builddir} and ${std_builddir}
8515         as destination subdirectories to achieve consistency with
8516         preceding mkinstalldirs commands.  No effect because both
8517         variables contain "." only.
8518         * include/Makefile.in: Regenerate.
8519
8520 2003-01-08  Benjamin Kosnik  <bkoz@redhat.com>
8521
8522         * include/Makefile.am (stamp-*): Add checks for existing stamps.
8523         * include/Makefile.in: Regenerate.
8524
8525         * acinclude.m4 (GLIBCPP_ENABLE_DEBUG): Correct comment.
8526         * aclocal.m4: Regenerate.
8527
8528         * configure.in: Don't add new multi-do rules every time the
8529         directory is reconfigured.
8530         * configure: Regenerate.
8531
8532 2003-01-08  Brad Spencer  <spencer@infointeractive.com>
8533             Nathan Myers  <ncm@cantrip.org>
8534
8535         * src/Makefile.am (stamp-debug): Clean.
8536         * src/Makefile.in: Regenerate.
8537
8538 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
8539
8540         PR libstdc++/8707
8541         * Makefile.am (distclean-multi): Fix.
8542         * Makefile.in: Regenerate.
8543
8544 2003-01-06  Benjamin Kosnik  <bkoz@redhat.com>
8545
8546         * include/bits/locale_facets.h (messages): Move ctor, dtor
8547         definitions to..
8548         (__timepunct): Same.
8549         * config/locale/gnu/messages_members.h (messages): Add dtor, ctor
8550         definitions. Conditionalize for GNU systems.
8551         * config/locale/generic/messages_members.h (messages): Add dtor, ctor
8552         definitions.
8553         * config/locale/gnu/time_members.h (messages): New. Add dtor, ctor
8554         definitions. Conditionalize for GNU systems.
8555         * config/locale/generic/time_members.h (messages): New. Add dtor, ctor
8556         definitions.
8557         * include/bits/localefwd.h (locale::facet::_S_c_name): Add.
8558         * src/locale.cc: Define.
8559         * src/localename.cc (locale::_Impl::_Impl(facet**, size_t, bool):
8560         Use it.
8561         * config/locale/gnu/time_members.h: Use it.
8562         * config/locale/gnu/messages_members.h: Use it.
8563         * config/linker-map.gnu: Add locale::facets details.
8564         * include/Makefile.am (target_headers_extra): Add time_members.h.
8565         * include/Makefile.in: Regenerate.
8566         * acinclude.m4: Export CTIME_H.
8567         * aclocal.m4: Regenerate.
8568         * configure: Regnerate.
8569
8570 2003-01-06  Paolo Carlini  <pcarlini@unitus.it>
8571
8572         * src/codecvt.cc
8573         (codecvt<char, char, mbstate_t>::do_in, do_out):
8574         Tweak parameters to avoid unused parameter warnings.
8575
8576 2003-01-06  Paolo Carlini  <pcarlini@unitus.it>
8577
8578         PR libstdc++/9151
8579         * include/bits/locale_facets.cc (num_put::_M_convert_float):
8580         Limit __prec to digits10 + 2, not digits10 + 1, taking into
8581         account the possibility of %{g,G} conversion specifiers
8582         inside _S_format_float.
8583         * testsuite/27_io/ostream_inserter_arith.cc (test06): Add.
8584
8585 2003-01-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8586
8587         * testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init,
8588         libstdc++-v3-list-sourcefiles): Additionally handle files one
8589         level deeper in glob patterns.
8590
8591         * testsuite/27_io/istream_extractor_arith.cc: Delete, split...
8592         * testsuite/27_io/istream_extractor_arith/01.cc,
8593         testsuite/27_io/istream_extractor_arith/02.cc,
8594         testsuite/27_io/istream_extractor_arith/03.cc,
8595         testsuite/27_io/istream_extractor_arith/06.cc,
8596         testsuite/27_io/istream_extractor_arith/07.cc,
8597         testsuite/27_io/istream_extractor_arith/08.cc,
8598         testsuite/27_io/istream_extractor_arith/09.cc,
8599         testsuite/27_io/istream_extractor_arith/10.cc,
8600         testsuite/27_io/istream_extractor_arith/11.cc,
8601         testsuite/27_io/istream_extractor_arith/12.cc,
8602         testsuite/27_io/istream_extractor_arith/13.cc: ... to new files.
8603         * testsuite/27_io/istream_extractor_arith/12.cc: Add XFAIL for
8604         sparc*-*-solaris2*.
8605
8606 2003-01-05  Paolo Carlini <pcarlini@unitus.it>
8607
8608         PR libstdc++/9168
8609         * src/codecvt.cc
8610         (codecvt<char, char, mbstate_t>::do_in, do_out):
8611         Implement the resolution of DR19 (TC).
8612         * testsuite/22_locale/codecvt_members_char_char.cc
8613         (test01): Tweak.
8614
8615 2003-01-02  Jason Merrill  <jason@redhat.com>
8616
8617         * config/cpu/i486/atomicity.h (__exchange_and_add, __atomic_add):
8618         *__mem is also an output.
8619         * config/cpu/m68k/atomicity.h (__exchange_and_add): Likewise.
8620 \f
8621 Copyright (C) 2003 Free Software Foundation, Inc.
8622
8623 Copying and distribution of this file, with or without modification,
8624 are permitted in any medium without royalty provided the copyright
8625 notice and this notice are preserved.