2017-12-07 Vladimir Makarov <vmakarov@redhat.com>
[official-gcc.git] / libstdc++-v3 / ChangeLog-2003
blob3def08eef8b1230f96ee1a8dabf54d709a1ccbd3
1 2003-12-31  Paolo Carlini  <pcarlini@suse.de>
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.
13 2003-12-30  Paolo Carlini  <pcarlini@suse.de>
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.
22 2003-12-29  Jerry Quinn  <jlquinn@optonline.net>
24         * include/bits/locale_facets.h (ctype.narrow,widen): Add cast.
26 2003-12-29  Paolo Carlini  <pcarlini@suse.de>
28         * acinclude.m4 (GLIBCXX_CHECK_LFS): Add -fno-exceptions
29         to CXXFLAGS.
30         * aclocal.m4: Regenerate.
31         * configure: Likewise.
33 2003-12-29  Mark Mitchell  <mark@codesourcery.com>
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.
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.
61 2003-12-28  Paolo Carlini  <pcarlini@suse.de>
63         * include/ext/pool_allocator.h (class __pool_alloc): Use
64         operator new and operator delete.
66 2003-12-24  Andrew Pinski  <pinskia@physics.uc.edu>
68         * config/cpu/i386/atomicity.h (__exchange_and_add): Fix output
69         constraint.
71         PR libstdc++/13480
72         * config/cpu/i386/atomicity.h: Split up read-write memory operand.
74 2003-12-23  Benjamin Kosnik  <bkoz@redhat.com>
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.
89 2003-12-22  Matt Austern  <austern@apple.com>
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.
99 2003-12-22  Benjamin Kosnik  <bkoz@redhat.com>
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.
116         * include/ext/hash_set (class hash_multiset): Fix typo.
118 2003-12-22  Benjamin Kosnik  <bkoz@redhat.com>
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.
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.
134 2003-12-22  Andrew Pinski  <pinskia@physics.uc.edu>
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.
144 2003-12-22  Paolo Carlini  <pcarlini@suse.de>
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.
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.
156 2003-12-20  Jason Merrill  <jason@redhat.com>
158         * config/cpu/powerpc/atomicity.h: Fix oversight in previous
159         change.
161 2003-12-20  Jerry Quinn  <jlquinn@optonline.net>
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.
167 2003-12-19  Jason Merrill  <jason@redhat.com>
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.
178 2003-12-20  Carlo Wood  <carlo@alinoe.com>
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.
186 2003-12-19  Jerry Quinn  <jlquinn@optonline.net>
188         * include/bits/locale_facet.h
189         (__ctype_abstract_base,ctype<charT>,ctype<char>,ctype<wchar_t>):
190         Document.
192 2003-12-19  Paolo Carlini  <pcarlini@suse.de>
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.
200 2003-12-19  Paolo Carlini  <pcarlini@suse.de>
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.
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.
217         * testsuite/22_locale/money_get/get/char/1.cc: Fix typo.
218         * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
220 2003-12-18  Benjamin Kosnik  <bkoz@redhat.com>
222         * include/bits/stl_list.h: Formatting tweaks.
223         * include/bits/list.tcc: Same.
225 2003-12-18  Matt Austern  <austern@apple.com>
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.
247 2003-12-17  Paolo Carlini  <pcarlini@suse.de>
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.
254 2003-12-17  Paolo Carlini  <pcarlini@suse.de>
256         * testsuite/performance/container_benchmark.cc: Tweak outputs.
258         * testsuite/performance/list_create_fill_sort.cc: Shrink a
259         bit some outputs.
261         * testsuite/testsuite_performance.h: Widen a few output fields.
263         * testsuite/performance/ifstream_extract_int.cc: New.
265 2003-12-16  Phil Edwards  <phil@codesourcery.com>
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.
272 2003-12-16  Paolo Carlini  <pcarlini@suse.de>
274         * testsuite/performance/container_benchmark.cc: New, a
275         benchmark developed by Bjarne Stroustrup and Alexander
276         Stepanov and made available with no restrictions.
278         * testsuite/testsuite_performance.h (report_header): New,
279         useful to produce header lines in the reports.
281 2003-12-16  Jonathan Wakely  <redi@gcc.gnu.org>
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.
287 2003-12-16  Paolo Carlini  <pcarlini@suse.de>
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.
294 2003-12-16  Paolo Carlini  <pcarlini@suse.de>
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.
305         * testsuite/performance/narrow_widen_wchar_t.cc: Tweak
306         string literal (incorrect citation ;)
308         * include/bits/locale_facets.h: Minor tweaks, const
309         correctness, unsigned -> size_t.
311 2003-12-16  Jerry Quinn  <jlquinn@optonline.net>
313         * include/bits/locale_facets.h (widen, narrow):  Uncomment the
314         intended code.
316 2003-12-15  Jerry Quinn  <jlquinn@optonline.net>
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.
341 2003-12-15  Carlo Wood  <carlo@alinoe.com>
343         * include/bits/ios_base.h (Init::_S_initialized): Change into
344         declaration.
345         * src/ios_init.cc (Init::_S_initialized): Add definition.
347 2003-12-15  Benjamin Kosnik  <bkoz@redhat.com>
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.
357 2003-12-15  Benjamin Kosnik  <bkoz@redhat.com>
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.
365 2003-12-15  Benjamin Kosnik  <bkoz@redhat.com>
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.
377 2003-12-15  Paolo Carlini  <pcarlini@suse.de>
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.
386 2003-12-15  Paolo Carlini  <pcarlini@suse.de>
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.
397 2003-12-12  Paolo Carlini  <pcarlini@suse.de>
398             Benjamin Kosnik  <bkoz@redhat.com>
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.
416 2003-12-12  Jonathan Wakely  <redi@gcc.gnu.org>
418         * docs/html/faq/index.txt: Regenerate after adding <link> tags.
420 2003-12-11  Neil Ferguson  <nferguso@eso.org>
421             Paolo Carlini  <pcarlini@suse.de>
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.
428 2003-12-10  Benjamin Kosnik  <bkoz@redhat.com>
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.
435 2003-12-10  Benjamin Kosnik  <bkoz@redhat.com>
436             Alexandre Oliva  <aoliva@redhat.com>
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.
443 2003-12-10  Paolo Carlini  <pcarlini@suse.de>
445         PR libstdc++/13217
446         * include/bits/fstream.tcc (underflow): Deal gracefully with
447         read errors: throw ios_base::failure.
449 2003-12-10  Benjamin Kosnik  <bkoz@redhat.com>
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.
456 2003-12-10  Paolo Carlini  <pcarlini@suse.de>
458         * include/bits/locale_facets.tcc (num_put::do_put(void*)):
459         Remove the try/catch, not necessary.
461 2003-12-10  Paolo Carlini  <pcarlini@suse.de>
463         * testsuite/22_locale/locale/cons/12438.cc: Tweak memory
464         limit and iterations to avoid spurious failures on some
465         64 bit machines.
467 2003-12-09  Benjamin Kosnik  <bkoz@redhat.com>
469         * config/linker-map.gnu: Remove private ios_base members from
470         export list.
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.
485 2003-12-09  Benjamin Kosnik  <bkoz@redhat.com>
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.
496 2003-12-09  Paolo Carlini  <pcaelini@suse.de>
498         * include/bits/demangle.h (struct implementation_details):
499         Keep in comments the names of the unused parameters.
501 2003-12-09  Paolo Carlini  <pcaelini@suse.de>
503         * include/bits/demangle.h (struct implementation_details):
504         Fix unused parameters warning.
506 2003-12-09  Paolo Carlini  <pcarlini@suse.de>
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.
512 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
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.
525 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
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.
537 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
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.
545 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
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.
554 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
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.
560 2003-12-09  Bernardo Innocenti  <bernie@develer.com>
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.
572 2003-12-08  Paolo Carlini  <pcarlini@suse.de>
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.
601 2003-12-08  David S. Miller  <davem@redhat.com>
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.
607 2003-12-06  Benjamin Kosnik  <bkoz@redhat.com>
609         * testsuite/ext/enc_filebuf/char/13189.cc: Guard for __enc_traits.
610         * testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.
612 2003-12-06  Benjamin Kosnik  <bkoz@redhat.com>
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.
621 2003-12-05  Benjamin Kosnik  <bkoz@redhat.com>
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.
648 2003-12-05  Carlo Wood  <carlo@alinoe.com>
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.
678 2003-12-04  Benjamin Kosnik  <bkoz@redhat.com>
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.
691 2003-12-04  Paolo Carlini  <pcarlini@suse.de>
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.
698         * include/std/std_bitset.h (operator>>): Implement the common
699         requirements of formatted input functions (27.6.1.2.1).
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.
705 2003-12-03  Paolo Carlini  <pcarlini@suse.de>
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.
715         * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
716         Minor tweak: a 4-digit integer cannot be bigger than 9999.
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.
725 2003-12-02  Paolo Carlini  <pcarlini@suse.de>
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.
732 2003-12-02  Paolo Carlini  <pcarlini@suse.de>
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.
739 2003-12-01  Benjamin Kosnik  <bkoz@redhat.com>
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.
746         * testsuite/testsuite_io.h (__gnu_test::fail_streambuf): Make
747         internal buffer non-static.
749 2003-12-01  Benjamin Kosnik  <bkoz@redhat.com>
751         * docs/html/17_intro/C++STYLE: Add exception bits.
752         * include/bits/fstream.tcc: Add location info to exception strings.
754         * include/bits/stl_construct.h: Formatting tweaks.
756 2003-12-01  Paolo Carlini  <pcarlini@suse.de>
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.
769 2003-11-30  Paolo Carlini  <pcarlini@suse.de>
771         * config/locale/gnu/codecvt_members.cc (codecvt::do_in,
772         codecvt::do_length): More minor tweaks.
774 2003-11-30  Paolo Carlini  <pcarlini@suse.de>
776         * config/locale/gnu/codecvt_members.cc (codecvt::do_in):
777         Minor stylistic tweak.
779 2003-11-30  Paolo Carlini  <pcarlini@suse.de>
781         * include/bits/locale_facets.tcc (num_put::do_put(..., bool)):
782         Minor tweaks, consistent with the style used in other facets.
784 2003-11-29  Paolo Carlini  <pcarlini@suse.de>
786         * include/bits/fstream.tcc (underflow): Minor tweaks in
787         preparation for libstdc++/13217.
789 2003-11-29  Paolo Carlini  <pcarlini@suse.de>
791         * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc:
792         Tweak for a few small problems (fix timings, use VERIFY..)
794 2003-11-28  Paolo Carlini  <pcarlini@suse.de>
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.
800 2003-11-28  Paolo Carlini  <pcarlini@suse.de>
802         * testsuite/27_io/basic_filebuf/imbue/char/13171-3.cc:
803         Remove extraneous wchar_t lines.
805 2003-11-27  Paolo Carlini  <pcarlini@suse.de>
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.
815 2003-11-27  Paolo Carlini  <pcarlini@suse.de>
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.
826         * include/bits/streambuf.tcc (__copy_streambufs): Remove
827         redundant try/catch.
829 2003-11-26  Benjamin Kosnik  <bkoz@redhat.com>
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.
882 2003-11-26  Benjamin Kosnik  <bkoz@redhat.com>
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.
889 2003-11-26  Paolo Carlini  <pcarlini@suse.de>
890             Petur Runolfsson  <peturr02@ru.is>
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.
907         * testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc: More
908         correctly use the UTF-8 locale appearing in the PR.
910 2003-11-26  Paolo Carlini  <pcarlini@suse.de>
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.
917 2003-11-25  Paolo Carlini  <pcarlini@suse.de>
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.
926 2003-11-24  Paolo Carlini  <pcarlini@suse.de>
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.
934 2003-11-24  Paolo Carlini  <pcarlini@suse.de>
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.
940 2003-11-24  Benjamin Kosnik  <bkoz@redhat.com>
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
952         * testsuite/24_iterators/reverse_iterator/1.cc: Just compile,
953         don't link.
955         * include/bits/allocator.h: Formatting tweak.
957 2003-11-24  Paolo Carlini  <pcarlini@suse.de>
959         * src/locale_init.cc: Cosmetic reformatting.
961 2003-11-23  Paolo Carlini  <pcarlini@suse.de>
963         * include/bits/locale_facets.tcc (__add_grouping):
964         Cosmetic reformatting.
966 2003-11-23  Paolo Carlini  <pcarlini@suse.de>
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().
972 2003-11-22  Paolo Carlini  <pcarlini@suse.de>
974         * config/locale/gnu/monetary_members.cc
975         (money_base::_S_construct_pattern): Factor out two assignments.
977 2003-11-22  Paolo Carlini  <pcarlini@suse.de>
979         * include/bits/istream.tcc (getline(basic_string<>&)):
980         Fix error in comment of the previous commit.
982 2003-11-22  Paolo Carlini  <pcarlini@suse.de>
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.
990 2003-11-21  Paolo Carlini  <pcarlini@suse.de>
992         * config/locale/gnu/monetary_members.cc
993         (money_base::_S_construct_pattern): Factor out an assignment.
995 2003-11-21  Paolo Carlini  <pcarlini@suse.de>
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.
1005 2003-11-20  Benjamin Kosnik  <bkoz@redhat.com>
1007         * include/debug/formatter.h: Use _Tp as template argument.
1008         * src/debug.cc: Same, instantiate std::size_t.
1010 2003-11-20  Benjamin Kosnik  <bkoz@redhat.com>
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.
1017 2003-11-20  Paolo Carlini  <pcarlini@suse.de>
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.
1025 2003-11-19  Paolo Carlini  <pcarlini@suse.de>
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.
1034 2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
1036         * testsuite/lib/libstdc++.exp: Add DYLD_LIBRARY_PATH for darwin.
1037         * testsuite/libstdc++-dg/normal.exp: Add -multiply_defined suppress
1038         flag.
1040 2003-11-18  Jonathan Wakely  <redi@gcc.gnu.org>
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.
1055 2003-11-18  Paolo Carlini  <pcarlini@suse.de>
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.
1067 2003-11-17  Paolo Carlini  <pcarlini@suse.de>
1069         * include/bits/locale_facets.tcc: Fix typo in comment.
1071 2003-11-17  Paolo Carlini  <pcarlini@suse.de>
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.
1077 2003-11-15  Paolo Carlini  <pcarlini@suse.de>
1079         * include/std/std_fstream.h: Tweak a comment.
1081 2003-11-15  Roger Sayle  <roger@eyesopen.com>
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.
1092 2003-11-14  Paolo Carlini  <pcarlini@suse.de>
1094         * testsuite/22_locale/locale/cons/12352.cc: Use
1095         __gnu_test::try_named_locale.
1097 2003-11-14  Paolo Carlini  <pcarlini@suse.de>
1099         * docs/html/ext/howto.html: Add entries for DR 63, 75
1100         and 305; tweak entries for DR 60 and 328.
1102 2003-11-13  Douglas Gregor  <gregod@cs.rpi.edu>
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.
1118 2003-11-13  Paolo Carlini  <pcarlini@suse.de>
1119             Petur Runolfsson  <peturr02@ru.is>
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.
1136 2003-11-13  Petur Runolfsson  <peturr02@ru.is>
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.
1158 2003-11-13  Paolo Carlini  <pcarlini@suse.de>
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.
1166 2003-11-13  Jonathan Wakely <redi@gcc.gnu.org>
1168         * docs/html/17_intro/configury.html: XHTML tweak.
1170 2003-11-13  Jonathan Wakely <redi@gcc.gnu.org>
1172         * docs/html/debug_mode.html: XHTML fixes.
1174 2003-11-12  Benjamin Kosnik  <bkoz@redhat.com>
1176         * docs/html/debug_mode.html: Update.
1177         * docs/html/17_intro/TODO: Update.
1179 2003-11-12  Benjamin Kosnik  <bkoz@redhat.com>
1181         * include/bits/c++config: Move using directive...
1182         * include/debug/formatter.h: ...here.
1184 2003-11-12  Carlo Wood  <carlo@alinoe.com>
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.
1215 2003-11-11  Paolo Carlini  <pcarlini@suse.de>
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.
1229 2003-11-11  Doug Gregor  <gregod@cs.rpi.edu>
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.
1315 2003-11-11  Benjamin Kosnik  <bkoz@redhat.com>
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.
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.
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.
1352 2003-11-09  Paolo Carlini  <pcarlini@suse.de>
1354         * include/bits/locale_facets.tcc (_M_insert_int,
1355         _M_insert_float): Move a couple of vars inside an if block.
1357 2003-11-09  Paolo Carlini  <pcarlini@suse.de>
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.
1367 2003-11-08  Paolo Carlini  <pcarlini@suse.de>
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.
1375         * docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
1376         Import R27.
1378 2003-11-07  Jonathan Wakely  <redi@gcc.gnu.org>
1380         * libsupc++/vec.cc: Conform to C++STYLE.
1382 2003-11-07  Carlo Wood  <carlo@alinoe.com>
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.
1391 2003-11-07  Robert Millan  <robertmh@gnu.org>
1393         * configure.host: Add kfreebsd*-gnu and knetbsd*-gnu.
1394         * crossconfig.m4: Likewise.
1395         * configure: Regenerate.
1397 2003-11-07  Carlo Wood  <carlo@alinoe.com>
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.
1406 2003-11-07  Carlo Wood  <carlo@alinoe.com>
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.
1421 2003-11-04  Jeffrey D. Oldham  <oldham@codesourcery.com>
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.
1427 2003-11-03  Petur Runolfsson  <peturr02@ru.is>
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.
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.
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.
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.
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.
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.
1516 2003-11-03  Anthony Green  <green@redhat.com>
1518         * libmath/stubs.c (sqrtf, sqrtl): Reorder so they appear before
1519         they're used.
1521 2003-11-03  Benjamin Kosnik  <bkoz@redhat.com>
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.
1528         * include/bits/fstream.tcc: Spacing tweak.
1529         * include/bits/istream.tcc: Same.
1530         * include/bits/ostream.tcc: Same.
1532 2003-10-30  Paolo Carlini  <pcarlini@suse.de>
1534         * include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
1535         __mod is only assigned, never used its value, remove it.
1537 2003-10-29  Paolo Carlini  <pcarlini@suse.de>
1539         * include/bits/locale_facets.tcc (time_get::do_get_year):
1540         Absolutely avoid dereferencing end iterators.
1541         (time_put::put): Minor clean up.
1543         * include/bits/locale_facets.tcc: Cosmetic reformattings.
1545 2003-10-29  Paolo Carlini  <pcarlini@suse.de>
1547         * include/bits/locale_facets.tcc (num_get::_M_extract_float):
1548         Revert the last commit, is not correct, sorry.
1550 2003-10-29  Paolo Carlini  <pcarlini@suse.de>
1552         * config/locale/generic/c_locale.cc: Add back <cmath> and
1553         <cstdlib>.
1555         * include/bits/locale_facets.tcc (num_get::_M_extract_float):
1556         Clean up.
1558 2003-10-29  Paolo Carlini  <pcarlini@suse.de>
1560         * include/bits/locale_facets.tcc (time_put::put): Absolutely
1561         avoid dereferencing end iterators; clean up.
1563         * include/bits/locale_facets.tcc (num_get::_M_extract_float,
1564         num_get::_M_extract_int): Minor tweak.
1566 2003-10-29  Paolo Carlini  <pcarlini@suse.de>
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.
1573 2003-10-28  Paolo Carlini  <pcarlini@suse.de>
1575         * include/bits/locale_facets.tcc
1576         (money_get<>::do_get(..., string_type&)): Absolutely avoid
1577         dereferencing end iterators; general clean up.
1579 2003-10-28  Paolo Carlini  <pcarlini@suse.de>
1581         * include/bits/locale_facets.tcc (time_get::_M_extract_num):
1582         Absolutely avoid dereferencing end iterators.
1583         (time_get::_M_extract_name): Likewise.
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.
1590 2003-10-27  Paolo Carlini  <pcarlini@suse.de>
1592         PR libstdc++/12778
1593         * acinclude.m4 (GLIBCXX_CHECK_LFS): Use the C++ compiler.
1594         * aclocal.m4: Regenerate.
1595         * configure: Regenerate.
1597 2003-10-27  Benjamin Kosnik  <bkoz@redhat.com>
1599         * docs/html/17_intro/TODO: Add links.
1600         * testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc:
1601         Uncomment.
1603 2003-10-27  Paolo Carlini  <pcarlini@suse.de>
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.
1611         * include/bits/locale_facets.tcc
1612         (time_get::_M_extract_via_format): Tweak to absolutely avoid
1613         dereferencing end iterators.
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.
1620 2003-10-27  Paolo Carlini  <pcarlini@suse.de>
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.
1632 2003-10-26  Paolo Carlini  <pcarlini@suse.de>
1634         * testsuite/22_locale/money_put/put/char/1.cc: Clean up.
1635         * testsuite/22_locale/money_put/put/wchar_t/1.cc: Ditto.
1637 2003-10-25  Paolo Carlini  <pcarlini@suse.de>
1639         * include/bits/locale_facets.tcc (num_get::_M_extract_int):
1640         __pos in only incremented, never used its value, remove it.
1642 2003-10-24  Robert Millan  <robertmh@gnu.org>
1644         * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Add kfreebsd*-gnu
1645         and knetbsd*-gnu.
1646         * aclocal.m4:  Regenerated.
1647         * configure:  Regenerated.
1649 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
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.
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.
1662 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
1664         * include/bits/locale_facets.tcc (__verify_grouping):
1665         Prefer '=' to an unnecessary '&='.
1667 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
1669         * include/bits/basic_ios.tcc (copyfmt(const basic_ios&)):
1670         Tweak my fix for libstdc++/12657.
1672 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
1674         * include/bits/locale_facets.tcc (money_get::do_get(...,
1675         string_type&): Minor tweak to the previous commit.
1677 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
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.
1684 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
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.
1690 2003-10-24  Paolo Carlini  <pcarlini@suse.de>
1692         * include/bits/locale_facets.tcc
1693         (time_get<>::_M_extract_via_format): Deal with case 'C' too,
1694         equivalent to 'y'.
1696 2003-10-23  Benjamin Kosnik  <bkoz@redhat.com>
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.
1704 2003-10-23  Paolo Carlini  <pcarlini@suse.de>
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.
1713 2003-10-23  Phil Edwards  <phil@codesourcery.com>
1715         * config/os/vxworks/ctype_noninline.h:  Adjust ctor to match
1716         2003-10-21 change.
1718 2003-10-22  Paolo Carlini  <pcarlini@suse.de>
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.
1725 2003-10-22  Benjamin Kosnik  <bkoz@redhat.com>
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.
1754 2003-10-22  Paolo Carlini  <pcarlini@suse.de>
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.
1772         * acinclude.m4 (GLIBCXX_CHECK_POLL, GLIBCXX_CHECK_WRITEV):
1773         Use AC_TRY_LINK instead of AC_TRY_COMPILE.
1775 2003-10-22  Paolo Carlini  <pcarlini@suse.de>
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.
1782 2003-10-21  Benjamin Kosnik  <bkoz@redhat.com>
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.
1790 2003-10-21  Benjamin Kosnik  <bkoz@redhat.com>
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.
1816 2003-10-21  Paolo Carlini  <pcarlini@suse.de>
1818         * src/locale.cc: Tweak a comment.
1819         * src/localename.cc: Move a comment.
1821 2003-10-20  Benjamin Kosnik  <bkoz@redhat.com>
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.
1840 2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1842         * config/cpu/mips/atomicity.h (__atomic_add): Use _ABIO32 instead
1843         of external _MIPS_SIM_ABI32.
1845 2003-10-20  Phil Edwards  <phil@codesourcery.com>
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__.
1859 2003-10-19  David Edelsohn  <edelsohn@gnu.org>
1861         PR other/12506
1862         * configure.host (aix4,aix*): Define os_include_dir to os/generic.
1864 2003-10-18  Andreas Tobler  <a.tobler@schweiz.ch>
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.
1870 2003-10-17  Benjamin Kosnik  <bkoz@redhat.com>
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.
1888 2003-10-16  Petur Runolfsson  <peturr02@ru.is>
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.
1927 2003-10-16  Benjamin Kosnik  <bkoz@redhat.com>
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.
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.
1958 2003-10-16  Paolo Carlini  <pcarlini@suse.de>
1960         * src/locale.cc (locale::locale(const char*)): ... one
1961         more comparison missed in the previous commit.
1963 2003-10-16  Benjamin Kosnik  <bkoz@redhat.com>
1965         * acconfig.h: Add HAVE_DRAND48.
1966         * crossconfig.m4: Remove ISATTY.
1967         * aclocal.m4: Regenerated.
1968         * config.h.in: Regenerated.
1969         * configure: Regenerated.
1971 2003-10-16  Bernardo Innocenti  <bernie@develer.com>
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.
1977 2003-10-16  Paolo Carlini  <pcarlini@suse.de>
1979         * src/locale.cc (locale::locale(const char*)): Tweak
1980         a couple of comparisons to use basic_string operators.
1982 2003-10-16  Paolo Carlini  <pcarlini@suse.de>
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.
1992 2003-10-14  Jeff Bailey  <jbailey@nisa.net>
1994         PR libstdc++/12562
1995         * crossconfig.m4: Share the config between *-linux* and *-gnu*.
1996         * configure: Regenerate.
1998 2003-10-14  Carlo Wood  <carlo@alinoe.com>
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.
2006 2003-10-14  Paolo Carlini  <pcarlini@unitus.it>
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.
2014 2003-10-14  Paolo Carlini  <pcarlini@unitus.it>
2016         * src/localename.cc (_M_replace_categories, M_replace_facet):
2017         Const-ify a couple of variables.
2019 2003-10-14  Petur Runolfsson  <peturr02@ru.is>
2020             Andreas Tobler  <a.tobler@schweiz.ch>
2022         * src/locale.cc (locale::_S_initialize): Workaround a confusion
2023         of the use of the gthr API when __gthread_active_p() returns true.
2025 2003-10-12  Petur Runolfsson  <peturr02@ru.is>
2026             Paolo Carlini  <pcarlini@unitus.it>
2028         PR libstdc++/11460
2029         * src/strstream.cc (pbackfail): Fix to use to_int_type.
2030         * testsuite/backward/11460.cc: New, from the PR.
2032 2003-10-12  Paolo Carlini  <pcarlini@unitus.it>
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.
2057 2003-10-12  Andreas Tobler  <a.tobler@schweiz.ch>
2058             Paolo Carlini  <pcarlini@unitus.it>
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.
2066 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
2068         * crossconfig.m4 (*-uclinux*): New target.
2069         * configure: Regenerate.
2071 2003-10-10  Paolo Carlini  <pcarlini@unitus.it>
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.
2082 2003-10-09  Benjamin Kosnik  <bkoz@redhat.com>
2084         * config/linker-map.gnu: Make more *_type_info bits visible.
2085         Move new/delete bits back into GLIBCXX space.
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.
2091 2003-10-09  Andreas Tobler  <a.tobler@schweiz.ch>
2093         * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_64 for
2094         SPARC64.
2096 2003-10-09  Paolo Carlini  <pcarlini@unitus.it>
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.
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.
2116 2003-10-09  Benjamin Kosnik  <bkoz@redhat.com>
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.
2122 2003-10-09  Petur Runolfsson  <peturr02@ru.is>
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.
2131 2003-10-09  Petur Runolfsson  <peturr02@ru.is>
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.
2141         * testsuite/22_locale/locale/cons/12438.cc: Increase memory limit.
2143 2003-10-08  Paolo Carlini  <pcarlini@unitus.it>
2145         * include/bits/locale_facets.tcc: More minor cosmetic
2146         changes and const-ifications of some variables.
2148 2003-10-07  Paolo Carlini  <pcarlini@unitus.it>
2150         * include/bits/locale_facets.tcc: Minor cosmetic changes
2151         and const-ifications of some variables.
2153         * include/bits/locale_facets.tcc
2154         (money_get::do_get(..., string_type&)): Simplify an if-else.
2156 2003-10-06  Paolo Carlini  <pcarlini@unitus.it>
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.
2164 2003-10-06  Paolo Carlini  <pcarlini@unitus.it>
2166         * include/bits/locale_facets.tcc (__pad<>::_S_pad):
2167         Improve performance-wise: avoid one traits::copy, avoid
2168         the __builtin_alloca, streamline.
2170 2003-10-05  Paolo Carlini  <pcarlini@unitus.it>
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.
2178         * include/bits/locale_facets.tcc: Minor cosmetic changes.
2180 2003-10-04  Paolo Carlini  <pcarlini@unitus.it>
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++.
2187 2003-10-04  Paolo Carlini  <pcarlini@unitus.it>
2188             Petur Runolfsson  <peturr02@ru.is>
2190         * include/ext/stdio_sync_filebuf.h: Don't include the whole
2191         <fstream>, only <streambuf> and <cstdio>.
2193 2003-10-04  Paolo Carlini  <pcarlini@unitus.it>
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.
2200 2003-10-02  Harald Boehme  <boehme@informatik.hu-berlin.de>
2202         PR libstdc++/12451
2203         * libsupc++/cxxabi.h: Move forward declaration of __class_type_info.
2205 2003-10-02  Benjamin Kosnik  <bkoz@redhat.com>
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.
2214 2003-10-02  Paolo Carlini  <pcarlini@unitus.it>
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.
2229 2003-10-02  Benjamin Kosnik  <bkoz@redhat.com>
2231         * src/locale.cc (locale::_S_initialize): Use __gthread_active_p.
2232         (locale::facet::_S_get_c_locale): Same.
2234 2003-10-02  Benjamin Kosnik  <bkoz@redhat.com>
2236         * config/linker-map.gnu: Export _S_get_c_locale instead of
2237         _S_c_locale object.
2239 2003-10-02  Petur Runolfsson  <peturr02@ru.is>
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.
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.
2290 2003-10-02  Carlo Wood  <carlo@alinoe.com>
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.
2299 2003-10-02  Paolo Carlini  <pcarlini@unitus.it>
2301         * testsuite/22_locale/locale/cons/12438.cc: Use
2302         __gnu_test::try_named_locale("").
2304 2003-10-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
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.
2316 2003-10-01  Nathan Myers  <ncm@cantrip.org>
2318         * include/bits/locale_facets.tcc (time_put::put): Avoid
2319         expensive *__s++, in favor of *__s, ++__s.
2321 2003-10-01  Paolo Carlini  <pcarlini@unitus.it>
2323         * include/bits/locale_facets.tcc (time_put::put): Minor
2324         tweak to the previous commit.
2326 2003-10-01  Paolo Carlini  <pcarlini@unitus.it>
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.
2337 2003-09-30  Paolo Carlini  <pcarlini@unitus.it>
2339         * include/bits/stl_algo.h: Minor cosmetic reformattings.
2341 2003-09-30  Paolo Carlini  <pcarlini@unitus.it>
2343         * include/bits/stl_algo.h (search_n): Tweak, to spare the
2344         first --__n.
2346 2003-09-30  Paolo Carlini  <pcarlini@unitus.it>
2348         * testsuite/22_locale/locale/cons/12352.cc: Explicitly
2349         qualify exception name.
2351 2003-09-30  Paolo Carlini  <pcarlini@unitus.it>
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.
2358         * include/bits/locale_classes.h (locale::locale(const locale&,
2359         _Facet*)): Tweak, use consistently _M_remove_reference.
2361 2003-09-30  Paolo Carlini  <pcarlini@unitus.it>
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.
2371 2003-09-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
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.
2378 2003-09-29  Paolo Carlini  <pcarlini@unitus.it>
2380         * include/bits/stl_algo.h (search_n): Improve the previous
2381         fix as suggested by Martin.
2383 2003-09-29  Paolo Carlini  <pcarlini@unitus.it>
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.
2391 2003-09-29  Nathan Myers  <ncm@cantrip.org>
2392             Paolo Carlini  <pcarlini@unitus.it>
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.
2399 2003-09-29  Paolo Carlini  <pcarlini@unitus.it>
2401         * testsuite/22_locale/locale/cons/12352.cc:
2402         Use __attribute__((unused)) for test.
2404 2003-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
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.
2410 2003-09-26  Brad Spencer  <spencer@infointeractive.com>
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.
2419 2003-09-25  Paolo Carlini  <pcarlini@unitus.it>
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.
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.
2439 2003-09-25  Brad Spencer  <spencer@infointeractive.com>
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.
2453 2003-09-25  Benjamin Kosnik  <bkoz@redhat.com>
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.
2461         * config/os/generic/ctype_inline.h: Update.
2463 2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
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.
2470 2003-09-23  Benjamin Kosnik  <bkoz@redhat.com>
2472         * include/bits/locale_facets.tcc: Tweak to avoid warnings.
2473         * testsuite/testsuite_hooks.h: Same.
2474         * testsuite/*/*.cc: Same.
2476 2003-09-22  Petur Runolfsson  <peturr02@ru.is>
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.
2484 2003-09-22  Carlo Wood  <carlo@alinoe.com>
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.
2491 2003-09-18  Benjamin Kosnik  <bkoz@redhat.com>
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.
2499 2003-09-18  Petur Runolfsson  <peturr02@ru.is>
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.
2506 2003-09-17  Benjamin Kosnik  <bkoz@redhat.com>
2508         PR libstdc++/12239
2509         * configure.host (abi_baseline_pair): Error out on solaris2
2510         configurations without a minor version number.
2512 2003-09-13  Phil Edwards  <phil@codesourcery.com>
2514         * docs/doxygen/run_doxygen:  Clear GENERATE_TAGFILE entirely
2515         if man pages are on.
2516         * docs/doxygen/user.cfg.in:  And here.
2518 2003-09-10  Daniel Jacobowitz  <drow@mvista.com>
2519             Andreas Jaeger <aj@suse.de>
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.
2527 2003-09-10  Jeffrey D. Oldham  <oldham@codesourcery.com>
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.
2533 2003-09-10  Petur Runolfsson  <peturr02@ru.is>
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.
2541 2003-09-10  Alan Modra  <amodra@bigpond.net.au>
2543         * config/io/basic_file_stdio.cc (_M_open_mode): Assign __p_mode
2544         rather than or'ing.
2546 2003-09-09  Alan Modra  <amodra@bigpond.net.au>
2548         * configure: Regenerate.
2550 2003-09-09  David Edelsohn  <edelsohn@gnu.org>
2552         * src/ios.cc (ios_base::Init::Init): Remove unnecessary
2553         qualifier from _S_synced_with_stdio.
2555 2003-09-09  Bernardo Innocenti  <bernie@develer.com>
2557         * include/c_std/std_cstdlib.h: Avoid using missing C library symbols.
2559 2003-09-04  Petur Runolfsson  <peturr02@ru.is>
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.
2578 2003-09-04  Jonathan Wakely  <redi@gcc.gnu.org>
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.
2584 2003-09-03  Petur Runolfsson  <peturr02@ru.is>
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.
2614 2003-09-03  Petur Runolfsson  <peturr02@ru.is>
2616         * docs/html/27_io/howto.html: setbuf(0, 0) has no effect on
2617         stringbuf or strstreambuf. Fix typos.
2619 2003-09-02  Phil Edwards  <phil@codesourcery.com>
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.
2629 2003-08-29  Nathan Myers  <ncm@cantrip.org>
2631         PR libstdc++/11990
2632         * include/bits/locale_facets.tcc (__pad): delete dead code.
2634 2003-08-28  Alan Modra  <amodra@bigpond.net.au>
2636         * configure.ac: Test $with_cross_host against $build_alias, not $build.
2637         * configure: Regenerate.
2639 2003-08-27  Petur Runolfsson  <peturr02@ru.is>
2641         * testsuite/27_io/objects/wchar_t/10.cc: Move wcout stuff...
2642         * testsuite/27_io/objects/wchar_t/11.cc: ...here. New file.
2644 2003-08-27  Phil Edwards  <pme@gcc.gnu.org>
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.
2655         * Makefile.in, include/Makefile.in, libmath/Makefile.in,
2656         libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
2657         testsuite/Makefile.in:  Regenerated.
2659 2003-08-27  Phil Edwards  <pme@gcc.gnu.org>
2661         * acinclude.m4 (GLIBCXX_EXPORT_INCLUDES):  Change quoting of
2662         includedir.
2663         * aclocal.m4, configure:  Regenerate.
2665 2003-08-27  Daniel Jacobowitz  <drow@mvista.com>
2667         * acinclude.m4: Include no-executables.m4.
2668         * configure.ac: Uncomment GCC_NO_EXECUTABLES.
2669         * aclocal.m4: Regenerated.
2670         * configure: Regenerated.
2672 2003-08-27  Daniel Jacobowitz  <drow@mvista.com>
2674         * acinclude.m4: Don't call AC_ISC_POSIX.
2675         * aclocal.m4: Regenerated.
2676         * configure: Regenerated.
2678 2003-08-27  Phil Edwards  <pme@gcc.gnu.org>
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.
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.
2695 2003-08-26  Phil Edwards  <pme@gcc.gnu.org>
2697         * docs/doxygen/run_doxygen:  Shell fixes.  Remove hardcoded local
2698         pathnames from generated tag file.
2700 2003-08-26  Phil Edwards  <pme@gcc.gnu.org>
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.
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.
2717         * aclocal.m4, configure, Makefile.in, include/Makefile.in,
2718         libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in:  Regenerated.
2720 2003-08-26  Loren J. Rittle  <ljrittle@acm.org>
2722         * testsuite/data/cin_unget-1.txt: New.
2723         * testsuite/27_io/objects/char/12048.cc: New.
2725 2003-08-25  Zack Weinberg  <zack@codesourcery.com>
2727         * config/os/hpux/os_defines.h: Unconditionally define
2728         _GLIBCXX_GTHREAD_USE_WEAK to 0.
2730 2003-08-19  Geoffrey Keating  <geoffk@apple.com>
2732         * crossconfig.m4 (*-darwin*): Add a large and boring stanza for
2733         crosses to Darwin targets.
2734         * configure: Regenerate.
2736 2003-08-19  Petur Runolfsson  <peturr02@ru.is>
2738         * include/ext/ropeimpl.h: #include <ostream> instead of <iostream>
2740 2003-08-17  Phil Edwards  <pme@gcc.gnu.org>
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.
2746 2003-08-17  Phil Edwards  <pme@gcc.gnu.org>
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.
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.
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.
2771 2003-08-11  John Levon  <levon@movementarian.org>
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
2777 2003-08-11  Benjamin Kosnik  <bkoz@redhat.com>
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.
2789         * include/ext/rope: Remove build warning.
2791 2003-08-11  Andreas Jaeger  <aj@suse.de>
2793         * include/Makefile.am (stamp-c_base): Add dependency on stamp-bits
2794         to make SMP-safe.
2795         * include/Makefile.in: Regenerated.
2797 2003-08-11  Phil Edwards  <pme@gcc.gnu.org>
2799         * acinclude.m4 (GLIBCXX_CONFIGURE):  Unprecious CC and CFLAGS
2800         when calling AC_PROG_CC.
2801         * aclocal.m4, configure:  Regenerate.
2803 2003-08-11  Phil Edwards  <pme@gcc.gnu.org>
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.
2811 2003-08-08  Benjamin Kosnik  <bkoz@redhat.com>
2813         * testsuite/Makefile.am (check-abi): Change libstdc++-v3 to libstdc++.
2814         (check-abi-verbose): Same.
2815         * testsuite/testsuite_performance.h (report_performance): Same.
2817 2003-08-08  Loren J. Rittle  <ljrittle@acm.org>
2819         * testsuite/testsuite_performance.h (__FreeBSD__): Add fake mallinfo.
2821 2003-08-07  Doug Gregor  <dgregor@apple.com>
2823         * include/bits/char_traits.h (char_traits::not_eof): Match operand
2824         types in ? :.
2826 2003-08-07  Bernardo Innocenti  <bernie@develer.com>
2828         PR libstdc++/11784
2829         * libstdc++-v3/config/cpu/m68k/atomicity.h (__exchange_and_add):
2830         Replace variants with new BSET-based version.
2832 2003-08-07  Carlo Wood  <carlo@alinoe.com>
2834         * include/bits/demangle.h: Do not use cctype functions that depend
2835         on locale.
2837 2003-08-05  Phil Edwards  <pme@gcc.gnu.org>
2839         * configure.in:  Rename...
2840         * configure.ac:  ...to this.
2841         * docs/html/17_intro/porting.texi:  Update name.
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).
2848 2003-08-05  Phil Edwards  <pme@gcc.gnu.org>
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.
2855 2003-08-04  Phil Edwards  <pme@gcc.gnu.org>
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.
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.
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.
2889 2003-08-04  Phil Edwards  <pme@gcc.gnu.org>
2891         * po/libstdc++.pot:  Re-extract/regenerate.
2893 2003-08-04  Phil Edwards  <pme@gcc.gnu.org>
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.
2904 2003-08-04  Phil Edwards  <pme@gcc.gnu.org>
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.
2917 2003-07-31  Phil Edwards  <pme@gcc.gnu.org>
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.
2923 2003-07-31  Doug Gregor  <dgregor@apple.com>
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.
2934 2003-07-31  Benjamin Kosnik  <bkoz@redhat.com>
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.
2994 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
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.
3005 2003-07-30  Phil Edwards  <pme@gcc.gnu.org>
3007         * include/bits/c++config:  Partial reversion (comment placement) of
3008         previous patch.
3010 2003-07-30  Benjamin Kosnik  <bkoz@redhat.com>
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.
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.
3052 2003-07-30  Gawain Bolton  <gp.bolton@computer.org>
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.
3066 2003-07-30  Jonathan Wakely  <redi@gcc.gnu.org>
3068         * docs/html/22_locale/howto.html: Use locale::classic() instead
3069         of locale("C").
3071 2003-07-28  Benjamin Kosnik  <bkoz@redhat.com>
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.
3146 2003-07-28  Phil Edwards  <pme@gcc.gnu.org>
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).
3153 2003-07-28  Phil Edwards  <pme@gcc.gnu.org>
3155         * README:  Update.
3157 2003-07-28  Phil Edwards  <pme@gcc.gnu.org>
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.
3166 2003-07-25  Benjamin Kosnik  <bkoz@redhat.com>
3168         * include/bits/char_traits.h: Update copyright, tweak.
3169         * testsuite/ext/pod_char_traits.cc: Explicitly qualify namespace
3170         std types.
3172 2003-07-24  Matt Austern  <austern@apple.com>
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.
3182 2003-07-24  Benjamin Kosnik  <bkoz@redhat.com>
3184         * testsuite/*: Change __gnu_cxx_test to __gnu_test.
3186 2003-07-24  Nathan Myers  <ncm-nospam@cantrip.org>
3188         * testsuite/23_containers/map_operators.cc: Conform to
3189         container requirement as value must be Assignable.
3191 2003-07-23  Alexandre Oliva  <aoliva@redhat.com>
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.
3197 2003-07-23  Steve Ellcey  <sje@cup.hp.com>
3199         * config/cpu/hppa/atomicity.h: Change
3200         _GLIBCXX_INST_GLIBCXX_ATOMICITY_LOCK to _GLIBCXX_INST_ATOMICITY_LOCK
3201         to match misc-inst.cc
3203 2003-07-23  Steve Ellcey  <sje@cup.hp.com>
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.
3252 2003-07-22  Doug Gregor  <dgregor@apple.com>
3254         * include/bits/basic_string.h (basic_string::insert): Deprecate
3255         GNU extension.
3257 2003-07-21  Benjamin Kosnik  <bkoz@redhat.com>
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.
3267 2003-07-21  Doug Gregor  <dgregor@apple.com>
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.
3274 2003-07-18  Andreas Jaeger  <aj@suse.de>
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.
3281 2003-07-17  Benjamin Kosnik  <bkoz@redhat.com>
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.
3310 2003-07-17  Phil Edwards  <pme@gcc.gnu.org>
3312         * docs/doxygen/guide.html:  Fix typo.
3314 2003-07-16  Benjamin Kosnik  <bkoz@redhat.com>
3316         * include/ext/pod_char_traits.h: Add state template argument.
3318 2003-07-16  Benjamin Kosnik  <bkoz@redhat.com>
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.
3331 2003-07-16  Phil Edwards  <pme@gcc.gnu.org>
3333         * docs/doxygen/mainpage.html:  Move building/writing instructions...
3334         * docs/doxygen/guide.html:  ...to here.  New file.
3336 2003-07-16  Jonathan Wakely  <redi@gcc.gnu.org>
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.
3342 2003-07-16  Paolo Carlini  <pcarlini@unitus.it>
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.
3350 2003-07-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
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.
3357 2003-07-15  Petur Runolfsson  <peturr02@ru.is>
3359         * include/bits/char_traits.h (char_traits<wchar_t>::move):
3360         Change last parameter from int_type to size_t.
3362 2003-07-15  Jerry Quinn  <jlquinn@optonline.net>
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.
3374 2003-07-15  Jerry Quinn  <jlquinn@optonline.net>
3376         * include/bits/basic_string.h:  Document public functions.
3377         * docs/doxygen/TODO:  Update c21 todo.
3379 2003-07-15  Jerry Quinn  <jlquinn@optonline.net>
3381         * include/bits/stl_list.h:  Document more functions.
3382         * docs/doxygen/TODO:  Update c23 todo.
3384 2003-07-14  Paolo Carlini  <pcarlini@unitus.it>
3386         * config/locale/gnu/c_locale.h (__convert_from_v): One more
3387         qualification.
3389 2003-07-14  Paolo Carlini  <pcarlini@unitus.it>
3391         * include/bits/stl_tempbuf.h: Qualify free with std::.
3392         * src/locale.cc: Include <cstdlib>, qualify getenv.
3394 2003-07-14  Paolo Carlini  <pcarlini@unitus.it>
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.
3400 2003-07-14  Paolo Carlini  <pcarlini@unitus.it>
3401             Nathan C. Myers  <ncm-nospam@cantrip.org>
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.
3422         * include/std/std_fstream.h (sync): Constify a variable.
3424 2003-07-14  Benjamin Kosnik  <bkoz@redhat.com>
3426         * testsuite/27_io/ios_base/cons/assign_neg.cc: Fix line numbers.
3427         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
3429 2003-07-14  Gabriel Dos Reis  <gcc@integrable-solutions.net>
3431         * config/locale/gnu/c_locale.h (__convert_from_v): Include
3432         <cstring> and <cstdlib>. Qualify names.
3434 2003-07-13  Mark Mitchell  <mark@codesourcery.com>
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.
3454 2003-07-11  Jerry Quinn  <jlquinn@optonline.net>
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.
3461 2003-07-11  Phil Edwards  <pme@gcc.gnu.org>
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.
3473 2003-07-09  Benjamin Kosnik  <bkoz@redhat.com>
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.
3494 2003-07-09  Jerry Quinn  <jlquinn@optonline.net>
3496         * src/ios.cc (_M_grow_words):  Fix spelling.
3498 2003-07-09  Gawain Bolton  <gp.bolton@computer.org>
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.
3507 2003-07-08  Benjamin Kosnik  <bkoz@redhat.com>
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.
3515 2003-07-08  Gawain Bolton  <gp.bolton@computer.org>
3517         * testsuite/performance/list_create_fill_sort.cc: New.
3519 2003-07-08  Benjamin Kosnik  <bkoz@redhat.com>
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.
3525         * include/bits/char_traits.h: Correct spacing.
3527         * src/locale.cc: Wrap to 80 col.
3529 2003-07-07  Paolo Carlini  <pcarlini@unitus.it>
3531         * include/std/std_complex.h: Partially revert last
3532         changes: cmath functions must not be qualified.
3534 2003-07-06  Phil Edwards  <pme@gcc.gnu.org>
3536         * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS):  Do not test for binutils
3537         2.11 with globbing backport fix.
3538         * aclocal.m4, configure:  Regenerated.
3540 2003-07-06  Paolo Carlini  <pcarlini@unitus.it>
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.
3545         * include/std/std_fstream.h: Tweak comments to doxygen style.
3547 2003-07-06  Paolo Carlini  <pcarlini@unitus.it>
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.
3555 2003-07-06  Phil Edwards  <pme@gcc.gnu.org>
3557         * include/bits/allocator_traits.h:  Fix doxygen markup.
3558         * include/ext/mt_allocator.h:  Likewise.
3560 2003-07-06  Phil Edwards  <pme@gcc.gnu.org>
3562         * testsuite/testsuite_hooks.h:  Guard against a missing unlink().
3564 2003-07-05  Phil Edwards  <pme@gcc.gnu.org>
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.
3576         * docs/html/17_intro/porting.texi:  Bring up to date.
3578         * src/Makefile.in, aclocal.m4, configure,
3579         docs/html/17_intro/porting.html:  Regenerated.
3581 2003-07-05  Phil Edwards  <pme@gcc.gnu.org>
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.
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.
3595 2003-07-05  Gawain Bolton  <gp.bolton@computer.org>
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.
3603 2003-07-05  Paolo Carlini  <pcarlini@unitus.it>
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.
3610 2003-07-05  Gawain Bolton  <gp.bolton@computer.org>
3612         * include/bits/stl_tree.h: _Rb_tree_rebalance():  Add local
3613           variable for grandparent and use const
3615 2003-07-05  David Billinghurst <David.Billinghurst@riotinto.com>
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
3625 2003-07-05  Paolo Carlini  <pcarlini@unitus.it>
3627         * include/std/std_bitset.h: Fully qualify standard
3628         functions with std::, thus avoiding Koenig lookup.
3630         * include/std/std_fstream.h: Change comment to doxygen style.
3632 2003-07-05  Phil Edwards  <pme@gcc.gnu.org>
3634         * include/std/std_limits.h:  More CPP->CXX changes.
3635         * scripts/check_survey.in:  Likewise.
3637 2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
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.
3665 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
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.
3678 2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
3680         * acinclude.m4 (GLIBCPP_ENABLE_PCH): Fix missed variable.
3681         * aclocal.m4: Regenerate.
3682         * configure: Regenerate.
3684 2003-07-04  Jerry Quinn  <jlquinn@optonline.net>
3686         * include/bits/locale_facets.tcc (__int_to_char): Move common case
3687         to the top.
3689 2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
3690             Petur Runolfsson  <peturr02@ru.is>
3692         * config/io/basic_file_stdio.cc: Revert.
3694 2003-07-04  Paolo Carlini  <pcarlini@unitus.it>
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.
3704 2003-07-04  Gawain Bolton  <gbolton@free.fr>
3706         * include/bits/stl_tree.h: Performance and memory usage
3707         improvements.
3709 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
3711         * Makefile.am: Replace PWD with PWD_COMMAND.
3712         * Makefile.in: Regenerated.
3713         * docs/html/Makefile: Likewise.
3715 2003-07-04  Paolo Carlini  <pcarlini@unitus.it>
3717         * include/bits/valarray_array.h: Fully qualify standard
3718         functions with std::, thus avoiding Koenig lookup.
3719         * include/bits/vector.tcc: Likewise.
3721 2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
3723         * include/Makefile.am: Update target_ to host_.
3724         * include/Makefile.in: Regenerate.
3725         * src/Makefile.am: Same.
3726         * src/Makefile.in: Regenerate.
3728         * config/os/gnu-linux/os_defines.h: Remove glibc-2.0 support.
3730 2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
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.
3740 2003-07-04  Paolo Carlini  <pcarlini@unitus.it>
3742         Revert the fix for libstdc++/11378.
3744 2003-07-04  Paolo Carlini  <pcarlini@unitus.it>
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.
3751 2003-07-04  Paolo Carlini  <pcarlini@unitus.it>
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.
3763 2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>
3765         * configure.host (fpos_include_dir): Fix.
3767 2003-07-04  Paolo Carlini  <pcarlini@unitus.it>
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.
3773         * include/bits/stl_algo.h: Qualify __iterator_category too.
3774         * include/bits/stl_algobase.h: Likewise.
3775         * include/bits/stl_bvector.h: Likewise.
3777         * include/bits/stl_algo.h: Don't qualify the pair type.
3779 2003-07-03  Benjamin Kosnik  <bkoz@redhat.com>
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.
3791         * config/io/c_io_stdio.h: Remove fpos_t typedef.
3793         * include/bits/fstream.tcc: Tweaks.
3794         * include/std/std_fstream.h: Same.
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.
3802 2003-07-03  Benjamin Kosnik  <bkoz@redhat.com>
3803             Petur Runolfsson  <peturr02@ru.is>
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.
3814 2003-07-03  David Edelsohn  <edelsohn@gnu.org>
3816         * testsuite/22_locale/num_put/put/char/7.cc: Guard with
3817         _GLIBCPP_USE_WCHAR_T.
3819 2003-07-02  Paolo Carlini  <pcarlini@unitus.it>
3821         * include/bits/basic_string.tcc (_M_replace_aux): Constify
3822         __n1 and __off1.
3824 2003-07-02  Paolo Carlini  <pcarlini@unitus.it>
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.
3831 2003-07-02  Paolo Carlini  <pcarlini@unitus.it>
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.
3837 2003-07-01  Phil Edwards  <pme@gcc.gnu.org>
3839         * testsuite/Makefile.am (AM_MAKEFLAGS):  Set to -j1 (affects
3840         check* targets, but not libs/programs).
3841         * testsuite/Makefile.in:  Regenerate.
3843 2003-07-01  Roger Sayle  <roger@eyesopen.com>
3845         * acinclude.m4 (GLIBCPP_CHECK_STDLIB_SUPPORT): Fix typo in CXXFLAGS.
3846         (GLIBCPP_CHECK_MATH_SUPPORT): Likewise.
3847         * aclocal.m4: Regenerate.
3848         * configure: Regenerate.
3850 2003-07-01  Benjamin Kosnik  <bkoz@redhat.com>
3852         * acinclude.m4 (GLIBCPP_ENABLE_PCH): Fix obvious error.
3853         * aclocal.m4: Regenerated.
3854         * configure: Regenerated.
3856 2003-07-01  Paolo Carlini  <pcarlini@unitus.it>
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.
3866 2003-07-01  Jerry Quinn  <jlquinn@optonline.net>
3868         * 22_locale/num_put/put/char/7.cc: New.
3869         * 22_locale/num_put/put/wchar_t/7.cc: New.
3871 2003-06-30  Jerry Quinn  <jlquinn@optonline.net>
3873         * src/locale.cc (__use_cache<numpunct>): Revert previous relocation.
3874         * include/bits/locale_facets.tcc (__use_cache<numpunct>): Ditto.
3876 2003-06-30  Benjamin Kosnik  <bkoz@redhat.com>
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.
3915 2003-06-30  Jerry Quinn  <jlquinn@optonline.net>
3917         * src/locale.cc (__use_cache<numpunct>): Move from here ...
3918         * include/bits/locale_facets.tcc (__use_cache<numpunct>): To
3919         here.
3921 2003-06-30  Paolo Carlini  <pcarlini@unitus.it>
3923         * include/bits/stl_algobase.h: Fully qualify standard
3924         functions with std::, thus avoiding Koenig lookup.
3926 2003-06-30  Doug Gregor <dgregor@apple.com>
3928         * include/bits/locale_facets.tcc (money_get::do_get): Avoid
3929         subscripting empty string.
3931 2003-06-30  Phil Edwards  <pme@gcc.gnu.org>
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.
3937 2003-06-30  Doug Gregor <dgregor@apple.com>
3939         * testsuite/24_iterators/insert_iterator.cc (test01, test02):
3940         Don't initialize an insert_iterator with a singular iterator.
3942 2003-06-30  Benjamin Kosnik  <bkoz@redhat.com>
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.
3951 2003-06-30  Phil Edwards  <pme@gcc.gnu.org>
3953         * testsuite/lib/libstdc++-v3-dg.exp:  Add comments.
3954         (libstdc++-v3-init):  Also set LD_RUN_PATH.
3956 2003-06-30  Paolo Carlini  <pcarlini@unitus.it>
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.
3972 2003-06-30  Paolo Carlini  <pcarlini@unitus.it>
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.
3987 2003-06-29  Paolo Carlini  <pcarlini@unitus.it>
3989         * include/bits/stl_algo.h: Fully qualify standard functions
3990         with std::, thus avoiding Koenig lookup.
3992 2003-06-29  Paolo Carlini  <pcarlini@unitus.it>
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.
4003 2003-06-29  Paolo Carlini  <pcarlini@unitus.it>
4005         * include/std/std_streambuf.h (uflow): According to
4006         27.5.2.4.3,p16, don't check gptr() < egptr().
4008 2003-06-28  Paolo Carlini  <pcarlini@unitus.it>
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.
4018 2003-06-27  Benjamin Kosnik  <bkoz@redhat.com>
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.
4025 2003-06-27  Matthias Klose  <doko@debian.org>
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.
4031 2003-06-27  Krister Walfridsson  <cato@df.lth.se>
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.
4038 2003-06-27  Paolo Carlini  <pcarlini@unitus.it>
4039             Nathan C. Myers  <ncm-nospam@cantrip.org>
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.
4046 2003-06-27  Paolo Carlini  <pcarlini@unitus.it>
4047             Petur Runolfsson  <peturr02@ru.is>
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.
4058 2003-06-27  Nathan Sidwell  <nathan@codesourcery.com>
4060         * config/linker-map.gnu: Remove ; after __numpunct_cache.
4062 2003-06-26  Benjamin Kosnik  <bkoz@redhat.com>
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.
4070 2003-06-26  Benjamin Kosnik  <bkoz@redhat.com>
4071             Jerry Quinn  <jlquinn@optonline.net>
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.
4108 2003-06-26  Nathan C. Myers  <ncm-nospam@cantrip.org>
4109             Paolo Carlini  <pcarlini@unitus.it>
4111         * testsuite/performance/filebuf_copy.cc: New, testing char
4112         by char file copy.
4114 2003-06-26  Paolo Carlini  <pcarlini@unitus.it>
4115             Nathan C. Myers  <ncm-nospam@cantrip.org>
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.
4123 2003-06-25  Nathan C. Myers  <ncm-nospam@cantrip.org>
4125         * include/bits/streambuf.tcc (sbumpc, sputbackc, sungetc,
4126         sputc): Move inline, from here...
4127         * include/std/std_streambuf.h: ... to here.
4129         * include/std/std_streambuf.h (snextc, sbumpc, sgetc,
4130         sputbackc, sungetc, sputc): Use __builtin_expect.
4132 2003-06-24  Phil Edwards  <pme@gcc.gnu.org>
4134         * docs/doxygen/mainpage.html:  Use a useful title.
4136 2003-06-24  Benjamin Kosnik  <bkoz@redhat.com>
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.
4142         * docs/html/test.html: Update.
4144         * README: Update.
4146 2003-06-24  Benjamin Kosnik  <bkoz@redhat.com>
4147             Ulrich Drepper  <drepper@redhat.com>
4149         * testsuite/testsuite_performance.h: Tweak mallinfo.
4151 2003-06-24  Paolo Carlini  <pcarlini@unitus.it>
4152             Nathan C. Myers  <ncm-nospam@cantrip.org>
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.
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.
4215 2003-06-23  Loren J. Rittle  <ljrittle@acm.org>
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.
4224         * include/ext/mt_allocator.h: Portability.
4225         * testsuite/testsuite_performance.h: Likewise.
4227 2003-06-23  Benjamin Kosnik  <bkoz@redhat.com>
4229         * docs/html/17_intro/libstdc++-assign.txt: Update address.
4231         * testsuite/performance/ifstream_getline.cc: Fix.
4233 2003-06-23  Doug Gregor <dgregor@apple.com>
4235         * include/bits/boost_concept_check.h: Don't use _D or _R for type
4236         names.
4238 2003-06-22  Paolo Carlini  <pcarlini@unitus.it>
4239             Nathan C. Myers  <ncm-nospam@cantrip.org>
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).
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.
4264 2003-06-20  Doug Gregor <dgregor@apple.com>
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.
4283 2003-06-20  Doug Gregor <dgregor@apple.com>
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).
4295 2003-06-20  Benjamin Kosnik  <bkoz@redhat.com>
4297         * testsuite/testsuite_performance.h (resource_counter): Don't use
4298         mallinfo at the moment.
4300 2003-06-20  Matthias Klose  <doko@debian.org>
4302         * configure.host: Set try_cpu to target_cpu for existing
4303         baseline files.
4305 2003-06-19  Andreas Jaeger  <aj@suse.de>
4307         * testsuite/Makefile.am (extract_symvers): Revert accidental
4308         change.
4309         * testsuite/Makefile.in: Regenerate.
4311         * configure.in: Pass MULTISUBDIR to testsuite/Makefile.
4312         * configure: Regenerated.
4314 2003-06-19  Paolo Carlini  <pcarlini@unitus.it>
4316         * include/std/std_sstream.h (_M_sync): Make non virtual.
4318 2003-06-18  Benjamin Kosnik  <bkoz@redhat.com>
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.
4340 2003-06-18  Paolo Carlini  <pcarlini@unitus.it>
4341             Benjamin Kosnik  <bkoz@redhat.com>
4343         * include/std/std_sstream.h (setbuf): Check __n >= 0.
4344         * include/bits/fstream.tcc (setbuf): Tweak.
4346 2003-06-18  Paolo Carlini  <pcarlini@unitus.it>
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.
4353 2003-06-18  Nathan C. Myers  <ncm-nospam@cantrip.org>
4354             Paolo Carlini  <pcarlini@unitus.it>
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.
4360 2003-06-18  Andreas Jaeger  <aj@suse.de>
4362         * testsuite/Makefile.am (new-abi-baseline): Create baseline
4363         directory.
4364         (baseline_file): Use baseline_dir.
4365         (baseline_dir): New.
4366         (mkinstalldirs): New.
4368         * acinclude.m4: Rename baseline_file to baseline_dir, strip
4369         filename from baseline_dir.
4371         * testsuite/Makefile.in: Regenerated.
4372         * Makefile.in: Regenerated.
4373         * aclocal.m4: Regenerated.
4374         * configure: Regenerated.
4376 2003-06-17  Benjamin Kosnik  <bkoz@redhat.com>
4378         * configure.in: Missed check_survey bit.
4379         * configure: Regenerated.
4381 2003-06-17  Benjamin Kosnik  <bkoz@redhat.com>
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.
4402 2003-06-17  Benjamin Kosnik  <bkoz@redhat.com>
4404         * config/abi/i486-linux-gnu/baseline_symbols.txt: Update to 3.3.0.
4406 2003-06-16  Benjamin Kosnik  <bkoz@redhat.com>
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.
4423 2003-06-16  Andreas Jaeger  <aj@suse.de>
4425         * testsuite/abi_check.cc: Create summary report.
4427 2003-06-16  Paolo Carlini  <pcarlini@unitus.it>
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.
4435 2003-06-16  Andreas Jaeger  <aj@suse.de>
4437         * acinclude.m4 (GLIBCPP_CONFIGURE_TESTSUITE): Make
4438         check-abi multilib aware.
4439         * aclocal.m4: Regenerate.
4440         * configure: Regenerate.
4442 2003-06-16  Benjamin Kosnik  <bkoz@redhat.com>
4443             Andreas Jaeger  <aj@suse.de>
4445         * configure.host: Set x86_64 abi_baseline pair correctly.
4447 2003-06-16  Paolo Carlini  <pcarlini@unitus.it>
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.
4458 2003-06-15  Richard Henderson  <rth@redhat.com>
4460         * config/linker-map.gnu: Export virtual function thunks for
4461         64-bit systems too.
4463 2003-06-13  Benjamin Kosnik  <bkoz@redhat.com>
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.
4485 2003-06-13  Paolo Carlini  <pcarlini@unitus.it>
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.
4502 2003-06-13  Nathan C. Myers <ncm-nospam@cantrip.org>
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.
4530 2003-06-12  Benjamin Kosnik  <bkoz@redhat.com>
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.
4537 2003-06-11  Benjamin Kosnik  <bkoz@redhat.com>
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.
4555 2003-06-11  Benjamin Kosnik  <bkoz@redhat.com>
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.
4591 2003-06-11  Stefan Olsson  <stefan@snon.net>
4592             Ola Rönnerup  <fnolis@home.se>
4594         * include/Makefile.am (ext_headers): Add.
4595         * include/Makefile.in: Regenerate.
4596         * include/ext/mt_allocator.h: New file.
4598 2003-06-10  Paolo Carlini  <pcarlini@unitus.it>
4600         * include/bits/fstream.tcc (close): Clean up a bit.
4602         * include/bits/streambuf.tcc (sbumpc): Clean up a bit.
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.
4608         * include/std/std_streambuf.h: Tweak a comment.
4609         (in_avail): Constify a variable.
4611 2003-06-10  Phil Edwards  <pme@gcc.gnu.org>
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.
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.
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.
4633         * include/bits/stl_threads.h (_STL_auto_lock):  Add __unused__.
4635 2003-06-10  Paolo Carlini  <pcarlini@unitus.it>
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.
4642 2003-06-10  Paolo Carlini  <pcarlini@unitus.it>
4644         * include/bits/fstream.tcc (_M_underflow): Check overflow return
4645         value; tweak slightly.
4647 2003-06-09  Paolo Carlini  <pcarlini@unitus.it>
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.
4672 2003-06-09  Phil Edwards  <pme@gcc.gnu.org>
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.
4681 2003-06-09  Paolo Carlini  <pcarlini@unitus.it>
4683         * docs/html/ext/howto.html ('LWG Issues'):  Add issue 235.
4685 2003-06-06  Nathan Myers  <ncm-nospam@cantrip.org>
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.
4692 2003-06-06  Benjamin Kosnik  <bkoz@redhat.com>
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.
4716 2003-06-05  Benjamin Kosnik  <bkoz@redhat.com>
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.
4774 2003-06-05  Paolo Carlini  <pcarlini@unitus.it>
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.
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.
4792 2003-06-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
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.
4800 2003-06-04  Paolo Carlini  <pcarlini@unitus.it>
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.
4820 2003-06-03  Benjamin Kosnik  <bkoz@redhat.com>
4822         * include/bits/fstream.tcc (pbackfail): Make a rarely taken
4823         'if' branch less obscure.
4825 2003-06-02  Andrew Pinski  <pinskia@physics.uc.edu>
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.
4833 2003-06-02  Paolo Carlini  <pcarlini@unitus.it>
4835         * include/bits/sstream.tcc (pbackfail): Minor clean up and
4836         reformatting, consistent with basic_filebuf::pbackfail.
4838 2003-06-02  Richard Kreckel  <Richard.Kreckel@GiNaC.DE>
4840         PR libstdc++/11062
4841         * config/cpu/mips/atomicity.h:  Change __attribute__ ((unused)) to
4842         __attribute__ ((__unused__)).
4843         * config/os/aix/atomicity.h:  Likewise.
4845 2003-06-02  Paolo Carlini  <pcarlini@unitus.it>
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.
4852         * include/bits/fstream.tcc (pbackfail): Add unbuffered bits.
4854 2003-06-02  Paolo Carlini  <pcarlini@unitus.it>
4856         * testsuite/27_io/basic_stringbuf/seekpos/char/3.cc: Tweak
4857         line spacing.
4859 2003-06-02  Paolo Carlini  <pcarlini@unitus.it>
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.
4865 2003-06-02  Paolo Carlini  <pcarlini@unitus.it>
4867         * include/bits/sstream.tcc (seekoff): Remove four unnecessary
4868         variables and two 'if', clean up.
4870 2003-06-02  Paolo Carlini  <pcarlini@unitus.it>
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.
4877 2003-05-30  Phil Edwards  <pme@gcc.gnu.org>
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.
4885 2003-05-30  Paolo Carlini  <pcarlini@unitus.it>
4887         * include/bits/fstream.tcc (_M_convert_to_external): Don't
4888         check for __ilen > 0.
4890 2003-05-29  Sylvain Pion  <Sylvain.Pion@mpi-sb.mpg.de>
4892         PR libstdc++/10783
4893         * include/bits/stl_iterator.h (class __normal_iterator):
4894         Don't inherit from iterator, add missing typedefs.
4896 2003-05-29  Paolo Carlini <pcarlini@unitus.it>
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.
4904 2003-05-27  Steve Ellcey  <sje@cup.hp.com>
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.
4911 2003-05-26  Brendan Kehoe  <brendan@zen.org>
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.
4919 2003-05-27  Jonathan Wakely  <redi@gcc.gnu.org>
4921         * include/std/std_istream.h, include/std/std_ostream.h: Typo in
4922         comment.
4924 2003-05-26  Benjamin Kosnik  <bkoz@redhat.com>
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.
4935 2003-05-24  Nathanael Nerode  <neroden@gcc.gnu.org>
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".
4951         * include/backward/new.h: Replace "GNU CC" with "GCC".
4953 2003-05-22  Benjamin Kosnik  <bkoz@redhat.com>
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.
4964 2003-05-22  Paolo Carlini  <pcarlini@unitus.it>
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.
4982 2003-05-22  Paolo Carlini  <pcarlini@unitus.it>
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.
4988 2003-05-22  Benjamin Kosnik  <bkoz@redhat.com>
4990         * configure.in: Sort cross table.
4991         * configure: Regenerate.
4993 2003-05-22  Brad Spencer  <spencer@infointeractive.com>
4995         PR libstdc++/10106
4996         * configure.in: Add Solaris cross bits.
4998 2003-05-21  Danny Smith  <dannysmith@users.sourceforge.net>
5000         * libstdc++-v3/config/os/mingw32/os_defines.h
5001         (__GTHREAD_HIDE_WIN32API): Define to 1 by defualt.
5002         (NOMINMAX): Define.  Update copyright year.
5004 2003-05-21  Paolo Carlini  <pcarlini@unitus.it>
5006         * include/std/std_fstream.h (_M_set_buffer): Fix indentation.
5008 2003-05-21  Jonathan Wakely  <redi@gcc.gnu.org>
5010         * docs/html/faq/index.html: Fix typo.
5011         * docs/html/faq/index.txt: Regenerate.
5013 2003-05-21  Jonathan Wakely  <redi@gcc.gnu.org>
5015         * docs/html/test.html: Fix markup.
5017 2003-05-21  Danny Smith  <dannysmith@users.sourceforge.net>
5019         * libmath/stubs.c (hypot, hypotf, hypotl): Don't divide by
5020         zero.
5021         Update copyright year.
5023 2003-05-20  Paolo Carlini  <pcarlini@unitus.it>
5025         * testsuite/27_io/basic_filebuf/close/char/4.cc: Fix typo.
5027 2003-05-20  Paolo Carlini  <pcarlini@unitus.it>
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.
5032 2003-05-20  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
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.
5038 2003-05-20  Benjamin Kosnik  <bkoz@redhat.com>
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.
5057 2003-05-20  Gabriel Dos Reis <gdr@integrable-solutions.net>
5059         PR libstdc++/10689
5060         * include/std/std_complex.h (pow): Tidy.
5062 2003-05-19  Paolo Carlini  <pcarlini@unitus.it>
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.
5067 2003-05-15  Loren J. Rittle  <ljrittle@acm.org>
5069         * testsuite/thread/pthread4.cc: Further tweak to avoid fini race.
5071 2003-05-15  Paolo Carlini  <pcarlini@unitus.it>
5072             Nathan Myers  <ncm@cantrip.org>
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)
5098 2003-05-14  Loren J. Rittle  <ljrittle@acm.org>
5100         * testsuite/thread/pthread4.cc: Tweak test.
5102 2003-05-13  Benjamin Kosnik  <bkoz@redhat.com>
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.
5109 2003-05-12  Benjamin Kosnik  <bkoz@redhat.com>
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.
5138 2003-05-12  Paolo Carlini  <pcarlini@unitus.it>
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.
5147 2003-05-12  Benjamin Kosnik  <bkoz@redhat.com>
5149         * include/bits/fstream.tcc (_M_overflow): Remove unbuffered bits.
5151 2003-05-12  Paolo Carlini  <pcarlini@unitus.it>
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.
5159 2003-05-12  Benjamin Kosnik  <bkoz@redhat.com>
5161         * testsuite/27_io/basic_filebuf/underflow/10096.cc: Add weak bits.
5163 2003-05-11  Phil Edwards  <pme@gcc.gnu.org>
5165         * testsuite/Makefile.am:  Properly quote /both/ LD_RUN_PATHs.
5166         * testsuite/Makefile.in:  Regenerate.
5168 2003-05-11  Phil Edwards  <pme@gcc.gnu.org>
5170         * testsuite/Makefile.am:  Properly quote LD_RUN_PATH.
5171         * testsuite/Makefile.in:  Regenerate.
5173 2003-05-11  Gabriel Dos Reis <gdr@integrable-solutions.net>
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.
5200 2003-05-10  Petur Runolfsson  <peturr02@ru.is>
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.
5222 2003-05-10  Benjamin Kosnik  <bkoz@redhat.com>
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.
5238 2003-05-10  Petur Runolfsson  <peturr02@ru.is>
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.
5299 2003-05-10  Paolo Carlini  <pcarlini@unitus.it>
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.
5305 2003-05-08  Paolo Carlini  <pcarlini@unitus.it>
5307         * include/std/std_streambuf.h (setg, setp): Don't touch _M_mode.
5309 2003-05-07  Richard Henderson  <rth@redhat.com>
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.
5322 2003-05-07  Benjamin Kosnik  <bkoz@redhat.com>
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.
5328 2003-05-07  Paolo Carlini  <pcarlini@unitus.it>
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.
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.
5339         * include/std/std_fstream.h (_M_destroy_pback): Don't set
5340         unnecessarily _M_pback_cur_save and _M_pback_end_save.
5342         * include/std/std_fstream.h (_M_set_determinate): Minor tweak.
5344         * include/std/std_sstream.h (_M_sync): Minor tweak.
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.
5350 2003-05-06  Benjamin Kosnik  <bkoz@redhat.com>
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.
5360         * include/std/std_sstream.h: Replace _M_really_sync to _M_sync.
5361         * include/bits/sstream.tcc: Same.
5363         * include/bits/basic_ios.h: Correct spacing for '< ctype'.
5365         * include/bits/locale_facets.tcc: Replace __temp to __tmp.
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.
5373         * include/std/std_sstream.h (stringbuf::str): Tweak formatting.
5375 2003-05-06  Phil Edwards  <pme@gcc.gnu.org>
5377         * docs/html/faq/index.html (3.10):  Add note about mips atomicity.h.
5378         * docs/html/faq/index.txt:  Regenerated.
5380 2003-05-06  Michael Ritzert <Ritzert@t-online.de>
5381             Matt Kraai <kraai@alumni.cmu.edu>
5383         * include/ext/stl_rope.h (_Rope_RopeRep<>::_M_c_string_lock): Tweak.
5384         And retweak.
5386 2003-05-06  Richard Sandiford  <rsandifo@redhat.com>
5388         * configure.target (mips*): Use the generic atomicity.h by default.
5390 2003-05-05  Loren J. Rittle  <ljrittle@acm.org>
5391             (Inspired by an alternate patch from Danny Smith.)
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.
5402 2003-05-04  Paolo Carlini  <pcarlini@unitus.it>
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>.
5409 2003-05-03  Loren J. Rittle  <ljrittle@acm.org>
5411         * testsuite/thread/pthread1.cc: Remove special case for FreeBSD.
5413 2003-05-02  Benjamin Kosnik  <bkoz@redhat.com>
5415         * include/Makefile.am (CLEANFILES): Remove PCH files in target
5416         directory.
5417         * include/Makefile.in: Regenerate.
5419 2003-05-02  Paolo Carlini  <pcarlini@unitus.it>
5421         * include/std/std_sstream.h (str()): Tidy.
5423 2003-05-02  Nathan Myers  <ncm@cantrip.org>
5424             Paolo Carlini  <pcarlini@unitus.it>
5426         * include/bits/streambuf.tcc (__copy_streambufs): Rewrote.
5428 2003-05-02  Jonathan Wakely  <redi@gcc.gnu.org>
5430         * include/bits/basic_string.h (swap): Remove redundant template
5431         parameters from declaration of non-template member function.
5433 2003-05-01  Phil Edwards  <pme@gcc.gnu.org>
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.
5442 2003-05-01  Paolo Carlini  <pcarlini@unitus.it>
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'.
5449 2003-05-01  Paolo Carlini  <pcarlini@unitus.it>
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.
5455 2003-05-01  Paolo Carlini  <pcarlini@unitus.it>
5457         * include/bits/streambuf.tcc (__copy_streambufs): Adjust the
5458         type of __avail to ptrdiff_t to avoid signed-unsigned warning.
5460 2003-05-01  Benjamin Kosnik  <bkoz@redhat.com>
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.
5466 2003-05-01  Benjamin Kosnik  <bkoz@redhat.com>
5468         * acinclude.m4 (GLIBCPP_EXPORT_FLAGS): Remove -Winline.
5469         * aclocal.m4: Regenerated.
5470         * configure: Regenerated.
5472 2003-05-01  Paolo Carlini  <pcarlini@unitus.it>
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.
5480 2003-05-01  Paolo Carlini  <pcarlini@unitus.it>
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.
5487 2003-05-01  Paolo Carlini  <pcarlini@unitus.it>
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.
5494 2003-04-30  Phil Edwards  <pme@gcc.gnu.org>
5496         * acinclude.m4:  Add bit missing from previous patch.
5497         * aclocal.m4, configure:  Regenerated.
5499 2003-04-29  Phil Edwards  <pme@gcc.gnu.org>
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.
5509 2003-04-29  Phil Edwards  <pme@gcc.gnu.org>
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.
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>
5520         * config/cpu/i386/atomicity.h: New file.
5522 2003-04-29  Paolo Carlini  <pcarlini@unitus.it>
5524         * include/bits/fstream.tcc (open): Change to single return.
5526 2003-04-29  Paolo Carlini  <pcarlini@unitus.it>
5528         * include/std/std_sstream.h (underflow): Change to single return.
5530 2003-04-28  Paolo Carlini  <pcarlini@unitus.it>
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.
5542 2003-04-28  Benjamin Kosnik  <bkoz@redhat.com>
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.
5558         * testsuite/testsuite_hooks.cc (__gnu_cxx_test): Modify.
5560 2003-04-28  Paolo Carlini  <pcarlini@unitus.it>
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.
5568 2003-04-28  Paolo Carlini  <pcarlini@unitus.it>
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.
5575 2003-04-28  Paolo Carlini  <pcarlini@unitus.it>
5577         * include/bits/sstream.tcc (pbackfail): Shorten a bit (6 lines)
5578         the innermost 'if' by factoring out some code.
5580 2003-04-28  Phil Edwards  <pme@gcc.gnu.org>
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.
5592 2003-04-28  Petur Runolfsson  <peturr02@ru.is>
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.
5612 2003-04-28  Benjamin Kosnik  <bkoz@redhat.com>
5614         * testsuite/27_io/objects/char/8.cc:  New test.
5616 2003-04-28  Benjamin Kosnik  <bkoz@redhat.com>
5618         * testsuite/22_locale/codecvt/unicode/char.cc: Remove bom usage.
5619         * testsuite/22_locale/codecvt/unicode/wchar_t.cc: Same.
5621 2003-04-27  Benjamin Kosnik  <bkoz@redhat.com>
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.
5635 2003-04-27  Benjamin Kosnik  <bkoz@redhat.com>
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.
5650 2003-04-27  Andreas Schwab  <schwab@suse.de>
5652         * config/locale/ieee_1003.1-2001/codecvt_specializations.h
5653         (__enc_traits): Use __ibom and __ebom instead of ignoring them.
5655 2003-04-27  Nathan Myers  <ncm@cantrip.org>
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.
5668 2003-04-26  Paolo Carlini  <pcarlini@unitus.it>
5670         * include/bits/fstream.tcc (pbackfail): Shorten a bit (10 lines)
5671         the innermost 'if' by factoring out some code.
5673 2003-04-26  Paolo Carlini  <pcarlini@unitus.it>
5675         * include/bits/streambuf.tcc (__copy_streambufs): Don't
5676         use in_avail(), simplify.
5678 2003-04-26  Paolo Carlini  <pcarlini@unitus.it>
5680         * include/std/std_sstream.h (setbuf): don't set _M_buf_size,
5681         in basic_stringbuf it's unused.
5683         * include/std/std_sstream.h (underflow): consistently use
5684         _M_in_cur, not gptr().
5686 2003-04-25  Ranjit Mathew  <rmathew@hotmail.com>
5687             Phil Edwards  <pme@gcc.gnu.org>
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.
5695 2003-04-25  Benjamin Kosnik  <bkoz@redhat.com>
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.
5715 2003-04-25  Benjamin Kosnik  <bkoz@redhat.com>
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.
5724 2003-04-24  Richard Sandiford  <rsandifo@redhat.com>
5726         * src/localename.cc (__gnu_cxx::facet_vec): Correct types.
5728 2003-04-24  Phil Edwards  <pme@gcc.gnu.org>
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.
5738         * docs/html/faq/index.txt, docs/html/documentation.html,
5739         docs/html/17_intro/porting.html:  Regenerate.
5741 2003-04-23  Paolo Carlini  <pcarlini@unitus.it>
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.
5769 2003-04-23  Benjamin Kosnik  <bkoz@redhat.com>
5771         * configure.in: Move GLIBCPP_CHECK_PCH before native/cross conditions.
5772         * configure: Regenerated.
5774 2003-04-23  Benjamin Kosnik  <bkoz@redhat.com>
5776         * config/locale/generic/c_locale.h (__convert_from_v): Use
5777         attribute unused.
5779 2003-04-23  Phil Edwards  <pme@gcc.gnu.org>
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().
5793 2003-04-22  Loren J. Rittle  <ljrittle@acm.org>
5795         * testsuite/27_io/basic_filebuf/close/char/9964.cc (test_07):
5796         Adjust timing.
5798 2003-04-22  Paolo Carlini  <pcarlini@unitus.it>
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.
5814 2003-04-21  Paolo Carlini  <pcarlini@unitus.it>
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.
5824 2003-04-21  Paolo Carlini  <pcarlini@unitus.it>
5826         * include/bits/sstream.tcc (pbackfail, overflow):
5827         Formatting fixes.
5829 2003-04-21  Paolo Carlini  <pcarlini@unitus.it>
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.
5835         * include/std/std_streambuf.h (sgetc()): Restore __ret variable.
5837 2003-04-20  Paolo Carlini  <pcarlini@unitus.it>
5839         * docs/html/ext/howto.html ('LWG Issues'):
5840         Add issues 19, 90, 171, 231, 271.
5842 2003-04-20  Paolo Carlini  <pcarlini@unitus.it>
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.
5854         * include/std/std_streambuf.h (sgetc): Remove redundant
5855         variable.
5857 2003-04-18  Paolo Carlini  <pcarlini@unitus.it>
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.
5878 2003-04-18  Loren J. Rittle  <ljrittle@acm.org>
5880         * include/c_std/std_cmath.h (C99 FP capture): Only undefine said
5881         C99 FP macros, if actually captured.
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.
5896 2003-04-17  Benjamin Kosnik  <bkoz@redhat.com>
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.
5910 2003-04-17  Phil Edwards  <pme@gcc.gnu.org>
5912         * include/bits/c++config:  Minor cosmetic tweaks.
5914 2003-04-17  Loren J. Rittle  <ljrittle@acm.org>
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.
5928 2003-04-17  Paolo Carlini  <pcarlini@unitus.it>
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.
5933 2003-04-16  Benjamin Kosnik  <bkoz@redhat.com>
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.
5953 2003-04-16  Jonathan Wakely  <redi@gcc.gnu.org>
5955         * docs/html/ext/sgiexts.html: Fix path to stylesheet.
5957 2003-04-15  Benjamin Kosnik  <bkoz at redhat dot com>
5958             Paolo Carlini  <pcarlini at unitus dot it>
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.
5965 2003-04-15  Andreas Tobler  <a.tobler@schweiz.ch>
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.
5974 2003-04-15  Loren J. Rittle  <ljrittle@acm.org>
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.
5990 2003-04-14  Andreas Tobler  <toa@pop.agri.ch>
5991             Benjamin Kosnik  <bkoz@redhat.com>
5993         * config/os/generic/ctype_inline.h: Fix.
5995 2003-04-14  Benjamin Kosnik  <bkoz@redhat.com>
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.
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.
6142 2003-04-14  Andreas Tobler  <toa@pop.agri.ch>
6144         * configure.target (_cpu_incdir_fullpath): Solaris 2.9 uses
6145         solaris includes, not generic.
6147 2003-04-14  Loren J. Rittle  <ljrittle@acm.org>
6149         * testsuite/26_numerics/c99_classification_macros_c.cc: Add XFAIL.
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*.
6156 2003-04-14  Nathan Myers  <ncm@cantrip.org>
6157             Paolo Carlini  <pcarlini@unitus.it>
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.
6164         * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Remove some
6165         unused string literals.
6167 2003-04-14  Paolo Carlini  <pcarlini@unitus.it>
6169         * include/bits/fstream.tcc (basic_filebuf::setbuf): Don't set
6170         _M_out_end, _M_set_indeterminate() does it.
6172 2003-04-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6174         * os/hpux/ctype_inline.h: Replace with gnu-linux version.
6176 2003-04-12  David Edelsohn  <edelsohn@gnu.org>
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.
6182 2003-04-12  Paolo Carlini  <pcarlini@unitus.it>
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.
6208 2003-04-12  Paolo Carlini  <pcarlini at unitus dot it>
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.
6220 2003-04-12  Paolo Carlini  <pcarlini@unitus.it>
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.
6226 2003-04-11  Benjamin Kosnik  <bkoz@redhat.com>
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.
6236 2003-04-11  Benjamin Kosnik  <bkoz@redhat.com>
6238         * testsuite/22_locale/ctype/is/char/3.cc (test03): Use the classic
6239         locale to construct this hybrid locale, not the global locale.
6241 2003-04-11  Benjamin Kosnik  <bkoz@redhat.com>
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.
6248 2003-04-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
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.
6253 2003-04-09  Benjamin Kosnik  <bkoz@redhat.com>
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.
6615 2003-04-09  Benjamin Kosnik  <bkoz@redhat.com>
6617         * include/bits/sstream.tcc (basic_stringbuf::seekpos): Remove
6618         requirement that __mode must be strict input or output.
6620         * include/std/std_streambuf.h (basic_streambuf::setp): Set
6621         _M_out_lim.
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.
6629         * include/bits/istream.tcc (basic_istream::putback): Set gcount to
6630         zero.
6632 2003-04-09  Benjamin Kosnik  <bkoz@redhat.com>
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.
6643 2003-04-09  Zack Weinberg  <zack@codesourcery.com>
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.
6650 2003-04-08  Alexandre Oliva  <aoliva@redhat.com>
6652         * include/bits/sstream.tcc (overflow): Make sure operands of min
6653         and max have the same type.
6655 2003-04-04  Jerry Quinn  <jlquinn@optonline.net>
6657         PR libstdc++/10276
6658         * src/ios.cc (ios_base::_M_init): Remove _M_callbacks
6659         initialization.
6661 2003-03-31  Paolo Carlini  <pcarlini@unitus.it>
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.
6678 2003-03-30  Paolo Carlini  <pcarlini@unitus.it>
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.
6687 2003-03-28  Benjamin Kosnik  <bkoz@redhat.com>
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.
6703 2003-03-28  Paolo Carlini  <pcarlini@unitus.it>
6704             Nathan Myers  <ncm@cantrip.org>
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.
6726 2003-03-24  Benjamin Kosnik  <bkoz@redhat.com>
6728         * config/linker-map.gnu: Remove string export restrictions.
6730 2003-03-24  Paolo Carlini  <pcarlini@unitus.it>
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.
6749 2003-03-22  Loren J. Rittle  <ljrittle@acm.org>
6751         * config/os/hpux/ctype_noninline.h (ctype<char>::classic_table):
6752         Correct return value.
6754 2003-03-21  Jerry Quinn  <jlquinn@optonline.net>
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.
6761 2003-03-21  Magnus Fromreide  <gnats@magfr.user.lysator.liu.se>
6763         * testsuite/testsuite_hooks.h: Fix warning nits.
6765 2003-03-19  Alexandre Oliva  <aoliva@redhat.com>
6767         * config/cpu/mips/atomicity.h (__exchange_and_add, __atomic_add):
6768         Only .set mips2 for the o32 ABI.
6770 2003-03-19  Paolo Carlini  <pcarlini@unitus.it>
6772         * testsuite/21_strings/char_traits/requirements/char/1.cc:
6773         Test char not wchar_t.
6775 2003-03-18  Paolo Carlini  <pcarlini@unitus.it>
6777         * testsuite/21_strings/basic_string/append/wchar_t/1.cc:
6778         Correct size, taking into account sizeof(wchar_t).
6780 2003-03-18  Paolo Carlini  <pcarlini@unitus.it>
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.
6870 2003-03-17  Paolo Carlini  <pcarlini@unitus.it>
6871             Petur Runolfsson  <peturr02@ru.is>
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.
6879         * testsuite/27_io/filebuf_members.cc (test_04): Minor
6880         changes: unlink fifo before making it, fix spelling error.
6882 2003-03-17  Benjamin Kosnik  <bkoz@redhat.com>
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.
6889 2003-03-17  Petur Runolfsson  <peturr02@ru.is>
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.
6896 2003-03-17  Danny Smith  <dannysmith@users.sourceforge.net>
6898         * libsupc++/Makefile.am (C_COMPILE): Remove.
6899         (LTCOMPILE): Likewise.
6900         * libsupc++/Makefile.in: Regenerate.
6902 2003-03-14  Benjamin Kosnik  <bkoz@redhat.com>
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.
6925 2003-03-14  Petur Runolfsson  <peturr02@ru.is>
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.
6942 2003-03-14  Benjamin Kosnik  <bkoz@redhat.com>
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.
6952 2003-03-14  Loren J. Rittle  <ljrittle@acm.org>
6954         * testsuite/testsuite_hooks.h: Suppress runtime exception thrown by
6955         missing named locale.
6957 2003-03-14  Andreas Schwab  <schwab@suse.de>
6959         * configure.in: Only append to makefiles that are newly created to
6960         avoid multiple multi-do/multi-clean rules.
6961         * configure: Rebuilt.
6963 2003-03-13  Jonathan Wakely  <redi@gcc.gnu.org>
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.
6970 2003-03-12  Jonathan Wakely  <redi@gcc.gnu.org>
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.
6976 2003-03-12  Andreas Schwab  <schwab@suse.de>
6978         * acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Avoid trailing /. in
6979         glibcpp_toolexeclibdir.
6980         * aclocal.m4, configure: Rebuilt.
6982 2003-03-11  Jonathan Wakely  <redi@gcc.gnu.org>
6984         * docs/html/faq/index.html: Update text about location of headers.
6985         * docs/html/faq/index.txt: Regenerate.
6987 2003-03-11  Carlo Wood  <carlo@alinoe.com>
6989         * include/bits/demangle.h: Prepend accessors of
6990         class qualifier with 'get_' in order to fix warnings
6991         when compiling with -Wshadow.
6993 2003-03-11  Loren J. Rittle  <ljrittle@acm.org>
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.
6999         * testsuite/testsuite_hooks.h (run_tests_wrapped_env): Do not
7000         report lack of setenv().
7002 2003-03-09  Paolo Carlini  <pcarlini@unitus.it>
7004         * config/io/basic_file_stdio.cc: include <unistd.h>.
7006 2003-03-09  Paolo Carlini  <pcarlini@unitus.it>
7007             Nathan Myers  <ncm@cantrip.org>
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.
7030 2003-03-09  Paolo Carlini  <pcarlini@unitus.it>
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.
7036 2003-03-08  Jerry Quinn  <jlquinn@optonline.net>
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.
7047 2003-03-08  Benjamin Kosnik  <bkoz@redhat.com>
7049         * include/bits/locale_facets.tcc: Fix typo.
7051 2003-03-08  Loren J. Rittle  <ljrittle@acm.org>
7053         * testsuite/26_numerics/c99_classification_macros_c.cc: Tweak test.
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.
7127 2003-03-08  Paolo Carlini <pcarlini@unitus.it>
7128             Petur Runolfsson  <peturr02@ru.is>
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.
7136 2003-03-08  Jerry Quinn  <jlquinn@optonline.net>
7138         * include/bits/locale_facets.tcc (num_put::do_put(bool)): Use
7139         locale cache for truename and falsename.
7141 2003-03-08  Jerry Quinn  <jlquinn@optonline.net>
7143         * src/ios.cc (ios_base::ios_base): Correct order of _M_word and
7144         _M_word_size initialization.
7146 2003-03-07  Paolo Carlini  <pcarlini@unitus.it>
7148         * include/bits/fstream.tcc (_M_convert_to_external):
7149         Set __elen to zero if codecvt::out eventually fails.
7151 2003-03-07  Paolo Carlini  <pcarlini@unitus.it>
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.
7160 2003-03-07  Paolo Carlini  <pcarlini@unitus.it>
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.
7167         * include/bits/istream.tcc (operator>>(_CharT*)):
7168         Assign a char_type to *__s.
7170 2003-03-07  Petur Runolfsson  <peturr02@ru.is>
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.
7181 2003-03-07  Jerry Quinn  <jlquinn@optonline.net>
7183         * include/bits/streambuf_iterator.h (_M_put): Set _M_failed if
7184         sputn fails.
7185         * testsuite/27_io/ostream_fail.cc: New test.
7187 2003-03-07  Matthias Klose  <doko@debian.org>
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.
7197 2003-03-06  Jerry Quinn  <jlquinn@optonline.net>
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.
7204 2003-03-06  Jerry Quinn  <jlquinn@optonline.net>
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.
7211 2003-03-04  Alexandre Oliva  <aoliva@redhat.com>
7213         * src/strstream.cc, include/bits/basic_string.tcc: Remove
7214         incorrect whitespace added in my previous change.
7216 2003-03-05  Carlo Wood  <carlo@alinoe.com>
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.
7223 2003-03-05  Benjamin Kosnik  <bkoz@redhat.com>
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.
7231 2003-03-04  Benjamin Kosnik  <bkoz@redhat.com>
7233         * src/globals.cc: Clarify comments, remove c_locale_imp_compat.
7235         * config/linker-map.gnu: Filter typeinfo and vtable info.
7237 2003-03-04  Jerry Quinn  <jlquinn@optonline.net>
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().
7243 2003-03-04  Alexandre Oliva  <aoliva@redhat.com>
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.
7249 2003-03-04  Benjamin Kosnik  <bkoz@redhat.com>
7251         * include/Makefile.am (allstamps): Remove stamp-std-precompile.
7252         * include/Makefile.in: Regenerate.
7254 2003-03-03  Benjamin Kosnik  <bkoz@redhat.com>
7256         * testsuite/abi_check.cc (report_symbol_info): Add version info.
7258         * config/linker-map.gnu: Hide more stuff.
7259         * include/Makefile.am: Cleanups.
7260         * include/Makefile.in: Regenerate.
7262 2003-02-27  Jerry Quinn  <jlquinn@optonline.net>
7264         * config/locale/generic/messages_members.h (messages::messages):
7265         Remove name from unused parameter.
7267 2003-02-27  Benjamin Kosnik  <bkoz@redhat.com>
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.
7276         * testsuite/testsuite_hooks.h
7277         (__gnu_cxx_test::verify_demangle): New.
7278         * testsuite/testsuite_hooks.cc: Define.
7280 2003-02-27  Carlo Wood  <carlo@alinoe.com>
7282         * src/demangle.cc: New.
7283         * libsupc++/demangle.h: New.
7285 2003-02-27  Benjamin Kosnik  <bkoz@redhat.com>
7286             Carlo Wood  <carlo@alinoe.com>
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.
7360 2003-02-25  Phil Edwards  <pme@gcc.gnu.org>
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.
7371 2003-02-25  Scott Snyder  <snyder@fnal.gov>
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.
7379 2003-02-24  Paolo Carlini  <pcarlini@unitus.it>
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.
7388 2003-02-24  Paolo Carlini <pcarlini@unitus.it>
7389             Nathan Myers <ncm@cantrip.org>
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.
7431 2003-02-24  Benjamin Kosnik  <bkoz@redhat.com>
7433         * testsuite/27_io/ios_base_storage.cc (main): Call
7434         set_memory_limits.
7436 2003-02-21  Jerry Quinn  <jlquinn@optonline.net>
7438         * include/bits/locale_facets.tcc (_M_convert_float): Replace
7439         numpunct facet accesses with data from __locale_cache.
7441 2003-02-20  Phil Edwards  <pme@gcc.gnu.org>
7443         * docs/html/faq/index.html (3.9):  New note, wchar_t on FreeBSD.
7444         * docs/html/faq/index.txt:  Regenerate.
7446 2003-02-20  Phil Edwards  <pme@gcc.gnu.org>
7448         * config/linker-map.gnu:  Also export locking symbols needed for the
7449         generic atomicity.h case.
7451 2003-02-20  Alexandre Oliva  <aoliva@redhat.com>
7453         * configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to
7454         config.status.
7455         * configure: Rebuilt.
7457 2003-02-19  Paolo Carlini  <pcarlini@unitus.it>
7459         * include/bits/sstream.tcc (overflow): According to
7460         27.7.1.3, p5, actual output is performed by sputc(c).
7462 2003-02-19  Phil Edwards  <pme@gcc.gnu.org>
7464         PR libstdc++/9582
7465         * include/bits/stl_alloc.h:  Remove all traces of assert().
7467 2003-02-18  Paolo Carlini  <pcarlini@unitus.it>
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.
7474 2003-02-18  Paolo Carlini  <pcarlini@unitus.it>
7476         PR libstdc++/9582
7477         * include/bits/stl_alloc.h (__pool_alloc::allocate): Remove assert.
7479 2003-02-17  Benjamin Kosnik  <bkoz@redhat.com>
7481         * include/bits/basic_ios.tcc (copyfmt): Copy locale data as well.
7482         * testsuite/27_io/ios_members.cc (test03): New.
7484 2003-02-17  Jerry Quinn  <jlquinn@optonline.net>
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.
7507 2003-02-17  Paolo Carlini  <pcarlini@unitus.it>
7509         * src/locale-inst.cc: Do not include <cassert>.
7510         * src/locale.cc: Likewise.
7512 2003-02-17  Paolo Carlini  <pcarlini@unitus.it>
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.
7519 2003-02-17  Paolo Carlini  <pcarlini@unitus.it>
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.
7526 2003-02-13  Benjamin Kosnik  <bkoz@redhat.com>
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.
7539 2003-02-13  Paolo Carlini  <pcarlini@unitus.it>
7541         * include/bits/ostream.tcc (sentry::sentry): Improve
7542         performance-wise the fix for libstdc++/9563.
7544 2003-02-12  Phil Edwards  <pme@gcc.gnu.org>
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.
7553 2003-02-12  Paolo Carlini  <pcarlini@unitus.it>
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.
7560 2003-02-11  Benjamin Kosnik  <bkoz@redhat.com>
7562         * include/Makefile.am (stamp-std-precompile): Add rule.
7563         * include/Makefile.in: Regenerated.
7565 2003-02-11 Jerry Quinn  <jlquinn@optonline.net>
7566            Benjamin Kosnik  <benjamin@redhat.com>
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.
7590 2003-02-11  Scott Snyder  <snyder@fnal.gov>
7592         PR libstdc++/9659
7593         * include/bits/fstream.tcc (seekoff): Avoid operator+
7594         for pos_type.
7596 2003-02-11  Paolo Carlini  <pcarlini@unitus.it>
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.
7608 2003-02-11  Paolo Carlini  <pcarlini@unitus.it>
7609             Petur Runolfsson  <peturr02@ru.is>
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.
7616 2002-02-11  DJ Delorie  <dj@redhat.com>
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.
7623 2003-02-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
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.
7630 2003-02-07  Paolo Carlini  <pcarlini@unitus.it>
7632         * testsuite/27_io/filebuf_virtuals.cc (test08): Fix for
7633         unsigned char platforms.
7635 2003-02-06  Paolo Carlini  <pcarlini@unitus.it>
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.
7645 2003-02-06  Paolo Carlini  <pcarlini@unitus.it>
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.
7658 2003-02-06  Peter Soetens  <peter.soetens@mech.kuleuven.ac.be>
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.
7665 2003-02-06  Benjamin Kosnik  <bkoz@redhat.com>
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.
7671 2003-02-06  Petur Runolfsson  <peturr02@ru.is>
7673         DR 75
7674         DR 305
7675         PR libstdc++/9028 (partial)
7676         PR libstdc++/9224
7677         PR libstdc++/9246
7678         PR libstdc++/9247
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.
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.
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.
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.
7752 2003-02-05  Benjamin Kosnik  <bkoz@redhat.com>
7754         * include/bits/locale_facets.tcc (time_put::do_put): Use __write.
7755         (money_put::do_put): Same.
7757 2003-02-05  Jerry Quinn  <jlquinn@optonline.net>
7759         * include/bits/ios_base.h (ios_base): Document reserved storage.
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.
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.
7777         * include/bits/streambuf_iterator.h: Include <streambuf>.
7778         (ostreambuf_iterator::_M_put): Add.
7780 2003-02-05  Paolo Carlini  <pcarlini@unitus.it>
7782         * testsuite/26_numerics/valarray_name_lookup.cc: Fix typo.
7784 2003-02-04  Nathan Myers  <ncm@cantrip.org>
7786         * testsuite/25_algorithms/min_max.cc (test02): Add.
7788 2003-02-04  Paolo Carlini  <pcarlini@unitus.it>
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.
7801 2003-02-04  Jerry Quinn  <jlquinn@optonline.net>
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.
7812 2003-02-04  Benjamin Kosnik  <bkoz@redhat.com>
7814         * testsuite/26_numerics/valarray_name_lookup.cc: Fix.
7816 2002-02-04  Jonathan Wakely  <redi@gcc.gnu.org>
7818         * docs/html/27_io/howto.html: Link to Dietmar Kuehl's IOStream page,
7819         add HTML comment about updating links if numbering changes.
7821 2003-02-04  Paolo Carlini  <pcarlini@unitus.it>
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.
7828 2003-02-04  Paolo Carlini  <pcarlini@unitus.it>
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.
7836 2003-02-04  Petur Runolfsson  <peturr02@ru.is>
7838         * testsuite/27_io/filebuf_members.cc (test_04): Remove exit(0).
7840 2002-02-04  Jonathan Wakely  <redi@gcc.gnu.org>
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.
7846 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
7848         * docs/html/17_intro/porting.texi: Update to GFDL 1.2.
7849         * docs/html/17_intro/porting.html: Regenerate.
7851 2003-02-03  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
7852             Phil Edwards  <pme@gcc.gnu.org>
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.
7867 2003-02-03  Phil Edwards  <pme@gcc.gnu.org>
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.
7875 2003-02-03  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
7877         PR libstdc++/9234
7878         * include/bits/valarray_before.h (_UnBase::operator[]): Apply unary
7879         operator.
7881         * include/bits/valarray_before.h (__not_equal_to): Use != instead
7882         of ==.
7884         * testsuite/26_numerics/valarray_operators.cc: New test.
7886 2003-02-01  Phil Edwards  <pme@gcc.gnu.org>
7888         * docs/html/faq/index.html:  Correct link to libg++ information.
7889         * docs/html/faq/index.txt:  Regenerated.
7891 2003-02-01  Paolo Carlini  <pcarlini@unitus.it>
7892             Benjamin Kosnik  <bkoz@redhat.com>
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.
7918 2003-01-29  Mark Mitchell  <mark@codesourcery.com>
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.
7930 2003-01-28  Nathan Sidwell  <nathan@codesourcery.com>
7932         PR c++/9433
7933         * libsupc++/tinfo.cc (__vmi_class_type_info::__do_dyncast): Cope
7934         with bases which are very ambiguous.
7936 2003-01-28  Danny Smith  <dannysmith@users.sourceforge.net>
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.
7944 2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
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.
7951 2003-01-24  Nathan Sidwell  <nathan@codesourcery.com>
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.
7960 2003-01-24  Andreas Schwab  <schwab@suse.de>
7962         * config/linker-map.gnu: Fix for size_t variance.
7964 2003-01-23  Petur Runolfsson  <peturr02@ru.is>
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.
7977 2003-01-23  Benjamin Kosnik  <bkoz@redhat.com>
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.
7987 2003-01-23  Benjamin Kosnik  <bkoz@redhat.com>
7989         * configure.in (libtool_VERSION): To 6:0:0.
7990         * configure: Regenerated.
7991         * config/linker-map.gnu: Clean.
7993         * src/misc-inst.cc: Remove instantiations.
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.
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.
8006         * testsuite/abi_check.cc (check_version): Add.
8008 2003-01-22  Benjamin Kosnik  <bkoz@redhat.com>
8009             Sysoltsev Slawa  <Vyatcheslav.Sysoltsev@intel.com>
8010             Mark Mitchell  <mark@codesourcery.com>
8012         PR libstdc++/9269
8013         * include/std/std_fstream.h (basic_filebuf::uflow): Declare.
8014         (basic_filebuf::underflow): Declare.
8015         Move definitions.
8017 2003-01-22  Benjamin Kosnik  <bkoz@redhat.com>
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.
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.
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.
8038         * config/linker-map.gnu: Specify __cxa functions, mark __cxa_dyn_*
8039         bits as unexported in the future.
8041 2003-01-21  Benjamin Kosnik  <bkoz@redhat.com>
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.
8380 2003-01-16  Jeffrey D. Oldham  <oldham@codesourcery.com>
8382         * config/locale/generic/messages_members.h
8383         (messages_byname<_CharT>::messages_byname): Use this-> to refer to
8384         unqualified members of base clasess.
8386 2003-01-16  Mark Mitchell  <mark@codesourcery.com>
8387             Jeffrey Oldham <oldham@codesourcery.com>
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.
8412 2003-01-15  Phil Edwards  <pme@gcc.gnu.org>
8414         * include/bits/basic_string.tcc (_S_string_copy): Unused, remove.
8416 2003-01-15  Benjamin Kosnik  <bkoz@redhat.com>
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.
8434 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8436         * config/os/hpux/os_defines.h (_GLIBCPP_GTHREAD_USE_WEAK): Define for
8437         __hppa__.
8439 2003-01-14  Jeffrey D. Oldham  <oldham@codesourcery.com>
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.
8447 2003-01-12  Benjamin Kosnik  <bkoz@redhat.com>
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.
8493 2003-01-11  Phil Edwards  <pme@gcc.gnu.org>
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.
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.
8505 2003-01-09  Benjamin Kosnik  <bkoz@redhat.com>
8507         * configure.in: Revert.
8508         * configure: Regenerate.
8510 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
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.
8520 2003-01-08  Benjamin Kosnik  <bkoz@redhat.com>
8522         * include/Makefile.am (stamp-*): Add checks for existing stamps.
8523         * include/Makefile.in: Regenerate.
8525         * acinclude.m4 (GLIBCPP_ENABLE_DEBUG): Correct comment.
8526         * aclocal.m4: Regenerate.
8528         * configure.in: Don't add new multi-do rules every time the
8529         directory is reconfigured.
8530         * configure: Regenerate.
8532 2003-01-08  Brad Spencer  <spencer@infointeractive.com>
8533             Nathan Myers  <ncm@cantrip.org>
8535         * src/Makefile.am (stamp-debug): Clean.
8536         * src/Makefile.in: Regenerate.
8538 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
8540         PR libstdc++/8707
8541         * Makefile.am (distclean-multi): Fix.
8542         * Makefile.in: Regenerate.
8544 2003-01-06  Benjamin Kosnik  <bkoz@redhat.com>
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.
8570 2003-01-06  Paolo Carlini  <pcarlini@unitus.it>
8572         * src/codecvt.cc
8573         (codecvt<char, char, mbstate_t>::do_in, do_out):
8574         Tweak parameters to avoid unused parameter warnings.
8576 2003-01-06  Paolo Carlini  <pcarlini@unitus.it>
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.
8585 2003-01-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
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.
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*.
8606 2003-01-05  Paolo Carlini <pcarlini@unitus.it>
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.
8615 2003-01-02  Jason Merrill  <jason@redhat.com>
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.
8621 Copyright (C) 2003 Free Software Foundation, Inc.
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.